I는 다음과 같은 구조를 갖는 입력 XML을 가질 증분 노드 값 동적
<VEN>
<CUS>
<MEM>
<MEM>
<MEM>
</CUS>
<CUS>
<MEM>
<MEM>
<MEM>
</CUS>
각 노드는 입력 XML에서 여러 번 발생
. 모든 MEM 노드에는 @ CLM01 속성이 있으며이 노드에는 20 건의 MEM 노드마다 값이 할당되어야합니다. 첫 번째 VEN/CUS에서 시작하여 MEM의 노드가 55 개이면 처음 20 개 노드는 @ CLM01 값이 '1'이고 동일한 VEN/CUS 조합의 경우 다음 20 개 노드는 '2'값을 가지며 나머지 노드는 15 개 노드가됩니다. @ CLM01 값은 '3'입니다.동일한 VEN에서 다음 CUS (이 CUS에는 30 개의 MEM 노드가있는 것으로 가정)의 경우 처음 20 개의 MEM 노드는 @ CLM01 값이 '4'이고 다음 10 개의 MEM은 값이 '5'인 @ CLM01을가집니다. 이것은 계속됩니다 ..... 나는 내가 무엇을 성취하려고하는지 분명히 알기를 바랍니다.
감사합니다. 그것은 가능한가? XSLT 1.0 여기서
를 사용하여 샘플 입력
<Data>
<VEN vendorId= "v1">
<CUS custId = "c1">
<MEM memId="m1" CLM01=""/>
<MEM memId="m2" CLM01=""/>
<MEM memId="m3" CLM01=""/>
<MEM memId="m4" CLM01=""/>
<MEM memId="m5" CLM01=""/>
</CUS>
<CUS custId = "c2">
<MEM memId="m11" CLM01=""/>
<MEM memId="m12" CLM01=""/>
<MEM memId="m13" CLM01=""/>
<MEM memId="m14" CLM01=""/>
<MEM memId="m15" CLM01=""/>
<MEM memId="m16" CLM01=""/>
<MEM memId="m17" CLM01=""/>
<MEM memId="m18" CLM01=""/>
</CUS>
</VEN>
<VEN vendorId= "v2">
<CUS custId = "c1">
<MEM memId="m4" CLM01=""/>
<MEM memId="m5" CLM01=""/>
<MEM memId="m6" CLM01=""/>
<MEM memId="m7" CLM01=""/>
<MEM memId="m8" CLM01=""/>
</CUS>
<CUS custId = "c1">
<MEM memId="m33" CLM01=""/>
<MEM memId="m44" CLM01=""/>
<MEM memId="m55" CLM01=""/>
<MEM memId="m66" CLM01=""/>
<MEM memId="m77" CLM01=""/>
<MEM memId="m88" CLM01=""/>
<MEM memId="m99" CLM01=""/>
<MEM memId="m11" CLM01=""/>
</CUS>
</VEN>
에게 (우리는 매 3 회 발생 갈 MEM 노드 대신에 20 회 발생) 원하는 출력
<Data>
<VEN vendorId= "v1">
<CUS custId = "c1">
<MEM memId="m1" CLM01="1"/>
<MEM memId="m2" CLM01="1"/>
<MEM memId="m3" CLM01="1"/>
<MEM memId="m4" CLM01="2"/>
<MEM memId="m5" CLM01="2"/>
</CUS>
<CUS custId = "c2">
<MEM memId="m11" CLM01="3"/>
<MEM memId="m12" CLM01="3"/>
<MEM memId="m13" CLM01="3"/>
<MEM memId="m14" CLM01="4"/>
<MEM memId="m15" CLM01="4"/>
<MEM memId="m16" CLM01="4"/>
<MEM memId="m17" CLM01="5"/>
<MEM memId="m18" CLM01="5"/>
</CUS>
</VEN>
<VEN vendorId= "v2">
<CUS custId = "c1">
<MEM memId="m4" CLM01="6"/>
<MEM memId="m5" CLM01="6"/>
<MEM memId="m6" CLM01="6"/>
<MEM memId="m7" CLM01="7"/>
<MEM memId="m8" CLM01="7"/>
</CUS>
<CUS custId = "c1">
<MEM memId="m33" CLM01="8"/>
<MEM memId="m44" CLM01="8"/>
<MEM memId="m55" CLM01="8"/>
<MEM memId="m66" CLM01="9"/>
<MEM memId="m77" CLM01="9"/>
<MEM memId="m88" CLM01="9"/>
<MEM memId="m99" CLM01="10"/>
<MEM memId="m11" CLM01="10"/>
</CUS>
</VEN>
인
실제로 구조가 올바른 형식의 입력을 제공하지 않는 이유는 무엇입니까? 그리고 당신이 생산하고자하는 결과물은 무엇입니까? 사람들이 원하는 것을 쉽게 파악할 수 있습니다. – Lumi
@ 마이클 : 네, 맞습니다. 나는 이것이 도움이 될 것 같아요. 감사. 변수에 저장 xsl : number 사용하고 있지만 MEM 매 3 노드마다 값을 증가시키기위한 조건을 달성하는 방법을 모릅니다. – bluesnowxyz
좋은 질문입니다, +1. 완벽한 해결책은 내 대답을 참조하십시오. –