Перейти к содержимому

Как проверить xml на соответствие xsd

  • автор:

# Notepad++ XML Tools, проверка xml по xsd

Управление плагинами Notepad++

При сохранении xml-фала плагин проверяет корректность xml и выдаёт ошибки:

XML Parsing error at line 3: Extra content at the end of the document 

Проверка XML в Notepad++

Проверка не работает с кодировкой widows-1251 , чтобы работала проверка преобразуйте xml в utf-8 :

Смена кодировки XML файла

В заголовке файла так же необходимо указать кодировку:

Если автоматическая проверка не нужна то можно её отключить XML Tools — Enable XML syntax auto-check :

форматирование XML Notepad++

# Форматирование

Чтобы привести xml-документ к читаемому виду выберите пункт Pretty XML (XML only — xml with line break) в меню плагина:

Автоматическая проверка xml Notepad++

# Проверка по xsd

Перед проверкой xsd происходит проверка xml файла, поэтому, как было написано выше, кодировка файла должна быть utf-8 .

Для проверки по xsd выберите пункт XML Tools — Validate now .

Проверка XSD Notepad++

В появившемся окне выберите файл XSD.

Проверка XSD Notepad++

Ссылка на XSD может быть уже указана в XML, тогда выбирать файл не нужно. После выбора появится окно со списком ошибок:

Как проверить xml на соответствие xsd

Проверка XML на соответствие XSD (схеме XML данных) ENG ВХОД Контакты

На странице производится проверка XML данных на соответствие XSD (схеме XML данных) с возможностью редактирования данных.

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

В редакторе данные проверяются на соответствие XML формату и форматируются для удобства работы. При наличии ошибок редактор помечает соответствующие строки символом . Описание ошибки можно просмотреть установив курсор на этот символ.

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

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

XML данные из редактора можно распечатать или сохранить в файл (если найдены ошибки, то они добавляются в текст в виде комментариев). Для некоторых схем документов имеется возможность XSL преобразования в формат HTML и/или PDF. Отправка в систему ЭДО доступна после настройки параметров для зарегистрированных пользователей.

Для суммирования значений элементов используется кнопка . При этом необходимо ввести путь к элементам (xpath) или выделить название элемента в редакторе для автоматического формирования пути.

Для настройки параметров редактора используется кнопка . Если после редактирования настроек нажать кнопку Сохранить , то настройки помеченные цветом будут сохранены для следующих сеансов работы.

  • jQuery: библиотека (JavaScript) ver.
  • Ace: редактор (JavaScript) (Ajax.org Cloud9 Editor) ver. 1.1.9
  • lxml: библиотека для обработки XML данных (Python) ver. 3.8.0

Проверка по XML-схеме (XSD) с помощью XmlSchemaSet

XML-документы можно проверять на соответствие схеме XML в классе XmlSchemaSet.

Проверка XML-документов

Проверка XML-документов выполняется с помощью метода Create класса XmlReader. Чтобы выполнить проверку XML-документа, создайте объект XmlReaderSettings, содержащий схему XML, с помощью которой выполняется проверка XML-документа.

