diff --git a/ws/Docbook/CustomLayer/Common/common.xsl b/ws/Docbook/CustomLayer/Common/common.xsl new file mode 100644 index 0000000000000000000000000000000000000000..3377e3c12a5502199e77fd6a9ef1ff40da8e5430 --- /dev/null +++ b/ws/Docbook/CustomLayer/Common/common.xsl @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:d="http://docbook.org/ns/docbook" + exclude-result-prefixes="d xs" + version="2.0"> + + <xsl:variable name="n"> + <xsl:text> +</xsl:text> + </xsl:variable> + + + <xsl:param name="toggleDisplayScript"> + <script xmlns="http://www.w3.org/1999/xhtml" type="text/javascript"> <!-- goiks extension head start --> + function toggleDisplay(inputEl) { + divElem = nextSibling(inputEl); + if (divElem.style.visibility == 'hidden') { + divElem.style.visibility = 'visible'; + inputEl.setAttribute('value','-'); + } else { + divElem.style.visibility = 'hidden'; + inputEl.setAttribute('value','+'); + } + } + function nextSibling(n) { + x=n.nextSibling; + while (x.nodeType!=1) { + x=x.nextSibling; + } + return x; + } + </script> + </xsl:param> + + <!--Allow for opening and closing of answers --> + <xsl:template match="d:answer" priority="1"> + <xsl:variable name="deflabel"> + <xsl:apply-templates select="." mode="qanda.defaultlabel"/> + </xsl:variable> + + <tr> + <xsl:apply-templates select="." mode="common.html.attributes"/> + <xsl:call-template name="id.attribute"/> + <td align="{$direction.align.start}" valign="top"> + <xsl:call-template name="anchor"/> + <xsl:variable name="answer.label"> + <xsl:apply-templates select="." mode="label.markup"/> + </xsl:variable> + <xsl:if test="string-length($answer.label) > 0"> + <p><strong> + <xsl:copy-of select="$answer.label"/> + </strong></p> + </xsl:if> + </td> + <td align="{$direction.align.start}" valign="top"> + <input onclick="toggleDisplay(this)" type="button" value="+"/> <!--goik: start "header" clickable answer modification --> + <div style="visibility:hidden;"> <!--goik: end "header" clickable answer modification --> + <xsl:apply-templates select="*[local-name(.) != 'label' and local-name(.) != 'qandaentry']"/> + <!-- * handle nested answer/qandaentry instances --> + <!-- * (bug 1509043 from Daniel Leidert) --> + <xsl:if test="descendant::d:question"> + <xsl:call-template name="process.qandaset"/> + </xsl:if> + </div> <!--goik: "footer" clickable answer modification --> + </td> + </tr> + </xsl:template> +</xsl:stylesheet> \ No newline at end of file diff --git a/ws/Docbook/CustomLayer/epub/chunkHdm.xsl b/ws/Docbook/CustomLayer/epub/chunkHdm.xsl new file mode 100644 index 0000000000000000000000000000000000000000..2a593083f047fdccbac36e9ea45c01001e78f331 --- /dev/null +++ b/ws/Docbook/CustomLayer/epub/chunkHdm.xsl @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:d="http://docbook.org/ns/docbook" + xmlns:exsl="http://exslt.org/common" + xmlns:epub="http://www.idpf.org/2007/ops" + exclude-result-prefixes="exsl d" + version="1.0"> + + + <xsl:import href="hdmextensions.xsl"/> + + <xsl:import href="../../docbook-xsl/xhtml/chunk-common.xsl"/> + <xsl:import href="../../docbook-xsl/xhtml/highlight.xsl"/> + + <xsl:include href="../../docbook-xsl/xhtml/chunk-code.xsl"/> + + <xsl:include href="../../docbook-xsl/epub3/epub3-chunk-mods.xsl"/> + + +</xsl:stylesheet> diff --git a/ws/Docbook/CustomLayer/epub/hdmextensions.xsl b/ws/Docbook/CustomLayer/epub/hdmextensions.xsl new file mode 100644 index 0000000000000000000000000000000000000000..f6a2393cda90118e969491a90a032a72f5c8db59 --- /dev/null +++ b/ws/Docbook/CustomLayer/epub/hdmextensions.xsl @@ -0,0 +1,305 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:d="http://docbook.org/ns/docbook" + xmlns:m="http://www.w3.org/1998/Math/MathML" + xmlns="http://www.w3.org/1999/xhtml" + exclude-result-prefixes="d m" + version="1.1"> + + <xsl:import href="../../docbook-xsl/xhtml5/docbook.xsl"/> + <xsl:import href="../../docbook-xsl/epub3/epub3-element-mods.xsl"/> + <xsl:include href="../Common/common.xsl"/> + + <xsl:template name="user.head.content"> + <xsl:param name="node"/> + <xsl:copy-of select="$toggleDisplayScript"/> + </xsl:template> + + <!-- avoid namespace prefix since some epub readers get confused. Credits to + http://stackoverflow.com/questions/16810039/how-to-remove-namespace-prefix-leaving-namespace-value-xslt + --> + <xsl:template match="m:math[not(@alttext)]" priority="2"> + <xsl:element name="{local-name()}" namespace="http://www.w3.org/1998/Math/MathML"> + <xsl:attribute name="alttext">math formula</xsl:attribute> + <xsl:copy-of select="@*"/> + <xsl:apply-templates/> + </xsl:element> + </xsl:template> + + <xsl:template match="m:*" priority="1"> + <xsl:element name="{local-name()}" namespace="http://www.w3.org/1998/Math/MathML"> + <xsl:copy-of select="@*"/> + <xsl:apply-templates/> + </xsl:element> + </xsl:template> + + <xsl:template match="d:videoobject" priority="1"> + <video controls="controls" preload="auto"> + <xsl:attribute name="title"> + <xsl:value-of select="normalize-space(../../d:title)"/> + </xsl:attribute> + + <xsl:variable name="hdm_ImageFilename"> <!-- hdm_ prefix: do not mess with docbook! --> + <xsl:call-template name="mediaobject.filename"> + <xsl:with-param name="object" select="."/> + </xsl:call-template> + </xsl:variable> + <source src="{$hdm_ImageFilename}.mp4" type='video/mp4'/> + <xsl:text>Your Browser does not support the video tag</xsl:text> + </video> + </xsl:template> + + <!-- Correct package.opf manifest file --> + <xsl:template match="*" mode="package.manifest" priority="1"> + + <xsl:variable name="is.chunk"> + <xsl:call-template name="chunk"> + <xsl:with-param name="node" select="."/> + </xsl:call-template> + </xsl:variable> + + <xsl:if test="$is.chunk != 0"> + <xsl:variable name="href"> + <xsl:call-template name="href.target.with.base.dir"> + <xsl:with-param name="context" select="/"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="id" select="concat($epub.package.id.prefix, generate-id())"/> + + <xsl:variable name="properties.set"> + <xsl:call-template name="svg.property"/> + <xsl:text> </xsl:text> + <xsl:call-template name="mathml.property"/> + <xsl:text> scripted</xsl:text> + </xsl:variable> + + <xsl:variable name="properties" select="normalize-space($properties.set)"/> + + <xsl:element namespace="{$opf.namespace}" name="item"> + <xsl:attribute name="id"> + <xsl:value-of select="$id"/> + </xsl:attribute> + <xsl:attribute name="href"> + <xsl:value-of select="$href"/> + </xsl:attribute> + <xsl:attribute name="media-type">application/xhtml+xml</xsl:attribute> + <xsl:if test="string-length($properties) != 0"> + <xsl:attribute name="properties"> + <xsl:value-of select="$properties"/> + </xsl:attribute> + </xsl:if> + </xsl:element> + </xsl:if> + <xsl:apply-templates mode="package.manifest"/> + + </xsl:template> + + <!-- Provide supplementary items for package.opf file --> + + + <xsl:template name="targetComment"> + <xsl:param name="comment"/> + <xsl:value-of select="$n"/> + <xsl:value-of select="$n"/> + <xsl:comment> + <xsl:value-of select="$comment"/> + </xsl:comment> + </xsl:template> + + + <xsl:template name="manifest.toc" priority="1"> + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="node" select="."/> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + + <xsl:if test="contains($toc.params, 'toc')"> + <xsl:element namespace="{$opf.namespace}" name="item"> + <xsl:attribute name="id"> + <xsl:value-of select="$epub.html.toc.id"/> + </xsl:attribute> + <xsl:attribute name="properties">nav scripted</xsl:attribute> + <xsl:attribute name="media-type"> + <xsl:value-of select="$epub.xhtml.mediatype"/> + </xsl:attribute> + <xsl:attribute name="href"> + <xsl:call-template name="toc-href"> + <xsl:with-param name="node" select="."/> + </xsl:call-template> + </xsl:attribute> + </xsl:element> + </xsl:if> + </xsl:template> + + + <xsl:template name="user.manifest.items" priority="1"> + + <xsl:call-template name="targetComment"> + <xsl:with-param name="comment" select="'Derived video data'"/> + </xsl:call-template> + <xsl:apply-templates select="//d:videodata" mode="hdmuserOpf"/> + + <xsl:call-template name="targetComment"> + <xsl:with-param name="comment" select="'Docbook distribution icons'"/> + </xsl:call-template> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-002" href="images/prev.gif" media-type="image/gif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-003" href="images/tip.gif" media-type="image/gif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-004" href="images/callouts/5.gif" media-type="image/gif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-005" href="images/callouts/2.gif" media-type="image/gif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-006" href="images/callouts/8.gif" media-type="image/gif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-007" href="images/callouts/14.gif" media-type="image/gif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-008" href="images/callouts/10.gif" media-type="image/gif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-009" href="images/callouts/13.gif" media-type="image/gif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-010" href="images/callouts/12.gif" media-type="image/gif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-011" href="images/callouts/11.gif" media-type="image/gif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-012" href="images/callouts/9.gif" media-type="image/gif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-013" href="images/callouts/15.gif" media-type="image/gif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-014" href="images/callouts/7.gif" media-type="image/gif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-015" href="images/callouts/3.gif" media-type="image/gif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-016" href="images/callouts/1.gif" media-type="image/gif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-017" href="images/callouts/4.gif" media-type="image/gif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-018" href="images/callouts/6.gif" media-type="image/gif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-019" href="images/caution.gif" media-type="image/gif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-020" href="images/up.gif" media-type="image/gif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-021" href="images/warning.gif" media-type="image/gif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-022" href="images/note.gif" media-type="image/gif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-023" href="images/important.gif" media-type="image/gif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-024" href="images/next.gif" media-type="image/gif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-025" href="images/home.gif" media-type="image/gif"/> + + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-100" href="images/tip.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-101" href="images/prev.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-102" href="images/callouts/21.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-103" href="images/callouts/3.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-104" href="images/callouts/15.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-105" href="images/callouts/19.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-106" href="images/callouts/18.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-107" href="images/callouts/9.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-108" href="images/callouts/4.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-109" href="images/callouts/24.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-110" href="images/callouts/6.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-111" href="images/callouts/29.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-112" href="images/callouts/27.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-113" href="images/callouts/16.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-114" href="images/callouts/12.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-115" href="images/callouts/17.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-116" href="images/callouts/30.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-117" href="images/callouts/22.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-118" href="images/callouts/20.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-119" href="images/callouts/28.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-120" href="images/callouts/26.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-121" href="images/callouts/10.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-122" href="images/callouts/11.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-123" href="images/callouts/14.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-124" href="images/callouts/7.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-125" href="images/callouts/8.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-126" href="images/callouts/5.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-127" href="images/callouts/23.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-128" href="images/callouts/13.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-129" href="images/callouts/25.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-130" href="images/callouts/2.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-131" href="images/callouts/1.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-132" href="images/draft.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-133" href="images/note.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-134" href="images/colorsvg/tip.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-135" href="images/colorsvg/prev.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-136" href="images/colorsvg/note.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-137" href="images/colorsvg/important.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-138" href="images/colorsvg/up.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-139" href="images/colorsvg/caution.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-140" href="images/colorsvg/next.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-141" href="images/colorsvg/home.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-142" href="images/colorsvg/warning.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-143" href="images/important.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-144" href="images/up.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-145" href="images/caution.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-146" href="images/next.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-147" href="images/home.svg" media-type="image/svg"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-148" href="images/warning.svg" media-type="image/svg"/> + + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-200" href="images/prev.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-201" href="images/draft.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-202" href="images/warning.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-203" href="images/up.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-204" href="images/tip.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-205" href="images/note.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-206" href="images/callouts/4.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-207" href="images/callouts/15.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-208" href="images/callouts/3.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-209" href="images/callouts/2.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-210" href="images/callouts/7.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-211" href="images/callouts/5.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-212" href="images/callouts/14.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-213" href="images/callouts/8.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-214" href="images/callouts/11.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-215" href="images/callouts/13.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-216" href="images/callouts/9.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-217" href="images/callouts/12.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-218" href="images/callouts/6.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-219" href="images/callouts/10.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-220" href="images/callouts/1.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-221" href="images/toc-blank.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-222" href="images/next.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-223" href="images/toc-plus.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-224" href="images/important.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-225" href="images/blank.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-226" href="images/home.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-227" href="images/annot-close.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-228" href="images/caution.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-229" href="images/annot-open.png" media-type="image/png"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-230" href="images/toc-minus.png" media-type="image/png"/> + + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-300" href="images/caution.tif" media-type="image/tif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-301" href="images/important.tif" media-type="image/tif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-302" href="images/warning.tif" media-type="image/tif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-303" href="images/note.tif" media-type="image/tif"/> + <item xmlns="http://www.idpf.org/2007/opf" id="dbook-icons-304" href="images/tip.tif" media-type="image/tif"/> + + </xsl:template> + + <xsl:template match="d:videodata" mode="hdmuserOpf"> + <xsl:variable name="baseFileName"> + <xsl:call-template name="relative-uri"> + <xsl:with-param name="filename" select="@fileref"/> + </xsl:call-template> + </xsl:variable> + + <xsl:element namespace="{$opf.namespace}" name="item"> + <xsl:attribute name="id"> + <xsl:value-of select="generate-id()"/> + <xsl:text>-HDMEXTRA-mp4</xsl:text> + </xsl:attribute> + <xsl:attribute name="href"> + <xsl:value-of select="$baseFileName"/> + <xsl:text>.mp4</xsl:text> + </xsl:attribute> + <xsl:attribute name="media-type">video/mp4</xsl:attribute> + </xsl:element> + + <xsl:element namespace="{$opf.namespace}" name="item"> + <xsl:attribute name="id"> + <xsl:value-of select="generate-id()"/> + <xsl:text>-HDMEXTRA-png</xsl:text> + </xsl:attribute> + <xsl:attribute name="href"> + <xsl:value-of select="$baseFileName"/> + <xsl:text>.png</xsl:text> + </xsl:attribute> + <xsl:attribute name="media-type">video/mp4</xsl:attribute> + </xsl:element> + </xsl:template> + + <xsl:template match="*" mode="hdmuserOpf"> + <xsl:text>ERROR: No template available for element '</xsl:text> + <xsl:value-of select="name(.)"/> + <xsl:text>' in opf mode.</xsl:text> + </xsl:template> + + <!-- <xsl:template match="d:imagedata" mode="hdmuserOpf"> + </xsl:template> + + --> +</xsl:stylesheet> diff --git a/ws/Docbook/CustomLayer/webhelp/hdmextensions.xsl b/ws/Docbook/CustomLayer/webhelp/hdmextensions.xsl index 48822ee0c368d6ccea3cb36eaaa41ea9b590c5d8..a10d49d7c81a562c310c0ece235bce9de9612731 100644 --- a/ws/Docbook/CustomLayer/webhelp/hdmextensions.xsl +++ b/ws/Docbook/CustomLayer/webhelp/hdmextensions.xsl @@ -6,28 +6,12 @@ exclude-result-prefixes="d" version="1.1"> + <xsl:import href="../Common/common.xsl"/> + <xsl:template name="user.webhelp.head.content"> <xsl:param name="node"/> - <script type="text/javascript"> <!-- goiks extension head start --> - function toggleDisplay(inputEl) { - divElem = nextSibling(inputEl); - if (divElem.style.visibility == 'hidden') { - divElem.style.visibility = 'visible'; - inputEl.setAttribute('value','-'); - } else { - divElem.style.visibility = 'hidden'; - inputEl.setAttribute('value','+'); - } - } - function nextSibling(n) { - x=n.nextSibling; - while (x.nodeType!=1) { - x=x.nextSibling; - } - return x; - } - </script> + <xsl:copy-of select="$toggleDisplayScript"/> <xsl:if test="//m:math"> <script type="text/x-mathjax-config">MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});</script> @@ -44,44 +28,8 @@ src='{$webhelp.common.dir}images/hdmlogo.svg' alt="{$brandname} Documentation"/> </a> </xsl:template> - - - <!--Allow for opening and closing of answers --> - - <xsl:template match="d:answer"> - <xsl:variable name="deflabel"> - <xsl:apply-templates select="." mode="qanda.defaultlabel"/> - </xsl:variable> - - <tr> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <td align="{$direction.align.start}" valign="top"> - <xsl:call-template name="anchor"/> - <xsl:variable name="answer.label"> - <xsl:apply-templates select="." mode="label.markup"/> - </xsl:variable> - <xsl:if test="string-length($answer.label) > 0"> - <p><strong> - <xsl:copy-of select="$answer.label"/> - </strong></p> - </xsl:if> - </td> - <td align="{$direction.align.start}" valign="top"> - <input onclick="toggleDisplay(this)" type="button" value="+"/> <!--goik: start "header" clickable answer modification --> - <div style="visibility:hidden;"> <!--goik: end "header" clickable answer modification --> - <xsl:apply-templates select="*[local-name(.) != 'label' and local-name(.) != 'qandaentry']"/> - <!-- * handle nested answer/qandaentry instances --> - <!-- * (bug 1509043 from Daniel Leidert) --> - <xsl:if test="descendant::d:question"> - <xsl:call-template name="process.qandaset"/> - </xsl:if> - </div> <!--goik: "footer" clickable answer modification --> - </td> - </tr> - </xsl:template> - - + + <!-- copy mathml to output --> <xsl:template match="m:*"> <xsl:element name="{local-name()}"> <xsl:copy-of select="@*"/> @@ -103,6 +51,7 @@ <source src="{$hdm_ImageFilename}" type='video/webm' /> <source src="{$hdm_ImageFilename}.mp4" type='video/mp4'/> + <xsl:text>Your Browser does not support the video tag</xsl:text> </video> </xsl:template> diff --git a/ws/Docbook/Extensions/Tdata/Makefile b/ws/Docbook/Extensions/Tdata/Makefile index 1684cdb6c513660762dd5662b313b08bed9aec35..dc7a86fe22d6669591e491c3a801d774b06cf772 100644 --- a/ws/Docbook/Extensions/Tdata/Makefile +++ b/ws/Docbook/Extensions/Tdata/Makefile @@ -17,6 +17,7 @@ DBOOK_XSL_PREPROCESS=${DBOOK}/Preprocess # Common Docbook transformation parameter dbookXslCommonParam=\ +keep.relative.image.uris=0 \ callout.graphics=0 \ callout.unicode=1 \ graphicsize.use.img.src.path=1 \ @@ -29,6 +30,7 @@ dbookXslSlideParam=${dbookXslCommonParam} # Epub related Docbook transformation parameter dbookXslEpubParam=${dbookXslCommonParam} \ +generate.manifest=1 \ base.dir=target/epub # Webhelp related Docbook transformation parameter @@ -68,7 +70,6 @@ ${BUILDROOT_SRC}/${SCRIPTBASENAME}.xml: ${SCRIPTBASENAME}.xml mkdir -p ${BUILDROOT_SRC}; ln -sf /usr/share/hdmwebhelp/extern ${BUILDROOT} ${SAXONCMD} -s:$< \ -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbook2docbook.xsl > ${BUILDROOT_SRC}/${SCRIPTBASENAME}.xml - ${SAXONCMD} -s:${BUILDROOT_SRC}/${SCRIPTBASENAME}.xml \ -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbook2html.xsl > ${BUILDROOT_SRC}/${SCRIPTBASENAME}_html.xml ${SAXONCMD} -s:${BUILDROOT_SRC}/${SCRIPTBASENAME}.xml \ @@ -76,23 +77,13 @@ ${BUILDROOT_SRC}/${SCRIPTBASENAME}.xml: ${SCRIPTBASENAME}.xml cd ${BUILDROOT_SRC}; ${SAXONCMD} -s:${SCRIPTBASENAME}.xml -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbookExtractFig.xsl mkdir -p ${BUILDROOT_SRC}/Resources; tar cv- `find . -name Ref -and -type d|grep -v ^\./target`|tar -x -C ${BUILDROOT_SRC}/Resources cp ${DBOOK_XSL_PREPROCESS}/make.image ${BUILDROOT_SRC} - cd ${BUILDROOT_SRC}/Resources; $(MAKE) -f ../make.image - -epub: ${BUILDROOT_SRC}/${SCRIPTBASENAME}_html.xml - java -cp "/usr/share/java/saxon.jar:/usr/share/java/xslthl-2.1.3.jar" \ - '-Dxslthl.config=file://${DBOOK_XSL}/highlighting/xslthl-config.xml' \ - com.icl.saxon.StyleSheet \ - $< ${DBOOK_XSL_CUSTOM}/epub/chunkHdm.xsl ${dbookXslEpubParam} - rsync -av --delete ${BUILDROOT_SRC}/_Resources ${BUILDROOT_EPUB}/OEBPS - rsync -av --delete ${DBOOK_XSL}/images ${BUILDROOT_EPUB}/OEBPS # Images, Css - cat ${DBOOK_XSL_CUSTOM}/webhelp/common/css/positioning.css >> ${BUILDROOT_EPUB}/OEBPS/docbook-epub.css - cd ${BUILDROOT_EPUB}; zip -rX ${SCRIPTBASENAME}.epub mimetype META-INF OEBPS _Resources + cd ${BUILDROOT_SRC}/Resources; $(MAKE) -f ../make.image; rm -rf `find . -name Generate` webhelp:${BUILDROOT_SRC}/${SCRIPTBASENAME}_html.xml java -cp "/usr/share/java/saxon.jar:/usr/share/java/xslthl-2.1.3.jar" \ '-Dxslthl.config=file://${DBOOK_XSL}/highlighting/xslthl-config.xml' \ com.icl.saxon.StyleSheet \ - ${BUILDROOT_SRC}/${SCRIPTBASENAME}_html.xml ${DBOOK_XSL_CUSTOM}/webhelp/webhelpHdm.xsl keep.relative.image.uris=0 ${dbookXslWebhelpParam} + ${BUILDROOT_SRC}/${SCRIPTBASENAME}_html.xml ${DBOOK_XSL_CUSTOM}/webhelp/webhelpHdm.xsl ${dbookXslWebhelpParam} cd ${BUILDROOT_SRC}/Resources; rsync -av * ${DIR}/${BUILDROOT_WEBHELP} cp -r ${DBOOK_XSL}/webhelp/template/* ${BUILDROOT_WEBHELP} # Images, Css cat ${DBOOK_XSL_CUSTOM}/webhelp/common/css/positioning.supp.css >> ${BUILDROOT_WEBHELP}/common/css/positioning.css # highlighting supplements @@ -112,6 +103,16 @@ webhelp:${BUILDROOT_SRC}/${SCRIPTBASENAME}_html.xml -cp '${DBOOK_XSL}/extensions/webhelpindexer.jar:${DBOOK_XSL}/extensions/lucene-analyzers-3.0.0.jar:${DBOOK_XSL}/extensions/lucene-core-3.0.0.jar:${DBOOK_XSL}/extensions/tagsoup-1.2.1.jar' \ com.nexwave.nquindexer.IndexerMain +epub: ${BUILDROOT_SRC}/${SCRIPTBASENAME}_html.xml + java -cp "/usr/share/java/saxon.jar:/usr/share/java/xslthl-2.1.3.jar" \ + '-Dxslthl.config=file://${DBOOK_XSL}/highlighting/xslthl-config.xml' \ + com.icl.saxon.StyleSheet \ + $< ${DBOOK_XSL_CUSTOM}/epub/chunkHdm.xsl ${dbookXslEpubParam} + rsync -av --delete ${BUILDROOT_SRC}/Resources/* ${BUILDROOT_EPUB}/OEBPS + rsync -av --delete ${DBOOK_XSL}/images ${BUILDROOT_EPUB}/OEBPS # Images, Css + cat ${DBOOK_XSL_CUSTOM}/webhelp/common/css/positioning.supp.css >> ${BUILDROOT_EPUB}/OEBPS/docbook-epub.css # highlighting supplements + cd ${BUILDROOT_EPUB}; zip -rX ${SCRIPTBASENAME}.epub mimetype META-INF OEBPS + slides: ${BUILDROOT}/src/${SCRIPTBASENAME}_html.xml cd ${BUILDROOT}; ${SAXONCMD} -s:../$< -xsl:${DBOOK_XSL_CUSTOM}/slide/slideHdm.xsl ${dbookXslSlideParam} ln -sf /usr/share/reveal.js ${BUILDROOT}/Slides; ln -sf ../src/_Resources ${BUILDROOT}/Slides diff --git a/ws/Docbook/Extensions/Tdata/fig.xml b/ws/Docbook/Extensions/Tdata/fig.xml index a9d7167eab0b1299b946a5fcf13ae238e2075ec2..78c8c8e23622600eb37704752f60118c78fe334b 100644 --- a/ws/Docbook/Extensions/Tdata/fig.xml +++ b/ws/Docbook/Extensions/Tdata/fig.xml @@ -19,7 +19,7 @@ </affiliation> </author> - <pubdate>27.02.2017</pubdate> + <pubdate>2017-02-27</pubdate> </info> <preface> diff --git a/ws/Docbook/Preprocess/Xsl/docbook2html.xsl b/ws/Docbook/Preprocess/Xsl/docbook2html.xsl index 770e764999705455cc61c06741f24c3eee3e5460..1bdd977d18f4e3120e2578e854b70f4208ee6fd9 100644 --- a/ws/Docbook/Preprocess/Xsl/docbook2html.xsl +++ b/ws/Docbook/Preprocess/Xsl/docbook2html.xsl @@ -1,68 +1,78 @@ <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns="http://docbook.org/ns/docbook" xmlns:db="http://docbook.org/ns/docbook"> - - <xsl:include href="common.xsl"/> + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://docbook.org/ns/docbook" xmlns:db="http://docbook.org/ns/docbook"> + + <xsl:import href="../../docbook-xsl/xhtml/chunk.xsl"/> + <xsl:include href="common.xsl"/> + + <xsl:output indent="no"/> + + <xsl:template match="@* | node()"> + <xsl:copy> + <xsl:apply-templates select="node()| @*"/> + </xsl:copy> + </xsl:template> + + + <xsl:template match="db:figure[db:mediaobject/db:imageobject]/db:title"> - <xsl:output indent="no"/> + <xsl:copy> + <xsl:apply-templates select="@* | node()"/> + </xsl:copy> - <xsl:template match="@* | node()"> - <xsl:copy> - <xsl:apply-templates select="node()| @*"/> - </xsl:copy> - </xsl:template> + <xsl:if test="ends-with(parent::db:figure/db:mediaobject/db:imageobject/db:imagedata/@fileref, '.fig')"> + <para> + <uri> + <xsl:attribute name="xlink:href"> + <xsl:call-template name="hdm.get.leftmost.of.separator"> + <xsl:with-param name="path"> + <xsl:call-template name="relative-uri"> + <xsl:with-param name="filename" select="parent::db:figure/db:mediaobject/db:imageobject/db:imagedata/@fileref"/> + </xsl:call-template> + </xsl:with-param> + <xsl:with-param name="separator" select="'.'"/> + </xsl:call-template> + <xsl:text>.animate.pdf</xsl:text> + </xsl:attribute> + <xsl:text>(Animated PDF Version)</xsl:text> + </uri> + </para> + </xsl:if> + <xsl:if test="ends-with(parent::db:figure/db:mediaobject/db:imageobject/db:imagedata/@fileref, '.svg')"> + <para> + <uri> + <xsl:attribute name="xlink:href"> + <xsl:call-template name="relative-uri"> + <xsl:with-param name="filename" select="parent::db:figure/db:mediaobject/db:imageobject/db:imagedata/@fileref"/> + </xsl:call-template> + </xsl:attribute> + <xsl:text>Separate SVG image link</xsl:text> + </uri> + </para> + </xsl:if> - <xsl:template match="db:figure[db:mediaobject/db:imageobject]/db:title"> - - <xsl:copy> - <xsl:apply-templates select="@* | node()"/> - </xsl:copy> - - <xsl:if test="ends-with(parent::db:figure/db:mediaobject/db:imageobject/db:imagedata/@fileref, '.fig')"> - <para> - <uri> - <xsl:attribute name="xlink:href"> - <xsl:call-template name="hdm.get.leftmost.of.separator"> - <xsl:with-param name="path" - select="parent::db:figure/db:mediaobject/db:imageobject/db:imagedata/@fileref"/> - <xsl:with-param name="separator" select="'.'"/> - </xsl:call-template> - <xsl:text>.annotated.pdf</xsl:text> - </xsl:attribute> - <xsl:text>(Animated PDF Version)</xsl:text> - </uri> - </para> - </xsl:if> - - <xsl:if test="ends-with(parent::db:figure/db:mediaobject/db:imageobject/db:imagedata/@fileref, '.svg')"> - <para> - <uri xlink:href="{parent::db:figure/db:mediaobject/db:imageobject/db:imagedata/@fileref}" - >Separate SVG image link</uri> - </para> - </xsl:if> - - </xsl:template> + </xsl:template> <xsl:template match="db:imagedata[ends-with(@fileref, '.fig')]"> - - <xsl:copy> - <xsl:attribute name="fileref"> - <xsl:value-of select="@fileref"/> - <xsl:text>.svg</xsl:text> - </xsl:attribute> - <xsl:apply-templates select="@*[not(name(.) = 'fileref')] | node()"/> - </xsl:copy> - - </xsl:template> - <xsl:template match="db:annotation[@role='slide']"> - <db:para> - <db:link xlink:href="../Slides/{parent::db:*/@xml:id}.html"> - <xsl:text>Slide version of this section</xsl:text> - </db:link> - </db:para> - </xsl:template> + <xsl:copy> + <xsl:attribute name="fileref"> + <xsl:value-of select="@fileref"/> + <xsl:text>.svg</xsl:text> + </xsl:attribute> + <xsl:apply-templates select="@*[not(name(.) = 'fileref')] | node()"/> + </xsl:copy> + </xsl:template> + + <xsl:template match="db:annotation[@role='slide']"> + <db:para> + <db:link xlink:href="../Slides/{parent::db:*/@xml:id}.html"> + <xsl:text>Slide version of this section</xsl:text> + </db:link> + </db:para> + </xsl:template> + </xsl:stylesheet> diff --git a/ws/Docbook/Preprocess/make.image b/ws/Docbook/Preprocess/make.image index 24e3e7a2e99aee7ccedbbceed6d8f818734d54b8..2de0c9f2920a269c5eee91cdc6d39143414d9077 100644 --- a/ws/Docbook/Preprocess/make.image +++ b/ws/Docbook/Preprocess/make.image @@ -6,13 +6,12 @@ include ../mediaobjects.list cd $(@D)/..; env R=`echo $(@D)|sed -e s/\\\\/Generate//` perl -i -p -e 's/0[ ]([^ \/]+).(eps|png|jpg)/0 ${MYWD}\/$$ENV{'R'}\/$$1.$$2/g' $(*F).fig cd $(@D)/..; fig2pdf --nogv $(*F).fig; mv $(*F).pdf $(*F).fig.pdf cd $(@D); fig2mpdf -l -m ../$(*F).fig - cd $(@D)/..;pdflatex Generate/$(*F) + cd $(@D)/..;pdflatex Generate/$(*F); rm -f $(*F).toc $(*F).log $(*F).nav $(*F).aux $(*F).snm $(*F).out %.fig.pdf %.fig.svg:%.fig cd $(@D); fig2pdf --nogv $(*F).fig; pdf2svg $(*F).pdf $(*F).fig.svg ; mv $(*F).pdf $(*F).fig.pdf cd $(@D)/Generate; fig2mpdf -l -m ../$(*F).fig - cd $(@D); pdflatex Generate/$(*F); mv $(*F).pdf $(*F).animate.pdf - + cd $(@D); pdflatex Generate/$(*F); mv $(*F).pdf $(*F).animate.pdf; rm -f $(*F).toc $(*F).log $(*F).nav $(*F).aux $(*F).snm $(*F).out %.webm.mp4:%.webm avconv -y -i $< -vcodec libx264 -acodec aac -strict -2 -r 10 $<.mp4