RE: [xsl] [XSL] extracting a verse

Subject: RE: [xsl] [XSL] extracting a verse
From: "Conal Tuohy" <conalt@xxxxxxxxxxxxxxx>
Date: Wed, 18 Dec 2002 13:42:00 +1300
Yes ... it's not easy to guess what sort of output is required in the
general case where verses can start and end anywhere.

With input like this:

<p>
	Blah blah blah
	<verse value="1"/>
	wibble wibble wibble
</p>
<list>
	<item>First</item>
	<item>Second</item>
	<verseEnd value="1"/>
	<item>Third</item>
</list>

You might want to output:

<p>
	wibble wibble wibble
</p>
<list>
	<item>First</item>
	<item>Second</item>
</list>

I've written a stylesheet that does something rather similar, but it's too
large to fit into this little email. ;-)

My stylesheet basically "promotes" certain elements (such as verse and
verseEnd in this case), and splits any container elements as necessary. It
would produce:

<p>
	Blah blah blah
</p>
<verse value="1"/>
<p>
	wibble wibble wibble
</p>
<list>
	<item>First</item>
	<item>Second</item>
</list>
<verseEnd value="1"/>
<list>
	<item>Third</item>
</list>

Seriously though, if anyone is interested, I'll dig it out.

Con

> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of
> Wendell Piez
> Sent: Wednesday, 18 December 2002 11:45
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re: [xsl] [XSL] extracting a verse
>
>
> Jim,
>
> This problem is a classic.
>
> The answer is, in the general case, "no, not (reasonably)
> possible with
> XSLT". The general case presumes that the <verse> and corresponding
> <verseEnd> could go anywhere.
>
> (A general solution, if it were clean and simple, would no
> doubt earn its
> innovator high honors in the lists and considerable fame, at
> least in this
> little world.)
>
> If you can articulate some constraints on <verse> and
> <verseEnd>, such as
> where they may appear and (hence) which element boundaries
> they may overlap
> ... it may be more thinkable. Though even then, not pretty.
>
> Much sooner, I'd use a stream-based process such as a SAX
> filter, to turn
> it into the verse-centric model first.
>
> But this kind of thing is why some of us are interested in an
> experiment we
> are calling LMNL. See LMNL.org for more info (though it won't
> give you your
> solution tomorrow either).
>
> Cheers,
> Wendell
>
> At 04:42 PM 12/17/2002, you wrote:
>
> >    <text>
> >       <div>
> >          <chapter id="BCV-GEN-1" to="BCV-GEN-1-END" value="1"/>
> >          <head>The Story of#Creation</head>
> >          <p>
> >             <verse id="BCV-GEN-1.1" to="BCV-GEN-1.1-END"
> value="1"/>In the
> >beginning, when God created the universe,
> >             <verseEnd id="BCV-GEN-1.1-END" from="BCV-GEN-1.1"/>
> >             <verse id="BCV-GEN-1.2" to="BCV-GEN-1.2-END"
> value="2"/>the
> >earth was formless and desolate. The raging ocean that
> covered everything
> >was engulfed in total darkness, and the ......         </p>
> >
> >Starting with this piece of Scripture I would like to
> extract just the
> >contents of  verse 1. I have the start of the verse and verseEnd
> >identified. Is there an easy way of doing the extraction? I
> know I can
> >change it all to a verse centric model and do the extraction
> but in this
> >paragraph centric model is it possible?
>
>
> ======================================================================
> Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
> Mulberry Technologies, Inc.                http://www.mulberrytech.com
> 17 West Jefferson Street                    Direct Phone: 301/315-9635
> Suite 207                                          Phone: 301/315-9631
> Rockville, MD  20850                                 Fax: 301/315-8285
> ----------------------------------------------------------------------
>    Mulberry Technologies: A Consultancy Specializing in SGML and XML
> ======================================================================
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>
>


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


Current Thread