• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    xsd:any:幕后故事

    發布: 2008-6-02 15:29 | 作者: 不詳 | 來源: Russell Butek/developerWorks 中國 | 查看: 63次 | 進入軟件測試論壇討論

    領測軟件測試網 關鍵字:xsd:any XML 

      xsd:any 是一個用于設計 XML 模式的流行特性。但它所帶來的麻煩常常比它所帶來的價值還要多。了解 xsd:any 在 XML 本身中和 JAX-RPC Java 語言綁定中的一些不足之處后,即使您決定使用 xsd:any,也能為更好地使用它做好準備。

      引言

      人們為什么喜歡使用 xsd:any 呢?我聽人們談起過很多原因:為了實現松散耦合、為了啟用版本管理、為了獲得完全靈活的多態性。而所有這些理由最終都歸結為不需對 API 進行更改。這是一個很不錯的理由,但在實踐中,使用 xsd:any 既不恰當,也不實際。如果所處的是動態環境,僅處理 XML,則 xsd:any 可能非常合適(也的確如此)。但大多數人并不喜歡動態訪問 XML(即 SAX 或 DOM 或 SAAJ 編程模型)的復雜性,而且,即使他們喜歡這種復雜性,動態性也會受到局限。而 XML 很少存在于“真空環境”中。XML 幾乎總是映射到別的對象或與其他對象進行交互。例如,XML 模式可能作為 Web 服務的一部分而存在,而這意味著將可能處理語言綁定問題。因此,應當對語言綁定將 xsd:any 映射到給定語言的方式加以注意。在本文中,我將重點討論 JAX-RPC Java™ 語言綁定。

      使用 xsd:any 的 Web 服務示例

      讓我們看一下清單 1 中的 WSDL 文件示例。這是一個簡單的寵物醫院 Web 服務。它定義了一個名為 registerPet 的操作,其輸入信息包含一個 xsd:any。此 WSDL 還定義了兩個寵物類型:cat 和 fish。

      清單 1. 使用 xsd:any 的獸醫服務 WSDL

    <?xml version="1.0" encoding="UTF-8"?>
    <definitions
        targetNamespace="urn:any"
        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
        xmlns:tns="urn:any"
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
        xmlns="http://schemas.xmlsoap.org/wsdl/">
      <types>
        <schema
            targetNamespace="urn:any"
            xmlns:tns="urn:any"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns="http://www.w3.org/2001/XMLSchema">
          <complexType name="Cat">
            <sequence>
              <element name="name" type="xsd:string"/>
              <element name="breed" type="xsd:string"/>
            </sequence>
          </complexType>
          <complexType name="Fish">
            <sequence>
              <element name="name" type="xsd:string"/>
              <element name="saltWater" type="xsd:boolean"/>
            </sequence>
          </complexType>
          <element name="registerPet">
            <complexType>
              <sequence>
                <any namespace="##any"/>
              </sequence>
            </complexType>
          </element>
          <element name="registerPetResponse">
            <complexType>
              <sequence/>
            </complexType>
          </element>
        </schema>
      </types>
      <message name="registerPetRequest">
        <part name="registerPetRequest" element="tns:registerPet"/>
      </message>

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 故事 xsd 幕后

    51/512345>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>