繁体   English   中英

如何使用 XSL 转换将 markdown 语言从 XML CDATA 元素转换为 HTML 和 XSL:FO?

[英]How to transform markdown language from XML CDATA Element into HTML and XSL:FO using XSL-Transformations?

很难为我的问题找到一个确切的标题,但我会尝试描述我需要做什么。

基本过程是根据我需要向用户展示的测量结果创建 xml 文档。 为了快速查看/预览,我使用将在浏览器中显示的 html 输出。 完整的文档将打印在 pdf 中(用户可以在预览后选择 pdf)。 i'm using xsl-transformations to create html und xsl-fo output from xml data and then apache fop to create pdf output from xsl-fo output. 这个主要过程正在发挥作用。

但现在,我正在寻找一种解决方案来处理 xml 中的“格式化文本”。 xml 包括一些数据库字段,在这里,不清楚我应该使用哪种“格式化文本解决方案”以及如何在 xsl 中处理它来创建 htlm 和 pdf 输出。 我的第一个想法是使用 html,所以我可以将数据库中的 html 放入 XML 中的 CDATA 元素中。 要直接在 html 中使用 output,我可以使用这行代码<xsl:value-of select="formatted_text" disable-output-escaping="yes"/>

这里的问题:是否有可能以及如何将 CDATA html 转换为 xsl:fo 语法?

我也可以在数据库和 CDATA 元素中使用 xsl:fo 标记来使用相反的解决方案,并且需要将其转换为 html 标记。

但我的主管现在有了使用 markdown 语言在数据库中存储格式化文本的想法。 因此,xml CDATA 元素将包含 markdown 语言,我需要使用 xsl 转换将此数据转换为 html 和 xsl-fo 语法。 这可能吗? 如果是的话,我需要一个提示或一个小例子来正确地做到这一点。

as a workaround, i think i can use c# to translate markdown language into html und xsl-fo output and put these output into my xml document, one tag with html data and a second tag with xsl-fo data. 我的主管对这个想法不满意,但目前我没有更好的想法。

您有任何提示或示例,如何将 CDATA 元素转换为 html / xsl-fo?

如果您想以特定领域的语言存储您的信息,然后将其翻译成 HTML 和 XSL-FO,您可以查看位于https://www.bottlecaps.de/rex/的 REx Parser Generator。 它可以生成一个解析器为 XSLT,您可以将其集成到您的 XSLT 中,从而生成 HTML 和 XSL-FO。

用于验证 XSL-FO 文件的focheck框架 ( https://github.com/AntennaHouse/focheck ) 使用 REx 生成的解析器来解析 XSL-FO 中属性中的属性值表达式。 来自https://github.com/AntennaHouse/focheck/tree/master/xslparser-runner.xslaxf-expression.xslt可能会给你一些想法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM