[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Generating Test Data

Subject: Re: Generating Test Data
From: Mike Brown <mike@xxxxxxxx>
Date: Mon, 12 Jun 2000 21:52:08 -0600 (MDT)
generating xml test data
> I would like to use XSL to generate a test XML document from a
> 'template' XML document that contains a root and a fixed set of child
> elements and attributes. The resultant test document would contain a
> dummy root element and an arbitary number of 'copies' of the content of
> the template document. I wish to pass a parameter into the
> transformation or use an attribute of the root element of the template
> document to control the number of copies created. Passing the paramter
> and making a single copy I'm sure I can handle.
> 
> However is there a way of setting up a loop (sorry to use this word) in
> the style sheet to allow this 'cloning' to occur ?

Given a parameter $num that is the number of copies you want, just have
the template that matches the root node call a named template, passing it
$num. The named template should look like this:

<xsl:template name="MakinCopies">
  <xsl:param name="$num"/>
  <xsl:if test="number($num) &gt; 0">
    <xsl:copy-of select="."/>
    <xsl:if test="number($num) &gt; 1">
      <xsl:call-template name="MakinCopies">
        <xsl:with-param name="num" select="number($num) - 1"/>
      </xsl:call-template>
    </xsl:if>
  </xsl:if>
</xsl:template>

It's not really a loop; it's recursion. The number() tests aren't
necessary if you're careful about how you create the first $num; just
being extra careful.


   - Mike
____________________________________________________________________
Mike J. Brown, software engineer at         My XML/XSL resources:
webb.net in Denver, Colorado, USA           http://www.skew.org/xml/


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.