Листинг 14.5. Схема документа XML с целевым пространством имен
<?xml version=”1.0” ?>
< schema xmlns=“http://www.w3.org/2001 /XMLSchema”
targetNamespace=http://some.firm.ccm/2003/ntbNames xmlns:ntb='http://some.firm.com/2003/ntbNames’”>
<element name=”ntb:notebook”>
<complexType>
<sequence>
<element name=”person” maxOccurs=”unbounded”>
<complexType>
<sequence>
<element name=”name” >
<complexType>
<attribute name=”first”
type=”string” use=”optional” />
<attribute name=”second”
type=”string” use=”optional” />
attribute name=”surname”
type=”string” use=”required" />
</сomplexType>
</element>
<element name=”birthday” >
<simpleType>
<restriction base=”string” >
<pattern value=”[0-9] {2}. [0-9] {2}. [0-9] {4}” />
</restriction>
</simpleType>
</element>
<element name=”address” maxOccurs=”unbounded”>
<complexType>
< sequence>
<element name=”street” type=”string” />
<element name=”city” type=”string” />
<element name=”zip” type=”positiveInteger”/>
</sequence>
</complexType>
</element>
<element name=”phone-list”>
<complexType>
<sequence>
<element name=”work-phone” type=”string” minOccurs=”0” maxQccurs=”unbounded” />
<element name=”home-phone” type=”string” minOccurs=”0” maxOccurs=”unbounded”/>
</sequence>
</ complexType>
</element>
</sequence>
</соmplexType>
</element>
</sequence>
</complexType>
</element>
</schema>
Поскольку в листинге 14.5 пространством имен по умолчанию сделано пространство http://www.w3.org/200l/XMLSchema, префикс xsd не нужен.
Следует заметить, что в целевое пространство имен попадают только глобальные имена, чьи описания непосредственно вложены в элемент <schema>. Это естественно, потому что только глобальными именами можно воспользоваться далее в этой или другой схеме. В листинге 14.5 только одно глобальное имя <notebook>. Вложенные имена name, address и другие только ассоциированы с глобальными именами.
В схемах и документах XML часто применяется еще одно стандартное пространство имен. Рекомендация языка XSD определяет несколько атрибутов: type, nil, schema Location, noNamespaceSchemaLocation, которые применяются не только в схемах, а и непосредственно в описываемых этими схемами документах XML, называемых экземплярами схем (XML schema instance). Имена этих атрибутов относятся к пространству имен http://www.w3.org/2001/XMLSchema-instance. Этому пространству имен чаще всего приписывают префикс xsi, например:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema” xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">