Lists Home |
Date Index |
You did indeed get the address idea right. CAM allows you to customize the
layouts and tags to the local community - while retaining references to the
global dictionary definitions. This is much cleaner than namespaces BTW.
The UPU has this use case. In the CAM tutorial we show different address
formats - US street, US APO, and Canadian - all co-existing in the same
template. This is immensely useful for international mail authorities trying
to automate address data exchanges between systems.
OASIS CIQ has also defined this uber-dictionary approach.
This also touches on versioning - you can have the one template handle versions
too. And you can version at the element and attribute level - this is vital.
Everyone thinks of versioning at the schema level - but in reality you need
versioning down atomically within the schema. CAM fully supports versioning at
that level, and also using registry to augment that.
One other thing - versioning of CAM engine itself - and compliance checking
levels support by engine - yes - we do both.
BTW - another great benefit of CAM is that it is agnostic to the element /
attribute thing - you can treat them interchangably - and define rules and
semantics freely against - no restrictions - (caveat: within limits of
wellformness rules for XML).
So - in summary -
o substitution sub-structures - check
o decoupling of tagnames to semantic meaning - check
o semantic referencing without need for namespaces - check
o versioning - structure and atomic levels - check
o registry supported versioning - check
o link from structure and rules to CAM version / level - check
o agnostic element and attribute handling - check
o Form level processing - (I noticed you sidetracked into this!) - no - we do
not do what XForms and XFA is designed to do et al - but we can generate form
markup given a form template - that's just rendering, nothing else.
Quoting "Bullard, Claude L (Len)" <email@example.com>:
But the flexibility of XML is that it can be heterogenous. . . and how to
understand when you will get what structure is the purpose of attributes. .
. so the more context sensitive XML modeler (who understands the
requirements first) might use:
for US address, and the the following for UK addresses:
I am not aware of a way to use Schema to enforce a substructure based on a
value in an attribute, but from the short look at CAM that I have done, this
seems to be exactly what it was designed to do. . . combine snippets of
variants together into a complete document that is very context aware.
David, did I get that right?