Author: manuel
Date: 2005-07-29 11:22:46 -0600 (Fri, 29 Jul 2005)
New Revision: 6600

Added:
   branches/cross-lfs/BOOK/stylesheets/dump-commands.xsl
Modified:
   branches/cross-lfs/BOOK/Makefile
   branches/cross-lfs/BOOK/prologue/common/typography.xml
Log:
Added a stylesheet to dump commands.

Modified: branches/cross-lfs/BOOK/Makefile
===================================================================
--- branches/cross-lfs/BOOK/Makefile    2005-07-29 15:42:39 UTC (rev 6599)
+++ branches/cross-lfs/BOOK/Makefile    2005-07-29 17:22:46 UTC (rev 6600)
@@ -1,4 +1,5 @@
-BASEDIR=~/lfs-book
+BASEDIR=~/cross-lfs-book
+DUMPDIR=~/cross-lfs-commands
 CHUNK_QUIET=1
 JAVA_HOME=/opt/jdk/jdk-precompiled-1.5.0
 XSLROOTDIR=/usr/share/xml/docbook/xsl-stylesheets-current
@@ -52,6 +53,13 @@
         xmllint --xinclude --noout --nonet --postvalid $(PWD)/$$arch-index.xml
 endef
 
+# Dump commands
+define DUMP
+       echo "Extracting commands from $$arch..." ; \
+       xsltproc --xinclude --nonet --output $(DUMPDIR)/$$arch/ \
+          $(PWD)/stylesheets/dump-commands.xsl $$arch-index.xml
+endef
+
 lfs: toplevel render common
 
 toplevel:
@@ -95,4 +103,9 @@
        $(VALIDATE) ; \
        done
 
-.PHONY: lfs toplevel common render nochunk nochunk_render pdf text validate
+dump-commands:
+       @for arch in $(ARCH) ; do \
+       $(DUMP) ; \
+       done
+
+.PHONY: lfs toplevel common render nochunk nochunk_render pdf text validate 
dump-commands

Modified: branches/cross-lfs/BOOK/prologue/common/typography.xml
===================================================================
--- branches/cross-lfs/BOOK/prologue/common/typography.xml      2005-07-29 
15:42:39 UTC (rev 6599)
+++ branches/cross-lfs/BOOK/prologue/common/typography.xml      2005-07-29 
17:22:46 UTC (rev 6600)
@@ -15,7 +15,7 @@
   examples of the typographical format found throughout Linux From
   Scratch.</para>
 
-<screen><userinput>./configure --prefix=/usr</userinput></screen>
+<screen role="nodump"><userinput>./configure --prefix=/usr</userinput></screen>
 
   <para>This form of text is designed to be typed exactly as seen unless
   otherwise noted in the surrounding text. It is also used in the
@@ -39,7 +39,7 @@
   community and to external pages. It includes HOWTOs, download locations,
   and websites.</para>
 
-<screen><userinput>cat &gt; $LFS/etc/group &lt;&lt; "EOF"
+<screen role="nodump"><userinput>cat &gt; $LFS/etc/group &lt;&lt; "EOF"
 <literal>root:x:0:
 bin:x:1:
 ......</literal>

Added: branches/cross-lfs/BOOK/stylesheets/dump-commands.xsl
===================================================================
--- branches/cross-lfs/BOOK/stylesheets/dump-commands.xsl       2005-07-29 
15:42:39 UTC (rev 6599)
+++ branches/cross-lfs/BOOK/stylesheets/dump-commands.xsl       2005-07-29 
17:22:46 UTC (rev 6600)
@@ -0,0 +1,83 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+    xmlns:exsl="http://exslt.org/common";
+    extension-element-prefixes="exsl"
+    version="1.0">
+
+<!-- XSLT stylesheet to extract commands from [B,H]LFS books. -->
+
+  <xsl:template match="/">
+    <xsl:apply-templates select="//sect1"/>
+  </xsl:template>
+
+  <xsl:template match="sect1">
+      <!-- The dirs names -->
+    <xsl:variable name="pi-dir" select="../processing-instruction('dbhtml')"/>
+    <xsl:variable name="pi-dir-value" 
select="substring-after($pi-dir,'dir=')"/>
+    <xsl:variable name="quote-dir" select="substring($pi-dir-value,1,1)"/>
+    <xsl:variable name="dirname" 
select="substring-before(substring($pi-dir-value,2),$quote-dir)"/>
+      <!-- The file names -->
+    <xsl:variable name="pi-file" select="processing-instruction('dbhtml')"/>
+    <xsl:variable name="pi-file-value" 
select="substring-after($pi-file,'filename=')"/>
+    <xsl:variable name="filename" 
select="substring-before(substring($pi-file-value,2),'.html')"/>
+      <!-- The build order -->
+    <xsl:variable name="position" select="position()"/>
+    <xsl:variable name="order">
+      <xsl:choose>
+        <xsl:when test="string-length($position) = 1">
+          <xsl:text>00</xsl:text>
+          <xsl:value-of select="$position"/>
+        </xsl:when>
+        <xsl:when test="string-length($position) = 2">
+          <xsl:text>0</xsl:text>
+          <xsl:value-of select="$position"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="$position"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+      <!-- Creating dirs and files -->
+    <exsl:document href="{$dirname}/{$order}-{$filename}" method="text">
+      <xsl:apply-templates select=".//screen"/>
+    </exsl:document>
+  </xsl:template>
+
+  <xsl:template match="screen">
+    <xsl:if test="child::* = userinput">
+      <xsl:choose>
+        <xsl:when test="@role = 'nodump'"/>
+        <xsl:when test="@role = 'root'">
+          <xsl:text>&#xA;</xsl:text>
+          <xsl:text># Run this as root</xsl:text>
+          <xsl:apply-templates select="userinput"/>
+          <xsl:text># End root commands</xsl:text>
+          <xsl:text>&#xA;</xsl:text>
+        <xsl:otherwise>
+          <xsl:apply-templates select="userinput"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:template match="userinput">
+    <xsl:text>&#xA;</xsl:text>
+    <xsl:if test=".//replaceable">
+      <xsl:text># This block must be edited tu suit your needs.</xsl:text>
+    </xsl:if>
+    <xsl:text>&#xA;</xsl:text>
+    <xsl:apply-templates/>
+    <xsl:text>&#xA;</xsl:text>
+    <xsl:if test=".//replaceable">
+      <xsl:text># End of editable block.</xsl:text>
+    </xsl:if>
+    <xsl:text>&#xA;</xsl:text>
+  </xsl:template>
+
+  <xsl:template match="replaceable">
+    <xsl:text>**EDITME</xsl:text>
+    <xsl:apply-templates/>
+    <xsl:text>EDITME**</xsl:text>
+  </xsl:template>
+
+</xsl:stylesheet>


Property changes on: branches/cross-lfs/BOOK/stylesheets/dump-commands.xsl
___________________________________________________________________
Name: svn:keywords
   + "Author Date Revision Id"

-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-book
FAQ: http://www.linuxfromscratch.org/lfs/faq.html
Unsubscribe: See the above information page

Reply via email to