OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] XPath/XSLT 2.0 concerns

[ Lists Home | Date Index | Thread Index ]

> If schema support must be added to XSLT I think it should be very
> generic and non-intrusive. One idea I've been thinking about is to use
> a schema axis together with a suitable abbreviation. What nodes to expect
> on the schema axis should not be specified in the XSLT specification,
> but in separate specifications for each schema language.
> There could however be top level elements that provide a standard
> way to assoicate a stylesheet with a schema. Something
> along the following very hypothetical example:
> Schema fragment (in the RELAX NG compact syntax):
> value = element foo { xsd:int } | element bar { xsd:anyURI  }
> Stylesheet fragment  (assuming '#' for the abbreviation of 'schema::'):
> <xsl:load-schema href="myschema.rng"
> type="http://relaxng.org/ns/structure/1.0"/>
> <xsl:template match="schema::value">
>   <xsl:text>Value: </xsl:text><xsl:apply-templates/>
> <xsl:template>
> <xsl:template match="#xsd:int">
>   <xsl:text>Integer: </xsl:text><xsl:value-of select="."/>
> </xsl:template>
> <xsl:template match="#xsd:anyURI">
>   <xsl:text>URI: </xsl:text><xsl:value-of select="."/>
> </xsl:template>

I like the general idea, but I personally don't think axes are the way to go.  
The main reason is that I would like such facilities to support general 
"infoset" annotation, and not just WXS types.  For example, this could be the 
basis for generic dispatch of hyperlinks if the infoset-annotation to 
reconciling XLink and HLink is chosen.

I would personally lean more towards:

match="child::*[annotation(., "dt:type") = "xsd:int"]

Though, I recognize that in my approach, one would have to write the full URI, 
not just the QName "xsd:int".

Uche Ogbuji                                    Fourthought, Inc.
http://uche.ogbuji.net    http://4Suite.org    http://fourthought.com
Apache 2.0 API - http://www-106.ibm.com/developerworks/linux/library/l-apache/
Python&XML column: Tour of Python/XML - http://www.xml.com/pub/a/2002/09/18/py.
Python/Web Services column: xmlrpclib - http://www-106.ibm.com/developerworks/w


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS