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

Re: Missing nodes are ruining my sort !!!!

Subject: Re: Missing nodes are ruining my sort !!!!
From: "Rupert Howell" <Rupert.Howell@xxxxxxxxxxxxxx>
Date: Tue, 9 Dec 2003 13:17:16 +0000
rupert howell
Dear all.

I'm sorry if this a long-winded explanation of my problem - I have been
stuck on this for weeks and the answer isn't in any books or forums.
Its tricky to explain but here we go ....

I have some XML that is produced from a database and it looks something
like this.


<RESULTS>
<PRESENTATION>
  <AREAS>
     <AREA areaid='A'>London</AREA>
     <AREA areaid='B'>North East</AREA>
     <AREA areaid='C'>North West</AREA>
     <AREA areaid='D'>South East</AREA>
  </AREAS>
  <VARIABLES>
     <VARIABLE variableid='1'>Variable1</VARIABLE>
     <VARIABLE variableid='2'>Variable2</VARIABLE>
     <VARIABLE variableid='3'>Variable3</VARIABLE>
     <VARIABLE variableid='4'>Variable4</VARIABLE>
  </VARIABLES>
</PRESENTATION>

<DATA>
  <INSTANCE>
     <AREAID>A</AREAID>
     <VARIABLEID>1</VARIABLEID>
     <VALUE>100</VALUE>
  </INSTANCE>
  <INSTANCE>
     <AREAID>B</AREAID>
     <VARIABLEID>1</VARIABLEID>
     <VALUE>200</VALUE>
  </INSTANCE>
  <INSTANCE>
     <AREAID>D</AREAID>
     <VARIABLEID>1</VARIABLEID>
     <VALUE>300</VALUE>
  </INSTANCE>

  <INSTANCE>
     <AREAID>A</AREAID>
     <VARIABLEID>2</VARIABLEID>
     <VALUE>400</VALUE>
  </INSTANCE>
  <INSTANCE>
     <AREAID>B</AREAID>
     <VARIABLEID>2</VARIABLEID>
     <VALUE>500</VALUE>
  </INSTANCE>
  <INSTANCE>
     <AREAID>D</AREAID>
     <VARIABLEID>2</VARIABLEID>
     <VALUE>600</VALUE>
  </INSTANCE>

  <INSTANCE>
     <AREAID>A</AREAID>
     <VARIABLEID>3</VARIABLEID>
     <VALUE>700</VALUE>
  </INSTANCE>
  <INSTANCE>
     <AREAID>B</AREAID>
     <VARIABLEID>3</VARIABLEID>
     <VALUE>800</VALUE>
  </INSTANCE>
  <INSTANCE>
     <AREAID>D</AREAID>
     <VARIABLEID>3</VARIABLEID>
     <VALUE>900</VALUE>
  </INSTANCE>
</DATA>

</RESULTS>

The PRESENTATION node of the XML contains all the AREAS and VARIABLES that
MUST be placed in a table.
It must be noted that there is not neccessarily data instance node for each
corresponding area id. In which case you would
expect to see a blank cell.

I am therefore recursing through the PRESENTATION children nodes and
getting the actual values of $areaid and $variableid
then using  xpath
RESULTS/DATA/INSTANCE/AREAID[text()=$areaid]/../VARIABLEID[text()=$variableid]/../VALUE/textt()
 to
get the values.

So from this I am producing a table :

               Variable1      Variable2      Variable3

London           100          400         600
North East          200         500          800
North West
South East          300         600          900


This is working fine and by rigidly recursing through the presentation node
firs,t I am able to get the blank values.

The problem lies in sorting the table.
To sort the values I have to actually have to have the values selected. In
which case the sort works fine, but my blank row just disappears.

So basically my question is : -

How can I sort the //PRESENTATION/AREAS/AREA dependant on its value in
/DATA/INSTANCE/VALUE, and if the value is non existant,
still include it in the sort?

Any help would be hugely appreciated.

Rupert









For the latest data on the economy and society 
consult National Statistics at http://www.statistics.gov.uk

**********************************************************************
Please Note:  Incoming and outgoing email messages
are routinely monitored for compliance with our policy
on the use of electronic communications
**********************************************************************
Legal Disclaimer  :  Any views expressed by
the sender of this message are not necessarily
those of the Office for National Statistics
**********************************************************************

 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.