Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何评估/翻译XML文件中定义的逻辑语句_Java_Xml_User Interface_Xsd_Logic - Fatal编程技术网

Java 如何评估/翻译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>

我将处理一些包含如下逻辑语句的XML文件:

<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解析。再次感谢