SampleXSLTPage
Jump to navigation
Jump to search
The exact textual content of the original version of the Remove-Namespaces.xsl is as follows:
== Summary == This is a quick XSLT script for removing the namespaces from any document. It will remove the prefix as well. I think I picked it up off the XSL-List run by mulberry-tech. This is sometimes a good first step to remove namespaces from a set of files some of which use namespaces and some of which don't. Add any comments to the 'discussion' tab. == Required Input == This document will take any XML file, not just TEI XML, and remove a namespace from it if it exists. If there are entities in the document, these will naturally be expanded. == Expected Output == Same document, but with the namespaces and namespace prefix removed. == Known Restrictions or Problems == Obviously, if you need the namespaces then this might not be as useful to you. For example, where you have documents which use elements from different namespaces with the exact same local-name (for example, TEI's <title> and HTML's <title> then flattening the document to remove namespaces would be problematic. == Stylesheet == <pre> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="no"/> <xsl:template match="/|comment()|processing-instruction()"> <xsl:copy> <xsl:apply-templates/> </xsl:copy> </xsl:template> <xsl:template match="*"> <xsl:element name="{local-name()}"> <xsl:apply-templates select="@*|node()"/> </xsl:element> </xsl:template> <xsl:template match="@*"> <xsl:attribute name="{local-name()}"> <xsl:value-of select="."/> </xsl:attribute> </xsl:template> </xsl:stylesheet> </pre> [[Category:XSLT]]