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: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> Date: Mon, 15 Jul 2013 15:16:14 -0400 |
The item of interest, however, is this snippet:
<xsl:for-each select="/bk:BookStore/bk:Book"> <xsl:if test="data(bk:ISBN) instance of bk:ISBN-type"> <ISBN><xsl:value-of select="bk:ISBN"/></ISBN> </xsl:if> </xsl:for-each>
The for-loop iterates through each Book and checks to see if the value of its ISBN element conforms to ISBN-type; if it doesn't conform, then it skips that ISBN and goes to the next Book.
In the XML document shown above, the Book element has an ISBN (xxx1-56592-235-2) that is not valid, so I expect my XSLT program to skip it.
However, that is not happening. I get this error message:
The content "xxx1-56592-235-2" of element <ISBN> does not match the required simple type. Value "xxx1-56592-235-2" contravenes the pattern facet "\d{1}-\d{5}-\d{3}-\d{1}|\d{1}-..." of the type ISBN-type
What am I doing wrong please?
-- Public XSLT, XSL-FO, and UBL classes in the Netherlands Oct 2013 | Public XSLT, XSL-FO, UBL and code list classes in Australia Oct 2013 | Contact us for world-wide XML consulting and instructor-led training | Free 5-hour lecture: http://www.CraneSoftwrights.com/links/udemy.htm | Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ | G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx | Google+ profile: https://plus.google.com/116832879756988317389/about | Legal business disclaimers: http://www.CraneSoftwrights.com/legal |
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] How to check an element's typ, Costello, Roger L. | Thread | RE: [xsl] How to check an element's, Costello, Roger L. |
[xsl] How to check an element's typ, Costello, Roger L. | Date | RE: [xsl] How to check an element's, Costello, Roger L. |
Month |