[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Overlapping structures

Subject: Overlapping structures
From: Stuart Brown <Stuart.Brown@xxxxxxxxxxxxx>
Date: Tue, 9 Oct 2001 09:49:00 +0100
overlapping structures
I have an XML document with two overlapping structures.  To get round this,
for one of the structures I use empty "start" and "end" tags as follows:

<a>I said <z.start/>I will watch my ways</a>
<a><x/>and keep my tongue from sin<z.end/></a>

In my XSL I want to test, from any node <z.start/> if there is the
additional empty element <x/> before the next <z.end/> (i.e. if the
imaginary "z" element "contains" x).  I have not found any way I can achieve
this -- any pointers please?

Secondly, if I want to invert the structures, so that the "a" tags become
the imaginary empty tags and the z tags "real" elements, I am currently
cheating to overcome the well-formed constraint as follows (ignoring the x
element above):

<xsl:template match="a">
  <a.start/><xsl:apply-templates/><a.end/>
</xsl:template>

<xsl:template match="z.start">
  <z>!!DELETE_CLOSE_TAG</z>
</xsl:template>

<xsl:template match="z.end">
  <z>!!DELETE_OPEN_TAG</z>
</xsl:template>

thus generating:

<a.start/>I said <z>!!DELETE_CLOSE_TAG</z>I will watch my ways<a.end/>
<a.start/>and keep my tongue from sin<z>!!DELETE_OPEN_TAG</z><a.end/>

and then running a simple Perl script to get rid of the unwanted tags amd
text to result in:

<a.start/>I said <z>I will watch my ways<a.end/>
<a.start/>and keep my tongue from sin</z><a.end/>

However, I would far rather handle this entirely within the XSL stylesheet.
Is there any way I can cheat using CDATA sections to overcome the
well-formed constraint and directly match <z> to <z.start/> and </z> to
<z.end/>?

Thanks,

Stuart

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.