xml editor

Supported platforms

Compatible with Windows7 & Mac OS X Snow Leopard

Ready for data server software
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] how to get rid of tag names


Subject: RE: [xsl] how to get rid of tag names
From: "Smirnov, Anatoliy" <anatoliy.smirnov@xxxxxxxxxxx>
Date: Mon, 5 May 2003 10:05:52 -0400

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@xxxxxxxxxxxxxx]
Sent: Friday, May 02, 2003 4:00 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
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



Current Thread
Keywords
XML Editor | XML Author | WYSIWYG Editors | Schema Editor | XSD Documentation | XSL/XSLT Editor | XQuery | XML Databases | SVN Client
© 2002-2011 SyncRO Soft Ltd. All rights reserved. | Sitemap | Privacy Policy | This website was created & generated with <oXygen/>®XML Editor