Subject: Re: [xsl] Overlapping structures From: Jörg Heinicke <joerg.heinicke@xxxxxx> Date: Tue, 09 Oct 2001 15:34:26 +0200 |
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
System Development VIRBUS AG Fon +49(0)341-979-7435 Fax +49(0)341-979-7409 joerg.heinicke@xxxxxxxxx www.virbus.de
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Overlapping structures, Patrick Durusau | Thread | Re: [xsl] Overlapping structures, David Carlisle |
Re: [xsl] Grouping the information , Jörg Heinicke | Date | [xsl] Environment variable, Julio Kriger |
Month |