[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: XPath/XSLT 2.0 concerns
> 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. html Python/Web Services column: xmlrpclib - http://www-106.ibm.com/developerworks/w ebservices/library/ws-pyth10.html
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|