Subject: Re: [xsl] Forcing a namespace declaration From: David Carlisle <davidc@xxxxxxxxx> Date: Tue, 1 May 2007 14:46:38 +0100 |
> The problem is I need the http://purl.org/rss/1.0/ xmlns declaration to > appear on the root element instead of on the channel element. If you removed exclude-result-prefixes="rss1" the xmlns would appear on the document element, but you'd also get xmlns:rssl, but that (probably?) does not matter? $ saxon8 ns1.xml ns1.xsl <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rss1="http://purl.org/rss/1.0/" xmlns="http://purl.org/rss/1.0/"> <channel>fffffff</channel> </rdf:RDF> Alternatively you can not declare the rssl prefix and instead make that the xpath default namespace (so you can select elements using that namespace) and use a prefix for your test namespace, and prefix teh match on n, something like: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="2.0" xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dc="http://purl.org/dc/elements/1.1/" xpath-default-namespace="http://purl.org/rss/1.0/" xmlns:test="http://www.test.com" exclude-result-prefixes="test" > <xsl:output indent="yes" method="xml"/> <xsl:template match="test:n" > <rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" > <channel>fffffff</channel> </rdf:RDF> </xsl:template> </xsl:stylesheet> $ saxon8 ns1.xml ns1.xsl <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://purl.org/rss/1.0/"> <channel>fffffff</channel> </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. ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Forcing a namespace declarati, tom tom | Thread | Re: [xsl] Forcing a namespace decla, Andrew Welch |
[xsl] Forcing a namespace declarati, tom tom | Date | Re: [xsl] Forcing a namespace decla, Andrew Welch |
Month |