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]>

Reply via email to