xsl:variable
의 "단계"에 대해 잘 모릅니다. 아무도 "단계"를 설명 할 수 있다면 고맙겠습니다.xsl : variable에 <step>의 의미는 무엇입니까?
다음 XSLT는 루트 요소에 2 개의 요소 만 포함합니다.
xsl:output
출력 형식을 정의하십시오. xsl:variable
변수를 정의하십시오.
어떻게이 코드를 구문 분석합니까? 이 코드는 무엇을 의미합니까?
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:saxon="http://saxon.sf.net/"
version="2.0"
extension-element-prefixes="saxon">
<xsl:output method="html" omit-xml-declaration="yes"
encoding="utf-8" indent="no"/>
<!-- <xsl:output method="xml" omit-xml-declaration="no"
encoding="utf-8" indent="no"/> -->
<xsl:variable name="processes">
<!-- exclude elements with @specific-use='print-only' -->
<step>prep/jpub3-webfilter.xsl</step>
<!-- format citations in NLM/PMC format -->
<step>citations-prep/jpub3-PMCcit.xsl</step>
<!-- convert into HTML for display -->
<step>main/jpub3-html.xsl</step>
</xsl:variable>
<xsl:include href="main/shell-utility.xsl"/>
</xsl:stylesheet>
보충 "쉘 utility.xsl는"
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:saxon="http://saxon.sf.net/"
version="2.0"
extension-element-prefixes="saxon">
<!-- This stylesheet does not stand alone! It is a component
to be called into XSLT 2.0 shell stylesheets. -->
<xsl:variable name="document" select="/" saxon:assignable="yes"/>
<xsl:param name="runtime-params">
<base-dir>
<xsl:value-of
select="replace(base-uri(/), '/[^/]+$','')"/>
</base-dir>
</xsl:param>
<xsl:template match="/">
<xsl:for-each select="$processes/step/concat('../',.)">
<xsl:message>
<xsl:text>
... Applying </xsl:text>
<xsl:value-of select="."/>
</xsl:message>
<saxon:assign name="document"
select="saxon:transform(
saxon:compile-stylesheet(doc(.)),
$document,
$runtime-params/*)"/>
<!-- A third argument to saxon:transform could specify
runtime parameters for any (or all) steps -->
</xsl:for-each>
<xsl:sequence select="$document"/>
<xsl:message>
... Done</xsl:message>
</xsl:template>
</xsl:stylesheet>
XSLT2 변수는 매우 일반적이며 XML 노드 목록/트리 단편을 포함 할 수 있습니다. –