Skip to Content
Building Oracle XML Applications
book

Building Oracle XML Applications

by Steve Muench
October 2000
Intermediate to advanced
812 pages
21h 21m
English
O'Reilly Media, Inc.
Content preview from Building Oracle XML Applications

Sorting and Grouping Repeating Data with XSLT

If you do not have the luxury of controlling the SQL statement producing the XML information you are working with, XSLT 1.0 can be used to sort and group any information in an XML document. The <xsl:sort> action allows you to sort your node lists—either selected by <xsl:for-each> or matched through <xsl:apply-templates> —based on any string or number values that they contain. However, such a claim cannot be made for grouping repeating information. In short, there is no <xsl:group> action that provides this capacity.

Sorting on Element or Attribute Values

The <xsl:sort> action allows you to sort by string or number values as a part of your transformation. Let’s look at some examples of how you can put this action to use. Suppose we have a simple shopping list document like this:

<!-- ShoppingList.xml -->
<list>
  <item maker="Friendly Foods">
    <name>Granola Crust Pizza</name>
    <price>11.99</price>
  </item>
  <item maker="Ammondale Farms">
    <name>Yogurt</name>
    <price>1.00</price>
  </item>
  <item maker="Ammondale Farms">
    <name>ChocoFlakes</name>
    <price>3.49</price>
  </item>
</list>

We can create a stylesheet to transform the shopping list into an equivalent structure ordered by the name of the items. To use <xsl:sort>, you include it as a child element of either <xsl:apply-templates> or <xsl:for-each>. The following SortByName.xsl stylesheet illustrates using <xsl:sort> with <xsl:apply-templates> to cause the XSLT processor to process the <item> ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Oracle Database 11g Building Oracle XML DB Applications

Oracle Database 11g Building Oracle XML DB Applications

Jinyu Wang
Querying XML

Querying XML

Jim Melton, Stephen Buxton
XML Data Management: Native XML and XML-Enabled Database Systems

XML Data Management: Native XML and XML-Enabled Database Systems

Akmal B. Chaudhri, Awais Rashid, Roberto Zicari

Publisher Resources

ISBN: 1565926919Catalog PageErrata