A Compelling Vision

MessageLabs Journal

Subscribe to MessageLabs Journal: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get MessageLabs Journal: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


MessageLabs Journal Authors: AppDynamics Blog, RealWire News Distribution, Mike Sweeney, Guy Bunker, Maureen O'Gara

Related Topics: XML Magazine, MessageLabs Journal

RSS Feed Item

Re: XIN: XML implicit namespace definitions

> It's not inconceivable to me that such a thing could get into a
> future version of XHTML, and/or get fairly widespread support,
> if it was useful.

If XHTML continues to mandate the use of a DOCTYPE, then in that case
you have the option of defaulting the namespaces using DTD attribute
defaults (er, except in IE, where the parser documents its non
conformance here)


> A workaround here is to use a different character:
>
>  <try xin="try.xin">
>    <svg.picture>pretty!</svg.picture>
>  </try>

I'd just not use any prefix at all (which by the way would have a side
benefit of matching mathml and perhaps svg in html5)

You'd just use local names everywhere and conceptually (and perhaps in
practice) an xin processor
is just a processor that does an xslt transform something like

<xsl:template match="*">
<xsl:param name="ns"/>
<xsl:element  name="{local-name()}" namespace="$ns"/>
<xsl:copy-of select="@*"/>
<xsl:apply-templates>
  <xsl:with-param name="ns" select=$ns"/>
</xsl:element>
</xsl:template>


<xsl:template match="html">
<xsl:variable name="ns" select='http://www.w3.org/1999/xhtml'/>
<xsl:element  name="{local-name()}" namespace="$ns"/>
<xsl:copy-of select="@*"/>
<xsl:apply-templates>
  <xsl:with-param name="ns" select=$ns"/>
</xsl:element>
</xsl:template>


<xsl:template match="math">
<xsl:variable name="ns" select='http://www.w3.org/1998/Math/MathML'/>
<xsl:element  name="{local-name()}" namespace="$ns"/>
<xsl:copy-of select="@*"/>
<xsl:apply-templates>
  <xsl:with-param name="ns" select=$ns"/>
</xsl:element>
</xsl:template>

etc, so you just have certain predefined elements such as html or math
that switch the namespace for all their descendants into the "correct"
namespace until you get to the next "switching" element.

David

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

Read the original blog entry...