0
여기 내 변환을위한 XSL입니다. XSL : 일치하는 템플릿이 작동하지 않습니다.
이
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes" />
<xsl:strip-space elements="*" />
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="EL3">
<te>ABC</te>
</xsl:template>
내가 변환하고 싶은 소스 - XML이다.
이
<EL1 xmlns="http://anyurl.com" language="2">
<EL2>
<set1>
<value1>12</value1>
<value2>34</value2>
<value3>45</value3>
</set1>
</EL2>
<EL2>
<set1>
<value1>AB</value1>
<value2>CD</value2>
<value3>EF</value3>
<EL3>
<value1>AB</value1>
<value2>CD</value2>
<value3>EF</value3>
</EL3>
</set1>
</EL2>
는 변환 후 대상-XML이다.
<EL1 xmlns="http://anyurl.com" language="2">
<EL2>
<set1>
<value1>12</value1>
<value2>34</value2>
<value3>45</value3>
</set1>
</EL2>
<EL2>
<set1>
<value1>AB</value1>
<value2>CD</value2>
<value3>EF</value3>
<EL3>
<value1>AB</value1>
<value2>CD</value2>
<value3>EF</value3>
</EL3>
</set1>
</EL2>
매칭
네임 스페이스의 관계에서 작동하지 않습니다. Source-XML에서 xmlns = "http://anyurl.com"을 지우면 원하는 결과를 얻습니다. 문제는 외부 시스템에서 Source-XML을 가져와 이전에 Source-XML을 변경할 수 없다는 것입니다. 이런 결과를 기다리고있는 XSL을 어떻게 편집 할 수 있습니까? 색슨 (9)와 같은 XSLT 2.0 프로세서를 가정<EL1 language="2">
<EL2>
<set1>
<value1>12</value1>
<value2>34</value2>
<value3>45</value3>
</set1>
</EL2>
<EL2>
<set1>
<value1>AB</value1>
<value2>CD</value2>
<value3>EF</value3>
<te>ABC</te>
</set1>
</EL2>
</EL1>
많은 감사합니다. 이것은 나를 위해 작동하고 내 문제가 해결되었습니다. 완전한! – user3123034