簡體   English   中英

Apache FOP 和普通 XSL 樣式表

[英]Apache FOP and normal XSL stylesheet

我有一個 xml 從 web 服務返回。 這個xml是快遞用的label。 API 還指定了 XSLT 樣式表。 我使用 XML+XSLT(我正在使用 Java)成功地生成了 HTML 頁面。

我需要生成一個 PDF label 因為它必須發送給最終用戶。

是否存在使用標准 XSL 樣式表而不是 XSL-FO 的方法?

是否存在另一種解決方案?

你把事情弄糊塗了。 XSL-FO是一種標記語言(XML 格式):

XSL-FO(XSL 格式化對象)是 XML 文檔格式的標記語言,最常用於生成 PDF 文件。 XSL-FO 是 XSL(可擴展樣式表語言)的一部分,這是一組 W3C 技術,專為 XML 數據的轉換和格式化而設計。 XSL 的其他部分是 XSLT 和 XPath。 XSL-FO 1.1 版於 2006 年發布。

另一方面, XSLT [可能] 圖靈完備 [語言],使其理論上能夠進行任意計算 [...]:

XSLT is [...] a language for transforming XML documents into other XML documents,[1] or other formats such as HTML for web pages, plain text or XSL-FO[...]

你的問題

是否存在另一種解決方案?

可以這樣回答:您正在使用可能是最好的方式來處理事情

當然,確實存在將 XML 文件轉換為 PDF 的其他方法,但正如您描述的工作流程,這可能是處理事情的一個非常好的方法。

如果您想優化它,我建議 go 完全 XSLT(版本 3.0)並盡可能減少 Java 部分。

我需要生成一個 PDF label 因為它必須發送給最終用戶。

XSLT can transform your input XML to HTML and XSL-FO - and Apache FOP can output to PDF. 因此,您可能只需一個 XSLT 文件即可滿足您的所有需求 - 符合標准且可配置。

因此,您的工作流程可能是:

XML by Courier   ->    XSLT----(1)-->   HTML
                        |
                        -------(2)-->   XSL-FO  ---(FOP)--->  PDF

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM