|
Subject: RE: [xsl] Positional tests From: "Paul Clarke" <pclarke@xxxxxxxxxxxxxxxx> Date: Wed, 2 Mar 2005 19:26:23 -0000 |
Hi Wendell,
Thanks for your reply, I'm afraid I over-simplified things and I don't think
your suggestion will work.
Here's a true representation of my data.
When processing font in block (3) or font in (4) I need to check back to see
if block(2) exists.
The structure is not the same in all cases as this XML originates from a
convertor.
<book>
<Section1>
<inline>
<block>Anexo</block> (1)
</inline>
<Section2>
<block>Abreviaturas</block> (2)
<body>
<table>
<thead>
<tr>
<td>
<p>
<block> (3)
<font font-weight="bold">Abbreviation</font>
</block>
</p>
</td>
<td>
<p>
<block> (4)
<font font-weight="bold">Description</font>
</block>
</p>
</td>
</tr>
</thead>
<tbody>
.
.
.
</tbody>
</table>
</body>
</Section2>
</Section1>
</book>
Thanks
Paul
-----Original Message-----
From: Wendell Piez [mailto:wapiez@xxxxxxxxxxxxxxxx]
Sent: 02 March 2005 18:47
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] Positional tests
Hi Paul,
At 01:17 PM 3/2/2005, you wrote:
>I need to find out if a block element that I process is the first one
>with respect to its ancester S1, S2 or S3 elements. The hierarchy looks
>something like this:
>
> <root>
> <S1>
> <block> <<
> <S2>
> <block> <<
> <block>
> <S3>
> <body>
> <block> <<
> <p>
> <block>
> </body>
> </S3>
> </S2>
> </S1>
> </root>
>
>I have tried:
>
> test=". = ancestor::S3//block[1] or . = ancestor::S2//block[1] or
.
>= ancestor::S1//block[1]"
>
>But this slows down processing enormously.
Yes, it'll be slow (it does some heavy-duty tree traversal) -- and it won't
work, either. You can't test node identity with the "=" operator: it
compares string values.
"not(preceding-sibling::block)" will return true if the current node has no
preceding sibling blocks. Is your requirement different from this, and if
so, how?
For example, when you have
<S3>
<block/>
<body>
<block/>
</body>
</S3>
both blocks here pass the test I offered. Should they? (The second is not
"first with respect to its S3 ancestor".) Is your data constrained such that
this isn't a problem?
Cheers,
Wendell
======================================================================
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
======================================================================
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Positional tests, Wendell Piez | Thread | RE: [xsl] Positional tests, Wendell Piez |
| Re: [xsl] Positional tests, Wendell Piez | Date | RE: [xsl] current-group()[1] within, Kevin Rodgers |
| Month |