This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Creating intermediate XML fragment
- From: "alexandre bord" <alexandre dot bord at steria dot com>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Wed, 18 Sep 2002 17:51:22 +0200
- Subject: Re: [xsl] Creating intermediate XML fragment
- References: <3D8841EC.7030806@steria.com> <200209180234.06602.pdavis152@attbi.com>
- Reply-to: xsl-list at lists dot mulberrytech dot com
Of course
i'm sorry not to have explained it .
The rules are
(0) @name = name1 = @ name2
(1) print foobar/@name if it is not ( in bar/@name1 or in bar/@name2 or
in foo/@name)
(2) print bar/@name1 if it is not in foo/@name
(2') print bar/@name2 if it is not in foo/@name
(3) Don't print foo/@name
It's your second guess (i think)
Thanks once more for your help
alex
Peter Davis wrote:
On Wednesday 18 September 2002 02:05, alexandre bord wrote:
Hello !
Suppose my (piece of) xml looks like this :
<foobar name="fff" />
<foobar name="dddd" />
<bar name1="dddd" name2="xxx"/>
<bar name1="xxx" name2="yyy"
<foo name="yyy" />
<foo name="zzz" />
No need for an intermediate fragment. This is a simple grouping problem, just
with the additional complexity of the different meanings of the different
elements.
I'm a little confused on your logic though.
I'd like to output :
fff
dddd (once)
xxx (once)
(not 'yyy' nor 'zzz')
Let me try and guess the rules:
* For <foobar> elements, output @name if it is the first of
(foobar/@name|bar/@name1|bar/@name2) with the given value.
* For <bar> elements, output @name1 and @name2 if they are the first of
(foobar/@name|bar/@name1|bar/@name2) with the given value and if the value is
not a value of a foo/@name.
Or, another guess:
* You want to treat foobar/@name, bar/@name1, and bar/@name2 as all the same,
and foo/@name is always not output?
I'd be happy to help suggest a solution, but I don't want to waste my time if
my guesses are not correct. Can you clarify a little bit?
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list