Язык xsd. Что такое XSD-файл – как использовать и конвертировать формат

Главная / Браузеры

В этой главе будет показано, как написать XML-схемы. Вы также узнаете, что схема может быть записана по-разному.

Документа XML

Давайте посмотрим на этот XML - документ под названием "shiporder.xml" :

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="shiporder.xsd">
John Smith

Ola Nordmann

Langgt 23

4000 Stavanger
Norway


Empire Burlesque
Special Edition
1
10.90


Hide your heart
1
9.90

Документ XML выше состоит из корневого элемента, "shiporder" , который содержит обязательный атрибут под названием "orderid" . "shiporder" элемент содержит три различных дочерних элемента: "orderperson" , "shipto" и "item" . "item" элемент появляется дважды, и он содержит "title" , необязательный "note" элемент, "quantity" , и "price" элемент.

Линия выше: Xmlns: XSI = "http://www.w3.org/2001/XMLSchema-instance" говорит XML-анализатору, что этот документ должен быть проверен на схеме. Линия: XSI: noNamespaceSchemaLocation = "shiporder.xsd" указывает, где находится схемы что и (here it is in the same folder as "shiporder.xml") .

Создание XML-схемы

Теперь мы хотим создать схему для документа XML выше.

Мы начнем с открытия нового файла, который мы будем называть "shiporder.xsd" . Для того, чтобы создать схему мы могли бы просто следовать структуре в документе XML и определите каждый элемент, как мы находим его. Мы начнем со стандартной декларации XML с последующим хз: элемент схемы, который определяет схему:



...

В схеме выше мы используем стандартные пространства имен (xs) , и URI , связанный с этим пространством имен является определение языка схемы, который имеет стандартное значение http://www.w3.org/2001/XMLSchema.

Далее, мы должны определить "shiporder" элемент. Этот элемент имеет атрибут и содержит другие элементы, поэтому мы рассматриваем его как сложный тип. Дочерние элементы "shiporder" элемент окружен хз: элемент последовательности, которая определяет упорядоченную последовательность субэлементов:




...


Затем мы должны определить "orderperson" элемент в качестве простого типа (так как она не содержит каких - либо атрибутов или других элементов). В типа (xs:string) с префиксом префикс пространства имен, связанного с XML - схемы, которая указывает заранее определенный тип данных схемы:










С помощью схем, которые мы можем определить количество возможных появлений для элемента с MaxOccurs и атрибутами MinOccurs. MaxOccurs определяет максимальное число вхождений для элемента и MinOccurs определяет минимальное число вхождений для элемента. Значение по умолчанию для обоих MaxOccurs и MinOccurs 1!

Теперь мы можем определить "item" элемент. Этот элемент может появляться несколько раз внутри "shiporder" элемента. Это определяется установкой maxOccurs атрибут "item" элемента "unbounded" , что означает, что там может быть много вхождений "item" элемент, как автор хочет. Обратите внимание на то, что "note" элемент не является обязательным. Мы определили это, установив minOccurs атрибут к нулю:










Теперь мы можем объявить атрибут "shiporder" элемента. Поскольку это обязательный атрибут мы указываем использование = "требуется".

Note: Заявления атрибутов всегда должны прийти в последний раз:

Вот полный список файла схемы под названием "shiporder.xsd" :





























Разделите схемы

Предыдущий метод дизайн очень прост, но может быть трудно читать и поддерживать, когда документы являются сложными.

Следующий метод дизайн основан на определении всех элементов и атрибутов, а затем ссылаясь на них, используя ref атрибут.

Вот новый дизайн файла схемы ("shiporder.xsd") :








































Использование именованных типов

Способ третий дизайн определяет классы или типы, что позволяет повторно использовать определения элементов. Это делается путем именования элементов simpleTypes и complexTypes, а затем указать на них через type атрибута элемента.

Вот уже третий дизайн файла схемы ("shiporder.xsd") :

































Элемент ограничение указывает на то, что тип данных был получен из пространства имен типа данных XML-схемы W3C. Таким образом, следующий фрагмент означает, что значение элемента или атрибута должно быть значение строки:

Элемент ограничение чаще используется, чтобы применить ограничения к элементам. Посмотрите на следующие строки из приведенной выше схеме:





