Re: [xsl] Validating source documents, with schema aware XSLT

Subject: Re: [xsl] Validating source documents, with schema aware XSLT
From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx>
Date: Mon, 7 Aug 2006 10:00:01 +0530
Thanks Mike for the explanations..

On 8/7/06, Michael Kay <mike@xxxxxxxxxxxx> wrote:
> The source XML is books.xml, and Schema is books.xsd found in
> the folder samples\data of Saxon distribution.
>
> The example works fine with the following command line:
>
> java com.saxonica.Transform -val books.xml books.xsl
>
> The source document gets validated, and I get the proper output.
>
> However, I am curious what is happening in the following cases:
>
> 1) I give the command line as, java com.saxonica.Transform
> books.xml books.xsl (i.e. no -val option)
>
> The following message comes from the stylesheet:
>
> Source document is not a validated book list

The "instance of" test fails because it is testing the type annotation of
the element node, and the type annotation is "xs:untyped" if the document
has not been validated.
>
> 2) I give the command line as, java com.saxonica.Transform
> -val books.xml books.xsl
>
> but I remove the line <xsl:import-schema schema-location="books.xsd"
> /> from the stylesheet,
>
> I get message,
>
> XPST0003: XPath syntax error at char 42 on line 4 in {...e of
> schema-element(B
> OOKLIS...}:
> No schema has been imported for namespace ''

You can't use the name of a schema-defined type in your stylesheet unless
you import the schema. The "instance of" test won't even compile in this
situation; it never gets as far as reading the source document.
>
> According to my testing, it seems that to validate source
> document, -val option is a must, and also xsl:import-schema
> is a must to include in the stylesheet. i.e. both these
> conditions must be fulfilled for the source document to get
> validated by the schema, and is usable by the stylesheet.

-val is necessary to create the type annotations; import-schema is necessary
to refer to the type in your stylesheet.
Michael Kay
http://www.saxonica.com/

-- Regards, Mukul Gandhi

http://gandhimukul.tripod.com

Current Thread