summaryrefslogtreecommitdiff
path: root/Master/Tools/updatetpm.xsl
diff options
context:
space:
mode:
Diffstat (limited to 'Master/Tools/updatetpm.xsl')
-rw-r--r--Master/Tools/updatetpm.xsl102
1 files changed, 102 insertions, 0 deletions
diff --git a/Master/Tools/updatetpm.xsl b/Master/Tools/updatetpm.xsl
new file mode 100644
index 00000000000..0afad1990a1
--- /dev/null
+++ b/Master/Tools/updatetpm.xsl
@@ -0,0 +1,102 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:TPM="http://texlive.dante.de/"
+ version="1.0">
+
+<xsl:param name="TMP"/>
+<xsl:param name="binaries"/>
+<xsl:param name="files"/>
+<xsl:param name="Who"/>
+<xsl:param name="When"/>
+<xsl:output indent="yes"
+ method="xml"
+ omit-xml-declaration="yes"
+ doctype-system="tpm.dtd"/>
+<xsl:template match="*|@*|processing-instruction()">
+ <xsl:copy>
+ <xsl:apply-templates select="*|@*|processing-instruction()|comment()|text()"/>
+ </xsl:copy>
+</xsl:template>
+
+<xsl:template match="TPM:Size"/>
+<xsl:template match="TPM:Title">
+ <xsl:copy-of select="."/>
+ <TPM:Size><xsl:value-of select="sum(//TPM:*/@size)"/></TPM:Size>
+</xsl:template>
+
+<xsl:template match="TPM:Date">
+ <TPM:Date><xsl:value-of select="$When"/></TPM:Date>
+</xsl:template>
+
+<xsl:template match="TPM:Creator">
+ <TPM:Creator><xsl:value-of select="$Who"/></TPM:Creator>
+</xsl:template>
+
+<xsl:template match="text()">
+ <xsl:value-of select="."/> <!-- could normalize() here -->
+</xsl:template>
+
+<xsl:template match="TPM:BinFiles">
+<xsl:choose>
+<xsl:when test="$binaries">
+<xsl:if test="not(preceding-sibling::TPM:BinFiles)">
+ <xsl:message>add binaries for <xsl:value-of select="../TPM:Name"/></xsl:message>
+ <xsl:for-each
+ select="document(concat('/texlive/Build/cdbuild/list.',../TPM:Name))/bin/*">
+ <xsl:copy-of select="."/>
+ </xsl:for-each>
+</xsl:if>
+</xsl:when>
+<xsl:otherwise>
+ <xsl:copy-of select="."/>
+</xsl:otherwise>
+</xsl:choose>
+</xsl:template>
+
+
+<xsl:template match="TPM:DocFiles">
+<xsl:choose>
+<xsl:when test="$files">
+ <xsl:for-each
+ select="document(concat($TMP,'.doc'))/*">
+ <xsl:copy-of select="."/>
+ </xsl:for-each>
+</xsl:when>
+<xsl:otherwise>
+ <xsl:copy-of select="."/>
+</xsl:otherwise>
+</xsl:choose>
+</xsl:template>
+
+<xsl:template match="TPM:RunFiles">
+<xsl:choose>
+<xsl:when test="$files">
+ <xsl:for-each
+ select="document(concat($TMP,'.run'))/*">
+ <xsl:copy-of select="."/>
+ </xsl:for-each>
+</xsl:when>
+<xsl:otherwise>
+ <xsl:copy-of select="."/>
+</xsl:otherwise>
+</xsl:choose>
+</xsl:template>
+
+<xsl:template match="TPM:SourceFiles">
+<xsl:choose>
+<xsl:when test="$files">
+ <xsl:for-each
+ select="document(concat($TMP,'.src'))/*">
+ <xsl:copy-of select="."/>
+ </xsl:for-each>
+</xsl:when>
+<xsl:otherwise>
+ <xsl:copy-of select="."/>
+</xsl:otherwise>
+</xsl:choose>
+</xsl:template>
+
+
+
+</xsl:stylesheet>
+