오래된 원본 XML :XSLT 다음 그룹
<Employees>
<Person>
<FirstName>Joy</FirstName>
<IsManager>N</IsManager>
</Person>
<Person>
<FirstName>Joyce</FirstName>
<IsManager>N</IsManager>
</Person>
<Person>
<FirstName>Joe</FirstName>
<IsManager>Y</IsManager>
</Person>...
</Employees>
새로운 소스 XML :
<Employees>
<Person>
<FirstName>Joy</FirstName>
<DetailsArray>
<Details1>
<IsManager>N</IsManager>
<IsSuperviser>N</IsSuperviser>
</Details1>
<Details2>
<IsManager>N</IsManager>
<IsSuperviser>N</IsSuperviser>
</Details2>
</DetailsArray>
</Person>
<Person>
<FirstName>Joyce</FirstName>
<DetailsArray>
<Details1>
<IsManager>N</IsManager>
<IsSuperviser>N</IsSuperviser>
</Details1>
<Details2>
<IsManager>N</IsManager>
<IsSuperviser>N</IsSuperviser>
</Details2>
</DetailsArray>
</Person>
<Person>
<FirstName>Joe</FirstName>
<DetailsArray>
<Details1>
<IsManager>N</IsManager>
<IsSuperviser>N</IsSuperviser>
</Details1>
<Details2>
<IsManager>Y</IsManager>
<IsSuperviser>N</IsSuperviser>
</Details2>
</DetailsArray>
</Person>...
</Employees>
출력해야한다 :
<Names>
<Name num='1'>Joe</Name>
<Name num='2'>Joy</Name>
<Name num='3'>Joyce</Name>
....
</Names>
이 소스 XML은 일부 조정이 이전 XML에 비해 . 여기에 새로운 조건이 "This person is 2projects or 2tasks"가 될 수 있습니다. 따라서 IsManager가 DetailsArray의 Details2 태그에서 'y'인 경우에도 IsManager = 'Y'인 사람부터 출력을 시작해야합니다. 결과물에 이름이 중복되어서는 안됩니다. 가정 해 동안 우리는 .. 이름이 중복 될 이전 답변을
감사합니다 ..
질문의 텍스트가 다소 불분명합니다. 좀 더 이해하기 쉬울 수 있습니까? –
"주기 출력"이란 무엇입니까? 위의 출력은 내가 아는 어떤 의미에서도 "순환"으로 보이지 않습니다. 또한 코드 시도를 보여 주면 귀하의 의도를 이해하는 데 도움이됩니다. – LarsH
@LarsH - 물론 내 대답은 약간의 추측 이었지만 그의 출력이 주기적이라는 명백한 의미가 있습니다. 첫 번째 관리자에서 시작하여 모든 요소를 순서대로 처리하고 첫 번째 관리자 앞에 모든 요소를 가져 오기 위해 처음부터 다시 순환합니다. 내 대답은 분명히해야합니다. –