0

xslt 处理似乎总是生成带有双引号作为分隔符的属性值。
输入xml:

<a b='"c"' />  

输出xml:

<a b="&quot;c&quot;"/>

我必须生成带有撇号的 XML 文件作为电话设备的属性值分隔符。此设备只接受带有撇号和双引号的属性值作为分隔符。例如:

<SYMB_ITEM ID="BS_Accounts.astAccounts[0].aucAccountName[0]"
class="symb_item" value='"test_3"'/>  

是否可以使用 xslt (xlstproc) 将撇号作为属性值的分隔符?

4

1 回答 1

0

我不确定我是否正确理解了您的问题:将输出设置为“文本”有帮助吗?

<xsl:output method="text" encoding="utf-8" indent="no"/>

示例 XSLT 工作表:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:output method="text" encoding="utf-8" indent="no"/>

  <xsl:template match="/">
    <xsl:apply-templates />
  </xsl:template>

  <xsl:template match="a">
    &lt;a b='<xsl:value-of select="@b"/>'&gt;
  </xsl:template>                      
</xsl:stylesheet>

对于以下 XML 文件:

<xml>
  <a b='"c"' />   
  <a b='"x"' />
</xml>

产生(我认为)预期的效果:

<a b='"c"'>
<a b='"x"'>
于 2013-02-27T14:27:05.900 回答