将另一个名称空间中的其他元素添加到xsl文件中

时间:2016-10-27 13:20:54

标签: xml xslt

我们正在尝试添加一个在下面的样式表中使用另一个命名空间的附加元素:

这用于将XML文件中的数据提取到发票的呈现副本中。

该元素使用以下命名空间,因此我将其添加为另外一个:

var counter = 1;
$('.next-page .nav-item').each(function () {

  if ($(this, ':gt(0)')) {
    $(this).find('.view-title').html('Up Next');
  } else {
    $(this).find('.view-title').html('0' + counter);
  }
  counter++;

});

要添加名为' Vat Reg No'的附加元素,我已在div元素中添加:

<div class="nav-item">
  <span class="view-title">Up Next</span>
  <span>Kits</span>
</div>

<div class="nav-item">
  <span class="view-title">02</span>
  <span>GUI</span>
</div>

<div class="nav-item">
  <span class="view-title">03</span>
  <span>UI</span>
</div>

<div class="nav-item">
  <span class="view-title">04</span>
  <span>Other</span>
</div>

然后我在模板匹配部分中添加了与其他命名空间对应的元素的值&#39; f&#39;:

xmlns:f="http://services.finance.com/schema/finbwSchemaLib/2005/05/13"  

但是,当通过样式表提取XML发票时,不会获取此值。 XML文件包含VAT Reg No.

我是否缺少添加此额外元素的内容?

<td width="25%">VATReg</td>

这是下面的XML文件:

<xsl:value-of select="f:VatRegNo"/>

使用样式表处理,以生成包含XML文件所有元素的呈现的发票html文件。

1 个答案:

答案 0 :(得分:0)

错误:元素VatRegNo不在您的f - 命名空间中!

在源文档中,元素(VatRegNo)位于命名空间http://services.fin.com/schema/finbwSchemaLib/2006/11/20中。

要选择它,请将前缀绑定到该uri并调用它。

在您的rootnode中添加xmlns:finlib="http://services.fin.com/schema/finbwSchemaLib/2006/11/20",您可以通过finlib:VatRegNo在您的上下文节点上相对调用该元素。