<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-4760910234832658486</atom:id><lastBuildDate>Fri, 17 Oct 2025 17:26:38 +0000</lastBuildDate><title>XML. Изучение языков и web-технологий</title><description>Черновик изучения языков и web-технологий :XML</description><link>http://prostoxml.blogspot.com/</link><managingEditor>noreply@blogger.com (Sergey)</managingEditor><generator>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4760910234832658486.post-1664955677221968470</guid><pubDate>Wed, 23 Dec 2009 10:37:00 +0000</pubDate><atom:updated>2009-12-23T02:38:13.465-08:00</atom:updated><title>Как работает stylesheet</title><description>Документ XML:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;code_example&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!-- greeting.xml --&amp;gt;&lt;br /&gt;
&amp;lt;greeting&amp;gt;&lt;br /&gt;
&amp;nbsp; Hello, World!&lt;br /&gt;
&amp;lt;/greeting&amp;gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Файл XSLT:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;code_example&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!-- greeting.xsl --&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&quot;1.0&quot;&lt;br /&gt;
&amp;nbsp; xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;xsl:output method=&quot;html&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;xsl:template match=&quot;/&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:apply-templates select=&quot;greeting&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;lt;xsl:template match=&quot;greeting&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;html&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;body&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;h1&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:value-of select=&quot;.&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Команда для преобразования в html:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;msxsl greeting.xml greeting.xsl -o greeting.html&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Результат:&lt;br /&gt;
&lt;div class=&quot;code_example&quot;&gt;&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;&lt;br /&gt;
&amp;nbsp; Hello, World!&lt;br /&gt;
&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt; &lt;br /&gt;
&lt;/div&gt;</description><link>http://prostoxml.blogspot.com/2009/12/stylesheet.html</link><author>noreply@blogger.com (Sergey)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4760910234832658486.post-4933567259654132890</guid><pubDate>Wed, 23 Dec 2009 10:27:00 +0000</pubDate><atom:updated>2009-12-23T02:33:52.078-08:00</atom:updated><title>Namespaces. Пространство имён.</title><description>Благодаря &lt;b&gt;пространству имён&lt;/b&gt; можно &lt;b&gt;различать два элемента&lt;/b&gt; с &lt;b&gt;одинаковыми именами&lt;/b&gt;, но &lt;b&gt;разным контентом&lt;/b&gt;. &lt;br /&gt;
Например, &lt;b&gt;title&lt;/b&gt; как &lt;i&gt;заголовок книги&lt;/i&gt; и как &lt;i&gt;пол потребителя&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xyz xmlns:books=&quot;http://www.myco.com/books&quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:addr=&quot;http://www.usps.com/addresses&quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;All stylesheets we write begin like this&lt;/b&gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&quot;1.0&quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&quot;2.0&quot;&lt;br /&gt;
&amp;nbsp; xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для &lt;b&gt;парсинга&lt;/b&gt; XML-документов используются 2 наиболее популярных API – это &lt;b&gt;DOM&lt;/b&gt; (рекомендация W3C) и &lt;b&gt;SAX&lt;/b&gt; (Simple API for XML - стандарт де-факто).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;DOM XML&lt;/b&gt; спецификация определяет несколько интерфейсов:&lt;br /&gt;
1. &lt;b&gt;Node&lt;/b&gt; – базовый тип данных DOM. Document,&amp;nbsp; Element,&amp;nbsp; Attr,&amp;nbsp; Text, Comment, and ProcessingInstruction all extend the Node interface&lt;br /&gt;
2. &lt;b&gt;Document&lt;/b&gt;&lt;br /&gt;
3. &lt;b&gt;Element&lt;/b&gt;&lt;br /&gt;
4. &lt;b&gt;Attr&lt;/b&gt;&lt;br /&gt;
5. &lt;b&gt;Text&lt;/b&gt;&lt;br /&gt;
6. &lt;b&gt;Comment&lt;/b&gt; : begins with &amp;lt;!-- and ends with --&amp;gt;&lt;br /&gt;
7. &lt;b&gt;ProcessingInstruction&lt;/b&gt;:&lt;br /&gt;
&amp;lt;?xml-stylesheet href=&quot;case-study.xsl&quot; type=&quot;text/xsl&quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Как работает &lt;b&gt;DOM-парсер&lt;/b&gt;:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Создаёт объекты (Elements, Attr, Text, Comments), соотв. контенту документа.&lt;/li&gt;
&lt;li&gt;Размещает объекты в виде дерева.&lt;/li&gt;
&lt;li&gt;Парсит весь документ в целом и передает код возврата.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
Отличия &lt;b&gt;SAX&lt;/b&gt;&amp;nbsp; - он сообщает о результатах обработки по ходу парсинга, т. е возвращает события в вызывающий код.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Associating stylesheets with XML documents:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&quot;1.0&quot;?&amp;gt;&lt;br /&gt;
&amp;lt;?xml-stylesheet href=&quot;docbook/html/docbook.xsl&quot; type=&quot;text/xsl&quot;?&amp;gt;&lt;br /&gt;
&amp;lt;?xml-stylesheet href=&quot;docbook/wap/docbook.xsl&quot;&amp;nbsp; type=&quot;text/xsl&quot; media=&quot;wap&quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Microsoft &lt;b&gt;XSLT&lt;/b&gt; Processor :&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: blue;&quot;&gt;msxsl&amp;nbsp; sourcefile&amp;nbsp; stylesheet -o outputfilename&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Есть ещё другие отдельные XSLT –процессоры: Xalan, Saxon, Altova XSLT Engine&lt;br /&gt;
&lt;input id=&quot;gwProxy&quot; type=&quot;hidden&quot; /&gt;&lt;!--Session data--&gt;&lt;input id=&quot;jsProxy&quot; onclick=&quot;jsCall();&quot; type=&quot;hidden&quot; /&gt;&lt;div id=&quot;refHTML&quot;&gt;&lt;/div&gt;</description><link>http://prostoxml.blogspot.com/2009/12/namespaces.html</link><author>noreply@blogger.com (Sergey)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4760910234832658486.post-296001472669081209</guid><pubDate>Tue, 22 Dec 2009 07:48:00 +0000</pubDate><atom:updated>2009-12-23T02:35:29.326-08:00</atom:updated><title>Общие черты</title><description>&lt;b&gt;XSLT&lt;/b&gt; - &lt;i&gt;Extensible Stylesheet Language for Transformations&lt;/i&gt;.&lt;br /&gt;
Это официальная рекомендация W3C.&lt;br /&gt;
Два языка работают  вместе – &lt;b&gt;XPATH&lt;/b&gt; &lt;span style=&quot;color: #cc0000;&quot;&gt;идентифицирует части документа&lt;/span&gt; , которые подлежат преобразованию, а &lt;b&gt;XSLT&lt;/b&gt; говорит, &lt;span style=&quot;color: #cc0000;&quot;&gt;каким образом сделать преобразование&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;It provides a flexible, powerful language  for  transforming XML documents  into  something else,  such as an HTML document, another XML document, a Portable Document Format (PDF) file, a Scalable Vector Graphics  (SVG)  file, a Virtual Reality Modeling Language  (VRML)  file, Java&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;code, a flat text file, a JPEG file, or most anything you want. You write an XSLT stylesheet to define the rules for transforming an XML document, and the XSLT processor does the work.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Что &lt;b&gt;не может CSS&lt;/b&gt; (тем не менее, у  CSS своя ниша):&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&amp;nbsp;сортировать/фильтровать элементы&lt;/li&gt;
&lt;li&gt;&amp;nbsp;производить вычисления&lt;/li&gt;
&lt;li&gt;&amp;nbsp;комбинировать несколько документов&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;b&gt;XSLT файл должен быть XML-документом&lt;/b&gt;. Т.о., XSLT- файл может прообразовывать другой XSLT-файл и т.д. рекурсивно.&lt;br /&gt;
XSLT язык основан на поиске по образцу : если часть документа похожа на что-то, то преобразовать это во что-то другое…&lt;br /&gt;
&lt;b&gt;Переменные&lt;/b&gt; в XSLT-файле &lt;span style=&quot;color: #cc0000;&quot;&gt;НЕЛЬЗЯ изменить&lt;/span&gt; (ограничено для исключения побочных эффектов).&lt;br /&gt;
Вместо циклов XSLT использует &lt;b&gt;итерацию и рекурсию&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
В чём сила XSLT ? Несколько случаев для примера:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&amp;nbsp;доставка информации на разные типы устройств –  десктопы, пейджеры , мобильники. Если информация структурирована – тогда достаточно просто выполнить некоторые преобразования&lt;/li&gt;
&lt;li&gt;&amp;nbsp;обмен информацией с партнёрами, у которых разные базы данных&amp;nbsp; необходим периодический редизайн сайта &lt;/li&gt;
&lt;li&gt;&amp;nbsp;есть документы в различных форматах, которые необходимо обрабатывать&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
XSLT 1.0/ XPATH 1.0 – 16.11.1999&lt;br /&gt;
&lt;b&gt;XSLT 2.0&lt;/b&gt;/ XPATH 2.0 – 23.01.&lt;b&gt;2007&lt;/b&gt;&lt;br /&gt;
Существенные новшества 2.0 – &lt;b&gt;поддержка XML Schema&lt;/b&gt; и интеграция с &lt;b&gt;XQuery&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Правила построения XML-документов&lt;/b&gt;:&lt;br /&gt;
1. An XML document must be contained in a single element&lt;br /&gt;
2. All elements must be nested&lt;br /&gt;
3. All attributes must be quoted&lt;br /&gt;
4. XML tags are case-sensitive&lt;br /&gt;
5. All end tags are required&lt;br /&gt;
6. Empty tags can contain the end marker&lt;br /&gt;
7. XML declarations:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: blue;&quot;&gt;&amp;lt; ?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;? &amp;gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Остальные правила декларируются через &lt;b&gt;DTD&lt;/b&gt; (Document Type Definition) и XML &lt;b&gt;схемы&lt;/b&gt;.&lt;br /&gt;
Пример с DTD:&lt;br /&gt;
&lt;div class=&quot;code_example&quot;&gt;&amp;lt;!ELEMENT po (customer-id , item-ordered+ , order-date)&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT customer-id (#PCDATA)&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT item-ordered EMPTY&amp;gt;&lt;br /&gt;
&amp;lt;!ATTLIST item-ordered part-number CDATA #REQUIRED quantity CDATA #REQUIRED &amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT order-date EMPTY&amp;gt;&lt;br /&gt;
&amp;lt;!ATTLIST order-date day CDATA #REQUIRED&lt;br /&gt;
month CDATA #REQUIRED&lt;br /&gt;
year CDATA #REQUIRED &amp;gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
То же с помощью XML-схемы:&lt;br /&gt;
&lt;div class=&quot;code_example&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsd:schema xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;xsd:element name=&quot;po&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:complexType&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:sequence&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:element ref=&quot;customer-id&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:element ref=&quot;item-ordered&quot; maxOccurs=&quot;unbounded&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:element ref=&quot;order-date&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:sequence&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:complexType&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/xsd:element&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;lt;xsd:element name=&quot;customer-id&quot; type=&quot;xsd:string&quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;lt;xsd:element name=&quot;item-ordered&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:complexType&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:attribute name=&quot;part-number&quot; use=&quot;required&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:simpleType&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:restriction base=&quot;xsd:string&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:pattern value=&quot;[0-9]{5}(-[0-9]{4})?&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:restriction&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:simpleType&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:attribute&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:attribute name=&quot;quantity&quot; use=&quot;required&quot; type=&quot;xsd:integer&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:complexType&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/xsd:element&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;lt;xsd:element name=&quot;order-date&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:complexType&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:attribute name=&quot;day&quot; use=&quot;required&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:simpleType&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:restriction base=&quot;xsd:positiveInteger&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:maxInclusive value=&quot;31&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:restriction&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:simpleType&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:attribute&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:attribute name=&quot;month&quot; use=&quot;required&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:simpleType&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:restriction base=&quot;xsd:positiveInteger&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:maxInclusive value=&quot;12&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:restriction&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:simpleType&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:attribute&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:attribute name=&quot;year&quot; use=&quot;required&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:simpleType&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:restriction base=&quot;xsd:gYear&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:maxInclusive value=&quot;2100&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:restriction&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:simpleType&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:attribute&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:complexType&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/xsd:element&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/xsd:schema&amp;gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;XML- схемы&lt;/b&gt; значительно &lt;b&gt;сильнее&lt;/b&gt; DTD.&lt;br /&gt;
В схеме можно &lt;b&gt;задавать типы данных&lt;/b&gt; и другие &lt;b&gt;сложные структуры&lt;/b&gt;.&lt;br /&gt;
Схемы сами по себе есть XML-документы. Можно создать графическое представление схемы для визуализации правил построения документа.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Лучший способ &lt;/b&gt;определения &lt;b&gt;&amp;lt;order-date &amp;gt;:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:element name=&quot;order-date&quot; type=&quot;&lt;b&gt;xsd:date&lt;/b&gt;&quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Любой XML-документ, который соответствует требуемым правилам, есть &lt;b&gt;well-formed.&lt;/b&gt;&lt;br /&gt;
Кроме того, если XML-документ ссылается на набор правил, которые определяют, как документ структурирован (DTD или XML-схема), и он соответствует этим правилам, то документ считается&amp;nbsp; &lt;b&gt;valid&lt;/b&gt;.&lt;br /&gt;
&lt;input id=&quot;gwProxy&quot; type=&quot;hidden&quot; /&gt;&lt;!--Session data--&gt;&lt;input id=&quot;jsProxy&quot; onclick=&quot;jsCall();&quot; type=&quot;hidden&quot; /&gt;&lt;div id=&quot;refHTML&quot;&gt;&lt;/div&gt;</description><link>http://prostoxml.blogspot.com/2009/12/blog-post.html</link><author>noreply@blogger.com (Sergey)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4760910234832658486.post-4375739859343826161</guid><pubDate>Mon, 11 May 2009 11:49:00 +0000</pubDate><atom:updated>2009-05-11T04:51:48.020-07:00</atom:updated><title>XML transformations</title><description>Источник -  OReilly.XSLT.2nd.Edition.Jul.2008.&lt;br /&gt;XSLT - Extensible Stylesheet Language for Transformations.</description><link>http://prostoxml.blogspot.com/2009/05/xml-transformations.html</link><author>noreply@blogger.com (Sergey)</author><thr:total>0</thr:total></item></channel></rss>