SampleXSLTPage: Difference between revisions

From TEIWiki
Jump to navigation Jump to search
No edit summary
m sorting in category
 
(2 intermediate revisions by 2 users not shown)
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 ==
&lt;pre&gt;
&lt;pre&gt;
<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">
Line 32: Line 51:


[[Category:XSLT]]
[[Category:XSLT]]
</pre>
</pre>
[[Category:XSLT]]
[[Category:XSLT|!]]

Latest revision as of 23:21, 25 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]]