Java 也支持表达式/方法的XML替代方案

Java 也支持表达式/方法的XML替代方案,java,xml,language-agnostic,markup,Java,Xml,Language Agnostic,Markup,我们有一个有趣的问题。我们是一家印刷公司,允许用户根据各种第三方来源打印模板材料。例如,查找待售房屋的详细信息,并将这些价值注入该房屋的小册子中 目前,我们的模板是在xml文件中定义的。文本标签的一个属性是要在系统中调用的方法名,以获取所需的自动填充值。由于后端是用Java编写的,所以我们使用反射在用户传入的几个对象中查找方法。作为一个例子,它看起来像这样 <PagePart> <profileTag>**getAddress**</prof

我们有一个有趣的问题。我们是一家印刷公司,允许用户根据各种第三方来源打印模板材料。例如,查找待售房屋的详细信息,并将这些价值注入该房屋的小册子中

目前,我们的模板是在xml文件中定义的。文本标签的一个属性是要在系统中调用的方法名,以获取所需的自动填充值。由于后端是用Java编写的,所以我们使用反射在用户传入的几个对象中查找方法。作为一个例子,它看起来像这样

    <PagePart>
        <profileTag>**getAddress**</profileTag>
        <text>123 Example St NW</text>
        <fontFile>Helvetica.TTF</fontFile>
        <fontName>Helvetica</fontName>
        <fontStyle>0</fontStyle>
        <fontAlignment>0</fontAlignment>
        <fontSize>18</fontSize>
        <positionLeft>19</positionLeft>
        <positionTop>88</positionTop>
        <Color>
            <r>0</r>
            <g>130</g>
            <b>200</b>
        </Color>
        <visibility>false</visibility>
    </PagePart>
我们计划有数千个模板(目前有数百个),而这些“格式化”方法的存在只是为了支持一个或两个模板,正在失去控制。我们需要一种方法,让元素通过我们发明的脚本语言或我们发现的脚本语言来包含实际的逻辑


我想知道的是,是否有人知道一种脚本语言,它具有一种对象文字符号,可以在提供可计算代码的同时替换XML作为标记。如果不是的话,您会在元素中使用哪种语言来计算动态表达式?

您可以在java中使用Velocity模板来构造xml。有一个纯java api,您可以直接构建到应用程序中。主站点是:

您可以在java中使用Velocity模板来构建xml。有一个纯java api,您可以直接构建到应用程序中。主页是:

您是否计划根据模板发布不同格式的文档?对你来说似乎是个更好的选择。我知道很多印刷行业的人都使用这种方法。

您是否计划根据模板发布不同格式的文档?对你来说似乎是个更好的选择。我知道很多印刷行业的人都使用这种语言。

看看[]。

看看[]。

你想过使用XPath作为脚本语言吗?我见过一些应用程序非常成功地将您的XML结构用于固定部分,然后为需要计算的内容(例如,利率或汇率)嵌入XPath表达式。您可以通过计算XPath表达式(从Java或使用evaluate()扩展名的XSLT)来进行处理,也可以将整个文档转换为XSLT样式表,然后XSLT样式表可以有效地对自身进行计算

您考虑过使用XPath作为脚本语言吗?我见过一些应用程序非常成功地将您的XML结构用于固定部分,然后为需要计算的内容(例如,利率或汇率)嵌入XPath表达式。您可以通过计算XPath表达式(从Java或使用evaluate()扩展名的XSLT)来进行处理,也可以将整个文档转换为XSLT样式表,然后XSLT样式表可以有效地对自身进行计算

我们需要一些我们可以非常精确地控制的东西来成为我们web应用程序的一部分,不确定商业解决方案是否有意义。我们需要一些我们可以非常精确地控制的东西来成为我们web应用程序的一部分,不确定商业解决方案是否有意义。
 public String getBusinessPhoneWithTitle() {
        if (!phone.isEmpty()) return "B  " + phone;
        else return "";
    }