私はこのようなXMLを持っています -
<DOCUMENT>
<SERVICE>
<ID>1338</ID>
<NAME>
<EN>this is an english name</EN>
<DE>this is a german name</DE>
</NAME>
</SERVICE>
</DOCUMENT>
ご覧のとおり、name タグ内の要素は XML に似ていますが、実際には要素としてフォーマットされていません。出力 XML は次のようにする必要があります。
<SERVICES>
<SERVICE ID="1338" EN="this is an english name" DE="this is a german name"/>
</SERVICES>
XPATH を介して EN と DE の値を取得しようとしています。disable-output-escaping を試してみましたが、うまくいかないと思います。
<xsl:template match="/">
<SERVICES>
<SERVICE>
<xsl:attribute name="ID"><xsl:value-of select="DOCUMENT/SERVICE/ID"/></xsl:attribute>
<xsl:attribute name="EN"><xsl:value-of select="DOCUMENT/SERVICE/NAME/EN" disable-output-escaping="yes"/></xsl:attribute>
<xsl:attribute name="DE"><xsl:value-of select="DOCUMENT/SERVICE/NAME/DE" disable-output-escaping="yes"/></xsl:attribute>
</SERVICE>
</SERVICES>
</xsl:template>
ここに何か提案はありますか?