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

keys and variables VIII

Subject: keys and variables VIII
From: Steve <subsume@xxxxxxxxx>
Date: Wed, 2 Aug 2006 13:41:50 -0400
option and variables
Hello list,

Having some difficulty with output. Perhaps someone can shed some
light as to why.

I am scoring for output that looks like: ==>
      <tr><td>Cognitive</td><td>50</td></tr>
      <tr><td>Physical</td><td>50</td></tr>
      <tr><td>Hearing</td><td>46</td></tr>
      <tr><td>Mental</td><td>50</td></tr>
      <tr><td>None</td><td>23</td></tr>

The number above indicates the amount of times a disability with an
oldID corresponding to the type in the first <td></td> appears in the
whole of /Record/Record

The existing problem output is at the bottom of this post for
readability purposes.

I've played around with this for hours but cannot get the output I
need. In other threads some suggested a two key nested solution but
I'm not sure if it is neccesary here.

Here's my code (tested and parsing) ==>

<xsl:variable name="Definitions" select="document('../../Disab.xml')" />
<xsl:variable name="vP2" select="document('../../Records.xml')" />
<xsl:key name="options" match="option" use="@type" />
<xsl:key name="oldID" match="option" use="@oldID" />

<xsl:template match="Record" mode="x">
	<xsl:param name="type" />
	<tr><td>
	        	<xsl:value-of select="$type" />
		</td>
                <td>
   	                <xsl:variable name="current" select="disabPrimary" />
       	        <xsl:for-each select="$Definitions">
       			<xsl:value-of select="count(key('oldID',$current))" />
              		</xsl:for-each>
   	</td></tr>
</xsl:template>

<xsl:template match="/" >
	<xsl:for-each select="$Definitions/disabilities/option[generate-id(.)=generate-id(key('options',@type)[1])]">
		<xsl:sort select="@type"/>
		<xsl:apply-templates mode="x" select="$vP2/Records/Record">
			<xsl:with-param name="type" select="@type" />
		</xsl:apply-templates>
	</xsl:for-each>
</xsl:template>

Disab.xml ==>

<disabilities>
      <option oldID="204" type="Cognitive" name="Alzheimer's/Dementia"/>
      <option oldID="407" type="Physical" name="Amputation"/>
      <option oldID="405" type="Physical" name="Arthritic Conditions"/>
      <option oldID="301" type="Cognitive" name="Autism"/>
      <option oldID="100" type="Visual" name="Blind"/>
      <option type="Physical" name="Blood disorders" />
      <option oldID="413" type="Physical" name="Cancer"/>
      <option oldID="400" type="Cognitive" name="Cerebral Palsy"/>
      <option oldID="410" type="Physical" name="Chronic Fatigue Syndrome"/>
      <option oldID="305" type="Cognitive" name="Cognitive-Other"/>
      <option type="Physical" name="Cystic Fibrosis"/>
      <option oldID="101" type="Hearing" name="Deaf"/>
      <option oldID="302" type="Cognitive" name="Developmental/Mental
Retardation"/>
      <option oldID="414" type="Physical" name="Diabetes"/>
      <option oldID="411" type="Physical" name="Epilepsy/Seizure Dis."/>
      <option type="Physical" name="Fibromyalgia"/>
      <option oldID="101" type="Hearing" name="Hard of Hearing"/>
      <option oldID="415" type="Physical" name="Heart Disease" />
      <option type="Physical" name="Hepatitus"/>
      <option oldID="416" type="Physical" name="HIV/AIDS"/>
      <option type="Physical" name="Kidney disorder/renal failure"/>
      <option oldID="300" type="Cognitive" name="Learning Disabilities">
      <option oldID="" type="Physical" name="Lung
disease/disorders/conditions" />
      <option oldID="202" type="Mental" name="Mental Health-Other"/>
      <option oldID="200" type="Mental" name="Mental Illness/Emot.Dis"/>
      <option oldID="418" type="Physical" name="Morbid Obesity"/>
      <option oldID="417" type="Physical" name="Multiple Chemical Sensitive"/>
      <option oldID="420" type="Multiple" name="Multiple Disability"/>
      <option oldID="403" type="Physical" name="Multiple Sclerosis"/>
      <option oldID="402" type="Physical" name="Muscular Dystophy"/>
      <option oldID="412" type="Physical" name="Neurological-Other"/>
      <option oldID="500" type="None" name="None"/>
      <option oldID="406" type="Physical" name="Orthopedic-Other"/>
      <option oldID="419" type="Physical" name="Physical-Other"/>
      <option oldID="410" type="Physical" name="Post-Polio"/>
      <option oldID="404" type="Physical" name="Spinal Cord Disorders" />
      <option oldID="404" type="Physical" name="Spinal Cord Injuries" />
      <option oldID="409" type="Physical" name="Stroke/Cardiovascular"/>
      <option oldID="201" type="Mental" name="Substance Abuse/Addiction"/>
      <option oldID="303" type="Cognitive" name="Traumatic Brain Injury" />
      <option oldID="" type="Visual" name="Visually Impaired"/>
</disabilities>

Records.xml ==>

<Records>
      <Record>
              <disabPrimary>200</disabPrimary>
      </Record>
      <Record>
              <disabPrimary>407</disabPrimary>
      </Record>
      <Record>
              <disabPrimary>419</disabPrimary>
      </Record>
      <Record>
              <disabPrimary>101</disabPrimary>
      </Record>
      <Record>
              <disabPrimary>101</disabPrimary>
      /Record>
      <Record>
              <disabPrimary>101</disabPrimary>
      </Record>
      <Record>
              <disabPrimary>101</disabPrimary>
      </Record>
      <Record>
              <disabPrimary>200</disabPrimary>
      </Record>
      <Record>
              <disabPrimary>101</disabPrimary>
      </Record>
   *and so on for hundreds*
-------

Right now I'm getting

Cognitive 	1
Cognitive 	2
Cognitive 	1
Cognitive 	2
Cognitive 	2
Cognitive 	1
Cognitive 	2
Cognitive 	2
Cognitive 	2
*and so on and so forth for many many many dozen lines.*

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

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

Buy Stylus Studio Now

Cast Your Vote

We need your help – Vote for DataDirect XML Products!

  • Best SOA or XML site

Winners and finalists announced at SOA World Conference in November.

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-2007 All Rights Reserved.