Как объявить DOCTYPE и ENTITY в XML с помощью StAX Parser в Java

1

Я использую парсер STAX для генерации XML. Вот что мне нужно создать:

<?xml version = "1.0"?>

<!DOCTYPE FILE PUBLIC "-//SOMETHING//DTD bla bla bla//EN" "scheme.dtd" 
    [
        <!ENTITY file1 SYSTEM "D:\repo\file1.pdf" NDATA application_pdf>
    ]
>

<FILES>
    <FILE>
        <METADATA></METADATA>
        <CONTENT></CONTENT>
..... and so on .....

Проблема в том, что я не знаю, как объявить теги DOCTYPE и ENTITY. Пытался пойти в Google и не нашел никаких решений. Пожалуйста помоги.

Теги:
parsing
stax
doctype

2 ответа

2

Для этого в классе XMLStreamWriter существует метод: writeDTD. Просто передайте всю блонду DOCTYPE.

-1

Я нашел решение. Я отключил символы, сбрасываемые на фабрике:

XMLOutputFactory factory = XMLOutputFactory.newInstance();
factory.setProperty("escapeCharacters", false);

И написал DOCTYPE и ENTITY, используя метод writeCharacters:

writer.writeCharacters("doctype bla bla");

Ещё вопросы

Сообщество Overcoder
Наверх
Меню