1

我有这个xml

<?xml version="1.0" encoding="UTF-8"?>
<Input>   
<Properties>
  <Type Name="Type1">
    <Property NAME="Prop1"/>
    <Property NAME="Prop2"/>
    <Property NAME="Prop3"/>
  </Type>
  <Type Name="Type2">
    <Property NAME="Prop4"/>
    <Property NAME="Prop5"/>
  </Type>
  <Type Name="Type3">
    <Property NAME="Prop6"/>
  </Type>
  <Type Name="Type4">
    <Property NAME="Prop7"/>
    <Property NAME="Prop8"/>
  </Type>
  <Type Name="Type5">
    <Property NAME="Prop9"/>
  </Type>
</Properties>
 </Input>

我需要使用 xslt 实现一个计数器,它将为我提供所有类型下的总属性计数(在本例中为 9 )。可以在 xslt 中完成吗?

4

1 回答 1

1

我需要使用 xslt 实现一个计数器,它将为我提供所有类型下的总属性计数(在本例中为 9 )。

不,您不需要实现 counter

只需使用

count(/*/*/Type/Property)

要回答您的下一个问题:

可以在 xslt 中完成吗?

不,可变变量在函数式语言(XSLT 所属的类别)中是不可能的——根据定义。并且没有必要拥有可变变量。

任何可以通过命令方式(使用可变变量)解决的问题,也可以通过函数方式解决——不使用可变变量。

于 2013-01-14T14:05:50.307 回答