xsl-list
[Top] [All Lists]

RE: [XSL] extracting a verse

2002-12-17 17:42:00
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(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com]On Behalf Of
Wendell Piez
Sent: Wednesday, 18 December 2002 11:45
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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(_at_)mulberrytech(_dot_)com
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



<Prev in Thread] Current Thread [Next in Thread>