|
Subject: [xsl] In XPath 2.0 can my XSLT program validate the input and check whether the validation succeeded? From: "Costello, Roger L." <costello@xxxxxxxxx> Date: Sat, 20 Jul 2013 19:50:30 +0000 |
Hi Folks,
I want my input XML document to be validated within my XSLT program.
I don't want the input validated when I invoke the transformation; thus, I do
not specify the -val flag when I invoke SAXON.
I want to validate non-atomic values (i.e., elements with complexType).
I want to test whether the validation succeeded.
I want to do this in XPath 2.0.
Is it possible?
EXAMPLE
I have an XML Schema which declares a Book element and a BookType:
------------------------------------------------------------------
<xsd:element name="Book" type="BookType" />
<xsd:complexType name="BookType">
<xsd:sequence>
...
</xsd:sequence>
</xsd:complexType>
------------------------------------------------------------------
In my XSLT program I import the XML Schema:
<xsl:import-schema schema-location="BookStore.xsd"/>
In my XSLT program I have a template rule for Book. I want this template rule
to validate the Book against the XML Schema and only output the Book if
validation succeeds. Here is the code that I used:
<xsl:template match="Book">
<xsl:if test="data(.) instance of element(Book, BookType)">
<xsl:sequence select="."/>
</xsl:if>
</xsl:template>
I ran my XSLT program and the output contained no Book elements, even though I
know they are valid.
Here is what I think the problem is: since I did not specify the SAXON -val
flag, the input has no type annotations. Consequently, each Book is not an
instance of a Book element with type BookType and this boolean condition
fails:
data(.) instance of element(Book, BookType)
Do I have a correct understanding of what the problem is?
Is there a way to solve this problem? Here is what I seek: (1) don't validate
the input at invoke time, (2) do validate the input within the XSLT program,
and (3) do explicitly check whether validation succeeded.
/Roger
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] OT: Discount on XSL Cours, G. Ken Holman | Thread | Re: [xsl] In XPath 2.0 can my XSLT , G. Ken Holman |
| Re: [xsl] OT: Discount on XSL Cours, G. Ken Holman | Date | Re: [xsl] In XPath 2.0 can my XSLT , G. Ken Holman |
| Month |