Subject: [xsl] keys and variables VIII From: Steve <subsume@xxxxxxxxx> Date: Wed, 2 Aug 2006 13:41:50 -0400 |
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.
<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>
<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> <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* -------
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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re[4]: [xsl] Highlighting words/phr, Cindy Girard | Thread | Re: [xsl] keys and variables VIII, G. Ken Holman |
Re[2]: [xsl] Highlighting words/phr, Cindy Girard | Date | Re: [xsl] For-each and keys(), Dimitre Novatchev |
Month |