Как оценить / перевести предложения логики, определенные в файлах XML - PullRequest
0 голосов
/ 08 октября 2010

Я собираюсь поработать с некоторыми файлами 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>

Мои вопросы: 1- Существует ли какая-либо стандартная схема XML для отображения логических предложений в XMLфайлы?Я ищу что-то вроде RFC (Запрос комментариев).

2 - Как лучше всего переводить и оценивать эти предложения в файлах XML с помощью Java?3- Я хочу написать код для автогенерации GUI, с помощью которого пользователи могут изменять значение переменных в логических предложениях?Существуют ли какие-либо специальные методы для создания GUI (Swing или Jface) из файлов XML?

Ценю ваши советы и помощь

1 Ответ

0 голосов
/ 09 октября 2010

1- Не настолько, насколько я знаю.Это немного похоже на MathML, но специфично для логических предложений и добавленных типов.Кажется, у вас уже есть конкретная идея, поэтому я сомневаюсь, что стандарт подойдет для того, что вы ищете.

2 - Вам нужны некоторые промежуточные классы, такие как Sentence, Function, Variable и Constant, и реализацияметод, как оценивать ().Существуют различные способы создания соответствующих объектов.Простой способ в Java (без дополнительной библиотеки) состоит в том, чтобы проанализировать XML как дерево DOM и пройти через него, чтобы создать соответствующее дерево с вашими классами.

3 - Вы можете использовать редактор XML, напримерJaxe, с файлом конфигурации для настройки графического интерфейса.Однако в этом случае я бы также рассмотрел определение синтаксиса текста для ваших логических предложений и связанного с ним синтаксического анализатора.Вы можете позволить пользователям вводить текст типа «! (X =« закончено ») | (Y> 50)» и использовать больше GUI для определения типа для X и Y. Как и в MathML, если вы запрашиваете у пользователя XML, дажес хорошим графическим интерфейсом вы получите что-то довольно многословное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...