Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Можно ли разместить XSD схему в самом XML документе? / 22 сообщений из 22, страница 1 из 1
12.04.2007, 12:55
    #34455803
mozheyko_d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разместить XSD схему в самом XML документе?
?
...
Рейтинг: 0 / 0
12.04.2007, 21:34
    #34457633
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разместить XSD схему в самом XML документе?
Ну расширение поменяй и узнаешь. Потом токо запусти через браузер и посмотришь, если отображается как xml, то можно, если ошибки, то нельзя :)
...
Рейтинг: 0 / 0
13.04.2007, 17:02
    #34460079
mozheyko_d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разместить XSD схему в самом XML документе?
SuSaНу расширение поменяй и узнаешь. Потом токо запусти через браузер и посмотришь, если отображается как xml, то можно, если ошибки, то нельзя :)

Видимо я плохо сформулировал.

Попробую ещё разок:

1. есть файл XML соответствующий XMLSchema:
Код: plaintext
1.
2.
3.
...
<rootTag xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='file.xsd'>
...
2. Есть соотвественно file.xsd со схемой.

Вопрос:
Можно ли с XSD обойтись на манер DTD, в плане размещения всего этого хозяйства в одном файле?
...
Рейтинг: 0 / 0
14.04.2007, 00:48
    #34460726
dejawyu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разместить XSD схему в самом XML документе?
mozheyko_d...Вопрос:
Можно ли с XSD обойтись на манер DTD, в плане размещения всего этого хозяйства в одном файле?

А вы что, никогда раньше сериализованных датасетов не видели?
Можно посмотреть:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
using System;
using System.Data;

public class Script {

	public static void Main (string[] args) {
	
		DataSet ds = new DataSet("MyDataSet");
		DataTable tb = new DataTable("MyTable");
		tb.Columns.Add("ID", typeof(int));
		tb.Columns.Add("Name", typeof(string));
		DataRow rw = tb.NewRow();
		rw["ID"] = 0;
		rw["Name"] = "dejawyu";
		tb.Rows.Add(rw);
		ds.Tables.Add(tb);
		tb = new DataTable("YourTable");
		tb.Columns.Add("ID", typeof(int));
		tb.Columns.Add("Name", typeof(string));
		rw = tb.NewRow();
		rw["ID"] = 1;
		rw["Name"] = "mozheyko_d";
		tb.Rows.Add(rw);
		ds.Tables.Add(tb);
		ds.WriteXml(Console.Out, XmlWriteMode.WriteSchema);
		Console.WriteLine();
	}
}
...
Рейтинг: 0 / 0
14.04.2007, 11:25
    #34460878
mozheyko_d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разместить XSD схему в самом XML документе?
2 dejawyu
Спасибо, конечно, за Ваш ответ.

Видимо теперь я увидел "сериализованный датасет", но мне легче не стало.

Посему не могли бы Вы привести вывод этого скрипта?

Вопрос вроде бы простой: есть два файла xml и его схема xsd, хочется их хранить в одном.
Как в xml описать свою же схему??? Не во внешнем файле, а прямо на месте???
DTD такое позволяет.
...
Рейтинг: 0 / 0
14.04.2007, 18:26
    #34461289
dejawyu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разместить XSD схему в самом XML документе?
mozheyko_d...
Посему не могли бы Вы привести вывод этого скрипта?
...

Могли бы, могли бы...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
<MyDataSet>
  <xs:schema id="MyDataSet" 
        xmlns="" 
        xmlns:xs="http://www.w3.org/2001/XMLSchema"
        xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xs:element name="MyDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="MyTable">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="ID" type="xs:int" minOccurs="0" />
                <xs:element name="Name" type="xs:string" minOccurs="0" />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="YourTable">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="ID" type="xs:int" minOccurs="0" />
                <xs:element name="Name" type="xs:string" minOccurs="0" />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:complexType>
    </xs:element>
  </xs:schema>
  <MyTable>
    <ID> 0 </ID>
    <Name>dejawyu</Name>
  </MyTable>
  <YourTable>
    <ID> 1 </ID>
    <Name>mozheyko_d</Name>
  </YourTable>
</MyDataSet>
Скучно с вами... (ничего-то вам не интересно, дальше своего носа заглянуть боитесь).
...
Рейтинг: 0 / 0
15.04.2007, 10:31
    #34461571
