aspose file tools*
The moose likes XML and Related Technologies 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 » Engineering » XML and Related Technologies
Bookmark "Patterns in XML Schema - how to do it?" Watch "Patterns in XML Schema - how to do it?" New topic
Author

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 www.xfront.com tutorial on XML Schema (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="http://www.books.org"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.books.org JavaRanch.xsd">
<Book>
<Title>Get this stuff figured out!</Title>
<Author>John Doe</Author>
<Date>1998</Date>
<Testing>BLAHBLAH9999</Testing>
<Publisher>McMillin Publishing</Publisher>
</Book>
</BookStore>
Here is the content of JavaRanch.xsd ==>
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.books.org"
xmlns="http://www.books.org"
elementFormDefault="qualified">
<xsd:simpleType name="TestType">
<xsd:restriction base="xsd:string">
<xsd:length value = "5"/>
<xsd:pattern value="\d{4}-\d{1}"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:element name="BookStore">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Book" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<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"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Anonymous
Ranch Hand

Joined: Nov 22, 2008
Posts: 18944
Hi Kevin,
In case you've not done it already, your parser must be validating to generate these errors (you set the Validating property on the DocumentBuilder factory).
Another thing: the length says 5 where the pattern implies it's 6: 4 + 1 (for the dash) + 1
Cheers
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Patterns in XML Schema - how to do it?