Пример схемы определяет ограничения для содержимого двух элементов: Содержимое элемента <state> должно иметь длину в два символа, а содержимое элемента <postal-code> должно соответствовать регулярному выражению [0-9]{5}(-[0-9]{4})?. Вот как это сделано:
<xsd:element name="state"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:length value="2"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="postal-code"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:pattern value="[0-9]{5}(-[0-9]{4})?"/> </xsd:restriction> </xsd:simpleType> </xsd:element>
Для элементов <state> и <postal-code> схема определяет новые типы данных с ограничениями. В первом случае используется элемент <xsd:length>, а во втором - элемент <xsd:pattern> для определения регулярного выражения, которому этот элемент должен соответствовать.
Это краткое изложение лишь едва касается поверхности того, что могут делать схемы XML; на эту тему написаны целые книги. Для целей этого введения достаточно сказать, что схемы XML являются очень мощным и гибким способом описания того, как должен выглядеть правильный XML-документ.