diff options
author | Pierre Labastie <pieere@linuxfromscratch.org> | 2020-03-13 09:20:45 +0000 |
---|---|---|
committer | Pierre Labastie <pieere@linuxfromscratch.org> | 2020-03-13 09:20:45 +0000 |
commit | 2e524f93fc03353e6fb05333d8041505948959eb (patch) | |
tree | 0e2f8a60e47c994d49152b300f0d698a7eb29c4f /stylesheets/lfs-xsl/docbook-xsl-1.78.1/roundtrip/wordml2normalise.xsl | |
parent | cc98817b6165e5307c1fc38328cdc2a1cc2de257 (diff) |
Since LFS started using docbook-1.78.1, there is a lot of unused data
in the stylesheet directory. Basically, a whole docbook-stylesheet is
there, while we need only fo and xhtml (+ some common dirs). Each time
we checkout the repo, we have to download this whole thing, which is by
far the biggest part of the repo (~33 M). By removing unused cruft,
this could be down to ~12 M.
Of course, it would be even better to remove completely the stylesheets
and use host ones (repo size down to 2M). but let's do this first, it is
easier :)
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11778 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'stylesheets/lfs-xsl/docbook-xsl-1.78.1/roundtrip/wordml2normalise.xsl')
-rw-r--r-- | stylesheets/lfs-xsl/docbook-xsl-1.78.1/roundtrip/wordml2normalise.xsl | 445 |
1 files changed, 0 insertions, 445 deletions
diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/roundtrip/wordml2normalise.xsl b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/roundtrip/wordml2normalise.xsl deleted file mode 100644 index ad22b194c..000000000 --- a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/roundtrip/wordml2normalise.xsl +++ /dev/null @@ -1,445 +0,0 @@ -<xsl:stylesheet version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" - xmlns:v="urn:schemas-microsoft-com:vml" - xmlns:w10="urn:schemas-microsoft-com:office:word" - xmlns:sl="http://schemas.microsoft.com/schemaLibrary/2003/core" - xmlns:aml="http://schemas.microsoft.com/aml/2001/core" - xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" - xmlns:o="urn:schemas-microsoft-com:office:office" - xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" - xmlns:dbk='http://docbook.org/ns/docbook' - xmlns:rnd='http://docbook.org/ns/docbook/roundtrip' - xmlns:xlink='http://www.w3.org/1999/xlink' - xmlns:exsl='http://exslt.org/common' - exclude-result-prefixes='w v w10 sl aml wx o dt' - extension-element-prefixes='exsl'> - - <xsl:import href='normalise-common.xsl'/> - - <xsl:output method='xml' indent="yes"/> - - <!-- ******************************************************************** - $Id: wordml2normalise.xsl 8105 2008-08-15 01:29:11Z balls $ - ******************************************************************** - - This file is part of the XSL DocBook Stylesheet distribution. - See ../README or http://nwalsh.com/docbook/xsl/ for copyright - and other information. - - ******************************************************************** --> - - <xsl:strip-space elements='*'/> - <xsl:preserve-space elements='w:t'/> - - <xsl:key name='style' - match='w:style' - use='@w:styleId'/> - - <xsl:template match="w:wordDocument"> - <dbk:article> - <xsl:apply-templates select='w:body'/> - </dbk:article> - </xsl:template> - - <xsl:template match='wx:borders | - wx:margin-left'/> - - <xsl:template match='w:p'> - <xsl:variable name='style'> - <xsl:call-template name='rnd:map-paragraph-style'> - <xsl:with-param name='style' select='w:pPr/w:pStyle/@w:val'/> - </xsl:call-template> - </xsl:variable> - <xsl:choose> - <xsl:when test='aml:annotation[@w:type = "Word.Deletion"] and - not(aml:annotation[@w:type != "Word.Deletion"]) and - count(*) = count(aml:annotation|w:pPr)'/> - - <!-- Eliminate paragraphs that have no content. - These are section or page breaks. - --> - <xsl:when test='not(w:r|w:hlink|w:tbl) and - w:pPr/w:sectPr'/> - - <xsl:otherwise> - <dbk:para> - <xsl:attribute name='rnd:style'> - <xsl:value-of select='$style'/> - </xsl:attribute> - <xsl:if test='w:pPr/w:pStyle/@w:val and - $style != w:pPr/w:pStyle/@w:val'> - <xsl:attribute name='rnd:original-style'> - <xsl:value-of select='w:pPr/w:pStyle/@w:val'/> - </xsl:attribute> - </xsl:if> - - <xsl:if test='w:r[1][w:rPr/w:rStyle/@w:val = "attributes"] and - w:r[2][w:rPr/w:rStyle/@w:val = "CommentReference"]'> - <xsl:apply-templates select='w:r[2]//w:r[w:rPr/w:rStyle/@w:val = "attribute-name"]' - mode='rnd:attributes'/> - </xsl:if> - - <xsl:apply-templates/> - </dbk:para> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template match='*' mode='rnd:attributes'> - <xsl:attribute name='{w:t}'> - <xsl:apply-templates select='following-sibling::w:r[w:rPr/w:rStyle/@w:val = "attribute-value"][1]' - mode='rnd:attribute-value'/> - </xsl:attribute> - </xsl:template> - - <xsl:template match='w:r'> - <xsl:param name='do-vert-align' select='true()'/> - - <xsl:variable name='role'> - <xsl:choose> - <xsl:when test='w:rPr/w:b and - w:rPr/w:i'> - <xsl:text>bold-italic</xsl:text> - </xsl:when> - <xsl:when test='w:rPr/w:b'> - <xsl:text>bold</xsl:text> - </xsl:when> - <xsl:when test='w:rPr/w:i'> - <xsl:text>italic</xsl:text> - </xsl:when> - <xsl:when test='w:rPr/w:u'> - <xsl:text>underline</xsl:text> - </xsl:when> - <!-- TODO: add support for other styles --> - </xsl:choose> - </xsl:variable> - <xsl:variable name='style'> - <xsl:if test='w:rPr/w:rStyle'> - <xsl:value-of select='w:rPr/w:rStyle/@w:val'/> - </xsl:if> - </xsl:variable> - - <xsl:choose> - <xsl:when test='w:rPr/w:rStyle/@w:val = "attributes"'/> - <xsl:when test='w:rPr/w:rStyle/@w:val = "CommentReference"'/> - <xsl:when test='w:pict'> - <!-- "filename" is where the image data gets extracted to --> - <xsl:variable name='filename'> - <xsl:call-template name='rnd:image-filename'/> - </xsl:variable> - <!-- "target" is the URL that will be the target of the imagedata hyperlink. - This may or may not be related to the physical filename. - --> - <xsl:variable name='target'> - <xsl:call-template name='rnd:image-target'> - <xsl:with-param name='filename' select='$filename'/> - </xsl:call-template> - </xsl:variable> - - <xsl:call-template name='rnd:handle-image-data'> - <xsl:with-param name='filename' select='$filename'/> - <xsl:with-param name='data' select='w:pict/w:binData'/> - </xsl:call-template> - - <dbk:inlinemediaobject> - <dbk:imageobject> - <dbk:imagedata fileref='{$target}'> - <xsl:if test='w:pict/v:shape/@style'> - <xsl:attribute name='width'> - <xsl:value-of select='normalize-space(substring-before(substring-after(w:pict/v:shape/@style, "width:"), ";"))'/> - </xsl:attribute> - <xsl:attribute name='depth'> - <xsl:value-of select='normalize-space(substring-after(w:pict/v:shape/@style, "height:"))'/> - </xsl:attribute> - </xsl:if> - </dbk:imagedata> - </dbk:imageobject> - </dbk:inlinemediaobject> - </xsl:when> - <xsl:when test='$do-vert-align and - w:rPr/w:vertAlign/@w:val = "subscript"'> - <dbk:subscript> - <xsl:apply-templates select='.'> - <xsl:with-param name='do-vert-align' select='false()'/> - </xsl:apply-templates> - </dbk:subscript> - </xsl:when> - <xsl:when test='$do-vert-align and - w:rPr/w:vertAlign/@w:val = "superscript"'> - <dbk:superscript> - <xsl:apply-templates select='.'> - <xsl:with-param name='do-vert-align' select='false()'/> - </xsl:apply-templates> - </dbk:superscript> - </xsl:when> - <xsl:when test='w:endnoteRef and - parent::w:p/parent::w:endnote and - count(w:rPr|w:endnoteRef) = count(*)'/> - <xsl:when test='w:footnoteRef'/> <!-- is a label supplied? --> - <xsl:when test='w:footnote|w:endnote'> - <dbk:footnote> - <xsl:apply-templates select='w:footnote|w:endnote'/> - </dbk:footnote> - </xsl:when> - <xsl:when test='$role != "" or $style != ""'> - <dbk:emphasis> - <xsl:if test='$role != ""'> - <xsl:attribute name='role'> - <xsl:value-of select='$role'/> - </xsl:attribute> - </xsl:if> - <xsl:if test='$style != ""'> - <xsl:attribute name='rnd:style'> - <xsl:call-template name='rnd:map-character-style'> - <xsl:with-param name='style' select='$style'/> - </xsl:call-template> - </xsl:attribute> - </xsl:if> - <xsl:apply-templates/> - </dbk:emphasis> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- An application may wish to override these templates --> - - <!-- rnd:image-filename determines the filename of the physical file - to which the image data should be written. - --> - <xsl:template name='rnd:image-filename'> - <xsl:param name='pict' select='w:pict'/> - - <xsl:choose> - <xsl:when test='contains($pict/w:binData/@w:name, "wordml://")'> - <xsl:value-of select='substring-after($pict/w:binData/@w:name, "wordml://")'/> - </xsl:when> - <xsl:otherwise> - <xsl:text>image</xsl:text> - <xsl:value-of select='count($pict/preceding::w:pict) + 1'/> - <xsl:text>.jpg</xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- rnd:image-target determines the URL for the image data. - This may or may not be related to the physical filename. - --> - <xsl:template name='rnd:image-target'> - <xsl:param name='filename'/> - <xsl:param name='pict' select='w:pict'/> - - <xsl:value-of select='$filename'/> - </xsl:template> - - <!-- rnd:handle-image-data receives the base64-encoded data and a filename - for the physical file to which the data should be written. - Since XSLT cannot natively handle binary data, this implementation - just writes the undecoded data to the nominated file. - A real application would decode the data into a binary representation. - --> - <xsl:template name='rnd:handle-image-data'> - <xsl:param name='filename'/> - <xsl:param name='data'/> - - <xsl:if test='element-available("exsl:document")'> - <exsl:document href='{$filename}.b64' method='text'> - <xsl:value-of select='w:pict/w:binData'/> - </exsl:document> - </xsl:if> - </xsl:template> - - <xsl:template match='w:hlink'> - <dbk:link xlink:href='{@w:dest}'> - <xsl:apply-templates/> - </dbk:link> - </xsl:template> - - <!-- Soft returns don't really have an equivalent in DocBook, - - except in literal line environments. - --> - <xsl:template match='w:br'> - <xsl:text>
</xsl:text> - </xsl:template> - - <xsl:template match='w:tbl'> - <xsl:variable name='tbl.style' - select='key("style", w:tblPr/w:tblStyle/@w:val) | .'/> - - <xsl:variable name='border.top'> - <xsl:choose> - <xsl:when test='$tbl.style/w:tblPr/w:tblBorders/w:top[not(@w:val = "nil" or @w:val = "none")]'>1</xsl:when> - <xsl:when test='$tbl.style/w:tblPr/w:tblBorders/w:top[@w:val = "nil" or @w:val = "none"]'>0</xsl:when> - <xsl:when test='w:tr[1]/w:tc[w:tcPr/w:tcBorders/w:top[not(@w:val = "nil" or @w:val = "none")]]'>1</xsl:when> - <xsl:otherwise>0</xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:variable name='border.bottom'> - <xsl:choose> - <xsl:when test='$tbl.style/w:tblPr/w:tblBorders/w:bottom[not(@w:val = "nil" or @w:val = "none")]'>1</xsl:when> - <xsl:when test='$tbl.style/w:tblPr/w:tblBorders/w:bottom[@w:val = "nil" or @w:val = "none"]'>0</xsl:when> - <xsl:when test='w:tr[1]/w:tc[w:tcPr/w:tcBorders/w:bottom[not(@w:val = "nil" or @w:val = "none")]]'>1</xsl:when> - <xsl:otherwise>0</xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:variable name='border.left'> - <xsl:choose> - <xsl:when test='$tbl.style/w:tblPr/w:tblBorders/w:left[not(@w:val = "nil" or @w:val = "none")]'>1</xsl:when> - <xsl:when test='$tbl.style/w:tblPr/w:tblBorders/w:left[@w:val = "nil" or @w:val = "none"]'>0</xsl:when> - <xsl:when test='w:tr[1]/w:tc[w:tcPr/w:tcBorders/w:left[not(@w:val = "nil" or @w:val = "none")]]'>1</xsl:when> - <xsl:otherwise>0</xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:variable name='border.right'> - <xsl:choose> - <xsl:when test='$tbl.style/w:tblPr/w:tblBorders/w:right[not(@w:val = "nil" or @w:val = "none")]'>1</xsl:when> - <xsl:when test='$tbl.style/w:tblPr/w:tblBorders/w:right[@w:val = "nil" or @w:val = "none"]'>0</xsl:when> - <xsl:when test='w:tr[1]/w:tc[w:tcPr/w:tcBorders/w:rightt[not(@w:val = "nil" or @w:val = "none")]]'>1</xsl:when> - <xsl:otherwise>0</xsl:otherwise> - </xsl:choose> - </xsl:variable> - - <dbk:informaltable> - <xsl:choose> - <xsl:when test='$border.top = "1" and $border.bottom = "1" and - $border.left = "1" and $border.right = "1"'> - <xsl:attribute name='frame'>all</xsl:attribute> - </xsl:when> - <xsl:when test='$border.top = "1" and $border.bottom = "1"'> - <xsl:attribute name='frame'>topbot</xsl:attribute> - </xsl:when> - <xsl:when test='$border.left = "1" and $border.right = "1"'> - <xsl:attribute name='frame'>sides</xsl:attribute> - </xsl:when> - <xsl:when test='$border.top = "1"'> - <xsl:attribute name='frame'>top</xsl:attribute> - </xsl:when> - <xsl:when test='$border.bottom = "1"'> - <xsl:attribute name='frame'>bottom</xsl:attribute> - </xsl:when> - </xsl:choose> - - <!-- TODO: analyse column widths --> - - <dbk:tgroup> - <xsl:apply-templates select='w:tblGrid'/> - <xsl:choose> - <xsl:when test='$tbl.style/w:tblStylePr[@w:type = "firstRow"]/w:trPr/w:tblHeader'> - <dbk:thead> - <xsl:apply-templates select='w:tr[1]'/> - </dbk:thead> - <dbk:tbody> - <xsl:apply-templates select='w:tr[position() != 1]'/> - </dbk:tbody> - </xsl:when> - <xsl:otherwise> - <dbk:tbody> - <xsl:apply-templates select='w:tr'/> - </dbk:tbody> - </xsl:otherwise> - </xsl:choose> - </dbk:tgroup> - </dbk:informaltable> - </xsl:template> - <xsl:template match='w:tblPr'/> - <xsl:template match='w:tblGrid/w:gridCol'> - <dbk:colspec colwidth='{@w:w}*' - colname='column-{count(preceding-sibling::w:gridCol) + 1}'/> - </xsl:template> - <xsl:template match='w:tr'> - <dbk:row> - <xsl:apply-templates/> - </dbk:row> - </xsl:template> - <xsl:template match='w:tc'> - <xsl:variable name='tbl.style' - select='ancestor::w:tbl[1] | - key("style", ancestor::w:tbl[1]/w:tblPr/w:tblStyle/@w:val)'/> - - <dbk:entry> - <xsl:if test='$tbl.style/w:tblPr/w:tblBorders/w:insideH[not(@w:val = "nil" or @w:val = "none")] | - w:tcPr/w:tcBorders/w:bottom[not(@w:val = "nil" or @w:val = "none")]'> - <xsl:attribute name='rowsep'>1</xsl:attribute> - </xsl:if> - <xsl:if test='$tbl.style/w:tblPr/w:tblBorders/w:insideV[not(@w:val = "nil" or @w:val = "none")] | - w:tcPr/w:tcBorders/w:right[not(@w:val = "nil" or @w:val = "none")]'> - <xsl:attribute name='colsep'>1</xsl:attribute> - </xsl:if> - - <xsl:variable name='this.colnum' - select='count(preceding-sibling::w:tc) + 1 + - sum(preceding-sibling::w:tc/w:tcPr/w:gridSpan/@w:val) - - count(preceding-sibling::w:tc/w:tcPr/w:gridSpan[@w:val])'/> - - <xsl:if test='w:tcPr/w:gridSpan[@w:val > 1]'> - <xsl:attribute name='namest'> - <xsl:text>column-</xsl:text> - <xsl:value-of select='$this.colnum'/> - </xsl:attribute> - <xsl:attribute name='nameend'> - <xsl:text>column-</xsl:text> - <xsl:value-of select='$this.colnum + w:tcPr/w:gridSpan/@w:val - 1'/> - </xsl:attribute> - </xsl:if> - - <xsl:if test='w:tcPr/w:vmerge[@w:val = "restart"]'> - <xsl:attribute name='morerows'> - <xsl:call-template name='rnd:count-rowspan'> - <xsl:with-param name='row' select='../following-sibling::w:tr[1]'/> - <xsl:with-param name='colnum' select='$this.colnum'/> - </xsl:call-template> - </xsl:attribute> - </xsl:if> - - <xsl:apply-templates/> - </dbk:entry> - </xsl:template> - - <xsl:template match='w:pStyle | - w:rStyle | - w:proofErr | - w:fldData | - w:instrText'/> - - <xsl:template name='rnd:count-rowspan'> - <xsl:param name='row' select='/..'/> - <xsl:param name='colnum' select='0'/> - - <xsl:variable name='cell' - select='$row/w:tc[count(preceding-sibling::w:tc) + 1 + - sum(preceding-sibling::w:tc/w:tcPr/w:gridSpan/@w:val) - - count(preceding-sibling::w:tc/w:tcPr/w:gridSpan[@w:val]) = $colnum]'/> - - <xsl:choose> - <xsl:when test='not($cell)'> - <xsl:text>0</xsl:text> - </xsl:when> - <xsl:when test='$cell/w:tcPr/w:vmerge[not(@w:val = "restart")]'> - <xsl:variable name='remainder'> - <xsl:call-template name='rnd:count-rowspan'> - <xsl:with-param name='row' - select='$row/following-sibling::w:tr[1]'/> - <xsl:with-param name='colnum' select='$colnum'/> - </xsl:call-template> - </xsl:variable> - <xsl:value-of select='$remainder + 1'/> - </xsl:when> - <xsl:otherwise>0</xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template match='w:hdr|w:ftr'/> - - <xsl:template match='aml:annotation'> - <xsl:choose> - <xsl:when test='@w:type = "Word.Deletion"'/> - <xsl:otherwise> - <xsl:apply-templates/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - -</xsl:stylesheet> |