以下是我输入的xml文件的片段:
<ARTICLE PDFID="AT-11-2013-07.pdf" DOI="AT-11-2013-07">
<ISSN>002-267</ISSN>
我在xslt(2.0)中使用了字符映射,如下所示:
<xsl:character-map name="xyzentity">
<xsl:output-character character="-" string="&hyphen;"/>
</xsl:character-map>
但我得到的输出是:
<ARTICLE PDFID="AT‐11‐2013‐07.pdf" DOI="AT‐11‐2013‐07">
<ISSN>002‐267</ISSN>
具有-
的所有属性值也会转换为‐
。我只需要数据而不是属性。不知道该怎么做。任何形式的帮助都将得到真正的赞赏。感谢。
答案 0 :(得分:0)
使用xsl:character-map无法实现所要求的内容,因为您无法有选择地仅将字符映射应用于某些模板
我会改用这样的东西:
<xsl:template match="ISSN">
<xsl:copy>
<xsl:value-of select="replace(.,'-','&hyphen;')" disable-output-escaping="yes"/>
</xsl:copy>
</xsl:template>