u define the data model as completely as possible
u compromises must be fixed later with much more effort
u define the semantics as strictly as possible (how ???)
u elements are better to handle than attributes if authoring is done
in SGML
u SGML’s datatyping is not sufficient
u implement your own based on architecture attributes
u try to establish linking based on existing data
u it is not always necessary to follow the link
u use synergy of natural object identifiers (e.g. object names)
u keep flexible in the global data model (locations of containers)
u this makes it easier to adapt on existing tools
u be aware that the files tend to be big (10 - 15 Megabytes):
“terseness is not a design goal for XML (Tim Bray)”