次のような要素を持つ大きな XSD があります。
<xs:element name="ProgramName" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>PN</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TestItem" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>TA</xs:documentation>
</xs:annotation>
</xs:element>
<documentation>
次のように、要素を祖父母要素の属性に折りたたみたいと思います。
<xs:element name="ProgramName" type="xs:string" minOccurs="0" code="PN">
</xs:element>
<xs:element name="TestItem" type="xs:string" minOccurs="0" code="TA">
</xs:element>
これを XSLT でどのように行うことができますか? または、XSLT よりも優れた (読みやすい) 方法はありますか?
結果の XSD はXSD.EXE
、シリアル化と逆シリアル化の目的で C# クラスを作成するために使用されます。元の XSD をこのように使用することはできません。これXSD.EXE
は、すべての注釈要素が削除され、それらの注釈に含まれる情報が失われるためです。