【问题标题】:How to add custom xml to an Oracle XML Publisher data definition如何将自定义 xml 添加到 Oracle XML Publisher 数据定义
【发布时间】:2017-04-01 23:24:03
【问题描述】:

我正在 Oracle XML Publisher for Application 中编写报告,也称为 Oracle BI Publisher for Applications(不是 BI Publisher Professional Edition for BI)。我的问题是,在开发数据模板(附加到数据定义)以指定报告所需的 SQL 时,似乎没有办法将自定义 xml 添加到数据模板将生成的 xml 输出中(其他比 SQL 的输出)。

我想添加以下代码:

<html lang="en">
<meta http-equiv="X-UA-Compatible" content="IE=7" />

根据Why is IE failing to show UTF-8 encoded text?

这是由于 Internet Explorer 11 生成了中文字符,而不是我开发报告所需的 xml 输出。

有谁知道如何将自定义 xml 添加到数据定义生成的输出中?

【问题讨论】:

    标签: xml oracle bi-publisher


    【解决方案1】:

    自定义 XML

    我建议制作一个生成 XML 的自定义 PL/SQL 程序。它不仅会运行得更快,而且还允许你对输出做任何你想做的事情。这需要一些编程知识。

    我不能把我们程序的完整副本放在这里,但我可以给你一些指点:

    您可以让程序将 XML sn-ps 附加到正在运行的 XML clob。

    clob_gen_xml_line := '<?xml version="1.0"?>';
    DBMS_LOB.append (clob_genrate_xml, clob_gen_xml_line);
    

    在某些时候,程序会读取 clob 以进行输出。

    DBMS_LOB.READ (clob_genrate_xml,
    amount,
    offset,
    buffer);
    offset := offset + amount;  
    
    FND_FILE.PUT(FND_FILE.output, buffer);
    

    确保释放内存。

    DBMS_LOB.freeTemporary (clob_genrate_xml);
    

    在 IT Sysadmin 职责中定义一个可执行文件,method = PL/SQL 存储过程,确保将正确的 package.procedure 放入可执行文件名字段。

    定义一个并发程序,列出你刚刚创建的可执行文件。确保输出格式为 XML。

    定义一个匹配的数据定义。无需上传 XML/SQL 文件,因为可执行文件会提供 XML。

    最后,创建您的模板并链接到数据定义。

    特殊字符

    说了这么多,我不确定这是否能解决你的汉字问题。它可能与 XML 和非 UTF-8 字符有关。网上有大量的文档。但通常,您会希望使用 unicode 代码点来表示字符。

    示例

    生成:& 符号,然后是版权符号

    喜欢:&©

    XML 应该是

    <test>&#x0026;&#x00A9;</test>
    

    实体引用列表 https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references

    【讨论】:

    • 谢谢。我确实经常写出自定义 xml,但大多数时候我想使用 Oracle 数据模板。所以我的问题仍然是关于如何使数据模板输出自定义 xml 除了生成的 xml
    • 应该能够轻松地将种子数据定义的 SQL 复制到自定义 XML 中,复制模板以使用自定义数据定义。很难理解您的实际问题是什么。你对输出有什么期望?您是否尝试过两字节/特殊字符的解决方案?您可以通过将该数据放入 XML 已经提取的数据库中来进行测试。然后渲染(在 IE、PDF 等中)应该正确解释它。在数据定义或模板、HTML 部分中有一个“字符集”配置。这可能值得研究。
    • 你有没有关于“数据定义或模板,HTML部分中有一个‘字符集’配置”的更多信息的链接
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-30
    • 2014-07-02
    • 2013-05-30
    相关资源
    最近更新 更多