3

Ok。XSLT を使用して XML ファイルをコピーし、正確なコピーを作成するのは簡単ですが、値はありません。基本的にはレイアウトが欲しいだけです。すなわち

<rootnode lang="EN">
    <child1>Hello</child1>
    <child2>
        <child2_1>hello</child2_1>
    </child2>
</rootnode>

と出力

<rootnode lang="">
    <child1></child1>
    <child2>
        <child2_1></child2_1>
    </child2>
</rootnode>
4

1 に答える 1

3

ID ルールのこの単純な変更:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>
 <xsl:strip-space elements="*"/>

 <xsl:template match="node()">
     <xsl:copy>
       <xsl:apply-templates select="node()|@*"/>
     </xsl:copy>
 </xsl:template>

 <xsl:template match="@*">
  <xsl:attribute name="{name()}" namespace="{namespace-uri()}"/>
 </xsl:template>
 <xsl:template match="text()"/>
</xsl:stylesheet>

提供された XML ドキュメントに適用した場合:

<rootnode lang="EN">
    <child1>Hello</child1>
    <child2>
        <child2_1>hello</child2_1>
    </child2>
</rootnode>

必要な正しい結果が生成されます。

<rootnode lang="">
   <child1/>
   <child2>
      <child2_1/>
   </child2>
</rootnode>
于 2012-09-27T14:15:05.643 に答える