[Clfs-commits] [Cross-LFS]Cross-LFS Book branch, simp, updated. 4f59781620924c205d0cf17e3ee78737f814a2e5

git git at cross-lfs.org
Sat Apr 23 17:43:54 PDT 2011


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Cross-LFS Book".

The branch, simp has been updated
       via  4f59781620924c205d0cf17e3ee78737f814a2e5 (commit)
       via  9db1668802db4bd42fa4a55ce5b131ae67446a63 (commit)
      from  d10f81ab05999574cbd43463cee52478b8cad324 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 4f59781620924c205d0cf17e3ee78737f814a2e5
Author: Joe Ciccone <jciccone at gmail.com>
Date:   Sat Apr 23 20:43:26 2011 -0400

    Render the seghead of the content list.

diff --git a/BOOK/schema/clfs/0.1/rng/clfs.rnc b/BOOK/schema/clfs/0.1/rng/clfs.rnc
index 3d05879..a6fda08 100644
--- a/BOOK/schema/clfs/0.1/rng/clfs.rnc
+++ b/BOOK/schema/clfs/0.1/rng/clfs.rnc
@@ -117,5 +117,36 @@ clfs.sect.package =
       (clfs.block.para |
        clfs.block.command |
        clfs.block.note)+
-    }+
+    }+,
+    
+    element c:contents {
+      attribute c:ref {
+        text
+      } | (
+        element c:library {
+          element c:name {
+            text
+          },
+          element c:description {
+            clfs.inline
+          }
+        }*,
+        element c:program {
+          element c:name {
+            text
+          },
+          element c:description {
+            clfs.inline
+          }
+        }*,
+        element c:directory {
+          element c:name {
+            text
+          },
+          element c:description {
+            clfs.inline
+          }
+        }*
+      )
+    }?
   }
diff --git a/BOOK/schema/clfs/0.1/rng/clfs.rng b/BOOK/schema/clfs/0.1/rng/clfs.rng
index 5337b41..87c5e3d 100644
--- a/BOOK/schema/clfs/0.1/rng/clfs.rng
+++ b/BOOK/schema/clfs/0.1/rng/clfs.rng
@@ -199,6 +199,45 @@
           </oneOrMore>
         </element>
       </oneOrMore>
+      <optional>
+        <element name="c:contents">
+          <choice>
+            <attribute name="c:ref"/>
+            <group>
+              <zeroOrMore>
+                <element name="c:library">
+                  <element name="c:name">
+                    <text/>
+                  </element>
+                  <element name="c:description">
+                    <ref name="clfs.inline"/>
+                  </element>
+                </element>
+              </zeroOrMore>
+              <zeroOrMore>
+                <element name="c:program">
+                  <element name="c:name">
+                    <text/>
+                  </element>
+                  <element name="c:description">
+                    <ref name="clfs.inline"/>
+                  </element>
+                </element>
+              </zeroOrMore>
+              <zeroOrMore>
+                <element name="c:directory">
+                  <element name="c:name">
+                    <text/>
+                  </element>
+                  <element name="c:description">
+                    <ref name="clfs.inline"/>
+                  </element>
+                </element>
+              </zeroOrMore>
+            </group>
+          </choice>
+        </element>
+      </optional>
     </element>
   </define>
 </grammar>
diff --git a/BOOK/stylesheets/clfs-profile.xsl b/BOOK/stylesheets/clfs-profile.xsl
index 9a9ad22..ca0678f 100644
--- a/BOOK/stylesheets/clfs-profile.xsl
+++ b/BOOK/stylesheets/clfs-profile.xsl
@@ -220,6 +220,150 @@
         </xsl:element>
       </xsl:for-each><!-- c:install -> sect2  -->
 
