我正在测试 XSLT 身份转换,因此我随机选择了 www.w3schools.com 上的以下示例,因为它允许我在线尝试:
\n\nhttp://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=cdcatalog_apply
\n\n我将右侧窗格中的 XSLT 更改为身份转换:
\n\n<?xml version="1.0" encoding="ISO-8859-1"?>\n<!-- Edited by XMLSpy\xc2\xae -->\n<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">\n\n <xsl:template match="@*|node()">\n <xsl:copy>\n <xsl:apply-templates select="@*|node()"/>\n </xsl:copy> \n </xsl:template>\n\n</xsl:stylesheet>\nRun Code Online (Sandbox Code Playgroud)\n\n并尝试了一下。我发现/catalog/cd/title节点不会被复制到输出中(但其他所有内容都会复制到输出中)。如果我将名称从 更改/catalog/cd/title为/catalog/cd/title1(或任何其他名称),它会复制节点。
所以我想知道 www.w3schools.com 上的 XSLT 实现是否存在错误,或者 XML 节点“标题”是否有一些特殊意义导致它无法被复制?我计划如上所述使用 XSLT 转换,但我想确保我知道任何问题...
\nw3schools 工具对于测试 XML 到 HTML 转换非常有用,因为它尝试在浏览器中将转换结果呈现为 HTML。通过身份转换,您不会创建任何 HTML,而是创建 XML。只有转换结果中的“title”元素在浏览器看来是已知但位置错误的 HTML 元素,因此不会在页面中显示。所有其他元素都是未知的,因此它们的文本内容被渲染。
基本上,给自己一个独立的 XSLT 处理器或 XML 编辑器,w3schools 工具除了 XML 到 HTML 转换之外,对于调试和测试任何东西都没有用处。
| 归档时间: |
|
| 查看次数: |
2645 次 |
| 最近记录: |