【问题标题】:Got error at iReport 5.6 on opening JRXML: "Attribute 'hTextAlign' is not allowed to appear in element 'style'"在 iReport 5.6 打开 JRXML 时出错:“属性 'hTextAlign' 不允许出现在元素 'style' 中”
【发布时间】:2017-03-28 14:51:54
【问题描述】:

有没有人在尝试打开 jrxml 文件时在 iReport 5.6 中遇到此错误?

属性“hTextAlign”不允许出现在元素“样式”中

【问题讨论】:

  • 看起来您正在尝试打开不支持的jrxml(6.x 版本)
  • 谢谢。它是在 iReport 中完成的版本,但在 Jasper Studio 6.2 中进行了编辑并添加了 iReport 不支持的功能。
  • 不客气 :)

标签: jasper-reports ireport


【解决方案1】:

问题原因

jrxml 文件只是一个xml 文件。在XSD schema 的帮助下验证xml 文件是一种常见的做法。

JasperReports 引擎也在做同样的事情 - 它使用 xsd 架构来验证报告的模板(jrxml 文件)。

xsd5.x 版本相比,在 6.x 版本中有所更改。

最新版本的 JasperReports 的架构可通过 url 获得。您始终可以在 jrxml 文件的标题处找到指向架构的链接:

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport ... xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" ...>

看起来您的模板(jrxml 文件)是使用 6.x 版本的 JasperReports Studio 创建或编辑的,并在未应用兼容性的情况下保存5.x 版本 选项(兼容性警告对话框)。

如何解决这个问题:

  1. 您可以使用 Jaspersoft Studio (JSS) 来修改报告的模板。也许这是最好的选择,因为 iReport弃用(自 2015 年底起不再支持)并且仅支持 5.6 和最旧的版本 JasperReports 模板/功能。

  2. 您可以在兼容模式下将模板保存为 JSS5.x 版本,然后继续使用 编辑 jrxml 文件>iReport

JSS 保存模板时出现对话框,如下所示:

要启用此对话框,您应该在通过 Window -> Preferences 菜单调用的表单中更改设置。

  1. 始终只使用 iReport 设计器。但请注意:它不支持 6+ 版本的 JasperReports 模板。

如何检查5.x6.x版本的架构差异

任何版本的 JasperReportsxsd 架构都可以在带有源代码的 JasperReports 包或源代码存储库中找到。 p>

这是比较5.6.1(左面板)和6.3.0(右面板)的xsd文件的片段(截图) ) 版本。

如您所见,错误消息中的hTextAlign 属性仅在6.x 版本的xsd 中出现。这是您遇到错误的原因

【讨论】:

  • 谢谢!切换到 Jasper Studio 的正确兼容版本。
  • 切换到如图 2 所示的兼容版本对我有用
【解决方案2】:

删除 textField 标签中的所有属性 textAdjust="StretchHeight"。我已经删除了该属性,它对我来说很好Screen

【讨论】:

    猜你喜欢
    • 2016-08-11
    • 1970-01-01
    • 1970-01-01
    • 2015-04-21
    • 2018-03-22
    • 2012-11-20
    • 2023-04-08
    • 1970-01-01
    • 2014-11-27
    相关资源
    最近更新 更多