]> Lady’s Gitweb - Shushe/commitdiff
Apply @书社:cksum to result when parsing
authorLady <redacted>
Sun, 4 Feb 2024 01:01:49 +0000 (20:01 -0500)
committerLady <redacted>
Sun, 4 Feb 2024 01:01:49 +0000 (20:01 -0500)
Because this indiscriminately adds the attribute to the result of
parsing the root node, the checksum should be added for both X·M·L and
plaintext sources.

lib/catalog2parser.xslt

index eb35e803d24da0ba21a793f5177facab2713bc9a..97800132ed13e98e7eaa95339e8ce599f6def6e4 100644 (file)
@@ -100,7 +100,24 @@ If a copy of the M·P·L was not distributed with this file, You can obtain one
                                </xslt:for-each>
                        </xslt:template>
                        <xslt:template match="/">
-                               <xslt:apply-templates select="node()" mode="书社:parse"/>
+                               <xslt:variable name="parsedroot">
+                                       <xslt:apply-templates select="node()" mode="书社:parse"/>
+                               </xslt:variable>
+                               <xslt:for-each select="exsl:node-set($parsedroot)/node()">
+                                       <xslt:choose>
+                                               <xslt:when test="self::*">
+                                                       <xslt:copy>
+                                                               <xslt:attribute name="书社:cksum">
+                                                                       <xslt:value-of select="$CKSUM"/>
+                                                               </xslt:attribute>
+                                                               <xslt:copy-of select="@*|node()"/>
+                                                       </xslt:copy>
+                                               </xslt:when>
+                                               <xslt:otherwise>
+                                                       <xslt:copy-of select="."/>
+                                               </xslt:otherwise>
+                                       </xslt:choose>
+                               </xslt:for-each>
                        </xslt:template>
                        <xslt:template match="@*|node()" priority="-1">
                                <xslt:copy>
This page took 0.042542 seconds and 4 git commands to generate.