- •Лекция 5
- •Правильные и валидные документы
- •Document type definition (DTD)
- •Пример размещения внутри документа
- •Пример размещения DTD снаружи документа
- •Назначение DTD
- •Блоки XML документа
- •Определение элемента
- •Определение элемента
- •Определение суб-элементов
- •Количество суб-элементов
- •Смешанное содержание
- •Атрибуты
- •Типы атрибутов
- •Атрибуты: значения по-умолчанию
- •Атрибуты: значение по-умолчанию
- •Атрибуты: значение по-умолчанию
- •Определение нескольких атрибутов
- •Сущности
- •Внешние сущности
- •Работа с XML на платформе Java
- •Разбор (анализ) документа
- •Разбор документа
- •Иерархия интерфейсов DOM
- •Начало анализа
- •Перечисление суб-элементов
- •Перечисление суб-элементов
- •Перечисление суб-элементов
- •Текстовое содержимое элемента
- •Перечисление атрибутов
- •Валидация документа
- •Создание XML документа
- •Сохранение XML документа
Валидация документа
Включение валидации: factory.setValidating(true);
Создание XML документа
Document doc = builder.newDocument();
Element rootElement = doc.createElement("font"); Element childElement = doc.createElement("name");
Text textNode = doc.createTextNode("Helvetica"); doc.appendChild(rootElement); rootElement.appendChild(childElement); childElement.appendChild(textNode);
Добавление атрибута: rootElement.setAttribute(name, value);
Сохранение XML документа
// создаем преобразование
Transformer t = TransformerFactory.newInstance().newTransformer ();
// установка свойств для получения узла DOCTYPE
t.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, systemIdentifier);
t.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC, publicIdentifier);
// применение преобразования, и запись результатов в файл
t.transform(new DOMSource(doc), new StreamResult(new FileOutputStream(file));
