xsl-list
[Top] [All Lists]

RE: chunking a very large xml document

2004-07-02 05:56:12
In XSLT 2.0 this is:

<xsl:template match="product">
<products>
  <xsl:apply-templates/>
</products>
</xsl:template>

<xsl:template match="record">
  <file name="{(_at_)id}(_dot_)xml"/>
  <xsl:result-document href="{(_at_)id}(_dot_)xml">
    <xsl:copy-of select="."/>
  </xsl:result-document>
</xsl:template>

If you're using an XSLT 1.0 processor, then xsl:result-document won't be
available, and you'll have to use the custom extension that comes with your
chosen product, which will vary from one product to another.

Michael Kay 

-----Original Message-----
From: Munna D [mailto:munna(_at_)2-cool(_dot_)com] 
Sent: 02 July 2004 13:40
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] chunking a very large xml document

I have a single large xml file of the following structure:

<product id="m001">
      <record id="m002">
              <el1>aaa</el1>
              <el2>bbb</el2>
      </record>
      
      <record id="m003">
              <el1>ccc</el1>
              <el2>ddd</el2>
      </record>
</product>

I would like to split this up, so that 
(1) each record is saved as a separate file named [value-of-id].xml
(2) each of these new files should have a doctype declaration 
(ideally one I can change with a parameter)
(3) a manifest file is generated with a list of all record 
files produced.

I realise this is something like what the chunking 
stylesheets achieve in docbook, but those are so complex that 
a newbie like me can't really understand where to start 
adapting them. I would be really grateful for any pointers or 
example stylesheets that you may have.

Many thanks,

Munna
-- 
___________________________________________________________
Sign-up for Ads Free at Mail.com
http://promo.mail.com/adsfreejump.htm


--+------------------------------------------------------------------
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>
--+--




<Prev in Thread] Current Thread [Next in Thread>