[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: Global namespace prefixes (Corrected Examples)
Subject: Re: Global namespace prefixes (Corrected Examples)
From: Nathan Potter <ndp@xxxxxxxxxxxxxxxxxxxx>
Date: Fri, 14 Nov 2008 08:43:18 -0800
|
So there must be differences in our XSLT processors. With the
stylesheet you provided below I get:
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dap="http://xml.opendap.org/ns/DAP/3.2#">
<att:Conventions xmlns:att="http://base.document/att#">CF-1.0</
att:Conventions>
<att:logname xmlns:att="http://base.document/att#">olson</
att:logname>
<att:host xmlns:att="http://base.document/att#">bb0001en</att:host>
</rdf:RDF>
No top level att prefix.
And if I add a copy-of the dummy element to the result tree:
<xsl:template match="dap:Dataset" >
<rdf:RDF>
<xsl:copy-of select="exslt:node-set($dummy)/*/
namespace::att"/>
<xsl:copy-of select="$dummy"/>
<xsl:apply-templates />
</rdf:RDF>
</xsl:template>
I get this:
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dap="http://xml.opendap.org/ns/DAP/3.2#">
<dummy xmlns="http://base.document/att#" />
<att:Conventions xmlns:att="http://base.document/att#">CF-1.0</
att:Conventions>
<att:logname xmlns:att="http://base.document/att#">olson</
att:logname>
<att:host xmlns:att="http://base.document/att#">bb0001en</att:host>
</rdf:RDF>
And the dummy element doesn't have a prefix.
So really this may be a situation where a fix is simply not possible
across different XSLT processors, or at least with the one I have been
using.
Based on the documentation for JDOM 1.0, which is what I am using to
work with my XML documents in Java land, I think I am using the Xalan
2.2d10 XSLT processor.
N
On Nov 14, 2008, at 1:10 AM, David Carlisle wrote:
That forces the att: declaration at the top, but continues to use the
unprefixed forms in element names. If you put the att: back in the
xsl:element like so:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xalan="http://xml.apache.org/xalan"
xmlns:exslt="http://exslt.org/common"
xmlns:dap="http://xml.opendap.org/ns/DAP/3.2#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
exclude-result-prefixes="xalan exslt"
<xsl:output method='xml' version='1.0'
encoding='UTF-8'
indent='yes'/>
<xsl:variable name="dummy">
<xsl:element name="att:dummy" namespace="{/dap:Dataset/
@base}/att#"/>
</xsl:variable>
<xsl:template match="dap:Dataset" >
<rdf:RDF>
<xsl:copy-of select="exslt:node-set($dummy)/*/
namespace::att"/>
<xsl:apply-templates />
</rdf:RDF>
</xsl:template>
<xsl:template match="dap:Attribute" >
<xsl:element name="att:{@name}" namespace="{/dap:Dataset/
@base}/att#">
<xsl:value-of select="." />
</xsl:element>
</xsl:template>
</xsl:stylesheet>
then saxon6 gives
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dap="http://xml.opendap.org/ns/DAP/3.2#"
xmlns:att="http://base.document/att#">
<att:Conventions>CF-1.0</att:Conventions>
<att:logname>olson</att:logname>
<att:host>bb0001en</att:host>
</rdf:RDF>
________________________________________________________________________
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.
________________________________________________________________________
============================================================
Nathan Potter Oregon State University, COAS
ndp at coas.oregonstate.edu 104 Ocean. Admin. Bldg.
541 737 2293 voice Corvallis, OR 97331-5503
541 737 2064 fax
|
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
RSS 2.0 |
|
Atom 0.3 |
|
|