This is a simple question: Why does a simple archetype slot like this (ADL)
allow_archetype ELEMENT[at0001] occurrences matches {0..*} matches {
-- Archetype slot
include
archetype_id/value matches {/.*/}
}
ends up like this?
<children xsi:type="ARCHETYPE_SLOT">
<rm_type_name>ELEMENT</rm_type_name>
<occurrences>
<lower_included>true</lower_included>
<upper_included>false</upper_included>
<lower_unbounded>false</lower_unbounded>
<upper_unbounded>true</upper_unbounded>
<lower>0</lower>
</occurrences>
<node_id>at0001</node_id>
<includes>
<tag />
<string_expression>archetype_id/value matches
{/.*/}</string_expression>
<expression xsi:type="EXPR_BINARY_OPERATOR">
<type>BOOLEAN</type>
<operator>2007</operator>
<precedence_overridden>false</precedence_overridden>
<left_operand xsi:type="EXPR_LEAF">
<type>STRING</type>
<item xsi:type="xsd:string">archetype_id/value</item>
<reference_type>CONSTANT</reference_type>
</left_operand>
<right_operand xsi:type="EXPR_LEAF">
<type>String</type>
<item xsi:type="C_STRING">
<pattern>.*</pattern>
</item>
<reference_type>CONSTANT</reference_type>
</right_operand>
</expression>
</includes>
I'm not complaining about the ultra-verbose occurrences (surely can be
improved, but there was already a discussion about this on this
mailing list).
I don't get the point of putting the 'expression' tags on this case.
It's like putting the same thing twice.
Is the 'operator' tag supposed to be understandable?