Pages

Sunday, July 18, 2010

Create List of Elements from a XML file

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

<xsl:stylesheetxmlns:xsl="http://www.w3.org/1999/XSL/Transform"version="2.0">

<xsl:templatematch="/">

<xsl:apply-templates/>

</xsl:template>

<xsl:templatematch="/">

<Doc>

<xsl:for-eachselect="//*">

<Xpath-Group>

<Xpath>

<xsl:for-eachselect="ancestor-or-self::node()[.]">

<xsl:iftest="name(.)!=''">

<xsl:text>/</xsl:text>

</xsl:if>

<xsl:value-ofselect="name(.)"/>

<xsl:variablename="attr" select="@*"/>

<xsl:iftest="$attr!=' '">

<xsl:for-each select="$attr">

<xsl:if

test="name(.)!='id' and name(.)!='language'and name(.)!='copyright' and name(.)!='eRights' and name(.)!='pRights' and name(.)!='colsep' and name(.)!='rowsep' and name(.)!='cols' and name(.)!='colnum' and name(.)!='colname' and name(.)!='creatorRole' and name(.)!='publ' and name(.)!='frame'">

<xsl:text>[@</xsl:text>

<xsl:value-ofselect="name(.)"/>

<xsl:text>='</xsl:text>

<xsl:value-of select="."/>

<xsl:text>']</xsl:text>

</xsl:if>

</xsl:for-each>

</xsl:if>

</xsl:for-each>

</Xpath>

</Xpath-Group>

</xsl:for-each>

</Doc>

</xsl:template>

</xsl:stylesheet>


No comments: