使用xslt 1.0对两个节点之间的节点进行XSLT分组

时间:2013-12-02 18:27:49

标签: xml xslt

我有问题请你告诉我使用XSLT在节点下面分组的时间,从我在下面给出的输入中

Once I get into above structure I have written temple which will extract and keep into my companies format of XML. 
<X12Transaction>(Root)
<ISA> 
<GS>
<ST>
<BHT>
<HL> </HL>------1
<NM1> </NM1>
<PER> </Per>
<HL> </HL>----------------2
<NM1> </NM1>
.......
.......
.....

<HL> </HL>------------3
REF>
<N3>
<N4>
<EB>
<EB>
<DTP>
<LS>
<NM1>
<NM3>
< LE>

<HL> </HL>------------4
REF>
<N3>
<N4>
<EB>
<EB>
<DTP>

<SE>
<GE>
<IEA>

</X12Transaction>(Root)

我是XSLT新手,请提供您的建议

1)第一个HL到第二个HL进入源 2)第二个Hl到第三个HL进入付款人 3)Thrid HL到第四HL进入用户和        a)如果EB节点后面跟着DTP,则存在,然后将DTP节点作为EB节点的子节点移动         b)将从LS到LE的节点提取到子节点中 4)第四个HL直到SE投入Dependent      做同上述3)规则a)和b)

1 个答案:

答案 0 :(得分:-2)

看看这是否可以让你入门:

...
<source>
    <xsl:for-each select="X12Transaction/*[count(preceding-sibling::HL) = 1 and not (self::HL)]">
        <xsl:copy-of select="."/>
    </xsl:for-each>
</source>
...