This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Overlapping structures


Suart,

I only have time for a brief note (major analysis due out later today)
but you might want to take a look at:

http://www.sbl-site2.org/Extreme2001

There you will find the presentation (and paper, other resources) that
Matthew O'Donnell and I did at the Extreme Markup Languages Conference
(Montreal 2001) on implementing concur in XML. Uses XSLT for building
the concurrent markup file, allows authoring of concurrent structures in
simple text/XML editors, etc.

This is very much an in progress effort, we are starting to work on
visualization of overlapping structures. The paper (also at the site)
notes several other areas of ongoing research and development.

Hope this helps!

Patrick


Stuart Brown wrote:
> 
> 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

-- 
Patrick Durusau
Director of Research and Development
Society of Biblical Literature
pdurusau@emory.edu


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]