2012-05-22 1 views
0

Я почти закончил программу для преобразования HTML в формат PDF. Однако моя проблема более конкретна, чем эта программа. У меня есть XSL-файл, который приносит мне некоторое горе, когда я пытаюсь использовать его с моей программой.Ошибка XML (XSL) - преобразование HTML в PDF (Java)

При использовании javax.xml.transform.Transformer.transform (источник, результат) я получаю следующие предупреждения и сообщения об ошибках из-за моего STYLESHEET: XSL

компилятора Предупреждения: Атрибут «лидер длины» вне элемента.
ОШИБКА: 'Ошибка (Неизвестное местоположение): fo: list-item не является допустимым дочерним элементом fo: block.'

файл XSL в вопрос можно найти здесь: http://webcoder.info/downloads/xhtml2fo.html

Рекомендуется этого урока: https://blogs.oracle.com/chrisf/entry/converting_html_to_pdf_using

Любая помощь с тем, что/где эти сообщения об ошибках поступают из будет иметь большую помощь! Я совершенно не знаком с файлами XSL.

Большое вам спасибо.

EDIT: Я полагаю, возможно, что что-то другое виновато. Используя другие XSL-файлы, я получаю: «Документ пуст (что-то может быть не так с вашей таблицей стилей XSLT)» Однако я внимательно слежу за учебником Oracle в письме. У него есть ошибка в его коде? (В ссылке выше.)

EDIT2: Я отправил это в первую очередь: http://webcoder.info/downloads/xhtml2fo.xsl

Если эта ссылка не работает, я буду вставлять в точном коде здесь. Благодаря!

EDIT3: Это некоторые из HTML Я пытаюсь использовать в качестве примера: http://docs.oracle.com/javase/1.4.2/docs/tooldocs/solaris/classpath.html

+1

Фактическая ошибка (а не предупреждение) является ошибкой XSL-FO. Элементы списка пытаются быть выведены в 'fo: block'. Можете ли вы разместить свой HTML-код? –

+0

Просто добавил (под EDIT3). – BlackVegetable

+0

Все простейшие HTML-страницы имеют проблемы со списком. Что мне нужно изменить в XSL-файле? Это кажется очень сложным и немного над моей головой. – BlackVegetable

ответ

1

На линии перед тем <fo:leader ... /> не должны иметь, что слэш /.

+0

Знаете, я действительно не вижу строку с косой чертой перед Не могли бы вы дать мне номер для этой строки? Спасибо за вашу помощь. – BlackVegetable

+1

Найдите строку 'leader-length', а затем строку перед. –

+0

Это исправление предупреждения, но не ошибка. Спасибо за вашу помощь. – BlackVegetable