Example 6-37: Stylesheet turns ROWSET/ROW into a specific XML vocabulary

<!-- Enrollment.xsl -->
<xsl:stylesheet version="1.0" exclude-result-prefixes="date"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:date="http://www.oracle.com/XSL/Transform/java/java.util.Date">
  <xsl:output indent="yes" doctype-system="Enrollment.dtd"/>
  <xsl:param name="School"/>
  <xsl:template match="/">
    <enrollment institution-id="{$School}" date = "{date:toString(date:new())}">
      <xsl:for-each select="courses/row">
        <class id = "{course}">
          <xsl:for-each select="students/students_row">
            <attendee>
              <first-name><xsl:value-of select="name"/></first-name>
              <age><xsl:value-of select="age"/></age>
            </attendee>
          </xsl:for-each>
        </class>
      </xsl:for-each>
    </enrollment>
  </xsl:template>
</xsl:stylesheet>