誰かがこれに対応しています。 私は、テストデータで完全に埋め込まれたXMLを持っています。私はすべての要素テキストを削除する必要があります。 XSLのすべてのテキスト要素をクリアします
<xml>
<parent>
<child>A</child>
<child>B</child>
<pet>
<dog>C</dog>
<cat>D</cat>
</pet>
</parent>
</xml>
は私の本当のXMLは、100以上の異なる要素名を含む
<xml>
<parent>
<child></child>
<child></child>
<pet>
<dog></dog>
<cat></cat>
</pet>
</parent>
</xml>
になる必要があり、私は一般的なアプローチが必要です。
私は変種の変形を試みていますが、XSLエラーが発生しています。ファイル内
エラー:cleanxml.xsl -2147467259は、有効な名前を指定する必要があり、「ELEMENT」タイプのノードを作成します。
<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match='/|@*|node()'>
<!--
Regular Identity Transform
<xsl:copy>
<xsl:apply-templates select='@*|node()'/>
</xsl:copy>
-->
<xsl:variable name='name' select='local-name()'/>
<xsl:element name='{$name}'>
<xsl:apply-templates select='@*|node()'/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
エラーメッセージの原因は、テンプレートが名前のない文書ノードやテキストノードなどのノードに一致していることです。 $ nameの値は長さゼロの文字列です。名前の長さがゼロの文字列の要素を作成することはできません。 –