我正在使用 XSLTproc 处理 XSL+XML-> HTML
在此过程中删除某些信息时遇到问题。
XSL:
<div item="{id}">
正在变成:
HTML:
<div item="">
我需要的结果是:
HTML:
<div item="{id}">
任何想法如何解决/或防止这种情况?
您在当前 XSLT 中遇到的问题是它被视为属性值模板。花括号告诉 XSLT 它是一个要评估的表达式,在您的情况下,它将被评估为id元素的值,如果它不存在,它将是空白的。
要从字面上输出<div item="{id}">
,您可以执行以下任一操作:
<div item="{'{id}'}">
</div>
或者:
<div>
<xsl:attribute name="item">{id}</xsl:attribute>
</div>
您可以在 XSLT 中执行以下操作:
<div>
<xsl:attribute name="item"><xsl:text>{id}</xsl:text></xsl:attribute>
</div>
只需加倍{}
:
XSLT
<div item="{{id}}">
结果
<div item="{id}">