Reinhard, good job, this [Summary] method could kickstart a sprawling FAQ archive :)
Many thanks, --------------------------------------------- Luca Morandini GIS Consultant [EMAIL PROTECTED] http://utenti.tripod.it/lmorandini/index.html --------------------------------------------- > -----Original Message----- > From: Reinhard Poetz [mailto:[EMAIL PROTECTED]] > Sent: Monday, July 01, 2002 5:15 PM > To: [EMAIL PROTECTED] > Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED] > Subject: [Summary] How to remove namespace declarations and prefixes? > > > Thank you Harry and Manos! > > I want to provide a summary of this thread - maybe this could be included > into some docs. > > Problem: > ******** > > ... I use namespaces and I want to remove them in my result xml ... > > (original mail: > http://marc.theaimsgroup.com/?l=xml-cocoon-users&m=102551958020786&w=2) > > > Solutions, which NOT work: > ************************** > exclude-result-prefixes (in the stylesheet) > [http://marc.theaimsgroup.com/?l=xml-cocoon-users&m=100101165325379&w=2] > > <omit-xml-declaration> (in the sitemap) > [http://marc.theaimsgroup.com/?l=xml-cocoon-users&m=100084611731795&w=2] > > exclude-prefixes (in the stylesheet) > http://marc.theaimsgroup.com/?l=xml-cocoon-users&m=101912408904652&w=2 > > > > Solutions, which WORK: > ********************** > > 1.) > Harry Lai: > ---------- > Kay's XSLT Programmer's Reference: > "The xsl:exclude-result-prefixes and exclude-result-prefixes attributes > apply only to namespace nodes copied from the stylesheet using literal > result elements. They do not affect namespace nodes copied from > the source document using <xsl:copy> or <xsl:copy-of>: there is no way > of suppressing these." > > Unfortunately, since xslt's will often have a catch-all template > matcher to copy elements it doesn't transform, this comes up quite a bit. > > So... what I ended up doing was extending the HTMLSerializer (or whatever > serializer you're using for your pipelines), and overriding the > startPrefixMapping and endPrefixMapping methods to do nothing, effectively > removing all namespaces from my HTML. This also had the added benefit of > having no performance penalties (and theoretically, a > ever-so-slight speedup since we no longer process namespaces in our > serializer). > > You could make this more general, and use the serializer's > configuration to declare which namespaces you want to exclude, but excluding > all > worked well for us, especially since we were outputting HTML. > > (complete mail: > http://marc.theaimsgroup.com/?l=xml-cocoon-users&m=102553525402606&w=2) > > 2.) > Manos Batsis: > ------------- > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> > <xsl:template match="*"> > <!-- remove element prefix (if any) --> > <xsl:element name="{local-name()}"> > <!-- process attributes --> > <xsl:for-each select="@*"> > <!-- remove attribute prefix (if any) --> > <xsl:attribute name="{local-name()}"> > <xsl:value-of select="."/> > </xsl:attribute> > </xsl:for-each> > <xsl:apply-templates/> > </xsl:element> > </xsl:template> > </xsl:stylesheet> > > (complete mail: > http://marc.theaimsgroup.com/?l=xml-cocoon-users&m=102552029221254&w=2) > > Regards, > Reinhard > > > --------------------------------------------------------------------- > Please check that your question has not already been answered in the > FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html> > > To unsubscribe, e-mail: <[EMAIL PROTECTED]> > For additional commands, e-mail: <[EMAIL PROTECTED]> > --------------------------------------------------------------------- Please check that your question has not already been answered in the FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html> To unsubscribe, e-mail: <[EMAIL PROTECTED]> For additional commands, e-mail: <[EMAIL PROTECTED]>