我有一个包含以下内容的xml。我想根据相关时间的值对作业进行排序。
对于每个作业,都有一个相关的时间,有两个值Num1和NUM2。
我想按这些值排序,所以如果:
job1有时间1,值Num1=10,NUM2=12,而
job2有时间2,值Num1=10,NUM2=11,则输出应该是:job2,job1.
如果job3有时间3,值Num1=11,NUM2=09
输出应该是:job2,job1。
我能用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>
我不知道为什么你还问分组,关于交叉引用和排序,可以做为
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:key name="rel" match="Relation[RelClass/@IRI = 'Job-Time']" use="Name[1]/@IRI"/>
<xsl:key name="num1" match="Data[DataClass/@IRI = 'Num1']" use="Name/@IRI"/>
<xsl:key name="num2" match="Data[DataClass/@IRI = 'Num2']" use="Name/@IRI"/>
<xsl:template match="/Corp">
<xsl:copy>
<xsl:apply-templates select="Type[Class/@IRI = 'Jobs']">
<xsl:sort select="key('num1', key('rel', Name/@IRI)/Name[2]/@IRI)/Value" data-type="number"/>
<xsl:sort select="key('num2', key('rel', Name/@IRI)/Name[2]/@IRI)/Value" data-type="number"/>
</xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="Type[Class/@IRI = 'Jobs']">
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>
问题内容: 我有可能需要按1-n键排序的大文件。其中一些键可能是数字键,有些则可能不是数字键。这是一个固定宽度的柱状文件,因此没有定界符。 有没有一种很好的方法可以用Unix排序呢?使用一个键,就像使用“ -n”一样简单。我已经阅读了手册页并简短地搜索了Google,但是没有找到一个很好的例子。我将如何实现这一目标? 注意:由于文件大小可能,我排除了Perl。这将是不得已的办法。 问题答案: 使用
问题内容: docs状态 返回: index_array:ndarray,int沿指定轴对a进行排序的索引数组。如果a是一维的,则产生排序的a。 我如何应用多维数组的结果以返回已排序的数组?(不只是一维或二维数组;它可以是一个N维数组,其中N仅在运行时才知道) 对我来说,这不仅仅是使用的问题;我有另一个数组,我想使用沿适当轴的结果进行排序。考虑以下示例: 似乎此功能已经是numpy中的增强请求。
问题内容: 我试图通过多个键对多维数组进行排序,但我不知道从哪里开始。我看了uasort,但不确定如何根据需要编写函数。 我需要按状态排序,然后按event_type排序,然后按日期排序。 我的数组如下所示: 问题答案: 你需要 从PHP 5.5.0开始: 就是现在:
嗨,我有一个HashMap的ArrayList,我需要HashMap按其键值排序。 循环开始: 循环结束: 我需要newList按键标记排序。 我怎么弄?
问题内容: 在主题函数返回的代码中迭代返回的映射时,键未按顺序显示。 我如何才能使键按顺序排列/对地图进行排序,以使键按顺序排列并且值对应? 这是代码。 问题答案: 在围棋博客:去映射在行动中有极好的说明。 当使用范围循环在地图上进行迭代时,未指定迭代顺序,并且不能保证每次迭代之间都相同。从Go 1开始,运行时间会随机化映射迭代顺序,因为程序员依赖于先前实现的稳定迭代顺序。如果需要稳定的迭代顺序,
问题内容: 我需要通过PHP脚本中的“得分”值对此类信息进行排序,该怎么办?: PS:这已经在PHP值中,我已经使用了json_decode。* 问题答案: 当这个样子的: 您可以用来对数组进行排序: 输出: