修改XSLT 1.0中的重复节点属性值

时间:2020-06-13 11:42:40

标签: xml xslt xslt-1.0

我在XML下面输入内容。

<school>
    <Area>
        <Details>
            <Buildings id="FirstSquare">
                <Building index="1">St.Philip,07</Building>
                <Building index="3">A22</Building>
                <Building index="4">65</Building>
            <Buildings>
            <Buildings id="FirstSquare">
                <Building index="1">North Arct,66</Building>
                <Building index="2">TDF</Building>
                <Building index="3">77</Building>
            <Buildings>
            <Buildings id="FirstSquare">
                <Building index="3">Central,86</Building>
                <Building index="6">CDF</Building>
                <Building index="11">01</Building>
            <Buildings>
            <Buildings id="SecondSquare">
                <Building index="1">MiniStore,11</Building>
                <Building index="5">AJA</Building>
                <Building index="9">76</Building>
            <Buildings>
            <Buildings id="ThirdSquare">
                <Building index="5">Wide lane,45</Building>
                <Building index="6">CO</Building>
                <Building index="10">10</Building>
            <Buildings>
            <Buildings id="ThirdSquare">
                <Building index="1">Ft, Circle,71</Building>
                <Building index="2">NI</Building>
                <Building index="4">44</Building>
            <Buildings>
        </Details>
    </Area>
<school>

在上面的xml中,您可以看到属性Buildings id="FirstSquare"Buildings id="ThirdSqaure"分别重复了3次和2次。我想在第二次重复中进行修改。这就是说,Buildings id="FirstSquare"的第一次出现将保持原样,但是如果第二次出现,我们需要在其后面附加* 2,第三次出现,将是* 3,然后继续。输出应如下所示,

<school>
    <Area>
        <Details>
            <Buildings id="FirstSquare">
                <Building index="1">St.Philip,07</Building>
                <Building index="3">A22</Building>
                <Building index="4">65</Building>
            <Buildings>
            <Buildings id="FirstSquare*2">
                <Building index="1">North Arct,66</Building>
                <Building index="2">TDF</Building>
                <Building index="3">77</Building>
            <Buildings>
            <Buildings id="FirstSquare*3">
                <Building index="3">Central,86</Building>
                <Building index="6">CDF</Building>
                <Building index="11">01</Building>
            <Buildings>
            <Buildings id="SecondSquare">
                <Building index="1">MiniStore,11</Building>
                <Building index="5">AJA</Building>
                <Building index="9">76</Building>
            <Buildings>
            <Buildings id="ThirdSquare">
                <Building index="5">Wide lane,45</Building>
                <Building index="6">CO</Building>
                <Building index="10">10</Building>
            <Buildings>
            <Buildings id="ThirdSquare*2">
                <Building index="1">Ft, Circle,71</Building>
                <Building index="2">NI</Building>
                <Building index="4">44</Building>
            <Buildings>
        </Details>
    </Area>
<school>

这里有没有可以利用的XSLT 1.0模板? 预先感谢!

0 个答案:

没有答案