mozheyko_d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разместить XSD схему в самом XML документе?
Парсер JAXP при валидации на первую строку говорит:
Код: plaintext
1.
cvc-elt. 1 : Cannot find the declaration of element 'MyDataSet'. [ 1 ] 
...
Рейтинг: 0 / 0
15.04.2007, 11:07
    #34461577
dejawyu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разместить XSD схему в самом XML документе?
mozheyko_dПарсер JAXP при валидации на первую строку говорит:
Код: plaintext
1.
cvc-elt. 1 : Cannot find the declaration of element 'MyDataSet'. [ 1 ] 


Ну так и разбирайтесь сами со своим парсером JAXP , раз он вам так дорог, а парсер MSXML - кушает такую конструкцию и не жужжит.

З.Ы. скажите спасибо сан-техникам за их отношение к стандартам W3C...
...
Рейтинг: 0 / 0
16.04.2007, 10:32
    #34462598
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разместить XSD схему в самом XML документе?
dejawyu

Ну так и разбирайтесь сами со своим парсером JAXP , раз он вам так дорог, а парсер MSXML - кушает такую конструкцию и не жужжит.


Что значит кушает? JAXP тоже это кушает нормально, т.к. приведенный XML является корректным. А вот производит ли он валидпцию этого XML на соответствие вложенной в него XSD это уже другой вопрос. JAXP судя по всему не производит.

dejawyu
З.Ы. скажите спасибо сан-техникам за их отношение к стандартам W3C...

Хотелось бы получить ссылку на спецификацию W3C, где написано - если XML содержит в себе XSD, то XML парсер обязан иметь возможности произвести валидацию на основе этой XSD.
Ваша ссылка на MSXML абсолютно ни в чем не убеждает, это не стандарт, а его реализация.
...
Рейтинг: 0 / 0
16.04.2007, 11:06
    #34462748
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разместить XSD схему в самом XML документе?
wessenХотелось бы получить ссылку на спецификацию W3C, где написано - если XML содержит в себе XSD, то XML парсер обязан иметь возможности произвести валидацию на основе этой XSD.

Подожди, подожди ...
Изначальный вопрос был: "Можно ли разместить XSD схему в самом XML документе? "
тебе скакзали можно.
А про то что "парсер обязан иметь возможности произвести валидацию на основе этой XSD" , в начале не прозвучала. то есть ты хочешь обойтись одним файлом в котором не токо написан сам xml но и его структура? Вопрос конечно интересный но больно как то всё через одно место, а по нормальному (все отдельно) нельзя?
...
Рейтинг: 0 / 0
16.04.2007, 11:28
    #34462861
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разместить XSD схему в самом XML документе?
SuSa wessenХотелось бы получить ссылку на спецификацию W3C, где написано - если XML содержит в себе XSD, то XML парсер обязан иметь возможности произвести валидацию на основе этой XSD.

Подожди, подожди ...
Изначальный вопрос был: "Можно ли разместить XSD схему в самом XML документе? "
тебе скакзали можно.
А про то что "парсер обязан иметь возможности произвести валидацию на основе этой XSD" , в начале не прозвучала. то есть ты хочешь обойтись одним файлом в котором не токо написан сам xml но и его структура? Вопрос конечно интересный но больно как то всё через одно место, а по нормальному (все отдельно) нельзя?

Вопрос задавал не я и я не являюсь сторонником хранить схему вместе с XML. А то, что нужна именно валидация, я понял отсюда - http://sql.ru/forum/actualpost.aspx?bid=59&tid=417594&mid=4022273&p=1&act=quot
...
Рейтинг: 0 / 0
16.04.2007, 12:41
    #34463176
mozheyko_d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разместить XSD схему в самом XML документе?
SuSa wessenХотелось бы получить ссылку на спецификацию W3C, где написано - если XML содержит в себе XSD, то XML парсер обязан иметь возможности произвести валидацию на основе этой XSD.

Подожди, подожди ...
Изначальный вопрос был: "Можно ли разместить XSD схему в самом XML документе? "
тебе скакзали можно.
А про то что "парсер обязан иметь возможности произвести валидацию на основе этой XSD" , в начале не прозвучала.

