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

Including multiple XML documents with associated style

Subject: Including multiple XML documents with associated stylesheets
From: "Alex Hildyard" <alexhildyard@xxxxxxxxxxx>
Date: Wed, 19 Nov 2003 13:55:22 -0000
xsl multiple xml
Hi,

I've looked through the FAQ but haven't found a solution to this problem:
I'm trying to include multiple XML documents, and each sub-document has its
own stylesheet. What I find is that I can load each sub-document in
isolation and its associated stylesheet is applied without problems
(test-file.xml), but the stylesheet is blatantly ignored when I try to load
it as part of a collection of documents (files-list.xml). My understanding
is that the individual stylesheets' markup isn't being applied because I've
never explicitly requested it to be applied, but I'm not quite sure exactly
what "apply-templates" argument I would want in this case?

I'm enclosing the files below, to make things a bit clearer:

Many thanks,

Alex

[files-list.xml]
<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="iterate-files.xslt" ?>
<!-- This top-level document holds references to the set of external
files that should be marked up on this page. It can also hold
any scripts that should be globally accessible
-->
<html>
<head />
<body>
<files>
<file src="test-file.xml"></file>
<file src="test-file2.xml"></file>
</files>
</body>
</html>


[iterate-files.xslt]
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<!-- 
This template iterates through the file list defined within
a <files> element and processes the set of external XML files
contained within it
-->
<xsl:template match="files">
<xsl:for-each select="file">
<xsl:for-each select="document(@src)">
<xsl:copy-of select="test" />
</xsl:for-each>
</xsl:for-each>
</xsl:template>
</xsl:transform>

[test-file.xml]
<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="test-file.xslt" ?>
<test>
<div>
This tag shouldn't appear
</div>
</test>

[test-file.xslt]
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<!-- All the directives in this file seem toget ignored -->
<xsl:template match="/">
<xsl:apply-templates />
</xsl:template>
<!-- Template to prove directives in this file are processed:
replace the contents of the <div> with a new string
-->
<xsl:template match="div">
This text should appear
</xsl:template>
</xsl:transform>

 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.