This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: trouble checking "cousins"of current node
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] trouble checking "cousins"of current node
- From: Wendell Piez <wapiez at mulberrytech dot com>
- Date: Fri, 21 Sep 2001 12:47:34 -0400
- Reply-To: xsl-list at lists dot mulberrytech dot com
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