Difference between revisions of "SampleXSLTPage"
Jump to navigation
Jump to search
m (Updated) |
|||
| Line 1: | Line 1: | ||
The exact textual content of the original version of the [[Remove-Namespaces.xsl]] is as follows: | The exact textual content of the original version of the [[Remove-Namespaces.xsl]] is as follows: | ||
<pre> | <pre> | ||
| + | == Summary == | ||
This is a quick XSLT script for removing the namespaces from any document. | 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 | It will remove the prefix as well. I think I picked it up off the XSL-List | ||
| − | run by mulberry-tech. | + | 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. | 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 <nowiki><title></nowiki> and HTML's <nowiki><title></nowiki> 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:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> | ||
<xsl:output method="xml" indent="no"/> | <xsl:output method="xml" indent="no"/> | ||
| Line 32: | Line 51: | ||
[[Category:XSLT]] | [[Category:XSLT]] | ||
| + | |||
</pre> | </pre> | ||
[[Category:XSLT]] | [[Category:XSLT]] | ||
Revision as of 15:18, 21 April 2005
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]]