Java 如何评估/翻译XML文件中定义的逻辑语句
我将处理一些包含如下逻辑语句的XML文件:Java 如何评估/翻译XML文件中定义的逻辑语句,java,xml,user-interface,xsd,logic,Java,Xml,User Interface,Xsd,Logic,我将处理一些包含如下逻辑语句的XML文件: <condition> <or> <not> <eq> <variable> <name>X</name> <variabletype>Test</variabletype>
<condition>
<or>
<not>
<eq>
<variable>
<name>X</name>
<variabletype>Test</variabletype>
<datatype>String</datatype>
</variable>
<constant>
<value>finished</value>
<datatype>String</datatype>
</constant>
<eq>
</not>
<gt>
<variable>
<name>X</name>
<variabletype>Result</variabletype>
<datatype>int</datatype>
</variable>
<constant>
<value>50</value>
<datatype>int</datatype>
</constant>
</gt>
</or>
X
测验
一串
完成
一串
X
后果
int
50
int
我的问题是:
1-是否有任何标准的XML模式用于在XML文件中显示逻辑语句?我正在寻找像RFC(征求意见)的东西
2-借助Java翻译和评估XML文件中这些句子的最佳方法是什么?
3-我想写一个自动生成GUI的代码,在它的帮助下,用户可以更改逻辑语句中变量的值?是否有任何特殊技术可以从XML文件生成GUI(Swing或Jface)
感谢您的建议和帮助1-据我所知并非如此。这看起来有点像MathML,但特定于逻辑语句和添加的类型。你似乎已经有了一个明确的想法,所以我怀疑一个标准是否符合你的要求 2-您需要一些中间类,例如句子、函数、变量和常量,并实现类似evaluate()的方法。有多种方法可以创建匹配的对象。Java中的一种简单方法(不需要额外的库)是将XML解析为DOM树,然后遍历它,用类创建相应的树
3-您可以使用像Jaxe这样的XML编辑器和配置文件来定制GUI。但是,在这种情况下,我也会考虑为逻辑语句和相关的解析器定义文本语法。您可以让用户输入“!(X=“finished”)|(Y>50)”之类的文本,并使用更多的GUI来定义X和Y的类型。与MathML一样,如果您向用户索要XML,即使有一个漂亮的GUI,最终也会得到相当详细的内容。您可以使用CUP(和JFlex)解析结构。1-谢谢。我会查一下MathML。2-我也想到了中级班。如果能够借助XSL转换生成代码,这将是一件有趣的事情。但我认为这是不可能的,或者太难了,我必须选择解析。3-这将是用于GUI生成的XML解析。再次感谢