Sorting XSLT根据子节点的特定属性对父节点进行排序
有史以来的第一篇帖子,已经做了很多搜索,但找不到足够具体的答案,或者更重要的是,找不到足够相关的答案。请注意,我是一名业务分析师,而不是开发人员,因此我可能在这里缺少一些理解 我们生成XML,然后对其进行处理以生成报告。当数据可以由表表示时,XML包含表标题(元素标题)、表标题行(提示)以及表示行(数据)和列(值)的重复节点的详细信息 我面临的问题是,我需要根据节点的文本值对数据节点进行排序,其中节点具有特定的属性值 在下面提供的示例XML中,我需要根据属性@pic='TRORGPCNT'的值文本值按升序对数据节点进行排序,即TRORGPCNT为10的数据节点应该出现在TRORGPCNT为90的数据节点之前。然后,当生成报告时,表行按百分比升序排列 我希望我已经解释清楚了:) 关于如何实现这一点,有什么建议吗 示例XML:Sorting XSLT根据子节点的特定属性对父节点进行排序,sorting,xslt,attributes,parent,Sorting,Xslt,Attributes,Parent,有史以来的第一篇帖子,已经做了很多搜索,但找不到足够具体的答案,或者更重要的是,找不到足够相关的答案。请注意,我是一名业务分析师,而不是开发人员,因此我可能在这里缺少一些理解 我们生成XML,然后对其进行处理以生成报告。当数据可以由表表示时,XML包含表标题(元素标题)、表标题行(提示)以及表示行(数据)和列(值)的重复节点的详细信息 我面临的问题是,我需要根据节点的文本值对数据节点进行排序,其中节点具有特定的属性值 在下面提供的示例XML中,我需要根据属性@pic='TRORGPCNT'的值文
<PROPOSAL_ELEMENT multi="Y" pec="TEACHRESP" elem_mandatory="N" elem_visible="Y">
<ELEMENT_HEADING pec="TEACHRESP">Teaching Responsibility</ELEMENT_HEADING>
<PROMPTS>
<PROMPT pic="TRORGUN" item_mandatory="Y" item_visible="Y">Faculty or School with teaching responsibility</PROMPT>
<PROMPT pic="TRORGPCNT" item_mandatory="Y" item_visible="Y">Teaching responsibility %</PROMPT>
</PROMPTS>
<DATA elem_mandatory="N" elem_visible="Y" delete_ind="N">
<VALUES>
<VALUE pic="TRORGUN" item_mandatory="Y" item_visible="Y" item_description="FACULTY OF NURSING AND HEALTH" display_in_summary_tab="Y" summary_order="">FACULTY OF NURSING AND HEALTH</VALUE>
<VALUE pic="TRORGPCNT" item_mandatory="Y" item_visible="Y" item_description="" display_in_summary_tab="Y" summary_order="">90</VALUE>
</VALUES>
</DATA>
<DATA elem_mandatory="N" elem_visible="Y" delete_ind="N">
<VALUES>
<VALUE pic="TRORGUN" item_mandatory="Y" item_visible="Y" item_description="FACULTY OF ARTS" display_in_summary_tab="Y" summary_order="">FACULTY OF ARTS</VALUE>
<VALUE pic="TRORGPCNT" item_mandatory="Y" item_visible="Y" item_description="" display_in_summary_tab="Y" summary_order="">10</VALUE>
</VALUES>
</DATA>
教学责任
负责教学的教师或学校
教学责任%
护理与健康学院
90
文学院
10
XSLT中的排序是通过使用来完成的,它必须作为选择要排序的节点的每个或应用模板的的第一个子项出现。如果您选择的是数据
元素节点集,则将使用适当的排序指令
<xsl:sort select="VALUES/VALUE[@pic='TRORGPCNT']"
data-type="number" />
谢谢Ian,我尝试在@pec='TEACHRESP'时添加基于处理建议元素的排序,但没有效果。我会继续尝试,并在结果出来时发布结果。