나는 pseudo-structure를 가진 비 heirarchal xml을 가지고있다. 모든 객체는 부모 ("루트"객체 제외)와 0 개 이상의 자식을 선언하지만 중첩 된 구조보다는 ID 및 참조 속성을 사용합니다. 이 중첩 된 구조로 변환하고 싶습니다. 기록을 위해 XSLT 1.0을 사용하여 구조적이지 않은 XML 파일에 구조를 추가하려면 어떻게해야합니까?
<document>
<object id="6" children="12,15"/>
<object id="12" parent="6" children="13,18"/>
<object id="13" parent="12" children="14,16,17"/>
<object id="14" parent="13"/>
<object id="15" parent="6" children="21,22"/>
<object id="16" parent="13"/>
<object id="17" parent="13"/>
<object id="18" parent="12" children="23,25"/>
<object id="19" parent="23"/>
<object id="21" parent="15"/>
<object id="22" parent="15"/>
<object id="23" parent="18" children="19,24"/>
<object id="24" parent="23"/>
<object id="25" parent="18"/>
</document>
은, 실제 문서는 또한 클래스와 비슷 객체가 속성에서 참조하는 개체 정의를 포함하지만 난 다시 참조 ID에 의해 정의에서 요소 이름을 검색해야합니다. 과정의 어느 시점에서 각 "객체"의 이름을 "템플릿"또는 "하위 섹션"으로 변환합니다. 사물을 단순화하면 구조를 적용한 후에이 작업을 수행 할 수 있습니다. 또한 XSLT 1.0을 사용하고 있기 때문에 children 속성에 토큰화된 "함수"가 있습니다.이 함수는 내장되어 있지 않습니다.
내가이 출력하고자 위에 그래서 예를 들어
:
<document>
<object id="6">
<object id="12">
<object id="13">
<object id="14"/>
<object id="16"/>
<object id="17"/>
</object>
<object id="18">
<object id="23">
<object id="19"/>
<object id="24"/>
</object>
<object id="25"/>
</object>
</object>
<object id="15">
<object id="21"/>
<object id="22"/>
</object>
</object>
</document>
이 객체 요소 다음은 예제를 단순화하기 위해 제거 된 등, 속성, 데이터를 다른 정보가 포함되어 있음을 명심하십시오, 그러나 문제에 복잡성의 층을 추가 할 수 있습니다.
가능한 경우 나는 이것을 우아하고 확장 가능한 방식으로하고 싶습니다. 나는 강요 당하지는 않지만 XSL 1.0 (기존 서버 소프트웨어와 통합 될 수 있도록)을 선호합니다.
나에게 도움이되거나 올바른 방향으로 나를 가르쳐 줄 수있는 사람에게 친절하게 감사드립니다!
이 질문은 매우 모호합니다. 1). 완전한 XML 문서는 제공되지 않습니다 (최소한이지만 완전한 문서 만 필요합니다). 2). ''과'- '둘 다 존재합니다. 하나의 이름 만 생성 될 필요가 있거나, item '을 언제 생성 할 것인지를 결정합니다. 제발, 질문을 편집하고 누락 된 데이터/설명을 제공하십시오. –
OK Dimitre, 정중하게 질문을 올렸습니다. 이제 내 질문은 당신이 도울 수 있느냐, 아니면 단순히 경찰을 치안했다는 것인가? – kcstrong
kcstrong : 도움이되지 않는다면 왜 시간을 낭비하여 설명을 해줄까요? 나는 몇 분 안에 일하기 시작했습니다. 아마도 10 시간 후에 당신의 질문에 시간이있을 것입니다.나는이 솔루션을 게시하지 못하게하는 모호성에 도달하기 전에 나쁘지 않은 해결책을 가졌습니다. –