Re: multiple templates with same name

Subject: Re: multiple templates with same name
From: "Jon Smirl" <jonsmirl@xxxxxxxxxxxx>
Date: Wed, 11 Aug 1999 11:10:38 -0400
I am finding it useless to have one XSL sheet import or include another and
then use these sheets with the embedded include/import in a larger system.
The problem stems from multiple includes of the same file. There really
needs to be a way to say: don't include/import this file if it is already
loaded.

For example
file A has a wild card match, Z,  in it
file B includes A - B is used standalone, has templates named X and Y
file C includes A - C is used standalone, has different template named X
file D needs X, Y and Z from C, B, A

You can't import C, B, A because C includes A and A has a wild card (hides
contents of B)
If you include C, B, A you have to rely on the multiple templates of the
same name error resolution

Two solutions, provide a way to say don't load if already loaded. Or create
two more wrapper files, E/F which split B/C into templates and includes.  In
my system I will need hundreds of wrapper files and I don't want to do this.

Here's the fix to make Saxon comply with the WD:

XSLCallTemplate.java
    public void validate() throws SAXException {
        checkWithinTemplate();
        usesParams = (getFirstChild("xsl:with-param") != null);
        ElementInfo stylesheet = getDocumentElement();

        Vector toplevel = stylesheet.getAllChildNodes();
// This loop needs to run the other way
//JDS old code -- for (int i=0; i<toplevel.size(); i++) {
        for (int i=toplevel.size()-1; i>=0; i--) {

Jon Smirl
jonsmirl@xxxxxxxxxxxx



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


Current Thread