동일한 부모 (동일한 부모가 동일한 노드 이름을 공유하고 선언 된 모든 속성이 동일하다는 것을 의미 함)에서 여러 노드를 그룹화하여 "압축"해야하는 여러 유형의 XML 메시지가 있습니다. 예를 들면 :모든 속성별로 xslt 그룹화
<TopLevel CodeTL="Something">
<Ratings>
<Rating CodeA="ABC" Start="1-1-2012" End="1-2-2012">
<RatingByNumber Code="X" Rating="10" Number="1">
<RatingByNumber Code="X" Rating="19" Number="2">
</Rating>
</Ratings>
</TopLevel>
<TopLevel CodeTL="Something">
<Ratings>
<Rating CodeA="ABC" Start="1-2-2012" End="1-3-2012">
<RatingByNumber Code="X" Rating="10" Number="1">
<RatingByNumber Code="X" Rating="19" Number="2">
</Rating>
</Ratings>
</TopLevel>
<TopLevel CodeTL="Something">
<Ratings>
<Rating CodeA="XYZ" Start="1-2-2012" End="1-3-2012">
<RatingByNumber Code="X" Rating="10" Number="1">
<RatingByNumber Code="X" Rating="19" Number="2">
</Rating>
</Ratings>
</TopLevel>
<TopLevel CodeTL="Something">
<Ratings>
<Rating CodeA="XYZ" Start="1-2-2012" End="1-3-2012">
<RatingByNumber Code="X" Rating="30" Number="3">
<RatingByNumber Code="X" Rating="39" Number="4">
</Rating>
</Ratings>
</TopLevel>
모두 동일한 CodeTL 속성과 같은 CodeA는 시작과 끝이 나는 XSLT
<TopLevel CodeTL="Something">
<Ratings>
<Rating CodeA="ABC" Start="1-1-2012" End="1-2-2012">
<RatingByNumber Code="X" Rating="10" Number="1">
<RatingByNumber Code="X" Rating="19" Number="2">
</Rating>
<Rating CodeA="ABC" Start="1-2-2012" End="1-3-2012">
<RatingByNumber Code="X" Rating="10" Number="1">
<RatingByNumber Code="X" Rating="19" Number="2">
</Rating>
<Rating CodeA="XYZ" Start="1-2-2012" End="1-3-2012">
<RatingByNumber Code="X" Rating="10" Number="1">
<RatingByNumber Code="X" Rating="19" Number="2">
<RatingByNumber Code="X" Rating="30" Number="3">
<RatingByNumber Code="X" Rating="39" Number="4">
</Rating>
</Ratings>
</TopLevel>
을 사용하여 다음과 같은 출력을 생성하는 것입니다 필요하므로 속성을 마지막으로 이주를 공유하는 방법을 공지 사항
은 훨씬 깨끗하며, 소비하는 응용 프로그램에 따라 처리 시간을 절약하고 공간을 절약 할 수 있습니다.
내가 겪고있는 문제는 다른 노드 이름과 속성 (및 속성 수)이있는 xml 메시지의 유형이 다르지만 모두 여기에 표시되는 동일한 구조를 공유한다는 것입니다. 모든 것을 처리하는 것은 일반적인 방법이지만 XSLT가 제공 한 예제를 변형하여 보내 주신 모든 XML 메시지에 대한 사용자 지정 코드를 만들 수있게되어서 고맙겠습니다.
그건 내가 원했던 것 같아. 나는 1.0으로 물러났다. 나는 그것에 대해 뭔가 할 수 있는지 보겠습니다. 상세한 답변을 해줘서 고맙습니다. –
@EdFox : XSLT 1.0에서는 동일한 개념이 사용되지만 첫 번째 단계에서는 각 요소의 복사본을 만들고 서명이 포함 된 특수한 새 요소 (또는 특성)를 추가하는 2 단계 변환을 사용합니다. 두 번째 단계에서 우리는이 특별한 요소/속성에 대해 간단한 Muenchian 그룹화를 수행합니다. –
게시물에 1.0 버전을 추가 할 수 있습니까? 나는 아직도 xslt에 압도되어서 미안하다. 나는 당신의 설명을 실제 코드로 번역 할 수 있다고 확신하지 못한다. –