Message text written by Matthew MacKenzie
>please - lay off on
the attributes! Little trade-offs here and there will add up to a nice
performance gain.
<<<<<<<<<<<<<<<<<<<<<<<
OK - its time I made a strong point here about
how wonderful attributes are - despite the SML people - as
business attributes CANNOT be modelled by elements
(SML works for simple document world examples, but not
serious EDI).
Here's the trick. By using the DTD and attributes cleverly together
you can indeed get 'shallow parse trees' that are also highly rich
in information content. Since the DTD can default all sorts of
useful things like "lang=EN", "format=X12", "curr=US", et al. This
greatly simplifies the transaction content creation and reduces the
size and complexity of the transaction itself. Couple this with Bizcodes
and other power techniques of removing syntax burden and we can indeed
ensure that message constructs are readable and intuitive.
Also - the performance gains are signficant - repetitive transactions (yes
EDI
is highly repetitive) can leverage cached syntax and also branching to
avoid unnecessary parsing overhead of branches of the message / DTD
structure that you simply don;t access (this technique is an 'on demand'
parsing approach) and the DOM definately supports this today.
DW.