여러 부모 노드가 포함 된 샘플 XML 메시지가 있습니다. 요구 사항은 두 부모 노드가 같고 자식 노드를 병합하는 것과 같습니다.XSLT 1.0 일치 및 병합
샘플 입력 메시지는 우리가 모든 행에 대해 temperatureCode의 가치, 모든 온도 값을 (있는 경우) CONCAT 할 필요가 중복 된 경우, 그 아이의 temperatureStats 내부의 열을 병합
<document>
<party>
<gtin>1000909090</gtin>
<pos>
<attrGroupMany name="temperatureInformation">
<row>
<attr name="temperatureCode">STORAGE</attr>
<attrQualMany name="temperature">
<value qual="FAH">10</value>
<value qual="CC">20</value>
</attrQualMany>
<attrGroupMany name="temperatureStats">
<row>
<attr name="StatsCode">CODE1</attr>
</row>
<row>
<attr name="StatsCode">CODE2</attr>
</row>
</attrGroupMany>
</row>
<row>
<attr name="temperatureCode">STORAGE</attr>
<attrQualMany name="temperature">
<value qual="FAH">10</value>
<value qual="CC">20</value>
</attrQualMany>
<attrGroupMany name="temperatureStats">
<row>
<attr name="StatsCode">CODE3</attr>
</row>
<row>
<attr name="StatsCode">CODE4</attr>
</row>
</attrGroupMany>
</row>
<row>
<attr name="temperatureCode">HANDLING</attr>
<attrQualMany name="temperature">
<value qual="FAH">10</value>
</attrQualMany>
<attrGroupMany name="temperatureStats">
<row>
<attr name="StatsCode">CODE5</attr>
</row>
<row>
<attr name="StatsCode">CODE6</attr>
</row>
</attrGroupMany>
</row>
<row>
<attr name="temperatureCode">HANDLING</attr>
<attrGroupMany name="temperatureStats">
<row>
<attr name="StatsCode">CODE7</attr>
</row>
<row>
<attr name="StatsCode">CODE8</attr>
</row>
</attrGroupMany>
</row>
</attrGroupMany>
</pos>
</party>
</document>
입니다 부모의
예상되는 출력은 동일한 구조입니다. 두 번째 노드가 처음으로 병합 된 것을 볼 수 있습니다.
<document>
<party>
<gtin>1000909090</gtin>
<pos>
<attrGroupMany name="temperatureInformation">
<row>
<attr name="temperatureCode">STORAGE</attr>
<attrQualMany name="temperature">
<value qual="FAH">10</value>
<value qual="CC">20</value>
</attrQualMany>
<attrGroupMany name="temperatureStats">
<row>
<attr name="StatsCode">CODE1</attr>
</row>
<row>
<attr name="StatsCode">CODE2</attr>
</row>
<row>
<attr name="StatsCode">CODE3</attr>
</row>
<row>
<attr name="StatsCode">CODE4</attr>
</row>
</attrGroupMany>
</row>
<row>
<attr name="temperatureCode">HANDLING</attr>
<attrQualMany name="temperature">
<value qual="FAH">10</value>
</attrQualMany>
<attrGroupMany name="temperatureStats">
<row>
<attr name="StatsCode">CODE5</attr>
</row>
<row>
<attr name="StatsCode">CODE6</attr>
</row>
</attrGroupMany>
</row>
<row>
<attr name="temperatureCode">HANDLING</attr>
<attrGroupMany name="temperatureStats">
<row>
<attr name="StatsCode">CODE7</attr>
</row>
<row>
<attr name="StatsCode">CODE8</attr>
</row>
</attrGroupMany>
</row>
</attrGroupMany>
</pos>
</party>
</document>
모든 입력은 매우 유용합니다.
이전 질문과 다른 그룹이 필요합니까? 일부 요소를 병합하고 Muenchian 그룹을 키로 사용하려면 'key ('key-name ', someKeyValueExpression)/attrGroupMany [@name ='temperatureStats ']/row'는 원하는 모든'row' 요소를 제공합니다 병합하십시오. 그룹으로 키를 사용하면 이전 질문에서 대답 한 것 같습니다. –
옵션 노드를 처리하는 방법과 전체 XML을 출력으로 인쇄하는 방법. 사용할 수있는 복사 명령이 있습니까? 샘플 XSLT를 제공하는 데 도움을 주면 훌륭합니다. –
Victor