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

SLAIX (was: Can XLink be fixed)

Simon St.Laurent scripsit:

> Provided that there's a clear mechanism for serializing the LSI as XML
> in some easily processed form (XLink-like or not), I suspect you can
> navigate those rocks.

I'd like to launch a discussion about solving the infoset serialization
problem once and for all, for every kind of infoset.  As a trial balloon,
I propose SLAIX, which stands for "serializing in Layman normal form
any infoset as XML."

A SLAIXified infoset looks like this:

There is a root element slaix:slaix which serves solely as a container.
It has no attributes except possibly namespace attributes.

Every child of slaix:slaix is an empty element with a qualified element type.
The URI reference to which the prefix of the element type name is bound
represents the infoset specification that defines elements of this type.
The localname represents the information item type within that specification.
There is one child for every information item in the infoset.
If the type name has more than one word, spaces are replaced by underscores.

The namespace-qualified attribute slaix:id
should appear on every slaix:item element.  It represents a
DTD-compatible ID for the element, and does not correspond to anything in
the information item.
specification that controls this item, and the name for the type of the
item in that specification.

Attributes on child elements that are not namespace-qualified
represent (and are named after) properties of that infoset item.
A property which is an ordered set of information items is represented
by a list of the slaix:id values of the elements corresponding to each
information item.  A property which is an unordered set of information
items is represented similarly after providing an arbitrary ordering.
A property which represents a simple type such as string, integer, or
boolean is represented using the canonical value given in XML Schema Part 2.
Properties of other types are outside the scope of this specification.
If the property name has more than one word, spaces are replaced by underscores.
If a property "has no value", the corresponding attribute is not present.

Attributes on child elements that are namespace-qualified represent
infoset augmentations: the URI reference of the element type specifies
the infoset specification that defines this type of information item,
and the URI reference of the attribute name specifies the infoset
specification that defines this particular property.

Here's an example:

The document

	  <author sort="brownjohn">John Brown</author>
	  <title>My Life</title>

SLAIXifies somewhat as follows:

<slaix:slaix slaix:xmlns="..." xmlns="http://www.w3.org/TR/xml-infoset">
	<document slaix:id="root" children="e1" document_element="e1" base_URI="..."/>
	<element slaix:id="e1" local_name="book" children="e2 e3"
		attributes="" namespace_attributes="" in-scope_namespaces="n1"
		base_URI="..." parent="root"/>
	<element slaix:id="e2" local_name="author" children="c1 c2 c3 c4 c5 c6 c7 c8 c9 c10"
		attributes="a1" namespace_attributes="" in-scope_namespaces="n1"
		base_URI="..." parent="book"/>
	<element slaix:id="e3" local_name="title" children="c11 c12 c13 c14 c15 c16 c17"
		attributes="" namespace_attributes="" in-scope_namespaces="n1"
		base_URI="..." parent="root"/>
	<attribute slaix:id="a1" local_name="sort" normalized_value="brownjohn"
		specified="true" attribute_type="CDATA" owner_element="e2"/>
	<namespace slaix:id="n1" prefix="xml"
	<character slaix:id="c1" character_code="74" element_content_whitespace
		= "false" parent="e2"/>
	<!-- boring character elements omitted -->

John Cowan          http://www.ccil.org/~cowan        jcowan@r...
To say that Bilbo's breath was taken away is no description at all.  There are
no words left to express his staggerment, since Men changed the language that
they learned of elves in the days when all the world was wonderful. --The Hobbit


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.