Known restrictions and bugs
There are following common restrictions and known bugs:
XML loader restrictions
The value of xml:space
is ignored: whitespaces are normalized (all consecutive
whitespaces are replaced by
a single space) in text nodes as if the value
of the attribute was default
. CDATASection nodes
and attributes are not whitespace-normalized.
No attribute can have same namespace as its owner element.
XInclude is not supported - all includes are fully resolved when loading the document.
Schema restrictions
There must not be two rules, such that:
- the intersection of their nameclass is non-empty, and
- the tree, generated by first rule is a subtree of the tree generated by second rule
In other words, it means:
- For each element in the XML file, EuroMath must be able to guess the correct rule from the element
placement and contents, and
- If we insert some content into the element then the rule generating this
element must not change.
No element nor attribute schema rule can accept infinite number of localnames.
This is because of the autocompletion feature: when inserting new elements/attributes,
EuroMath2 must offer list of
allowable names. If there was infinite number of local QNames, this
list will have unlimited items and it couldn't be displayed.
There can't be no rule that can generate element OR it can generate attribute. There can't
even be rule that
can generate attribute OR another attribute. So, presence of
attribute must not allow/disallow presence of other
attributes and/or elements.
Rule
<concur>
in TREX and similar rules in another
schema languages are not supported and probably never will be.
MSV doesn't support default values, so EuroMath doesn't support them either. Please see
this page
for explanation, why default
values shouldn't be defined by external schema. Internal DTD definition is currently unsupported.