Author: mmazur                       Date: Thu Jan 24 01:46:01 2008 GMT
Module: pld-builder.new               Tag: HEAD
---- Log message:
- exercise in futility; this xslt generates an xsl-fo which in turn
  allows generation of, for example, pdf files...

---- Files affected:
pld-builder.new/xml:
   queue2pdf.xslt (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: pld-builder.new/xml/queue2pdf.xslt
diff -u /dev/null pld-builder.new/xml/queue2pdf.xslt:1.1
--- /dev/null   Thu Jan 24 02:46:01 2008
+++ pld-builder.new/xml/queue2pdf.xslt  Thu Jan 24 02:45:56 2008
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+<!-- TODO:  1) links
+                       2) proper dates with 
http://www.djkaty.com/drupal/xsl-date-time -->
+
+<xsl:template match="/queue">
+
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"; font-size="10pt">
+
+<fo:layout-master-set>
+    <fo:simple-page-master master-name="A4" page-width="210mm" 
page-height="297mm" margin="1cm">
+  <fo:region-body   margin="0cm"/>
+  <fo:region-before extent="0cm"/>
+  <fo:region-after  extent="0cm"/>
+  <fo:region-start  extent="0cm"/>
+  <fo:region-end    extent="0cm"/>
+  </fo:simple-page-master>
+</fo:layout-master-set>
+<fo:page-sequence master-reference="A4">
+<fo:flow flow-name="xsl-region-body">
+
+
+<xsl:for-each select="group">
+       <xsl:sort select="@no" order="descending"/>
+
+       <fo:block space-before="2mm" space-after="2mm"><fo:inline 
font-weight="bold"><xsl:value-of select="@no"/></fo:inline>. <xsl:value-of 
select="time"/> from <xsl:value-of select="requester"/><xsl:text> 
</xsl:text><fo:inline font-size="small"><xsl:value-of select="@id"/>, 
<xsl:value-of select="priority"/>, <xsl:value-of 
select="@flags"/></fo:inline></fo:block>
+       <fo:list-block space-before="2mm" space-after="2mm">
+       <xsl:for-each select="batch">
+               <fo:list-item space-before="2mm" space-after="2mm">
+                       <fo:list-item-label start-indent="5mm">
+                               <fo:block font-family="monospace">*</fo:block>
+                       </fo:list-item-label>
+                       <fo:list-item-body start-indent="9mm">
+                               <fo:block>
+               <xsl:value-of select="src-rpm"/> 
+               (<xsl:value-of select="spec"/> -R <xsl:value-of 
select="branch"/> 
+               <xsl:for-each select="with | without">
+                       <xsl:if test="name() = 'with'">
+                               <xsl:text> --with </xsl:text>
+                       </xsl:if>
+                       <xsl:if test="name() = 'without'">
+                               <xsl:text> --without </xsl:text>
+                       </xsl:if>
+                       <xsl:value-of select="."/>
+                       <xsl:if test="position() != last()">
+                               <xsl:text> </xsl:text>
+                       </xsl:if>
+               </xsl:for-each>
+               <xsl:if test="kernel">
+                       <xsl:text> --define 'alt_kernel </xsl:text>
+                       <xsl:value-of select="kernel"/>'
+               </xsl:if>)
+               <fo:inline font-size="small">
+                       [<xsl:for-each select="builder">
+                               <xsl:choose>
+                                       <xsl:when test="@status = 'OK'">
+                                               <fo:inline 
color="green"><xsl:value-of select="."/>:<xsl:value-of 
select="@status"/></fo:inline>
+                                       </xsl:when>
+                                       <xsl:when test="@status = 'FAIL'">
+                                               <fo:inline 
color="red"><xsl:value-of select="."/>:<xsl:value-of 
select="@status"/></fo:inline>
+                                       </xsl:when>
+                                       <xsl:otherwise>
+                                               <fo:inline 
color="black"><xsl:value-of select="."/>:<xsl:value-of 
select="@status"/></fo:inline>
+                                       </xsl:otherwise>
+                               </xsl:choose>
+                               <xsl:if test="position()!=last()"><xsl:text> 
</xsl:text></xsl:if>
+                               </xsl:for-each>]
+                       </fo:inline>
+                       </fo:block>
+               </fo:list-item-body>
+               </fo:list-item>
+       </xsl:for-each>
+       </fo:list-block>
+
+</xsl:for-each>
+
+</fo:flow>
+</fo:page-sequence>
+
+</fo:root>
+
+</xsl:template>
+
+</xsl:stylesheet>
+
================================================================
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to