Difference between revisions of "SampleXSLTPage"
Jump to navigation
Jump to search
Piotr Banski (talk | contribs) m (typo) |
Piotr Banski (talk | contribs) m (sorting in category) |
||
| Line 53: | Line 53: | ||
</pre> | </pre> | ||
| − | [[Category:XSLT]] | + | [[Category:XSLT|!]] |
Latest revision as of 00:21, 26 September 2007
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]]