Каковы возможности DotNet 2.0 или 3.5, IE, XSL и XSL-FO? - PullRequest
2 голосов
/ 02 февраля 2009

Я абсолютный нуб с XSL и XSL-FO, и я ищу несколько советов о возможностях и ограничениях с DotNet 2.0 и 3.5 при использовании XSL для форматирования XML-данных для целей отчетности.

Вот что я хотел сделать.

1) Получение данных из базы данных SQL 2005 на основе некоторых бизнес-правил

2) Вывод в XML напрямую из SQL или создание файлов XML из какого-либо другого пользовательского компонента среднего уровня и сохранение файлов на диск.

3) Используйте стороннюю библиотеку для создания PDF-файлов из преобразованных файлов. <- Мне тоже нужны предложения по инструменту. </p>

Мои опасения связаны с разрывами страниц и сохранением связанного контента во время разрывов. Из того, что я могу сказать, эти две команды предназначены для этого: keep-with-previous и keep-with-next Но я верю, что это команды XSL-FO, пожалуйста, поправьте меня, если я ошибаюсь. Это также присутствует в базовых командах XSL. http://www.w3.org/TR/xsl/#keepbreak Из того, что я читал, IE и DotNet не поддерживают XSL-FO, это все еще верно? Я также прочитал несколько постов о добавлении схемы XSL в схемы Visual Studios для intellisense. Кто-нибудь знает текущую схему XSL-FO для этой цели. Итак, учитывая то, что я хотел бы достичь, и мои опасения, что я должен знать об ограничениях XSL-FO в DotNet и IE.

Ответы [ 6 ]

3 голосов
/ 12 февраля 2009

Я профессионально использовал XSL-FO как в среде Java, так и в среде .NET. Это действительно дает вам полный контроль над печатным документом / PDF. Я сам создал очень сложные PDF-файлы, готовые к массовой печати (брошюры и документы). Они включали сложные структуры, такие как текст, плавающий в столбцах, графики (с использованием встроенного SVG) и таблицы.

XSL-FO предназначен для печати, как HTML для экрана. Учитывая, что вы научитесь хорошо это знать, вы сможете создавать с ним что угодно, независимо от того, насколько сложен дизайн.

Основанный на Java FOP , вероятно, является одним из лучших процессоров XSL-FO. И это бесплатно, с открытым исходным кодом тоже.

Коммерческая версия AltSoft .NET XML2PDF хороша 2.

XSL-FO определенно подходит для создания PDF или печатных документов.

РЕДАКТИРОВАТЬ: Я ответил только на часть вашего вопроса, я думаю. На сегодняшний день XSL-FO изначально не поддерживается ни одним распространенным браузером. Я не думаю, что есть какие-либо планы по реализации встроенной поддержки в IE, я был бы очень удивлен, если бы это было. XSL-FO - это всего лишь XML, поэтому с сегодняшнего дня .NET Framework вам больше не потребуется поддержка XSL-FO. Как правило, XSL-FO генерируется с использованием XSLT, а затем результат преобразования передается в процессор объектов форматирования, такой как FOP. В некоторых случаях XSLT (по крайней мере, не 1.0) недостаточно, если ваш документ XSL-FO очень сложный. Затем вы можете рассмотреть возможность использования расширений XSLT, написанных на таких языках, как C #. В некоторых случаях, возможно, XSLT не подходит для этой работы, вы можете рассмотреть возможность использования кода для генерации XSL-FO.

1 голос
/ 16 июля 2009

Неофициальную схему можно найти, как описано здесь: http://xmlgraphics.apache.org/fop/fo.html#fo-validate

1 голос
/ 03 февраля 2009

.NET 2.0 и 3.5 ничего не делают, кроме преобразования из xml в xsl-fo. Вам все еще нужно написать файл XSLT, и, насколько я знаю, для xsl-fo в Visual Studio нет intellisense. Я использую продукт http://www.alt -soft.com для преобразования из xsl-fo в pdf. Для написания xsl-fo я использую Stylus Studio. Вы также можете проверить Stylvision Альтова. http://www.renderx.com/ также производит продукт, аналогичный alt-soft. Я также использую alt soft product для преобразования SVG из Dundas Charting в PDF.

1 голос
/ 02 февраля 2009

Посмотрите Aspose PDF для создания PDF-файлов из XSL-FO. Это не бесплатно, но в зависимости от ваших потребностей это может стоить цену.

0 голосов
/ 04 февраля 2009

Хорошо. Я скачал синтаксис xsd и поместил его в тот же каталог, в котором находится мой xsl, который генерирует xsl-fo, и он работает с помощью редактора Visual Studio. Это только позволяет вам «осмыслить» правильные теги относительно того, где вы находитесь. Очень полезно. На самом деле, если я не делаю что-то неправильно, это более полезно, чем Sylus Studio, оно не ограничивает вас только действительными тегами.

0 голосов
/ 03 февраля 2009

Спасибо за ссылки на ресурсы xsd. Я бы проголосовал за ваш ответ один, но у меня пока нет баллов за это:)

xsl-fo в основном бесполезен, если только вы не собираетесь конвертировать его в PDF или какой-либо другой «читаемый» формат, поэтому я сомневаюсь, что IE или любой браузер в этом отношении когда-либо «поддержит» xsl-fo. Я полагаю, вы могли бы создать плагин, который реагирует на тип mime, а затем браузер / плагин конвертирует xsl-fo в pdf.

...