[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Thanks Mike for the explanations..
On 8/7/06, Michael Kay <mike@xxxxxxxxxxxx> wrote:
http://gandhimukul.tripod.com
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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Validating source documen, Michael Kay | Thread | [xsl] Passing an XSLT param to embe, Jim Sylva |
RE: [xsl] Validating source documen, Michael Kay | Date | Re: [xsl] XPath 2.0 Datatypes names, George Cristian Bina |
Month |