powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Валидация xml при помощи xslt
5 сообщений из 5, страница 1 из 1
Валидация xml при помощи xslt
    #36634297
pavelblk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При условии что xsd схема типа - flat
Мжно такое???
...
Рейтинг: 0 / 0
Валидация xml при помощи xslt
    #36634309
Фотография Anton_Demin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pavelblk,

что такое xsd схема типа - flat ?
...
Рейтинг: 0 / 0
Валидация xml при помощи xslt
    #36634321
pavelblk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть мастер и флэт
Флэт - это схема не модульная (единым файлом)
мастер - это модульная (из множества файлов ссылающихся друг на друга)
...
Рейтинг: 0 / 0
Валидация xml при помощи xslt
    #36634346
Фотография Anton_Demin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pavelblk,

не вник в суть, ну ладно, потом разберусь.
может здесь
flat file checker - софт
...
Рейтинг: 0 / 0
Валидация xml при помощи xslt
    #36635598
pavelblk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет это не то.
Допустим необходимо написать небольшой XML редактор.
Суть вот в чем:
1. Чтобы не прибгать к использованию сервиса валидации или др. для полной валидации документа.
2. Чтобы не прибегать к использованию SOM для определения suggested nodes (возможные элементы для вставки) в контексте документа при редактировании xml.

Есть предложение использовать для этого xslt.

Структура следующая для валидации:

example.xml (входной файл) - редактируемый xml c известной схемой

valid.xslt (файл трансформации):

Код: plaintext
1.
2.
3.
4.
5.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions">
	<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
	<xsl:variable name="xsd" select="document('schema.xsd')"></xsl:variable>
	...
</xsl:stylesheet>
Примечание:
Schema.xsd - flat (то есть не имеет ссылок на другие xsd).

result.xml (результат трансформации) - отчет о ошибках.


Структура следующая для suggested nodes:

example.xml (входной файл) - редактируемый xml c известной схемой

test.xslt (файл трансформации):

Код: plaintext
1.
2.
3.
4.
5.
6.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions">
	<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
	<xsl:variable name="xsd" select="document('schema.xsd')"></xsl:variable>
             <xsl:variable name="xpath" select="document(xpath.xml)"></xsl:variable>
	...
</xsl:stylesheet>


xpath.xml (файл с xpath - контекст вызова вставки элемента)
Код: plaintext
1.
2.
3.
<?xml version="1.0" encoding="UTF-8"?>
<root>
<xpath>/root/node1[ 3 ]/node2[ 1 ]</xpath>
</root>

result.xml (результат трансформации) - перечень допустимых элементов.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<root>
<elements>
<element name="node1"></element>
<element name="node2"></element>
</elements>
<attributes>
<attribute name="attr1"></attribute>
</attributes>
</root>
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Валидация xml при помощи xslt
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]