From: <xm...@us...> - 2007-06-19 12:54:56
|
Revision: 6837 http://svn.sourceforge.net/docbook/?rev=6837&view=rev Author: xmldoc Date: 2007-06-19 05:54:53 -0700 (Tue, 19 Jun 2007) Log Message: ----------- Normalize text-only endnotes properly. Modified Paths: -------------- trunk/xsl/manpages/endnotes.xsl Modified: trunk/xsl/manpages/endnotes.xsl =================================================================== --- trunk/xsl/manpages/endnotes.xsl 2007-06-19 11:55:36 UTC (rev 6836) +++ trunk/xsl/manpages/endnotes.xsl 2007-06-19 12:54:53 UTC (rev 6837) @@ -396,7 +396,14 @@ <!-- * its corresponding notesource is either a link or --> <!-- * an instance of annotative text, so we want to --> <!-- * display that content --> - <xsl:apply-templates select="*/node()"/> + <xsl:choose> + <xsl:when test="*/node()[name(.)!='']"> + <xsl:apply-templates select="*/node()"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="normalize-space(*/node())"/> + </xsl:otherwise> + </xsl:choose> </xsl:when> <xsl:otherwise> <!-- * otherwise, this earmark has empty content, --> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <xm...@us...> - 2007-06-19 13:24:54
|
Revision: 6838 http://svn.sourceforge.net/docbook/?rev=6838&view=rev Author: xmldoc Date: 2007-06-19 06:24:47 -0700 (Tue, 19 Jun 2007) Log Message: ----------- Added comment to endnotes code. Modified Paths: -------------- trunk/xsl/manpages/endnotes.xsl Modified: trunk/xsl/manpages/endnotes.xsl =================================================================== --- trunk/xsl/manpages/endnotes.xsl 2007-06-19 12:54:53 UTC (rev 6837) +++ trunk/xsl/manpages/endnotes.xsl 2007-06-19 13:24:47 UTC (rev 6838) @@ -398,9 +398,11 @@ <!-- * display that content --> <xsl:choose> <xsl:when test="*/node()[name(.)!='']"> + <!-- * if node is not text only, then process it as-is --> <xsl:apply-templates select="*/node()"/> </xsl:when> <xsl:otherwise> + <!-- * otherwise node is text-only, so normalize it --> <xsl:value-of select="normalize-space(*/node())"/> </xsl:otherwise> </xsl:choose> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <xm...@us...> - 2007-06-19 16:52:49
|
Revision: 6840 http://svn.sourceforge.net/docbook/?rev=6840&view=rev Author: xmldoc Date: 2007-06-19 09:52:48 -0700 (Tue, 19 Jun 2007) Log Message: ----------- In manpages output, emit warnings for notesources (footnote, etc.) that have something other than para as a child. The numbered-with-hanging-indent formatting that's used for rendering endnotes in the NOTES section of man pages places some limits/assumptions on how the DocBook source is marked up; namely, for notesources (footnote, annotation, etc.) that can contain block-level children, if the they have a block-level child such as a table or itemizedlist or orderedlist that is the first child of a footnote, we have no way of rendering/indenting its content properly in the endnotes list. Thus, the manpages stylesheet not emits a warning message for that case, and suggests the "fix" (which is to wrap the table or itemizedlist or whatever in a para that has some preferatory text. Modified Paths: -------------- trunk/xsl/manpages/endnotes.xsl Modified: trunk/xsl/manpages/endnotes.xsl =================================================================== --- trunk/xsl/manpages/endnotes.xsl 2007-06-19 13:33:52 UTC (rev 6839) +++ trunk/xsl/manpages/endnotes.xsl 2007-06-19 16:52:48 UTC (rev 6840) @@ -209,11 +209,110 @@ </xsl:choose> </xsl:variable> + <xsl:variable name="notesource.number"> + <!-- * Get the number for this notesource --> + <!-- * --> + <!-- * If this is an imagedata, audiodata, or videodata element --> + <!-- * OR if it's a non-empty element AND its string value is not --> + <!-- * equal to the value of its url or xlink:href attribute (if --> + <!-- * it has one) AND user wants endnotes numbered, only then --> + <!-- * do we output a number for it --> + <xsl:if test="(self::imagedata or + self::audiodata or + self::videodata or + (node() + and not(. = @url) + and not(. = @xlink:href)) + ) + and $man.endnotes.are.numbered != 0"> + <!-- * To select the number for this notesource, we --> + <!-- * check the index of all earmarks for the current refentry --> + <!-- * and find the number of the indexed earmark which matches --> + <!-- * this notesource's earmark. --> + <!-- * Note that multiple notesources may share the same --> + <!-- * numbered earmark; in that case, they get the same number. --> + <!-- * --> + <xsl:choose> + <xsl:when test="self::ulink or + self::*[@xlink:href] or + self::imagedata or + self::audiodata or + self::videodata"> + <xsl:value-of select="$all.earmarks.in.current.refentry/earmark[@uri = $earmark]/@number"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$all.earmarks.in.current.refentry/earmark[@id = $earmark]/@number"/> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + </xsl:variable> + <xsl:variable name="notesource.contents"> <xsl:choose> <!-- * check to see if the element is empty or not; if it's --> <!-- * non-empty, get the content --> <xsl:when test="node()"> + <xsl:for-each select="node()"> + <xsl:if test="local-name() != 'para' and local-name() !=''"> + <!-- * for each node we find as a child of a notesource, if --> + <!-- * it's not a para element or a text node, then emit a --> + <!-- * warning; the reason for emitting this warning is that --> + <!-- * in manpages output, we can't render block-level child --> + <!-- * content of an endnote properly unless it is wrapped in --> + <!-- * a para that has some "prefatory" text --> + <xsl:variable name="parent-name" select="local-name(..)"/> + <xsl:variable name="refname" select="ancestor::refentry/refnamediv[1]/refname[1]"/> + <xsl:variable name="message-prefix"> + <xsl:text>endnote </xsl:text> + <xsl:call-template name="prepend-pad"> + <!-- * endnote number may be 2 digits, so pad it with a space --> + <!-- * if we have only 1 digit --> + <xsl:with-param name="padVar" select="concat('#',$notesource.number)"/> + <xsl:with-param name="length" select="3"/> + </xsl:call-template> + <xsl:text> : </xsl:text> + </xsl:variable> + <xsl:call-template name="log.message"> + <xsl:with-param name="level">Warn</xsl:with-param> + <xsl:with-param name="source" select="$refname"/> + <xsl:with-param name="message"> + <xsl:value-of select="$message-prefix"/> + <xsl:text>Bad: </xsl:text> + <xsl:value-of select="$parent-name"/> + <!-- * figure out which occurance of this element type this --> + <!-- * instance is and output a number in square brackets so --> + <!-- * that end-user can know which element to fix --> + <xsl:text>[</xsl:text> + <xsl:value-of select="count(preceding::*[local-name() = $parent-name]) + 1"/> + <xsl:text>]</xsl:text> + <xsl:text> in source</xsl:text> + </xsl:with-param> + </xsl:call-template> + <xsl:call-template name="log.message"> + <xsl:with-param name="level">Note</xsl:with-param> + <xsl:with-param name="source" select="$refname"/> + <xsl:with-param name="message"> + <xsl:value-of select="$message-prefix"/> + <xsl:text>Has: </xsl:text> + <xsl:value-of select="$parent-name"/> + <xsl:text>/</xsl:text> + <xsl:value-of select="local-name(.)"/> + </xsl:with-param> + </xsl:call-template> + <xsl:call-template name="log.message"> + <xsl:with-param name="level">Note</xsl:with-param> + <xsl:with-param name="source" select="$refname"/> + <xsl:with-param name="message"> + <xsl:value-of select="$message-prefix"/> + <xsl:text>Fix: </xsl:text> + <xsl:value-of select="$parent-name"/> + <xsl:text>/</xsl:text> + <xsl:text>para/</xsl:text> + <xsl:value-of select="local-name(.)"/> + </xsl:with-param> + </xsl:call-template> + </xsl:if> + </xsl:for-each> <xsl:apply-templates/> </xsl:when> <xsl:otherwise> @@ -252,43 +351,7 @@ </xsl:choose> </xsl:if> - <!-- * Format the numbered marker for this notesource --> - <!-- * --> - <!-- * If this is an imagedata, audiodata, or videodata element --> - <!-- * OR if it's a non-empty element AND its string value is not --> - <!-- * equal to the value of its url or xlink:href attribute (if --> - <!-- * it has one) AND user wants endnotes numbered, only then --> - <!-- * do we output a number for it --> - <xsl:if test="(self::imagedata or - self::audiodata or - self::videodata or - (node() - and not(. = @url) - and not(. = @xlink:href)) - ) - and $man.endnotes.are.numbered != 0"> - <!-- * To generate the numbered marker for this notesource, we --> - <!-- * check the index of all earmarks for the current refentry --> - <!-- * and find the number of the indexed earmark which matches --> - <!-- * this notesource's earmark. --> - <!-- * Note that multiple notesources may share the same --> - <!-- * numbered earmark; in that case, they get the same number. --> - <!-- * --> - <xsl:variable name="notesource.number"> - <xsl:choose> - <xsl:when test="self::ulink or - self::*[@xlink:href] or - self::imagedata or - self::audiodata or - self::videodata"> - <xsl:value-of select="$all.earmarks.in.current.refentry/earmark[@uri = $earmark]/@number"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$all.earmarks.in.current.refentry/earmark[@id = $earmark]/@number"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - + <xsl:if test="$notesource.number != ''"> <!-- * Format the number by placing it in square brackets. FIXME: --> <!-- * This formatting should probably be made user-configurable, --> <!-- * to allow something other than just square brackets; e.g., --> @@ -300,7 +363,7 @@ <!-- * is to prevent any possible linebreak from being introduced --> <!-- * between the opening bracket and the following text. --> </xsl:if> - </xsl:template> +</xsl:template> <!-- ==================================================================== --> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <xm...@us...> - 2007-08-19 00:00:01
|
Revision: 7254 http://docbook.svn.sourceforge.net/docbook/?rev=7254&view=rev Author: xmldoc Date: 2007-08-18 16:59:53 -0700 (Sat, 18 Aug 2007) Log Message: ----------- In manpages output, generate warnings about notesources with non-para children only if the notesource is a footnote or annotation. Thanks to Sam Steingold for reporting problems with the existing handling. Modified Paths: -------------- trunk/xsl/manpages/endnotes.xsl Modified: trunk/xsl/manpages/endnotes.xsl =================================================================== --- trunk/xsl/manpages/endnotes.xsl 2007-08-18 16:49:39 UTC (rev 7253) +++ trunk/xsl/manpages/endnotes.xsl 2007-08-18 23:59:53 UTC (rev 7254) @@ -249,17 +249,21 @@ <xsl:variable name="notesource.contents"> <xsl:choose> - <!-- * check to see if the element is empty or not; if it's --> - <!-- * non-empty, get the content --> + <!-- * check to see if the element is empty or not --> <xsl:when test="node()"> + <!-- * this is a non-empty node, so process its contents --> + <xsl:apply-templates/> + <xsl:if test="../footnote or ../annotation"> + <!-- * if this element is a footnote or annotation, we need to --> + <!-- * do some further checking on it, so we can emit warnings --> + <!-- * about potential problems --> <xsl:for-each select="node()"> <xsl:if test="local-name() != 'para' and local-name() !=''"> - <!-- * for each node we find as a child of a notesource, if --> - <!-- * it's not a para element or a text node, then emit a --> - <!-- * warning; the reason for emitting this warning is that --> - <!-- * in manpages output, we can't render block-level child --> - <!-- * content of an endnote properly unless it is wrapped in --> - <!-- * a para that has some "prefatory" text --> + <!-- * for each node we find as a child of a footnote or --> + <!-- * annotation, if it's not a para or a text node, emit a --> + <!-- * warning... because in manpages output, we can't render --> + <!-- * block-level child content of an endnote properly unless --> + <!-- * it's wrapped in a para that has some "prefatory" text --> <xsl:variable name="parent-name" select="local-name(..)"/> <xsl:variable name="refname" select="ancestor::refentry/refnamediv[1]/refname[1]"/> <xsl:variable name="endnote-number"> @@ -320,17 +324,16 @@ </xsl:call-template> </xsl:if> </xsl:for-each> - <xsl:apply-templates/> + </xsl:if> </xsl:when> <xsl:otherwise> <!-- * Otherwise this is an empty link or an empty imagedata, --> <!-- * audiodata, or videodata element, so we just get the --> <!-- * value of its url, xlink:href, or fileref attribute. --> - <!-- * --> - <!-- * Add hyphenation suppression in URL output only if --> - <!-- * break.after.slash is also non-zero --> - <xsl:if test="$man.hyphenate.urls = 0 and - $man.break.after.slash = 0"> + <xsl:if test="$man.hyphenate.urls = 0 + and $man.break.after.slash = 0"> + <!-- * Add hyphenation suppression in URL output only if --> + <!-- * break.after.slash is also non-zero --> <xsl:call-template name="suppress.hyphenation"/> <xsl:text>\%</xsl:text> </xsl:if> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <xm...@us...> - 2008-02-26 10:00:56
|
Revision: 7726 http://docbook.svn.sourceforge.net/docbook/?rev=7726&view=rev Author: xmldoc Date: 2008-02-26 02:00:51 -0800 (Tue, 26 Feb 2008) Log Message: ----------- use the make.subheading template to generated SH subheading for endnotes section. Modified Paths: -------------- trunk/xsl/manpages/endnotes.xsl Modified: trunk/xsl/manpages/endnotes.xsl =================================================================== --- trunk/xsl/manpages/endnotes.xsl 2008-02-26 09:58:56 UTC (rev 7725) +++ trunk/xsl/manpages/endnotes.xsl 2008-02-26 10:00:51 UTC (rev 7726) @@ -416,12 +416,10 @@ <xsl:template name="format.endnotes.list"> <xsl:param name="endnotes"/> - <xsl:call-template name="mark.subheading"/> <!-- * ======= make the endnotes-list section heading ============= --> - <xsl:text>.SH "</xsl:text> - <xsl:call-template name="string.upper"> - <xsl:with-param name="string"> + <xsl:call-template name="make.subheading"> + <xsl:with-param name="title"> <xsl:choose> <!-- * if user has specified a heading, use that --> <xsl:when test="$man.endnotes.list.heading != ''"> @@ -437,7 +435,6 @@ </xsl:choose> </xsl:with-param> </xsl:call-template> - <xsl:text>" </xsl:text> <!-- * ================ process each earmark ====================== --> <xsl:for-each select="$endnotes/earmark"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <xm...@us...> - 2008-03-10 00:48:16
|
Revision: 7888 http://docbook.svn.sourceforge.net/docbook/?rev=7888&view=rev Author: xmldoc Date: 2008-03-09 17:48:13 -0700 (Sun, 09 Mar 2008) Log Message: ----------- put links in blue in PS output (note that this matches how groff renders content marked up with the .URL macro) Modified Paths: -------------- trunk/xsl/manpages/endnotes.xsl Modified: trunk/xsl/manpages/endnotes.xsl =================================================================== --- trunk/xsl/manpages/endnotes.xsl 2008-03-10 00:26:11 UTC (rev 7887) +++ trunk/xsl/manpages/endnotes.xsl 2008-03-10 00:48:13 UTC (rev 7888) @@ -346,6 +346,7 @@ <xsl:variable name="link.wrapper"> <xsl:value-of select="$notesource.contents"/> </xsl:variable> + <xsl:text>\m[blue]</xsl:text> <!-- * This is a hyperlink, so we need to determine if the user wants --> <!-- * font formatting applied to it, and if so, what font --> <xsl:choose> @@ -388,6 +389,7 @@ <xsl:value-of select="$notesource.contents"/> </xsl:otherwise> </xsl:choose> + <xsl:text>\m[]</xsl:text> </xsl:if> <xsl:if test="$notesource.number != ''"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <xm...@us...> - 2008-03-27 13:30:58
|
Revision: 7957 http://docbook.svn.sourceforge.net/docbook/?rev=7957&view=rev Author: xmldoc Date: 2008-03-27 06:30:42 -0700 (Thu, 27 Mar 2008) Log Message: ----------- For PS/non-TTY output, display footnote/endnote numbers in superscript. Modified Paths: -------------- trunk/xsl/manpages/endnotes.xsl Modified: trunk/xsl/manpages/endnotes.xsl =================================================================== --- trunk/xsl/manpages/endnotes.xsl 2008-03-27 12:07:43 UTC (rev 7956) +++ trunk/xsl/manpages/endnotes.xsl 2008-03-27 13:30:42 UTC (rev 7957) @@ -393,13 +393,14 @@ </xsl:if> <xsl:if test="$notesource.number != ''"> - <!-- * Format the number by placing it in square brackets. FIXME: --> - <!-- * This formatting should probably be made user-configurable, --> - <!-- * to allow something other than just square brackets; e.g., --> - <!-- * Angle brackets<10> or Braces{10} --> - <xsl:text>\&[</xsl:text> + <!-- * Format the number by placing it in square brackets. --> + <!-- * Also, set the number in font-size -2, and superscripted (\u --> + <!-- * means to move up half a line vertically) --> + <xsl:text>\&\s-2\u[</xsl:text> <xsl:value-of select="$notesource.number"/> - <xsl:text>]</xsl:text> + <xsl:text>]\d\s+2</xsl:text> + <!-- * Revert superscripting (\d means to move down half a line), and --> + <!-- * move the font-size back to what it was before. --> <!-- * Note that the reason for the \& before the opening bracket --> <!-- * is to prevent any possible linebreak from being introduced --> <!-- * between the opening bracket and the following text. --> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |