[xsl] outputting multiple documents based on a variable

Subject: [xsl] outputting multiple documents based on a variable
From: "James M. Jackson Sanborn" <james_sanborn@xxxxxxxx>
Date: Wed, 15 May 2002 13:52:27 -0400
Alright, I've looked through the archives, and can't find anything
that seems directly applicable, so I thought I might try asking:

I have a pile of records in one xml file-- (simplified example below):
<books>
  <book>
    <title>book on animals</title>
    <subject>dogs</subject>
    <subject>cats</subject>
    <subject>snakes</subject>
    <subject>fish</subject>
  </book>
  <book>
    <title>book just on dogs</title>
    <subject>dogs</subject>
  </book>
  <book>
    <title>book just on cats</title>
    <subject>cats</subject>
  </book>
</books>

-- I want to use <xsl:document> to output multiple documents with a
single xsl-- these documents will be pages that list together books
that include a given subject (and are named _subject_.html-- eg.
dogs.html, cats.html, snakes.html, etc.)

In perl, I'd probably put the list of subjects for which I want to
create pages into an array, and then cycle through the values in the
array from start to finish, outputting a new document for each
value--  can I use <xsl:param> like this? is there another array-like
construct? or another simple solution I'm missing? or am I stuck
replicating the xsl file for each different value?

Thanks for any help on this.
-James

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


Current Thread