Subject: [xsl] Find a specific element or fall back to element 1 From: "John Horner" <Horner.John@xxxxxxxxxx> Date: Tue, 16 Jan 2007 09:49:37 +1100 |
I have a gallery.xml file containing a number of images: <gallery> <image> <filename>1.jpg</filename> </image> <image> <filename>2.jpg</filename> </image> <!-- etc --> <image default="true"> <!-- optional attribute applies to this element --> <filename>10.jpg</filename> </image> </gallery> and my xslt has to do the following thing -- look for an image marked with a "default" attribute, and if it's not found, use the first image instead. So I'm looking for the position number of the marked element, and if I can't find it, using 1: <xsl:variable name="gallery-xml-file" select="document($gallery-xml-path)"/> <xsl:variable name="test-position"> <xsl:for-each select="$gallery-xml-file//image"> <xsl:if test="@default='true'"> <xsl:value-of select="position()"/> </xsl:if> </xsl:for-each> </xsl:variable> <xsl:variable name="display-position"> <xsl:choose> <xsl:when test="$test-position = ''">1</xsl:when> <xsl:otherwise> <xsl:value-of select="$test-position"/> </xsl:otherwise> </xsl:choose> </xsl:variable> This seems a bit long and wasteful to me. Is there a better way? ============================================================================= = The information contained in this email and any attachment is confidential and may contain legally privileged or copyright material. It is intended only for the use of the addressee(s). If you are not the intended recipient of this email, you are not permitted to disseminate, distribute or copy this email or any attachments. If you have received this message in error, please notify the sender immediately and delete this email from your system. The ABC does not represent or warrant that this transmission is secure or virus free. Before opening any attachment you should check for viruses. The ABC's liability is limited to resupplying any email and attachments ============================================================================= =
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] What is wrong with this X, Abel Braaksma | Thread | RE: [xsl] Find a specific element o, Michael Kay |
RE: [xsl] Axis specifers, Michael Kay | Date | RE: [xsl] Find a specific element o, Michael Kay |
Month |