[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Sorting XML Elements alphabetically

Subject: RE: Sorting XML Elements alphabetically
From: "Peter Loh Yoon Chao" <yoonchao@xxxxxxxxxxxxxx>
Date: Sat, 14 Feb 2004 19:01:17 +0800
sort xml element
Hi Michael,

> > Thanks for your suggestions.  Michael, the following
> > variation of your suggestion came close to giving me the
> > desired result.
> >
> > <xsl:template match="@* | node()">
> >  <xsl:copy>
> >  <xsl:apply-templates select="@* | node()">
> >    <xsl:sort select="name()"/>
> >  </xsl:apply-templates>
> >  </xsl:copy>
> > </xsl:template>
> >
> > However, there are 2 problems:
> > 1.)  It breaks when there are attributes in the source document, e.g.
>
> Why did you change my code, which didn't have this problem?

In your code, <xsl:copy> was not closed by a matching </xsl:copy>.  I
guessed that you had wanted an empty element.  With that I got the following
output, which is not well-formed XML:

<school/><student/><age/><gender/><name/><teacher/><name/><subject/>

I took another stab and placed </xsl:copy> after </xsl:apply-templates> and
got the following output, which was sorted but did not contain any data:

<school><student><age/><gender/><name/></student><teacher><name/><subject/><
/teacher></school>

Since you mentioned identity template, I searched around the web for
examples and added the sort at what I thought to be an appropriate location.
I only tried putting attributes after getting some decent result from this.

> > 2.)  The formatting in the output is all out of whack, losing
> > its original identation and has extra blank lines, like the following:
> >
>
> Use xsl:strip-space.

Do I use this as an empty element?  I tried this and also enclosing
appropriate sections of my code with this, but the stylesheet processor
complained each time that:

javax.xml.transform.TransformerException: xsl:strip-space is not allowed in
this
 position in the stylesheet!

When used appropriately, would this give me the original proper identation
(which is the goal)?  Would appreciate your input.  Thanks.

Peter


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.