1
これは、ハウツーよりもむしろ使用するテクニックやツールの問題です。さまざまな用途のベースXMLスキーマを変換する方法は?
私は、開発チームが入出力の解析と自動コード生成に使用するXMLスキーマを持っています。
スキーマは開発者向けに設計されています。しかし、このスキーマにはさまざまなニーズを持つ用途があります。たとえば、開発者のスキーマは強く型付けされますが、ワイルドカードの置換を可能にするために、ユーザースキーマを弱く型付けする必要があります。もう1つの例は、開発者ツールで使用されるappinfo注釈です。これらはユーザースキーマから削除されます。
たとえば、この:
<xs:complexType name="ModelA">
<xs:annotation id="ModelA" >
<xs:appinfo>
<dev_type>AObject</dev_type>
<function id="AFunction">
<parameters>
<parameter>P1</parameter>
<parameter>P2</parameter>
</parameters>
</function>
</xs:appinfo>
<xs:documentation>
<description>A model. Used by A in Camelot.</description>
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="dbs:Models">
<xs:sequence>
<xs:element name="RoundTables" type="xs:decimal"/>
<xs:element name="ClarkGable" type="xs:boolean"/>
<xs:element name="SequinVests" type="xs:decimal"/>
<xs:element name="Opera" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
このなる:
<xs:complexType name="ModelA">
<xs:annotation id="ModelA" >
<xs:documentation>
<description>A model. Used by A in Camelot.</description>
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="dbs:Models">
<xs:sequence>
<xs:element name="RoundTables" type="xs:string"/>
<xs:element name="ClarkGable" type="xs:string"/>
<xs:element name="SequinVests" type="xs:string"/>
<xs:element name="Opera" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
は、XSLT、ここで有用であろうか?あるいは、スキーマをXMLとしてロードし、XPathを使用してタグと属性を見つけて削除/変更できますか?
ブリリアント。ありがとうございました。 –