Hi Folks, When you create an XML Schema you can add any number of
non-XML-Schema attributes onto each item in the schema.
These non-xml-schema attributes are called
foreign attributes. They are ignored by XML Schema validators. (However, they can be effectively used by other applications.)
Here is an example of an XML Schema that has foreign attributes: <xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
That schema has a foreign attribute,
foo:binding, on <xs:element> and a foreign attribute,
foo:order, on <xs:sequence>. The creators of XML Schema had remarkable foresight! How did the creators of XML Schema know that people would
utilize foreign attributes to create entirely new, unforeseen technologies? Data Format Description Language (DFDL) is a technology that is entirely based on
the use of foreign attributes. Here is a portion of a “DFDL Schema”: <xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
Notice the use of the
dfdl:hiddenGroupRef and
dfdl:occursCountKind foreign attributes. In case you’re interested, DFDL is a technology for parsing
any data format, text or binary. The output of the parser is XML. It’s pretty cool. /Roger |