Check-in [99a5113b7b]
Not logged in
Bounty program for improvements to Tcl and certain Tcl packages.

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Correction of reintroduction of elements as arrays bug!
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 99a5113b7b2c0d3e37f17fb06c54d41baf2888f9
User & Date: gerald 2012-08-05 00:29:21
Context
2012-08-05 00:36
Added back in info level debug of URL gets. check-in: affb1f6bf4 user: gerald tags: trunk
2012-08-05 00:29
Correction of reintroduction of elements as arrays bug! check-in: 99a5113b7b user: gerald tags: trunk
2012-08-02 02:34
Added a better error if reply is not a SOAP reply. check-in: 9bfe56a004 user: gerald tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to Utilities.tcl.

3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098

3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116

3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
                }
            }
            if {!$elementsFound} {
                return
            }
        }
        complexContent {
            foreach childNode [$node childNodes] {
                set contentType [$childNode localName]
                switch -exact -- $contentType {
                    restriction {
                        set element [$childNode selectNodes -namespaces $nsList xs:attribute]

                        set typeInfoList [list baseType [$childNode getAttribute base]]
                        array unset attrArr
                        foreach attr [$element attributes] {
                            if {[llength $attr] > 1} {
                                set name [lindex $attr 0]
                                set ref [lindex $attr 1]:[lindex $attr 0]
                            } else {
                                set name $attr
                                set ref $attr
                            }
                            catch {set attrArr($name) [$element getAttribute $ref]}
                        }
                        set partName item
                        set partType [getQualifiedType $results $attrArr(arrayType) $tns]
                        set partType [string map {{[]} {()}} $partType]
                        set partList [list $partName [list type [string trimright ${partType} {()}]() comment {}]]
                    }
                    extension {

                        set partList [partList $mode $childNode $serviceName results $tns]
                    }
                    default {
                        ##
                        ## Placed here to shut up tclchecker
                        ##
                    }
                }
            }
        }
        simpleContent {
            foreach elementNode [$node childNodes] {
                set tmp [partList $mode $elementNode $serviceName results $tns]
                if {[llength $tmp]} {






|
<
|
|
|
>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
<







3087
3088
3089
3090
3091
3092
3093
3094

3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123

3124
3125
3126
3127
3128
3129
3130
                }
            }
            if {!$elementsFound} {
                return
            }
        }
        complexContent {
            set contentType [[$node childNodes] localName]

            switch -exact -- $contentType {
                restriction {
                    set restriction [$node selectNodes -namespaces $nsList xs:restriction]
                    set element [$node selectNodes -namespaces $nsList xs:restriction/xs:attribute]
                    set typeInfoList [list baseType [$restriction getAttribute base]]
                    array unset attrArr
                    foreach attr [$element attributes] {
                        if {[llength $attr] > 1} {
                            set name [lindex $attr 0]
                            set ref [lindex $attr 1]:[lindex $attr 0]
                        } else {
                            set name $attr
                            set ref $attr
                        }
                        catch {set attrArr($name) [$element getAttribute $ref]}
                    }
                    set partName item
                    set partType [getQualifiedType $results $attrArr(arrayType) $tns]
                    set partType [string map {{[]} {()}} $partType]
                    set partList [list $partName [list type [string trimright ${partType} {()}]() comment {}]]
                }
                extension {
                    set extension [$node selectNodes -namespaces $nsList xs:extension]
                    set partList [partList $mode $extension $serviceName results $tns]
                }
                default {
                    ##
                    ## Placed here to shut up tclchecker
                    ##

                }
            }
        }
        simpleContent {
            foreach elementNode [$node childNodes] {
                set tmp [partList $mode $elementNode $serviceName results $tns]
                if {[llength $tmp]} {