Jirka: 

Thank  you for your very helpful response. I am copying to the mail list as 
well, I was trying to be considerate and not spam the list. 
I made couple minor changes to the code, so that I can get the declaration in 
the output files, and got it to work well enough. 

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="2.0">
<!-- ********************************************************************
        A style sheet to split out main doc into several smaller docs
     ********************************************************************-->
<!-- ==================================================================== -->
<xsl:output method="xml" doctype-public="-//OASIS//DTD DocBook XML V4.1.2//EN" 
doctype-system="http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"; 
indent="yes" omit-xml-declaration="no"/>

<xsl:template match="node()|@*">
  <xsl:copy>
    <xsl:apply-templates select="node()|@*"/>
  </xsl:copy>
</xsl:template>
<xsl:template match="article">
  <xsl:variable name="filename">
    <xsl:number count="article"/>
  </xsl:variable>
  <xi:include href="{$filename}.xml"
xmlns:xi="http://www.w3.org/2001/XInclude"/>
  <xsl:result-document href="Art-{$filename}.xml">
    <xsl:next-match/>
  </xsl:result-document>
</xsl:template>
</xsl:stylesheet>


However I am running into an issue when I use this following stylesheet to 
sections and have a nested section 
it errors saying it cannot write out to same URI.

Here is the Style Sheet 


<xsl:template match="node()|@*">
  <xsl:copy>
    <xsl:apply-templates select="node()|@*"/>
  </xsl:copy>
</xsl:template>
<xsl:template match="section">
  <xsl:variable name="filename">
    <xsl:number count="section"/>
  </xsl:variable>
  <xi:include href="{$filename}.xml" 
xmlns:xi="http://www.w3.org/2001/XInclude"/>
  <xsl:result-document href="Sect-{$filename}.xml">
    <xsl:next-match/>
  </xsl:result-document>
</xsl:template>
</xsl:stylesheet>

Here is a sample of the XML data
 <section>
       <title>
         <emphasis role="bold">DATA <indexterm significance="normal">
               <primary>DATA </primary>
            </indexterm>
         </emphasis>
      </title>
      <section>
         <title>SubData</title>
         <para>blah blah blah</para>
       </section>
      <section>
         <title>NEXT DATA<indexterm significance="normal">
               <primary>NEXT DATA</primary>
            </indexterm>
         </title>
         <para>Next Set of Data Blah blah blah</para>
         <programlisting format="linespecific">
         INTEGER value 10
         INTEGER value 11
         INTEGER value 12
         </programlisting>
      </section>
 </section>


How would you propose to modify the XSLT to handle the nested sections?

I tried to change the xsl:number to an xsl:select where it could name the 
result files as section/titles
but that was not successful. 
How would you handle that? Was I on the right track with the xsl:select?


Thank you for your help!
/G.  



-----Original Message-----
From: Jirka Kosek <[email protected]>
To: [email protected] <[email protected]>
Sent: Thu, Jul 22, 2010 9:54 am
Subject: Re: [docbook-apps] chunking or splitting for non-html files


[email protected] wrote:
> Just to clarify this then is something that cant be done with XSLT 1.0?
Yes, it can be done, but you have to use proprietary extensions like
axon:output or exsl:document. That's why I have used standard XSLT 2.0.
> Thank you once again for your help with this, like I said I am a newbie with 
SLT.  
 It is greatly appreciated.
Please keep thread on mailing list by using "Reply All" so other users
an benefit from mailing list archive.
-- 
-----------------------------------------------------------------
 Jirka Kosek      e-mail: [email protected]      http://xmlguru.cz
-----------------------------------------------------------------
      Professional XML consulting and training services
 DocBook customization, custom XSLT/XSL-FO document processing
-----------------------------------------------------------------
OASIS DocBook TC member, W3C Invited Expert, ISO JTC1/SC34 member
-----------------------------------------------------------------

Reply via email to