this is a german Web-Mirror of MHONARC.ORG powered by Domainunion AG

xsl-list
[Top] [All Lists]

RE: [xsl] How to check an element's type against an XSD simpleType and skip that element if it does not conform to the simpleType?

2013-07-16 07:44:12
Hi David,

If the input hasn't been validated you can just get the text content of
the node and check

<xsl:if test=". castable as bk:ISBN-type">

But **bk:ISBN-type** is a simpleType defined in the XML Schema; so I have to 
import the XML Schema:

    <xsl:import-schema namespace="https://www.books.org";
        schema-location="BookStore.xsd"/>

But then I am back to the problem of the XSLT processor insisting on validating 
all of my XML document.

Is there a way to get access to the simpleType, ISBN-type, without importing 
the XML Schema?

/Roger

-----Original Message-----
From: David Carlisle [mailto:davidc(_at_)nag(_dot_)co(_dot_)uk] 
Sent: Tuesday, July 16, 2013 8:29 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Cc: Costello, Roger L.
Subject: Re: [xsl] How to check an element's type against an XSD simpleType and 
skip that element if it does not conform to the simpleType?

On 16/07/2013 13:07, Costello, Roger L. wrote:
Michael Kay wrote:

Unfortunately schema-aware processing in XQuery and XSLT doesn't
give you this capability.

Is there a workaround?

Is there is no way for an XSLT program to express: "Hey, validate xyz
against the XML Schema and if xyz is not schema-valid then discard
it." No way to express that?


Can't you just not validate the input, then test within the stylesheet
as you are testing an atomic/simple type.



<xsl:if test=". instance of bk:ISBN-type">

If the input hasn't been validated you can just get the text content of
the node and check

<xsl:if test=". castable as bk:ISBN-type">

Or of course you could more simply in this case not import the schema
and just check the regular expression directly in the stylesheet (then
it will work with non schema aware systems too)

David

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  https://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: https://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


<Prev in Thread] Current Thread [Next in Thread>