select="document(@location)" : document « XSLT stylesheet « XML Tutorial






File: Data.xml

<?xml version="1.0" encoding="UTF-8"?>

<volume name="Old Testament">
  <book name="Java">
    <chapter location="Java1.xml" />
    <chapter location="Java2.xml" />
    <chapter location="Java3.xml" />
    <chapter location="Java4.xml" />
  </book>
</volume>

File: Transform.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" />

  <xsl:template match="volume">
    <xsl:copy>
      <xsl:attribute name="name"><xsl:value-of select="@name" />
      </xsl:attribute>
      <xsl:apply-templates select="book" />
    </xsl:copy>
  </xsl:template>

  <xsl:template match="book">
    <xsl:copy>
      <xsl:attribute name="name"><xsl:value-of select="@name" />
      </xsl:attribute>
      <xsl:apply-templates select="chapter" />
    </xsl:copy>
  </xsl:template>

  <xsl:template match="chapter">
    <xsl:copy-of select="document(@location)" />
  </xsl:template>

</xsl:stylesheet>

Output:

<?xml version="1.0" encoding="UTF-8"?>
<volume name="Old Testament">
   <book name="Java"/>
</volume>








5.49.document
5.49.1.Use document to load an XML file
5.49.2.select="document(@location)"
5.49.3.select=document(capitals.xml)/capitals
5.49.4.select all document