【发布时间】:2017-03-19 11:48:39
【问题描述】:
我有一个包含以下内容的 xml。我想根据相关时间的值对作业进行排序。
对于每个作业,都有一个相关时间,具有两个值 Num1 和 Num2。
我想按这些值排序,所以如果:
job1 的 time1 值为 Num1=10、Num2=12 和
job2 的 time2 值为 Num1=10, Num2=11
输出应该是:job2,job1。
如果 job3 的 time3 值为 Num1=11,则 Num2=09
输出应该是:job2,job1,job3。
我可以用 xsl 1.0 做到这一点吗?
<Corp>
<Type>
<Class IRI="Jobs"/>
<Name IRI="Job1"/>
</Type>
<Type>
<Class IRI="Times"/>
<Name IRI="Time1"/>
</Type>
<Relation>
<RelClass IRI="Job-Time"/>
<Name IRI="Job1"/>
<Name IRI="Time1"/>
</Relation>
<Data>
<DataClass IRI="Num1"/>
<Name IRI="Time1"/>
<Value>10</Value>
</Data>
<Data>
<DataClass IRI="Num2"/>
<Name IRI="Time1"/>
<Value>12</Value>
</Data>
<Type>
<Class IRI="Jobs"/>
<Name IRI="Job2"/>
</Type>
<Type>
<Class IRI="Times"/>
<Name IRI="Time2"/>
</Type>
<Relation>
<RelClass IRI="Job-Time"/>
<Name IRI="Job2"/>
<Name IRI="Time2"/>
</Relation>
<Data>
<DataClass IRI="Num1"/>
<Name IRI="Time2"/>
<Value>10</Value>
</Data>
<Data>
<DataClass IRI="Num2"/>
<Name IRI="Time2"/>
<Value>11</Value>
</Data>
</Corp>
【问题讨论】:
-
您有一个元素
<Type><Class IRI="Times"/><Name IRI="Time2"/></Type>,它不会在任何地方使用,因为所有Data元素都有<Name IRI="Time1"/>。所以要么我不理解输入数据的结构(你需要解释哪些元素代表工作,哪些时间,它们是如何相关的)或者你的输入样本不一致。 -
糟糕,我的错!我编辑了xml。第二部分的所有时间都是 Time2(对于 Job2)。每项工作都与一次且仅一次相关。
标签: xml sorting xslt xslt-1.0 grouping