Combining Data-Driven and Template-Driven Transformations

MSXML 5.0 SDK

Microsoft XML Core Services (MSXML) 5.0 for Microsoft Office - XSLT Developer's Guide

Combining Data-Driven and Template-Driven Transformations

In practice, it might be most effective to combine data-driven transformations with template-driven ones. The following is an example.

<xsl:template match="/">
  <HTML>
    <HEAD>
      <TITLE><xsl:value-of select="document/title"/></TITLE>
    </HEAD>
    <BODY>
      <H1><xsl:value-of select="document/title"/></H1>
      <xsl:apply-templates select="document/section"/>
    </BODY>
  </HTML>
</xsl:template>

Here, the template rules for the top-level element are template-driven. They stipulate that, in the output, the title of the document always precedes the sections of the document — even when the order is different in the source document. The data-driven transformations apply only to the sections of the source document.

The following topic provides the complete source files and output for this example.