[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Writing conditional statement based on attribute
I am trying to write a conditional statement based on an attribute: The XML doc will have either @level=series, subseries, file, item, or no attribute. I would like the output to be in <p> with default font where @level="series" | @level="subseries" and <font size="-1" color="gray"> where there is file, item or no level attribute. In other words anything but series or subseries. Here are two examples of XML: scopecontent is the element i am trying to format. parent element is dsc. <c01 level="series"> <did> <container type="folder" label="Folder"> 15</container> <unittitle><unitdate>1932</unitdate></unittitle> </did> <scopecontent> <p> Includes letters regarding Lee Strasberg's health. </p> </scopecontent> <c04> <did> <container type="folder" label="Folder"> 15</container> <unittitle><unitdate>1932</unitdate></unittitle> </did> <scopecontent> <p> Includes letters regarding Lee Strasberg's health. </p> </scopecontent> </c04> I tried the following with no luck: <xsl:template match='dsc//scopecontent'> <xsl:choose> <xsl:when test='* [@level="series"] | * [@level="subseries"]'> <p> <xsl:apply-templates/> </p> </xsl:when> <xsl:otherwise> <font size="-1" color="gray"> <xsl:apply-templates/> </font> </xsl:otherwise> </xsl:choose> </xsl:template> Also: <xsl:template match='* [@level="series"]//scopecontent | * [@level="subseries"]//scopecontent'> <p> <xsl:apply-templates/> </p> </xsl:template> <xsl:template match='* [not (@level="series")]//scopecontent | * [not (@level="subseries")]//scopecontent'> <font size="-1" color="gray"> <xsl:apply-templates/> </font> </xsl:template> Thanks for the help. Lynn
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|