首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在xslt转换中保留十六进制代码

如何在xslt转换中保留十六进制代码
EN

Stack Overflow用户
提问于 2014-02-24 12:39:14
回答 1查看 1K关注 0票数 0

如何在xslt转换中保留十六进制代码?

输入:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:aid="http://ns.adobe.com/AdobeInDesign/4.0/" xmlns:aid5="http://ns.adobe.com/AdobeInDesign/5.0/">
<root>
   <p>This is sample character &#x000ED;</p>
</root>

预期产出:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:aid="http://ns.adobe.com/AdobeInDesign/4.0/" xmlns:aid5="http://ns.adobe.com/AdobeInDesign/5.0/">
<root>
   <p aid:pstyle="para">This is sample character &#x000ED;</p>
</root>
EN

回答 1

Stack Overflow用户

发布于 2014-02-24 13:00:11

使用字符映射控制输出序列化。您可以找到XSL规范这里的相关部分。

注意,您的代码还有其他问题。样式表必须包含可以触发的模板,例如xsl:template match="/"。否则,任何东西都不会被序列化。

另外,我不知道这与输入XML文档有什么关系,因为内容完全来自XSLT样式表。

样式表

代码语言:javascript
运行
复制
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output use-character-maps="my-map" indent="yes"/>

<xsl:character-map name="my-map">
    <xsl:output-character character="&#x000ED;" string="&amp;#x000ED;"/>
</xsl:character-map>

<xsl:template match="/">
   <root>
      <p pstyle="para">This is sample character &#x000ED;</p>
   </root>
</xsl:template>
</xsl:stylesheet>

输出

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<root>
   <p pstyle="para">This is sample character &#x000ED;</p>
</root>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21988041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档