home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
XML Bible (2nd Edition)
/
XML_Bible_Second_Edition_Hungry_Minds_2001.iso
/
mac
/
source
/
24
/
24-18.xsd
< prev
next >
Wrap
Extensible Markup Language
|
2001-04-14
|
2KB
|
56 lines
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="SONG" type="SongType"/>
<xsd:simpleType name="money">
<xsd:restriction base="xsd:string">
<xsd:pattern value="\p{Sc}\p{Nd}+(\.\p{Nd}\p{Nd})?"/>
<!--
Regular Expression:
\p{Sc} Any Unicode currency indicator;
e.g., $, ¥, £, A4, etc.
\p{Nd} A Unicode decimal digit character
\p{Nd}+ One or more Unicode decimal digits
\. The period character
(\.\p{Nd}\p{Nd})
(\.\p{Nd}\p{Nd})? Zero or one strings of the form .35
This works for any decimalized currency.
-->
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="SongType">
<xsd:sequence>
<xsd:element name="TITLE" type="xsd:string"/>
<xsd:element name="COMPOSER" type="PersonType"
maxOccurs="unbounded"/>
<xsd:element name="PRODUCER" type="PersonType"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="PUBLISHER" type="xsd:string"
minOccurs="0"/>
<xsd:element name="LENGTH" type="xsd:duration"/>
<xsd:element name="YEAR" type="xsd:gYear"/>
<xsd:element name="ARTIST" type="xsd:string"
maxOccurs="unbounded"/>
<xsd:element name="PRICE" type="money" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="PersonType">
<xsd:sequence>
<xsd:element name="NAME">
<xsd:complexType>
<xsd:all>
<xsd:element name="GIVEN" type="xsd:string"/>
<xsd:element name="FAMILY" type="xsd:string"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>