comps comps-cleanup.xsl,1.2,1.3
Nicolas Mailhot (nim)
fedora-extras-commits at redhat.com
Sun Oct 8 09:04:25 UTC 2006
- Previous message: comps comps-fe5.xml.in,1.162,1.163 comps-fe6.xml.in,1.176,1.177
- Next message: rpms/codeblocks/devel .cvsignore, 1.2, 1.3 codeblocks-plugins.patch, 1.1, 1.2 codeblocks.spec, 1.1, 1.2 sources, 1.2, 1.3
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: nim
Update of /cvs/extras/comps
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv15476
Modified Files:
comps-cleanup.xsl
Log Message:
work harder at preserving comments
Index: comps-cleanup.xsl
===================================================================
RCS file: /cvs/extras/comps/comps-cleanup.xsl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- comps-cleanup.xsl 7 Oct 2006 23:36:09 -0000 1.2
+++ comps-cleanup.xsl 8 Oct 2006 09:04:25 -0000 1.3
@@ -13,7 +13,6 @@
However without DTD there is no way to check the files completely.
© Nicolas Mailhot <nim at fedoraproject dot org> 2006 -->
-
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:strip-space elements="*"/>
<xsl:output method="xml" indent="yes" encoding="UTF-8" doctype-system="comps.dtd" doctype-public="-//Red Hat, Inc.//DTD Comps info//EN"/>
@@ -28,13 +27,20 @@
<xsl:variable name="ucletters">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable>
<!-- Preserve most nodes -->
<xsl:template match="*" priority="0">
+<!-- Group comments with the logically-following element -->
+ <xsl:apply-templates select="preceding-sibling::node()[normalize-space()][1][self::comment()] "/>
<xsl:copy>
<xsl:apply-templates select="@*"/>
- <xsl:apply-templates select="*|text()|comment()"/>
+ <xsl:apply-templates select="*|text()"/>
</xsl:copy>
</xsl:template>
-<!-- Preserve attributes and comments -->
- <xsl:template match="@*|comment()">
+<!-- Preserve attributes and text nodes -->
+ <xsl:template match="comment()|text()">
+ <xsl:apply-templates select="preceding-sibling::node()[normalize-space()][1][self::comment()] "/>
+ <xsl:copy/>
+ </xsl:template>
+<!-- Preserve attributes -->
+ <xsl:template match="@*">
<xsl:copy/>
</xsl:template>
<!-- Sort groups by id -->
@@ -50,13 +56,11 @@
</xsl:template>
<!-- Warn about duplicate groups being merged -->
<xsl:template match="group[generate-id(.) != generate-id(key('unique-groups',id/text())[1])]" priority="2">
- <xsl:message>â¹â¹ Duplicate group <xsl:value-of select="concat(_name/text(),' (',id/text(),')')"/> will be merged.</xsl:message>
- <xsl:message>Â </xsl:message>
+ <xsl:message> â¹â¹ Duplicate group <xsl:value-of select="concat(_name/text(),' (',id/text(),')')"/> will be merged.</xsl:message>
</xsl:template>
<!-- Warn about duplicate categories being merged -->
<xsl:template match="category[generate-id(.) != generate-id(key('unique-categories',id/text())[1])]" priority="2">
- <xsl:message>â¹â¹ Duplicate category <xsl:value-of select="concat(_name/text(),' (',id/text(),')')"/> will be merged.</xsl:message>
- <xsl:message>Â </xsl:message>
+ <xsl:message> â¹â¹ Duplicate category <xsl:value-of select="concat(_name/text(),' (',id/text(),')')"/> will be merged.</xsl:message>
</xsl:template>
<!-- Sort packages within a group by class then name -->
<xsl:template match="packagelist" priority="1">
@@ -87,23 +91,21 @@
<xsl:template match="packagereq[generate-id(.) != generate-id(key('unique-package-entries',concat(../../id/text(),'/',text()))[1])]" priority="2">
<xsl:message>â¹â¹â¹ Ignoring duplicate reference to <xsl:value-of select="concat(@type,' package ',text())"/> in group <xsl:value-of select="concat(../../_name/text(),' (',../../id/text(),')')"/>.</xsl:message>
<xsl:message> Only its first reference (<xsl:value-of select="key('unique-package-entries',concat(../../id/text(),'/',text()))[1]/@type"/> package) will be kept.</xsl:message>
- <xsl:message>Â </xsl:message>
</xsl:template>
<!-- Kill duplicate group entries -->
<xsl:template match="category/grouplist/groupid[generate-id(.) != generate-id(key('unique-group-entries',concat(../../id/text(),'/',text()))[1])]" priority="1">
- <xsl:message>â¹ Ignoring duplicate reference to group <xsl:value-of select="text()"/> in category <xsl:value-of select="concat(../../_name/text(),' (',../../id/text(),')')"/>.</xsl:message>
- <xsl:message>Â </xsl:message>
+ <xsl:message> â¹ Ignoring duplicate reference to group <xsl:value-of select="text()"/> in category <xsl:value-of select="concat(../../_name/text(),' (',../../id/text(),')')"/>.</xsl:message>
</xsl:template>
<!-- Warn about packages referenced several times (at least twice;)) -->
<xsl:template match="packagereq[generate-id(.) = generate-id(key('unique-packages',text())[2])]" priority="1">
- <xsl:message>â¹ Package <xsl:value-of select="text()"/> is referenced several times:</xsl:message>
+ <xsl:message> â¹ Package <xsl:value-of select="text()"/> is referenced in multiple groups:</xsl:message>
<xsl:for-each select="key('unique-packages',text())">
- <xsl:message> â <xsl:value-of select="@type"/> package in group <xsl:value-of select="concat(../../_name/text(),' (',../../id/text(),')')"/></xsl:message>
+ <xsl:message> â <xsl:value-of select="@type"/> package in group <xsl:value-of select="concat(../../_name/text(),' (',../../id/text(),')')"/></xsl:message>
</xsl:for-each>
- <xsl:message>Â </xsl:message>
+ <xsl:apply-templates select="preceding-sibling::node()[normalize-space()][1][self::comment()] "/>
<xsl:copy>
<xsl:apply-templates select="@*"/>
- <xsl:apply-templates select="*|text()|comment()"/>
+ <xsl:apply-templates select="*|text()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
- Previous message: comps comps-fe5.xml.in,1.162,1.163 comps-fe6.xml.in,1.176,1.177
- Next message: rpms/codeblocks/devel .cvsignore, 1.2, 1.3 codeblocks-plugins.patch, 1.1, 1.2 codeblocks.spec, 1.1, 1.2 sources, 1.2, 1.3
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list