From 7ed9c2027cecd5755d1feabaa62ec1bd0eae9586 Mon Sep 17 00:00:00 2001 From: der-schmelle2 Date: Sun, 1 Jul 2018 14:29:42 +0200 Subject: [PATCH 01/24] Section about how to place a graphic or logo in the header of an document --- en/xml/fo/topic.graphic-pageheader.xml | 163 +++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 en/xml/fo/topic.graphic-pageheader.xml diff --git a/en/xml/fo/topic.graphic-pageheader.xml b/en/xml/fo/topic.graphic-pageheader.xml new file mode 100644 index 00000000..7bcc8c2b --- /dev/null +++ b/en/xml/fo/topic.graphic-pageheader.xml @@ -0,0 +1,163 @@ + + + + +
+ Inserting Graphics to your Page Headers or Footers + + + page header + block + format + page + + + + graphic + + + + +
+ Problem + You need to know how to insert a graphic in your page header or footer. +
+ +
+ Solution + First of all, you need to create a customization layer in your + customization stylesheet containing the following code: + <!-- Path and name of your graphic file--> +<xsl:param name="header.image.filename">{$img.src.path}your-graphic.svg</xsl:param> +<!-- Header rule yes (1) / no (0) --> +<xsl:param name="header.rule" select="0"/> + +<xsl:template name="header.content"> + <xsl:param name="pageclass" select="''" + <xsl:param name="sequence" select="''"/> + <xsl:param name="position" select="''"/> + <xsl:param name="gentext-key" select="''"/> + <fo:block> + <!-- sequence can be odd, even, first, blank --> + <!-- position can be left, center, right --> + <xsl:choose> + <xsl:when test="$sequence = 'blank'"> + <!-- nothing --> + </xsl:when> + + <xsl:when test="$position='left'"> + <!-- Same for odd, even, empty, and blank sequences --> + <!-- nothing --> + </xsl:when> + + <xsl:when test="($sequence='odd' or $sequence='even') and $position='center'"> + <!-- nothing --> + </xsl:when> + + <xsl:when test="$position='center'"> + <!-- nothing for empty and blank sequences --> + </xsl:when> + + <xsl:when test="$position='right'"> + <!-- Same for odd, even, empty, and blank sequences --> + <fo:external-graphic content-height="25mm"> + <xsl:attribute name="src"> + <xsl:call-template name="fo-external-image"> + <xsl:with-param name="filename" select="$header.image.filename"/> + > + </xsl:call-template> + </xsl:attribute> + </fo:external-graphic> + </xsl:when> + + <xsl:when test="$sequence = 'first'"> + <!-- nothing for first pages --> + </xsl:when> + + <xsl:when test="$sequence = 'blank'"> + <!-- nothing for blank pages --> + </xsl:when> + </xsl:choose> + </fo:block> +</xsl:template> + + + We assume that your graphic should be placed in the header + of all pages except title pages. + + + The content of the necessary variables needs to be cleared. + + + A block-element creates a rectangle area on a page + which can contain lists, tables or graphics + . + + + Here you can place an banner like 'This page is + intentionally left blank' or so. + + + This is a good place for the chapter title. + + + This is the place where we want to place our graphic. The + graphic should be visible on all pages on the right side. + + + The graphic picture is too big, so we limit his height to 25mm. + When you specify only one parameter like heightorwidth, + your graphic will be scaled with the correct aspect ratio. + + + We will give the graphic which will be used the attribute. + src. + + + The template which is called to import and place the graphic. + + + Our file defined at the top of our customization layer. + + +
+
+ Discussion + If you wish to place your graphic within the footer, replace + header.contentwithfooter.content. +
+
+ See Also + + + Full parameter description for fo:external-graphic + + + Parameter description for xsl:attribute + + + Parameter description for xsl:with-param + + +
+
+ From e911f563eb4be357115fc18477a6d441f432346f Mon Sep 17 00:00:00 2001 From: der-schmelle2 Date: Sun, 1 Jul 2018 15:11:09 +0200 Subject: [PATCH 02/24] Add myself as author --- en/xml/fo/topic.graphic-pageheader.xml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/en/xml/fo/topic.graphic-pageheader.xml b/en/xml/fo/topic.graphic-pageheader.xml index 7bcc8c2b..9c60e4b9 100644 --- a/en/xml/fo/topic.graphic-pageheader.xml +++ b/en/xml/fo/topic.graphic-pageheader.xml @@ -21,7 +21,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink"> Inserting Graphics to your Page Headers or Footers - + + + Peter + Schmelzer + + + page header block format From 3877f83b6733db322cb3a9f78a2d9893c4002843 Mon Sep 17 00:00:00 2001 From: der-schmelle2 Date: Sun, 1 Jul 2018 15:23:10 +0200 Subject: [PATCH 03/24] Add a link within the section --- en/xml/fo/topic.graphic-pageheader.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/en/xml/fo/topic.graphic-pageheader.xml b/en/xml/fo/topic.graphic-pageheader.xml index 9c60e4b9..5f9f60e5 100644 --- a/en/xml/fo/topic.graphic-pageheader.xml +++ b/en/xml/fo/topic.graphic-pageheader.xml @@ -129,7 +129,8 @@ The graphic picture is too big, so we limit his height to 25mm. When you specify only one parameter like heightorwidth, - your graphic will be scaled with the correct aspect ratio. + your graphic will be scaled with the correct aspect ratio. We will give the graphic which will be used the attribute. @@ -151,7 +152,7 @@
See Also - + Full parameter description for fo:external-graphic From 9dad7d647d70f645a9cffa1db732a37d70641347 Mon Sep 17 00:00:00 2001 From: der-schmelle2 Date: Tue, 10 Jul 2018 18:25:10 +0200 Subject: [PATCH 04/24] Made alterations suggested through the review by @tomschr - Part I --- en/xml/fo/topic.graphic-pageheader.xml | 301 +++++++++++++------------ 1 file changed, 159 insertions(+), 142 deletions(-) diff --git a/en/xml/fo/topic.graphic-pageheader.xml b/en/xml/fo/topic.graphic-pageheader.xml index 5f9f60e5..018d577c 100644 --- a/en/xml/fo/topic.graphic-pageheader.xml +++ b/en/xml/fo/topic.graphic-pageheader.xml @@ -16,155 +16,172 @@ -->
- Inserting Graphics to your Page Headers or Footers - - - - Peter - Schmelzer - - - - page header - block - format - page - - - - graphic - - - - -
- Problem - You need to know how to insert a graphic in your page header or footer. -
+ xmlns="http://docbook.org/ns/docbook" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xlink="http://www.w3.org/1999/xlink"> + Inserting Logos into Page Headers and Footers + + + + Peter + Schmelzer + + + + page header + page footer + header + footer + format + page + + + + graphic + + + -
- Solution - First of all, you need to create a customization layer in your - customization stylesheet containing the following code: - <!-- Path and name of your graphic file--> -<xsl:param name="header.image.filename">{$img.src.path}your-graphic.svg</xsl:param> -<!-- Header rule yes (1) / no (0) --> -<xsl:param name="header.rule" select="0"/> +
+ Problem + You need to know how to insert a graphic in your page header or + footer. +
+ +
+ Solution + First of all, you need to create a customization layer in your + customization stylesheet containing the following code: + <?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns="http://docbook.org/ns/docbook" + xmlns:d="http://docbook.org/ns/docbook" version="1.0"> + <!-- Path and name of your graphic file--> + <xsl:param name="header.image.filename">your-graphic.svg</xsl:param> + <!-- Header rule yes (1) / no (0) --> + <xsl:param name="header.rule" select="0"/> -<xsl:template name="header.content"> - <xsl:param name="pageclass" select="''" - <xsl:param name="sequence" select="''"/> - <xsl:param name="position" select="''"/> - <xsl:param name="gentext-key" select="''"/> - <fo:block> - <!-- sequence can be odd, even, first, blank --> - <!-- position can be left, center, right --> - <xsl:choose> - <xsl:when test="$sequence = 'blank'"> - <!-- nothing --> - </xsl:when> + <xsl:template name="header.content"> + <xsl:param name="pageclass" select="''" + <xsl:param name="sequence" select="''"/> + <xsl:param name="position" select="''"/> + <xsl:param name="gentext-key" select="''"/> + <fo:block> + <!-- sequence can be odd, even, first, blank --> + <!-- position can be left, center, right --> + <xsl:choose> + <xsl:when test="$sequence = 'blank'"> + <!-- nothing --> + </xsl:when> - <xsl:when test="$position='left'"> - <!-- Same for odd, even, empty, and blank sequences --> - <!-- nothing --> - </xsl:when> + <xsl:when test="$position='left'"> + <!-- Same for odd, even, empty, and blank sequences --> + <!-- nothing --> + </xsl:when> - <xsl:when test="($sequence='odd' or $sequence='even') and $position='center'"> - <!-- nothing --> - </xsl:when> + <xsl:when test="($sequence='odd' or $sequence='even') and $position='center'"> + <!-- nothing --> + </xsl:when> - <xsl:when test="$position='center'"> - <!-- nothing for empty and blank sequences --> - </xsl:when> + <xsl:when test="$position='center'"> + <!-- nothing for empty and blank sequences --> + </xsl:when> - <xsl:when test="$position='right'"> - <!-- Same for odd, even, empty, and blank sequences --> - <fo:external-graphic content-height="25mm"> - <xsl:attribute name="src"> - <xsl:call-template name="fo-external-image"> - <xsl:with-param name="filename" select="$header.image.filename"/> - > - </xsl:call-template> - </xsl:attribute> - </fo:external-graphic> - </xsl:when> + <xsl:when test="$position='right'"> + <!-- Same for odd, even, empty, and blank sequences --> + <fo:external-graphic content-height="25mm"> + <xsl:attribute name="src"> + <xsl:call-template name="fo-external-image"> + <xsl:param name="header.image.filename" select="concat($img.src.path, 'your-graphic.svg')"/>> + </xsl:call-template> + </xsl:attribute> + </fo:external-graphic> + </xsl:when> - <xsl:when test="$sequence = 'first'"> - <!-- nothing for first pages --> - </xsl:when> + <xsl:when test="$sequence = 'first'"> + <!-- nothing for first pages --> + </xsl:when> - <xsl:when test="$sequence = 'blank'"> - <!-- nothing for blank pages --> - </xsl:when> - </xsl:choose> - </fo:block> -</xsl:template> - - - We assume that your graphic should be placed in the header - of all pages except title pages. - - - The content of the necessary variables needs to be cleared. - - - A block-element creates a rectangle area on a page - which can contain lists, tables or graphics - . - - - Here you can place an banner like 'This page is - intentionally left blank' or so. - - - This is a good place for the chapter title. - - - This is the place where we want to place our graphic. The - graphic should be visible on all pages on the right side. - - - The graphic picture is too big, so we limit his height to 25mm. - When you specify only one parameter like heightorwidth, - your graphic will be scaled with the correct aspect ratio. - - - We will give the graphic which will be used the attribute. - src. - - - The template which is called to import and place the graphic. - - - Our file defined at the top of our customization layer. - - + <xsl:when test="$sequence = 'blank'"> + <!-- nothing for blank pages --> + </xsl:when> + </xsl:choose> + </fo:block> + </xsl:template> +</xsl:stylesheet> + + + We assume that your graphic should be placed in the header + of all pages except title pages. + + + The content of the necessary variables needs to be + cleared. + + + A block-element creates a rectangle area on a + page which can contain lists, tables + or graphics . + + + Here you can place an banner like 'This page is + intentionally left blank' or so. + + + This is a good place for the chapter title. + + + This is the place where we want to place our graphic. The + graphic should be visible on all pages on the right + side. + + + To avoid pictures which are too big for the headline, we + limit its height to 25mm. When you specify only one parameter like + heightorwidth, your graphic will + be scaled with the correct aspect + ratio. + + + The filename is passed on the src attribute. + src. + + + The template which is called to import and place the + graphic. + + + Our file defined at the top of our customization + layer. + + +
+
+ Discussion + If you wish to place your graphic within the footer, replace + header.contentwithfooter.content. +
+
+ See Also + + + Full parameter description for + fo:external-graphic + + + Parameter description for xsl:attribute + + + Parameter description for xsl:with-param + + +
-
- Discussion - If you wish to place your graphic within the footer, replace - header.contentwithfooter.content. -
-
- See Also - - - Full parameter description for fo:external-graphic - - - Parameter description for xsl:attribute - - - Parameter description for xsl:with-param - - -
- From f89141fa3a5a55274092fb8bb691ae1dfd2f63f4 Mon Sep 17 00:00:00 2001 From: Peter Schmelzer Date: Tue, 10 Jul 2018 21:57:49 +0200 Subject: [PATCH 05/24] Imagefile handling within programlisting --- en/xml/fo/topic.graphic-pageheader.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/xml/fo/topic.graphic-pageheader.xml b/en/xml/fo/topic.graphic-pageheader.xml index 018d577c..4d0c34bb 100644 --- a/en/xml/fo/topic.graphic-pageheader.xml +++ b/en/xml/fo/topic.graphic-pageheader.xml @@ -92,7 +92,7 @@ <fo:external-graphic content-height="25mm"> <xsl:attribute name="src"> <xsl:call-template name="fo-external-image"> - <xsl:param name="header.image.filename" select="concat($img.src.path, 'your-graphic.svg')"/>> + <xsl:with-param name="filename" select="concat($img.src.path, $header.image.filename)"/> </xsl:call-template> </xsl:attribute> </fo:external-graphic> From f9c4c33061181cd5c711c9d19b6bf8ca254e5eaa Mon Sep 17 00:00:00 2001 From: der-schmelle2 Date: Wed, 11 Jul 2018 21:51:57 +0200 Subject: [PATCH 06/24] Build example stylesheet file --- en/xml/fo/graphic-pageheader/Opensource.png | Bin 0 -> 53167 bytes en/xml/fo/graphic-pageheader/Opensource.svg | 187 ++++++++++++++++++ .../fo/graphic-pageheader/logo-pageheader.xsl | 58 ++++++ en/xml/fo/topic.graphic-pageheader.xml | 5 +- 4 files changed, 248 insertions(+), 2 deletions(-) create mode 100644 en/xml/fo/graphic-pageheader/Opensource.png create mode 100644 en/xml/fo/graphic-pageheader/Opensource.svg create mode 100644 en/xml/fo/graphic-pageheader/logo-pageheader.xsl diff --git a/en/xml/fo/graphic-pageheader/Opensource.png b/en/xml/fo/graphic-pageheader/Opensource.png new file mode 100644 index 0000000000000000000000000000000000000000..3cdfebfd9d923b974857a9742f3086638396c953 GIT binary patch literal 53167 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�oD%=Nb%}5Am_G8g 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 + + + + + + + + + + + image/svg+xml + + + + + + + + + open + source + initiative + + + R + + + + diff --git a/en/xml/fo/graphic-pageheader/logo-pageheader.xsl b/en/xml/fo/graphic-pageheader/logo-pageheader.xsl new file mode 100644 index 00000000..d22ea884 --- /dev/null +++ b/en/xml/fo/graphic-pageheader/logo-pageheader.xsl @@ -0,0 +1,58 @@ + + + + ./graphic-pageheader/ + Opensource.svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/en/xml/fo/topic.graphic-pageheader.xml b/en/xml/fo/topic.graphic-pageheader.xml index 4d0c34bb..d4a060e4 100644 --- a/en/xml/fo/topic.graphic-pageheader.xml +++ b/en/xml/fo/topic.graphic-pageheader.xml @@ -57,7 +57,8 @@ xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns="http://docbook.org/ns/docbook" xmlns:d="http://docbook.org/ns/docbook" version="1.0"> <!-- Path and name of your graphic file--> - <xsl:param name="header.image.filename">your-graphic.svg</xsl:param> + <xsl:param name="img.src.path">./graphic-pageheader/> + <xsl:param name="header.image.filename">Opensource.svg</xsl:param> <!-- Header rule yes (1) / no (0) --> <xsl:param name="header.rule" select="0"/> @@ -145,7 +146,7 @@ The filename is passed on the src attribute. - src. + src. The template which is called to import and place the From 6f34d84cb0b3697f45090eb62e3c08d9c75000c8 Mon Sep 17 00:00:00 2001 From: Peter Schmelzer Date: Thu, 12 Jul 2018 17:55:12 +0200 Subject: [PATCH 07/24] Document redesign to prozedural steps Modified stylesheet file --- DocBook-Cookbook.xpr | 6 +- .../db-graphic-pageheader.xsl | 10 ++ ...-pageheader.xsl => graphic-pageheader.xsl} | 9 +- en/xml/fo/topic.graphic-pageheader.xml | 169 ++++++++++++------ 4 files changed, 134 insertions(+), 60 deletions(-) create mode 100644 en/xml/fo/graphic-pageheader/db-graphic-pageheader.xsl rename en/xml/fo/graphic-pageheader/{logo-pageheader.xsl => graphic-pageheader.xsl} (89%) diff --git a/DocBook-Cookbook.xpr b/DocBook-Cookbook.xpr index 53dc56c7..9c8cc041 100644 --- a/DocBook-Cookbook.xpr +++ b/DocBook-Cookbook.xpr @@ -1,9 +1,9 @@ - + - + document.types @@ -1615,6 +1615,8 @@ + + diff --git a/en/xml/fo/graphic-pageheader/db-graphic-pageheader.xsl b/en/xml/fo/graphic-pageheader/db-graphic-pageheader.xsl new file mode 100644 index 00000000..0e409bad --- /dev/null +++ b/en/xml/fo/graphic-pageheader/db-graphic-pageheader.xsl @@ -0,0 +1,10 @@ + + + + + + + + \ No newline at end of file diff --git a/en/xml/fo/graphic-pageheader/logo-pageheader.xsl b/en/xml/fo/graphic-pageheader/graphic-pageheader.xsl similarity index 89% rename from en/xml/fo/graphic-pageheader/logo-pageheader.xsl rename to en/xml/fo/graphic-pageheader/graphic-pageheader.xsl index d22ea884..c20969e5 100644 --- a/en/xml/fo/graphic-pageheader/logo-pageheader.xsl +++ b/en/xml/fo/graphic-pageheader/graphic-pageheader.xsl @@ -1,8 +1,9 @@ - - + + + ./graphic-pageheader/ Opensource.svg diff --git a/en/xml/fo/topic.graphic-pageheader.xml b/en/xml/fo/topic.graphic-pageheader.xml index d4a060e4..d2675865 100644 --- a/en/xml/fo/topic.graphic-pageheader.xml +++ b/en/xml/fo/topic.graphic-pageheader.xml @@ -44,20 +44,60 @@
Problem - You need to know how to insert a graphic in your page header or - footer. + You need to know how to insert a logo or graphic in your page + header.
Solution - First of all, you need to create a customization layer in your - customization stylesheet containing the following code: - <?xml version="1.0" encoding="UTF-8"?> + This example solution will place logo on top right side of a + single-sided document. Other placements are possible and will be + shown in the Discussion section. The logo is at + max 1 inch high to avoid conflicts with the body text area. + A logo on every page in your document will give your work a + personal touch or a corporate identity. Furthermore it's a way to + protect your hard work against simple duplication through a copier + or a simple forwarding of parts of your document. + First of all you need to create a customization layer as described + in the following steps. If you have a customization layer style + sheet, you can skip the first step, otherwise follow the steps to + create your customization layer: + + + Create a customization layer as shown in . + + + Include the stylesheet from into your + customization layer: + <?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:d="http://docbook.org/ns/docbook"> + <!-- ... --> + <xsl:include href="graphic-pageheader.xsl"/> + <!-- ... --> +</xsl:stylesheet> + + + Include the style sheet from into your + customization layer: + + Logo in page header + (<filename>graphic-pageheader.xsl</filename>) + + + graphic-pageheader/graphic-pageheader.xsl + + + <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns="http://docbook.org/ns/docbook" xmlns:d="http://docbook.org/ns/docbook" version="1.0"> <!-- Path and name of your graphic file--> - <xsl:param name="img.src.path">./graphic-pageheader/> + <xsl:param name="img.src.path">./graphic-pageheader/</xsl:param> <xsl:param name="header.image.filename">Opensource.svg</xsl:param> <!-- Header rule yes (1) / no (0) --> <xsl:param name="header.rule" select="0"/> @@ -90,7 +130,7 @@ <xsl:when test="$position='right'"> <!-- Same for odd, even, empty, and blank sequences --> - <fo:external-graphic content-height="25mm"> + <fo:external-graphic content-height="1in"> <xsl:attribute name="src"> <xsl:call-template name="fo-external-image"> <xsl:with-param name="filename" select="concat($img.src.path, $header.image.filename)"/> @@ -110,53 +150,68 @@ </fo:block> </xsl:template> </xsl:stylesheet> - - - We assume that your graphic should be placed in the header - of all pages except title pages. - - - The content of the necessary variables needs to be - cleared. - - - A block-element creates a rectangle area on a - page which can contain lists, tables - or graphics . - - - Here you can place an banner like 'This page is - intentionally left blank' or so. - - - This is a good place for the chapter title. - - - This is the place where we want to place our graphic. The - graphic should be visible on all pages on the right - side. - - - To avoid pictures which are too big for the headline, we - limit its height to 25mm. When you specify only one parameter like - heightorwidth, your graphic will - be scaled with the correct aspect - ratio. - - - The filename is passed on the src attribute. - src. - - - The template which is called to import and place the - graphic. - - - Our file defined at the top of our customization - layer. - - + + + We assume that your graphic should be placed + in the header of all pages except title + pages. + + + The content of the necessary variables needs + to be cleared. + + + A block-element creates a rectangle + area on a page which can contain + lists, tables or + graphics . + + + Here you can place an banner like + 'This page is intentionally left + blank' or so. + + + This is a good place for the chapter + title. + + + This is the place where we want to place our + graphic. The graphic should be visible on all + pages on the right side. + + + To avoid conflicts with the body text area, + we limit its height to 1 inch. When you + specify only one parameter like + heightorwidth, your + graphic will be scaled with the correct aspect ratio. + + + The filename is passed on the src attribute. + src. + + + The template which is called to import and + place the graphic. + + + Our file defined at the top of our + customization layer. + + + + + + Use your customization layer to transform your DocBook + document into FO. + +
Discussion @@ -184,5 +239,11 @@ /> + + The Opensource-Logo is a trademark which is + owned by . This site is not affiliated with or endorsed by the Open + Source Initiative.
From 4b4d7c8a8f07b2f36d966d482ed135ba4a874ef9 Mon Sep 17 00:00:00 2001 From: der-schmelle2 Date: Fri, 13 Jul 2018 10:06:04 +0200 Subject: [PATCH 08/24] Syntax error in programlisting * Topics for discussion added @tomschr Please review the "Solution" section, "Discussion" section will follow --- en/xml/fo/topic.graphic-pageheader.xml | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/en/xml/fo/topic.graphic-pageheader.xml b/en/xml/fo/topic.graphic-pageheader.xml index d2675865..65c2366d 100644 --- a/en/xml/fo/topic.graphic-pageheader.xml +++ b/en/xml/fo/topic.graphic-pageheader.xml @@ -97,7 +97,7 @@ xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns="http://docbook.org/ns/docbook" xmlns:d="http://docbook.org/ns/docbook" version="1.0"> <!-- Path and name of your graphic file--> - <xsl:param name="img.src.path">./graphic-pageheader/</xsl:param> + <xsl:param name="img.src.path"<./graphic-pageheader/</xsl:param> <xsl:param name="header.image.filename">Opensource.svg</xsl:param> <!-- Header rule yes (1) / no (0) --> <xsl:param name="header.rule" select="0"/> @@ -215,8 +215,18 @@
Discussion - If you wish to place your graphic within the footer, replace - header.contentwithfooter.content. + These points will be submitted later + + + Logo on recto/verso pages (double-sided docs) + + + Logo in the footer + + + Logo and chapter title in the page header + +
See Also From 283b9bc846ea42e8e4c2895a599673e911c8edae Mon Sep 17 00:00:00 2001 From: Peter Schmelzer Date: Fri, 13 Jul 2018 12:48:11 +0200 Subject: [PATCH 09/24] Syntax error corrected, second time http://docbook.sourceforge.net/release/xsl/1.76.1/doc/fo/img.src.path.html **his prefix is not applied to any filerefs that start with "/" or contain "//:".** ;-) --- en/xml/fo/topic.graphic-pageheader.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/xml/fo/topic.graphic-pageheader.xml b/en/xml/fo/topic.graphic-pageheader.xml index 65c2366d..6bf9751a 100644 --- a/en/xml/fo/topic.graphic-pageheader.xml +++ b/en/xml/fo/topic.graphic-pageheader.xml @@ -97,7 +97,7 @@ xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns="http://docbook.org/ns/docbook" xmlns:d="http://docbook.org/ns/docbook" version="1.0"> <!-- Path and name of your graphic file--> - <xsl:param name="img.src.path"<./graphic-pageheader/</xsl:param> + <xsl:param name="img.src.path">graphic-pageheader/<xsl:param> <xsl:param name="header.image.filename">Opensource.svg</xsl:param> <!-- Header rule yes (1) / no (0) --> <xsl:param name="header.rule" select="0"/> From 339280cb8133dd97a88c27c151bce39a1892df96 Mon Sep 17 00:00:00 2001 From: Peter Schmelzer Date: Fri, 13 Jul 2018 14:09:39 +0200 Subject: [PATCH 10/24] Clarify the global option 'img.src.path' --- .../fo/graphic-pageheader/graphic-pageheader.xsl | 2 +- en/xml/fo/topic.graphic-pageheader.xml | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/en/xml/fo/graphic-pageheader/graphic-pageheader.xsl b/en/xml/fo/graphic-pageheader/graphic-pageheader.xsl index c20969e5..b3dcedeb 100644 --- a/en/xml/fo/graphic-pageheader/graphic-pageheader.xsl +++ b/en/xml/fo/graphic-pageheader/graphic-pageheader.xsl @@ -4,7 +4,7 @@ xmlns:d="http://docbook.org/ns/docbook"> - ./graphic-pageheader/ + graphic-pageheader/ Opensource.svg diff --git a/en/xml/fo/topic.graphic-pageheader.xml b/en/xml/fo/topic.graphic-pageheader.xml index 6bf9751a..9d501df8 100644 --- a/en/xml/fo/topic.graphic-pageheader.xml +++ b/en/xml/fo/topic.graphic-pageheader.xml @@ -96,8 +96,10 @@ <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns="http://docbook.org/ns/docbook" xmlns:d="http://docbook.org/ns/docbook" version="1.0"> - <!-- Path and name of your graphic file--> - <xsl:param name="img.src.path">graphic-pageheader/<xsl:param> + <!-- Path to your graphic files --> + <xsl:param name="img.src.path">graphic-pageheader/<xsl:param> + <!-- Your header logo --> <xsl:param name="header.image.filename">Opensource.svg</xsl:param> <!-- Header rule yes (1) / no (0) --> <xsl:param name="header.rule" select="0"/> @@ -151,6 +153,14 @@ </xsl:template> </xsl:stylesheet> + + This setting is global for your pictures, logos, + graphics. Keep in mind that the imagedata + command does not need a path if all files are + in the same folder. You can write something + like this: + <imagedata fileref="pic02.pdf"/> directly. + We assume that your graphic should be placed in the header of all pages except title From 17aa61d41507f2e17d26f80f70b267adbe40e6a9 Mon Sep 17 00:00:00 2001 From: Peter Schmelzer Date: Fri, 13 Jul 2018 14:46:01 +0200 Subject: [PATCH 11/24] Conducted the proposed changes by @tomschr See changed lines for more information --- en/xml/fo/topic.graphic-pageheader.xml | 63 ++++++++++++-------------- 1 file changed, 30 insertions(+), 33 deletions(-) diff --git a/en/xml/fo/topic.graphic-pageheader.xml b/en/xml/fo/topic.graphic-pageheader.xml index 9d501df8..80157354 100644 --- a/en/xml/fo/topic.graphic-pageheader.xml +++ b/en/xml/fo/topic.graphic-pageheader.xml @@ -53,9 +53,9 @@ This example solution will place logo on top right side of a single-sided document. Other placements are possible and will be shown in the Discussion section. The logo is at - max 1 inch high to avoid conflicts with the body text area. + max 1 inch high to avoid conflicts with the body text area. A logo on every page in your document will give your work a - personal touch or a corporate identity. Furthermore it's a way to + personal touch or a corporate identity. Furthermore it's a way to protect your hard work against simple duplication through a copier or a simple forwarding of parts of your document. First of all you need to create a customization layer as described @@ -97,8 +97,7 @@ xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns="http://docbook.org/ns/docbook" xmlns:d="http://docbook.org/ns/docbook" version="1.0"> <!-- Path to your graphic files --> - <xsl:param name="img.src.path">graphic-pageheader/<xsl:param> + <xsl:param name="img.src.path">graphic-pageheader/<xsl:param> <!-- Your header logo --> <xsl:param name="header.image.filename">Opensource.svg</xsl:param> <!-- Header rule yes (1) / no (0) --> @@ -154,12 +153,13 @@ </xsl:stylesheet> - This setting is global for your pictures, logos, - graphics. Keep in mind that the imagedata - command does not need a path if all files are - in the same folder. You can write something - like this: - <imagedata fileref="pic02.pdf"/> directly. + This setting is global for your pictures, + logos, graphics. Keep in mind that the + imagedata command does not need a + path if all files are in the same folder. You + can write something like this: + <imagedata fileref="pic02.pdf"/> + directly. We assume that your graphic should be placed @@ -168,41 +168,39 @@ - The content of the necessary variables needs - to be cleared. + This is the default value and will be used if + no parameters are passed. - A block-element creates a rectangle - area on a page which can contain - lists, tables or - graphics . + A fo:block-element creates a + rectangle area on a page which can contain + lists, tables or graphics. - Here you can place an banner like - 'This page is intentionally left - blank' or so. + Here you can insert a text like This + page is intentionally left + blank. This is a good place for the chapter title. - This is the place where we want to place our - graphic. The graphic should be visible on all - pages on the right side. + This is the place for our logo as described at + the top of our solution. - To avoid conflicts with the body text area, - we limit its height to 1 inch. When you - specify only one parameter like - heightorwidth, your - graphic will be scaled with the To avoid conflicts with the body text area, we + limit its height to 1 inch. When you specify + only one parameter like + height or width, your + logo will be scaled with the correct aspect ratio. - The filename is passed on the The file name is passed on the src attribute. src. @@ -259,11 +257,10 @@ /> - + The Opensource-Logo is a trademark which is - owned by . This site is not affiliated with or endorsed by the Open - Source Initiative. + owned by . This site is + not affiliated with or endorsed by the Open Source + Initiative.
From 547da135b6ef6a5fbc7b0d68cc7af907b295ad0a Mon Sep 17 00:00:00 2001 From: Peter Schmelzer Date: Fri, 13 Jul 2018 16:23:13 +0200 Subject: [PATCH 12/24] Conducted the proposed changes II --- .../db-graphic-pageheader.xsl | 1 + .../graphic-pageheader/graphic-pageheader.xsl | 8 +- .../Opensource.png | Bin .../Opensource.svg | 0 en/xml/fo/topic.graphic-pageheader.xml | 149 +++++++----------- 5 files changed, 63 insertions(+), 95 deletions(-) rename en/xml/fo/{graphic-pageheader => logo}/Opensource.png (100%) rename en/xml/fo/{graphic-pageheader => logo}/Opensource.svg (100%) diff --git a/en/xml/fo/graphic-pageheader/db-graphic-pageheader.xsl b/en/xml/fo/graphic-pageheader/db-graphic-pageheader.xsl index 0e409bad..2e532850 100644 --- a/en/xml/fo/graphic-pageheader/db-graphic-pageheader.xsl +++ b/en/xml/fo/graphic-pageheader/db-graphic-pageheader.xsl @@ -1,5 +1,6 @@ diff --git a/en/xml/fo/graphic-pageheader/graphic-pageheader.xsl b/en/xml/fo/graphic-pageheader/graphic-pageheader.xsl index b3dcedeb..29b118bf 100644 --- a/en/xml/fo/graphic-pageheader/graphic-pageheader.xsl +++ b/en/xml/fo/graphic-pageheader/graphic-pageheader.xsl @@ -1,10 +1,12 @@ - - graphic-pageheader/ + + logo/ + Opensource.svg @@ -40,7 +42,7 @@ - + diff --git a/en/xml/fo/graphic-pageheader/Opensource.png b/en/xml/fo/logo/Opensource.png similarity index 100% rename from en/xml/fo/graphic-pageheader/Opensource.png rename to en/xml/fo/logo/Opensource.png diff --git a/en/xml/fo/graphic-pageheader/Opensource.svg b/en/xml/fo/logo/Opensource.svg similarity index 100% rename from en/xml/fo/graphic-pageheader/Opensource.svg rename to en/xml/fo/logo/Opensource.svg diff --git a/en/xml/fo/topic.graphic-pageheader.xml b/en/xml/fo/topic.graphic-pageheader.xml index 80157354..9253f87c 100644 --- a/en/xml/fo/topic.graphic-pageheader.xml +++ b/en/xml/fo/topic.graphic-pageheader.xml @@ -68,11 +68,12 @@ linkend="dbc.common.dbcustomize"/>.
- Include the stylesheet from Include the style sheet from into your customization layer: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" + xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:d="http://docbook.org/ns/docbook"> <!-- ... --> @@ -84,85 +85,54 @@ Include the style sheet from into your customization layer: - - Logo in page header - (<filename>graphic-pageheader.xsl</filename>) - - - graphic-pageheader/graphic-pageheader.xsl - - - <?xml version="1.0" encoding="UTF-8"?> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns="http://docbook.org/ns/docbook" - xmlns:d="http://docbook.org/ns/docbook" version="1.0"> - <!-- Path to your graphic files --> - <xsl:param name="img.src.path">graphic-pageheader/<xsl:param> - <!-- Your header logo --> - <xsl:param name="header.image.filename">Opensource.svg</xsl:param> - <!-- Header rule yes (1) / no (0) --> - <xsl:param name="header.rule" select="0"/> - - <xsl:template name="header.content"> - <xsl:param name="pageclass" select="''" - <xsl:param name="sequence" select="''"/> - <xsl:param name="position" select="''"/> - <xsl:param name="gentext-key" select="''"/> - <fo:block> - <!-- sequence can be odd, even, first, blank --> - <!-- position can be left, center, right --> - <xsl:choose> - <xsl:when test="$sequence = 'blank'"> - <!-- nothing --> - </xsl:when> - - <xsl:when test="$position='left'"> - <!-- Same for odd, even, empty, and blank sequences --> - <!-- nothing --> - </xsl:when> - - <xsl:when test="($sequence='odd' or $sequence='even') and $position='center'"> - <!-- nothing --> - </xsl:when> - - <xsl:when test="$position='center'"> - <!-- nothing for empty and blank sequences --> - </xsl:when> - - <xsl:when test="$position='right'"> - <!-- Same for odd, even, empty, and blank sequences --> - <fo:external-graphic content-height="1in"> - <xsl:attribute name="src"> - <xsl:call-template name="fo-external-image"> - <xsl:with-param name="filename" select="concat($img.src.path, $header.image.filename)"/> - </xsl:call-template> - </xsl:attribute> - </fo:external-graphic> - </xsl:when> - - <xsl:when test="$sequence = 'first'"> - <!-- nothing for first pages --> - </xsl:when> - - <xsl:when test="$sequence = 'blank'"> - <!-- nothing for blank pages --> - </xsl:when> - </xsl:choose> - </fo:block> - </xsl:template> -</xsl:stylesheet> + + Placing a logo in the right page header (<filename>graphic-pageheader.xsl</filename>) + + + graphic-pageheader/graphic-pageheader.xsl + + + + + + + + + + + + + + + + + + + - This setting is global for your pictures, - logos, graphics. Keep in mind that the - imagedata command does not need a - path if all files are in the same folder. You - can write something like this: - <imagedata fileref="pic02.pdf"/> - directly. + This setting is unique for your logo. - We assume that your graphic should be placed + We assume that your logo should be placed in the header of all pages except title pages. @@ -201,19 +171,17 @@ The file name is passed on the src attribute. - src. + class="attribute">src attribute. The template which is called to import and - place the graphic. + place the logo. Our file defined at the top of our customization layer. - Use your customization layer to transform your DocBook @@ -223,6 +191,14 @@
Discussion + In line 8 of our style sheet ( + graphic-pageheader.xsl), we defined a new + parameter to represent the path for our logo. The main goal was to + be independent of the global image source path + img.src.path parameter for pictures, graphics and so + on. This new parameter is used in line 45 to build the path + for our logo. + These points will be submitted later @@ -245,19 +221,8 @@ xlink:href="http://www.w3.org/TR/xsl/#fo_external-graphic" /> - - Parameter description for xsl:attribute - - - Parameter description for xsl:with-param - - - + __________ The Opensource-Logo is a trademark which is owned by . This site is not affiliated with or endorsed by the Open Source From c6a9877f6ea653d6c3f3dbf5c5c3dc78a95f15d4 Mon Sep 17 00:00:00 2001 From: Peter Schmelzer Date: Sat, 14 Jul 2018 12:06:52 +0200 Subject: [PATCH 13/24] Discussion section rewritten --- en/xml/fo/topic.graphic-pageheader.xml | 204 ++++++++++++------------- 1 file changed, 99 insertions(+), 105 deletions(-) diff --git a/en/xml/fo/topic.graphic-pageheader.xml b/en/xml/fo/topic.graphic-pageheader.xml index 9253f87c..a8b74a7d 100644 --- a/en/xml/fo/topic.graphic-pageheader.xml +++ b/en/xml/fo/topic.graphic-pageheader.xml @@ -85,103 +85,92 @@ Include the style sheet from into your customization layer: - - Placing a logo in the right page header (<filename>graphic-pageheader.xsl</filename>) - - - graphic-pageheader/graphic-pageheader.xsl - - - - - - - - - - - - - - - - - - - - - - This setting is unique for your logo. - - - We assume that your logo should be placed - in the header of all pages except title - pages. - - - This is the default value and will be used if - no parameters are passed. - - - A fo:block-element creates a - rectangle area on a page which can contain - lists, tables or graphics. - - - Here you can insert a text like This - page is intentionally left - blank. - - - This is a good place for the chapter - title. - - - This is the place for our logo as described at - the top of our solution. - - - To avoid conflicts with the body text area, we - limit its height to 1 inch. When you specify - only one parameter like - height or width, your - logo will be scaled with the correct aspect ratio. - - - The file name is passed on the src attribute. - - - The template which is called to import and - place the logo. - - - Our file defined at the top of our - customization layer. - - + + Placing a Logo in the Right Page Header + (<filename>graphic-pageheader.xsl</filename>) + + + graphic-pageheader/graphic-pageheader.xsl + + + + + + + + + + + + + + + + + + + + + + The directory path to your logos. + + + We assume that your logo should be placed in the + header of all pages except title pages. + + + This is the default value and will be used if no + parameters are passed. + + + A fo:block-element creates a rectangle + area on a page which can contain lists, tables or + graphics. + + + Here you can insert a text like This + page is intentionally left + blank. + + + This is a good place for the chapter title. + + + This is the place for our logo as described at the + top of our solution. + + + To avoid conflicts with the body text area, we + limit its height to 1 inch. When you specify only + one parameter like height or + width, your logo will be scaled with + the correct aspect ratio. + + + The file name is passed on the src attribute. + + + The template which is called to import and place + the logo. + + + Our file defined at the top of our customization + layer. + + Use your customization layer to transform your DocBook @@ -191,14 +180,19 @@
Discussion - In line 8 of our style sheet ( - graphic-pageheader.xsl), we defined a new - parameter to represent the path for our logo. The main goal was to - be independent of the global image source path - img.src.path parameter for pictures, graphics and so - on. This new parameter is used in line 45 to build the path - for our logo. - + The stylesheet graphic-pageheader.xsl creates + a logo in the right edge of your page and uses the parameter + logo.src.path to find the logo. By + default, a logo is stored in logos/. If your + logos are in a different location, change it with your XSLT + processor. For example, the following line uses the logo(s) image + source path logo.src.path parameter to find the logo(s). + This parameter is used within the position test procedure to find the right + logo. + <xsl:param name="logo.src.path">logos/</xsl:param> + + These points will be submitted later From 0e48460f8706461a0dc891439b058dfb0f7870c4 Mon Sep 17 00:00:00 2001 From: der-schmelle2 Date: Sun, 15 Jul 2018 18:34:18 +0200 Subject: [PATCH 14/24] Fixed two typos * Added the source of the solution --- en/xml/fo/topic.graphic-pageheader.xml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/en/xml/fo/topic.graphic-pageheader.xml b/en/xml/fo/topic.graphic-pageheader.xml index a8b74a7d..8d1db6e9 100644 --- a/en/xml/fo/topic.graphic-pageheader.xml +++ b/en/xml/fo/topic.graphic-pageheader.xml @@ -53,7 +53,9 @@ This example solution will place logo on top right side of a single-sided document. Other placements are possible and will be shown in the Discussion section. The logo is at - max 1 inch high to avoid conflicts with the body text area. + max 1 inch high to avoid conflicts with the body text area. The + template for our solution is obtained from 'pagesetup.xsl' style + sheet. A logo on every page in your document will give your work a personal touch or a corporate identity. Furthermore it's a way to protect your hard work against simple duplication through a copier @@ -183,14 +185,14 @@ The stylesheet graphic-pageheader.xsl creates a logo in the right edge of your page and uses the parameter logo.src.path to find the logo. By - default, a logo is stored in logos/. If your + default, a logo is stored in logo/. If your logos are in a different location, change it with your XSLT processor. For example, the following line uses the logo(s) image source path logo.src.path parameter to find the logo(s). This parameter is used within the position test procedure to find the right logo. - <xsl:param name="logo.src.path">logos/</xsl:param> + <xsl:param name="logo.src.path">logo/</xsl:param> These points will be submitted later From bad37519e0ca0d8870b286d871e7f152c141650e Mon Sep 17 00:00:00 2001 From: der-schmelle2 Date: Sun, 15 Jul 2018 19:34:08 +0200 Subject: [PATCH 15/24] Conducted the proposed changes III * Removed the remark for further Topics. * Line 206 is a distinction for the OSI Logo Trademark. This is a requirement if you use the OSI logo. If you would like to use another logo, let me know. --- en/xml/fo/topic.graphic-pageheader.xml | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/en/xml/fo/topic.graphic-pageheader.xml b/en/xml/fo/topic.graphic-pageheader.xml index 8d1db6e9..cb67e4d2 100644 --- a/en/xml/fo/topic.graphic-pageheader.xml +++ b/en/xml/fo/topic.graphic-pageheader.xml @@ -189,24 +189,9 @@ logos are in a different location, change it with your XSLT processor. For example, the following line uses the logo(s) image source path logo.src.path parameter to find the logo(s). - This parameter is used within the position test procedure to find the right - logo. - <xsl:param name="logo.src.path">logo/</xsl:param> - - - These points will be submitted later - - - Logo on recto/verso pages (double-sided docs) - - - Logo in the footer - - - Logo and chapter title in the page header - - + This parameter is used within the position test procedure to find the right + logo. + <xsl:param name="logo.src.path">logo/</xsl:param>
See Also From a5f09fdcfc003f35165cc92eb235dfc987d6603c Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 16 Jul 2018 08:42:00 +0200 Subject: [PATCH 16/24] Removed 'procedure' in line 192 --- .gitignore | 2 ++ en/xml/fo/topic.graphic-pageheader.xml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 4f52b746..7b17aa24 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,5 @@ tmp/ *.zip *.tar.* + +DocBook-Cookbook\.xpr diff --git a/en/xml/fo/topic.graphic-pageheader.xml b/en/xml/fo/topic.graphic-pageheader.xml index cb67e4d2..7ed56337 100644 --- a/en/xml/fo/topic.graphic-pageheader.xml +++ b/en/xml/fo/topic.graphic-pageheader.xml @@ -189,7 +189,7 @@ logos are in a different location, change it with your XSLT processor. For example, the following line uses the logo(s) image source path logo.src.path parameter to find the logo(s). - This parameter is used within the position test procedure to find the right + This parameter is used within the position test to find the right logo. <xsl:param name="logo.src.path">logo/</xsl:param>
From 4ad09149b818f3a514e621918901b264c558f39d Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 16 Jul 2018 08:43:03 +0200 Subject: [PATCH 17/24] oXygenXML line wrap a char 78 --- DocBook-Cookbook.xpr | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/DocBook-Cookbook.xpr b/DocBook-Cookbook.xpr index 9c8cc041..fc6bfbc4 100644 --- a/DocBook-Cookbook.xpr +++ b/DocBook-Cookbook.xpr @@ -505,6 +505,10 @@ editor.font DejaVu Sans Mono,0,13 + + editor.line.wrap + true + editor.print.margin.columns 78 From 5afd918ca788b347517d0a679c1c7f2faf1cc89e Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 16 Jul 2018 09:03:27 +0200 Subject: [PATCH 18/24] oXygenXML view changes for 4K display --- DocBook-Cookbook.xpr | 1688 ------------------------------------------ 1 file changed, 1688 deletions(-) delete mode 100644 DocBook-Cookbook.xpr diff --git a/DocBook-Cookbook.xpr b/DocBook-Cookbook.xpr deleted file mode 100644 index fc6bfbc4..00000000 --- a/DocBook-Cookbook.xpr +++ /dev/null @@ -1,1688 +0,0 @@ - - - - - - - - - document.types - - - - - - - Novdoc - - - - - - - - - - - - - - - - - false - - - false - - - - - - - - Menu - - - - - - - - - - - - - - - - - - - Contextual menu - - - - - - - - - - - - - - - - - - - Toolbar - - - 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - file:/local/repos/suse.svn/trunk/novdoc/etc/catalog.xml - - - - Novdoc DTD - - - - - - * - - - * - - - * - - - -//Novell//DTD NovDoc XML V1.0//EN - - - - - - * - - - * - - - * - - - - - - - - - - - - - - - - - - - - - false - - - Text - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - Toms DocBook5 Cookbook - - - - - 6 - - - ${pdu}/frameworks/rng/5.1/dbref.rng - - - - - - ${frameworks}/docbook/docbook.jar - ${frameworks}/docbook/resources/ - ${frameworks}/docbook/i18n/ - ${frameworks}/docbook/styleguide/ - - - - - - - - - - - - ${frameworks}/docbook/css/docbook.css - - - DocBook CSS - - - false - - - - - ${frameworks}/docbook/css/hideColspec.css - - - Table - - - false - - - - - - false - - - false - - - - - - - - Menü - - - - - - - - - - - - - - - - - - - Kontextmenü - - - - - - - - - - - - - - - - - - - Toolbar - - - 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - ro.sync.ecss.extensions.docbook.table.DocbookTableCellSepInfoProvider - - - ro.sync.ecss.extensions.docbook.table.DocbookTableCellSepInfoProvider - - - ro.sync.ecss.extensions.docbook.table.DocbookTableCellSepInfoProvider - - - - - - - - - ro.sync.ecss.extensions.docbook.id.Docbook5UniqueAttributesRecognizer - - - ro.sync.ecss.extensions.docbook.id.Docbook5UniqueAttributesRecognizer - - - - - - ro.sync.ecss.extensions.docbook.DocbookAuthorImageDecorator - - - - - - - - - ${pdu}/frameworks/catalog.xml - - - - - - - - - - http://docbook.org/ns/docbook - - - * - - - * - - - * - - - - - - * - - - * - - - * - - - - - - - - - - - - - - - - - - ro.sync.ecss.extensions.docbook.DocBook5ExtensionsBundle - - - false - - - Text - - - ro.sync.ecss.extensions.commons.DefaultElementLocatorProvider - - - - - - - - - - - - - - - - - - - - - 4 - - - ro.sync.ecss.extensions.docbook.DocbookNodeRendererCustomizer - - - ro.sync.ecss.extensions.docbook.Docbook5ExternalObjectInsertionHandler - - - - - - - - - - - - editor.font - DejaVu Sans Mono,0,13 - - - editor.line.wrap - true - - - editor.print.margin.columns - 78 - - - editor.show.print.margin - true - - - editor.textantialising - - - - 1.6 - 1.7 - 1.8 - - - - - ON - ON - DEFAULT - - - - - - enable.project.master.files.support - true - - - font.for.author.v12 - Droid Serif,0,15 - - - font.for.gui - DejaVu Sans Condensed,0,13 - - - font.for.schema - Droid Sans,0,15 - - - font.for.text - Droid Sans,0,14 - - - key.editor.document.type.association.option.pane - true - - - key.fonts.option.pane - true - - - key.open.find.resource - true - - - key.spellcheck.option.pane - true - - - key.text.editor.option.pane - true - - - key.xpath.option.pane - true - - - open.find.resource.indexing.options - - - true - - - *.tmp, *.temp, *.bak, *.html, *.htm, *.fo, *~, */.*, */temp/*, */out/*, .git/* - - - false - - - true - - - 1024 - - - a, an, and, are, as, at, be, but, by, for, if, in, into, is, it, no, not, of, on, or, such, that, the, their, then, there, these, they, this, to, was, will, with, without - - - en - - - - - scenario.associations - - - - Cookbook2Titles.xpl - - - - XProc Test - - - - - XPROC - - - - - - Cookbook2HTML.xpl - - - - XProc Test - - - - - XPROC - - - - - - bin/Unbenannt1.xpl - - - - XProc Test - - - - - XPROC - - - - - - bin/Cookbook2HTML.xpl - - - - XProc Test - - - - - XPROC - - - - - - xml/DocBook-Cookbook.xml - - - - Docbook XHTML duplicate - - - - - XSL - - - - - - xml/dbc-fo.xml - - - - Docbook XHTML duplicate - - - - - XSL - - - - - - xml/dbc-html.xml - - - - Docbook XHTML duplicate - - - - - XSL - - - - - - xml/dbc-structure.xml - - - - Docbook XHTML duplicate - - - - - XSL - - - - - - - scenarios - - - - - - - Docbook XHTML duplicate - - - - - - - - - pdf - - - Apache FOP - - - - - - ${frameworks}/docbook/xsl/profiling/profile.xsl - - - ${currentFileURL} - - - false - - - false - - - XSL - - - true - - - true - - - ${pd}/html/${cfn}.xhtml - - - ${pd}/html/${cfn}.xhtml - - - false - - - - - - false - - - false - - - false - - - false - - - false - - - true - - - - - - - - admon.graphics - - - - - - - - - - - 1 - - - false - - - - - - - admon.graphics.path - - - - - - - - - - - ${frameworks}/docbook/xsl/images/ - - - false - - - - - - - draft.mode - - - - - - - - - - - no - - - false - - - - - - - highlight.source - - - - - - - - - - - 1 - - - false - - - - - - - highlight.xslthl.config - - - - - - - - - - - ${frameworks}/docbook/xsl/highlighting/xslthl-config.xml - - - false - - - - - - - html.ext - - - - - - - - - - - .xhtml - - - false - - - - - - - ${frameworks}/docbook/xsl/xhtml/docbook_custom.xsl - - - - Saxon6.5.5 - - - - ${frameworks}/docbook/xsl/extensions/xslthl-2.0.1.jar - ${frameworks}/docbook/xsl/extensions/saxon65.jar - - - - - - - - Saxon-PE - - - true - - - true - - - false - - - true - - - false - - - false - - - false - - - - - - - - - true - - - false - - - saxon.recover.with.warning - - - saxon.strip.ws.ignorable - - - true - - - false - - - - - - - - - - - - - Docbook5 to HTML (XSLT2) - - - - - - - - - pdf - - - Apache FOP - - - - - - ${pdu}/frameworks/xslt2/base/html/docbook.xsl - - - ${pdu}/en/xml/DocBook-Cookbook.xml - - - false - - - false - - - XSL - - - true - - - true - - - ${pd}/build/html/DocBook-Cookbook2.html - - - ${pd}/build/html/DocBook-Cookbook2.html - - - false - - - - - - false - - - false - - - false - - - false - - - false - - - true - - - - - - - - admon.graphics - - - - - - - - - - - 1 - - - false - - - - - - - admon.graphics.path - - - - - - - - - - - ${frameworks}/docbook/xsl/images/ - - - false - - - - - - - draft.mode - - - - - - - - - - - no - - - false - - - - - - - highlight.source - - - - - - - - - - - 1 - - - false - - - - - - - highlight.xslthl.config - - - - - - - - - - - ${frameworks}/docbook/xsl/highlighting/xslthl-config.xml - - - false - - - - - - - - - Saxon-PE - - - - ${frameworks}/docbook/xsl/extensions/xslthl-2.0.1.jar - ${frameworks}/docbook/xsl/extensions/saxon65.jar - - - - - - - - - source - - - - file:/home/toms/dbcookbook/xml/DocBook-Cookbook.xml - - - - - - stylesheet - - - - - - - - - - - - result - - - - - - true - - - - - - - - - - - - parameters - - - - - - - - - foo - - - $ask{'Enter foo:', foo '2'} - - - - - - - - - - - - XProc Test - - - - - - - - - - - - - - - - - - ${currentFileURL} - - - - - - false - - - false - - - XPROC - - - false - - - false - - - - - - - - - false - - - - - - false - - - false - - - true - - - false - - - false - - - false - - - - - - - - - Calabash XProc - - - - - - - - - scenarios.load.from.project - true - - - search.resources.filter.history - - - - XSLT - doc - le - - - - - - spell.check.options - - - true - - - - text/html - text/nvdl - text/plain - text/properties - text/rng - text/sch - text/wsdl - text/xml - text/xproc - text/xsd - text/xsl - - - - false - - - false - - - true - - - false - - - en_US - - - true - - - false - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - - command - literal - filename - uri - menuchoice - screen - programlisting - code - - - - 1 - - - - - validation.scenario.associations - - - - en/xml/DocBook-Cookbook.xml - - - - DocBook-Cookbook - - - - - Validation_scenario - - - - - - - validation.scenarios - - - - - - - Default_engine_scenario_type_1254902349626 - - - Default_engine_scenario_name_1254902349626 - - - - - - - - - - text/xml - - - - - DocBook-Cookbook.xml - - - - - <Default engine> - - - true - - - - - true - - - - - - - - - - - - - - 3 - - - ${pdu}/frameworks/rng/5.1/dbref.rnc - - - - - - - - Validation_scenario - - - DocBook-Cookbook - - - - - - validation.scenarios.load.from.project - true - - - xpath.multiple.results - true - - - xpath.proxy.ns.mappings - - xs - http://www.w3.org/2001/XMLSchema - fn - http://www.w3.org/2005/xpath-functions - err - http://www.w3.org/2005/xqt-errors - math - http://www.w3.org/2005/xpath-functions/math - d - http://docbook.org/ns/docbook - sch - http://purl.oclc.org/dsdl/schematron - html - http://www.w3.org/1999/xhtml - xlink - http://www.w3.org/1999/xlink - mml - http://www.w3.org/1998/Math/MathML - svg - http://www.w3.org/2000/svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From 7750465efc0de522369ab86513092f076ec08742 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 25 Jul 2018 07:55:06 +0200 Subject: [PATCH 19/24] Cleanup --- .gitignore | 2 + DocBook-Cookbook.xpr | 1692 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1694 insertions(+) create mode 100644 DocBook-Cookbook.xpr diff --git a/.gitignore b/.gitignore index 7b17aa24..d53524b9 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,5 @@ tmp/ *.tar.* DocBook-Cookbook\.xpr + +*.xpr diff --git a/DocBook-Cookbook.xpr b/DocBook-Cookbook.xpr new file mode 100644 index 00000000..7f6581b1 --- /dev/null +++ b/DocBook-Cookbook.xpr @@ -0,0 +1,1692 @@ + + + + + + + + + document.types + + + + + + + Novdoc + + + + + + + + + + + + + + + + + false + + + false + + + + + + + + Menu + + + + + + + + + + + + + + + + + + + Contextual menu + + + + + + + + + + + + + + + + + + + Toolbar + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + file:/local/repos/suse.svn/trunk/novdoc/etc/catalog.xml + + + + Novdoc DTD + + + + + + * + + + * + + + * + + + -//Novell//DTD NovDoc XML V1.0//EN + + + + + + * + + + * + + + * + + + + + + + + + + + + + + + + + + + + + false + + + Text + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + Toms DocBook5 Cookbook + + + + + 6 + + + ${pdu}/frameworks/rng/5.1/dbref.rng + + + + + + ${frameworks}/docbook/docbook.jar + ${frameworks}/docbook/resources/ + ${frameworks}/docbook/i18n/ + ${frameworks}/docbook/styleguide/ + + + + + + + + + + + + ${frameworks}/docbook/css/docbook.css + + + DocBook CSS + + + false + + + + + ${frameworks}/docbook/css/hideColspec.css + + + Table + + + false + + + + + + false + + + false + + + + + + + + Menü + + + + + + + + + + + + + + + + + + + Kontextmenü + + + + + + + + + + + + + + + + + + + Toolbar + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + ro.sync.ecss.extensions.docbook.table.DocbookTableCellSepInfoProvider + + + ro.sync.ecss.extensions.docbook.table.DocbookTableCellSepInfoProvider + + + ro.sync.ecss.extensions.docbook.table.DocbookTableCellSepInfoProvider + + + + + + + + + ro.sync.ecss.extensions.docbook.id.Docbook5UniqueAttributesRecognizer + + + ro.sync.ecss.extensions.docbook.id.Docbook5UniqueAttributesRecognizer + + + + + + ro.sync.ecss.extensions.docbook.DocbookAuthorImageDecorator + + + + + + + + + ${pdu}/frameworks/catalog.xml + + + + + + + + + + http://docbook.org/ns/docbook + + + * + + + * + + + * + + + + + + * + + + * + + + * + + + + + + + + + + + + + + + + + + ro.sync.ecss.extensions.docbook.DocBook5ExtensionsBundle + + + false + + + Text + + + ro.sync.ecss.extensions.commons.DefaultElementLocatorProvider + + + + + + + + + + + + + + + + + + + + + 4 + + + ro.sync.ecss.extensions.docbook.DocbookNodeRendererCustomizer + + + ro.sync.ecss.extensions.docbook.Docbook5ExternalObjectInsertionHandler + + + + + + + + + + + + editor.font + DejaVu Sans Mono,0,24 + + + editor.line.wrap + true + + + editor.print.margin.columns + 78 + + + editor.show.print.margin + true + + + editor.textantialising + + + + 1.6 + 1.7 + 1.8 + + + + + ON + ON + DEFAULT + + + + + + enable.project.master.files.support + true + + + font.for.author.v12 + Droid Serif,0,15 + + + font.for.gui + DejaVu Sans Condensed,0,24 + + + font.for.schema + Droid Sans,0,15 + + + font.for.text + DejaVu Sans Condensed,0,24 + + + key.editor.document.type.association.option.pane + true + + + key.fonts.option.pane + true + + + key.open.find.resource + true + + + key.spellcheck.option.pane + true + + + key.text.editor.option.pane + true + + + key.xpath.option.pane + true + + + open.find.resource.indexing.options + + + true + + + *.tmp, *.temp, *.bak, *.html, *.htm, *.fo, *~, */.*, */temp/*, */out/*, .git/* + + + false + + + true + + + 1024 + + + a, an, and, are, as, at, be, but, by, for, if, in, into, is, it, no, not, of, on, or, such, that, the, their, then, there, these, they, this, to, was, will, with, without + + + en + + + + + scenario.associations + + + + Cookbook2Titles.xpl + + + + XProc Test + + + + + XPROC + + + + + + Cookbook2HTML.xpl + + + + XProc Test + + + + + XPROC + + + + + + bin/Unbenannt1.xpl + + + + XProc Test + + + + + XPROC + + + + + + bin/Cookbook2HTML.xpl + + + + XProc Test + + + + + XPROC + + + + + + xml/DocBook-Cookbook.xml + + + + Docbook XHTML duplicate + + + + + XSL + + + + + + xml/dbc-fo.xml + + + + Docbook XHTML duplicate + + + + + XSL + + + + + + xml/dbc-html.xml + + + + Docbook XHTML duplicate + + + + + XSL + + + + + + xml/dbc-structure.xml + + + + Docbook XHTML duplicate + + + + + XSL + + + + + + + scenarios + + + + + + + Docbook XHTML duplicate + + + + + + + + + pdf + + + Apache FOP + + + + + + ${frameworks}/docbook/xsl/profiling/profile.xsl + + + ${currentFileURL} + + + false + + + false + + + XSL + + + true + + + true + + + ${pd}/html/${cfn}.xhtml + + + ${pd}/html/${cfn}.xhtml + + + false + + + + + + false + + + false + + + false + + + false + + + false + + + true + + + + + + + + admon.graphics + + + + + + + + + + + 1 + + + false + + + + + + + admon.graphics.path + + + + + + + + + + + ${frameworks}/docbook/xsl/images/ + + + false + + + + + + + draft.mode + + + + + + + + + + + no + + + false + + + + + + + highlight.source + + + + + + + + + + + 1 + + + false + + + + + + + highlight.xslthl.config + + + + + + + + + + + ${frameworks}/docbook/xsl/highlighting/xslthl-config.xml + + + false + + + + + + + html.ext + + + + + + + + + + + .xhtml + + + false + + + + + + + ${frameworks}/docbook/xsl/xhtml/docbook_custom.xsl + + + + Saxon6.5.5 + + + + ${frameworks}/docbook/xsl/extensions/xslthl-2.0.1.jar + ${frameworks}/docbook/xsl/extensions/saxon65.jar + + + + + + + + Saxon-PE + + + true + + + true + + + false + + + true + + + false + + + false + + + false + + + + + + + + + true + + + false + + + saxon.recover.with.warning + + + saxon.strip.ws.ignorable + + + true + + + false + + + + + + + + + + + + + Docbook5 to HTML (XSLT2) + + + + + + + + + pdf + + + Apache FOP + + + + + + ${pdu}/frameworks/xslt2/base/html/docbook.xsl + + + ${pdu}/en/xml/DocBook-Cookbook.xml + + + false + + + false + + + XSL + + + true + + + true + + + ${pd}/build/html/DocBook-Cookbook2.html + + + ${pd}/build/html/DocBook-Cookbook2.html + + + false + + + + + + false + + + false + + + false + + + false + + + false + + + true + + + + + + + + admon.graphics + + + + + + + + + + + 1 + + + false + + + + + + + admon.graphics.path + + + + + + + + + + + ${frameworks}/docbook/xsl/images/ + + + false + + + + + + + draft.mode + + + + + + + + + + + no + + + false + + + + + + + highlight.source + + + + + + + + + + + 1 + + + false + + + + + + + highlight.xslthl.config + + + + + + + + + + + ${frameworks}/docbook/xsl/highlighting/xslthl-config.xml + + + false + + + + + + + + + Saxon-PE + + + + ${frameworks}/docbook/xsl/extensions/xslthl-2.0.1.jar + ${frameworks}/docbook/xsl/extensions/saxon65.jar + + + + + + + + + source + + + + file:/home/toms/dbcookbook/xml/DocBook-Cookbook.xml + + + + + + stylesheet + + + + + + + + + + + + result + + + + + + true + + + + + + + + + + + + parameters + + + + + + + + + foo + + + $ask{'Enter foo:', foo '2'} + + + + + + + + + + + + XProc Test + + + + + + + + + + + + + + + + + + ${currentFileURL} + + + + + + false + + + false + + + XPROC + + + false + + + false + + + + + + + + + false + + + + + + false + + + false + + + true + + + false + + + false + + + false + + + + + + + + + Calabash XProc + + + + + + + + + scenarios.load.from.project + true + + + search.resources.filter.history + + + + XSLT + doc + le + + + + + + spell.check.options + + + true + + + + text/html + text/nvdl + text/plain + text/properties + text/rng + text/sch + text/wsdl + text/xml + text/xproc + text/xsd + text/xsl + + + + false + + + false + + + true + + + false + + + en_US + + + true + + + false + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + command + literal + filename + uri + menuchoice + screen + programlisting + code + + + + 1 + + + + + ui.view.titles.font + Segoe UI,0,26 + + + validation.scenario.associations + + + + en/xml/DocBook-Cookbook.xml + + + + DocBook-Cookbook + + + + + Validation_scenario + + + + + + + validation.scenarios + + + + + + + Default_engine_scenario_type_1254902349626 + + + Default_engine_scenario_name_1254902349626 + + + + + + + + + + text/xml + + + + + DocBook-Cookbook.xml + + + + + <Default engine> + + + true + + + + + true + + + + + + + + + + + + + + 3 + + + ${pdu}/frameworks/rng/5.1/dbref.rnc + + + + + + + + Validation_scenario + + + DocBook-Cookbook + + + + + + validation.scenarios.load.from.project + true + + + xpath.multiple.results + true + + + xpath.proxy.ns.mappings + + xs + http://www.w3.org/2001/XMLSchema + fn + http://www.w3.org/2005/xpath-functions + err + http://www.w3.org/2005/xqt-errors + math + http://www.w3.org/2005/xpath-functions/math + d + http://docbook.org/ns/docbook + sch + http://purl.oclc.org/dsdl/schematron + html + http://www.w3.org/1999/xhtml + xlink + http://www.w3.org/1999/xlink + mml + http://www.w3.org/1998/Math/MathML + svg + http://www.w3.org/2000/svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 39ac4fecc62985e7abf326f93d6188ddc420caad Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 23 Sep 2018 10:01:23 +0200 Subject: [PATCH 20/24] test --- DocBook-Cookbook.xpr | 14 +- .../graphic-pageheader/graphic-pageheader.xsl | 312 +++++++++++++++--- en/xml/fo/topic.graphic-pageheader.xml | 45 ++- 3 files changed, 310 insertions(+), 61 deletions(-) diff --git a/DocBook-Cookbook.xpr b/DocBook-Cookbook.xpr index 7f6581b1..54a99128 100644 --- a/DocBook-Cookbook.xpr +++ b/DocBook-Cookbook.xpr @@ -503,7 +503,7 @@ editor.font - DejaVu Sans Mono,0,24 + Source Code Pro,0,16 editor.line.wrap @@ -542,19 +542,19 @@ font.for.author.v12 - Droid Serif,0,15 + Source Sans Pro,0,16 font.for.gui - DejaVu Sans Condensed,0,24 + Monospaced,0,14 font.for.schema - Droid Sans,0,15 + Source Serif Pro,0,16 font.for.text - DejaVu Sans Condensed,0,24 + Monospaced,0,14 key.editor.document.type.association.option.pane @@ -1458,10 +1458,6 @@ - - ui.view.titles.font - Segoe UI,0,26 - validation.scenario.associations diff --git a/en/xml/fo/graphic-pageheader/graphic-pageheader.xsl b/en/xml/fo/graphic-pageheader/graphic-pageheader.xsl index 29b118bf..a77a5867 100644 --- a/en/xml/fo/graphic-pageheader/graphic-pageheader.xsl +++ b/en/xml/fo/graphic-pageheader/graphic-pageheader.xsl @@ -1,60 +1,294 @@ - + - + logo/ - + Opensource.svg - + - - - - + + + + + - - - + 1 + 1 + 3 + + - - - - + + + 3 + 3 + 1 + + - - - + + + + + + + - - - + + + proportional-column-width( + + header + + + + + + ) + + + + + proportional-column-width( + + header + + + + + + ) + + + + + proportional-column-width( + + header + + + + + + ) + + - - - - - - - - - - + + + + + + + + baseline + + + + + + + + + + + + + baseline + + + + + + + + + + + + + baseline + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/en/xml/fo/topic.graphic-pageheader.xml b/en/xml/fo/topic.graphic-pageheader.xml index 7ed56337..e0b7f4e4 100644 --- a/en/xml/fo/topic.graphic-pageheader.xml +++ b/en/xml/fo/topic.graphic-pageheader.xml @@ -19,7 +19,7 @@ xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink"> - Inserting Logos into Page Headers and Footers + Inserting Text and Logos into Page Headers and Footers @@ -38,24 +38,28 @@ graphic + logo + text
Problem - You need to know how to insert a logo or graphic in your page + You need to know how to insert text and a logo in your page header.
Solution - This example solution will place logo on top right side of a - single-sided document. Other placements are possible and will be - shown in the Discussion section. The logo is at - max 1 inch high to avoid conflicts with the body text area. The - template for our solution is obtained from 'pagesetup.xsl' style - sheet. + This example solution will place a logo on top right side of a + single-sided document or on the left/right side on a double-sided + document. Other placements are possible and will be shown in the + Discussion section. The logo is at max 1 + inch high to avoid conflicts with the body text area. Furthermore, + we will place the document title on the opposite of the logo, + centered to the logo high. The template for our solution is obtained + from 'pagesetup.xsl' style sheet. A logo on every page in your document will give your work a personal touch or a corporate identity. Furthermore it's a way to protect your hard work against simple duplication through a copier @@ -99,12 +103,15 @@ - + + coords="178"/> + coords="183"/> The directory path to your logos. + + Due to a missing attribute-set for the header or + footer content, we use the + header.table Template from the + pagesetup.xsl and replace + all display-align="before" + occurrences with display-align="center". Add the + modified Template to your customization layer. + We assume that your logo should be placed in the header of all pages except title pages. @@ -189,9 +207,10 @@ logos are in a different location, change it with your XSLT processor. For example, the following line uses the logo(s) image source path logo.src.path parameter to find the logo(s). - This parameter is used within the position test to find the right + This parameter is used within the position test to find the right logo. - <xsl:param name="logo.src.path">logo/</xsl:param> + <xsl:param name="logo.src.path">logo/</xsl:param>
See Also From 56f952dcead00610186147a88969117d040da7c9 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 23 Sep 2018 19:30:02 +0200 Subject: [PATCH 21/24] Rewritten with new header.table content --- .../graphic-pageheader_shortened.xsl | 135 ++++++++++++++++++ en/xml/fo/topic.graphic-pageheader.xml | 99 ++++++------- 2 files changed, 185 insertions(+), 49 deletions(-) create mode 100644 en/xml/fo/graphic-pageheader/graphic-pageheader_shortened.xsl diff --git a/en/xml/fo/graphic-pageheader/graphic-pageheader_shortened.xsl b/en/xml/fo/graphic-pageheader/graphic-pageheader_shortened.xsl new file mode 100644 index 00000000..498e3de3 --- /dev/null +++ b/en/xml/fo/graphic-pageheader/graphic-pageheader_shortened.xsl @@ -0,0 +1,135 @@ + + + + + logo/ + + Opensource.svg + + + + + [...] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/en/xml/fo/topic.graphic-pageheader.xml b/en/xml/fo/topic.graphic-pageheader.xml index e0b7f4e4..d2ed17c4 100644 --- a/en/xml/fo/topic.graphic-pageheader.xml +++ b/en/xml/fo/topic.graphic-pageheader.xml @@ -88,83 +88,84 @@ </xsl:stylesheet> - Include the style sheet from Due to a missing attribute-set for the header or footer + content, we use the header.table Template + from the pagesetup.xsl and replace all + display-align="before" occurrences + with display-align="center". Add the modified + Template to your customization layer. + Because the header.table Template has more + than 150 lines, we skip the printout here and focus on the + logo and text placing. + If you don't want to add only the first part of our + solution and later the second one, you can include the hole + style sheet in the next step. + + + Include the style sheet into your - customization layer: + customization layer and modify it to fit your needs. + Subsequent, we will explain the options we will focus on: Placing a Logo in the Right Page Header (<filename>graphic-pageheader.xsl</filename>) - graphic-pageheader/graphic-pageheader.xsl + graphic-pageheader/graphic-pageheader_shortened.xsl - - - - - + - + + + + coords="47 56" units="linecolumn"/> + coords="53"/> + coords="50 56" units="linecolumn"/> + coords="53" units="linecolumn"/> - + The directory path to your logos. - - Due to a missing attribute-set for the header or - footer content, we use the - header.table Template from the - pagesetup.xsl and replace - all display-align="before" - occurrences with display-align="center". Add the - modified Template to your customization layer. - - - We assume that your logo should be placed in the - header of all pages except title pages. - This is the default value and will be used if no parameters are passed. - + + We assume that your logo should be placed in the + header of all pages except title pages. You can + switch single- or double-sided with this variable. + + A fo:block-element creates a rectangle area on a page which can contain lists, tables or - graphics. - - - Here you can insert a text like This - page is intentionally left - blank. + graphics. In this demo, the document title is + visible on the left side of single-sided documents. - This is a good place for the chapter title. + In this demo, the center position has no content, + but you can add a page number for example. This is the place for our logo as described at the @@ -172,20 +173,20 @@ To avoid conflicts with the body text area, we - limit its height to 1 inch. When you specify only + limit its height to 10mm. When you specify only one parameter like height or width, your logo will be scaled with the correct aspect ratio. - - The file name is passed on the src attribute. - The template which is called to import and place the logo. + + The file name is passed on the src attribute. + Our file defined at the top of our customization layer. From ac679847e2c6d628002a2a39a21dd7ce12b7f6bd Mon Sep 17 00:00:00 2001 From: Peter Schmelzer Date: Thu, 4 Oct 2018 11:25:45 +0200 Subject: [PATCH 22/24] correction --- en/xml/fo/topic.graphic-pageheader.xml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/en/xml/fo/topic.graphic-pageheader.xml b/en/xml/fo/topic.graphic-pageheader.xml index d2ed17c4..48e47be2 100644 --- a/en/xml/fo/topic.graphic-pageheader.xml +++ b/en/xml/fo/topic.graphic-pageheader.xml @@ -218,9 +218,7 @@ Full parameter description for - fo:external-graphic + fo:external-graphic __________ From 8667d2d6f6f7b06497af9a7c94f2c5fedb1bcad8 Mon Sep 17 00:00:00 2001 From: Peter Schmelzer Date: Wed, 31 Oct 2018 17:28:47 +0100 Subject: [PATCH 23/24] Project File changed --- DocBook-Cookbook.xpr | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/DocBook-Cookbook.xpr b/DocBook-Cookbook.xpr index 54a99128..82a9325f 100644 --- a/DocBook-Cookbook.xpr +++ b/DocBook-Cookbook.xpr @@ -503,7 +503,7 @@ editor.font - Source Code Pro,0,16 + Source Code Pro,0,14 editor.line.wrap @@ -542,19 +542,19 @@ font.for.author.v12 - Source Sans Pro,0,16 + Source Sans Pro,0,14 font.for.gui - Monospaced,0,14 + Arial,0,14 font.for.schema - Source Serif Pro,0,16 + Source Serif Pro,0,14 font.for.text - Monospaced,0,14 + Arial,0,14 key.editor.document.type.association.option.pane From 6e644b9b5a19023dd5535871560d9e274a5e8d9e Mon Sep 17 00:00:00 2001 From: Peter Schmelzer Date: Thu, 1 Nov 2018 16:32:27 +0100 Subject: [PATCH 24/24] Intended shortend in file --- .../graphic-pageheader_shortened.xsl | 241 ++++++++---------- 1 file changed, 113 insertions(+), 128 deletions(-) diff --git a/en/xml/fo/graphic-pageheader/graphic-pageheader_shortened.xsl b/en/xml/fo/graphic-pageheader/graphic-pageheader_shortened.xsl index 498e3de3..e2b7fc7e 100644 --- a/en/xml/fo/graphic-pageheader/graphic-pageheader_shortened.xsl +++ b/en/xml/fo/graphic-pageheader/graphic-pageheader_shortened.xsl @@ -1,135 +1,120 @@ + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:d="http://docbook.org/ns/docbook"> - - logo/ - - Opensource.svg - - + + logo/ + + Opensource.svg + + - - [...] - + + [...] + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +