my dog learned polymorphism
The moose likes Product and Other Certifications and the fly likes Patterns in XML Schema - how to do it? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of REST with Spring (video course) this week in the Spring forum!
JavaRanch » Java Forums » Certification » Product and Other Certifications
Bookmark "Patterns in XML Schema - how to do it?" Watch "Patterns in XML Schema - how to do it?" New topic

Patterns in XML Schema - how to do it?

Kevin Thompson
Ranch Hand

Joined: May 04, 2001
Posts: 237
My examples don't work as expected. Why doesn't my pattern work? This is an example from page 49 of the xfront tutorial (PowerPoint #1) which I have edited slightly for readability. Why doesn't my pattern spit out an error for the Testing field(with the TestType pattern) which is supposed to be only 5 positions long with a dash after the first 4?
Here is the content of JavaRanch.xml ==>
<?xml version="1.0"?>
<BookStore xmlns=""
xsi:schemaLocation=" JavaRanch.xsd">
<Title>Get this stuff figured out!</Title>
<Author>John Doe</Author>
<Publisher>McMillin Publishing</Publisher>
Here is the content of JavaRanch.xsd ==>
<?xml version="1.0"?>
<xsd:schema xmlns:xsd=""

<xsd:simpleType name="TestType">
<xsd:restriction base="xsd:string">
<xsd:length value = "5"/>
<xsd:pattern value="\d{4}-\d{1}"/>
<xsd:element name="BookStore">
<xsd:element name="Book" maxOccurs="unbounded">
<xsd:element name="Title" type="xsd:string"/>
<xsd:element name="Author" type="xsd:string"/>
<xsd:element name="Date" type="xsd:gYear"/>
<xsd:element name="Testing" type="TestType"/>
<xsd:element name="Publisher" type="xsd:string"/>
[ December 06, 2002: Message edited by: Kevin Thompson ]
Niraj Sheth

Joined: Oct 26, 2000
Posts: 16
I tried your example with Xerces. It gave following error message.
[Error] test.xml:10:32: cvc-pattern-valid: Value 'BLAHBLAH9999' is not facet-valid with respect to pattern '[0-9?-??-??-??-??-??-??-??-??-??-??-??-??-??-?]{4}-[0-9?-??-??-??-??-??-??-??-??-??-??-??-??-??-?]{1}'.
[Error] test.xml:10:32: cvc-type.3.1.3: The value 'BLAHBLAH9999' of element 'Testing' is not valid.

May be you are using wrong parser.
Kevin Thompson
Ranch Hand

Joined: May 04, 2001
Posts: 237
Naraj - thank you!
But this is what drives me insane. I thought when displaying the file JavaRanch.xml in a browser (IE6) that it was supposed to give me an error message.
I did not know I was supposed to be running a Java program against it to determine if it had an error.
Is this type of thing obvious to other people? Just when I think I have a clear understanding of XML, something like this happens and I wonder where things went really really wrong.
Jayadev Pulaparty
Ranch Hand

Joined: Mar 25, 2002
Posts: 662
I too noticed lot of such pitfalls while using xsv as my schema validator.
Dan Drillich
Ranch Hand

Joined: Jul 09, 2001
Posts: 1183
Please search for 'IE validate' using the search link up on the page.

William Butler Yeats: All life is a preparation for something that probably will never happen. Unless you make it happen.
I agree. Here's the link:
subject: Patterns in XML Schema - how to do it?
It's not a secret anymore!