XML XSD хранится в отдельном документе, и затем документ может быть связан с документом XML для его использования.
Синтаксис
Основной синтаксис XSD следующий:
<?xml version = "1.0"?> <xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema"> targetNamespace = "http://www.tutorialspoint.com" xmlns = "http://www.tutorialspoint.com" elementFormDefault = "qualified"> <xs:element name = 'class'> <xs:complexType> <xs:sequence> <xs:element name = 'student' type = 'StudentType' minOccurs = '0' maxOccurs = 'unbounded' /> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name = "StudentType"> <xs:sequence> <xs:element name = "firstname" type = "xs:string"/> <xs:element name = "lastname" type = "xs:string"/> <xs:element name = "nickname" type = "xs:string"/> <xs:element name = "marks" type = "xs:positiveInteger"/> </xs:sequence> <xs:attribute name = 'rollno' type = 'xs:positiveInteger'/> </xs:complexType> </xs:schema>
Элемент <Schema>
Схема является корневым элементом XSD, и это всегда требуется.
<xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">
Приведенный выше фрагмент указывает, что элементы и типы данных, используемые в схеме, определены в пространстве имен http://www.w3.org/2001/XMLSchema, и эти элементы / типы данных должны начинаться с префикса xs . Это всегда требуется.
targetNamespace = "http://www.tutorialspoint.com"
Приведенный выше фрагмент указывает, что элементы, используемые в этой схеме, определены в пространстве имен http://www.tutorialspoint.com . Это необязательно.
xmlns = "http://www.tutorialspoint.com"
Приведенный выше фрагмент указывает, что пространством имен по умолчанию является http://www.tutorialspoint.com .
elementFormDefault = "qualified"
Приведенный выше фрагмент указывает, что любые элементы, объявленные в этой схеме, должны быть квалифицированы в пространстве имен, прежде чем использовать их в любом документе XML. Это необязательно.
Схема ссылок
Взгляните на следующую схему ссылок:
<?xml version = "1.0"?> <class xmlns = "http://www.tutorialspoint.com" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://www.tutorialspoint.com student.xsd"> <student rollno = "393"> <firstname>Dinkar</firstname> <lastname>Kad</lastname> <nickname>Dinkar</nickname> <marks>85</marks> </student> <student rollno = "493"> <firstname>Vaneet</firstname> <lastname>Gupta</lastname> <nickname>Vinni</nickname> <marks>95</marks> </student> <student rollno = "593"> <firstname>Jasvir</firstname> <lastname>Singh</lastname> <nickname>Jazz</nickname> <marks>90</marks> </student> </class>
xmlns = "http://www.tutorialspoint.com"
Приведенный выше фрагмент определяет объявление пространства имен по умолчанию. Это пространство имен используется средством проверки схемы, что все элементы являются частью этого пространства имен. Это необязательно.
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://www.tutorialspoint.com student.xsd">
После определения xsi экземпляра XMLSchema используйте атрибут schemaLocation . Этот атрибут имеет два значения: пространство имен и местоположение XML-схемы, которые будут использоваться через пробел. Это необязательно.