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

При сохранении xml-фала плагин проверяет корректность xml и выдаёт ошибки:
XML Parsing error at line 3: Extra content at the end of the document

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

В заголовке файла так же необходимо указать кодировку:
Если автоматическая проверка не нужна то можно её отключить XML Tools — Enable XML syntax auto-check :

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

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

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

Ссылка на 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¶
- Откройте XML-файл, который требуется проверить в XMLPad File > Open.

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

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


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

Для удобства отображения можно включить переносы строк Edit > Word Wrap.
Проверка по XSD-схеме в MS Visual Studio¶
- Откройте XML-файл, который требуется проверить в MS Visual Studio Файл > Открыть > Файл.

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

- Нажмите Добавить и выберите файл 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.