Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Валидность XML / 7 сообщений из 7, страница 1 из 1
28.11.2012, 13:56:03
    #38056293
denis11111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидность XML
Добрый день!

Есть такая тема:
В меня есть некий XML файл. З этого файла я беру данные и пишу их в БД. Перед этим мне надо проверить валидность XML файла. Насколько я понял валидность проверяетмя с помощью XSD - файла. Припустим я как-то создам этот XSD...

Как мне подключить XSD к XML?, Вот в других готовых XML подключают такой штукой: xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance".

Как потом проверить валидность?, Я использую SAX-парсер, для разборки XML.
В соседней теме читал что надо парсеру вказать сам XSD файл и он сам в процесе разборки будет проверять валидность...
...
Рейтинг: 0 / 0
28.11.2012, 14:03:08
    #38056310
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидность XML
Ссылка на XSD имеется в XML?
В этом случае должно быть достаточно этого:
SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setValidating(true);
...
Рейтинг: 0 / 0
28.11.2012, 14:18:38
    #38056336
denis11111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидность XML
BlazkowiczСсылка на XSD имеется в XML?
В этом случае должно быть достаточно этого:
SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setValidating(true);

Ну как запхать это дело в SAX понятно.
Не понятно как создать эту силку? Ну вот если зайти на " http://www.w3.org/2001/XMLSchema-instance", то никакого XSD там нету.
Вот есть скажем в меня проект на Tomcat: http://localhost:8080/TestProject/ - корень проекта. То бросать XSD в корень и писать в XML вроде такой сылки: http://localhost:8080/TestProject/MyShema.xsd ?
...
Рейтинг: 0 / 0
28.11.2012, 14:24:35
    #38056356
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидность XML
denis11111Ну как запхать это дело в SAX понятно.
Не понятно как создать эту силку? Ну вот если зайти на " http://www.w3.org/2001/XMLSchema-instance", то никакого XSD там нету.
Вот есть скажем в меня проект на Tomcat: http://localhost:8080/TestProject/ - корень проекта. То бросать XSD в корень и писать в XML вроде такой сылки: http://localhost:8080/TestProject/MyShema.xsd ?

Есть несколько вариантов.
Более-менее публичный адрес XSD на каком-то сервере.
XSD на сервере. Можно указывать относительный пусть.
XSD прописан в XML как угодно, но можно перехватить его загрузку и подставить свой локальный XSD.
Возможно просто указать в настройках парсера. Надо смотреть текущую реализацию, так есть специфичные ключи для setFeature/setProperty
...
Рейтинг: 0 / 0
28.11.2012, 14:27:46
    #38056367
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидность XML
Можно полистать
com.sun.org.apache.xerces.internal.impl.Constants
...
Рейтинг: 0 / 0
28.11.2012, 14:28:08
    #38056368
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидность XML
denis11111,
если не усложнять, то не надо никакого XSD
Т.к. если ты парсишь этот файл своим кодом, то им ты и проверяешь валидность
- XSD - один из методов проверки валидности. Причём, с недостатками.
______________________________________________
"Сделай настолько просто, насколько это возможно, но не проще". © А. Эйнштейн.
AutoPOI.ru — ГИС-технологии для Oracle
...
Рейтинг: 0 / 0
28.11.2012, 16:04:47
    #38056576
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидность XML
denis11111

По XSD можно написать отдельное издание в 1-2х томах и читать долгими зимними
вечерами. Воистину, умельцы с консорциума умеют выдавать на гора стандарты ниочём.

Попробуйте DTD. Если возможностей хватит то и ладненько.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Валидность XML / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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