Altova Mailing List Archives>Archive Index >xsl-list Archive Home >Recent entries >Thread Prev - [xsl] Forcing a namespace declaration [Thread Next] Re: [xsl] Forcing a namespace declarationTo: Date: 5/1/2007 1:47:00 PM > 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. ________________________________________________________________________ | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
