xsl命名空间和映射节点

时间:2016-12-08 02:16:54

标签: xslt namespaces xlm

试图了解第三方xsl命名空间如何用于引用xml数据。

有两个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是&#34; Acme.Hammer&#34;的快捷方式。命名空间。它匹配根xml节点的xmlns&#39; TopData&#39;。 但是从那里我猜测&#34; Datasource&#34;映射到TopData节点? 这个xsl有意义吗?

我知道它只是片段,但它是专有的,我无法发布整个文件。

我已经阅读了几个xsl教程,但我还没有遇到过这种类型的配置。

请告诉我&#34; Datasource&#34;被映射到&#34; TopData&#34;。

0 个答案:

没有答案