Hi Mike -- We will be creating XML schema
to model our annotations and the attributes applicable to the representation
of a particular element/type will be grouped within the complex
type of the annotation schema. My preference will be use annotation
approach consistently in DFDL.
Moreover the attributes defined in the
compact form are not easily accessible from the XML Schema APIs, you have
to look into the DOMNode associated with the XSDElementDeclaration
to get access to such attributes; it makes the programming task a little
harder. Having said that SOAP encoded schemas use this compact form
to identify the type and dimensions of the array types; some folks like
this approach and some hate it..
Suman Kalia
IBM Toronto Lab
WebSphere Business Integration Application Connectivity Tools
Tel : 905-413-3923 T/L 969-3923
Fax : 905-413-4850
Internet ID : kalia@ca.ibm.com
----- Forwarded by Suman
Kalia/Toronto/IBM on 03/02/2005 12:38 PM -----
Mike Beckerle <mike.beckerle@ascentialsoftware.com> Sent by: owner-dfdl-wg@ggf.org
03/01/2005 03:53 PM
To
dfdl-wg@gridforum.org
cc
Subject
[dfdl-wg] alternate syntax
for DFDL annotations
Up til now we've considered DFDL annotations
only as inside the appinfo context. However, we should consider whether
we should use non-native attributes as well or
as an alternative: E.g., simple DFDL rep
properties could also be expressed like this:
<xs:element name="foo"
type="xs:string"
dfdl:repType="text"
dfdl:charset="UTF-8"
dfdl:repLength="10"/>
This has the advantages of compactness, and
is a fully supported way of extending XML Schema. That is, using non-native
attributes is a supported extension idiom. This won't handle things that
really need the syntactic support of element structure to express their
complexity, e.g., things like specifying text delimiters with quoting and
escape-sequence specifications. For those we'll still need to open an appinfo
annotation up. However, for basic things like byteOrder and such it is
far more attractive syntactically to use non-native attributes than appinfo
annotations.