• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        soap規范(4)

        soap規范(4)

        更新時間:2022-04-29 文章作者:未知 信息來源:網絡 閱讀次數:

        5.4.2 數組
        SOAP數組定義為具有"SOAP-ENC:Array"類型或一個從"SOAP-ENC:Array"衍生的類型(參見規則8)。數組表示為元素值,對元素的名沒有特別的約束(正如元素值并不約束它們所屬的元素)。

        數組可以包含任意類型的元素,包括嵌套數組。可以創建新的類型(受SOAP-ENC:Array類型限制)來表示數組,如整數數組或某些用戶定義的枚舉。

        數組值表示為組成這個數組的項的元素的規則序列。在數組值中,元素名對于區分accesor并不重要。元素可以有任意的名。實際上,元素常常用它們在schema中暗示或確定的數組類型來命名元素。并且一般情況下對于復合值來說,如果數組中數組項的值是single-reference值,則這個數組項包含它的值,否則,該數組項通過"href"屬性引用這個值。

        下面的例子是一個整型數組的schema片斷:

        <element name="myFavoriteNumbers"
        type="SOAP-ENC:Array"/>

        <myFavoriteNumbers
        SOAP-ENC:arrayType="xsd:int[2]">
         <number>3</number>
         <number>4</number>
        </myFavoriteNumbers>

        在這個例子中,數組"myFavoriteNumbers"包括幾個成員,每個成員是一個類型為SOAP-ENC:int的值。注意SOAP-ENC:Array允許不受限制的元素名,它們不傳達任何類型信息,所以在使用時,或者它們有xsi:type屬性,或者它們所屬的元素有SOAP-ENC:arrayType屬性。自然,由SOAP-ENC:Array衍生的類型可以聲明局部元素,但這種情況下要包括類型信息。

        上面已經提到,SOAP-ENC schema包含了元素的聲明,元素名與"XML Schema Part 2: Datatypes"規范[11]中的簡單類型一致。其中包括了對"Array"的聲明。于是,我們可以這樣寫:

        <SOAP-ENC:Array SOAP-ENC:arrayType="xsd:int[2]">
         <SOAP-ENC:int>3</SOAP-ENC:int>
         <SOAP-ENC:int>4</SOAP-ENC:int>
        </SOAP-ENC:Array>

        數組可以包含特定arrayType的任意子類型的實例。即,數組成員可以是arryType屬性值指定的類型的任意子類型,這個類型對于arrayType屬性中指定的類型來說是可替換的(根據schema中的替換規則)。例如,一個整型數組可以包含從整型衍生的任意類型(如"int"或任意用戶定義的從整型衍生的類型)。同樣,一個"address"數組可能包含一個address的受限類型或擴展類型如"internationalAddress"。因為提供的SOAP-ENC:Array類型允許任意類型的成員,所以可以包含任意類型的混合除非使用arrayType屬性加以特別的限制。

        在實例中,可以使用xsi:type指定成員元素的類型,或通過schema中成員元素的聲明來指定。下面是兩個例子。

        <SOAP-ENC:Array SOAP-ENC:arrayType="SOAP-ENC:ur-type[4]">
         <thing xsi:type="xsd:int">12345</thing>
         <thing xsi:type="xsd:decimal">6.789</thing>
         <thing xsi:type="xsd:string">
        Of Mans First Disobedience, and the Fruit
        Of that Forbidden Tree, whose mortal tast
        Brought Death into the World, and all our woe,
         </thing>
         <thing xsi:type="xsd:uriReference">
        http://www.dartmouth.edu/~milton/reading_room/
         </thing>
        </SOAP-ENC:Array>

        <SOAP-ENC:Array SOAP-ENC:arrayType="SOAP-ENC:ur-type[4]">
         <SOAP-ENC:int>12345</SOAP-ENC:int>
         <SOAP-ENC:decimal>6.789</SOAP-ENC:decimal>
         <xsd:string>
        Of Mans First Disobedience, and the Fruit
        Of that Forbidden Tree, whose mortal tast
        Brought Death into the World, and all our woe,
         </xsd:string>
         <SOAP-ENC:uriReference>
        http://www.dartmouth.edu/~milton/reading_room/
         </SOAP-ENC:uriReference >
        </SOAP-ENC:Array>

        數組值可以是結構或其它復合值。例如"xyz:Order"結構數組:

        <SOAP-ENC:Array SOAP-ENC:arrayType="xyz:Order[2]">
         <Order>
         <Product>Apple</Product>
         <Price>1.56</Price>
         </Order>
         <Order>
         <Product>Peach</Product>
         <Price>1.48</Price>
         </Order>
        </SOAP-ENC:Array>

        數組成員值也可以是數組。下例是兩個字符串數組組成的數組:

        <SOAP-ENC:Array SOAP-ENC:arrayType="xsd:string[][2]">
         <item href="#array-1"/>
         <item href="#array-2"/>
        </SOAP-ENC:Array>
        <SOAP-ENC:Array id="array-1" SOAP-ENC:arrayType="xsd:string[2]">
         <item>r1c1</item>
         <item>r1c2</item>
         <item>r1c3</item>
        </SOAP-ENC:Array>
        <SOAP-ENC:Array id="array-2" SOAP-ENC:arrayType="xsd:string[2]">
         <item>r2c1</item>
         <item>r2c2</item>
        </SOAP-ENC:Array>

        包含數組的元素無需命名為"SOAP-ENC:Array"。它可以有任意的名,只要元素的類型是SOAP-ENC:Array或由之衍生的類型。例如,下面是一個schema片斷和與之一致的數組實例。

        <simpleType name="phoneNumber" base="string"/>

        <element name="ArrayOfPhoneNumbers">
        <complexType base="SOAP-ENC:Array">
        <element name="phoneNumber" type="tns:phoneNumber" maxOccurs="unbounded"/>
        </complexType>
        <anyAttribute/>
        </element>

        <xyz:ArrayOfPhoneNumbers SOAP-ENC:arrayType="xyz:phoneNumber[2]">
         <phoneNumber>206-555-1212</phoneNumber>
         <phoneNumber>1-888-123-4567</phoneNumber>
        </xyz:ArrayOfPhoneNumbers>

        數組可能是多維的。在這種情況下,在arrayType屬性的asize部分將不止有一個值:

        <SOAP-ENC:Array SOAP-ENC:arrayType="xsd:string[2,3]">
         <item>r1c1</item>
         <item>r1c2</item>
         <item>r1c3</item>
         <item>r2c1</item>
         <item>r2c2</item>
         <item>r2c3</item>
        </SOAP-ENC:Array>

        雖然上面的例子把數組編碼為獨立的元素,但元素值也可以是嵌入形式,而且若元素值是single reference時,必須編碼為嵌入形式。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 日本亚洲成高清一区二区三区 | 久久亚洲AV无码精品色午夜 | 亚洲一区动漫卡通在线播放| 久久aa毛片免费播放嗯啊| 亚洲区小说区图片区QVOD| 久久成人永久免费播放| 国产精品亚洲mnbav网站 | 成年免费a级毛片免费看无码| 亚洲国产成人精品无码久久久久久综合 | www.91亚洲| 国产在线观看无码免费视频| 亚洲精品少妇30p| 99精品一区二区免费视频| 亚洲人成亚洲精品| 国产精品成人观看视频免费| 亚洲一区二区三区无码国产| 在线观看视频免费国语| 羞羞漫画在线成人漫画阅读免费| 免费二级毛片免费完整视频| 特级毛片爽www免费版| 亚洲AV无码专区国产乱码电影| 18禁男女爽爽爽午夜网站免费| 四虎亚洲精品高清在线观看| 国产精品va无码免费麻豆| 精品一区二区三区免费观看| 18gay台湾男同亚洲男同| 99精品全国免费观看视频 | 亚洲国产精品久久66| 最近最好的中文字幕2019免费| 亚洲AV无码一区二区一二区| 中文字幕亚洲激情| 最好看的中文字幕2019免费| 亚洲欧美国产精品专区久久| 国产亚洲精品成人AA片新蒲金| 2015日韩永久免费视频播放| 欧美色欧美亚洲另类二区| 国产亚洲成av人片在线观看| 最近最新的免费中文字幕| 手机看片国产免费永久| 亚洲永久网址在线观看| 色久悠悠婷婷综合在线亚洲|