Нда...
А какой вообще смысл в схеме документа, если не проводить валидацию?
SuSa
То есть ты хочешь обойтись одним файлом в котором не токо написан сам xml но и его структура?

именно
SuSa
Вопрос конечно интересный но больно как то всё через одно место, а по нормальному (все отдельно) нельзя?
Если бы было можно, я бы не спрашивал. Интерес сугубо практический, а не научный или ещё какой.
...
Рейтинг: 0 / 0
16.04.2007, 12:51
    #34463206
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разместить XSD схему в самом XML документе?
mozheyko_d
SuSa
Вопрос конечно интересный но больно как то всё через одно место, а по нормальному (все отдельно) нельзя?
Если бы было можно, я бы не спрашивал. Интерес сугубо практический, а не научный или ещё какой.
Подводя итог делаю вывод что ты не можешь проверить с помощью xsd файла структуру своего xml. Так?

Если тебе не критично на чем описать структуру xml документа, могу посоветовать попробовать описать ее на schematron'e или на Relax NG (и то и другое описывают структуру xml документа и по синтаксису гораздо легче xsd схемы). На самый худой случаи опиши структуру в DTD файле.
...
Рейтинг: 0 / 0
16.04.2007, 13:00
    #34463238
mozheyko_d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разместить XSD схему в самом XML документе?
SuSa mozheyko_d
SuSa
Вопрос конечно интересный но больно как то всё через одно место, а по нормальному (все отдельно) нельзя?
Если бы было можно, я бы не спрашивал. Интерес сугубо практический, а не научный или ещё какой.
Подводя итог делаю вывод что ты не можешь проверить с помощью xsd файла структуру своего xml. Так?

Если тебе не критично на чем описать структуру xml документа, могу посоветовать попробовать описать ее на schematron'e или на Relax NG (и то и другое описывают структуру xml документа и по синтаксису гораздо легче xsd схемы). На самый худой случаи опиши структуру в DTD файле.

Могу проверить с помощью xsd и легко. Структура самая обычная.
НО:
Для Java программы требуется хранить эти XML(настройки) внутри jar-архива, откуда данные читаются потоком, следовательно написать в заголовке что типа:
Код: plaintext
1.
xsi:noNamespaceSchemaLocation='program.jar!file.xsd'
не представляется возможным.
DTD это выход, не спорю, но как-то уже привык к схемам.
В общем, подводя итог: это невозможно
...
Рейтинг: 0 / 0
16.04.2007, 13:13
    #34463292
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разместить XSD схему в самом XML документе?
Ну почему невозможно? Возможно ВСЁ, просто сдесь надо смотреть на то скоко времени и сил придется угробить, чтобы это сделать или дождаться когда кто это сделал или пытался ответит на этот вопрос и оправдаются ли эти затарты. Лично я такое не делал и как это сделать незнаю.
Тьфу-тьфу-тьфу надеюсь делать это не придется, хотя зная свое начальство ожидать можно чего угодно.
Дерзай
...
Рейтинг: 0 / 0
16.04.2007, 13:48
    #34463436
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разместить XSD схему в самом XML документе?
mozheyko_d
В общем, подводя итог: это невозможно

Похоже стандартого способа нет. А что, свой метод проверки не написать? Причем используя стандартные API - строим из исходного XML DOM дерево, выдираем из него элемент - xs:schema и подаем парсеру при проверки 2-а DOM дерева, одно исходный XML без схемы, 2-е это выдраная схема. Делов на 5 мин.
...
Рейтинг: 0 / 0
16.04.2007, 14:05
    #34463498
mozheyko_d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разместить XSD схему в самом XML документе?
wessen mozheyko_d
В общем, подводя итог: это невозможно

Похоже стандартого способа нет. А что, свой метод проверки не написать? Причем используя стандартные API - строим из исходного XML DOM дерево, выдираем из него элемент - xs:schema и подаем парсеру при проверки 2-а DOM дерева, одно исходный XML без схемы, 2-е это выдраная схема. Делов на 5 мин.
Тогда уж легче хранить как есть в разных файлах и выпаковывать их в temp-директорию и там стандартно парсить.
Меня просто удивило что фича присутствующая в DTD отсутствует в XMLSchema.
...
Рейтинг: 0 / 0
16.04.2007, 14:20
    #34463559
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разместить XSD схему в самом XML документе?
mozheyko_d wessen mozheyko_d
В общем, подводя итог: это невозможно

