gpt4 book ai didi

通过涉及特殊字符的 XSL 转换输出 HTML

转载 作者:数据小太阳 更新时间:2023-10-29 02:48:49 25 4
gpt4 key购买 nike

我在将特定字符从 XML 提要转换为 XHTML 时遇到问题。

我正在使用以下示例来演示问题。

这是我的 XML 文件:

<?xml version="1.0" encoding="UTF-8"?>
<paragraph>some text including the –, ã and ’ characters</paragraph>

这是我正在应用的 XSLT:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"
encoding="UTF-8"
indent="yes"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" />
<xsl:template match="paragraph">
<html xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<body>
<p><xsl:apply-templates/></p>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

这是生成的 XHTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head></head>
<body>
<p>some text including the –, ã and ’ characters</p>
</body>
</html>

原始 XML 中的字符正在被新字符替换。

首先我想检查一下是不是我的编码有问题导致了这个问题?

如果我想映射特殊字符以在 XHTML 中正确显示,我是否应该使用实体来做一些事情?如果是这样,我如何在 XSLT 中使用它们,我是否需要提前知道我的 XML 提要中可能存在的每一个可能值?

最佳答案

我同意 kdgregory:输出文件看起来是 UTF-8,但其读者认为它是其他格式(ISO-8859-1 或 CP-1252(Windows 的默认设置))。尝试直接在 HTML head 元素中添加内容类型:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

看看是否有帮助。

关于通过涉及特殊字符的 XSL 转换输出 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1462826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com