を使用して空間要素の値を削除する必要があり、1種類は私はXML要素の2種類がありXSL
まずXMLです:
<Body>
<h1>aaa</h1>
<h1>bbb</h1>
<h1>ccc</h1>
</Body>
セカンドXML:私は「
<Body>
<h1> </h1>
<h1>aaa</h1>
<h1>bbb</h1>
</Body>
XSL mを使用して
<xsl:strip-space elements="h1"/>
<xsl:template match="@*|node()">
<xsl:copy><xsl:apply-templates select="@*|node()"/></xsl:copy>
</xsl:template>
<xsl:template match="Body">
<xsl:copy>
<h1><xsl:value-of select="h1"/></h1>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="h1"/>
出力I'm geなどの最初のXMLに正しくめの設定:
<Body>
<h1>aaa bbb ccc</h1>
</Body>
しかし、たとえ、私は2番目のXMLのためのH1としてストリップ空間要素を使用し、私は以下のように取得しています:出力は
ようなこと期待<Body>
<h1> aaa bbb</h1>
</Body>
<Body>
<h1>aaa bbb</h1>
</Body>
h1のスペース要素を削除する必要があります。しかし、そのタグのために、そのスペースを組み合わせても。私は優先度を使用し、テンプレートでも別のh1 [normalize-space()]タグを使用しました。しかし、それは動作しません。これを避ける方法があります。提案してください。私はXSLT 2.0とsaxon-PE 9.6.0.7を使用しています。事前に感謝
Thanks @Michaelこのタグのためにうまく動作します。私はこのタグを使用しました
– User501