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: trouble checking "cousins"of current node


Chris,

How are you doing it now?

It seems to me that this is the kind of problem that is more easily solved, 
if you work to solve a more general problem. For example, instead of 
checking the next event, you could devise a way of locating all events with 
the same element name ('war', 'civic-event' and so forth) and the same 
title. Keys would be a good way to do this.

Otherwise, the following:: axis is your friend. You can always traverse 
from the current node to find all nodes following it that meet certain 
criteria. So for example,

following::*[name()=name(current()) and @title=current()/@title]

would traverse from any node to any following node with the same name and 
title attribute.

If this isn't enough help (maybe I've misread your problem), maybe you 
could post your present XSLT and an example of the output you would like.

Cheers,
Wendell

At 12:13 PM 9/21/01, you wrote:
>I have some XML that I can best describe this way.  It is like notes taken
>from a college history class.  Each <document> represents one class, and
>each subdocument element represents a specific event or time period (i.e.
><war>, <legislation>, <civic-event>,etc.).
>
>One way I want to use this XML is to create one document that contains all
>the notes from every class.  However, the professor would sometimes be in
>the middle of describing an event when class time was over, so he would
>continue it next time.  But next time he wouldn't always start right away
>with what was incomplete from before.
>
>The notes have been transcribed into XML just as they were given in class.
>I have written a script using XSL to go through and make sure the
>subdocument elements that were incomplete in one class have a corresponding
>completed element in a following class.  But my problem is when the
>professor left something incomplete in one class, talked about something
>completely different in the next, and then finished the incomplete topic in
>the third class.
>
><root>
>    <document date="2001.06.03">
>       <war title="a" complete="yes">
>          . . .
>       </war>
>       <legislation title="b" complete="yes">
>          . . .
>       </legislation>
>       <war title="c" complete="no">
>          . . .
>       </war>
>    </document>
>    <document date="2001.06.10">
>       <civil-event title="d" complete="yes">
>          . . .
>       </civil-event>
>    </document>
>    <document date="2001.06.17">
>       <war title="c" complete="continued">
>          . . .
>       </war>
>       <exploration title="e" complete="yes">
>          . . .
>       </exploration>
>    </document>
><root>
>
>Using XSL, I look for all tags that have an @continued="no" and make sure
>it is followed by a corresponding tag with @complete="continued" and
>matching @title values.  But how can I identify situations above where
><civil-event title="d"> comes between the beginning and end of <war title
>="c">?


======================================================================
Wendell Piez                            mailto:wapiez@mulberrytech.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


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