2009-12-07 28 views

Antwort

12
  • xsl:copy-of ist eine exakte Kopie des XML-Elements angepasst Eingabe. Es findet keine xslt-Verarbeitung statt und die Ausgabe von diesem Element ist genau die gleiche wie die Eingabe.

  • xsl:apply-templates weist die XSLT-Engine an, die Vorlagen zu verarbeiten, die den ausgewählten Elementen entsprechen. xsl:apply-templates gibt xslt seine überschreibende Fähigkeit, da die Vorlagen, die Sie mit Match-on-Elementen erstellen, unterschiedliche Prioritäten haben können und die Vorlage mit der höchsten Priorität ausgeführt wird.

Input:

<a> 
    <b>asdf</b> 
    <b title="asdf">asdf</b> 
</a> 

Xslt 1:

<xsl:stylesheet ... > 
    <xsl:template match="a"> 
     <xsl:copy-of select="b" /> 
    </xsl:template> 
</xsl:stylesheet> 

XML-Ausgabe 1:

<b>asdf</b> 
<b title="asdf">asdf</b> 

Xslt 2:

<xsl:stylesheet ... > 
    <xsl:template match="a"> 
     <xsl:apply-templates select="b" /> 
    </xsl:template> 

    <xsl:template match="b" priority="0"> 
     <b><xsl:value-of select="." /></b> 
     <c><xsl:value-of select="." /></c> 
    </xsl:template> 

    <xsl:template match="b[@title='asdf']" priority="1"> 
     <b title="{@title}"><xsl:value-of select="@title" /></b> 
    </xsl:template> 
</xsl:stylesheet> 

XML-Ausgabe 2:

<b>asdf</b> 
<c>asdf</c> 
<b title="asdf">asdf</b> 
7
copy-of 

einfach zurückkehren Sie einen Dump des XML in der mitgelieferten Knoten-Set

apply-templates 

auf der anderen Seite werden alle Vorlagen gelten für die Knotenmenge es übergeben.

Verwandte Themen