diff options
Diffstat (limited to 'Master/Tools/updatetpm.xsl')
-rw-r--r-- | Master/Tools/updatetpm.xsl | 102 |
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> + |