<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml"
doctype-system="employees.dtd"
encoding="ISO-8859-1"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<xsl:apply-templates select="document"/>
</xsl:template>
<xsl:template match="document">
<employees>
<xsl:for-each select="row">
<xsl:apply-templates select="."/>
</xsl:for-each>
</employees>
</xsl:template>
<xsl:template match="row">
<xsl:text>
</xsl:text>
<xsl:element name="employee">
<xsl:attribute name="sex">
<xsl:value-of select="column10"/>
</xsl:attribute>
<xsl:text>
</xsl:text>
<serial_number>
<xsl:value-of select="column1"/>
</serial_number>
<xsl:text>
</xsl:text>
<name>
<xsl:text>
</xsl:text>
<first_name>
<xsl:value-of select="column2"/>
</first_name>
<xsl:text>
</xsl:text>
<middle_initial>
<xsl:value-of select="column3"/>
</middle_initial>
<xsl:text>
</xsl:text>
<last_name>
<xsl:value-of select="column4"/>
</last_name>
<xsl:text>
</xsl:text>
</name>
<xsl:text>
</xsl:text>
<department>
<xsl:value-of select="column5"/>
</department>
<xsl:text>
</xsl:text>
<phone>
<xsl:value-of select="column6"/>
</phone>
<xsl:text>
</xsl:text>
<xsl:element name="date_of_hire">
<xsl:attribute name="year">
<xsl:value-of select="substring(column7, 1, 4)"/>
</xsl:attribute>
<xsl:attribute name="month">
<xsl:value-of select="substring(column7, 5, 2)"/>
</xsl:attribute>
<xsl:attribute name="day">
<xsl:value-of select="substring(column7, 7, 2)"/>
</xsl:attribute>
</xsl:element>
<xsl:text>
</xsl:text>
<job_title>
<xsl:value-of select="column8"/>
</job_title>
<xsl:text>
</xsl:text>
<years_of_education>
<xsl:value-of select="column9"/>
</years_of_education>
<xsl:text>
</xsl:text>
<xsl:element name="date_of_birth">
<xsl:attribute name="year">
<xsl:value-of select="substring(column11, 1, 4)"/>
</xsl:attribute>
<xsl:attribute name="month">
<xsl:value-of select="substring(column11, 5, 2)"/>
</xsl:attribute>
<xsl:attribute name="day">
<xsl:value-of select="substring(column11, 7, 2)"/>
</xsl:attribute>
</xsl:element>
<xsl:text>
</xsl:text>
<salary>
<xsl:value-of select="column12"/>
</salary>
<xsl:text>
</xsl:text>
<bonus>
<xsl:value-of select="column13"/>
</bonus>
<xsl:text>
</xsl:text>
<commission>
<xsl:value-of select="column14"/>
</commission>
<xsl:text>
</xsl:text>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
|