XSD で定義されていないすべての要素と属性が出力 XML で (XSLT から) 除外されるように、XML を変換できる XSLT を作成したいと考えています。
この XSD があるとします。
<xs:element name="parent">
<xs:complexType>
<xs:sequence>
<xs:element name="keptElement1" />
<xs:element name="keptElement2" />
</xs:sequence>
<xs:attribute name="keptAttribute1" />
<xs:attribute name="keptAttribute2" />
</complexType>
</xsd:element>
そして、この入力 XML があります。
<parent keptAttribute1="kept"
keptAttribute2="kept"
notKeptAttribute3="not kept"
notKeptAttribute4="not kept">
<notKeptElement0>not kept</notKeptElement0>
<keptElement1>kept</keptElement1>
<keptElement2>kept</keptElement2>
<notKeptElement3>not kept</notKeptElement3>
</parent>
次に、出力 Xml を次のようにしたいと思います。
<parent keptAttribute1="kept"
keptAttribute2="kept">
<keptElement1>kept</keptElement1>
<keptElement2>kept</keptElement2>
</parent>
要素を指定することでこれを行うことができますが、これは私の xslt スキルが到達する範囲です。一般的に、すべての要素とすべての属性に対してこれを行うのに問題があります。