D
Schemas
About the Schemas
The XFA schemas are written in the language RELAX: Next Generation (RNG) which is described in
[RELAX-NG].
XFA schemas are written in this language rather than the more usual XML-Schema 1.0
[XMLSchema]
because XFA allows free ordering in situations where XML-Schema cannot support it. This
free ordering allows differently-named children of an element to appear in any order without changing
the meaning. In RNG this is signified by the
interleave
directive. For example, in RNG one can say:
<element name="a">
<interleave>
<element name="x"/>
<element name="y"/>
<element name="z"/>
</interleave>
</ref>
This declares that the element
a
has three child elements
x
,
y
, and
z
which may appear in any order. There
are six possible permutations for the child elements: xyz, xzy, yxz, yzx, zxy, and zyx . This could be declared
in XML-Schema but it would have to be declared as six alternative sequences of child elements.
Unfortunately the number of permutations goes up as the factorial of the number of distinct child
elements and XFA has elements with dozens of distinct children. Hence it is not practical to represent XFA
in XML-Schema while preserving the free ordering.
979
Home Index Bookmark Pages
Pages: Home Index All Pages