1

Тема: Xsd схемы - шпаргалка по синтаксису.

1.
<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XSD 1.1//EN" "XMLSchema.dtd"> - описания схемы документа  языком схем DTD, храниться во внешнем файле. DTD - язык определений типов документов.
w3.org/2009/XMLSchema/XMLSchema.dtd


2.
<xs:schema

xmlns:xs="http://_.w3.org/2001/XMLSchema" xml:lang="RU" - пространство имен.


targetNamespace="http://_.w3.org/1999/xhtml" - урл целевого пространства имен.


elementFormDefault="qualified" - квалифицирован, все элементы схемы должны находиться в некотором пространстве имен.
Используется для контроля использования пространств имен в документах XML экземпляра (XML-файл), а не пространств имен в самой схемы документа (XSD-файл).
для глобального уточнения локальных элементов


attributeFormDefault="unqualified" - неквалифицирован, если человек не хочет, чтобы было установлено квалифицированное пространство имен. Для глобального уточнения локальных элементов схемы.
>

Подробнее на msdn.microsoft.com/ru-ru/library/ms172720(v=sql.120).aspx


3.

<xs:element name ="имя поля/тега в XML" type="xs:string"/> - простейшее описание одного тега в XML-ке.


<xs:element name ="konteyner">
   <xs:complexType> - сложный тип данных
   <xs:sequence>  - все вложенные значения konteyner будут только в указанной  последовательности: сначала <title>, потом <content>
   <xs:element name ="title" type="xs:string"/> 
   <xs:element name ="content" type="xs:string"/> 
    </xs:sequence>
    </xs:complexType>
  <xs:attribute use="required" name="atrib" ></xs:attribute>    -  атрибут тега konteyner. use="required" - обязателен 1 раз.
</xs:element>

Поделиться

2

Re: Xsd схемы - шпаргалка по синтаксису.

xsd:extension - расширяет  simpleContent.

Пример: определенный тип simpleType расширяется путем добавления перечисляемого атрибута.
XML

<xs:simpleType name="mountainBikeSize">
  <xs:restriction base="xs:string">
    <xs:enumeration value="small" />
    <xs:enumeration value="medium" />
    <xs:enumeration value="large" />
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="FamilyMountainBikes">
  <xs:simpleContent>
    <xs:extension base="mountainBikeSize">
      <xs:attribute name="familyMember">
      <xs:restriction base="xs:string">
        <xs:enumeration value="child" />
        <xs:enumeration value="male" />
        <xs:enumeration value="female" />
      </xs:restriction>
    </xs:attribute>
    </xs:extension>
  </xs:simpleContent>
</xs:complexType>

Поделиться

3

Re: Xsd схемы - шпаргалка по синтаксису.

Пример с одним атрибутом, у тега <meta> есть атрибут "charset".

 <xs:element name="meta">
 <xs:annotation><xs:documentation>Мета данные, кодировка файла</xs:documentation></xs:annotation>
      <xs:complexType>
     <xs:attribute name="charset"/>
     </xs:complexType>
</xs:element>

Поделиться

4

Re: Xsd схемы - шпаргалка по синтаксису.

Еще полезны ссылки:

freeformatter.com/xml-validator-xsd.html    -  проверка XML на соответствие xsd схемы.

utilities-online.info/xsdvalidation - тоже самое, но можно проверить еще на валидность отдельно XML  и xsd  схему.

Поделиться

5

Re: Xsd схемы - шпаргалка по синтаксису.

<xs:complexType mixed="true"> -  разрешаем текстовые данные между дочерними элементами.

<xs:any minOccurs="0"/> - разрешаем любые символьные данные внутри тега

Поделиться