试图了解如何使用 3rd 方 xsl 命名空间来引用 xml 数据。
有 2 个 xsl 文件用于从 xml 生成 html,我看不到根节点是如何被引用为“数据源”的,就像在这些文件中一样。主 xsl 文件包括辅助 xsl 文件。辅助“通用”xsl 文件具有如下片段:
<msxsl:script language="JScript" implements-prefix="z79">
function GetCurrentTime()
{
return String(new Date());
}
</msxsl:script>
两个 xsl 文件的命名空间定义为:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:z79="Acme.Hammer" xmlns:msxsl="urn:schemas-microsoft-com:xslt" version="1.0">
<xsl:include href="Common\Common.xsl"/>
<xsl:output method="html"/>
输入 xml 文件的开头为:
<TopData xmlns="Acme.Hammer">
<Middle name="middleLayer">
<Lower>
<Characteristic name="UNIQUEID">
<Value>@708</Value>
<Timestamp>2016-10-23T11:35:22</Timestamp>
</Characteristic>
在主 xsl 文件中声明变量:
<xsl:variable name="language" select="/z79:Datasource/@xml:lang"/>
<xsl:template match="/">
<xsl:variable name="StartTimeCharac" select="/z79:Datasource/z79:Middle/@startTimeCharacteristic"/>
所以 z97 是“Acme.Hammer”命名空间的快捷方式。与根 xml 节点“TopData”的 xmlns 匹配。但从那里我猜“数据源”映射到 TopData 节点?这个 xsl 有意义吗?
我知道它只是片段,但它是专有的,我不能发布整个文件。
我已经阅读了几个 xsl 教程,但我没有遇到过这种类型的配置。
请告诉我“数据源”如何映射到“TopData”。