+      <!-- c:contents -> sect2: Build or reference the contents sect2 -->
+      <xsl:for-each select="c:contents">
+
+        <!-- New Line x2 -->
+        <xsl:text>
+
+</xsl:text>
+
+        <xsl:element name="sect2">
+          <xsl:attribute name="role">
+            <xsl:text>content</xsl:text>
+          </xsl:attribute>
+          <xsl:choose>
+            <xsl:when test="string-length(@c:ref) > 0">
+              <xsl:text>
+</xsl:text>
+              <xsl:element name="title" />
+              <xsl:text>
+
+</xsl:text>
+            <xsl:element name="para">
+              <xsl:text>Details on this package are located in </xsl:text>
+              <xsl:element name="xref">
+                <xsl:attribute name="linkend">
+                  <xsl:value-of select="@c:ref" />
+                  <xsl:text>-contents</xsl:text>
+                </xsl:attribute>
+                <xsl:attribute name="role">
+                  <xsl:text>.</xsl:text>
+                </xsl:attribute>
+              </xsl:element>
+            </xsl:element>
+            </xsl:when>
+            <xsl:otherwise>
+              <xsl:attribute name="id">
+                <xsl:value-of select="$id" />
+                <xsl:text>-contents</xsl:text>
+              </xsl:attribute>
+              <xsl:text>
+</xsl:text>
+              <xsl:element name="title">
+                <xsl:text>Contents of </xsl:text>
+                <xsl:value-of select="../c:title" />
+              </xsl:element>
+              <xsl:text>
+
+</xsl:text>
+              <xsl:element name="segmentedlist">
+                <xsl:if test="count(c:library) > 0">
+                  <xsl:text>
+  </xsl:text>
+                  <xsl:element name="segtitle">
+                    <xsl:text>Installed Libraries</xsl:text>
+                  </xsl:element>
+                </xsl:if>
+                <xsl:if test="count(c:program) > 0">
+                  <xsl:text>
+  </xsl:text>
+                  <xsl:element name="segtitle">
+                    <xsl:text>Installed Programs</xsl:text>
+                  </xsl:element>
+                </xsl:if>
+                <xsl:if test="count(c:directory) > 0">
+                  <xsl:text>
+  </xsl:text>
+                  <xsl:element name="segtitle">
+                    <xsl:text>Installed Directories</xsl:text>
+                  </xsl:element>
+                </xsl:if>
+                <xsl:text>
+
+  </xsl:text>
+                <xsl:element name="seglistitem">
+                  <xsl:if test="count(c:library) > 0">
+                    <xsl:text>
+    </xsl:text>
+                    <xsl:element name="seg">
+                      <xsl:for-each select="c:library">
+                        <xsl:value-of select="c:name" />
+                        <xsl:if test="count(../c:library) > 1">
+                          <xsl:choose>
+                            <xsl:when test="position() < (last() - 1)">
+                              <xsl:text>, </xsl:text>
+                            </xsl:when>
+                            <xsl:when test="position() = last() - 1">
+                              <xsl:text> and </xsl:text>
+                            </xsl:when>
+                          </xsl:choose>
+                        </xsl:if>
+                      </xsl:for-each>
+                    </xsl:element>
+                  </xsl:if>
+                  <xsl:if test="count(c:program) > 0">
+                    <xsl:text>
+    </xsl:text>
+                    <xsl:element name="seg">
+                      <xsl:for-each select="c:program">
+                        <xsl:value-of select="c:name" />
+                        <xsl:if test="count(../c:program) > 1">
+                          <xsl:choose>
+                            <xsl:when test="position() < (last() - 1)">
+                              <xsl:text>, </xsl:text>
+                            </xsl:when>
+                            <xsl:when test="position() = last() - 1">
+                              <xsl:text> and </xsl:text>
+                            </xsl:when>
+                          </xsl:choose>
+                        </xsl:if>
+                      </xsl:for-each>
+                    </xsl:element>
+                  </xsl:if>
+                  <xsl:if test="count(c:directory) > 0">
+                    <xsl:text>
+    </xsl:text>
+                    <xsl:element name="seg">
+                      <xsl:for-each select="c:directory">
+                        <xsl:value-of select="c:name" />
+                        <xsl:if test="count(../c:directory) > 1">
+                          <xsl:choose>
+                            <xsl:when test="position() < (last() - 1)">
+                              <xsl:text>, </xsl:text>
+                            </xsl:when>
+                            <xsl:when test="position() = last() - 1">
+                              <xsl:text> and </xsl:text>
+                            </xsl:when>
+                          </xsl:choose>
+                        </xsl:if>
+                      </xsl:for-each>
+                    </xsl:element>
+                  </xsl:if>
+                  <xsl:text>
+  </xsl:text>
+                </xsl:element>
+                <xsl:text>
+</xsl:text>
+              </xsl:element>
+            </xsl:otherwise>
+          </xsl:choose>
+          <xsl:text>
+
+</xsl:text>
+        </xsl:element>
+      </xsl:for-each><!-- c:contents -> sect2 -->
+
       <!-- New Line x2 -->
       <xsl:text>
 
