|
Subject: Re: [xsl] ancestor axis order From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> Date: Tue, 04 May 2004 07:22:18 -0400 |
Given XML such as ... I need to determine, for each <ref/> child, whether there is a <choice/> ancestor prior to the <define/> Ancestor.
for the example above, references should be 'no' and scope should be 'yes'
T:\ftemp>type david.xml
<define name="report">
<element>
<name ns="">report</name>
<group>
<group> <group>
<group>
<group>
<group>
<group>
<ref name="issues"/>
<ref name="vision"/>
</group>
<ref name="goals"/>
</group>
<ref name="scope"/>
</group>
<ref name="tasks"/>
</group>
<ref name="assessment"/>
</group> <choice>
<empty/>
<ref name="references"/>
</choice>
</group>
<ref name="owner"/>
</group>
</element>
</define>T:\ftemp>type david.xsl <?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<xsl:for-each select=".//ref">
<xsl:element name="{@name}">
<xsl:choose>
<xsl:when test="ancestor::choice/ancestor::define">
<xsl:attribute name="required">no</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="required">yes</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
</xsl:element>
</xsl:for-each>
</xsl:template></xsl:stylesheet> T:\ftemp>saxon david.xml david.xsl <?xml version="1.0" encoding="utf-8"?> <issues required="yes"/> <vision required="yes"/> <goals required="yes"/> <scope required="yes"/> <tasks required="yes"/> <assessment required="yes"/> <references required="no"/> <owner required="yes"/> T:\ftemp>
-- Public courses: Spring 2004 world tour of hands-on XSL instruction Each week: Monday-Wednesday: XSLT/XPath; Thursday-Friday: XSL-FO
World-wide on-site corporate, govt. & user group XML/XSL training. G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995) Male Breast Cancer Awareness http://www.CraneSoftwrights.com/s/bc Legal business disclaimers: http://www.CraneSoftwrights.com/legal
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] ancestor axis order, David Carlisle | Thread | Re: [xsl] ancestor axis order, David Rosenborg |
| Re: [xsl] Retrieving the position o, David Carlisle | Date | Re: [xsl] ancestor axis order, David Carlisle |
| Month |