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? From: "Costello, Roger L." <costello@xxxxxxxxx> Date: Tue, 16 Jul 2013 12:44:01 +0000 |
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="http://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@xxxxxxxxx] Sent: Tuesday, July 16, 2013 8:29 AM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx 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. ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How to check an element's, David Carlisle | Thread | Re: [xsl] How to check an element's, David Carlisle |
Re: [xsl] How to check an element's, David Carlisle | Date | Re: [xsl] How to check an element's, David Carlisle |
Month |