[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Architectural Forms: The Next Generation

  • To: xml-dev@l...
  • Subject: Architectural Forms: The Next Generation
  • From: John Cowan <cowan@m...>
  • Date: Fri, 25 Jan 2002 21:38:03 -0500 (EST)

architectural mapping
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 {
			attribute form-att {xsd:token},

form =		element form {
			attribute name {text},
			attribute to-name {xsd:token}?,
			attribute children {values}?,
			attribute data {values}?,

attmap =	element attmap {
			attribute to-name {xsd:token},
			attribute from-ns {xsd:anyURI},
			attribute from-name {xsd:token},

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


Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
First Name
Last Name
Subscribe in XML format
RSS 2.0
Atom 0.3

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.

Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.