Subject: RE: testing for null string in a node From: "Christof Schneider" <Christof_Schneider@xxxxxx> Date: Mon, 6 Nov 2000 23:21:00 +0100 |
You can use the string()-function to accomplish the task. xsl:when test="string(.)"> ...do something... </xsl:when> This relies on implicit type conversion. test="" expects a boolean value, string() delivers a string-value. Conversion rule for string to boolean says: a zero-length string converts to false, everything else to true. The string function tries to convert the argument to a string. For a node-set it is the value of the text node, for a result tree fragement (what you often get from using a variable) the result is the sequence (concatenation) of all (self and descendant) text nodes. Beware of white spaces. Have a look at Michael Kay's book [page 427, 508-509] Instead of the current node you can use a variable, or name any other node(s). Hope it helps, - Christof > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxx]On Behalf Of > mxmodi@xxxxxxxxxxxxxxx > Sent: Montag, 6. November 2000 19:43 > To: xsl-list@xxxxxxxxxxxxxxxx > Subject: testing for null string in a node > > > > Hi, > > I want to be able to test if the value of a certain node is empty and > depending on the result, perform more functions. I am having some troublwe > understanding how to test for that. Any help is appreciated. > > Here is the sample XML: > > > <root> > <Names> > <Name> > <FN>aaa</FN> > <LN>bbb</LN> > <Dates> > <Date> > <Begin>11/11</Begin> > <End>12/11</End> > <Projects> > <Project> > <Name>proj a</Name> > <Code>abc-123</Code> > </Project> > ........More <Project> Nodes > </Projects> > </Date> > .....more <Date> Nodes > </Dates> > </Name> > ...........more <Name> Nodes > </Names> > </root> > > > Here is the sample XSL: > > <xsl:template match="/"> > ...perform some code... > <xsl:apply-templates select="//Names/Name" > > <xsl:sort select="FN" /> > </xsl:apply-templates> > </xsl:template> > > <xsl: template match="Name"> > <xsl:choose> > <xsl:when test="*[not(child::FN)]"> > ...do something... > </xsl:when> > <xsl:otherwise> > ...do something else... > </xsl:otherwise> > </xsl:choose> > > ...continue doing rest of the stuff.. > </xsl:template> > > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: testing for null string in a no, K. Ari Krupnikov | Thread | RE: testing for null string in a no, Kay Michael |
Re: testing for null string in a no, K. Ari Krupnikov | Date | RE: different XSL processors {RE: X, Xu, Xiaocun |
Month |