diff --git a/BOOK/testpart.xml b/BOOK/testpart.xml
index 52a460f..e212b4c 100644
--- a/BOOK/testpart.xml
+++ b/BOOK/testpart.xml
@@ -44,7 +44,6 @@
     <c:command>make tests</c:command>.</c:para>
 
     <c:para>Install the package:</c:para>
-
 <c:command>make htmldir=/usr/share/doc/bash-&bash-version; install</c:command>
 
     <c:para>Run the newly compiled <c:command>bash</c:command> program (replacing
@@ -60,6 +59,26 @@
 
   </c:install>
 
+  <c:contents>
+
+<c:directory>
+  <c:name>/usr/blah</c:name>
+  <c:description>Some Crap</c:description>
+</c:directory>
+<c:directory>
+  <c:name>/usr/blah2</c:name>
+  <c:description>Some Crap2</c:description>
+</c:directory>
+<c:directory>
+  <c:name>/usr/blah3</c:name>
+  <c:description>Some Crap2</c:description>
+</c:directory>
+<c:directory>
+  <c:name>/usr/blah4</c:name>
+  <c:description>Some Crap2</c:description>
+</c:directory>
+  </c:contents>
+
 </c:package>
 
 <c:package id="ch-system-test" c:multibuild="true">
@@ -89,6 +108,8 @@
 
   </c:install>
 
+  <c:contents c:ref="ch-system-bash" />
+
 </c:package>
 
     </chapter>

commit 9db1668802db4bd42fa4a55ce5b131ae67446a63
Author: Joe Ciccone <jciccone at gmail.com>
Date:   Sat Apr 23 19:53:20 2011 -0400

    Parse inline items as well.

diff --git a/BOOK/schema/clfs/0.1/rng/clfs.rnc b/BOOK/schema/clfs/0.1/rng/clfs.rnc
index 330da63..3d05879 100644
--- a/BOOK/schema/clfs/0.1/rng/clfs.rnc
+++ b/BOOK/schema/clfs/0.1/rng/clfs.rnc
@@ -31,26 +31,47 @@ clfs.attrib.multilib = attribute c:multilib { "true" | "false" }?
 # Inline Elements
 
 clfs.inline =
-  (clfs.inline.strong |
+  (clfs.inline.literal |
+   clfs.inline.replaceable |
+   clfs.inline.application |
    clfs.inline.dirname |
    clfs.inline.filename |
    clfs.inline.command |
-   text)+
+   text)*
 
-clfs.inline.strong = 
-  element c:strong { 
+clfs.inline.common.attrib =
+  clfs.attrib.arch,
+  clfs.attrib.bits,
+  clfs.attrib.multilib
+
+clfs.inline.literal =
+  element c:literal {
+    clfs.inline.common.attrib,
     clfs.inline 
   }
-clfs.inline.dirname = 
-  element c:dirname { 
+clfs.inline.replaceable =
+  element c:replaceable {
+    clfs.inline.common.attrib,
     clfs.inline 
   }
+clfs.inline.application = 
+  element c:application {
+    clfs.inline.common.attrib,
+    clfs.inline 
+  }
+clfs.inline.dirname =
+  element c:dirname {
+    clfs.inline.common.attrib,
+    clfs.inline
+  }
 clfs.inline.filename =
   element c:filename {
+    clfs.inline.common.attrib,
     clfs.inline
   }
 clfs.inline.command =
   element c:command {
+    clfs.inline.common.attrib,
     clfs.inline
   }
 
diff --git a/BOOK/schema/clfs/0.1/rng/clfs.rng b/BOOK/schema/clfs/0.1/rng/clfs.rng
index 412901f..5337b41 100644
--- a/BOOK/schema/clfs/0.1/rng/clfs.rng
+++ b/BOOK/schema/clfs/0.1/rng/clfs.rng
@@ -77,33 +77,56 @@
   </define>
   <!-- Inline Elements -->
   <define name="clfs.inline">
-    <oneOrMore>
+    <zeroOrMore>
       <choice>
-        <ref name="clfs.inline.strong"/>
+        <ref name="clfs.inline.literal"/>
+        <ref name="clfs.inline.replaceable"/>
+        <ref name="clfs.inline.application"/>
         <ref name="clfs.inline.dirname"/>
         <ref name="clfs.inline.filename"/>
         <ref name="clfs.inline.command"/>
         <text/>
       </choice>
-    </oneOrMore>
+    </zeroOrMore>
   </define>
-  <define name="clfs.inline.strong">
-    <element name="c:strong">
+  <define name="clfs.inline.common.attrib">
+    <ref name="clfs.attrib.arch"/>
+    <ref name="clfs.attrib.bits"/>
+    <ref name="clfs.attrib.multilib"/>
+  </define>
+  <define name="clfs.inline.literal">
+    <element name="c:literal">
+      <ref name="clfs.inline.common.attrib"/>
+      <ref name="clfs.inline"/>
+    </element>
+  </define>
+  <define name="clfs.inline.replaceable">
+    <element name="c:replaceable">
+      <ref name="clfs.inline.common.attrib"/>
+      <ref name="clfs.inline"/>
+    </element>
+  </define>
+  <define name="clfs.inline.application">
+    <element name="c:application">
+      <ref name="clfs.inline.common.attrib"/>
       <ref name="clfs.inline"/>
     </element>
   </define>
   <define name="clfs.inline.dirname">
     <element name="c:dirname">
+      <ref name="clfs.inline.common.attrib"/>
       <ref name="clfs.inline"/>
     </element>
   </define>
   <define name="clfs.inline.filename">
     <element name="c:filename">
+      <ref name="clfs.inline.common.attrib"/>
       <ref name="clfs.inline"/>
     </element>
   </define>
   <define name="clfs.inline.command">
     <element name="c:command">
+      <ref name="clfs.inline.common.attrib"/>
       <ref name="clfs.inline"/>
     </element>
   </define>
diff --git a/BOOK/stylesheets/clfs-profile.xsl b/BOOK/stylesheets/clfs-profile.xsl
index c1d67b2..9a9ad22 100644
--- a/BOOK/stylesheets/clfs-profile.xsl
+++ b/BOOK/stylesheets/clfs-profile.xsl
@@ -168,11 +168,23 @@
   </xsl:text>
         <xsl:element name="title" />
         <xsl:text>
+
   </xsl:text>
         <xsl:element name="para">
-          <xsl:copy-of select="c:description/@*|c:description/node()" />
+          <xsl:choose>
+            <xsl:when test="$bits = '32'">
+              <xsl:apply-templates select="c:description/@*|c:description/node()" mode="filter-bits-32" />
+            </xsl:when>
+            <xsl:when test="$bits = 'n32'">
+              <xsl:apply-templates select="c:description/@*|c:description/node()" mode="filter-bits-n32" />
+            </xsl:when>
+            <xsl:when test="$bits = '64'">
+              <xsl:apply-templates select="c:description/@*|c:description/node()" mode="filter-bits-64" />
+            </xsl:when>
+          </xsl:choose>
         </xsl:element>
         <xsl:text>
+
 </xsl:text>
       </xsl:element>
 
@@ -234,7 +246,7 @@
       <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',', at c:multilib,','), concat(',', $ismultilib, ','))">
         <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',', at c:bits,','), ',32,')">
           <xsl:element name="para">
