2009-09-03 13 views
3

私はいくつかのアプリケーション間でのデータ転送に使用されるXMLスキーマに取り組んでいます。コアデータはすべて同じですが、特定のアプリケーションが追加データを格納できるようにして、ファイルの「往復」を許可して、そのアプリケーションに固有のものを保存して再ロードして失うことがないようにします。これのベストプラクティスは何ですか?XML標準で拡張機能を定義するベストプラクティスは何ですか?

これまで考えてきたことは、メインノードごとにノードを定義することです。これにより、スキーマ(予期しないノードや間違った場所にあるノードはありません)に対して検証できます。拡張ノード。

これらの拡張スキーマの1つ以上を独自のスキーマとして定義することも考えられます。

これは他の規格でどのように行われますか?私たちは何を採用すべきですか?

答えて

1

元のスキーマが拡張性のために書かれていない場合、あなたは不運です。

拡張性のために書かれたスキーマの例として、WSDLのスキーマを参照してください。すべてがほぼwsdl:documentedタイプを拡張していることに注意してください。

<complexType name="serviceType"> 
    <complexContent> 
     <extension base="wsdl:documented"> 
      <sequence> 
       <element ref="wsdl:port" minOccurs="0" maxOccurs="unbounded"/> 
       <any namespace="##other" minOccurs="0"/> 
      </sequence> 
      <attribute name="name" type="NCName" use="required"/> 
     </extension> 
    </complexContent> 
</complexType> 

any要素が含まれる任意のXMLを許可します:多くの要素にも拡張を許可することに注意してください。


はところで、私はXMLスキーマについて知っているすべては、私は、エリック・ファン・デル・VLISTによって XML Schemaから学びました。

出版社:オライリーメディア社
パブ日:2002年6月25日
印刷ISBN-13:978-0-596-00252-7
ページ:

第13章Creating Extensible Schemasを参照してください。

+0

私たちは自分でスキーマを設計しているので、今の時点で望みどおりに動作させることができます。 – mj2008

+0

申し訳ありませんが、私はあなたが "行く"と言いました。 WSDLスキーマの例に従えば、あなたは遠ざかります。 –

+0

本のおすすめを編集します。 –

関連する問題