File: Data.xml
<?xml version="1.0"?>
<Characters>
<Character age="1">Character 1</Character>
<Character age="2">Character 2</Character>
<Character age="3">Character 3</Character>
<Character age="4">Character 4</Character>
<Character age="5">Character 5</Character>
</Characters>
File: Transform.xslt
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.java2java.com"
xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
version="1.0">
<xsl:output method="xml"/>
<xsl:template match="*">
<xsl:element name="{name(.)}">
<xsl:for-each select="@*">
<xsl:if test="(name(.) != 'minOccurs') and (name(.) != 'maxOccurs')">
<xsl:attribute name="{name(.)}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:if>
</xsl:for-each>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
Output:
<?xml version="1.0" encoding="UTF-8"?><Characters xmlns="http://www.java2java.com">
<Character age="1">Character 1</Character>
<Character age="2">Character 2</Character>
<Character age="3">Character 3</Character>
<Character age="4">Character 4</Character>
<Character age="5">Character 5</Character>
</Characters>
|