Lists Home |
Date Index |
This made me smile thinking about stored procedure and print-statement heaven.
CAM certainly does not have any lock-in on doing that classic
content-merge-output stuff. It's just another option in that particular camp.
The differentiator vis SQL is that CAM can work directly off an input XML
instance as its content source. How that XML get generated or sourced is
entirely down to the implementer naturally.
So - that's one way to use CAM - the other way is as a validation tool. So
people can answer the question - does my xml instance here conform to your
business rules? And if not - why not!
This brings a whole another aspect - where you can publish the CAM template as
the yard-stick as it where for creating valid instances.
In amongst this - you will pretty soon get into wanting to create dictionaries
of element and attribute definitions across schemas - not just local
definitions. CAM supports this via the <CcontentReference> section of the
template - and ability to denote linkage between your instance nodes and
central definitions in a registry.
This then opens up the possiblity to label things in your XML to suit local
usage - but actually refer to the standard name and definition in the
dictionary - thus indicating they are the same thing in reality.
So <billAddr> and <billingAddress> and <bToAd> can all be denoted as the same,
This also of course works on legacy XML transactions you already have slopping
around out there and now could not possibly change persay. Just define the CAM
template against those instances - thereby qualifying the actual usage semantic
Hope that helps.
Would it be fair to say CAM is a dynamic document generator
using boilerplate libraries?
That's not perjorative. We've been building these since
the CALS days and before. The difference is we didn't use
markup as the syntax for functions. (Thou Shalt Not
Program in Markup: the early ISO dictum that held SGML's
head under water while other declarative systems with
better political positions pushed hypermedia to the
side in favor of more complex solutions and vendors).
So why would I want to use CAM templates over SQL
stored queries and merge-laden scripted functions?
I'm reading the document cited in the last email,
not all of them, so I may miss something important.