-            <xsl:apply-templates select="@*|node()" mode="filter-bits-32" />
+            <xsl:apply-templates select="node()" mode="filter-bits-32" />
           </xsl:element>
         </xsl:if>
       </xsl:if>
@@ -285,7 +297,120 @@
       <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',', at c:multilib,','), concat(',', $ismultilib, ','))">
         <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',', at c:bits,','), ',32,')">
           <xsl:element name="literal">
-            <xsl:apply-templates select="@*|node()" mode="filter-bits-32" />
+            <xsl:apply-templates select="node()" mode="filter-bits-32" />
+          </xsl:element>
+        </xsl:if>
+      </xsl:if>
+    </xsl:if>
+  </xsl:template>
+  
+  <xsl:template match="c:replaceable" mode="filter-bits-32">
+    <xsl:variable name="ismultilib">
+      <xsl:choose>
+        <xsl:when test="contains($clfs.multilib, ',')">
+          <xsl:text>true</xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text>false</xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',', at c:arch,','), concat(',', $clfs.arch, ','))">
+      <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',', at c:multilib,','), concat(',', $ismultilib, ','))">
+        <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',', at c:bits,','), ',32,')">
+          <xsl:element name="replaceable">
+            <xsl:apply-templates select="node()" mode="filter-bits-32" />
+          </xsl:element>
+        </xsl:if>
+      </xsl:if>
+    </xsl:if>
+  </xsl:template>
+  
+  <xsl:template match="c:application" mode="filter-bits-32">
+    <xsl:variable name="ismultilib">
+      <xsl:choose>
+        <xsl:when test="contains($clfs.multilib, ',')">
+          <xsl:text>true</xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text>false</xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',', at c:arch,','), concat(',', $clfs.arch, ','))">
+      <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',', at c:multilib,','), concat(',', $ismultilib, ','))">
+        <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',', at c:bits,','), ',32,')">
+          <xsl:element name="application">
+            <xsl:apply-templates select="node()" mode="filter-bits-32" />
+          </xsl:element>
+        </xsl:if>
+      </xsl:if>
+    </xsl:if>
+  </xsl:template>
+  
+  <xsl:template match="c:dirname" mode="filter-bits-32">
+    <xsl:variable name="ismultilib">
+      <xsl:choose>
+        <xsl:when test="contains($clfs.multilib, ',')">
+          <xsl:text>true</xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text>false</xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',', at c:arch,','), concat(',', $clfs.arch, ','))">
+      <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',', at c:multilib,','), concat(',', $ismultilib, ','))">
+        <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',', at c:bits,','), ',32,')">
+          <xsl:element name="filename">
+            <xsl:attribute name="class">
+              <xsl:text>directory</xsl:text>
+            </xsl:attribute>
+            <xsl:apply-templates select="node()" mode="filter-bits-32" />
+          </xsl:element>
+        </xsl:if>
+      </xsl:if>
+    </xsl:if>
+  </xsl:template>
+  
+  <xsl:template match="c:filename" mode="filter-bits-32">
+    <xsl:variable name="ismultilib">
+      <xsl:choose>
+        <xsl:when test="contains($clfs.multilib, ',')">
+          <xsl:text>true</xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text>false</xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',', at c:arch,','), concat(',', $clfs.arch, ','))">
+      <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',', at c:multilib,','), concat(',', $ismultilib, ','))">
+        <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',', at c:bits,','), ',32,')">
+          <xsl:element name="filename">
+            <xsl:apply-templates select="node()" mode="filter-bits-32" />
+          </xsl:element>
+        </xsl:if>
+      </xsl:if>
+    </xsl:if>
+  </xsl:template>
+  
+  <xsl:template match="c:command" mode="filter-bits-32">
+    <xsl:variable name="ismultilib">
+      <xsl:choose>
+        <xsl:when test="contains($clfs.multilib, ',')">
+          <xsl:text>true</xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text>false</xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',', at c:arch,','), concat(',', $clfs.arch, ','))">
+      <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',', at c:multilib,','), concat(',', $ismultilib, ','))">
+        <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',', at c:bits,','), ',32,')">
+          <xsl:element name="command">
+            <xsl:apply-templates select="node()" mode="filter-bits-32" />
           </xsl:element>
         </xsl:if>
       </xsl:if>
@@ -313,7 +438,7 @@
       <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',', at c:multilib,','), concat(',', $ismultilib, ','))">
         <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',', at c:bits,','), ',n32,')">
           <xsl:element name="para">
-            <xsl:apply-templates select="@*|node()" mode="filter-bits-n32" />
+            <xsl:apply-templates select="node()" mode="filter-bits-n32" />
           </xsl:element>
         </xsl:if>
       </xsl:if>
@@ -364,7 +489,120 @@
       <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',', at c:multilib,','), concat(',', $ismultilib, ','))">
         <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',', at c:bits,','), ',n32,')">
           <xsl:element name="literal">
-            <xsl:apply-templates select="@*|node()" mode="filter-bits-n32" />
+            <xsl:apply-templates select="node()" mode="filter-bits-n32" />
+          </xsl:element>
+        </xsl:if>
+      </xsl:if>
+    </xsl:if>
+  </xsl:template>
+  
+  <xsl:template match="c:replaceable" mode="filter-bits-n32">
+    <xsl:variable name="ismultilib">
+      <xsl:choose>
+        <xsl:when test="contains($clfs.multilib, ',')">
+          <xsl:text>true</xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text>false</xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',', at c:arch,','), concat(',', $clfs.arch, ','))">
+      <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',', at c:multilib,','), concat(',', $ismultilib, ','))">
+        <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',', at c:bits,','), ',n32,')">
+          <xsl:element name="replaceable">
+            <xsl:apply-templates select="node()" mode="filter-bits-n32" />
+          </xsl:element>
+        </xsl:if>
+      </xsl:if>
+    </xsl:if>
+  </xsl:template>
+  
+  <xsl:template match="c:application" mode="filter-bits-n32">
+    <xsl:variable name="ismultilib">
+      <xsl:choose>
+        <xsl:when test="contains($clfs.multilib, ',')">
+          <xsl:text>true</xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text>false</xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',', at c:arch,','), concat(',', $clfs.arch, ','))">
+      <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',', at c:multilib,','), concat(',', $ismultilib, ','))">
+        <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',', at c:bits,','), ',n32,')">
+          <xsl:element name="application">
+            <xsl:apply-templates select="node()" mode="filter-bits-n32" />
+          </xsl:element>
+        </xsl:if>
+      </xsl:if>
+    </xsl:if>
+  </xsl:template>
+  
+  <xsl:template match="c:dirname" mode="filter-bits-n32">
+    <xsl:variable name="ismultilib">
+      <xsl:choose>
+        <xsl:when test="contains($clfs.multilib, ',')">
+          <xsl:text>true</xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text>false</xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',', at c:arch,','), concat(',', $clfs.arch, ','))">
+      <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',', at c:multilib,','), concat(',', $ismultilib, ','))">
+        <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',', at c:bits,','), ',n32,')">
+          <xsl:element name="filename">
+            <xsl:attribute name="class">
+              <xsl:text>directory</xsl:text>
+            </xsl:attribute>
+            <xsl:apply-templates select="node()" mode="filter-bits-n32" />
+          </xsl:element>
+        </xsl:if>
+      </xsl:if>
+    </xsl:if>
+  </xsl:template>
+  
+  <xsl:template match="c:filename" mode="filter-bits-n32">
+    <xsl:variable name="ismultilib">
+      <xsl:choose>
+        <xsl:when test="contains($clfs.multilib, ',')">
+          <xsl:text>true</xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text>false</xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',', at c:arch,','), concat(',', $clfs.arch, ','))">
+      <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',', at c:multilib,','), concat(',', $ismultilib, ','))">
+        <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',', at c:bits,','), ',n32,')">
+          <xsl:element name="filename">
+            <xsl:apply-templates select="node()" mode="filter-bits-n32" />
+          </xsl:element>
+        </xsl:if>
+      </xsl:if>
+    </xsl:if>
+  </xsl:template>
+  
+  <xsl:template match="c:command" mode="filter-bits-n32">
+    <xsl:variable name="ismultilib">
+      <xsl:choose>
+        <xsl:when test="contains($clfs.multilib, ',')">
+          <xsl:text>true</xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text>false</xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',', at c:arch,','), concat(',', $clfs.arch, ','))">
+      <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',', at c:multilib,','), concat(',', $ismultilib, ','))">
+        <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',', at c:bits,','), ',n32,')">
+          <xsl:element name="command">
+            <xsl:apply-templates select="node()" mode="filter-bits-n32" />
           </xsl:element>
         </xsl:if>
       </xsl:if>
