Subject: Re: [xsl] Fwd: Multiple OR Expression across a node-set From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx> Date: Wed, 29 Nov 2006 15:46:08 -0500 |
I hope that helps, Wendell
My Sincerest apologizes, I accidentally sent this to the xml list.
Hi List,
Thanks in advance for the help. I think I left my brain in Cuba, and cannot seem to figure out this fairly straight forward problem (well that and secretly hoping someone has a more elegant way of doing this).
So I have a generated XML
<root> <view> <id>foo</id> <name>foo</name> </view> <view> <id>bar_archive</id> <name>Bar Archive</name> </view> <view> <id>bar</id> <name>bar</name> </view> <view> <id>foo_archive</id> <name>Foo Archive</name> </view> </root>
Issue comes from the fact that every time I get this XML file, the <view>s are in different, random order. I need them in a specific order every time. Along with this, sometimes a <view> exists, and sometimes it doesn't which should be reflected in the output. So far my XSL looks something like this (I've marked where my if statement is failing):
<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html> <body> <!-- This if statement fails (Value of expression cannot be converted to a node-set in expression) --> <xsl:if test="root//view/id = 'foo' | root//view/id = 'bar'"> <p>Here are the foo bars</p> <ul> <xsl:apply-templates select="root//view[id='bar']"/> <xsl:apply-templates select="root//view[id='foo']"/> </ul> </xsl:if>
<xsl:if test="contains(root//view/id, 'archive')"> <p>Here are archive foo bars</p> <blockquote> <xsl:apply-templates select="root//view[id = 'bar_archive']"/> <xsl:apply-templates select="root//view[id = 'foo_archive']"/> </blockquote> </xsl:if>
</body> </html>
</xsl:template>
<xsl:template match="view" priority="5"> <li><xsl:value-of select="name"/></li> </xsl:template>
<xsl:template match="view[contains(id, 'archive')]" priority="10"> <p><xsl:value-of select="name"/></p> </xsl:template>
</xsl:stylesheet>
Any thoughts would be greatly appreciated. (PS - I am stuck with 1.0)
Thanks you,
Spencer Tickner
====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Fwd: Multiple OR Expression a, Spencer Tickner | Thread | Re: [xsl] Fwd: Multiple OR Expressi, Spencer Tickner |
[xsl] Restrict Key to specific pare, Ty Molchany | Date | RE: [xsl] Fwd: Multiple OR Expressi, cknell |
Month |