Похоже стандартого способа нет. А что, свой метод проверки не написать? Причем используя стандартные API - строим из исходного XML DOM дерево, выдираем из него элемент - xs:schema и подаем парсеру при проверки 2-а DOM дерева, одно исходный XML без схемы, 2-е это выдраная схема. Делов на 5 мин.
Тогда уж легче хранить как есть в разных файлах и выпаковывать их в temp-директорию и там стандартно парсить.
Меня просто удивило что фича присутствующая в DTD отсутствует в XMLSchema.

Так действительно проще, только вот зачем их в temp директорию копировать?
...
Рейтинг: 0 / 0
16.04.2007, 15:48
    #34463881
mozheyko_d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разместить XSD схему в самом XML документе?
wessen mozheyko_d wessen mozheyko_d
В общем, подводя итог: это невозможно

Похоже стандартого способа нет. А что, свой метод проверки не написать? Причем используя стандартные API - строим из исходного XML DOM дерево, выдираем из него элемент - xs:schema и подаем парсеру при проверки 2-а DOM дерева, одно исходный XML без схемы, 2-е это выдраная схема. Делов на 5 мин.
Тогда уж легче хранить как есть в разных файлах и выпаковывать их в temp-директорию и там стандартно парсить.
Меня просто удивило что фича присутствующая в DTD отсутствует в XMLSchema.

Так действительно проще, только вот зачем их в temp директорию копировать?

А чтобы текущую не засорять.
...
Рейтинг: 0 / 0
16.04.2007, 15:52
    #34463892
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разместить XSD схему в самом XML документе?
mozheyko_d
А чтобы текущую не засорять.

Ок. Зачем их вообще куда-то копировать?
...
Рейтинг: 0 / 0
16.04.2007, 16:10
    #34463962
mozheyko_d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разместить XSD схему в самом XML документе?
wessen mozheyko_d
А чтобы текущую не засорять.

Ок. Зачем их вообще куда-то копировать?

А как их подсунуть парсеру, если они внутри jar-архива?

Вернее сам XML можно по ресурсу вытянуть как InputStream, но вот в нём схему указать не получится, если она внутри jar.
...
Рейтинг: 0 / 0
16.04.2007, 16:43
    #34464076
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разместить XSD схему в самом XML документе?
mozheyko_d wessen mozheyko_d
А чтобы текущую не засорять.

Ок. Зачем их вообще куда-то копировать?

А как их подсунуть парсеру, если они внутри jar-архива?

Вернее сам XML можно по ресурсу вытянуть как InputStream, но вот в нём схему указать не получится, если она внутри jar.

А ты как ее вообще указываешь?
Я как-то по надобности такой класс написал:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
import java.io.File;
import java.io.IOException;

import java.net.URL;

import javax.xml.XMLConstants;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Source;
import javax.xml.transform.dom.DOMSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;

import org.xml.sax.ErrorHandler;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;

/**
 * Класс проверяет XML документ на соответствие XML схеме. 
 * Класс не потоко-безопасный.
 * 
 * Для проверки XML документа нужно создать экземпляр этого класса и вызвать
 * один из методов validate(...). Если метод validate(...) вернул значение true, 
 * значит валидация прошла успешно. Если метод validate(...) вернул значение false,
 * значит XML документ не соответствует схеме, чтобы получить список ошибок, возникших
 * во время валидации, можно вызвать метод #getErrors().
 *
 * @author XXX
 */
public class XMLValidator {

    /**
     * Во время валидации XML сюда помещатся сообщения с ошибками.
     */
    private StringBuffer _errors;


    public XMLValidator() {
    }


    /**
     *
     * @param xml XML документ в виде строке
     * @param schemaFile 
     * @return
     * @throws SAXException
     * @throws ParserConfigurationException
     * @throws IOException
     */
    public boolean validate( String xml, File schemaFile )
        throws SAXException, ParserConfigurationException, IOException {

        SchemaFactory factory =
            SchemaFactory.newInstance( XMLConstants.W3C_XML_SCHEMA_NS_URI );
        Schema xmlSchema = factory.newSchema( schemaFile );

        validate( new DOMSource( DOMUtil.createDocumentFromString( xml ) ),
                  xmlSchema );

        return  0  == _errors.length() ? true : false;

    }