@@ -392,7 +630,7 @@
       <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',', at c:multilib,','), concat(',', $ismultilib, ','))">
         <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',', at c:bits,','), ',64,')">
           <xsl:element name="para">
-            <xsl:apply-templates select="@*|node()" mode="filter-bits-64" />
+            <xsl:apply-templates select="node()" mode="filter-bits-64" />
           </xsl:element>
         </xsl:if>
       </xsl:if>
@@ -443,7 +681,120 @@
       <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',', at c:multilib,','), concat(',', $ismultilib, ','))">
         <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',', at c:bits,','), ',64,')">
           <xsl:element name="literal">
-            <xsl:apply-templates select="@*|node()" mode="filter-bits-64" />
+            <xsl:apply-templates select="node()" mode="filter-bits-64" />
+          </xsl:element>
+        </xsl:if>
+      </xsl:if>
+    </xsl:if>
+  </xsl:template>
+  
+  <xsl:template match="c:replaceable" mode="filter-bits-64">
+    <xsl:variable name="ismultilib">
+      <xsl:choose>
+        <xsl:when test="contains($clfs.multilib, ',')">
+          <xsl:text>true</xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text>false</xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',', at c:arch,','), concat(',', $clfs.arch, ','))">
+      <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',', at c:multilib,','), concat(',', $ismultilib, ','))">
+        <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',', at c:bits,','), ',64,')">
+          <xsl:element name="replaceable">
+            <xsl:apply-templates select="node()" mode="filter-bits-64" />
+          </xsl:element>
+        </xsl:if>
+      </xsl:if>
+    </xsl:if>
+  </xsl:template>
+  
+  <xsl:template match="c:application" mode="filter-bits-64">
+    <xsl:variable name="ismultilib">
+      <xsl:choose>
+        <xsl:when test="contains($clfs.multilib, ',')">
+          <xsl:text>true</xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text>false</xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',', at c:arch,','), concat(',', $clfs.arch, ','))">
+      <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',', at c:multilib,','), concat(',', $ismultilib, ','))">
+        <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',', at c:bits,','), ',64,')">
+          <xsl:element name="application">
+            <xsl:apply-templates select="node()" mode="filter-bits-64" />
+          </xsl:element>
+        </xsl:if>
+      </xsl:if>
+    </xsl:if>
+  </xsl:template>
+  
+  <xsl:template match="c:dirname" mode="filter-bits-64">
+    <xsl:variable name="ismultilib">
+      <xsl:choose>
+        <xsl:when test="contains($clfs.multilib, ',')">
+          <xsl:text>true</xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text>false</xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',', at c:arch,','), concat(',', $clfs.arch, ','))">
+      <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',', at c:multilib,','), concat(',', $ismultilib, ','))">
+        <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',', at c:bits,','), ',64,')">
+          <xsl:element name="filename">
+            <xsl:attribute name="class">
+              <xsl:text>directory</xsl:text>
+            </xsl:attribute>
+            <xsl:apply-templates select="node()" mode="filter-bits-64" />
+          </xsl:element>
+        </xsl:if>
+      </xsl:if>
+    </xsl:if>
+  </xsl:template>
+  
+  <xsl:template match="c:filename" mode="filter-bits-64">
+    <xsl:variable name="ismultilib">
+      <xsl:choose>
+        <xsl:when test="contains($clfs.multilib, ',')">
+          <xsl:text>true</xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text>false</xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',', at c:arch,','), concat(',', $clfs.arch, ','))">
+      <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',', at c:multilib,','), concat(',', $ismultilib, ','))">
+        <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',', at c:bits,','), ',64,')">
+          <xsl:element name="filename">
+            <xsl:apply-templates select="node()" mode="filter-bits-64" />
+          </xsl:element>
+        </xsl:if>
+      </xsl:if>
+    </xsl:if>
+  </xsl:template>
+  
+  <xsl:template match="c:command" mode="filter-bits-64">
+    <xsl:variable name="ismultilib">
+      <xsl:choose>
+        <xsl:when test="contains($clfs.multilib, ',')">
+          <xsl:text>true</xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text>false</xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',', at c:arch,','), concat(',', $clfs.arch, ','))">
+      <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',', at c:multilib,','), concat(',', $ismultilib, ','))">
+        <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',', at c:bits,','), ',64,')">
+          <xsl:element name="command">
+            <xsl:apply-templates select="node()" mode="filter-bits-64" />
           </xsl:element>
         </xsl:if>
       </xsl:if>
