Я новичок в кодирование XSL, здесь я пытаюсь взять весь блок (результата) узлов и размещение внутри другого узла под названием РЕЗУЛЬТАТОВ ... Ниже мой xml и xsl.скопировать весь блок под другим узел - преобразования XSLT
Но это не преобразование XML, как ожидалось ...
Может кто-нибудь мне помочь, когда я делаю это неправильно?
XML
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="samplexslt.xsl"?>
<report>
<Header>
<RegNo>123</RegNo>
<EmrNo>op2145</EmrNo>
<BillNo>opcb1234-12</BillNo>
<Uhid>1209</Uhid>
<AdmissionDate>13-Jan-2014</AdmissionDate>
</Header>
<result>
<name>test1</name>
<desc1>abcdefghijklmnopqrstuvwxyz</desc1>
<desc2>description</desc2>
</result>
<result>
<name>test2</name>
<desc1>abcdefghijklmnopqrstuvwxyz</desc1>
</result>
<Footer>
<DoctorSign>Anand</DoctorSign>
</Footer>
</report>
XSLT
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="/report">
<xsl:copy>
<xsl:apply-templates select="@*|node()[local-name() != 'result']"/>
</xsl:copy>
<notes>
<xsl:apply-templates select="result" />
</notes>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Ожидаемое
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="samplexslt.xsl"?>
<report>
<Header>
<RegNo>123</RegNo>
<EmrNo>op2145</EmrNo>
<BillNo>opcb1234-12</BillNo>
<Uhid>1209</Uhid>
<AdmissionDate>13-Jan-2014</AdmissionDate>
</Header>
<results>
<result>
<name>test1</name>
<desc1>abcdefghijklmnopqrstuvwxyz</desc1>
<desc2>description</desc2>
</result>
<result>
<name>test2</name>
<desc1>abcdefghijklmnopqrstuvwxyz</desc1>
</result>
</results>
<Footer>
<DoctorSign>Anand</DoctorSign>
</Footer>
</report>
Зачем стоит отмечать 'XSLT 2.0'? Ваша таблица стилей объявляет 'version =" 1.0 "'. –