-
Notifications
You must be signed in to change notification settings - Fork 0
/
1_delete_attribute.xsl
30 lines (29 loc) · 1.74 KB
/
1_delete_attribute.xsl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<!-- This stylesheet removes the attributes "xml:id" and "xmlns" from the TEI-element. -->
<xsl:for-each select="collection('[path_to_files]=*.xml')">
<!-- The collection is the folder with all the TEIs, the ending .xml specifies which files are selected for the operation. -->
<xsl:for-each select="child::node()">
<xsl:element name="{local-name()}">
<xsl:apply-templates/>
</xsl:element>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
<xsl:template match="*">
<!-- remove element prefix: just the element's name is selected --> <!-- ??? -->
<xsl:element name="{local-name()}">
<!-- process attributes: selects the attributes of the first element --> <!-- ??? -->
<xsl:for-each select="@*">
<!-- remove attribute prefix: just the element's content is selected, not its attribute --> <!-- ??? -->
<xsl:attribute name="{local-name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>