|
Валидация sequence по-элементно - возможно?
|
|||
---|---|---|---|
#18+
Добрый день. Прошу проконсультировать в поиске решения: - есть xsd-схема, жестко описывающая обязательность и размерность значений тегов - есть большой набор данных, выгружаемых в xml, строка набора - комплексный тег в sequence - данные в основном соответствуют требованиям xsd, но небольшой процент - не соответствует (почему - отдельная история, выравнивание данных и жесткий контроль ведения - один из путей решения проблемы) - и из-за нескольких кривых строк, могут не приняться десятки тысяч вполне валидных, т.к. файл не проходит валидацию Вопрос - можно ли каким-нибудь образом разбить валидацию (программную, в java) на 2 этапа: - сперва просто проверка well-formed, состав и наличие тегов; - затем уже полноценная валидация по всем условиям на значения тегов, но каждой строки по-отдельности? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2010, 12:41 |
|
Валидация sequence по-элементно - возможно?
|
|||
---|---|---|---|
#18+
Сергей АБВопрос - можно ли каким-нибудь образом разбить валидацию (программную, в java) на 2 этапа: - сперва просто проверка well-formed, состав и наличие тегов;Да. Просто не подключаете XSD схему Сергей АБ- затем уже полноценная валидация по всем условиям на значения тегов, но каждой строки по-отдельности?Нет. Согласно рекомендациям w3c парсинг XML-документа оканчивается при нахождении первой ошибки. Тут есть свои ньюансы - например MSXML6 может выдать не первую ошибку, а список всех ошибок, но все равно документ считается невалидным. Может Вам стоит посмотреть в сторону элементов <xsd:any> и <xsd:anyAttributes>? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2010, 23:16 |
|
Валидация sequence по-элементно - возможно?
|
|||
---|---|---|---|
#18+
1й этап натравить очень умную xsl, которая сделает чьд валидным, если сможет разберет невалидные куски, не сможет - выкинет 2й этап проверить результат работы xsl ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2010, 00:04 |
|
Валидация sequence по-элементно - возможно?
|
|||
---|---|---|---|
#18+
чьд === код ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2010, 00:05 |
|
Валидация sequence по-элементно - возможно?
|
|||
---|---|---|---|
#18+
Я имею ввиду, можно ли как-то, в xsd объявить тип или группу, соответствующую строке данных, потом, например в SAX, потоком разобрав очередную строку, проверить на соответствие объявленному в xsd типу? Что-то вроде этого.. Но нашел в сети идеи, которые навели на достаточно элегантный вариатн (что-то похожее озвучил mage.lan): - сперва проверка well-formed, проверка структуры по xsd - потом xslt, заточенное на проверку значений, результат трансформации - протокол обнаруженных ошибок - протокол валидируется по своей xsd, специальной, валидным которой может быть только пустой протокол - если протокол не валидный - читаем идентификаторы кривых строк - обрабатываем исходный файл исключая кривые строки - стороне формирования файла с данными передается протокол обнаруженных ошибок Замороченно, конечно, но в моем случае вполне может сгодиться. Прокомментируйте.. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2010, 11:16 |
|
Валидация sequence по-элементно - возможно?
|
|||
---|---|---|---|
#18+
Сергей АБ- сперва проверка well-formed, проверка структуры по xsdWell-formed по XSD не проверяется. По XSD проверяется валидность. Т.е. на этом этапе никакой XSD не нужно Сергей АБ- потом xslt, заточенное на проверку значений, результат трансформации - протокол обнаруженных ошибокМожно объединить с первым пунктом. Если документ был загружен в объекты для трансформации, то он был well-formed Сергей АБ- протокол валидируется по своей xsd, специальной, валидным которой может быть только пустой протокол - если протокол не валидный - читаем идентификаторы кривых строкПринципиальная ошибка - если протокол не удовлетворяет схеме, то Вы его не сможете прочитать. На этом этапе нужно создать максимально простой формат и валидировать его самостоятельно без XSD схемы Сергей АБ- обрабатываем исходный файл исключая кривые строки - стороне формирования файла с данными передается протокол обнаруженных ошибокНу а к этим пунктам замечаний, как будто-бы нет ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2010, 21:21 |
|
|
start [/forum/topic.php?fid=14&fpage=33&tid=1333143]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 133ms |
0 / 0 |