xsl-list
[Top] [All Lists]

Conditional selecting

2004-12-13 10:20:33
Greetings,

Here is my XML document:

        <record type="EA0">
                <field_no>46</field_no>
                <starting_position>267</starting_position>
                <length>8</length>
                <justification>L</justification>
                <content></content>
                <default_value></default_value>
                <data_type>text</data_type>
        </record>
        <record type="EA0">
                <field_no>47</field_no>
                <starting_position>275</starting_position>
                <length>8</length>
                <justification>L</justification>
                <content>CLM_CR_DT</content>
                <default_value></default_value>
                <data_type>date2</data_type>
        </record>
        <record>
                <record type="EA0">
                <field_no>47</field_no>
                <plan_id>CHNCT</plan_id>
                <starting_position>275</starting_position>
                <length>8</length>
                <justification>L</justification>
                <content>claim_paid_date</content>
                <default_value></default_value>
                <data_type>date2</data_type>
        </record>       
        <record type="EA0">
                <field_no>48</field_no>
                <starting_position>283</starting_position>
                <length>1</length>
                <justification>L</justification>
                <content></content>
                <default_value></default_value>
                <data_type>text</data_type>
        </record>


Here is a snip of the XSL stylesheet that uses this :

        <xsl:apply-templates select="$field_definitions/*[(_at_)type = 'EA0']">
                
                        <!-- number() makes sure we process field_no as a
number and not a string, otherwise 11 comes before 9 ;) -->
                        <xsl:sort select="number(field_no)"
order="ascending"/>
                
                        <xsl:with-param name="current_context" select="."/>
                                                
        </xsl:apply-templates>


I select those records that match the "EA0" record type and then sort them
according to field_no.  

My question is in regards to field_no 47.  What I want to do is select the
record IF there is a plan_id instead of the record without a plan id.  Not
all records will have a plan id.  

So if there is a child element of the record node that has a value in the
plan_id field then use that record number instead of the record with the
same number that DOES NOT have the plan_id.


Thanks in advance,
Jim Neff



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>