File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
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
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?
jQuery in Action, 3rd edition