xsl-list
[Top] [All Lists]

Re: [xsl] Generic stylesheet to flatten XML hierarchy

2009-12-03 14:32:43
Sara,

At 01:50 PM 12/3/2009, you wrote:
I've been wandering through the archives and other searches and so far have not found exactly what I am hoping to find. I need to write an XSLT stylesheet that accepts an unknown XML document and flattens the hierarchy to a two-dimensional row/columns structure.

I know the basics, especially when you know the input structure, but this has to be completely generic. The input document may have any level of repeating node sets, including none. I believe we can ignore (at least for the moment) mixed content. I'm getting stuck on the logic to handle the issue of any level of repeating nodes.

Does anyone know of an example of anything approaching this?

It's hard to say without more information about what you mean by a row/columns structure.

A mockup of sample input and output data would be nice. Also, some indication of what you're going to do with these transformation results would help us to guess what sorts of features or facilities would be appropriate.

At the very least, this flattens an arbitrary XML document:

<xsl:template match="*">
  <xsl:copy>
    <xsl:apply-templates select="text()"/>
  </xsl:copy>
  <xsl:apply-templates select="*"/>
</xsl:template>

... but run this and you'll see how much information is lost.

Cheers,
Wendell


======================================================================
Wendell Piez                            
mailto:wapiez(_at_)mulberrytech(_dot_)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
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--