2 に答える
3
これを持っているだけです:
<xsl:template match="p[not(*) and not(normalize-space())]"/>
完全な変換:
<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="p[not(*) and not(normalize-space())]"/>
</xsl:stylesheet>
この変換がこの XML ドキュメントに適用された場合:
<div>
<p/>
<p> </p>
<p><img src="..."/></p>
<img src="..."/>
</div>
必要な正しい結果が生成されます。
<div>
<p>
<img src="..."/>
</p>
<img src="..."/>
</div>
于 2012-01-31T13:40:26.337 に答える
2
私のために働きます。https://github.com/plone/diazo/commit/94ddff7117d25d3a8a89457eeb272b5500ec21c5のドロップ コンテンツ ルールで Dimitre の xpath を使用する例を追加しましたが、同等の xsl:template としても機能します。例は基本にまで削減されていますが、質問の完全な例のコンテンツを使用しても機能します。
于 2012-01-31T17:31:36.357 に答える