diff --git a/BOOK/testpart.xml b/BOOK/testpart.xml
index dca506b..52a460f 100644
--- a/BOOK/testpart.xml
+++ b/BOOK/testpart.xml
@@ -65,7 +65,7 @@
 <c:package id="ch-system-test" c:multibuild="true">
   <c:title>TestPackage</c:title>
   <c:version>1.2.3</c:version>
-  <c:description>The <c:strong>Test</c:strong> package contains a test.</c:description>
+  <c:description>The Test package contains a <c:command>test</c:command>.</c:description>
 
   <c:install>
 
@@ -76,7 +76,7 @@
 <c:command c:multilib="true" c:bits="n32">CC="gcc ${BUILDN32}" ./configure --prefix=/usr</c:command>
 <c:command c:multilib="true" c:bits="64">CC="gcc ${BUILD64}" ./configure --prefix=/usr</c:command>
 
-    <c:para>Compile the package:</c:para>
+    <c:para>Compile <c:filename>the</c:filename> package:</c:para>
 
 <c:command>make</c:command>
 

-----------------------------------------------------------------------

Summary of changes:
 BOOK/schema/clfs/0.1/rng/clfs.rnc |   66 +++++-
 BOOK/schema/clfs/0.1/rng/clfs.rng |   72 +++++-
 BOOK/stylesheets/clfs-profile.xsl |  509 ++++++++++++++++++++++++++++++++++++-
 BOOK/testpart.xml                 |   27 ++-
 4 files changed, 652 insertions(+), 22 deletions(-)


hooks/post-receive
-- 
Cross-LFS Book



More information about the Clfs-commits mailing list