2009-09-16 7 views
2

안녕하세요 xslt에서이 작업을 수행 할 수 있습니까? 그렇다면 어떻게 ..? 'reasonCode'라는 요소가 하나 포함 된 xml 파일 하나가 있는데,이 이유 코드는 다른 xml의 다른 'reasonText'에 매핑됩니다. 먼저 XML에서 'reasonCode'를 확인하고 해당 'reasonText'를 선택하면됩니다. 두 번째 xml.Can에서 XSLT를 사용하여이 작업을 수행 할 수 있습니다 ... 그렇다면 간단한 아이디어를 어떻게 주시겠습니까 .. ??2 xml in one xslt

답변

2

두 개의 파일을 새 상위 태그 아래에 병합하고 전체를 XSLT를 통해 보냅니다.

+0

하지만 둘 다 내 구조가 다르므로 문제가 발생하지 않습니다. xslt에서 document (abc.xml) 명령을 사용하여 병합합니다 ... – Kapil

0

나는 Abraham's 대답에 동의합니다. 필자는 PHP, Java 및 C#에서 combineNavigableDocuments() 메서드를 작성하여 이러한 유형의 문제를 처리했습니다. XSLT document function도 사용할 수 있지만 .NET과 같은 보안 인식 플랫폼에서 예기치 않은 사용 권한 문제가 발생할 수 있습니다.

9

document() 함수를 사용하여 다른 XML 문서에 액세스 할 수 있습니다. 예를 들면 다음과 같습니다.

<xsl:template match="reasonCode"> 
    <xsl:variable name="code" select="."/> 
    <xsl:value-of select="document('another.xml')//reasonText[@code = $code]"/> 
</xsl:template> 
+0

"another.xml"을 원본 문서의 값으로 대체 할 수도 있습니다. 속성 :'document (@href)'. – Boldewyn