| <?xml version='1.0'?> |
| <!-- |
| * Copyright 2001-2009 The Apache Software Foundation. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| */ |
| Note based on the jbossorg-docbook project. |
| --> |
| <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" |
| version="1.0" |
| xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory" |
| exclude-result-prefixes="#default"> |
| |
| <xsl:import href="common.xsl" /> |
| |
| <!-- Ignore image scaling in html version --> |
| <xsl:param name="ignore.image.scaling" select="1"/> |
| |
| <xsl:param name="generate.legalnotice.link" select="1"/> |
| <xsl:param name="generate.revhistory.link" select="0"/> |
| |
| <!-- This is needed to generate the correct xhtml-strict DOCTYPE on the front page. |
| We can't use indentation as the algorithm inserts linebreaks into the markup |
| created for callouts. This means that callouts appear on different lines than |
| the code they are supposed to refer to. --> |
| <xsl:output method="xml" |
| encoding="UTF-8" |
| indent="no" |
| doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" |
| doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" |
| standalone="no"/> |
| |
| <xsl:param name="siteHref" select="'http://juddi.apache.org/'"/> |
| <xsl:param name="docHref" select="'http://juddi.apache.org/docs.html'"/> |
| <xsl:param name="siteLinkText" select="'Apache jUDDI'"/> |
| <xsl:param name="docLinkText" select="'Community Documentation'"/> |
| |
| <xsl:param name="graphicsize.extension">0</xsl:param> |
| |
| <!-- Placement of titles --> |
| <xsl:param name="formal.title.placement"> |
| figure after example before equation before table before procedure before |
| </xsl:param> |
| |
| <!-- Callouts --> |
| <!-- Place callout marks at this column in annotated areas. The algorithm using this number doesn't |
| know about highlighted code with extra span elements so we need to pad each line at the start |
| with an XML comment and a line break. The callout marks must then be placed immediately afterwards. |
| This ensures that the callouts appear on the same line as the code it relates to and we can position |
| them using CSS so that they all appear in a column on the right. --> |
| <xsl:param name="callout.defaultcolumn">15</xsl:param> |
| <xsl:param name="callout.icon.size">17px</xsl:param> |
| |
| <!-- Admonitions --> |
| <xsl:param name="admon.style" select="''"/> |
| |
| <!-- Set chunk.section.depth to 0 to just chunk chapters. --> |
| <xsl:param name="chunk.section.depth" select="0"/> |
| <xsl:param name="chunk.first.sections" select="1"/> |
| <xsl:param name="chunk.toc" select="''"/> |
| <xsl:param name="chunker.output.doctype-public" select="'-//W3C//DTD XHTML 1.0 Strict//EN'"/> |
| <xsl:param name="chunker.output.doctype-system" select="'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'"/> |
| <xsl:param name="chunker.output.encoding" select="'UTF-8'"/> |
| |
| <!-- We must turn off indenting as the algorithm inserts linebreaks into the callout markup that is added by the |
| code highlighting routine. This causes the callouts to appear on different lines from the code they relate to. --> |
| <xsl:param name="chunker.output.indent" select="'no'"/> |
| |
| <xsl:param name="html.stylesheet" select="'css/jbossorg.css'"/> |
| <xsl:param name="html.stylesheet.type" select="'text/css'"/> |
| <xsl:param name="html.cleanup" select="1"/> |
| <xsl:param name="html.ext" select="'.html'"/> |
| |
| |
| <xsl:template match="authorgroup" mode="titlepage.mode"> |
| <xsl:choose> |
| <xsl:when test="$use.simplified.author.group = 1"> |
| <div class="authorgroup"> |
| <div class="authors"> |
| <xsl:call-template name="person.name.list"> |
| <xsl:with-param name="person.list" select="./author|./corpauthor" /> |
| <xsl:with-param name="person.type" select="'author'"/> |
| </xsl:call-template> |
| </div> |
| |
| <div class="editors"> |
| <xsl:call-template name="person.name.list"> |
| <xsl:with-param name="person.list" select="./editor" /> |
| <xsl:with-param name="person.type" select="'editor'"/> |
| </xsl:call-template> |
| </div> |
| |
| <div class="others"> |
| <xsl:call-template name="person.name.list"> |
| <xsl:with-param name="person.list" select="./othercredit" /> |
| <xsl:with-param name="person.type" select="'othercredit'"/> |
| </xsl:call-template> |
| </div> |
| </div> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:apply-imports/> |
| </xsl:otherwise> |
| </xsl:choose> |
| |
| </xsl:template> |
| |
| <!-- |
| From: fo/callout.xsl |
| Version: 1.73.2 |
| Reason: This includes the callout.icon.size attribute for SVGs |
| (We can probably get rid of this if we upgrade to DocBook Stylesheets 1.73.2) |
| --> |
| <xsl:template name="callout-bug"> |
| <xsl:param name="conum" select="1"/> |
| |
| <xsl:choose> |
| <xsl:when test="$callout.graphics != 0 and $conum <= $callout.graphics.number.limit"> |
| <img src="{$callout.graphics.path}{$conum}{$callout.graphics.extension}" alt="{$conum}" border="0" height="{$callout.icon.size}" width="{$callout.icon.size}"/> |
| </xsl:when> |
| <xsl:when test="$callout.unicode != 0 and $conum <= $callout.unicode.number.limit"> |
| <xsl:choose> |
| <xsl:when test="$callout.unicode.start.character = 10102"> |
| <xsl:choose> |
| <xsl:when test="$conum = 1">❶</xsl:when> |
| <xsl:when test="$conum = 2">❷</xsl:when> |
| <xsl:when test="$conum = 3">❸</xsl:when> |
| <xsl:when test="$conum = 4">❹</xsl:when> |
| <xsl:when test="$conum = 5">❺</xsl:when> |
| <xsl:when test="$conum = 6">❻</xsl:when> |
| <xsl:when test="$conum = 7">❼</xsl:when> |
| <xsl:when test="$conum = 8">❽</xsl:when> |
| <xsl:when test="$conum = 9">❾</xsl:when> |
| <xsl:when test="$conum = 10">❿</xsl:when> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:message> |
| <xsl:text>Don't know how to generate Unicode callouts </xsl:text> |
| <xsl:text>when $callout.unicode.start.character is </xsl:text> |
| <xsl:value-of select="$callout.unicode.start.character"/> |
| </xsl:message> |
| <xsl:text>(</xsl:text> |
| <xsl:value-of select="$conum"/> |
| <xsl:text>)</xsl:text> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:text>(</xsl:text> |
| <xsl:value-of select="$conum"/> |
| <xsl:text>)</xsl:text> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| |
| <!-- TOC --> |
| <xsl:param name="generate.toc"> |
| set toc |
| book toc |
| article toc |
| chapter toc |
| qandadiv toc |
| qandaset toc |
| sect1 nop |
| sect2 nop |
| sect3 nop |
| sect4 nop |
| sect5 nop |
| section toc |
| part toc |
| </xsl:param> |
| |
| <xsl:param name="suppress.navigation" select="0"/> |
| <xsl:param name="suppress.header.navigation" select="0"/> |
| <xsl:param name="suppress.footer.navigation" select="0"/> |
| |
| <xsl:param name="header.rule" select="0"/> |
| <xsl:param name="footer.rule" select="0"/> |
| <xsl:param name="css.decoration" select="0"/> |
| <xsl:param name="ulink.target"/> |
| <xsl:param name="table.cell.border.style"/> |
| |
| <!-- BUGBUG TODO |
| |
| There is a bug where inserting elements in to the body level |
| of xhtml will add xmlns="" to the tag. This is invalid xhtml. |
| To overcome this I added: |
| xmlns="http://www.w3.org/1999/xhtml" |
| to the outer most tag. This gets stripped by the parser, resulting |
| in valid xhtml ... go figure. |
| |
| This sounds like the system used by the stylesheets to process |
| DocBook 5 docs by stripping out the XML namespace before processing |
| the node set as normal: http://lists.oasis-open.org/archives/docbook-apps/200701/msg00184.html |
| --> |
| |
| <!-- |
| From: xhtml/admon.xsl |
| Reason: remove tables |
| Version: 1.72.0 |
| --> |
| <xsl:template name="graphical.admonition"> |
| <xsl:variable name="admon.type"> |
| <xsl:choose> |
| <xsl:when test="local-name(.)='note'">Note</xsl:when> |
| <xsl:when test="local-name(.)='warning'">Warning</xsl:when> |
| <xsl:when test="local-name(.)='caution'">Caution</xsl:when> |
| <xsl:when test="local-name(.)='tip'">Tip</xsl:when> |
| <xsl:when test="local-name(.)='important'">Important</xsl:when> |
| <xsl:otherwise>Note</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| |
| <xsl:variable name="alt"> |
| <xsl:call-template name="gentext"> |
| <xsl:with-param name="key" select="$admon.type"/> |
| </xsl:call-template> |
| </xsl:variable> |
| |
| <div xmlns="http://www.w3.org/1999/xhtml"> |
| <xsl:apply-templates select="." mode="class.attribute"/> |
| <xsl:if test="$admon.style != ''"> |
| <xsl:attribute name="style"> |
| <xsl:value-of select="$admon.style"/> |
| </xsl:attribute> |
| </xsl:if> |
| |
| <xsl:call-template name="anchor"/> |
| <xsl:if test="$admon.textlabel != 0 or title"> |
| <h2> |
| <xsl:apply-templates select="." mode="object.title.markup"/> |
| </h2> |
| </xsl:if> |
| <xsl:apply-templates/> |
| </div> |
| </xsl:template> |
| |
| <!-- |
| From: xhtml/lists.xsl |
| Reason: Remove invalid type attribute from ol |
| Version: 1.72.0 |
| --> |
| <xsl:template match="substeps"> |
| <xsl:variable name="numeration"> |
| <xsl:call-template name="procedure.step.numeration"/> |
| </xsl:variable> |
| <xsl:call-template name="anchor"/> |
| <ol xmlns="http://www.w3.org/1999/xhtml" class="{$numeration}"> |
| <xsl:apply-templates/> |
| </ol> |
| </xsl:template> |
| |
| <!-- |
| From: xhtml/lists.xsl |
| Reason: Remove invalid type, start & compact attributes from ol |
| Version: 1.72.0 |
| --> |
| <xsl:template match="orderedlist"> |
| <div xmlns="http://www.w3.org/1999/xhtml"> |
| <xsl:apply-templates select="." mode="class.attribute"/> |
| <xsl:call-template name="anchor"/> |
| <xsl:if test="title"> |
| <xsl:call-template name="formal.object.heading"/> |
| </xsl:if> |
| <!-- Preserve order of PIs and comments --> |
| <xsl:apply-templates select="*[not(self::listitem or self::title or self::titleabbrev)] |comment()[not(preceding-sibling::listitem)] |processing-instruction()[not(preceding-sibling::listitem)]"/> |
| <ol> |
| <xsl:apply-templates select="listitem |comment()[preceding-sibling::listitem] |processing-instruction()[preceding-sibling::listitem]"/> |
| </ol> |
| </div> |
| </xsl:template> |
| |
| <!-- |
| From: xhtml/lists.xsl |
| Reason: Remove invalid type, start & compact attributes from ol |
| Version: 1.72.0 |
| --> |
| <xsl:template match="procedure"> |
| <xsl:variable name="param.placement" select="substring-after(normalize-space($formal.title.placement), concat(local-name(.), ' '))"/> |
| |
| <xsl:variable name="placement"> |
| <xsl:choose> |
| <xsl:when test="contains($param.placement, ' ')"> |
| <xsl:value-of select="substring-before($param.placement, ' ')"/> |
| </xsl:when> |
| <xsl:when test="$param.placement = ''">before</xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$param.placement"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| |
| <!-- Preserve order of PIs and comments --> |
| <xsl:variable name="preamble" select="*[not(self::step or self::title or self::titleabbrev)] |comment()[not(preceding-sibling::step)] |processing-instruction()[not(preceding-sibling::step)]"/> |
| <div xmlns="http://www.w3.org/1999/xhtml"> |
| <xsl:apply-templates select="." mode="class.attribute"/> |
| <xsl:call-template name="anchor"> |
| <xsl:with-param name="conditional"> |
| <xsl:choose> |
| <xsl:when test="title">0</xsl:when> |
| <xsl:otherwise>1</xsl:otherwise> |
| </xsl:choose> |
| </xsl:with-param> |
| </xsl:call-template> |
| <xsl:if test="title and $placement = 'before'"> |
| <xsl:call-template name="formal.object.heading"/> |
| </xsl:if> |
| <xsl:apply-templates select="$preamble"/> |
| <xsl:choose> |
| <xsl:when test="count(step) = 1"> |
| <ul> |
| <xsl:apply-templates select="step |comment()[preceding-sibling::step] |processing-instruction()[preceding-sibling::step]"/> |
| </ul> |
| </xsl:when> |
| <xsl:otherwise> |
| <ol> |
| <xsl:attribute name="class"> |
| <xsl:value-of select="substring($procedure.step.numeration.formats,1,1)"/> |
| </xsl:attribute> |
| <xsl:apply-templates select="step |comment()[preceding-sibling::step] |processing-instruction()[preceding-sibling::step]"/> |
| </ol> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:if test="title and $placement != 'before'"> |
| <xsl:call-template name="formal.object.heading"/> |
| </xsl:if> |
| </div> |
| </xsl:template> |
| |
| <!-- |
| From: xhtml/graphics.xsl |
| Reason: Remove html markup (align) |
| Version: 1.72.0 |
| --> |
| <xsl:template name="longdesc.link"> |
| <xsl:param name="longdesc.uri" select="''"/> |
| |
| <xsl:variable name="this.uri"> |
| <xsl:call-template name="make-relative-filename"> |
| <xsl:with-param name="base.dir" select="$base.dir"/> |
| <xsl:with-param name="base.name"> |
| <xsl:call-template name="href.target.uri"/> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="href.to"> |
| <xsl:call-template name="trim.common.uri.paths"> |
| <xsl:with-param name="uriA" select="$longdesc.uri"/> |
| <xsl:with-param name="uriB" select="$this.uri"/> |
| <xsl:with-param name="return" select="'A'"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <div xmlns="http://www.w3.org/1999/xhtml" class="longdesc-link"> |
| <br/> |
| <span class="longdesc-link"> |
| <xsl:text>[</xsl:text> |
| <a href="{$href.to}">D</a> |
| <xsl:text>]</xsl:text> |
| </span> |
| </div> |
| </xsl:template> |
| |
| <!-- |
| From: xhtml/docbook.xsl |
| Reason: Remove inline style for draft mode |
| Version: 1.72.0 |
| --> |
| <xsl:template name="head.content"> |
| <xsl:param name="node" select="."/> |
| <xsl:param name="title"> |
| <xsl:apply-templates select="$node" mode="object.title.markup.textonly"/> |
| </xsl:param> |
| |
| <title xmlns="http://www.w3.org/1999/xhtml" > |
| <xsl:copy-of select="$title"/> |
| </title> |
| |
| <xsl:if test="$html.stylesheet != ''"> |
| <xsl:call-template name="output.html.stylesheets"> |
| <xsl:with-param name="stylesheets" select="normalize-space($html.stylesheet)"/> |
| </xsl:call-template> |
| </xsl:if> |
| |
| <xsl:if test="$link.mailto.url != ''"> |
| <link rev="made" href="{$link.mailto.url}"/> |
| </xsl:if> |
| |
| <xsl:if test="$html.base != ''"> |
| <base href="{$html.base}"/> |
| </xsl:if> |
| |
| <meta xmlns="http://www.w3.org/1999/xhtml" name="generator" content="DocBook {$DistroTitle} V{$VERSION}"/> |
| |
| <xsl:if test="$generate.meta.abstract != 0"> |
| <xsl:variable name="info" select="(articleinfo |bookinfo |prefaceinfo |chapterinfo |appendixinfo |sectioninfo |sect1info |sect2info |sect3info |sect4info |sect5info |referenceinfo |refentryinfo |partinfo |info |docinfo)[1]"/> |
| <xsl:if test="$info and $info/abstract"> |
| <meta xmlns="http://www.w3.org/1999/xhtml" name="description"> |
| <xsl:attribute name="content"> |
| <xsl:for-each select="$info/abstract[1]/*"> |
| <xsl:value-of select="normalize-space(.)"/> |
| <xsl:if test="position() < last()"> |
| <xsl:text> </xsl:text> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:attribute> |
| </meta> |
| </xsl:if> |
| </xsl:if> |
| |
| <xsl:apply-templates select="." mode="head.keywords.content"/> |
| </xsl:template> |
| |
| <!-- |
| From: xhtml/docbook.xsl |
| Reason: Add css class for draft mode |
| Version: 1.72.0 |
| --> |
| <xsl:template name="body.attributes"> |
| <xsl:if test="($draft.mode = 'yes' or ($draft.mode = 'maybe' and ancestor-or-self::*[@status][1]/@status = 'draft'))"> |
| <xsl:attribute name="class"> |
| <xsl:value-of select="ancestor-or-self::*[@status][1]/@status"/> |
| </xsl:attribute> |
| </xsl:if> |
| </xsl:template> |
| |
| <!-- |
| From: xhtml/docbook.xsl |
| Reason: Add confidential to footer |
| Version: 1.72.0 |
| --> |
| <xsl:template name="user.footer.content"> |
| <xsl:param name="node" select="."/> |
| <xsl:if test="$confidential = '1'"> |
| <h1 xmlns="http://www.w3.org/1999/xhtml" class="confidential"> |
| <xsl:text>Red Hat Confidential!</xsl:text> |
| </h1> |
| </xsl:if> |
| </xsl:template> |
| |
| <!-- |
| From: xhtml/block.xsl |
| Reason: default class (otherwise) to formalpara |
| Version: 1.72.0 |
| --> |
| <xsl:template match="formalpara"> |
| <xsl:call-template name="paragraph"> |
| <xsl:with-param name="class"> |
| <xsl:choose> |
| <xsl:when test="@role and $para.propagates.style != 0"> |
| <xsl:value-of select="@role"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:text>formalpara</xsl:text> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:with-param> |
| <xsl:with-param name="content"> |
| <xsl:call-template name="anchor"/> |
| <xsl:apply-templates/> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:template> |
| |
| <!-- |
| From: xhtml/block.xsl |
| Reason: h5 instead of <b>, remove default title end punctuation |
| Version: 1.72.0 |
| --> |
| <xsl:template match="formalpara/title|formalpara/info/title"> |
| <xsl:variable name="titleStr"> |
| <xsl:apply-templates/> |
| </xsl:variable> |
| <h5 xmlns="http://www.w3.org/1999/xhtml" class="formalpara"> |
| <xsl:copy-of select="$titleStr"/> |
| </h5> |
| </xsl:template> |
| |
| <!-- |
| From: xhtml/footnote.xsl |
| Reason: remove inline css from hr |
| Version: 1.72.0 |
| --> |
| <xsl:template name="process.footnotes"> |
| <xsl:variable name="footnotes" select=".//footnote"/> |
| <xsl:variable name="table.footnotes" select=".//tgroup//footnote"/> |
| |
| <!-- Only bother to do this if there's at least one non-table footnote --> |
| <xsl:if test="count($footnotes)>count($table.footnotes)"> |
| <div class="footnotes"> |
| <br/> |
| <hr/> |
| <xsl:apply-templates select="$footnotes" mode="process.footnote.mode"/> |
| </div> |
| </xsl:if> |
| |
| <xsl:if test="$annotation.support != 0 and //annotation"> |
| <div class="annotation-list"> |
| <div class="annotation-nocss"> |
| <p>The following annotations are from this essay. You are seeing |
| them here because your browser doesn’t support the user-interface |
| techniques used to make them appear as ‘popups’ on modern browsers.</p> |
| </div> |
| |
| <xsl:apply-templates select="//annotation" mode="annotation-popup"/> |
| </div> |
| </xsl:if> |
| </xsl:template> |
| |
| <xsl:template match="programlisting[@role='XML']|programlisting[@role='JAVA']|programlisting[@role='XHTML']|programlisting[@role='JSP']|programlisting[@role='CSS']"> |
| |
| <xsl:variable name="role"> |
| <xsl:value-of select="s:toUpperCase(string(@role))" xmlns:s="java:java.lang.String"/> |
| </xsl:variable> |
| |
| <xsl:variable name="factory" select="rf:instance()"/> |
| <xsl:variable name="hiliter" select="rf:getRenderer($factory, string($role))"/> |
| |
| <pre class="{$role}"> |
| <xsl:choose> |
| <xsl:when test="$hiliter"> |
| <xsl:for-each select="node()"> |
| <xsl:choose> |
| <xsl:when test="self::text()"> |
| <xsl:variable name="child.content" select="."/> |
| |
| <xsl:value-of select="jhr:highlight($hiliter, $role, string($child.content), 'UTF-8', true())" |
| xmlns:jhr="com.uwyn.jhighlight.renderer.Renderer" disable-output-escaping="yes"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <!-- Support a single linkend in HTML --> |
| <xsl:variable name="targets" select="key('id', @linkends)"/> |
| <xsl:variable name="target" select="$targets[1]"/> |
| <xsl:choose> |
| <xsl:when test="$target"> |
| <a> |
| <xsl:if test="@id or @xml:id"> |
| <xsl:attribute name="id"> |
| <xsl:value-of select="(@id|@xml:id)[1]"/> |
| </xsl:attribute> |
| </xsl:if> |
| <xsl:attribute name="href"> |
| <xsl:call-template name="href.target"> |
| <xsl:with-param name="object" select="$target"/> |
| </xsl:call-template> |
| </xsl:attribute> |
| <xsl:apply-templates select="." mode="callout-bug"/> |
| </a> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="anchor"/> |
| <xsl:apply-templates select="." mode="callout-bug"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:apply-templates/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </pre> |
| |
| </xsl:template> |
| |
| </xsl:stylesheet> |