私は定期的に、レガシー システムの独自のデータ モデルを変換して XSD スキーマを作成しています。これはかなりうまくいきます。int
ただし、従来のシステムでは、データ型 ( など) など、パラメーターの非常に基本的な属性しか指定できませんstring
。
変換の詳細を提供するために、メタデータを追加できるメカニズムで XSL 変換を強化したいと考えています。XPath に属性を割り当てる Java プロパティ表記のようなものを考えました。
次の例を想像してください。
従来のシステム データ モデル(実際にはきちんとしていますが、デモンストレーション目的に最適です)
<datamodel>
<customer>
<firstName type="string"/>
<lastName type="string"/>
<age type="int">
<customer>
</datamodel>
メタデータ
customer/firstName/@nillable=false
customer/lastName/@nillable=false
customer/age/@nillable=true
customer/firstName/@minOccurs=1
customer/firstName/@maxOccurs=1
customer/lastName/@minOccurs=1
customer/lastName/@maxOccurs=1
結果の XSD スキーマ
...
<xs:complexType name="customerType">
<xs:sequence>
<xs:element name="firstName" type="xs:string" nillable="false" minOccurs="1" maxOccurs="1"/>
<xs:element name="lastName" type="xs:string" nillable="false" minOccurs="1" maxOccurs="1"/>
<xs:element name="age" type="xs:int" nillable="true"/>
</xs:sequence>
</xs:complexType>
...
それについてどう思いますか?XSL スタイルシートにメタデータを含める方法はありますか?