RE: [xsl] Pass the value for xmlns:schemaLocation as a variable? Possible?

Subject: RE: [xsl] Pass the value for xmlns:schemaLocation as a variable? Possible?
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 19 Oct 2005 16:16:40 +0100
> I have this following XSL.
> 
> <ReportRequest 
>  xmlns="http://www.test.com/bta"; 
>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";  
>  xmlns:schemaLocation="http://www.test.com/bta
> /home/PS_ReportRequest.xsd">
> ...
> </ReportRequest>

Are you sure it's "an XSL" (meaning a stylesheet, presumably?) - because it
doesn't look like one.

And it should be xsi:schemaLocation.

xsi:schemaLocation is just another attribute as far as XSLT is concerned so
you can generate it using an attribute value template, as 

xsi:schemaLocation="{$var}"

Michael Kay
http://www.saxonica.com/


> 
> 
> I would like to pass the path for the XSD file as a parameter to the
> XSLT.
> 
> For example I have this XSL file (called abc.xsl), which contains the
> path to the XSD:
> 
> 
> XML:
> <?xml version="1.0" encoding="UTF-8"?>
> <param>/home/PS_ReportRequest.xsd</param>
> 
> -------------------------------------------------
> 
> XSLT:
> <ReportRequest 
>  xmlns="http://www.test.com/bta"; 
>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";  
>  xmlns:schemaLocation="$param">
> 
> ...
> </ReportRequest>
> 
> 
> I can't do a <xsl:value-of "param"/> instead of $param. Declaring a
> variable is also not possible because the spot I can use XSL is after
> the header.  So how can I do that?
> 
> Any idea?
> 
> Mnay thanks
> Houman

Current Thread