ошибка openEHR ADLParser с использованием se.acode.openehr.parser.ADLParser и org.openehr.adl.parser.addldeserializer

#argument-dependent-lookup #openehr

#зависящий от аргумента поиск #openehr

Вопрос:

Мы пытаемся десериализовать файл ADL (ADMIN-ENTRY), но при использовании как ADLParser, так и ADLDeserializer возникает ошибка.

С использованием se.acode.openehr.parser.ADLParser возвращает это сообщение об ошибке:

 se.acode.openehr.parser.ParseException: Encountered " <V_LOCAL_CODE> ""at0108" "" at line 109, column 112.
Was expecting:
    "}" ...
    
    at se.acode.openehr.parser.ADLParser.generateParseException(ADLParser.java:7327)
    at se.acode.openehr.parser.ADLParser.jj_consume_token(ADLParser.java:7191)
    at se.acode.openehr.parser.ADLParser.c_attribute(ADLParser.java:2832)
    at se.acode.openehr.parser.ADLParser.c_complex_object_body(ADLParser.java:2604)
    at se.acode.openehr.parser.ADLParser.c_complex_object(ADLParser.java:2587)
    at se.acode.openehr.parser.ADLParser.c_object(ADLParser.java:2632)
    at se.acode.openehr.parser.ADLParser.c_attr_values(ADLParser.java:2868)
    at se.acode.openehr.parser.ADLParser.c_attribute(ADLParser.java:2831)
    at se.acode.openehr.parser.ADLParser.c_complex_object_body(ADLParser.java:2604)
    at se.acode.openehr.parser.ADLParser.c_complex_object(ADLParser.java:2587)
    at se.acode.openehr.parser.ADLParser.c_object(ADLParser.java:2632)
    at se.acode.openehr.parser.ADLParser.c_attr_values(ADLParser.java:2868)
    at se.acode.openehr.parser.ADLParser.c_attribute(ADLParser.java:2831)
    at se.acode.openehr.parser.ADLParser.c_complex_object_body(ADLParser.java:2604)
    at se.acode.openehr.parser.ADLParser.c_complex_object(ADLParser.java:2587)
    at se.acode.openehr.parser.ADLParser.c_object(ADLParser.java:2632)
    at se.acode.openehr.parser.ADLParser.c_attr_values(ADLParser.java:2868)
    at se.acode.openehr.parser.ADLParser.c_attribute(ADLParser.java:2831)
    at se.acode.openehr.parser.ADLParser.c_complex_object_body(ADLParser.java:2604)
    at se.acode.openehr.parser.ADLParser.c_complex_object(ADLParser.java:2587)
    at se.acode.openehr.parser.ADLParser.c_object(ADLParser.java:2632)
    at se.acode.openehr.parser.ADLParser.c_attr_values(ADLParser.java:2868)
    at se.acode.openehr.parser.ADLParser.c_attribute(ADLParser.java:2831)
    at se.acode.openehr.parser.ADLParser.c_complex_object_body(ADLParser.java:2604)
    at se.acode.openehr.parser.ADLParser.c_complex_object(ADLParser.java:2587)
    at se.acode.openehr.parser.ADLParser.c_object(ADLParser.java:2632)
    at se.acode.openehr.parser.ADLParser.c_attr_values(ADLParser.java:2868)
    at se.acode.openehr.parser.ADLParser.c_attribute(ADLParser.java:2831)
    at se.acode.openehr.parser.ADLParser.c_complex_object_body(ADLParser.java:2604)
    at se.acode.openehr.parser.ADLParser.c_complex_object(ADLParser.java:2587)
    at se.acode.openehr.parser.ADLParser.cadl_text(ADLParser.java:2553)
    at se.acode.openehr.parser.ADLParser.arch_definition(ADLParser.java:738)
    at se.acode.openehr.parser.ADLParser.archetype(ADLParser.java:295)
  

С использованием org.openehr.adl.parser.AdlDeserializer возвращает это сообщение об ошибке:

 org.openehr.adl.parser.AdlParserException: 1:0 extraneous input '' expecting {ARCHETYPE, TEMPLATE, TEMPLATE_OVERLAY}
335:0 mismatched input 'ontology' expecting <EOF>
    at org.openehr.adl.parser.AdlDeserializer.parse(AdlDeserializer.java:68)
    at org.openehr.adl.parser.AdlDeserializer.parse(AdlDeserializer.java:51)
  

Это файл ADL:
https://drive.google.com/file/d/1m7vQ7fw7EvQI58t3kbL73Py713DYV-Q9/view?usp=sharing

Кто-нибудь знает, как мне это решить?

Ответ №1:

Я думаю, что конструкция с DV_TEXT является незаконной в строке 109. Та же конструкция используется несколькими строками ниже этой, попробуйте удалить эту и посмотреть, не появится ли ошибка в этом местоположении.

Чего вы пытаетесь достичь? Это должно быть регулярное выражение?