Пространство имен System.Xml.Schema содержит методы расширений, которые упрощают проверку XML-дерева по файлу XSD при использовании LINQ to XML (C#) и LINQ to XML (Visual Basic). Дополнительные сведения о проверке XML-документов с помощью LINQ to XML см. в практических руководствах Проверка с использованием XSD (LINQ to XML) (C#) и Проверка с использованием XSD (LINQ to XML) (Visual Basic).

Отдельную схему или набор схем (например, класс XmlSchemaSet) можно добавить в класс XmlSchemaSet, передав ее в качестве параметра метода Add метод XmlSchemaSet. При проверке документа целевое пространство имен документа должно соответствовать целевому пространству имен схемы в наборе схем.

Далее приведен пример XML-документа.

  The Autobiography of Benjamin Franklin Benjamin Franklin  8.99  The Confidence Man Herman Melville  11.99  The Gorgias Plato  9.99   

Далее приведена схема, по которой проверяется XML-документ из примера.

В следующем примере кода приведенная выше схема добавляется к свойству Schemas объекта XmlReaderSettings. Объект XmlReaderSettings передается в качестве параметра в метод Create объекта XmlReader, который проверяет XML-документ.

Свойство ValidationType объекта XmlReaderSettings устанавливается в Schema , чтобы включить проверку XML-документа в методе Create объекта XmlReader. Обработчик ValidationEventHandler добавляется в объект XmlReaderSettings, чтобы обрабатывать все события Warning или Error, вызванные в результате ошибок, найденных при проверке XML-документа и схемы.

#using using namespace System; using namespace System::Xml; using namespace System::Xml::Schema; static void booksSettingsValidationEventHandler( Object^ /*sender*/, ValidationEventArgs^ e ) < if ( e->Severity == XmlSeverityType::Warning ) < Console::Write( L"WARNING: " ); Console::WriteLine( e->Message ); > else if ( e->Severity == XmlSeverityType::Error ) < Console::Write( L"ERROR: " ); Console::WriteLine( e->Message ); > > int main() < XmlReaderSettings^ booksSettings = gcnew XmlReaderSettings; booksSettings->Schemas->Add( L"http://www.contoso.com/books", L"books.xsd" ); booksSettings->ValidationType = ValidationType::Schema; booksSettings->ValidationEventHandler += gcnew ValidationEventHandler( booksSettingsValidationEventHandler ); XmlReader^ books = XmlReader::Create( L"books.xml", booksSettings ); while ( books->Read() ) <> return 0; > 
using System; using System.Xml; using System.Xml.Schema; class XmlSchemaSetExample < static void Main() < XmlReaderSettings booksSettings = new XmlReaderSettings(); booksSettings.Schemas.Add("http://www.contoso.com/books", "books.xsd"); booksSettings.ValidationType = ValidationType.Schema; booksSettings.ValidationEventHandler += booksSettingsValidationEventHandler; XmlReader books = XmlReader.Create("books.xml", booksSettings); while (books.Read()) < >> static void booksSettingsValidationEventHandler(object sender, ValidationEventArgs e) < if (e.Severity == XmlSeverityType.Warning) < Console.Write("WARNING: "); Console.WriteLine(e.Message); >else if (e.Severity == XmlSeverityType.Error) < Console.Write("ERROR: "); Console.WriteLine(e.Message); >> > 
Imports System.Xml Imports System.Xml.Schema Class XmlSchemaSetExample Shared Sub Main() Dim booksSettings As XmlReaderSettings = New XmlReaderSettings() booksSettings.Schemas.Add("http://www.contoso.com/books", "books.xsd") booksSettings.ValidationType = ValidationType.Schema AddHandler booksSettings.ValidationEventHandler, New ValidationEventHandler(AddressOf booksSettingsValidationEventHandler) Dim books As XmlReader = XmlReader.Create("books.xml", booksSettings) While books.Read() End While End Sub Shared Sub booksSettingsValidationEventHandler(ByVal sender As Object, ByVal e As ValidationEventArgs) If e.Severity = XmlSeverityType.Warning Then Console.Write("WARNING: ") Console.WriteLine(e.Message) ElseIf e.Severity = XmlSeverityType.Error Then Console.Write("ERROR: ") Console.WriteLine(e.Message) End If End Sub End Class 

См. также

  • XmlSchemaSet для компиляции схемы
  • Работа с XML-схемами

Совместная работа с нами на GitHub

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

V. Проверка XML-файла по XSD-схеме¶

В данном разделе описаны способы проверки XML-файла по XSD-схеме. Сделать это можно разными способами, существует много программ для этих целей. По XSD-схеме, например, проверяет программа Tester, но она только показывает ошибки и не дает их исправить. Для большего удобства лучше использовать специализированные редакторы такие, как XMLPad или MS Visual Studio.

Проверять файл по XSD-схеме целесообрано в исключительных случаях, например, если скрипт xml-healer.py не справился с исправлением файла. Подробнее в главе IV. Скрипт для замены служебных символов в XML .

MS Visual Studio является спецаилизированным инструментом для программистов, обладающим огромным функционалом. Работа с XML и автоматическая проверка по XSD – лишь одна из множества функций среды разработки. MS Visual Studio 15 можно скачать бесплатно с официального сайта: https://www.visualstudio.com/ru-ru/products/visual-studio-community-vs.

XMLPad — многофункциональный специализированный XML редактор. XMLPad обладает богатым функционалом, поддерживает XPath, возможность удалять целые блоки тегов, смену кодировок, проверку валидности и т.д. XMLPad доступен для бесплатного использования на сайте: http://xmlpad-mobile.com.

XMLPad уступает по удобству и возможностям MS Visual Studio, но если вы не являетесь программистом и у вас не установлена MS Visual Studio, лучше воспользоваться XMLPad.

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

Проверка по XSD-схеме в XMLPad¶

  1. Откройте XML-файл, который требуется проверить в XMLPad File > Open.

  1. Чтобы проверить файл по заданной XSD-схеме, его надо с ней ассоциировать. Перейдите в меню XML > Assign Schema/DTD.

  1. Выберите W3C Schema и нажмите Browse, затем выберите XSD-схему для проверки.

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

Для удобства отображения можно включить переносы строк Edit > Word Wrap.

Проверка по XSD-схеме в MS Visual Studio¶

  1. Откройте XML-файл, который требуется проверить в MS Visual Studio Файл > Открыть > Файл.

  1. Чтобы проверить файл по заданной XSD-схеме, его надо с ней ассоциировать. Перейдите в меню XML-код > Схемы. .

  1. Нажмите Добавить и выберите файл XSD-схемы.

Проверка на соответсвие XSD-схеме будет осуществляться автоматически на лету. Внизу в окне Списка ошибок будет отображаться список ошибок. При нажатии на ошибку, она будет подсвечена в редакторе.

Добавить окно Списка ошибок можно через Вид > Списка ошибок.

© Copyright 2015, Dmitry Mazhartsev. Revision 7cf069f8 .

Built with Sphinx using a theme provided by Read the Docs.
Read the Docs v: latest

Versions latest Downloads pdf htmlzip epub On Read the Docs Project Home Builds Free document hosting provided by Read the Docs.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *