Subject: RE: [xsl] logical query - trying to be true if attribute value is "". From: David Buddrige <dbuddrige@xxxxxxxxx> Date: Thu, 8 Apr 2004 01:51:13 -0700 (PDT) |
Hmmm... just tried it again, and it works... Strange - It wasn't working before... *shakes head* sorry about the post... I don't know what happened there. I had been trying all kinds of combinations of <xsl:when test="@Predecessors=''">1</xsl:when> and reversing it such that: <xsl:choose> <xsl:when test="@Predecessors!=''"> <xsl:value-of select="@Predecessors"/> </xsl:when> <xsl:otherwise>1</xsl:otherwise> </xsl:choose> And it wasn't working for me... but now it is... Initially I'd also been trying it with an <xsl:if>... anyway, it doesn't matter. thanks heaps for your time. regards David Buddrige. --- David Buddrige <dbuddrige@xxxxxxxxx> wrote: > saxon. > > thanks. 8-) > > David. > > --- Michael Kay <mhk@xxxxxxxxx> wrote: > > Your stylesheet works correctly for me: what XSLT > > processor are you using? > > > > Michael Kay > > > > > -----Original Message----- > > > From: David Buddrige > [mailto:dbuddrige@xxxxxxxxx] > > > Sent: 08 April 2004 04:34 > > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > > Subject: [xsl] logical query - trying to be true > > if attribute > > > value is "". > > > > > > Hi all, > > > > > > I have an xml file called "Schedule.xml" with > the > > > following contents: > > > > > > <?xml version="1.0" encoding="iso-8859-1"?> > > > <project-import> > > > <scope ID="1" Name="CDI Support" /> > > > <scope ID="2" Name="ABC" Predecessors="" /> > > > <scope ID="3" Name="Online Viewing" > > Predecessors="" /> > > > <scope ID="4" Name="PROJ4322" Notes="" > > Predecessors="" > > > Unique_ID_Successors="9" /> > > > <scope ID="5" Name="Resolve View and markup" > > Notes="" > > > Predecessors="4" Unique_ID_Successors="10" /> > > > <scope ID="6" Name="Create inport script" > Notes="" > > > Predecessors="5" /> > > > <scope ID="7" Name="NBU" Predecessors="" /> > > > <scope ID="8" Name="WA5422" Predecessors="" /> > > > <scope ID="9" Name="Modifications" > Predecessors="" > > /> > > > <scope ID="10" Name="WA054334" Predecessors="" > /> > > > <scope ID="11" Name="ongoing development" > > > Predecessors="" /> > > > <scope ID="12" Name="V 3.2 Upgrade" > > Predecessors="" /> > > > <scope ID="13" Name="WA043422" Predecessors="" > /> > > > <scope ID="14" Name="determine scope" Notes="" > > > Predecessors="" Unique_ID_Successors="14" /> > > > <scope ID="15" Name="setup test lab" Notes="" > > > Predecessors="14" Unique_ID_Successors="17" /> > > > <scope ID="16" Name="perform tests" Notes="" > > > Predecessors="15" Unique_ID_Successors="18" /> > > > <scope ID="17" Name="resolve test issues" > Notes="" > > > Predecessors="16" /> > > > <scope ID="18" Name="re test" Notes="" > > Predecessors="" > > > Unique_ID_Successors="15" /> > > > <scope ID="19" Name="oracle upgrade" Notes="" > > > Predecessors="18" Unique_ID_Successors="16" /> > > > <scope ID="20" Name="gen upgrade" Notes="" > > > Predecessors="19" Unique_ID_Successors="23" /> > > > <scope ID="21" Name="Upgrade Close out" Notes="" > > > Predecessors="20" /> > > > <scope ID="22" Name="Receive client" > > Predecessors="" > > > /> > > > <scope ID="23" Name="install and test new > client" > > > Notes="" Predecessors="" > Unique_ID_Successors="28" > > /> > > > <scope ID="24" Name="Remedial work resulting > from > > > tests" Notes="" Predecessors="23" > > > Unique_ID_Successors="27" /> > > > <scope ID="25" Name="Do Install" Notes="" > > > Predecessors="24" /> > > > <scope ID="26" Name="Update install scripts" > > Notes="" > > > Predecessors="" Unique_ID_Successors="32" /> > > > <scope ID="27" Name="Final Preparation" Notes="" > > > Predecessors="26" Unique_ID_Successors="31" /> > > > <scope ID="28" Name="Go live" Notes="" > > > Predecessors="27" /> > > > <scope ID="29" Name="Maintenance" > Predecessors="" > > /> > > > <scope ID="30" Name="Task 43342" Predecessors="" > > /> > > > <scope ID="31" Name="Ongoing maintenance" > > > Predecessors="" /> > > > </project-import> > > > > > > I want to convert this xml such that the ID tag > > > becomes id, the Name tag becomes "scope_name", > > Notes > > > becomes "scope_description", and Predecessors > > becomes > > > "parent_id". > > > > > > Furthermore - and this is my problem - if the > > > "Predecessors" attribute is "", then I want the > > > corresponding parent_id attribute to be set to > 1. > > > > > > The xslt template that I have written to > [attempt > > to] > > > do this transformation follows: > > > > > > <?xml version="1.0" encoding="iso-8859-1"?> > > > <xsl:stylesheet version="1.0" > > > > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > > > <xsl:output method="xml" indent="yes"/> > > > <xsl:template match="/"> > > > <wms> > > > <xsl:apply-templates/> > > > </wms> > > > </xsl:template> > > > <xsl:template match="scope"> > > > <xsl:element name="scope"> > > > <xsl:attribute name="id"><xsl:value-of > > > select="@ID"/></xsl:attribute> > > > <xsl:attribute name="scope_name"><xsl:value-of > > > select="@Name"/></xsl:attribute> > > > <xsl:attribute > > > name="scope_description"><xsl:value-of > > > select="@Notes"/></xsl:attribute> > > > <xsl:attribute name="parent_id"> > > > <xsl:choose> > > > <xsl:when test="@Predecessors = > > > ''">1</xsl:when> > > > <xsl:otherwise><xsl:value-of > > > select="@Predecessors"/></xsl:otherwise> > > > </xsl:choose> > > > </xsl:attribute> > > > </xsl:element> > > > </xsl:template> > > > </xsl:stylesheet> > > > > > > > > > However, the test that identifies the cae where > > > @Predecessors = '' does not seem to be > activating > > > since instead of putting a 1 as the value of > the > > > parent_id tag, it leaves it as "". > > > > > > Can anyone see why this might be so? > > > > > > thanks heaps > > > > > > David Buddrige. 8-) > > > > > > __________________________________ > > > Do you Yahoo!? > > > Yahoo! Small Business $15K Web Design Giveaway > > > http://promotions.yahoo.com/design_giveaway/ > > > > > __________________________________ > Do you Yahoo!? > Yahoo! Small Business $15K Web Design Giveaway > http://promotions.yahoo.com/design_giveaway/ > === message truncated === __________________________________ Do you Yahoo!? Yahoo! Small Business $15K Web Design Giveaway http://promotions.yahoo.com/design_giveaway/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] logical query - trying to, David Buddrige | Thread | [xsl] How to check if an item exist, Javier Leyba |
RE: [xsl] logical query - trying to, David Buddrige | Date | [xsl] How to check if an item exist, Javier Leyba |
Month |