Это указывает на то, что значение элемента или атрибута должно быть строкой, оно должно быть ровно шесть символов в строке, и эти символы должны быть числом от 0 до 9.

Хотелось бы в одном месте рассказать о вполне типичной задаче при работе с XML , а именно, о создании XML на основе существующего. Данная операция будет состоять из нескольких этапов, при выполнении которых, будут решены дополнительные задачи, такие как:

  • Создание XML на основе XSD , и наоборот.
  • Сериализация и десериализация объектов.
  • Создание класса, для будущей сериализации из XML или XSD .
Перед началом планирую, что читатель знаком со словами XML и XSD . Что касается XML , думаю с этим проблем нет, но что касается XSD могу возникнут вопросы, что же это такое. Если коротко, то:
XSD - это язык, для описания XML . И если вы посмотрите содержимое файла содержащего это описание, то возникнет вопрос, зачем же описывать казалось бы очевидные теги вашего XML ? Но представьте, что вы интегрируетесь с какой то внешней системой, и для обмена данных хотите использовать формат XML . Так вот, XSD позволяет описать для каждого элемента его именя, возможные атрибуты, обязательность полей или атрибутов, дать понять, что содержимое какого то тега может содержать лишь один внутренний элемент () и не более, либо узел может иметь последовательность элементов (< a> ... ). Когда внешняя система является вашей, тогда проблем может не возникнуть, но когда это сторонняя организация, тогда данное описание через XSD , будет инструментом урегулирования споров с форматом, а так же, используя утилиты, можно проверить соответствие любой XML изначальному формату.
Итак, что же мы будем делать, для того, что бы научиться штамповать XML на основе вашего эталона? Опишу всё по порядку.

Имеется:
Какой то XML (xmlfile.xml) , сохраненный в текстовом формате в файл. Ниже приведу текст:

< catalog > < book id = " bk101 " > < author > Gambardella, Matthew < title > XML Developer"s Guide < genre > Computer < price > 44.95 < publish_date > 2000-10-01 < description > An in-depth look at creating applications with XML. < book id = " bk102 " > < author > Ralls, Kim < title > Midnight Rain < genre > Fantasy < price > 5.95 < publish_date > 2000-12-16 < description > A former architect battles corporate zombies, an evil sorceress, and her own childhood to become queen of the world.

Действия для создание нового:

  1. Сначала используя утилиту XSD.exe , либо воспользовавшись онлайн сервисами (искать "xml to xsd" один из них www.freeformatter.com/xsd-generator.html), мы будем создавать из имеющейся XML ее примитивное XSD описание. На выходе мы будем иметь полностью, автоматическим образом, созданный output.xsd файл, который уже подходит к использованию но может быть не полным.
  2. Далее, на основе output.xsd , будут созданы классы на языке C# xmlclass.cs. После чего, мы добавляем его в наш проект. Создавать класс можно используя XSD.exe, либо xsd2code утилитой, или же любым онлайн сервисом.
  3. Теперь мы готовы использовать классы файла xmlclass.cs . Поэтому создадим и наполним данными экземпляры xmlclass , а потом, используя процесс сериализации, будем преобразовывать объекты в XML строку, и после чего сохраним ее в новый файл. Тем самым получим XML на основе имеющегося.
Приступим!

Шаг 1. Создание XSD из XML.

Итак, приведу способы, которыми пользуюсь сам:
  1. Утилита xsd.exe - создатель Microsoft .
  2. Утилита xsd2code.exe - стороннее приложение, которое умеет все тоже самое, что и xsd.exe , но доступно для скачивания напрямую (на данный момент стала платной с Trial периодом).
  3. Использование любых онлайн сервисов.
Для того, что бы получить XSD.exe , вам придется поставить любой Microsoft SDKs , в поставке которого, идет данное приложение. К сожалению, на данный момент ни одна из студий в своем комплекте не содержит этой утилиты.

Ссылка для скачивания и установки одного из SDK :
Windows SDK for Windows 7 and .NET Framework 4 .

Воспользуемся поиском, и найдем файл xsd.exe , после чего (что бы упростить себе работу), скопируем его в созданную в корне диска папку C:\xmltoxsd . Далее в эту же папку мы копируем наш xmlfile.xml и все готово к началу.


Отрываем "Командную строку" (Пуск -> "Выполнить" -> "cmd"), переходим в наш каталог и вызываем с параметрами по умолчанию xsd.exe , передавая наш xmlfile.xml параметром:


