Subject: RE: [xsl] how to match true and false and display yes and no instead? From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Wed, 27 Jul 2005 20:13:10 +0100 |
Another way do this: <xsl:template match="members/profile/married"> <xsl:if test=".='false'">no</xsl:if> <xsl:if test=".='true'">yes</xsl:if> </xsl:template> is this: <xsl:template match="members/profile/married[.='false']">no</xsl:template> <xsl:template match="members/profile/married[.='true']">yes</xsl:template> Also, the members/profile/ qualifier is probably redundant. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Christian Rasmussen [mailto:byggemandbob@xxxxxxxxx] > Sent: 27 July 2005 18:49 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: [xsl] how to match true and false and display > yes and no instead? > > Of course you are right... I was too fast making a sample xml. The > real xml-file I'm working on is too complex to post here, so its > better with a sample. > > However, I've made a better sample and actually now it works: Here's > the solution: > > do you have any comments to this? > thank-you for respons anyway... > > XML-FILE: > ======= > <?xml version="1.0" encoding="UTF-8"?> > <members> > <profile> > <name>Bill Clinton</name> > <married>false</married> > <kid>joe</kid> > </profile> > </members> > > > XSL-FILE: > ======= > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:fo="http://www.w3.org/1999/XSL/Format"> > > <xsl:template match="members"> > members-template is matched! > <xsl:apply-templates select="profile/kid"></xsl:apply-templates> > </xsl:template> > > <xsl:template match="members/profile/married"> > <xsl:if test=".='false'">no</xsl:if> > <xsl:if test=".='true'">yes</xsl:if> > </xsl:template> > > <xsl:template match="kid"> > <xsl:apply-templates select="../married"></xsl:apply-templates> > kids-template is matched! > </xsl:template> > > </xsl:stylesheet> > > > > > > > > > > On 7/27/05, JBryant@xxxxxxxxx <JBryant@xxxxxxxxx> wrote: > > Well, if you actually tried to run these templates, your > XML parser should > > spit out error messages. > > > > You seem to be trying to use </xsl:apply-templates> to close > > <xsl:template>, which isn't XML. > > > > Assuming you mean > > > > <xsl:template match="members"> > > xsl-fo goes here..... > > </xsl:template> > > > > then you want > > > > <xsl:template match="members"> > > xsl-fo goes here..... > > <xsl:apply-templates/> > > </xsl:template> > > > > Otherwise, the processor gets to members and stops, never > processing the > > children of members. > > > > Jay Bryant > > Bryant Communication Services > > (presently consulting at Synergistic Solution Technologies) > > > > > > > > > > Christian Rasmussen <byggemandbob@xxxxxxxxx> > > 07/27/2005 11:57 AM > > Please respond to > > xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > > > > > To > > xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > cc > > > > Subject > > [xsl] how to match true and false and display yes and no instead? > > > > > > > > > > > > > > Hi experts, > > > > It seems to be a pretty simple question, but I'm newbie and I cannot > > figure out how to do it :-( > > please help me! > > > > here is some sample xml showing my problem: > > > > <members> > > <profile> > > <name>Bill Clinton</name> > > <married>false</married> > > <kid>joe</kid> > > </profile> > > </members> > > > > > > my xsl looks something like this: > > > > <xsl:template match="members"> > > xsl-fo goes here..... > > </xsl:apply-templates> > > > > <xsl:template match="members/profile/married"> > > <xsl:if test=".='false'">no, he is not married</xsl:if> > > <xsl:if test=".='true'">yes, he is married</xsl:if> > > </xsl:apply-templates> > > > > <xsl:template match="kid"> > > xsl-fo goes here..... > > <xsl:apply-templates select="../married"></xsl:apply-templates> > > > > I simply want to display "yes" and "no" instead of "true" > and "false". > > So I have made a template match which specifically matches > the element > > which holds the true or false value. After matching this element, I > > test whether its true or false, and returns the text instead. > > > > nothing shows up :-( > > > > Thanx in advance for you help > > /Christian
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] how to match true and fal, Michael Kay | Thread | Re: [xsl] how to match true and fal, Christian Rasmussen |
Re: [xsl] how to match true and fal, JBryant | Date | RE: [xsl] how to match true and fal, Michael Kay |
Month |