Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: [xml-dev] Pragmatic namespaces. A proposal

From: Dave Pawson <davep@-------.--.-->
To: 'XML Developers List' <xml-dev@-----.---.--->
Date: 8/13/2009 7:37:00 AM
<doc>
<hd>Proposal for an alternative to namespaces.
&#xA9; Dave Pawson 2009. Will be FDL
(http://www.gnu.org/licenses/fdl.html)</hd>

<example>
<hd>An XML instance. No namespaces, disambiguation of schemas in mind</hd>
<root> <!-- Initial schema A-->
   <a>
     <a>
       <a>
	<chx id='c1'> <!-- Change to use schema B -->
	  <a>
	    <a></a>
	  </a>
	</chx>
	<a>  <!-- Revert to schema A -->
	  <chx id='c2'> <!-- change to schema C -->
	    <a>
	      <a></a>
	    </a>
	  </chx>
	</a>
       </a>
     </a>
   </a>
</root>
</example>

<p>Note that DSRL simply can't currently handle this!</p>

<hd>Scope of this proposal</hd>
<ol>
<li>This proposal does not attempt to meet the needs of the HTML WG</li>
<li>It does address XML processing via todays ns aware tools(via
transformation to a ns based instance)</li>
<li>It addressed the needs of schema disambiguation</li>
<li>Addresses element names common to more than one schema in use by
an application processing the instance</li>
<li>Schema association of a particular element is context independent</li>

</ol>

<hd>Design Outline: </hd>
<ol>
   <li>As Rick suggests, the rationale behind the ns rec is to
   disambiguate content via the vocabulary used. To do that we only
   need to recognise transition points, i.e. where elements change from
   using one schema to another. In the example, these are identified as
   elements chx. This relies on the scoping of vocabulary association</li>
   <li>Vocabulary association is only inherited from the nearest 
ancestor. </li>
   <li>An element is only ever in one schema from the POV of an
   application using the instance</li>
   <li>As Mike Kay and Liam Quinn proprosals, the mapping to
   vocabulary/schema is done outside the instance.</li>
   <li>Currently attributes are not addressed. TBD. KISS principle
   desirable</li>
   <li>Using something similar to DSRL such an instance could be mapped
   to a namespaced instance for validation or other processing using
   todays tools</li>
</ol>


<hd>Disambiguation</hd>
<p>Source document transition points may be identified by either a
unique id value or an xpath expression. The external 'namespace
definition file' as Liam calls it (see
http://www.balisage.net/Proceedings/vol3/html/Quin01/BalisageVol3-Quin01.html),
or a 'Vocabulary definition file' as Mike Kay called it, is used for
this. No reference to it in the XML instance, as per Relax NG and the
lack of a schema reference internal to the file.  </p>
<p>Having identified such a transition point, the vocabulary
definition file  maps this point to a schema, or it may need to be to an
element within that schema, if there is more than one element of the
same name. This assumes an XML based schema. </p>


<hd>Vocabulary definition file</hd>
<p>This section is not a proposal. It is for discussion only</p>

<example>
   <hd>An example vocabulary definition file for the previous example</hd>

<vdf>
   <meta>
     ... any required metadata, including versioning
   </meta>

   <element
       xpath="/root"
       schema="/sgml/rng/sch0.rng"
       start-element="doc"/>

   <element
       xpath="/root/a[1]/a[1]/a[1]/chx[1]"
       schema="/sgml/rng/sch1.rng"
       start-element="chx"/>
   <element
       xpath="/root/a[1]/a[1]/a[1]/a[1]/chx[1]"
       schema="/sgml/rng/sch2.rng"
       start-element="svg"/>

<!-- Or -->
  <element
       idref="c2"
       schema="/sgml/rng/sch2.rng"
       start-element="svg"/>
</vdf>
</example>
<p>This is not fully thought out. For SDRL to do it's remapping such
remap information would need to be within (or accessible from) the
Vocabulary definition file. An SDRL file link could be part of the
metadata</p>



</doc>


Comments?


regards

-- 
Dave Pawson
XSLT XSL-FO FAQ.
http://www.dpawson.co.uk

_______________________________________________________________________

XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.

[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: xml-dev-unsubscribe@l...
subscribe: xml-dev-subscribe@l...
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php



transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent