Andrew,
Sorry about the confusion.
The source XML file is
<html>
<body>
<h>Header1</h>
<p> A </p>
<dl>
<dt> B </dt>
<dt> C </dt>
</dl>
<h>Header2</h>
<p> D </p>
<dl>
<dt>
<dt> E </dt>
</dt>
</dl>
<p> F </p>
</body>
</html>
and the output I need is
<ROWSET>
<ROW>
<HEADER> Header1 </HEADER>
<BODY> ABC </BODY>
</ROW>
<ROW>
<HEADER> Header2 </HEADER>
<BODY> DEF </BODY>
</ROW>
<ROWSET>
My xsl:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="html/body">
<ROWSET>
<xsl:apply-templates/>
</ROWSET>
</xsl:template>
<xsl:template match="html/body/h">
<ROW>
<HEADER>
<xsl:value-of select="."/>
</HEADER>
<BODY>
<xsl:apply-templates
select="following-sibling::*[generate-id(following-sibling::html/body/h[1])=
generate-id(current()/following-sibling::html/body/h[1])]"/>
</BODY>
</ROW>
</xsl:template>
</xsl:stylesheet>
gives me wrong result(numbers for reference only):
1 <ROWSET>
2 <ROW>
3 <HEADER> Header1 </HEADER>
4 <BODY> ABC
5 <ROW>
6 <HEADER> Header2 </HEADER>
7 <BODY> DEF </BODY>
8 </ROW>
9 DEF
10 </BODY>
11 </ROW>
12 ABC
13 <ROW>
14 <HEADER> Header2 </HEADER>
15 <BODY> DEF </BODY>
16 </ROW>
17 DEF
18 <ROWSET>
I don't need lines 5-9,12,17.
I guess lines 12,17 are coming from the first template invocation
(match="html/body")
but without the first template I won't have top-level element <ROWSET> ?
And I don't see why lines 5-9 are output?
Thank you.
Anatoliy Smirnov
-----Original Message-----
From: Andrew Watt [mailto:andrew(_at_)andrewwatt(_dot_)com]
Sent: Friday, May 02, 2003 4:00 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] how to get rid of tag names
At 13:41 01/05/2003 -0400, you wrote:
Sorry,I put abridged version of my source file in my question. The diff is
that I have multiple tags under BODY node, I need all of them for every <h>
node until the next <h> node:
Anatoliy,
The source XML you provided when you first asked your question and the
source in your follow-up questions (part off list) have different
structures, including different element names. I am not clear precisely
what structure you are wanting to transform.
Please provide the relevant XML source that you want to transform and the
desired output from that XML source. Then, hopefully, one of us can help
you find a solution.
Andrew Watt
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list