И видим, что рядом появился файл xmlfile.xsd с содержимым.


Вот и все! Этих действий достаточно, для создания примитивного XSD файла, с которым можно работать. Но стоит понимать, что сам xsd.exe , как и любая другая утилита, ничего не знает про типы ваших полей (поэтому почти всегда тип полей будет string ), а так же о всех вариациях атрибутов и параметров. То есть, если у какого-то тега нет атрибута в вашей XML , тогда его и не будет в описании. Поэтому XML должен быть наиболее полным и в случае, если элемент может содержать несколько дочерних полей, лучше добавить как минимум два, что бы xsd.exe понял, что это коллекция.

Синтаксис XSD не очень сложный, поэтому, если пишется достаточно серьезное описание, возможно придется поработать и напильником.

Шаг 2. Создание Class из XSD.

Для создания класса на языке C#, нам понадобится вновь использоваться xsd.exe но уже с другим параметром /classes , передав путь к нашему xmlfile.xsd .


После выполнения появится файл xmlfile.cs, содержимое которого приведено ниже в сжатом виде:


Как видите, для внутреннего элемента catalog был создан класс catalogBook , у которого поля соответствуют полям в XML , а поле Id помечено как атрибут. Xsd.exe корректно понял, что внутри catalog хранится коллекция книг, поэтому появилось свойство Items , для наполнения дочерней коллекции.
Замечание: xsd.exe не умеет добавлять комментарии к получившимся классам и полям. В описании XSD существует элемент под названием < xs:annotation > , который чаще всего содержит < xs:documentation >, внутри которого размещено описание поля. По идее, оно должно быть размещено в /// описании, но на текущий момент xsd.exe отказывается добавлять текст в описание, поэтому приходится прибегать к альтернативам, таким как xsd2code или онлайн сервисам.

Шаг 3. Сериализация объектов в XML.

Получившиеся классы у нас лежат в файле xmlfile.cs . Далее его содержимое или сам файл добавляем в проект Visual Studio , после чего можно с ним работать. Я создам демонстративный объекты книг, после чего сохраню в файл в формате XML .

