Краткое описание создания xml файла по xsd схеме на примере создания выгрузки статистической отчетности для фтс
Содержание:
- Element
- Divide the Schema
- Verify the output
- XSD — Simple Types
- XSD — Complex Types
- Поиск информации в XML файлах (XPath)¶
- Create an XML Schema
- Как открыть xsd формат
- Время Тип данных
- Syntax
- DateTime Тип данных
- An XML Document
- Создание XML-схемы
- Дата Тип данных
- Using Named Types
- Открываем файл при помощи «EditX Lite Version»
- Продолжительность Тип данных
Element
Schema is the root element of XSD and it is always required.
<xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">
targetNamespace = "http://www.tutorialspoint.com"
The above fragment specifies that elements used in this schema are defined in http://www.tutorialspoint.com namespace. It is optional.
xmlns = "http://www.tutorialspoint.com"
The above fragment specifies that default namespace is http://www.tutorialspoint.com.
elementFormDefault = "qualified"
The above fragment indicates that any elements declared in this schema must be namespace qualified before using them in any XML Document.It is optional.
Divide the Schema
The previous design method is very simple, but can be difficult to read and maintain when documents are complex.
The next design method is based on defining all elements and attributes first, and then referring to them using the ref attribute.
Here is the new design of the schema file («shiporder.xsd»):
<?xml version=»1.0″ encoding=»UTF-8″ ?>
<xs:schema xmlns:xs=»http://www.w3.org/2001/XMLSchema»>
<!— definition of simple elements —>
<xs:element name=»orderperson» type=»xs:string»/>
<xs:element name=»name» type=»xs:string»/>
<xs:element name=»address» type=»xs:string»/>
<xs:element name=»city» type=»xs:string»/>
<xs:element name=»country» type=»xs:string»/>
<xs:element name=»title» type=»xs:string»/>
<xs:element name=»note» type=»xs:string»/>
<xs:element name=»quantity» type=»xs:positiveInteger»/>
<xs:element name=»price» type=»xs:decimal»/>
<!— definition of attributes —>
<xs:attribute name=»orderid» type=»xs:string»/>
<!— definition of complex elements —>
<xs:element name=»shipto»>
<xs:complexType>
<xs:sequence>
<xs:element ref=»name»/>
<xs:element ref=»address»/>
<xs:element ref=»city»/>
<xs:element ref=»country»/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name=»item»>
<xs:complexType>
<xs:sequence>
<xs:element ref=»title»/>
<xs:element ref=»note» minOccurs=»0″/>
<xs:element ref=»quantity»/>
<xs:element ref=»price»/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name=»shiporder»>
<xs:complexType>
<xs:sequence>
<xs:element ref=»orderperson»/>
<xs:element ref=»shipto»/>
<xs:element ref=»item» maxOccurs=»unbounded»/>
</xs:sequence>
<xs:attribute ref=»orderid» use=»required»/>
</xs:complexType>
</xs:element>
</xs:schema>
Verify the output
You’ll see the following result −
students.xml is valid against students.xsd
XSD — Simple Types
In this chapter, we’ll see Simple Types that XSD defines.
S.No. | Simple Type & Description |
---|---|
1 |
Simple Element can contain only text. It can not contain any other element. |
2 |
Attribute is itself a type and is used in Complex Element. |
3 |
Restriction defines the acceptable values of an XML element. |
XSD — Complex Types
Complex Element is an XML element which can contain other elements and/or attributes. We can create a complex element in two ways −
-
Define a complex type and then create an element using the type attribute
-
Define a complex type directly by naming
Define a Complex Type and then create an element using type attribute.
<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:element name = 'student' type = 'StudentType' />
Define a Complex Type directly by naming.
<xs:element name = "student"> <xs:complexType> <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:element>
Following is the list of Complex Types that XSD supports.
S.No. | Simple Type & Description |
---|---|
1 |
Complex Empty complex type element can only have attributes but no contents. |
2 |
Elements-Only complex type element can only contain elements |
3 |
Text-Only complex type element can only contain attribute and text. |
4 |
Mixed complex type element can contain element, attribute and text. |
5 |
Indicators controls the ways how elements are to be organized in an XML document. |
6 |
The <any> element is used for elements which are not defined by schema |
7 |
The <anyAttribute> attribute is used for attribute which are not defined by schema. |
String data types are used to represent characters in the XML documents.
Поиск информации в XML файлах (XPath)¶
XPath ( англ. XML Path Language) — язык запросов к элементам
XML-документа. XPath расширяет возможности работы с XML.
XML имеет древовидную структуру. В документе всегда имеется корневой
элемент (инструкция к дереву отношения не имеет).
У элемента дерева всегда существуют потомки и предки, кроме корневого
элемента, у которого предков нет, а также тупиковых элементов (листьев
дерева), у которых нет потомков. Каждый элемент дерева находится на
определенном уровне вложенности (далее — «уровень»). У элементов на
одном уровне бывают предыдущие и следующие элементы.
Это очень похоже на организацию каталогов в файловой системе, и строки
XPath, фактически, — пути к «файлам» — элементам. Рассмотрим пример
списка книг:
<?xml version="1.0" encoding="windows-1251"?> <bookstore> <book category="COOKING"> <title lang="it">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="WEB"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore>
XPath запрос вернет следующий результат:
<price>30.00</price> <price>29.99</price> <price>39.95</price>
Сокращенная форма этого запроса выглядит так: .
С помощью XPath запросов можно искать информацию по атрибутам. Например,
можно найти информацию о книге на итальянском языке: вернет .
Чтобы получить больше информации, необходимо модифицировать запрос вернет:
<book category="COOKING"> <title lang="it">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book>
В приведенной ниже таблице представлены некоторые выражения XPath и
результат их работы:
Create an XML Schema
Now we want to create a schema for the XML document above.
We start by opening a new file that we will call «shiporder.xsd». To create the schema we could simply follow
the structure in the XML document and define each element as we find it. We will start with the standard XML declaration followed by the xs:schema element that defines a schema:
<?xml version=»1.0″ encoding=»UTF-8″ ?>
<xs:schema xmlns:xs=»http://www.w3.org/2001/XMLSchema»>…
</xs:schema>
In the schema above we use the standard namespace (xs), and the URI
associated with this namespace is the Schema language definition, which has the
standard value of http://www.w3.org/2001/XMLSchema.
Next, we have to define the «shiporder» element. This element has an
attribute and it contains other elements, therefore we consider it as a complex
type. The child elements of the «shiporder» element is surrounded by a
xs:sequence element that defines an ordered sequence of sub elements:
<xs:element name=»shiporder»>
<xs:complexType>
<xs:sequence>
…
</xs:sequence>
</xs:complexType>
</xs:element>
Then we have to define the «orderperson» element as a simple type (because it does
not contain any attributes or other elements). The type (xs:string) is prefixed
with the namespace prefix associated with XML Schema that indicates a predefined
schema data type:
<xs:element name=»orderperson» type=»xs:string»/>
Next, we have to define two elements that are of the complex type: «shipto» and
«item». We start by defining the «shipto» element:
<xs:element name=»shipto»>
<xs:complexType>
<xs:sequence>
<xs:element name=»name» type=»xs:string»/>
<xs:element name=»address» type=»xs:string»/>
<xs:element name=»city» type=»xs:string»/>
<xs:element name=»country» type=»xs:string»/>
</xs:sequence>
</xs:complexType>
</xs:element>
With schemas we can define the number of possible occurrences for an element
with the maxOccurs and minOccurs attributes. maxOccurs specifies the maximum
number of occurrences for an element and minOccurs specifies the minimum number
of occurrences for an element. The default value for both maxOccurs and
minOccurs is 1!
Now we can define the «item» element. This element can appear multiple times
inside a «shiporder» element. This is specified by setting the maxOccurs
attribute of the «item» element to «unbounded» which means that there can be as
many occurrences of the «item» element as the author wishes. Notice that the
«note» element is optional. We have specified this by setting the minOccurs
attribute to zero:
<xs:element name=»item» maxOccurs=»unbounded»>
<xs:complexType>
<xs:sequence>
<xs:element name=»title» type=»xs:string»/>
<xs:element name=»note» type=»xs:string» minOccurs=»0″/>
<xs:element name=»quantity» type=»xs:positiveInteger»/>
<xs:element name=»price» type=»xs:decimal»/>
</xs:sequence>
</xs:complexType>
</xs:element>
We can now declare the attribute of the «shiporder» element. Since
this is a required attribute we specify use=»required».
Note: The attribute declarations must always come last:
<xs:attribute name=»orderid» type=»xs:string» use=»required»/>
Here is the complete listing of the schema file called «shiporder.xsd»:
<?xml version=»1.0″ encoding=»UTF-8″ ?>
<xs:schema xmlns:xs=»http://www.w3.org/2001/XMLSchema»>
<xs:element name=»shiporder»>
<xs:complexType>
<xs:sequence>
<xs:element name=»orderperson» type=»xs:string»/>
<xs:element name=»shipto»>
<xs:complexType>
<xs:sequence>
<xs:element name=»name» type=»xs:string»/>
<xs:element name=»address» type=»xs:string»/>
<xs:element name=»city» type=»xs:string»/>
<xs:element name=»country» type=»xs:string»/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name=»item» maxOccurs=»unbounded»>
<xs:complexType>
<xs:sequence>
<xs:element name=»title» type=»xs:string»/>
<xs:element name=»note» type=»xs:string» minOccurs=»0″/>
<xs:element name=»quantity» type=»xs:positiveInteger»/>
<xs:element name=»price» type=»xs:decimal»/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name=»orderid» type=»xs:string» use=»required»/>
</xs:complexType>
</xs:element>
</xs:schema>
Как открыть xsd формат
Для открытия большинства файлов xsd будет достаточно использовать любые подручные текстовые редакторы (тот же «Блокнот», Notepad++, PSPad Editor и др.). Также в открытии xsd формата могут пригодиться такие программы как Microsoft XML Notepad, Oxygen XML Editor, Liquid XML Studio и другие аналоги.
Если же данный файл являет собой результат работы программы Pattern Maker for Cross stitch (обычно это рисунок-схема для вышивки), то такой файл можно просмотреть или с помощью указанной программы, или с помощью специального просмотрщика под названием «Pattern Maker Viewer».
Вышивка формата .XSD
Время Тип данных
Тип данных в реальном времени используется для указания времени.
Время указывается в следующей форме «hh:mm:ss» , где:
- чч указывает на час
- мм указывает на минуту
- сс указывает второй
Note: Все компоненты необходимы!
Ниже приведен пример временной декларации в схеме:
<xs:element name=»start» type=»xs:time»/>
Элемент в документе может выглядеть следующим образом:
<start>09:00:00</start>
Или это может выглядеть следующим образом:
<start>09:30:10.5</start>
Часовые пояса
Чтобы указать часовой пояс, вы можете либо ввести время во времени UTC, добавив «Z» за время — как это:
<start>09:30:10Z</start>
или вы можете задать смещение от времени UTC путем добавления положительного или отрицательного времени за время — как это:
<start>09:30:10-06:00</start>
or
<start>09:30:10+06:00</start>
Syntax
The basic syntax of a XSD is as follows −
<?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>
DateTime Тип данных
Тип данных DATETIME используется для указания даты и времени.
DATETIME задается в следующем виде «YYYY-MM-DDThh:mm:ss» , где:
- YYYY указывает год
- ММ указывает месяц
- DD означает день
- T указывает на начало требуемого времени раздела
- чч указывает на час
- мм указывает на минуту
- сс указывает второй
Note: Все компоненты необходимы!
Ниже приведен пример декларации DATETIME в схеме:
<xs:element name=»startdate» type=»xs:dateTime»/>
Элемент в документе может выглядеть следующим образом:
<startdate>2002-05-30T09:00:00</startdate>
Или это может выглядеть следующим образом:
<startdate>2002-05-30T09:30:10.5</startdate>
Часовые пояса
Чтобы указать часовой пояс, вы можете либо ввести DATETIME во времени UTC, добавив «Z» за время — как это:
<startdate>2002-05-30T09:30:10Z</startdate>
или вы можете задать смещение от времени UTC путем добавления положительного или отрицательного времени за время — как это:
<startdate>2002-05-30T09:30:10-06:00</startdate>
or
<startdate>2002-05-30T09:30:10+06:00</startdate>
An XML Document
Let’s have a look at this XML document called «shiporder.xml»:
<?xml version=»1.0″ encoding=»UTF-8″?>
<shiporder orderid=»889923″
xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance»
xsi:noNamespaceSchemaLocation=»shiporder.xsd»>
<orderperson>John Smith</orderperson>
<shipto>
<name>Ola Nordmann</name>
<address>Langgt 23</address>
<city>4000 Stavanger</city>
<country>Norway</country>
</shipto>
<item>
<title>Empire Burlesque</title>
<note>Special Edition</note>
<quantity>1</quantity>
<price>10.90</price>
</item>
<item>
<title>Hide your heart</title>
<quantity>1</quantity>
<price>9.90</price>
</item>
</shiporder>
The XML document above consists of a root element, «shiporder»,
that contains a required attribute called «orderid». The «shiporder» element contains three
different child elements: «orderperson», «shipto» and «item». The «item» element
appears twice, and it contains a «title», an optional «note» element, a «quantity», and a «price»
element.
The line above: xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance» tells the XML parser that this document should be validated against a schema.
The line: xsi:noNamespaceSchemaLocation=»shiporder.xsd» specifies WHERE the schema resides (here it is in the same folder as «shiporder.xml»).
Создание XML-схемы
Теперь мы хотим создать схему для документа XML выше.
Мы начнем с открытия нового файла , который мы будем называть «shiporder.xsd» . Для того, чтобы создать схему мы могли бы просто следовать структуре в документе XML и определите каждый элемент, как мы находим его. Мы начнем со стандартной декларации XML с последующим хз: элемент схемы, который определяет схему:
<?xml version=»1.0″ encoding=»UTF-8″ ?>
<xs:schema xmlns:xs=»http://www.w3.org/2001/XMLSchema»>…
</xs:schema>
В схеме выше мы используем стандартные пространства имен (xs) , и URI , связанный с этим пространством имен является определение языка схемы, который имеет стандартное значение http://www.w3.org/2001/XMLSchema.
Далее, мы должны определить «shiporder» элемент. Этот элемент имеет атрибут и содержит другие элементы, поэтому мы рассматриваем его как сложный тип. Дочерние элементы «shiporder» элемент окружен хз: элемент последовательности , которая определяет упорядоченную последовательность субэлементов:
<xs:element name=»shiporder»>
<xs:complexType>
<xs:sequence>
…
</xs:sequence>
</xs:complexType>
</xs:element>
Затем мы должны определить «orderperson» элемент в качестве простого типа (так как она не содержит каких — либо атрибутов или других элементов). В типа (xs:string) с префиксом префикс пространства имен , связанного с XML — схемы , которая указывает заранее определенный тип данных схемы:
<xs:element name=»orderperson» type=»xs:string»/>
Далее, мы должны определить два элемента , которые имеют сложного типа: «shipto» и «item» . Мы начнем с определения «shipto» элемент:
<xs:element name=»shipto»>
<xs:complexType>
<xs:sequence>
<xs:element name=»name» type=»xs:string»/>
<xs:element name=»address» type=»xs:string»/>
<xs:element name=»city» type=»xs:string»/>
<xs:element name=»country» type=»xs:string»/>
</xs:sequence>
</xs:complexType>
</xs:element>
С помощью схем, которые мы можем определить количество возможных появлений для элемента с MaxOccurs и атрибутами MinOccurs. MaxOccurs определяет максимальное число вхождений для элемента и MinOccurs определяет минимальное число вхождений для элемента. Значение по умолчанию для обоих MaxOccurs и MinOccurs 1!
Теперь мы можем определить «item» элемент. Этот элемент может появляться несколько раз внутри «shiporder» элемента. Это определяется установкой maxOccurs атрибут «item» элемента «unbounded» , что означает , что там может быть много вхождений «item» элемент , как автор хочет
Обратите внимание на то, что «note» элемент не является обязательным. Мы определили это, установив minOccurs атрибут к нулю:
<xs:element name=»item» maxOccurs=»unbounded»>
<xs:complexType>
<xs:sequence>
<xs:element name=»title» type=»xs:string»/>
<xs:element name=»note» type=»xs:string» minOccurs=»0″/>
<xs:element name=»quantity» type=»xs:positiveInteger»/>
<xs:element name=»price» type=»xs:decimal»/>
</xs:sequence>
</xs:complexType>
</xs:element>
Теперь мы можем объявить атрибут «shiporder» элемента. Поскольку это обязательный атрибут мы указываем использование = «требуется».
Note: Заявления атрибутов всегда должны прийти в последний раз :
<xs:attribute name=»orderid» type=»xs:string» use=»required»/>
Вот полный список файла схемы под названием «shiporder.xsd» :
<?xml version=»1.0″ encoding=»UTF-8″ ?>
<xs:schema xmlns:xs=»http://www.w3.org/2001/XMLSchema»>
<xs:element name=»shiporder»>
<xs:complexType>
<xs:sequence>
<xs:element name=»orderperson» type=»xs:string»/>
<xs:element name=»shipto»>
<xs:complexType>
<xs:sequence>
<xs:element name=»name» type=»xs:string»/>
<xs:element name=»address» type=»xs:string»/>
<xs:element name=»city» type=»xs:string»/>
<xs:element name=»country» type=»xs:string»/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name=»item» maxOccurs=»unbounded»>
<xs:complexType>
<xs:sequence>
<xs:element name=»title» type=»xs:string»/>
<xs:element name=»note» type=»xs:string» minOccurs=»0″/>
<xs:element name=»quantity» type=»xs:positiveInteger»/>
<xs:element name=»price» type=»xs:decimal»/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name=»orderid» type=»xs:string» use=»required»/>
</xs:complexType>
</xs:element>
</xs:schema>
Дата Тип данных
Тип дата данные используются, чтобы указать дату.
Дата указывается в следующем виде «YYYY-MM-DD» , где:
- YYYY указывает год
- ММ указывает месяц
- DD означает день
Note: Все компоненты необходимы!
Ниже приведен пример дату декларации в схеме:
<xs:element name=»start» type=»xs:date»/>
Элемент в документе может выглядеть следующим образом:
<start>2002-09-24</start>
Часовые пояса
Чтобы указать часовой пояс, вы можете либо ввести дату в время UTC путем добавления «Z» за сегодняшний день — как это:
<start>2002-09-24Z</start>
или вы можете задать смещение от времени UTC путем добавления положительного или отрицательного времени за сегодняшний день — как это:
<start>2002-09-24-06:00</start>
or
<start>2002-09-24+06:00</start>
Using Named Types
The third design method defines classes or types, that enables us to reuse element
definitions. This is done by naming the simpleTypes and complexTypes elements,
and then point to them through the type attribute of the element.
Here is the third design of the schema file («shiporder.xsd»):
<?xml version=»1.0″ encoding=»UTF-8″ ?>
<xs:schema xmlns:xs=»http://www.w3.org/2001/XMLSchema»>
<xs:simpleType name=»stringtype»>
<xs:restriction base=»xs:string»/>
</xs:simpleType>
<xs:simpleType name=»inttype»>
<xs:restriction base=»xs:positiveInteger»/>
</xs:simpleType>
<xs:simpleType name=»dectype»>
<xs:restriction base=»xs:decimal»/>
</xs:simpleType>
<xs:simpleType name=»orderidtype»>
<xs:restriction base=»xs:string»>
<xs:pattern value=»{6}»/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name=»shiptotype»>
<xs:sequence>
<xs:element name=»name» type=»stringtype»/>
<xs:element name=»address» type=»stringtype»/>
<xs:element name=»city» type=»stringtype»/>
<xs:element name=»country» type=»stringtype»/>
</xs:sequence>
</xs:complexType>
<xs:complexType name=»itemtype»>
<xs:sequence>
<xs:element name=»title» type=»stringtype»/>
<xs:element name=»note» type=»stringtype» minOccurs=»0″/>
<xs:element name=»quantity» type=»inttype»/>
<xs:element name=»price» type=»dectype»/>
</xs:sequence>
</xs:complexType>
<xs:complexType name=»shipordertype»>
<xs:sequence>
<xs:element name=»orderperson» type=»stringtype»/>
<xs:element name=»shipto» type=»shiptotype»/>
<xs:element name=»item» maxOccurs=»unbounded» type=»itemtype»/>
</xs:sequence>
<xs:attribute name=»orderid» type=»orderidtype» use=»required»/>
</xs:complexType>
<xs:element name=»shiporder» type=»shipordertype»/>
</xs:schema>
The restriction element indicates that the datatype is derived from a W3C XML
Schema namespace datatype. So, the following fragment means that the value of
the element or attribute must be a string value:
<xs:restriction base=»xs:string»>
The restriction element is more often used to apply restrictions to elements.
Look at the following lines from the schema above:
<xs:simpleType name=»orderidtype»>
<xs:restriction base=»xs:string»>
<xs:pattern value=»{6}»/>
</xs:restriction>
</xs:simpleType>
This indicates that the value of the element or attribute must be a string, it must be exactly six characters in a row, and those characters must be a
number from 0 to 9.
❮ Previous
Next ❯
Открываем файл при помощи «EditX Lite Version»
Еще одним простым способом для прочтения файлов, имеющих столь распространенное расширение, является использование программы «EditX Lite Version». Данное приложение также является бесплатным и общедоступным, что сделало его одним из лучших в своем сегменте. Кроме того, быстрота функционирования программы является впечатляющей. Чтобы при помощи данной программы открыть необходимый документ, нужно:
- В первую очередь загрузить безопасную версию приложения с официального сайта издателя. Загружаем безопасную версию приложения с официального сайта издателя
- Завершить процесс установки на персональный компьютер.
- Произвести запуск программы. Запускаем программу
- Выбрать подходящий файл в списке предлагаемых. Выбираем подходящий файл
- Подождать окончания процесса преобразования. Ждём окончания процесса преобразования
Примечание! XML является одним из самых важных языков разметки, и на данное время без него трудно себе представить интернет. Благодаря ему происходит обмен данными среди всех возможных видов приложений. Данный язык гармонично дополняет HTML и служит лишь для того, чтобы «транспортировать» некие данные.
Продолжительность Тип данных
Тип данных продолжительность используется для задания интервала времени.
Интервал времени задается в следующем виде «PnYnMnDTnHnMnS» , где:
- P указывает период (required)
- nY указывает количество лет
- nM указывает на количество месяцев
- nD указывает количество дней
- T указывает на начало временного интервала (требуется , если вы собираетесь указать часы, минуты или секунды)
- nH указывает количество часов
- nM указывает количество минут
- nS указывает количество секунд
Ниже приведен пример объявления длительности в схеме:
<xs:element name=»period» type=»xs:duration»/>
Элемент в документе может выглядеть следующим образом:
<period>P5Y</period>
Приведенный выше пример показывает, в течение пяти лет.
Или это может выглядеть следующим образом:
<period>P5Y2M10D</period>
Приведенный выше пример показывает, в течение пяти лет, два месяца и 10 дней.
Или это может выглядеть следующим образом:
<period>P5Y2M10DT15H</period>
Приведенный выше пример показывает, в течение пяти лет, два месяца, 10 дней и 15 часов.
Или это может выглядеть следующим образом:
<period>PT15H</period>
Приведенный выше пример показывает, в течение 15 часов.
Отрицательная Длительность
Чтобы указать отрицательную продолжительность, введите знак минус перед P:
<period>-P10D</period>
В приведенном выше примере указывает период минус 10 дней.