XML Schema

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене

XML Schema е първия одобрен схеманичен език, използващ XML, в архива с препоръки на W3C (World Wide Web Consortium). Препоръката на W3C e от май 2001 година. Както всички XML схема езици, XML Schema се използва да изрази схема: инструкция на която XML документ съответствува, за да бъде считан за действителен според тази схема. Обаче, за разлика от болшинството от другите схема езици, XML Schema също така е проектиран с намерението за утвърждаване на достоверност и действителност, довеждаща до колекция, информационно придържаща се към специфични типове от данни , които са полезни в развитието на обработващия софтуер на XML документа , но който също така подлежи на критика. Пример за XML Schema е XML Schema Definition (XSD) прието е името на файл да има разширение ".xsd". Самия език понякога неформално е наричан XSD. Тогава е било предложено WXS (за W3C XML Схема) като по-подходящи инициали, но тази абривиатура не се е използвала и W3C работната група я отхвърля. XSD е също така абривиатура на XML Schema Datatypes, datatype частта от XML Schema.

История[редактиране | edit source]

По отношение на препращанията, XML Schema е повлияна от DTD и другите ранни усилия за създаване на XML схема както например, DDML, SOX, XML-Data, и XDR. Оказва се, че има избрани парчета от всички тези предложения, но също така е компромис между тях. Някои от тези езици, като XDR и SOX продължават да бъдат използвани и поддържани впоследствие публикуването на XML Schema. Много Microsoft продукти поддържаха XDR до пускането на MSXML 4.0 през октомври 2001(който заменя XDR с XML Schema). Commerce One Inc. поддържа неговия SOX Schema език до обявяване на банкрут в края на 2004. През декември на 2006-та, Novell Inc. купи патентите на компанията, включително онези свързани със SOX. От компанията завеждат много патентно-свързани съдебни процеси срещу компании използващи неправомерно SOX Schema.

Схема-Утвърждаване на действителност[редактиране | edit source]

XML Schema-based validation (XML схема-базирано утвърждаване на действителност), дава възможност да се изрази XML структурата на документа и съдържанието в рамките на модела от данни така, че да бъде разпознат по подразбиране.Един XML Schema модел от данни включва:

  • речник (елемент и имена на атрибута)
  • контент модел (връзка и структура)
  • типовете данни.

Тази колекция от информация е наречена Post-Schema-Validation Infoset (PSVI)(Пост-Схема-Утвърждаване за действителност Информационно позициониране ). PSVI дава a действителен XML, документира неговия тип и облекчава отнасянето към документа като обект, използващ парадигми на обектно-ориентираното програмиране (OOP) .

Този специален OOP подход към XML достъпа до данни първоначално бе застъпен от Microsoft, главен участник в развитието на XML Schema. Преобразуването на XML документ в определен и имащ ясно представяне обект е добре приложимо в някои части на компютърно-софтуерното проектиране, но критиците оспорват това, защото така се загубва откритостта, ключова отличителна черта на XML.

В допълнение, ограниченията присъщи на (и причинени от) XML Schema datatypes, ограничителната свръзка на използвания datatypes (тип данни) с останалата част от XML Schema, и зависимостите на този datatypes в друга W3C спецификация са причина за спорове между XML софтуерните разработчици.

Пример:[редактиране | edit source]

Пример за проста XML Schema Definition за очертаване характеристиките на държава

<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="country" type="Country"/>
 <xs:complexType name="Country">
  <xs:sequence>
   <xs:element name="name" type="xs:string"/>
   <xs:element name="population" type="xs:decimal"/>
  </xs:sequence>
 </xs:complexType>
</xs:schema>

Пример XML документ в съответстващ на схемата.

<country
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:noNamespaceSchemaLocation="country.xsd">
  <name>France</name>
  <population>59.7</population>
</country>

XML Schema Definition[редактиране | edit source]

XML Schema Definition (XSD) (XML Схема Определение) е пример за XML схема написана на XML Schema. XSD определя типа на XML документ и рамките за действия по подразбиране на съответните елементи и атрибути, способността им да се проявяват, тяхното отношение един към друг, какви типове на данни може да се съдържат в тях, и други неща. Това може да бъде използвано от софтуер за утвърждаване на действителност за да се установи подробно дали XML документ е от съответния тип, и да произведе PSVI.

XSD-ите са първите препоръчани от W3C XML схеми осигуряващи namespace и datatype - осигуряващи алтернатива за използване написан на XML Document Type Definitions (DTDs) (Документ Типови Определения).

XML Schema Definition файловете обичайно имат името на файл разширение ".xsd". Уникален Internet Media Type все още не е регистриран за XSDs, така че "application/xml" или "text/xml" трябва да бъде използван, съобразно RFC 3023.