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/xhtml5/html5-element-mods.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/xhtml5/html5-element-mods.xsl')
-rw-r--r-- | stylesheets/lfs-xsl/docbook-xsl-1.78.1/xhtml5/html5-element-mods.xsl | 790 |
1 files changed, 0 insertions, 790 deletions
diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/xhtml5/html5-element-mods.xsl b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/xhtml5/html5-element-mods.xsl deleted file mode 100644 index f3cb2d128..000000000 --- a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/xhtml5/html5-element-mods.xsl +++ /dev/null @@ -1,790 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE xsl:stylesheet [ -<!ENTITY % common.entities SYSTEM "../common/entities.ent"> -%common.entities; -]> -<xsl:stylesheet - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:exsl="http://exslt.org/common" - xmlns="http://www.w3.org/1999/xhtml" - xmlns:stbl="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.Table" - xmlns:xtbl="xalan://com.nwalsh.xalan.Table" - xmlns:lxslt="http://xml.apache.org/xslt" - xmlns:ptbl="http://nwalsh.com/xslt/ext/xsltproc/python/Table" - exclude-result-prefixes="exsl stbl xtbl lxslt ptbl" - version="1.0"> - -<!-- $Id: html5-element-mods.xsl,v 1.2 2011-09-18 17:47:28 bobs Exp $ --> - -<!--==============================================================--> -<!-- DocBook XSL Parameter settings --> -<!--==============================================================--> -<!-- Set these to blank so can output special HTML5 empty DOCTYPE --> -<xsl:param name="chunker.output.doctype-system" select="''"/> -<xsl:param name="chunker.output.doctype-public" select="''"/> - -<xsl:param name="table.borders.with.css" select="1"/> -<xsl:param name="html.ext">.xhtml</xsl:param> -<xsl:param name="toc.list.type">ul</xsl:param> -<xsl:param name="css.decoration" select="1"/> -<xsl:param name="make.clean.html" select="1"/> -<xsl:param name="generate.id.attributes" select="1"/> -<xsl:variable name="div.element">section</xsl:variable> - -<!--==============================================================--> -<!-- Customized templates --> -<!--==============================================================--> - -<!-- HTML5: needs special doctype --> -<xsl:template name="user.preroot"> - <xsl:text disable-output-escaping="yes"><!DOCTYPE html></xsl:text> -</xsl:template> - -<!-- HTML5: Replace HTML acronum with abbr for HTML 5 --> -<xsl:template match="acronym"> - <xsl:call-template name="inline.charseq"> - <xsl:with-param name="wrapper-name">abbr</xsl:with-param> - </xsl:call-template> -</xsl:template> - -<!-- HTML5: replace border="0" with border="" --> -<!-- HTML5: No @summary allowed --> -<!-- HTML5: replace many table atts with CSS styles --> -<xsl:template match="tgroup" name="tgroup"> - <xsl:if test="not(@cols) or @cols = '' or string(number(@cols)) = 'NaN'"> - <xsl:message terminate="yes"> - <xsl:text>Error: CALS tables must specify the number of columns.</xsl:text> - </xsl:message> - </xsl:if> - - <xsl:variable name="summary"> - <xsl:call-template name="pi.dbhtml_table-summary"/> - </xsl:variable> - - <xsl:variable name="cellspacing"> - <xsl:call-template name="pi.dbhtml_cellspacing"/> - </xsl:variable> - - <xsl:variable name="cellpadding"> - <xsl:call-template name="pi.dbhtml_cellpadding"/> - </xsl:variable> - - <!-- First generate colgroup with attributes --> - <xsl:variable name="colgroup.with.attributes"> - <colgroup> - <xsl:call-template name="generate.colgroup"> - <xsl:with-param name="cols" select="@cols"/> - </xsl:call-template> - </colgroup> - </xsl:variable> - - <!-- then modify colgroup attributes with extension --> - <xsl:variable name="colgroup.with.extension"> - <xsl:choose> - <xsl:when test="$use.extensions != 0 - and $tablecolumns.extension != 0"> - <xsl:choose> - <xsl:when test="function-available('stbl:adjustColumnWidths')"> - <xsl:copy-of select="stbl:adjustColumnWidths($colgroup.with.attributes)"/> - </xsl:when> - <xsl:when test="function-available('xtbl:adjustColumnWidths')"> - <xsl:copy-of select="xtbl:adjustColumnWidths($colgroup.with.attributes)"/> - </xsl:when> - <xsl:when test="function-available('ptbl:adjustColumnWidths')"> - <xsl:copy-of select="ptbl:adjustColumnWidths($colgroup.with.attributes)"/> - </xsl:when> - <xsl:otherwise> - <xsl:message terminate="yes"> - <xsl:text>No adjustColumnWidths function available.</xsl:text> - </xsl:message> - </xsl:otherwise> - </xsl:choose> - </xsl:when> - <xsl:otherwise> - <xsl:copy-of select="$colgroup.with.attributes"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - - <!-- Now convert to @style --> - <xsl:variable name="colgroup"> - <xsl:call-template name="colgroup.with.style"> - <xsl:with-param name="colgroup" select="$colgroup.with.extension"/> - </xsl:call-template> - </xsl:variable> - - <xsl:variable name="explicit.table.width"> - <xsl:call-template name="pi.dbhtml_table-width"> - <xsl:with-param name="node" select=".."/> - </xsl:call-template> - </xsl:variable> - - <xsl:variable name="table.width.candidate"> - <xsl:choose> - <xsl:when test="$explicit.table.width != ''"> - <xsl:value-of select="$explicit.table.width"/> - </xsl:when> - <xsl:when test="$default.table.width = ''"> - <xsl:text>100%</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$default.table.width"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - - - <xsl:variable name="table.width"> - <xsl:if test="$default.table.width != '' - or $explicit.table.width != ''"> - <xsl:choose> - <xsl:when test="contains($table.width.candidate, '%')"> - <xsl:value-of select="$table.width.candidate"/> - </xsl:when> - <xsl:when test="$use.extensions != 0 - and $tablecolumns.extension != 0"> - <xsl:choose> - <xsl:when test="function-available('stbl:convertLength')"> - <xsl:value-of select="stbl:convertLength($table.width.candidate)"/> - </xsl:when> - <xsl:when test="function-available('xtbl:convertLength')"> - <xsl:value-of select="xtbl:convertLength($table.width.candidate)"/> - </xsl:when> - <xsl:otherwise> - <xsl:message terminate="yes"> - <xsl:text>No convertLength function available.</xsl:text> - </xsl:message> - </xsl:otherwise> - </xsl:choose> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$table.width.candidate"/> - </xsl:otherwise> - </xsl:choose> - </xsl:if> - </xsl:variable> - - <!-- assemble a table @style --> - <xsl:variable name="table.style"> - - <xsl:if test="$cellspacing != '' or $html.cellspacing != ''"> - <xsl:text>cellspacing: </xsl:text> - <xsl:choose> - <xsl:when test="$cellspacing != ''"> - <xsl:value-of select="$cellspacing"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$html.cellspacing"/> - </xsl:otherwise> - </xsl:choose> - <xsl:text>; </xsl:text> - </xsl:if> - - <xsl:if test="$cellpadding != '' or $html.cellpadding != ''"> - <xsl:text>cellpadding: </xsl:text> - <xsl:choose> - <xsl:when test="$cellpadding != ''"> - <xsl:value-of select="$cellpadding"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$html.cellpadding"/> - </xsl:otherwise> - </xsl:choose> - <xsl:text>; </xsl:text> - </xsl:if> - - <xsl:choose> - <xsl:when test="string-length($table.width) != 0"> - <xsl:text>width: </xsl:text> - <xsl:value-of select="$table.width"/> - <xsl:text>; </xsl:text> - </xsl:when> - <xsl:when test="../@pgwide=1 or local-name(.) = 'entrytbl'"> - <xsl:text>width: 100%; </xsl:text> - </xsl:when> - <xsl:otherwise> - </xsl:otherwise> - </xsl:choose> - - <xsl:choose> - <xsl:when test="../@frame='all' or (not(../@frame) and $default.table.frame='all')"> - <xsl:text>border-collapse: collapse; </xsl:text> - <xsl:call-template name="border"> - <xsl:with-param name="side" select="'top'"/> - <xsl:with-param name="style" select="$table.frame.border.style"/> - <xsl:with-param name="color" select="$table.frame.border.color"/> - <xsl:with-param name="thickness" select="$table.frame.border.thickness"/> - </xsl:call-template> - <xsl:call-template name="border"> - <xsl:with-param name="side" select="'bottom'"/> - <xsl:with-param name="style" select="$table.frame.border.style"/> - <xsl:with-param name="color" select="$table.frame.border.color"/> - <xsl:with-param name="thickness" select="$table.frame.border.thickness"/> - </xsl:call-template> - <xsl:call-template name="border"> - <xsl:with-param name="side" select="'left'"/> - <xsl:with-param name="style" select="$table.frame.border.style"/> - <xsl:with-param name="color" select="$table.frame.border.color"/> - <xsl:with-param name="thickness" select="$table.frame.border.thickness"/> - </xsl:call-template> - <xsl:call-template name="border"> - <xsl:with-param name="side" select="'right'"/> - <xsl:with-param name="style" select="$table.frame.border.style"/> - <xsl:with-param name="color" select="$table.frame.border.color"/> - <xsl:with-param name="thickness" select="$table.frame.border.thickness"/> - </xsl:call-template> - </xsl:when> - <xsl:when test="../@frame='topbot' or (not(../@frame) and $default.table.frame='topbot')"> - <xsl:text>border-collapse: collapse;</xsl:text> - <xsl:call-template name="border"> - <xsl:with-param name="side" select="'top'"/> - <xsl:with-param name="style" select="$table.frame.border.style"/> - <xsl:with-param name="color" select="$table.frame.border.color"/> - <xsl:with-param name="thickness" select="$table.frame.border.thickness"/> - </xsl:call-template> - <xsl:call-template name="border"> - <xsl:with-param name="side" select="'bottom'"/> - <xsl:with-param name="style" select="$table.frame.border.style"/> - <xsl:with-param name="color" select="$table.frame.border.color"/> - <xsl:with-param name="thickness" select="$table.frame.border.thickness"/> - </xsl:call-template> - </xsl:when> - <xsl:when test="../@frame='top' or (not(../@frame) and $default.table.frame='top')"> - <xsl:text>border-collapse: collapse;</xsl:text> - <xsl:call-template name="border"> - <xsl:with-param name="side" select="'top'"/> - <xsl:with-param name="style" select="$table.frame.border.style"/> - <xsl:with-param name="color" select="$table.frame.border.color"/> - <xsl:with-param name="thickness" select="$table.frame.border.thickness"/> - </xsl:call-template> - </xsl:when> - <xsl:when test="../@frame='bottom' or (not(../@frame) and $default.table.frame='bottom')"> - <xsl:text>border-collapse: collapse;</xsl:text> - <xsl:call-template name="border"> - <xsl:with-param name="side" select="'bottom'"/> - <xsl:with-param name="style" select="$table.frame.border.style"/> - <xsl:with-param name="color" select="$table.frame.border.color"/> - <xsl:with-param name="thickness" select="$table.frame.border.thickness"/> - </xsl:call-template> - </xsl:when> - <xsl:when test="../@frame='sides' or (not(../@frame) and $default.table.frame='sides')"> - <xsl:text>border-collapse: collapse;</xsl:text> - <xsl:call-template name="border"> - <xsl:with-param name="side" select="'left'"/> - <xsl:with-param name="style" select="$table.frame.border.style"/> - <xsl:with-param name="color" select="$table.frame.border.color"/> - <xsl:with-param name="thickness" select="$table.frame.border.thickness"/> - </xsl:call-template> - <xsl:call-template name="border"> - <xsl:with-param name="side" select="'right'"/> - <xsl:with-param name="style" select="$table.frame.border.style"/> - <xsl:with-param name="color" select="$table.frame.border.color"/> - <xsl:with-param name="thickness" select="$table.frame.border.thickness"/> - </xsl:call-template> - </xsl:when> - <xsl:when test="../@frame='none'"> - <xsl:text>border: none;</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:text>border-collapse: collapse;</xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - - <table> - <!-- HTML5: no table summary allowed --> - <xsl:if test="string-length($table.style) != 0"> - <xsl:attribute name="style"> - <xsl:value-of select="$table.style"/> - </xsl:attribute> - </xsl:if> - - - <xsl:copy-of select="$colgroup"/> - - <xsl:apply-templates select="thead"/> - <xsl:apply-templates select="tfoot"/> - <xsl:apply-templates select="tbody"/> - - <xsl:if test=".//footnote|../title//footnote"> - <tbody class="footnotes"> - <tr> - <td colspan="{@cols}"> - <xsl:apply-templates select=".//footnote|../title//footnote" mode="table.footnote.mode"/> - </td> - </tr> - </tbody> - </xsl:if> - </table> -</xsl:template> - -<!-- HTML5: convert col attributes to col CSS styles --> -<xsl:template name="colgroup.with.style"> - <xsl:param name="colgroup"/> - - <xsl:variable name="colgroup.nodeset" select="exsl:node-set($colgroup)"/> - <xsl:apply-templates select="$colgroup.nodeset" mode="convert.to.style"/> -</xsl:template> - -<xsl:template match="colgroup" mode="convert.to.style"> - <xsl:copy> - <xsl:copy-of select="@*"/> - <xsl:apply-templates mode="convert.to.style"/> - </xsl:copy> -</xsl:template> - -<!-- HTML5: converts obsolete HTML attributes to CSS styles --> -<xsl:template match="*" mode="convert.to.style"> - - <xsl:variable name="element" select="local-name(.)"/> - - <xsl:variable name="style.from.atts"> - <xsl:for-each select="@*"> - - <xsl:choose> - <!-- width and height attributes are ok for img element --> - <xsl:when test="local-name() = 'width' and $element != 'img'"> - <xsl:text>width: </xsl:text> - <xsl:value-of select="."/> - <xsl:text>; </xsl:text> - </xsl:when> - - <xsl:when test="local-name() = 'height' and $element != 'img'"> - <xsl:text>height </xsl:text> - <xsl:value-of select="."/> - <xsl:text>; </xsl:text> - </xsl:when> - - <xsl:when test="local-name() = 'align'"> - <xsl:text>text-align: </xsl:text> - <xsl:value-of select="."/> - <xsl:text>; </xsl:text> - </xsl:when> - - <xsl:when test="local-name() = 'valign'"> - <xsl:text>vertical-align: </xsl:text> - <xsl:value-of select="."/> - <xsl:text>; </xsl:text> - </xsl:when> - - <xsl:when test="local-name() = 'border'"> - <xsl:text>border: </xsl:text> - <xsl:value-of select="."/> - <xsl:text>; </xsl:text> - </xsl:when> - - <xsl:when test="local-name() = 'cellspacing'"> - <xsl:text>border-spacing: </xsl:text> - <xsl:value-of select="."/> - <xsl:text>; </xsl:text> - </xsl:when> - - <xsl:when test="local-name() = 'cellpadding'"> - <xsl:text>padding: </xsl:text> - <xsl:value-of select="."/> - <xsl:text>; </xsl:text> - </xsl:when> - </xsl:choose> - </xsl:for-each> - </xsl:variable> - - <!-- merge existing styles with these new styles --> - <xsl:variable name="style"> - <xsl:value-of select="concat($style.from.atts, @style)"/> - </xsl:variable> - - <!-- HTML5: reserved for element name conversion if needed --> - <xsl:variable name="element.name"> - <xsl:value-of select="local-name(.)"/> - </xsl:variable> - - <xsl:element name="{$element.name}"> - <xsl:if test="string-length($style) != 0"> - <xsl:attribute name="style"> - <xsl:value-of select="$style"/> - </xsl:attribute> - </xsl:if> - <!-- skip converted atts, and also skip disallowed summary attribute --> - <xsl:for-each select="@*"> - <xsl:choose> - <xsl:when test="local-name(.) = 'width' and $element != 'img'"/> - <xsl:when test="local-name(.) = 'height' and $element != 'img'"/> - <xsl:when test="local-name(.) = 'summary'"/> - <xsl:when test="local-name(.) = 'border'"/> - <xsl:when test="local-name(.) = 'cellspacing'"/> - <xsl:when test="local-name(.) = 'cellpadding'"/> - <xsl:when test="local-name(.) = 'style'"/> - <xsl:when test="local-name(.) = 'align'"/> - <xsl:when test="local-name(.) = 'valign'"/> - <xsl:otherwise> - <xsl:copy-of select="."/> - </xsl:otherwise> - </xsl:choose> - </xsl:for-each> - <xsl:apply-templates mode="convert.to.style"/> - </xsl:element> -</xsl:template> - -<!-- HTML5: convert some attributes to CSS style attribute --> -<xsl:template match="entry|entrytbl"> - <xsl:param name="col"> - <xsl:choose> - <xsl:when test="@revisionflag"> - <xsl:number from="row"/> - </xsl:when> - <xsl:otherwise>1</xsl:otherwise> - </xsl:choose> - </xsl:param> - - <xsl:param name="spans"/> - - - <!-- Process with stock template --> - <xsl:variable name="cell"> - <xsl:call-template name="entry"> - <xsl:with-param name="col" select="$col"/> - <xsl:with-param name="spans" select="$spans"/> - </xsl:call-template> - </xsl:variable> - - <xsl:variable name="cell.nodes" select="exsl:node-set($cell)"/> - - <xsl:apply-templates select="$cell.nodes" mode="convert.to.style"/> - -</xsl:template> - -<xsl:template match="mediaobject|inlinemediaobject"> - <xsl:call-template name="convert.styles"/> -</xsl:template> - -<xsl:template match="qandaset"> - <xsl:call-template name="convert.styles"/> -</xsl:template> - -<xsl:template match="calloutlist|revhistory|footnote|figure|co"> - <xsl:call-template name="convert.styles"/> -</xsl:template> - -<xsl:template match="revhistory" mode="titlepage.mode"> - <xsl:call-template name="convert.styles"/> -</xsl:template> - -<xsl:template match="variablelist"> - <xsl:call-template name="convert.styles"/> -</xsl:template> - -<xsl:template match="orderedlist[@inheritnum = 'inherit']"> - <xsl:call-template name="convert.styles"/> -</xsl:template> - -<xsl:template match="simplelist"> - <xsl:call-template name="convert.styles"/> -</xsl:template> - -<xsl:template match="blockquote"> - <xsl:call-template name="convert.styles"/> -</xsl:template> - -<xsl:template match="note|important|warning|caution|tip"> - <xsl:call-template name="convert.styles"/> -</xsl:template> - -<xsl:template match="funcprototype" mode="ansi-tabular"> - <xsl:call-template name="convert.styles"/> -</xsl:template> - -<xsl:template match="funcprototype" mode="kr-tabular"> - <xsl:call-template name="convert.styles"/> -</xsl:template> - -<xsl:template name="convert.styles"> - <xsl:param name="content"> - <xsl:apply-imports/> - </xsl:param> - <xsl:variable name="nodes" select="exsl:node-set($content)"/> - - <xsl:apply-templates mode="convert.to.style" select="$nodes"/> -</xsl:template> - -<!-- HTML5: link rel="home" is not permitted --> -<!-- Add support for attributes on <html> element --> -<xsl:template match="*" mode="process.root"> - <xsl:variable name="doc" select="self::*"/> - - <xsl:call-template name="user.preroot"/> - <xsl:call-template name="root.messages"/> - - <html> - <xsl:call-template name="root.attributes"/> - <head> - <xsl:call-template name="system.head.content"> - <xsl:with-param name="node" select="$doc"/> - </xsl:call-template> - <xsl:call-template name="head.content"> - <xsl:with-param name="node" select="$doc"/> - </xsl:call-template> - <xsl:call-template name="user.head.content"> - <xsl:with-param name="node" select="$doc"/> - </xsl:call-template> - </head> - <body> - <xsl:call-template name="body.attributes"/> - <xsl:call-template name="user.header.content"> - <xsl:with-param name="node" select="$doc"/> - </xsl:call-template> - <xsl:apply-templates select="."/> - <xsl:call-template name="user.footer.content"> - <xsl:with-param name="node" select="$doc"/> - </xsl:call-template> - </body> - </html> - <xsl:value-of select="$html.append"/> - - <!-- Generate any css files only once, not once per chunk --> - <xsl:call-template name="generate.css.files"/> -</xsl:template> - -<xsl:template name="root.attributes"> -</xsl:template> - -<!-- HTML5: uses <ul> instead of <dl> for TOC --> -<xsl:template match="question" mode="qandatoc.mode"> - <xsl:variable name="firstch"> - <!-- Use a titleabbrev or title if available --> - <xsl:choose> - <xsl:when test="../blockinfo/titleabbrev"> - <xsl:apply-templates select="../blockinfo/titleabbrev[1]/node()"/> - </xsl:when> - <xsl:when test="../blockinfo/title"> - <xsl:apply-templates select="../blockinfo/title[1]/node()"/> - </xsl:when> - <xsl:when test="../info/titleabbrev"> - <xsl:apply-templates select="../info/titleabbrev[1]/node()"/> - </xsl:when> - <xsl:when test="../titleabbrev"> - <xsl:apply-templates select="../titleabbrev[1]/node()"/> - </xsl:when> - <xsl:when test="../info/title"> - <xsl:apply-templates select="../info/title[1]/node()"/> - </xsl:when> - <xsl:when test="../title"> - <xsl:apply-templates select="../title[1]/node()"/> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates select="(*[local-name(.)!='label'])[1]/node()"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:variable name="deflabel"> - <xsl:choose> - <xsl:when test="ancestor-or-self::*[@defaultlabel]"> - <xsl:value-of select="(ancestor-or-self::*[@defaultlabel])[last()] - /@defaultlabel"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$qanda.defaultlabel"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - - <li> - <a> - <xsl:attribute name="href"> - <xsl:call-template name="href.target"> - <xsl:with-param name="object" select=".."/> - </xsl:call-template> - </xsl:attribute> - <xsl:apply-templates select="." mode="label.markup"/> - <xsl:if test="contains($deflabel,'number') and not(label)"> - <xsl:apply-templates select="." mode="intralabel.punctuation"/> - </xsl:if> - <xsl:text> </xsl:text> - <xsl:value-of select="$firstch"/> - </a> - <!-- * include nested qandaset/qandaentry in TOC if user wants it --> - - <xsl:if test="not($qanda.nested.in.toc = 0)"> - <xsl:apply-templates select="following-sibling::answer" mode="qandatoc.mode"/> - </xsl:if> - </li> -</xsl:template> - -<xsl:template match="answer" mode="qandatoc.mode"> - <xsl:if test="descendant::question"> - <xsl:call-template name="process.qanda.toc"/> - </xsl:if> -</xsl:template> - -<!-- html5 uses <ul> instead of <dl> for toc --> -<xsl:template name="process.qanda.toc"> - <ul> - <xsl:apply-templates select="qandadiv" mode="qandatoc.mode"/> - <xsl:apply-templates select="qandaset|qandaentry" mode="qandatoc.mode"/> - </ul> -</xsl:template> - -<xsl:template match="qandadiv" mode="qandatoc.mode"> - <!-- - <dt><xsl:apply-templates select="title" mode="qandatoc.mode"/></dt> - <dd><xsl:call-template name="process.qanda.toc"/></dd> - --> - <li> - <xsl:apply-templates select="title" mode="qandatoc.mode"/> - <xsl:call-template name="process.qanda.toc"/> - </li> -</xsl:template> - -<xsl:template match="audiodata"> - <xsl:variable name="filename"> - <xsl:call-template name="mediaobject.filename"> - <xsl:with-param name="object" select=".."/> - </xsl:call-template> - </xsl:variable> - - <audio> - <xsl:call-template name="common.html.attributes"/> - - <xsl:attribute name="src"> - <xsl:value-of select="$filename"/> - </xsl:attribute> - - <xsl:apply-templates select="@*"/> - <xsl:apply-templates select="../multimediaparam"/> - - <!-- add any fallback content --> - <xsl:call-template name="audio.fallback"/> - </audio> -</xsl:template> - -<!-- generate <video> element for html5 --> -<xsl:template match="videodata"> - <xsl:variable name="filename"> - <xsl:call-template name="mediaobject.filename"> - <xsl:with-param name="object" select=".."/> - </xsl:call-template> - </xsl:variable> - - <video> - <xsl:call-template name="common.html.attributes"/> - - <xsl:attribute name="src"> - <xsl:value-of select="$filename"/> - </xsl:attribute> - - <xsl:call-template name="video.poster"/> - - <xsl:apply-templates select="@*[local-name() != 'fileref']"/> - <xsl:apply-templates select="../multimediaparam"/> - - <!-- add any fallback content --> - <xsl:call-template name="video.fallback"/> - </video> -</xsl:template> - -<!-- use only an imageobject with @role = 'poster' --> -<xsl:template name="video.poster"> - <xsl:variable name="imageobject" select="../../imageobject[@role = 'poster'][1]"/> - <xsl:if test="$imageobject"> - <xsl:attribute name="poster"> - <xsl:value-of select="$imageobject/imagedata/@fileref"/> - </xsl:attribute> - </xsl:if> -</xsl:template> - -<xsl:template match="videodata/@fileref"> - <!-- already handled by videodata template --> -</xsl:template> - -<xsl:template match="audiodata/@fileref"> - <!-- already handled by audiodata template --> -</xsl:template> - -<xsl:template match="videodata/@contentwidth"> - <xsl:attribute name="width"> - <xsl:value-of select="."/> - </xsl:attribute> -</xsl:template> - -<xsl:template match="videodata/@contentdepth"> - <xsl:attribute name="height"> - <xsl:value-of select="."/> - </xsl:attribute> -</xsl:template> - -<xsl:template match="videodata/@depth"> - <xsl:attribute name="height"> - <xsl:value-of select="."/> - </xsl:attribute> -</xsl:template> - -<!-- pass through these attributes --> -<xsl:template match="videodata/@autoplay | - videodata/@controls | - audiodata/@autoplay | - audiodata/@controls"> - <xsl:copy-of select="."/> -</xsl:template> - -<xsl:template match="videodata/@*" priority="-1"> - <!-- Do nothing with the rest of the attributes --> -</xsl:template> - -<xsl:template match="audiodata/@*" priority="-1"> - <!-- Do nothing with the rest of the attributes --> -</xsl:template> - -<xsl:template match="multimediaparam"> - <xsl:call-template name="process.multimediaparam"> - <xsl:with-param name="object" select=".."/> - <xsl:with-param name="param.name" select="@name"/> - <xsl:with-param name="param.value" select="@value"/> - </xsl:call-template> -</xsl:template> - -<!-- Determines the best value of a media attribute from the - attributes and multimediaparam elements --> -<xsl:template name="process.multimediaparam"> - <xsl:param name="object" select="NOTANELEMENT"/> - <xsl:param name="param.name"/> - <xsl:param name="param.value"/> - - <xsl:choose> - <xsl:when test="$object/*/@*[local-name(.) = $param.name]"> - <!-- explicit attribute with that name takes precedence --> - <xsl:attribute name="{$param.name}"> - <xsl:value-of select="$object/*/@*[local-name(.) = $param.name]"/> - </xsl:attribute> - </xsl:when> - <xsl:otherwise> - <xsl:attribute name="{$param.name}"> - <xsl:value-of select="$param.value"/> - </xsl:attribute> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template name="video.fallback"> - <xsl:param name="videodata" select="."/> - <xsl:variable name="textobject" select="$videodata/../../textobject"/> - - <xsl:apply-templates select="$textobject" mode="fallback"/> -</xsl:template> - -<xsl:template name="audio.fallback"> - <xsl:param name="audiodata" select="."/> - <xsl:variable name="textobject" select="$audiodata/../../textobject"/> - - <xsl:apply-templates select="$textobject" mode="fallback"/> -</xsl:template> - -<xsl:template match="textobject" mode="fallback"> - <div> - <xsl:apply-templates select="." mode="class.attribute"/> - <xsl:apply-templates/> - </div> -</xsl:template> - -<!-- HTML5: no body attributes --> -<xsl:template name="body.attributes"/> - -</xsl:stylesheet> |