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