Hex Artifact Content

Not logged in

Artifact 93980d92526d71e588351f69cf1404778efad1bd:

Attachment "inline-namespaces.diff" to ticket [dcce437d7a] added by oehhar 2017-01-09 09:01:31.
0000: 31 30 33 39 63 31 30 33 39 2c 31 30 36 35 0d 0a  1039c1039,1065..
0010: 3c 20 0d 0a 2d 2d 2d 0d 0a 3e 20 20 20 20 20 66  < ..---..>     f
0020: 6f 72 65 61 63 68 20 69 74 65 6d 4c 69 73 74 20  oreach itemList 
0030: 5b 24 77 73 64 6c 4e 6f 64 65 20 61 74 74 72 69  [$wsdlNode attri
0040: 62 75 74 65 73 20 78 6d 6c 6e 73 3a 2a 5d 20 7b  butes xmlns:*] {
0050: 0d 0a 3e 20 20 20 20 20 20 20 20 20 73 65 74 20  ..>         set 
0060: 6e 73 20 5b 6c 69 6e 64 65 78 20 24 69 74 65 6d  ns [lindex $item
0070: 4c 69 73 74 20 30 5d 0d 0a 3e 20 20 20 20 20 20  List 0]..>      
0080: 20 20 20 73 65 74 20 75 72 6c 20 5b 24 77 73 64     set url [$wsd
0090: 6c 4e 6f 64 65 20 67 65 74 41 74 74 72 69 62 75  lNode getAttribu
00a0: 74 65 20 78 6d 6c 6e 73 3a 24 6e 73 5d 0d 0a 3e  te xmlns:$ns]..>
00b0: 20 20 20 20 20 20 20 20 20 69 66 20 7b 5b 64 69           if {[di
00c0: 63 74 20 65 78 69 73 74 73 20 24 6e 73 44 69 63  ct exists $nsDic
00d0: 74 20 75 72 6c 20 24 75 72 6c 5d 7d 20 7b 0d 0a  t url $url]} {..
00e0: 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65  >             se
00f0: 74 20 74 6e 73 20 5b 64 69 63 74 20 67 65 74 20  t tns [dict get 
0100: 24 6e 73 44 69 63 74 20 75 72 6c 20 24 75 72 6c  $nsDict url $url
0110: 5d 0d 0a 3e 20 20 20 20 20 20 20 20 20 7d 20 65  ]..>         } e
0120: 6c 73 65 20 7b 0d 0a 3e 20 20 20 20 20 20 20 20  lse {..>        
0130: 20 20 20 20 20 23 23 0d 0a 3e 20 20 20 20 20 20       ##..>      
0140: 20 20 20 20 20 20 20 23 23 20 43 68 65 63 6b 20         ## Check 
0150: 66 6f 72 20 68 61 72 64 63 6f 64 65 64 20 6e 61  for hardcoded na
0160: 6d 65 73 70 61 63 65 73 0d 0a 3e 20 20 20 20 20  mespaces..>     
0170: 20 20 20 20 20 20 20 20 23 23 0d 0a 3e 20 20 20          ##..>   
0180: 20 20 20 20 20 20 20 20 20 20 73 77 69 74 63 68            switch
0190: 20 2d 65 78 61 63 74 20 2d 2d 20 24 75 72 6c 20   -exact -- $url 
01a0: 7b 0d 0a 3e 20 20 20 20 20 20 20 20 20 20 20 20  {..>            
01b0: 20 20 20 20 20 68 74 74 70 3a 2f 2f 73 63 68 65       http://sche
01c0: 6d 61 73 2e 78 6d 6c 73 6f 61 70 2e 6f 72 67 2f  mas.xmlsoap.org/
01d0: 77 73 64 6c 2f 20 7b 0d 0a 3e 20 20 20 20 20 20  wsdl/ {..>      
01e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73                 s
01f0: 65 74 20 74 6e 73 20 77 0d 0a 3e 20 20 20 20 20  et tns w..>     
0200: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 3e              }..>
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0220: 20 68 74 74 70 3a 2f 2f 73 63 68 65 6d 61 73 2e   http://schemas.
0230: 78 6d 6c 73 6f 61 70 2e 6f 72 67 2f 77 73 64 6c  xmlsoap.org/wsdl
0240: 2f 73 6f 61 70 2f 20 7b 0d 0a 3e 20 20 20 20 20  /soap/ {..>     
0250: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0260: 73 65 74 20 74 6e 73 20 64 0d 0a 3e 20 20 20 20  set tns d..>    
0270: 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a               }..
0280: 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  >               
0290: 20 20 68 74 74 70 3a 2f 2f 77 77 77 2e 77 33 2e    http://www.w3.
02a0: 6f 72 67 2f 32 30 30 31 2f 58 4d 4c 53 63 68 65  org/2001/XMLSche
02b0: 6d 61 20 7b 0d 0a 3e 20 20 20 20 20 20 20 20 20  ma {..>         
02c0: 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 20              set 
02d0: 74 6e 73 20 78 73 0d 0a 3e 20 20 20 20 20 20 20  tns xs..>       
02e0: 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 3e 20 20            }..>  
02f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64                 d
0300: 65 66 61 75 6c 74 20 7b 0d 0a 3e 20 20 20 20 20  efault {..>     
0310: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0320: 73 65 74 20 74 6e 73 20 74 6e 73 5b 69 6e 63 72  set tns tns[incr
0330: 20 6e 73 43 6f 75 6e 74 5d 0d 0a 3e 20 20 20 20   nsCount]..>    
0340: 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a               }..
0350: 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d  >             }.
0360: 0a 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 64  .>             d
0370: 69 63 74 20 73 65 74 20 6e 73 44 69 63 74 20 75  ict set nsDict u
0380: 72 6c 20 24 75 72 6c 20 24 74 6e 73 0d 0a 3e 20  rl $url $tns..> 
0390: 20 20 20 20 20 20 20 20 7d 0d 0a 3e 20 20 20 20          }..>    
03a0: 20 20 20 20 20 64 69 63 74 20 73 65 74 20 6e 73       dict set ns
03b0: 44 69 63 74 20 74 6e 73 20 24 6e 73 20 24 74 6e  Dict tns $ns $tn
03c0: 73 0d 0a 3e 20 20 20 20 20 7d 0d 0a 31 30 34 34  s..>     }..1044
03d0: 2c 31 30 37 38 64 31 30 36 39 0d 0a 3c 20 20 20  ,1078d1069..<   
03e0: 20 20 7d 0d 0a 3c 20 0d 0a 3c 20 20 20 20 20 73    }..< ..<     s
03f0: 65 74 20 65 6c 65 6d 73 20 24 77 73 64 6c 4e 6f  et elems $wsdlNo
0400: 64 65 0d 0a 3c 20 20 20 20 20 73 65 74 20 65 6c  de..<     set el
0410: 65 6d 73 20 5b 63 6f 6e 63 61 74 20 24 65 6c 65  ems [concat $ele
0420: 6d 73 20 5b 24 77 73 64 6c 44 6f 63 20 73 65 6c  ms [$wsdlDoc sel
0430: 65 63 74 4e 6f 64 65 73 20 7b 2f 2f 78 73 3a 65  ectNodes {//xs:e
0440: 6c 65 6d 65 6e 74 7d 5d 5d 0d 0a 3c 20 0d 0a 3c  lement}]]..< ..<
0450: 20 20 20 20 20 66 6f 72 65 61 63 68 20 65 6c 65       foreach ele
0460: 6d 4e 6f 64 65 20 24 65 6c 65 6d 73 20 7b 0d 0a  mNode $elems {..
0470: 3c 20 20 20 20 20 20 20 73 65 74 20 78 6d 6c 6e  <       set xmln
0480: 73 41 74 74 72 69 62 75 74 65 73 20 5b 24 65 6c  sAttributes [$el
0490: 65 6d 4e 6f 64 65 20 61 74 74 72 69 62 75 74 65  emNode attribute
04a0: 73 20 78 6d 6c 6e 73 3a 2a 5d 20 0d 0a 3c 20 0d  s xmlns:*] ..< .
04b0: 0a 3c 20 20 20 20 20 20 20 66 6f 72 65 61 63 68  .<       foreach
04c0: 20 69 74 65 6d 4c 69 73 74 20 24 78 6d 6c 6e 73   itemList $xmlns
04d0: 41 74 74 72 69 62 75 74 65 73 20 7b 0d 0a 3c 20  Attributes {..< 
04e0: 20 20 20 20 20 20 20 20 20 20 73 65 74 20 6e 73            set ns
04f0: 20 5b 6c 69 6e 64 65 78 20 24 69 74 65 6d 4c 69   [lindex $itemLi
0500: 73 74 20 30 5d 0d 0a 3c 20 20 20 20 20 20 20 20  st 0]..<        
0510: 20 20 20 73 65 74 20 75 72 6c 20 5b 24 65 6c 65     set url [$ele
0520: 6d 4e 6f 64 65 20 67 65 74 41 74 74 72 69 62 75  mNode getAttribu
0530: 74 65 20 78 6d 6c 6e 73 3a 24 6e 73 5d 0d 0a 3c  te xmlns:$ns]..<
0540: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 7b 5b             if {[
0550: 64 69 63 74 20 65 78 69 73 74 73 20 24 6e 73 44  dict exists $nsD
0560: 69 63 74 20 75 72 6c 20 24 75 72 6c 5d 7d 20 7b  ict url $url]} {
0570: 0d 0a 3c 20 20 20 20 20 20 20 20 20 20 20 20 20  ..<             
0580: 20 20 73 65 74 20 74 6e 73 20 5b 64 69 63 74 20    set tns [dict 
0590: 67 65 74 20 24 6e 73 44 69 63 74 20 75 72 6c 20  get $nsDict url 
05a0: 24 75 72 6c 5d 0d 0a 3c 20 20 20 20 20 20 20 20  $url]..<        
05b0: 20 20 20 7d 20 65 6c 73 65 20 7b 0d 0a 3c 20 20     } else {..<  
05c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 23 23 0d               ##.
05d0: 0a 3c 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .<              
05e0: 20 23 23 20 43 68 65 63 6b 20 66 6f 72 20 68 61   ## Check for ha
05f0: 72 64 63 6f 64 65 64 20 6e 61 6d 65 73 70 61 63  rdcoded namespac
0600: 65 73 0d 0a 3c 20 20 20 20 20 20 20 20 20 20 20  es..<           
0610: 20 20 20 20 23 23 0d 0a 3c 20 20 20 20 20 20 20      ##..<       
0620: 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 2d          switch -
0630: 65 78 61 63 74 20 2d 2d 20 24 75 72 6c 20 7b 0d  exact -- $url {.
0640: 0a 3c 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .<              
0650: 20 20 20 20 20 68 74 74 70 3a 2f 2f 73 63 68 65       http://sche
0660: 6d 61 73 2e 78 6d 6c 73 6f 61 70 2e 6f 72 67 2f  mas.xmlsoap.org/
0670: 77 73 64 6c 2f 20 7b 0d 0a 3c 20 20 20 20 20 20  wsdl/ {..<      
0680: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0690: 20 73 65 74 20 74 6e 73 20 77 0d 0a 3c 20 20 20   set tns w..<   
06a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
06b0: 7d 0d 0a 3c 20 20 20 20 20 20 20 20 20 20 20 20  }..<            
06c0: 20 20 20 20 20 20 20 68 74 74 70 3a 2f 2f 73 63         http://sc
06d0: 68 65 6d 61 73 2e 78 6d 6c 73 6f 61 70 2e 6f 72  hemas.xmlsoap.or
06e0: 67 2f 77 73 64 6c 2f 73 6f 61 70 2f 20 7b 0d 0a  g/wsdl/soap/ {..
06f0: 3c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  <               
0700: 20 20 20 20 20 20 20 20 73 65 74 20 74 6e 73 20          set tns 
0710: 64 0d 0a 3c 20 20 20 20 20 20 20 20 20 20 20 20  d..<            
0720: 20 20 20 20 20 20 20 7d 0d 0a 3c 20 20 20 20 20         }..<     
0730: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 74                ht
0740: 74 70 3a 2f 2f 77 77 77 2e 77 33 2e 6f 72 67 2f  tp://www.w3.org/
0750: 32 30 30 31 2f 58 4d 4c 53 63 68 65 6d 61 20 7b  2001/XMLSchema {
0760: 0d 0a 3c 20 20 20 20 20 20 20 20 20 20 20 20 20  ..<             
0770: 20 20 20 20 20 20 20 20 20 20 73 65 74 20 74 6e            set tn
0780: 73 20 78 73 0d 0a 3c 20 20 20 20 20 20 20 20 20  s xs..<         
0790: 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 3c 20 20            }..<  
07a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
07b0: 20 64 65 66 61 75 6c 74 20 7b 0d 0a 3c 20 20 20   default {..<   
07c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
07d0: 20 20 20 20 73 65 74 20 74 6e 73 20 74 6e 73 5b      set tns tns[
07e0: 69 6e 63 72 20 6e 73 43 6f 75 6e 74 5d 0d 0a 3c  incr nsCount]..<
07f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0800: 20 20 20 7d 0d 0a 3c 20 20 20 20 20 20 20 20 20     }..<         
0810: 20 20 20 20 20 20 7d 0d 0a 3c 20 20 20 20 20 20        }..<      
0820: 20 20 20 20 20 20 20 20 20 64 69 63 74 20 73 65           dict se
0830: 74 20 6e 73 44 69 63 74 20 75 72 6c 20 24 75 72  t nsDict url $ur
0840: 6c 20 24 74 6e 73 0d 0a 3c 20 20 20 20 20 20 20  l $tns..<       
0850: 20 20 20 20 7d 0d 0a 3c 20 20 20 20 20 20 20 20      }..<        
0860: 20 20 20 64 69 63 74 20 73 65 74 20 6e 73 44 69     dict set nsDi
0870: 63 74 20 74 6e 73 20 24 6e 73 20 24 74 6e 73 0d  ct tns $ns $tns.
0880: 0a 3c 20 20 20 20 20 20 20 7d 0d 0a              .<       }..