    /**
     *
     * @param xml
     * @param schemaSource
     * @return
     * @throws ParserConfigurationException
     * @throws SAXException
     * @throws IOException
     */
    public boolean validate( String xml, Source schemaSource )
        throws ParserConfigurationException, SAXException, IOException {

        SchemaFactory factory =
            SchemaFactory.newInstance( XMLConstants.W3C_XML_SCHEMA_NS_URI );
        Schema xmlSchema = factory.newSchema( schemaSource );

        validate( new DOMSource( DOMUtil.createDocumentFromString( xml ) ),
                  xmlSchema );

        return  0  == _errors.length() ? true : false;
    }

    /**
     *
     * @param xml
     * @param schemaURL
     * @return
     * @throws SAXException
     * @throws IOException
     * @throws ParserConfigurationException
     */
    public boolean validate( String xml, URL schemaURL )
        throws SAXException, IOException, ParserConfigurationException {

        SchemaFactory factory =
            SchemaFactory.newInstance( XMLConstants.W3C_XML_SCHEMA_NS_URI );
        Schema xmlSchema = factory.newSchema( schemaURL );

        validate( new DOMSource( DOMUtil.createDocumentFromString( xml ) ),
                  xmlSchema );

        return  0  == _errors.length() ? true : false;
    }

    /**
     *
     * @param xml
     * @param schemaFile
     * @return
     * @throws SAXException
     * @throws IOException
     */
    public boolean validate( Source xml, File schemaFile )
        throws SAXException, IOException {
        SchemaFactory factory =
            SchemaFactory.newInstance( XMLConstants.W3C_XML_SCHEMA_NS_URI );
        Schema xmlSchema = factory.newSchema( schemaFile );

        validate( xml, xmlSchema );

        return  0  == _errors.length() ? true : false;
    }

    /**
     *
     * @param xml
     * @param schemaSource
     * @return
     * @throws ParserConfigurationException
     * @throws SAXException
     * @throws IOException
     */
    public boolean validate( Source xml, Source schemaSource )
        throws ParserConfigurationException, SAXException, IOException {

        SchemaFactory factory =
            SchemaFactory.newInstance( XMLConstants.W3C_XML_SCHEMA_NS_URI );
        Schema xmlSchema = factory.newSchema( schemaSource );

        validate( xml, xmlSchema );

        return  0  == _errors.length() ? true : false;
    }

    /**
     *
     * @param xml
     * @param schemaURL
     * @return
     * @throws SAXException
     * @throws IOException
     * @throws ParserConfigurationException
     */
    public boolean validate( Source xml, URL schemaURL )
        throws SAXException, IOException, ParserConfigurationException {

        SchemaFactory factory =
            SchemaFactory.newInstance( XMLConstants.W3C_XML_SCHEMA_NS_URI );
        Schema xmlSchema = factory.newSchema( schemaURL );

        validate( xml, xmlSchema );

        return  0  == _errors.length() ? true : false;
    }

    /**
     * Возвращает все ошибки, возникшие во время валидации XML документа.
     * @return
     */
    public String getErrors() {
        return _errors.toString();
    }

    private void validate( Source xml, Schema schema )
        throws SAXException, IOException {

        _errors = new StringBuffer();

        Validator validator = schema.newValidator();
        validator.setErrorHandler( new XMLErrorHandler() );
        validator.validate( xml );
    }

    /**
     * 
     */
    private class XMLErrorHandler implements ErrorHandler {

        public void warning( SAXParseException exception ) {
            _errors.append( "WARNING: " + exception.toString() + "\n" );
        }

        public void error( SAXParseException exception ) {
            _errors.append( "ERROR: " + exception.toString() + "\n" );
        }

        public void fatalError( SAXParseException exception ) {
            _errors.append( "FATAL ERROR: " + exception.toString() + "\n" );
        }
    }

}

суть в том, что схему можно как угодно указывать. тут используются апи из 1.5. В старых версиях jdk были другие апи, но все равно, схему можно было разными спочобам указывать.
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Можно ли разместить XSD схему в самом XML документе? / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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