我在元素中有空格,因为那个空格,我得到验证错误。
我的输入xml:
<div><a href="https://tneb.com"><img src="https://tnee.com"/></a>
<div> </div>
</div>
我使用的XSL:
<xsl:template match="div">
<fig>
<xsl:apply-templates/>
</fig>
</xsl:template>
<xsl:template match="a">
<xsl:element name="xref">
<xsl:if test="@href">
<xsl:attribute name="href"><xsl:value-of select="@href"/></xsl:attribute>
</xsl:if>
</xsl:element>
</xsl:template>
<xsl:template match="img">
<xsl:element name="image">
<xsl:if test="@src">
<xsl:attribute name="href"><xsl:value-of select="@href"/></xsl:attribute>
</xsl:if>
</xsl:element>
</xsl:template>
输出我得到:
<fig>
<xref href="https://tneb.com">
<image href="https://tnee.com"/>
</xref> </fig>
但我需要预期的输出如下:
<fig>
<xref href="https://tneb.com">
<image href="https://tnee.com"/>
</xref></fig>
由于这是不必要的,我在标签之间有空间。所以我得到验证错误。请提供给我的编码。提前致谢
答案 0 :(得分:0)
让我们从XSLT的修正开始:你写道:
let max: number = numbers[0];
应该改为:
<xsl:attribute name="href"><xsl:value-of select="@href"/></xsl:attribute>
现在回到你的问题:把
<xsl:attribute name="href"><xsl:value-of select="@src"/></xsl:attribute>
在XSLT的开头(就在<xsl:output method="xml" indent="yes"/>
<xsl:strip-space elements="*"/>
之后)。
然后:
xsl:stylesheet
,您将获得格式正确的输出indent="yes"
而不是strip-space
,您将获得<fig> </fig>
。