xsl-list
[Top] [All Lists]

Re: doubt

2005-04-07 04:39:19

Hello,

My doubt is, Is is possible that we can retrieve one particular tag value according to the correctid even though the tag has the same name ?

Regards,
Uma
On Thu, 7 Apr 2005, jithendarl wrote:

Hi,
   Here is a sample program that may help you how to use the
conditional statements in XSLT.

INPUT:


<?xml version="1.0" encoding="UTF-8"?>
<root>
<question  correctid="3" Qno="370" >
   <stmt1 mgif1="" mgif="" misc="" >Kepler's first law of planetary
motion  is also called </stmt1>
   <stmt2 mgif1="" mgif="" misc="" />
   <opt mgif1="" mgif="" voiceover="" >law of periods</opt>
   <opt mgif1="" mgif="" voiceover="" >law of areas</opt>
   <opt mgif1="" mgif="" voiceover="" >law of orbits</opt>
   <opt mgif1="" mgif="" voiceover="" >law of distances</opt>
  </question>
<question  correctid="4" Qno="370" >
   <stmt1 mgif1="" mgif="" misc="" >Kepler's first law of planetary
motion  is also called </stmt1>
   <stmt2 mgif1="" mgif="" misc="" />
   <opt mgif1="" mgif="" voiceover="" >law of periods</opt>
   <opt mgif1="" mgif="" voiceover="" >law of areas</opt>
   <opt mgif1="" mgif="" voiceover="" >law of orbits</opt>
   <opt mgif1="" mgif="" voiceover="" >law of distances</opt>
  </question>
</root>


XSL FILE::

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
        <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
        <xsl:template match="/">
                <xsl:apply-templates/>
        </xsl:template>
        <xsl:template match="*|@*|comment()|processing-instruction()|text()">
                <xsl:copy>
                        <xsl:apply-templates
select="*|@*|comment()|processing-instruction()|text()"/>
                </xsl:copy>
        </xsl:template>
        <xsl:template match="root">
                <xsl:element name="{name()}">
                        <xsl:apply-templates select="question"/>
                </xsl:element>
        </xsl:template>
        <xsl:template match="question">
                <xsl:variable name="id" select="@correctid"/>
                <xsl:element name="{name()}">
                        <xsl:for-each select="@*">
                                <xsl:copy/>
                        </xsl:for-each>
                        <xsl:for-each select="child::*">
                                <xsl:if test="$id='3'">
                                        <xsl:element name="blue">
                                                <xsl:copy>
                                                        <xsl:apply-templates
select="*|@*|text()|comment()|processing-instruction()"/>
                                                </xsl:copy>
                                        </xsl:element>
                                </xsl:if>
                                <xsl:if test="$id='4'">
                                        <xsl:element name="red">
                                                <xsl:copy>
                                                        <xsl:apply-templates
select="*|@*|text()|comment()|processing-instruction()"/>
                                                </xsl:copy>
                                        </xsl:element>
                                </xsl:if>
                        </xsl:for-each>
                </xsl:element>
        </xsl:template>
</xsl:stylesheet>


output file::

<?xml version="1.0" encoding="UTF-8"?>
<root>
        <question correctid="3" Qno="370">
                <blue>
                        <stmt1 mgif1="" mgif="" misc="">Kepler's first law of 
planetary
motion  is also called </stmt1>
                </blue>
                <blue>
                        <stmt2 mgif1="" mgif="" misc=""/>
                </blue>
                <blue>
                        <opt mgif1="" mgif="" voiceover="">law of periods</opt>
                </blue>
                <blue>
                        <opt mgif1="" mgif="" voiceover="">law of areas</opt>
                </blue>
                <blue>
                        <opt mgif1="" mgif="" voiceover="">law of orbits</opt>
                </blue>
                <blue>
                        <opt mgif1="" mgif="" voiceover="">law of 
distances</opt>
                </blue>
        </question>
        <question correctid="4" Qno="370">
                <red>
                        <stmt1 mgif1="" mgif="" misc="">Kepler's first law of 
planetary
motion  is also called </stmt1>
                </red>
                <red>
                        <stmt2 mgif1="" mgif="" misc=""/>
                </red>
                <red>
                        <opt mgif1="" mgif="" voiceover="">law of periods</opt>
                </red>
                <red>
                        <opt mgif1="" mgif="" voiceover="">law of areas</opt>
                </red>
                <red>
                        <opt mgif1="" mgif="" voiceover="">law of orbits</opt>
                </red>
                <red>
                        <opt mgif1="" mgif="" voiceover="">law of 
distances</opt>
                </red>
        </question>
</root>

On Apr 7, 2005 2:13 PM, T UmaShankari 
<umashankari(_at_)lantana(_dot_)tenet(_dot_)res(_dot_)in> wrote:
> > > Hello, > > I am having the xml file in this format. > > <question correctid="3" Qno="370" >
>    <stmt1 mgif1="" mgif="" misc="" >Kepler's first law of planetary motion  is also 
called </stmt1>
>    <stmt2 mgif1="" mgif="" misc="" />
>    <opt mgif1="" mgif="" voiceover="" >law of periods</opt>
>    <opt mgif1="" mgif="" voiceover="" >law of areas</opt>
>    <opt mgif1="" mgif="" voiceover="" >law of orbits</opt>
>    <opt mgif1="" mgif="" voiceover="" >law of distances</opt>
>   </question>
> > For example, If the correct id number value is 3 the law of orbits value
> should appear in different color. so according the correct id the color of
> the option should get changed. Is it possible to do ?
> > Regards,
> Uma
> > --~------------------------------------------------------------------
> 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>
> --~--
> >

--~------------------------------------------------------------------
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>
--~--


--
--
A BEST FRIEND is like a four leaf clover,
 HARD TO FIND and LUCKY TO HAVE.




--~------------------------------------------------------------------
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>