我正在处理一个xml,它用它的块和单词表示一个句子。问题是,在XML中,我给出的单词顺序是根据其父块设置的,而不是它在句子中的顺序。这是XML的样子:使用xslt设置xml节点顺序
<SENTENCE>
<CHUNK ord="4">
<CHUNK ord="2">
<CHUNK ord="1">
<WORD ord="0" />
</CHUNK>
<WORD ord="2" />
<CHUNK ord="3">
<WORD ord="0" />>
</CHUNK>
</CHUNK>
<WORD ord="1" />
<WORD ord="0" />
<CHUNK ord="5">
<WORD ord="0">
<WORD ord="1" />
</WORD>
<CHUNK ord="6">
<WORD ord="0">
<WORD ord="2">
<WORD ord="3" />
<WORD ord="1" />
</WORD>
</WORD>
</CHUNK>
</CHUNK>
<CHUNK ord="7">
<WORD ord="0">
<WORD ord="1" />
</WORD>
</CHUNK>
<CHUNK ord="8">
<WORD ord="0" />
</CHUNK>
</CHUNK>
</SENTENCE>
我需要知道在句子中词的实际,以使其他一些处理,但不失XML的结构。例如,在上面的例子中,输出XML应该是这样的:通过使用XSLT来创建的每一个字元素的新属性,它会显示
<SENTENCE>
<CHUNK ord="4">
<CHUNK ord="2">
<CHUNK ord="1">
<WORD ord="0" senOrd="0" />
</CHUNK>
<WORD ord="2" senOrd="1" />
<CHUNK ord="3">
<WORD ord="0" senOrd="3" />>
</CHUNK>
</CHUNK>
<WORD ord="1" senOrd="4" />
<WORD ord="0" senOrd="5" />
<CHUNK ord="7">
<WORD ord="0" senOrd="12">
<WORD ord="1" senOrd="13" />
</WORD>
</CHUNK>
<CHUNK ord="8">
<WORD ord="0" senOrd="14" />
</CHUNK>
</CHUNK>
<CHUNK ord="5">
<WORD ord="0" senOrd="6">
<WORD ord="1" senOrd="7" />
</WORD>
<CHUNK ord="6">
<WORD ord="0" senOrd="8">
<WORD ord="2" senOrd="10">
<WORD ord="3" senOrd="11" />
<WORD ord="1" senOrd="9" />
</WORD>
</WORD>
</CHUNK>
</CHUNK>
</SENTENCE>
我一直在努力做的在句子中的顺序,但我甚至不知道从哪里开始。如果有人能帮助我,我将不胜感激。
这里给出的英语句子可能的XML“这仅仅是XML的例子”:
<SENTENCE>
<CHUNK ord="1">
<CHUNK ord="0">
<WORD ord="1" form="is">
<WORD ord="0" form="this" />
</WORD>
</CHUNK>
<WORD ord="1" form="just">
<CHUNK ord="2">
<WORD ord="2" form="of">
<WORD ord="0" form="an" />
</WORD>
<WORD ord="1" form="example" />
<CHUNK ord="0">
<WORD ord="1" form="xml" />
<WORD ord="0" form="the" />
</CHUNK>
</CHUNK>
</CHUNK>
</CHUNK>
什么是senOrd属性将表明是每个单词在句子的顺序。
所以说,如果你用大块的ord命令在一个句子中的单词,然后在这个单词的ord中,你会在句子中排序吗?如果是这样,那么我想你需要创建一个xpath,按照该顺序选择数据,然后使用计数器添加senOrd。计数器可能必须是递归模板的参数,每次调用都会递增(因为xslt是有效的)。但这是我能记住xslt的限制[编辑:哦,但是你需要保存顺序,所以首先添加一个属性来记录,然后重写/删除] – 2012-03-11 19:43:27
我不明白你的描述,我可以注意在你的输出中senOrd总是ord + ord-of-parent是你需要实现的规则吗? – 2012-03-11 19:47:11
也许这个例子xml我的帖子不是很复杂。但是真正的xml要复杂得多,因为有更多的嵌套块和单词(这些xml文件在语法分析之后代表句子,所以根据输入句子输出会更容易或不更简单)。 – Ion 2012-03-11 20:22:34