Added dump-commands.xsl.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@6774 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
Manuel Canales Esparcia 2005-08-29 19:11:10 +00:00
parent c9109f25c5
commit 2c5e4d5994
4 changed files with 93 additions and 4 deletions

View File

@ -1,4 +1,5 @@
BASEDIR=~/lfs-book BASEDIR=~/lfs-book
DUMPDIR=~/lfs-commands
CHUNK_QUIET=0 CHUNK_QUIET=0
PDF_OUTPUT=LFS-BOOK.pdf PDF_OUTPUT=LFS-BOOK.pdf
NOCHUNKS_OUTPUT=LFS-BOOK.html NOCHUNKS_OUTPUT=LFS-BOOK.html
@ -61,6 +62,10 @@ nochunks:
sed -i -e "s@text/html@application/xhtml+xml@g" \ sed -i -e "s@text/html@application/xhtml+xml@g" \
$(BASEDIR)/$(NOCHUNKS_OUTPUT) $(BASEDIR)/$(NOCHUNKS_OUTPUT)
dump-commands:
xsltproc --xinclude --nonet --output $(DUMPDIR)/ \
stylesheets/dump-commands.xsl index.xml
validate: validate:
xmllint --noout --nonet --xinclude --postvalid index.xml xmllint --noout --nonet --xinclude --postvalid index.xml

View File

@ -29,7 +29,7 @@ e2fsprogs; you will get an error similar to <quote>unsupported filesystem
features, upgrade your e2fsprogs</quote>. To check if your host system features, upgrade your e2fsprogs</quote>. To check if your host system
uses custom enhancements, run the following command:</para> uses custom enhancements, run the following command:</para>
<screen><userinput>debugfs -R feature /dev/<replaceable>[xxx]</replaceable></userinput></screen> <screen role="nodump"><userinput>debugfs -R feature /dev/<replaceable>[xxx]</replaceable></userinput></screen>
<para>If the output contains features other than: dir_index; filetype; <para>If the output contains features other than: dir_index; filetype;
large_file; resize_inode or sparse_super then your host system may have custom large_file; resize_inode or sparse_super then your host system may have custom
@ -37,7 +37,7 @@ enhancements. In that case, to avoid later problems, you should compile the
stock e2fsprogs package and use the resulting binaries to re-create the stock e2fsprogs package and use the resulting binaries to re-create the
filesystem on your LFS partition:</para> filesystem on your LFS partition:</para>
<screen><userinput>cd /tmp <screen role="nodump"><userinput>cd /tmp
tar xjf /path/to/sources/e2fsprogs-&e2fsprogs-version;.tar.bz2 tar xjf /path/to/sources/e2fsprogs-&e2fsprogs-version;.tar.bz2
cd e2fsprogs-&e2fsprogs-version; cd e2fsprogs-&e2fsprogs-version;
mkdir build mkdir build

View File

@ -12,7 +12,7 @@ conventions used throughout this book. This section contains some
examples of the typographical format found throughout Linux From examples of the typographical format found throughout Linux From
Scratch.</para> 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 <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 otherwise noted in the surrounding text. It is also used in the
@ -37,7 +37,7 @@ purpose is to emphasize important points or items.</para>
community and to external pages. It includes HOWTOs, download locations, community and to external pages. It includes HOWTOs, download locations,
and websites.</para> 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: <literal>root:x:0:
bin:x:1: bin:x:1:
......</literal> ......</literal>

View File

@ -0,0 +1,84 @@
<?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:when>
<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 to 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>