From b5d5c1939dceaeecdfd3c3cbec300be36c97a065 Mon Sep 17 00:00:00 2001 From: Martin Goik <goik@hdm-stuttgart.de> Date: Sun, 28 Aug 2016 16:35:58 +0200 Subject: [PATCH] Linking slides to lecture notes --- .../Tdata/Components/exampleSlides.xml | 31 ++++++++++++++++++ .../Extensions/Tdata/Components/intro.xml | 2 +- ws/Docbook/Extensions/Tdata/Makefile | 4 +-- ws/Docbook/Extensions/Tdata/fig.xml | 32 ------------------- ws/Docbook/Extensions/Xsl/docbook2docbook.xsl | 5 ++- ws/Docbook/Extensions/Xsl/docbook2html.xsl | 8 +++++ ws/Docbook/Extensions/Xsl/docbook2slides.xsl | 16 ++-------- 7 files changed, 46 insertions(+), 52 deletions(-) diff --git a/ws/Docbook/Extensions/Tdata/Components/exampleSlides.xml b/ws/Docbook/Extensions/Tdata/Components/exampleSlides.xml index b91ed6169..fc3cfaaf8 100644 --- a/ws/Docbook/Extensions/Tdata/Components/exampleSlides.xml +++ b/ws/Docbook/Extensions/Tdata/Components/exampleSlides.xml @@ -41,5 +41,36 @@ </db:imageobject> </db:mediaobject> </db:section> + + <db:section xml:id="slideCallouts"> + <db:title>Callouts</db:title> + + <db:programlisting language="java">public class TestImg { <db:co + linkends="javaExample-1" xml:id="javaExample-1-co"/> + + /** + * @throws JDOMException Corrupt content, failing to parse. <db:co + linkends="javaExample-2" xml:id="javaExample-2-co"/> + * @throws IOException File access problem. + */ + @SuppressWarnings("static-method") + @Test + public void testCsv() throws JDOMException, IOException { <db:co + linkends="javaExample-3" xml:id="javaExample-3-co"/></db:programlisting> + + <db:calloutlist> + <db:callout arearefs="javaExample-1-co" xml:id="javaExample-1"> + <db:para>A Java class.</db:para> + </db:callout> + + <db:callout arearefs="javaExample-2-co" xml:id="javaExample-2"> + <db:para>Javadoc header.</db:para> + </db:callout> + + <db:callout arearefs="javaExample-3-co" xml:id="javaExample-3"> + <db:para>A method.</db:para> + </db:callout> + </db:calloutlist> + </db:section> </db:section> </db:chapter> diff --git a/ws/Docbook/Extensions/Tdata/Components/intro.xml b/ws/Docbook/Extensions/Tdata/Components/intro.xml index 61005eafe..097b5813b 100644 --- a/ws/Docbook/Extensions/Tdata/Components/intro.xml +++ b/ws/Docbook/Extensions/Tdata/Components/intro.xml @@ -166,5 +166,5 @@ </db:figure> <db:para>This is a cross reference to <db:xref - linkend="callouts"/>.</db:para> + linkend="slideCallouts"/>.</db:para> </db:chapter> diff --git a/ws/Docbook/Extensions/Tdata/Makefile b/ws/Docbook/Extensions/Tdata/Makefile index 0f5f84d0a..d30d1be4f 100644 --- a/ws/Docbook/Extensions/Tdata/Makefile +++ b/ws/Docbook/Extensions/Tdata/Makefile @@ -45,8 +45,8 @@ webhelp:${BUILDROOT}/${SCRIPTBASENAME}_html.xml cd ${BUILDROOT};/usr/share/xmlmind/bin/xxetool convert $(DEBUG) \ db5.toWebHelp ${SCRIPTBASENAME}_html.xml -u webhelp -slides: ${BUILDROOT}/fig_html.xml - cd ${BUILDROOT}; ${SAXONCMD} -s:${SCRIPTBASENAME}_html.xml -xsl:../../Xsl/docbook2slides.xsl +slides: ${BUILDROOT}/${SCRIPTBASENAME}.xml + cd ${BUILDROOT}; ${SAXONCMD} -s:${SCRIPTBASENAME}.xml -xsl:../../Xsl/docbook2slides.xsl callout.unicode=1 pdf: fig.xml /usr/share/xmlmind/bin/xxetool convert $(DEBUG) ${XSLPARAM_pdf} \ diff --git a/ws/Docbook/Extensions/Tdata/fig.xml b/ws/Docbook/Extensions/Tdata/fig.xml index ba37c42db..f8247b52d 100644 --- a/ws/Docbook/Extensions/Tdata/fig.xml +++ b/ws/Docbook/Extensions/Tdata/fig.xml @@ -36,37 +36,6 @@ <xi:include href="Components/intro.xml" xpointer="element(/1)"/> - <chapter xml:id="callouts"> - <title>Callouts</title> - - <programlisting language="java">public class TestImg { <co - linkends="javaExample-1" xml:id="javaExample-1-co"/> - - /** - * @throws JDOMException Corrupt content, failing to parse. <co - linkends="javaExample-2" xml:id="javaExample-2-co"/> - * @throws IOException File access problem. - */ - @SuppressWarnings("static-method") - @Test - public void testCsv() throws JDOMException, IOException { <co - linkends="javaExample-3" xml:id="javaExample-3-co"/></programlisting> - - <calloutlist> - <callout arearefs="javaExample-1-co" xml:id="javaExample-1"> - <para>A Java class.</para> - </callout> - - <callout arearefs="javaExample-2-co" xml:id="javaExample-2"> - <para>Javadoc header.</para> - </callout> - - <callout arearefs="javaExample-3-co" xml:id="javaExample-3"> - <para>A method.</para> - </callout> - </calloutlist> - </chapter> - <chapter xml:id="qandaset"> <title>Question and answer sets</title> @@ -90,5 +59,4 @@ </chapter> <xi:include href="Components/exampleSlides.xml" xpointer="element(/1)"/> - </book> diff --git a/ws/Docbook/Extensions/Xsl/docbook2docbook.xsl b/ws/Docbook/Extensions/Xsl/docbook2docbook.xsl index 44e405eac..b2cbb7bc7 100644 --- a/ws/Docbook/Extensions/Xsl/docbook2docbook.xsl +++ b/ws/Docbook/Extensions/Xsl/docbook2docbook.xsl @@ -205,12 +205,11 @@ </xsl:template> <xsl:template match="*" mode="make"> - <para> + <db:para> <xsl:text>No template of mode='make' defined for element'</xsl:text> <xsl:value-of select="name(.)"/> <xsl:text>'</xsl:text> - </para> - + </db:para> </xsl:template> </xsl:stylesheet> diff --git a/ws/Docbook/Extensions/Xsl/docbook2html.xsl b/ws/Docbook/Extensions/Xsl/docbook2html.xsl index 0ee7bb70c..5edcfe050 100644 --- a/ws/Docbook/Extensions/Xsl/docbook2html.xsl +++ b/ws/Docbook/Extensions/Xsl/docbook2html.xsl @@ -45,4 +45,12 @@ </xsl:template> + <xsl:template match="db:annotation[@role='slide']"> + <db:para> + <db:link xlink:href="../Slides/{parent::db:section/@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/Extensions/Xsl/docbook2slides.xsl b/ws/Docbook/Extensions/Xsl/docbook2slides.xsl index 57d3f7448..0ff3c124a 100644 --- a/ws/Docbook/Extensions/Xsl/docbook2slides.xsl +++ b/ws/Docbook/Extensions/Xsl/docbook2slides.xsl @@ -3,13 +3,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:d="http://docbook.org/ns/docbook"> <xsl:import href="/usr/share/xmlmind/addon/config/docbook5/xsl/html/docbook.xsl" /> - + <xsl:template match="/"> <xsl:apply-templates select="//d:section[d:annotation[@role='slide']]" mode='entry'/> </xsl:template> <xsl:template match="d:section" mode='entry'> - <xsl:result-document method="xhtml" encoding="utf-8" href="Slides/{@xml:id}.html" indent="yes"> + <xsl:result-document method="xhtml" encoding="utf-8" href="Slides/{@xml:id}.html" indent="no"> <html lang="en"> <head> <title> @@ -30,9 +30,6 @@ <div class="slides"> <section> <xsl:apply-templates select="*[not(name(.)='db:section')]"/> - <xsl:message > - <xsl:value-of select="name(.)"/> - </xsl:message> </section> <xsl:apply-templates select="d:section"/> </div> @@ -78,13 +75,4 @@ </h3> </xsl:template> - <xsl:template match="sag"> - <xsl:comment> - <xsl:text>No template defined for element '</xsl:text> - <xsl:value-of select="namespace-uri()"/> - <xsl:text>:</xsl:text> - <xsl:value-of select="name(.)"/> - <xsl:text>'</xsl:text> - </xsl:comment> - </xsl:template> </xsl:stylesheet> -- GitLab