Private void Example() { // Создание первой книги var book1 = new catalogBook () { author = "King" , description = "Very interesting book" , genre = "Fantasy" , price = 22.ToString(), id = "42011" , title = "It" }; // Создание второй книги var book2 = new catalogBook () { author = "O"Brien, Tim" , description = "Microsoft"s .NET initiative is explored in detail in this deep programmer"s reference." , genre = "Computer" , price = 36.ToString(), id = "30012" , title = "Microsoft .NET: The Programming Bible" }; // Создание корневого элемента каталога, содержащего две книги выше var catalog = new catalog () { Items = new { book1, book2 } }; // Содержит XML объекта catalog var xmlCatalog = Serialize(catalog); // Записываем строку в файл // TODO Сделано для демонстрации. Желательно вызывая метод Serialize передавать Stream к файлу File .WriteAllText("Output.xml" , xmlCatalog); } private string Serialize(TType sourceObject) { if (sourceObject == null ) { return string .Empty; } // Используем XmlSerializer для перобразования в XML строку var xmlserializer = new XmlSerializer (typeof (TType )); var stringWriter = new StringWriter (); using (var writer = XmlWriter .Create(stringWriter, new XmlWriterSettings () { Indent = true })) { xmlserializer.Serialize(writer, sourceObject); return stringWriter.ToString(); } } После запуска и открытия Output.xml можно увидеть, что мы сохранили так, как мы хотели (Нижний файл - "Созданный кодом ").

При выполнении различных форм отчётности (а то и во время обычной работы в сети) некоторые пользователи могут встретиться с файлом, имеющим расширение XSD. Данный файл обычно представляет собой схему описания XML-данных, но бывают и случаи, когда упомянутый файл является производным продуктом программы Pattern Maker. В этой статье я расскажу, чем открыть XSD файл, какие программы нам в этом помогут, а также опишу суть ошибки «Файл не соответствует xsd схеме».

Что такое XSD

Термин «XSD» является аббревиатурой от английских слов «XML Schema definition» . Файл с таким расширением являет собой схему описания XML-данных, использующую свой собственный язык для описания структуры документов XML.

В файле xsd описываются элементы, находящиеся в документе XML. Обычно это фиксированные данные, значения по умолчанию, синтаксис данных, правила, которым должен соответствовать данный документ и так далее, при этом некоторые элементы часто взаимосвязаны с другими элементами, и ссылаются на них.

Стандарт XSD 1.1 получил одобрение Консорциума Всемирной Паутины в апреле 2012 года, обладая несколькими важными преимуществами перед существовавшими до него схемами XML, такими как DTD (Document Type Definition) или SOX (Simple Object XML). К примеру, это то, что XSD написан на XML, имеется автоматическое создание схемы и так далее.


Как открыть xsd формат

Для открытия большинства файлов xsd будет достаточно использовать любые подручные текстовые редакторы (тот же «Блокнот», Notepad++, PSPad Editor и др.). Также в открытии xsd формата могут пригодиться такие программы как Microsoft XML Notepad, Oxygen XML Editor , Liquid XML Studio и другие аналоги.

Если же данный файл являет собой результат работы программы Pattern Maker for Cross stitch (обычно это рисунок-схема для вышивки), то такой файл можно просмотреть или с помощью указанной программы, или с помощью специального просмотрщика под названием «Pattern Maker Viewer ».


Вышивка формата.XSD

Файл не соответствует xsd схеме — что это?

При этом бывают ситуации, когда описание файла XML, содержащееся в файле XSD, не совпадает с фактическими данными, имеющимися в файле XML. Ошибка может быть как в самих данных, так и в способе введения этих данных, при этом система реагирует стандартным образом, выдавая упомянутое сообщение «Файл не соответствует xsd схеме».


Часто такая ситуация происходит в случае подачи бухгалтерской и иной формы отчётности, когда специалист контролирующего органа, при попытке открытия xml-файла, обнаруживает упомянутую ошибку.

  1. Проверьте корректность данных в файле xml , делая акцент на наличие синтаксических ошибок (лишние дефисы, пробелы и так далее);
  2. Обновите программу, в которой вы работали с xml-файлом (возможно её текущая версия устарела);
  3. Обратитесь в техническую поддержку , занимающуюся обслуживанием данного программного продукта (или в техподдержку контролирующего органа).

Заключение

Как открыть XSD файл? Ответом на вопрос станет использование любого сподручного текстового редактора (тот же «Блокнот»). Если же нужный xsd-файл является продуктом программы «Pattern Maker», тогда рекомендую открывать его с помощью данной программы, или использовать комплементарный инструмент для просмотра «Pattern Maker Viewer».

Файл с XSD расширение, скорее всего, являются файлом XML-схемы; текстовый формат файла, который определяет правила проверки для файла XML и объясняет форму XML.

Поскольку XSD-файлы являются файлами схемы, они предоставляют модель для чего-то другого, в данном случае это XML-файлы. Например, файл XSD может требовать, чтобы файл XML имел определенные границы, отношения, порядок, атрибуты, вложенные характеристики и другие элементы, а также устанавливать любые ограничения.

Файлы XML могут ссылаться на файл XSD с атрибутом schemaLocation .

Программа вышивки крестиком Pattern Maker от HobbyWare также использует расширение XSD для своего формата.

Как открыть файл XSD

XSD файлы можно также открыть с помощью Microsoft Visual Studio, XML Notepad, EditiX XML и XMLSpy. Oxygen XML Editor – один из немногих инструментов XSD, который работает на Linux, Mac и Windows.

Вы также можете использовать текстовый редактор как средство просмотра и редактирования XSD, учитывая, что файл является просто текстовым файлом.

Вот пример того, как выглядит XSD-файл при открытии в текстовом редакторе:








Если вы имеете дело с файлом XSD, используемым с Pattern Maker, вы, конечно, можете открыть его с помощью этого программного обеспечения. Однако для бесплатного открытия и печати файла шаблона HobbyWare предлагает программу Pattern Maker Viewer. Просто перетащите файл XSD в программу или используйте меню «Файл» «Открыть...» . Этот просмотрщик также поддерживает аналогичный формат PAT.

Приложение Crossty для iOS и Android также может открывать XSD-файлы для вышивки крестом, но это не бесплатно.

Как конвертировать файл XSD

Самый простой способ конвертировать файл XSD в другой формат – использовать один из редакторов XSD, описанных выше.

Ещё одно преобразование, которое вам может понадобиться, – это XSD в PDF , чтобы вы могли открыть файл XSD в Adobe Acrobat Reader или каком-либо другом средстве . Вероятно, нет особой причины конвертировать файл XSD в PDF, кроме как для того, чтобы код был виден на любом компьютере, который его открывает.

XML Schema Definition Tool может конвертировать XDR, XML и XSD файлы сериализуемого класса или набор данных, как # класса C.

Вы можете использовать Microsoft Excel, если вам нужно импортировать данные из файла XSD и поместить их в электронную таблицу Excel.

Вполне вероятно, что программа Pattern Maker, которую мы упомянули выше (не бесплатная программа просмотра), может быть использована для преобразования файла XSD для вышивания крестиком в новый формат файла.

Всё ещё не можете открыть файл?

Если ваш XSD-файл не открывается программами и инструментами, указанными выше, есть большая вероятность, что вы имеете дело не с XSD-файлом, а с файлом, имеющим аналогичное расширение.

Например, расширение XDS выглядит очень похоже на XSD, но вместо этого используется для файлов проекта DS Game Maker и файлов LcdStudio Design. Ни один из этих форматов файлов не связан с файлами или шаблонами XML.

Та же концепция применяется ко многим другим форматам файлов, таким как файлы XACT Sound Bank, которые используют расширение файла.XSB. Это звуковые файлы, которые не открываются с помощью какого-либо средства открывания XSD или конвертера файлов.

Если ваш файл не заканчивается на.XSD, изучите расширение, чтобы найти, какие программы могут открывать или конвертировать этот конкретный тип файла.

В предыдущей статье про XML мы рассмотрели такой уже устаревший способ валидации XML-документов, как XML DTD. Данный способ до сих пор применяется для проверки XML-данных, но с каждым днем его все больше и больше вытесняет новая технология под названием XML Schema. В XML схемах было исправлено множество недоработок, которые были в XML DTD, поэтому на данный момент все передовые разработчики для валидации документов применяют только XML схемы.

Чтобы оценить преимущество XML схем (XML Schema) перед DTD, давайте более подробно рассмотрим основные недостатки DTD, которые с успехом были исправлены в XML схемах. О них я уже упоминал в статье « », но для лучшего понимания давайте повторим.

Недостатки XML DTD перед XML Schema

  1. Отличный от XML синтаксис языка. То есть, DTD не является XML. В связи с этим могут возникать разнообразные проблемы с кодировкой и верификацией XML-документов.
  2. Нет проверки типов данных. В XML DTD существует лишь один тип данных – строка. В связи с этим, например, если в числовом поле будет текст, документ все равно пройдет верификацию, так как XML DTD не может проверить тип данных.
  3. Нельзя поставить в соответствие одному XML-документу больше одного DTD описания. То есть, верифицировать документ можно лишь одним DTD описанием. Если их несколько, то придется переделывать описания и совмещать все в одном файле, что очень неудобно.

Это были основные недостатки XML DTD, которые с успехом исправлены в промышленном стандарте описания XML-документов XML Schema.

XML Schema – промышленный стандарт описания XML-документов

Если быть кратким, то XML Schema делает следующее:

  1. Описывает названия элементов и атрибутов (словарь).
  2. Описывает взаимосвязь между элементами и атрибутами, а также их структуру (модель содержания).
  3. Описывает типы данных.

Также хочу заметить, что на данный момент при помощи схем можно описывать практически все. То есть, схема – это универсальный способ описания грамматики данных, который может применяться не только для верификации XML-документов, но и описания баз данных и т.д. Таким образом, область применения схем на данный момент очень широкая.

Пример XML Schema для валидации XML-документа

Как показывает практика, материал намного лучше усваивается, если сразу начинать изучение с примеров. Сразу скажу, что углубляться во все тонкости мы не будем, так как материал очень сложный, особенно если изучать его в текстовом виде.

Пример простой схемы XML

При помощи данной схемы можно проверить XML-документ следующего содержания.

<книга xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation = "book.xsd"> <название>Основы XML <цена>300

Итак, вернемся к нашей XML схеме. Как вы уже заметили, для создания XML схем используется уже известный нам XML. Единственное отличие здесь в том, что в XML Schema уже определены элементы, в отличие от обычного XML. В связи с этим используются пространства имен. В данном случае обязательным пространством имен будет «http://www.w3.org/2001/XMLSchema», которое будет задаваться при помощи префиксов «xs».

Сразу хочу заметить, что можно использовать как префиксы пространств имен, так и задавать пространство имен для корневого элемента. Как таковой разницы здесь нет. Каждый сам решает, как ему поступать в данной ситуации. Скажу только, что обычно используются префиксы «xs» или «xsd».

Ну а теперь давайте разберемся, как же расшифровать вышеприведенную схему. Как уже говорилось выше, XML Schema это описание словаря и типов данных. Отталкиваясь от этого, произведем расшифровку каждого элемента.

  • — объявляем элемент «книга» с типом «Книга».
  • — объявляем комплексный тип с именем «Книга» (xs:complexType – может содержать в себе вложенные элементы).
  • — объявление вложенности. То есть, тип будет содержать вложенные элементы.
  • — объявляем элемент с именем «название» (стандартного типа «строка» — xs:string).
  • — объявляем элемент с именем «цена» (стандартного типа «число» — xs:decimal).

Как видите, ничего сверхсложного здесь нет. Если вдуматься, то все очень просто.

Основные элементы XML Schema

Если быть кратким, то XML схему можно описать следующим образом.

Ваша схема

Как видно с примера, каждая XML схема состоит с корневого элемента «schema» и обязательного пространства имен «http://www.w3.org/2001/XMLSchema». Далее идет описание схемы и собственно сама схема. При этом очень часто в очень качественных схемах описание бывает куда большим, чем сама XML Schema.

Описание элементов в XML Schema

В начале статьи мы уже рассмотрели пример простейшей XML схемы. В ней мы отдельно описывали элементы и типы. При этом сразу хочу заметить, что последовательность здесь не играет роли. Схема будет работать в любом случае.

Теперь давайте рассмотрим второй способ написания XML Schema, который основывается на том, чтобы описывать тип сразу внутри элемента. Данный способ подойдет в том случае, если вы не планируете использовать одно и то же описание для разных элементов. Для наглядности рассмотрим пример.

Как видно с примера, элемент объявляется при помощи специальной конструкции «element» с использованием соответствующего префикса. В данном случае мы определяем элемент с названием «root» без указания типа (type), так как он будет описан внутри элемента. То есть, есть два способа описания элементов.

1 способ

Описание типа

2 способ

Описание типа элемента

Вы можете использовать как первый способ, так и второй. Все они работают одинаково. Вопрос лишь в удобстве в данном конкретном случае.

Далее после объявления элемента мы указываем, что он комплексного типа () и перечисляем () вложенные элементы. В данном случае это элементы name и age с типами «xs:string» и «xs:integer». Префикс xs означает, что это базовый тип, который уже описан в стандарте XML Schema.

Как видите, пока все довольно просто. Опять же, углубляться во все подробности мы не будем, так как данная статья предназначена для ознакомления с XML Schema, а не ее детальным изучением.

Как ставится в соответствие XML Schema и документ

Особенностью XML Schema является то, что она описывает не сам документ, а пространство имен. В связи с этим чаще всего никаких упоминаний о ней в документе нет. Обработчик сам ставит в соответствие нужную вам схему без использования каких-либо инструкций в XML-документе.

На случай, если обработчик не знает где лежит схема, мы можем указать, где ее искать. Делается это при помощи специального атрибута «schemaLocation». Поскольку этот атрибут принадлежит другому пространству имен, то перед началом использования атрибута пространство тоже нужно указать. Для наглядности рассмотрим пример.

XML Schema

XML-документ

Теперь давайте подробно разберем каждую строчку.

  • targetNamespace=»http://www.site.com» – указываем для какого пространства имен эта XML Schema.
  • xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance» – подключаем пространство имен в котором описан атрибут «schemaLocation».
  • xsi:schemaLocation=»http://www.site.com/product.xsd» – указываем, где можно найти схему на случай, если парсер не знает где она лежит. Если XML-документ не принадлежит никакому пространству имен, а следовательно и в схеме нет на него указания, то атрибут «schemaLocation» заменяется на «noNamespaceSchemaLocation» (указание на схему без определения пространств имен).

На этом все. Удачи вам и успехов в изучении XML!

© 2024 ermake.ru -- Про ремонт ПК - Информационный портал