我有一个xml文件作为数据源的报告,在主文件中我有一行代码看起来像这样(值取决于用户的偏好)
<property identifier="locale">en</property>
我将此保存为参数并将其传递给我的子报表,因为我似乎无法从子报表访问此行(此行位于我的main.jrxml连接到的xml文档的根节点中,我的子报表在文档的下方使用子数据源。在我的子报表中,我的行看起来像这样:
<label language="sv"><![CDATA[Ledord]]></label>
<label language="en"><![CDATA[Guide word]]></label>
我试图通过在字段说明中使用我的locale参数来选择要在报告中使用的正确标签。我没有成功尝试过的一些例子:
label[@language='" + $P!{locale} + "']
label[@language='" + $P{locale} + "']
label[@language=$P!{locale}]
label[@language=$P{locale}]
我已经在字段说明中尝试过了。这是jrxml的那部分:
<field name="head" class="java.lang.String">
<fieldDescription><![CDATA[label[@language='" + $P!{locale} + "']]]></fieldDescription>
</field>
这可能实现,还是我必须以其他方式实现?
国际化似乎并没有解决我的问题,因为我之前知道的静态文本会在我的报告中发生。 XML是根据用户输入生成的,不同的部分可能使用不同的语言环境。所以我无法将其添加到我的本地化消息中。