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

Re: Names As Types


types of layering trees
Whoops. I didn't really mean xml:space=strip to appear the second time.

It's interesting that the reordered layer 4 is approximately what SAX 
delivers, while layer 5 is approximately what DOM delivers, in the 
absence of validation.

This layering would also put XML general entity resolution in layer 3, I 
think.

Bob

Bob Foster wrote:
> I prefer to view the stack as an analogy to the OSI networking model, 
> i.e., not just a conceptual model but also a service model. This makes 
> it meaningful to speak in terms of a "layer 4 service", "layer 7 
> service", etc. When you look at it this way, the obvious questions about 
> each layer are:
> 
> - does this layer provide a useful service to the layer it serves?
> - does this layer provide a meaningful application service (omitting the 
> higher layers)?
> 
> In that light, layers 5 and 6 need to be switched. XLink depends on 
> namespaces, not just special names like xml:space.
> 
> ID should be in the data augmentation layer.
> 
> I question whether an uncomposed tree is useful to any layer or that the 
> composition layer should conceptually operate in terms of the tree 
> layer, so I would switch layers 3 and 4, as well.
> 
> Then, I question whether the tree layer with raw xmlns declarations is a 
> desirable service. So I would move the augmented names layer before the 
> tree layer. I can't see any reason not to put it there, as augmented 
> names depend only on composed markup.
> 
> xml:space="strip" seems to me to be a markup layer operation.
> 
> With these comments, the stack would become:
> 
> 1) Encoding layer.  From bits to characters (text)
> 2) Markup layer. From text to data+markup, xml:space=strip
> 3) Composition layer. xml:include, xml:base, xlink
> 4) Property-augmented names layer: non-standard namespaces, RDF
> 5) Tree layer. From data+markup to attribute-value trees, xml:space=strip
> 6) Property-augmented data layer: xml:id, ID, xsi:type (simple)
> 7) Status layer: validation, security
> 
> In the reordered stack, the layers 3, 4, 5 and 6 all provide services an 
> application might reasonably want to use directly, independent of any 
> higher layers.
> 
> BTW, no matter how in bed the implementations of TCP and IP are, IP is a 
> distinct service that is used, for example, by UDP. In the same way, an 
> implementation might want validation (when it is done at all) to be in 
> bed with lower layers. However, if an implementation provided a layer 
> _service_ the application could be sure no validation would take place.
> 
> Bob Foster
> http://xmlbuddy.com/
> 
> 
> Bullard, Claude L (Len) wrote:
>  > You are definitely a turtle, Rick.  I owe you a drink.
>  >
>  > No quibble.  The reason for humans on the stack is that they input
>  > data and receive data, but otherwise, they don't perturbate the stack.
>  >
>  > What say the rest of you?  Is this stack a good description
>  > of concepts you use when you design an XML application language?
>  > If not, should it be?
>  >
>  > len
>  >
>  > From: Rick Jelliffe [mailto:rjelliffe@a...]
>  >
>  > Bullard, Claude L (Len) said:
>  >
>  >
>  >>What is the ideal XML application language architecture?
>  >
>  >
>  > Here is how I would like to it to be: a stack defined into
>  > simply describable layers of responsibility. Humans are not the end
>  > of the stack:  they can view any layer and see the inputs, outputs, and
>  > responsibilities of each layer.
>  >
>  > In reverse:
>  >
>  > 1) Encoding layer.  From bits to characters (text)
>  > 2) Markup layer. From text to data+markup
>  > 3) Tree layer. From data+markup to attribute-value trees, 
> xml:space=strip
>  > 4) Composition layer. xml:include, xml:base, xlink
>  > 5) Property-augmented data layer: xml:id, xsi:type (simple),
>  > 6) Property-augmented names layer: non-standard namespaces, ID, RDF
>  > 7) Status layer: validation, security
>  >
>  > (These layers are conceptual, not functional, in the same way that
>  > we think of TCP and IP as being separate layers despite their actual
>  > fairly tight coupling.)
>  >
>  > This kind of stack provides a alternative to a "processing model"
>  > for XML that lets street uchin specs like xml:include and
>  > even RDF work find a natural home.
>  >
>  > The Infoset and PSVI are generalized in four ways:
>  > * a layer (4) to represent composition/linking properties over AVTs,
>  > including building document sets or collections
>  > * a layer (5) to represent a list of properties on data and attribute
>  > values (e.g. datatypes)
>  > * a layer (6) to represent a list of properties on named information 
> items
>  > (elements, attributes)
>  > * a layer (7) to represent status information, in particular kinds of
>  >    validation
>  >
>  > This stack, therefore, does not build in any idea that datatyping is a
>  > result of validation. It is fine for XSD to couch itself in those terms,
>  > but XSD is unhelpful for databases in this regard.
>  >
>  > Adoption of a conceptual stack like this (by the W3C TAG and XML Core WG
>  > etc.) would, I think, help channel discussion and development. For 
> example,
>  > it would provide a much better model for defining the semantics of 
> xml:lang.
>  > Or for providing an inline specification for non-significant whitespace.
>  > Or for allowing a better RDF.


PURCHASE STYLUS STUDIO ONLINE TODAY!

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.
Email
First Name
Last Name
Company
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.