|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Architectural Forms: The Next Generation
This is the kickoff message for a project tentatively called AFNG, for Architectural Forms: The Next Generation. It is intended to provide a mechanism equivalent in power to Architectural Forms, but decomposed and using a more modern mechanism for representing the mapping from original form to architectural form. The intention is that architectural mapping is done as part of a pipeline, where validation can be done either before or after mapping, or both. The following schema specifies the syntax of an Architectural Map: default namespace = "x-whatever:somepinorother" datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes" ns = attribute ns {xsd:anyURI}? values = "skip" | "process" | "literal" start = element map { ns, attribute form-att {xsd:token}, form+ } form = element form { ns, attribute name {text}, attribute to-name {xsd:token}?, attribute children {values}?, attribute data {values}?, attmap* } attmap = element attmap { ns, attribute to-name {xsd:token}, attribute from-ns {xsd:anyURI}, attribute from-name {xsd:token}, empty } The ns attribute is inherited down the tree, and specifies the namespace name associated with form-att and to-name attributes. The from-ns attribute specifies the namespace name associated with a from-name attribute. When an instance document is mapped in accordance with an Architectural Map, each element is checked for the presence of a form attribute. The name of the form attribute associated with a Map is given by the form-att attribute of the map element. If not found, the element is processed in accordance with the current *mode*. In the default mode, the element is omitted entirely from the output. If the attribute is present, then its content is matched against the name attributes of all form elements. If it does not match any, that is equivalent to not having a form attribute. The matching form element is used to decide how to process the instance document's element type, attributes, child elements, and data. The to-name attribute provides the element type for the output. The attmap sub-elements specify how to map the instance document's attributes, using from-att and from-ns to specify an attribute in the instance document, and to-att and ns to specify how that attribute is to be named in the output. The children and data elements set the mode for the processing of child elements and character data. "Skip" means omit them, "process" means do mapping on them, and "literal" means leave them as-is. For data, "process" means the same as "literal". It's just a sketch. What do y'all think? -- John Cowan http://www.ccil.org/~cowan cowan@c... Please leave your values | Check your assumptions. In fact, at the front desk. | check your assumptions at the door. --sign in Paris hotel | --Miles Vorkosigan
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Cast Your Vote
We need your help – Vote for DataDirect XML Products!
Winners and finalists announced at SOA World Conference in November. Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|
|||||||||







