0
나는 소스 XML 다음 한 나무와 노드를 대체 내가 다음에 변환하기 위해 노력하고있어XSLT는 -
<forms>
<x>
<y>
<x-component select="foobar" />
</y>
</x>
<component name="foobar">
<some>
<component>
<value>text</value>
</component>
</some>
</component>
</forms>
:
이<?xml version="1.0" encoding="UTF-8"?>
<forms>
<x>
<y>
<component name="foobar">
<some>
<component>
<value>text</value>
</component>
</some>
</component>
</y>
</x>
</forms>
내 XSL 파일이
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:template match="x-component">
<yoba>
<xsl:attribute name="z">
<xsl:value-of select="@select"/>
</xsl:attribute>
<xsl:apply-templates select="/forms/component[@[email protected]]/*" />
</yoba>
</xsl:template>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/">
<xsl:apply-templates select="*"/>
</xsl:template>
</xsl:stylesheet>
입니다
현재 n의 select
속성 값을 전달하려면 어떻게해야합니까? 이 줄에 대한 ode (자리 표시 자 대신) :
<xsl:apply-templates select="/forms/component[@name=<PLACEHOLDER>]/*" />
XSLT는 예상 출력에없는 ** yoba ** 요소를 출력합니다. 이 올바른지? –
그게 디버깅을위한, yoba와 출력을 가지고 있지만 yoba 내부의 xsl : apply-templates가 렌더링되지 않았습니다 – Kerb