Subject: Re: [xsl] Want to use XSLT to sort an XML Schema From: "Joe Fawcett" <joefawcett@xxxxxxxxxxx> Date: Fri, 15 Feb 2008 15:57:48 -0000 |
------------------------------------------------- From: "Glen Mazza" <glen.mazza@xxxxxxxxx> Sent: Friday, February 15, 2008 3:49 PM To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Subject: [xsl] Want to use XSLT to sort an XML Schema
Hello,Elements such as import are in the schema namespace, http://www.w3.org/2001/XMLSchema. So you need to declare this in your XSLT:
I have a huge XML Schema file consisting of xs:imports, xs:simpleTypes, and xs:complexTypes. It is out of alphabetical order, making it very difficult to quickly find definitions of needed types. Also, the simpleTypes are interspersed with the complexTypes, and I would like to keep them separated as well.
I would like to use XSLT to sort the document, first by imports, then by simpleTypes, and then by complexTypes, and for each the three groups, to have them sorted alphabetically.
As for the stylesheet, this is the best I can come up with:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="schema">
<xsl:for-each select="./import"> <xsl:sort select="@namespace"/> <xsl:apply-templates select="."/> </xsl:for-each>
<xsl:for-each select="./simpleType"> <xsl:sort select="@name"/> <xsl:apply-templates select="."/> </xsl:for-each>
<xsl:for-each select="./complexType"> <xsl:sort select="@name"/> <xsl:apply-templates select="."/> </xsl:for-each>
</xsl:template>
<xsl:template match="import"> <xsl:copy-of select="."/> </xsl:template>
<xsl:template match="simpleType"> <xsl:copy-of select="."/> </xsl:template>
<xsl:template match="complexType"> <xsl:copy-of select="."/> </xsl:template>
</xsl:stylesheet>
And it's resulting in a huge blank file. Oh well. Does anyone know what I'm missing here to get this to work? Also, I'm not really handling namespaces here, i.e., the elements are actually called xs:import, xs:simpleType, etc. What (if anything) do I need to do to take care of the namespaces as well?
Thanks, Glen
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Want to use XSLT to sort , Michael Kay | Thread | Re: [xsl] Want to use XSLT to sort , Florent Georges |
RE: [xsl] Want to use XSLT to sort , Michael Kay | Date | Re: [xsl] Want to use XSLT to sort , Florent Georges |
Month |