[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: A not so pretty solution - override with fo properties instead of testing for parameters.
Hello everyone, I shared a problem with the list so I should share the solution I came up with. In this example you test for the role on emphasis/phrase/abbrev all in one go and have a nice maintainable list of phrase styles. The method of achieving this is a little odd though and if someone has a better idea I'd love to hear it. I'm using formatting objects property of being overridden by the innermost attribute to allow Pis to override phrase roles. When I posted the problem I posted about 1/2 this code but I figure solutions are more useful to everyone in general. <xsl:template match="phrase[@role = 'Hyperlink']"> <!-- this more complex match is handled outside of normal phrases--> <xsl:param name="string" select="."/> <fo:inline text-decoration="underline"> <xsl:value-of select="substring-before($string, '//')"/> <!--text on this line prints as if pre-formatted so keep it on this line--> <fo:leader leader-length="0.01pt"/>//<xsl:call-template name="slash.replacement.for.breaking"> <xsl:with-param name="string" select="substring-after($string, '//')"/> </xsl:call-template> </fo:inline> </xsl:template> <!--Pis have their own fo:inline to achieve this, innermost fo:inline overrides outtermost--> <xsl:template name="inline.charseq"> <!--these are from fo/inline.xsl--> <xsl:param name="content"> <xsl:call-template name="simple.xlink"> <xsl:with-param name="content"> <xsl:apply-templates/> </xsl:with-param> </xsl:call-template> </xsl:param> <!--modified, this had the fo:inline in a spot that made it not re-usable.--> <!--======================================================================== ======== FO INLINE--> <fo:inline> <xsl:if test="@dir"> <xsl:attribute name="direction"><xsl:choose><xsl:when test="@dir = 'ltr' or @dir = 'lro'">ltr</xsl:when><xsl:otherwise>rtl</xsl:otherwise></xsl:choose></xsl:at tribute> </xsl:if> <!--======================================================================== ======== FO INLINE--> <fo:inline> <xsl:call-template name="castle.attributes"/> <!--======================================================================== ======== FO INLINE--> <fo:inline> <!--PI should override Castlerock attributes--> <xsl:call-template name="processing.instruction.attributes"/> <xsl:choose> <xsl:when test="@role='UnderOver'"> <!--this is not so elegant but required--> <fo:inline text-decoration="overline"> <xsl:copy-of select="$content"/> </fo:inline> </xsl:when> <xsl:when test="self::abbrev"> <!--this is not so elegant but required Extra enter after the copy-of here causes extra space in output--> <xsl:copy-of select="$content"/><fo:inline font-family="Code2000"></fo:inline> </xsl:when> <xsl:otherwise> <xsl:copy-of select="$content"/> </xsl:otherwise> </xsl:choose> </fo:inline> </fo:inline> </fo:inline> </xsl:template> <!--end inline.charseq--> <!--begin processing.instruction.attributes--> <xsl:template name="processing.instruction.attributes"> <!--PI Variables, to be used to generate the PI--> <xsl:param name="azimuth"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'azimuth'"/> </xsl:call-template> </xsl:param> <xsl:param name="alignment-adjust"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'alignment-adjust'"/> </xsl:call-template> </xsl:param> <xsl:param name="alignment-baseline"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'alignment-baseline'"/> </xsl:call-template> </xsl:param> <xsl:param name="background-attachment"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'background-attachment'"/> </xsl:call-template> </xsl:param> <xsl:param name="background-color"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'background-color'"/> </xsl:call-template> </xsl:param> <xsl:param name="background-image"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'background-image'"/> </xsl:call-template> </xsl:param> <xsl:param name="background-repeat"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'background-repeat'"/> </xsl:call-template> </xsl:param> <xsl:param name="background-position-horizontal"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'background-position-horizontal'"/> </xsl:call-template> </xsl:param> <xsl:param name="background-position-vertical"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'background-position-vertical'"/> </xsl:call-template> </xsl:param> <xsl:param name="baseline-shift"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'baseline-shift'"/> </xsl:call-template> </xsl:param> <xsl:param name="block-progression-dimension"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'block-progression-dimension'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-after-color"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-after-color'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-after-style"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-after-style'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-after-width"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-after-width'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-before-color"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-before-color'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-before-style"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-before-style'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-before-width"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-before-width'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-bottom-color"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-bottom-color'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-bottom-style"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-bottom-style'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-bottom-width"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-bottom-width'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-end-color"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-end-color'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-end-style"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-end-style'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-end-width"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-end-width'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-left-color"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-left-color'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-left-style"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-left-style'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-left-width"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-left-width'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-right-color"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-right-color'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-right-style"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-right-style'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-right-width"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-right-width'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-start-color"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-start-color'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-start-style"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-start-style'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-start-width"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-start-width'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-top-color"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-top-color'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-top-style"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-top-style'"/> </xsl:call-template> </xsl:param> <xsl:param name="border-top-width"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'border-top-width'"/> </xsl:call-template> </xsl:param> <xsl:param name="bottom"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'bottom'"/> </xsl:call-template> </xsl:param> <xsl:param name="color"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'color'"/> </xsl:call-template> </xsl:param> <xsl:param name="cue-after"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'cue-after'"/> </xsl:call-template> </xsl:param> <xsl:param name="cue-before"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'cue-before'"/> </xsl:call-template> </xsl:param> <xsl:param name="dominant-baseline"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'dominant-baseline'"/> </xsl:call-template> </xsl:param> <xsl:param name="elevation"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'elevation'"/> </xsl:call-template> </xsl:param> <xsl:param name="font-family"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'font-family'"/> </xsl:call-template> </xsl:param> <xsl:param name="font-selection-strategy"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'font-selection-strategy'"/> </xsl:call-template> </xsl:param> <xsl:param name="font-size"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'font-size'"/> </xsl:call-template> </xsl:param> <xsl:param name="font-size-adjust"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'font-size-adjust'"/> </xsl:call-template> </xsl:param> <xsl:param name="font-stretch"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'font-stretch'"/> </xsl:call-template> </xsl:param> <xsl:param name="font-style"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'font-style'"/> </xsl:call-template> </xsl:param> <xsl:param name="font-variant"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'font-variant'"/> </xsl:call-template> </xsl:param> <xsl:param name="font-weight"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'font-weight'"/> </xsl:call-template> </xsl:param> <xsl:param name="height"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'height'"/> </xsl:call-template> </xsl:param> <xsl:param name="id"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'id'"/> </xsl:call-template> </xsl:param> <xsl:param name="inline-progression-dimension"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'inline-progression-dimension'"/> </xsl:call-template> </xsl:param> <xsl:param name="keep-together"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'keep-together'"/> </xsl:call-template> </xsl:param> <xsl:param name="keep-with-next"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'keep-with-next'"/> </xsl:call-template> </xsl:param> <xsl:param name="keep-with-previous"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'keep-with-previous'"/> </xsl:call-template> </xsl:param> <xsl:param name="left"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'left'"/> </xsl:call-template> </xsl:param> <xsl:param name="line-height"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'line-height'"/> </xsl:call-template> </xsl:param> <xsl:param name="margin-bottom"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'margin-bottom'"/> </xsl:call-template> </xsl:param> <xsl:param name="margin-left"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'margin-left'"/> </xsl:call-template> </xsl:param> <xsl:param name="margin-right"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'margin-right'"/> </xsl:call-template> </xsl:param> <xsl:param name="margin-top"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'margin-top'"/> </xsl:call-template> </xsl:param> <xsl:param name="padding-after"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'padding-after'"/> </xsl:call-template> </xsl:param> <xsl:param name="padding-before"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'padding-before'"/> </xsl:call-template> </xsl:param> <xsl:param name="padding-bottom"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'padding-bottom'"/> </xsl:call-template> </xsl:param> <xsl:param name="padding-end"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'padding-end'"/> </xsl:call-template> </xsl:param> <xsl:param name="padding-left"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'padding-left'"/> </xsl:call-template> </xsl:param> <xsl:param name="padding-right"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'padding-right'"/> </xsl:call-template> </xsl:param> <xsl:param name="padding-start"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'padding-start'"/> </xsl:call-template> </xsl:param> <xsl:param name="padding-top"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'padding-top'"/> </xsl:call-template> </xsl:param> <xsl:param name="pause-after"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'pause-after'"/> </xsl:call-template> </xsl:param> <xsl:param name="pause-before"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'pause-before'"/> </xsl:call-template> </xsl:param> <xsl:param name="pitch"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'pitch'"/> </xsl:call-template> </xsl:param> <xsl:param name="pitch-range"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'pitch-range'"/> </xsl:call-template> </xsl:param> <xsl:param name="play-during"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'play-during'"/> </xsl:call-template> </xsl:param> <xsl:param name="relative-position"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'relative-position'"/> </xsl:call-template> </xsl:param> <xsl:param name="richness"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'richness'"/> </xsl:call-template> </xsl:param> <xsl:param name="right"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'right'"/> </xsl:call-template> </xsl:param> <xsl:param name="role"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'role'"/> </xsl:call-template> </xsl:param> <xsl:param name="source-document"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'source-document'"/> </xsl:call-template> </xsl:param> <xsl:param name="space-end"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'space-end'"/> </xsl:call-template> </xsl:param> <xsl:param name="space-start"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'space-start'"/> </xsl:call-template> </xsl:param> <xsl:param name="speak"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'speak'"/> </xsl:call-template> </xsl:param> <xsl:param name="speak-header"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'speak-header'"/> </xsl:call-template> </xsl:param> <xsl:param name="speak-numeral"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'speak-numeral'"/> </xsl:call-template> </xsl:param> <xsl:param name="speak-punctuation"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'speak-punctuation'"/> </xsl:call-template> </xsl:param> <xsl:param name="speech-rate"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'speech-rate'"/> </xsl:call-template> </xsl:param> <xsl:param name="stress"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'stress'"/> </xsl:call-template> </xsl:param> <xsl:param name="text-decoration"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'text-decoration'"/> </xsl:call-template> </xsl:param> <xsl:param name="text-transform"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'text-transform'"/> </xsl:call-template> </xsl:param> <xsl:param name="top"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'top'"/> </xsl:call-template> </xsl:param> <xsl:param name="visibility"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'visibility'"/> </xsl:call-template> </xsl:param> <xsl:param name="voice-family"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'voice-family'"/> </xsl:call-template> </xsl:param> <xsl:param name="volume"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'volume'"/> </xsl:call-template> </xsl:param> <xsl:param name="width"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'width'"/> </xsl:call-template> </xsl:param> <xsl:param name="wrap-option"> <xsl:call-template name="dbfo-attribute"> <xsl:with-param name="pis" select="processing-instruction('dbfo')"/> <xsl:with-param name="attribute" select="'wrap-option'"/> </xsl:call-template> </xsl:param> <!--end of creation of PI variables--> <!--here are our attributes based on PI perameters--> <xsl:if test="$azimuth!=''"> <xsl:attribute name="azimuth"><xsl:value-of select="$azimuth"/></xsl:attribute> </xsl:if> <xsl:if test="$alignment-adjust!=''"> <xsl:attribute name="alignment-adjust"><xsl:value-of select="$alignment-adjust"/></xsl:attribute> </xsl:if> <xsl:if test="$alignment-baseline!=''"> <xsl:attribute name="alignment-baseline"><xsl:value-of select="$alignment-baseline"/></xsl:attribute> </xsl:if> <xsl:if test="$background-attachment!=''"> <xsl:attribute name="background-attachment"><xsl:value-of select="$background-attachment"/></xsl:attribute> </xsl:if> <xsl:if test="$background-color!=''"> <xsl:attribute name="background-color"><xsl:value-of select="$background-color"/></xsl:attribute> </xsl:if> <xsl:if test="$background-image!=''"> <xsl:attribute name="background-image"><xsl:value-of select="$background-image"/></xsl:attribute> </xsl:if> <xsl:if test="$background-repeat!=''"> <xsl:attribute name="background-repeat"><xsl:value-of select="$background-repeat"/></xsl:attribute> </xsl:if> <xsl:if test="$background-position-horizontal!=''"> <xsl:attribute name="background-position-horizontal"><xsl:value-of select="$background-position-horizontal"/></xsl:attribute> </xsl:if> <xsl:if test="$background-position-vertical!=''"> <xsl:attribute name="background-position-vertical"><xsl:value-of select="$background-position-vertical"/></xsl:attribute> </xsl:if> <xsl:if test="$baseline-shift!=''"> <xsl:attribute name="baseline-shift"><xsl:value-of select="$baseline-shift"/></xsl:attribute> </xsl:if> <xsl:if test="$block-progression-dimension!=''"> <xsl:attribute name="block-progression-dimension"><xsl:value-of select="$block-progression-dimension"/></xsl:attribute> </xsl:if> <xsl:if test="$border-after-color!=''"> <xsl:attribute name="border-after-color"><xsl:value-of select="$border-after-color"/></xsl:attribute> </xsl:if> <xsl:if test="$border-after-style!=''"> <xsl:attribute name="border-after-style"><xsl:value-of select="$border-after-style"/></xsl:attribute> </xsl:if> <xsl:if test="$border-after-width!=''"> <xsl:attribute name="border-after-width"><xsl:value-of select="$border-after-width"/></xsl:attribute> </xsl:if> <xsl:if test="$border-before-color!=''"> <xsl:attribute name="border-before-color"><xsl:value-of select="$border-before-color"/></xsl:attribute> </xsl:if> <xsl:if test="$border-before-style!=''"> <xsl:attribute name="border-before-style"><xsl:value-of select="$border-before-style"/></xsl:attribute> </xsl:if> <xsl:if test="$border-before-width!=''"> <xsl:attribute name="border-before-width"><xsl:value-of select="$border-before-width"/></xsl:attribute> </xsl:if> <xsl:if test="$border-bottom-color!=''"> <xsl:attribute name="border-bottom-color"><xsl:value-of select="$border-bottom-color"/></xsl:attribute> </xsl:if> <xsl:if test="$border-bottom-style!=''"> <xsl:attribute name="border-bottom-style"><xsl:value-of select="$border-bottom-style"/></xsl:attribute> </xsl:if> <xsl:if test="$border-bottom-width!=''"> <xsl:attribute name="border-bottom-width"><xsl:value-of select="$border-bottom-width"/></xsl:attribute> </xsl:if> <xsl:if test="$border-end-color!=''"> <xsl:attribute name="border-end-color"><xsl:value-of select="$border-end-color"/></xsl:attribute> </xsl:if> <xsl:if test="$border-end-style!=''"> <xsl:attribute name="border-end-style"><xsl:value-of select="$border-end-style"/></xsl:attribute> </xsl:if> <xsl:if test="$border-end-width!=''"> <xsl:attribute name="border-end-width"><xsl:value-of select="$border-end-width"/></xsl:attribute> </xsl:if> <xsl:if test="$border-left-color!=''"> <xsl:attribute name="border-left-color"><xsl:value-of select="$border-left-color"/></xsl:attribute> </xsl:if> <xsl:if test="$border-left-style!=''"> <xsl:attribute name="border-left-style"><xsl:value-of select="$border-left-style"/></xsl:attribute> </xsl:if> <xsl:if test="$border-left-width!=''"> <xsl:attribute name="border-left-width"><xsl:value-of select="$border-left-width"/></xsl:attribute> </xsl:if> <xsl:if test="$border-right-color!=''"> <xsl:attribute name="border-right-color"><xsl:value-of select="$border-right-color"/></xsl:attribute> </xsl:if> <xsl:if test="$border-right-style!=''"> <xsl:attribute name="border-right-style"><xsl:value-of select="$border-right-style"/></xsl:attribute> </xsl:if> <xsl:if test="$border-right-width!=''"> <xsl:attribute name="border-right-width"><xsl:value-of select="$border-right-width"/></xsl:attribute> </xsl:if> <xsl:if test="$border-start-color!=''"> <xsl:attribute name="border-start-color"><xsl:value-of select="$border-start-color"/></xsl:attribute> </xsl:if> <xsl:if test="$border-start-style!=''"> <xsl:attribute name="border-start-style"><xsl:value-of select="$border-start-style"/></xsl:attribute> </xsl:if> <xsl:if test="$border-start-width!=''"> <xsl:attribute name="border-start-width"><xsl:value-of select="$border-start-width"/></xsl:attribute> </xsl:if> <xsl:if test="$border-top-color!=''"> <xsl:attribute name="border-top-color"><xsl:value-of select="$border-top-color"/></xsl:attribute> </xsl:if> <xsl:if test="$border-top-style!=''"> <xsl:attribute name="border-top-style"><xsl:value-of select="$border-top-style"/></xsl:attribute> </xsl:if> <xsl:if test="$border-top-width!=''"> <xsl:attribute name="border-top-width"><xsl:value-of select="$border-top-width"/></xsl:attribute> </xsl:if> <xsl:if test="$bottom!=''"> <xsl:attribute name="bottom"><xsl:value-of select="$bottom"/></xsl:attribute> </xsl:if> <xsl:if test="$color!=''"> <xsl:attribute name="color"><xsl:value-of select="$color"/></xsl:attribute> </xsl:if> <xsl:if test="$cue-after!=''"> <xsl:attribute name="cue-after"><xsl:value-of select="$cue-after"/></xsl:attribute> </xsl:if> <xsl:if test="$cue-before!=''"> <xsl:attribute name="cue-before"><xsl:value-of select="$cue-before"/></xsl:attribute> </xsl:if> <xsl:if test="$dominant-baseline!=''"> <xsl:attribute name="dominant-baseline"><xsl:value-of select="$dominant-baseline"/></xsl:attribute> </xsl:if> <xsl:if test="$elevation!=''"> <xsl:attribute name="elevation"><xsl:value-of select="$elevation"/></xsl:attribute> </xsl:if> <xsl:if test="$font-family!=''"> <xsl:attribute name="font-family"><xsl:value-of select="$font-family"/></xsl:attribute> </xsl:if> <xsl:if test="$font-selection-strategy!=''"> <xsl:attribute name="font-selection-strategy"><xsl:value-of select="$font-selection-strategy"/></xsl:attribute> </xsl:if> <xsl:if test="$font-size!=''"> <xsl:attribute name="font-size"><xsl:value-of select="$font-size"/></xsl:attribute> </xsl:if> <xsl:if test="$font-size-adjust!=''"> <xsl:attribute name="font-size-adjust"><xsl:value-of select="$font-size-adjust"/></xsl:attribute> </xsl:if> <xsl:if test="$font-stretch!=''"> <xsl:attribute name="font-stretch"><xsl:value-of select="$font-stretch"/></xsl:attribute> </xsl:if> <xsl:if test="$font-style!=''"> <xsl:attribute name="font-style"><xsl:value-of select="$font-style"/></xsl:attribute> </xsl:if> <xsl:if test="$font-variant!=''"> <xsl:attribute name="font-variant"><xsl:value-of select="$font-variant"/></xsl:attribute> </xsl:if> <xsl:if test="$font-weight!=''"> <xsl:attribute name="font-weight"><xsl:value-of select="$font-weight"/></xsl:attribute> </xsl:if> <xsl:if test="$height!=''"> <xsl:attribute name="height"><xsl:value-of select="$height"/></xsl:attribute> </xsl:if> <xsl:if test="$id!=''"> <xsl:attribute name="id"><xsl:value-of select="$id"/></xsl:attribute> </xsl:if> <xsl:if test="$inline-progression-dimension!=''"> <xsl:attribute name="inline-progression-dimension"><xsl:value-of select="$inline-progression-dimension"/></xsl:attribute> </xsl:if> <xsl:if test="$keep-together!=''"> <xsl:attribute name="keep-together"><xsl:value-of select="$keep-together"/></xsl:attribute> </xsl:if> <xsl:if test="$keep-with-next!=''"> <xsl:attribute name="keep-with-next"><xsl:value-of select="$keep-with-next"/></xsl:attribute> </xsl:if> <xsl:if test="$keep-with-previous!=''"> <xsl:attribute name="keep-with-previous"><xsl:value-of select="$keep-with-previous"/></xsl:attribute> </xsl:if> <xsl:if test="$left!=''"> <xsl:attribute name="left"><xsl:value-of select="$left"/></xsl:attribute> </xsl:if> <xsl:if test="$line-height!=''"> <xsl:attribute name="line-height"><xsl:value-of select="$line-height"/></xsl:attribute> </xsl:if> <xsl:if test="$margin-bottom!=''"> <xsl:attribute name="margin-bottom"><xsl:value-of select="$margin-bottom"/></xsl:attribute> </xsl:if> <xsl:if test="$margin-left!=''"> <xsl:attribute name="margin-left"><xsl:value-of select="$margin-left"/></xsl:attribute> </xsl:if> <xsl:if test="$margin-right!=''"> <xsl:attribute name="margin-right"><xsl:value-of select="$margin-right"/></xsl:attribute> </xsl:if> <xsl:if test="$margin-top!=''"> <xsl:attribute name="margin-top"><xsl:value-of select="$margin-top"/></xsl:attribute> </xsl:if> <xsl:if test="$padding-after!=''"> <xsl:attribute name="padding-after"><xsl:value-of select="$padding-after"/></xsl:attribute> </xsl:if> <xsl:if test="$padding-before!=''"> <xsl:attribute name="padding-before"><xsl:value-of select="$padding-before"/></xsl:attribute> </xsl:if> <xsl:if test="$padding-bottom!=''"> <xsl:attribute name="padding-bottom"><xsl:value-of select="$padding-bottom"/></xsl:attribute> </xsl:if> <xsl:if test="$padding-end!=''"> <xsl:attribute name="padding-end"><xsl:value-of select="$padding-end"/></xsl:attribute> </xsl:if> <xsl:if test="$padding-left!=''"> <xsl:attribute name="padding-left"><xsl:value-of select="$padding-left"/></xsl:attribute> </xsl:if> <xsl:if test="$padding-right!=''"> <xsl:attribute name="padding-right"><xsl:value-of select="$padding-right"/></xsl:attribute> </xsl:if> <xsl:if test="$padding-start!=''"> <xsl:attribute name="padding-start"><xsl:value-of select="$padding-start"/></xsl:attribute> </xsl:if> <xsl:if test="$padding-top!=''"> <xsl:attribute name="padding-top"><xsl:value-of select="$padding-top"/></xsl:attribute> </xsl:if> <xsl:if test="$pause-after!=''"> <xsl:attribute name="pause-after"><xsl:value-of select="$pause-after"/></xsl:attribute> </xsl:if> <xsl:if test="$pause-before!=''"> <xsl:attribute name="pause-before"><xsl:value-of select="$pause-before"/></xsl:attribute> </xsl:if> <xsl:if test="$pitch!=''"> <xsl:attribute name="pitch"><xsl:value-of select="$pitch"/></xsl:attribute> </xsl:if> <xsl:if test="$pitch-range!=''"> <xsl:attribute name="pitch-range"><xsl:value-of select="$pitch-range"/></xsl:attribute> </xsl:if> <xsl:if test="$play-during!=''"> <xsl:attribute name="play-during"><xsl:value-of select="$play-during"/></xsl:attribute> </xsl:if> <xsl:if test="$relative-position!=''"> <xsl:attribute name="relative-position"><xsl:value-of select="$relative-position"/></xsl:attribute> </xsl:if> <xsl:if test="$richness!=''"> <xsl:attribute name="richness"><xsl:value-of select="$richness"/></xsl:attribute> </xsl:if> <xsl:if test="$right!=''"> <xsl:attribute name="right"><xsl:value-of select="$right"/></xsl:attribute> </xsl:if> <xsl:if test="$role!=''"> <xsl:attribute name="role"><xsl:value-of select="$role"/></xsl:attribute> </xsl:if> <xsl:if test="$source-document!=''"> <xsl:attribute name="source-document"><xsl:value-of select="$source-document"/></xsl:attribute> </xsl:if> <xsl:if test="$space-end!=''"> <xsl:attribute name="space-end"><xsl:value-of select="$space-end"/></xsl:attribute> </xsl:if> <xsl:if test="$space-start!=''"> <xsl:attribute name="space-start"><xsl:value-of select="$space-start"/></xsl:attribute> </xsl:if> <xsl:if test="$speak!=''"> <xsl:attribute name="speak"><xsl:value-of select="$speak"/></xsl:attribute> </xsl:if> <xsl:if test="$speak-header!=''"> <xsl:attribute name="speak-header"><xsl:value-of select="$speak-header"/></xsl:attribute> </xsl:if> <xsl:if test="$speak-numeral!=''"> <xsl:attribute name="speak-numeral"><xsl:value-of select="$speak-numeral"/></xsl:attribute> </xsl:if> <xsl:if test="$speak-punctuation!=''"> <xsl:attribute name="speak-punctuation"><xsl:value-of select="$speak-punctuation"/></xsl:attribute> </xsl:if> <xsl:if test="$speech-rate!=''"> <xsl:attribute name="speech-rate"><xsl:value-of select="$speech-rate"/></xsl:attribute> </xsl:if> <xsl:if test="$stress!=''"> <xsl:attribute name="stress"><xsl:value-of select="$stress"/></xsl:attribute> </xsl:if> <xsl:if test="$text-decoration!=''"> <xsl:attribute name="text-decoration"><xsl:value-of select="$text-decoration"/></xsl:attribute> </xsl:if> <xsl:if test="$text-transform!=''"> <xsl:attribute name="text-transform"><xsl:value-of select="$text-transform"/></xsl:attribute> </xsl:if> <xsl:if test="$top!=''"> <xsl:attribute name="top"><xsl:value-of select="$top"/></xsl:attribute> </xsl:if> <xsl:if test="$visibility!=''"> <xsl:attribute name="visibility"><xsl:value-of select="$visibility"/></xsl:attribute> </xsl:if> <xsl:if test="$voice-family!=''"> <xsl:attribute name="voice-family"><xsl:value-of select="$voice-family"/></xsl:attribute> </xsl:if> <xsl:if test="$volume!=''"> <xsl:attribute name="volume"><xsl:value-of select="$volume"/></xsl:attribute> </xsl:if> <xsl:if test="$width!=''"> <xsl:attribute name="width"><xsl:value-of select="$width"/></xsl:attribute> </xsl:if> <xsl:if test="$wrap-option!=''"> <xsl:attribute name="wrap-option"><xsl:value-of select="$wrap-option"/></xsl:attribute> </xsl:if> <!--end processing.instruction.attributes--> </xsl:template> <xsl:template name="castle.attributes"> <!--standard styles based on roles, these override PIs if they are before the PI if statements and are overriden by PIs if they appear after--> <xsl:choose> <!--here is our test for roles--> <xsl:when test="@role='uppercase-normal'"> <xsl:attribute name="text-transform"> uppercase </xsl:attribute> <xsl:attribute name="margin"> 0pt </xsl:attribute> </xsl:when> <xsl:when test="@role='Code2000'"> <xsl:attribute name="font-family">Code2000</xsl:attribute> </xsl:when> <xsl:when test="@role='lowercase-normal'"> <xsl:attribute name="text-transform"> lowercase </xsl:attribute> <xsl:attribute name="margin"> 0pt </xsl:attribute> <!-- <xsl:attribute name="color"> yellow </xsl:attribute> <xsl:message>test enabled for lowercase-normal. Look for yellow text.</xsl:message> --> </xsl:when> <xsl:when test="@role = 'THEKEY'"> <xsl:attribute name="font-weight">bold</xsl:attribute> <xsl:attribute name="font-style">italic</xsl:attribute> <xsl:attribute name="text-transform">uppercase</xsl:attribute> <xsl:attribute name="margin-right">2pt</xsl:attribute> </xsl:when> <xsl:when test="@role = 'Uppercase'"> <xsl:attribute name="font-weight">bold</xsl:attribute> <xsl:attribute name="text-transform">uppercase</xsl:attribute> </xsl:when> <xsl:when test="@role = 'Variables'"> <xsl:attribute name="font-style"> italic </xsl:attribute> <xsl:attribute name="margin-left"> 1pt </xsl:attribute> <xsl:attribute name="margin-right"> 1pt </xsl:attribute> <!-- <xsl:attribute name="color"> yellow </xsl:attribute> <xsl:message>test enabled for Variables. Look for yellow text.</xsl:message> --> </xsl:when> <xsl:when test="@role = 'Uppercase_Shadow'"> <xsl:attribute name="text-shadow">#C0C0C0</xsl:attribute> <xsl:attribute name="font-weight">bold</xsl:attribute> <xsl:attribute name="text-transform">uppercase</xsl:attribute> </xsl:when> <xsl:when test="Masthead-normal"> <xsl:attribute name="xsl:use-attribute-sets">book.titlepage.verso.style</xsl:attribute> </xsl:when> <xsl:when test="@role='UnderOver'"> <xsl:attribute name="text-decoration"> underline </xsl:attribute> <!-- <xsl:attribute name="color"> yellow </xsl:attribute> <xsl:message>test enabled for UnderOver. Look for yellow text.</xsl:message> --> </xsl:when> <xsl:when test="@role = 'Under-Bold'"> <xsl:attribute name="font-weight"> bold </xsl:attribute> <xsl:attribute name="text-decoration"> underline </xsl:attribute> </xsl:when> <xsl:when test="@role = 'Underline'"> <xsl:attribute name="text-decoration"> underline </xsl:attribute> </xsl:when> <xsl:when test="@role = 'Strike'"> <xsl:attribute name="text-decoration"> line-through </xsl:attribute> </xsl:when> <xsl:when test="@role = 'Strong'"> <xsl:attribute name="font-weight"> bold </xsl:attribute> </xsl:when> <xsl:when test="@role = 'Strong-Italic'"> <xsl:attribute name="font-weight"> bold </xsl:attribute> <xsl:attribute name="font-style"> italic </xsl:attribute> </xsl:when> <xsl:when test="@role='Emphasis'"> <xsl:attribute name="font-style"> italic </xsl:attribute> </xsl:when> <xsl:when test="@role = 'SmallCaps'"> <xsl:attribute name="font-variant"> small-caps </xsl:attribute> </xsl:when> <xsl:when test="@role = 'small-caps_Shadow'"> <xsl:attribute name="font-weight"> bold </xsl:attribute> <xsl:attribute name="font-variant"> small-caps </xsl:attribute> <xsl:attribute name="text-shadow"><!-- Shadow not supported by Antenna house product. Otherwise this style is good to go--> #000000 </xsl:attribute> </xsl:when> <xsl:when test="@role = 'Right-Align'"> <xsl:attribute name="display-align"> after </xsl:attribute> <xsl:attribute name="text-align"> right </xsl:attribute> </xsl:when> <xsl:when test="@role = 'Overline'"> <xsl:attribute name="text-decoration"> overline </xsl:attribute> </xsl:when> <xsl:when test="@role = 'filled-in'"> <xsl:attribute name="font-style"> italic </xsl:attribute> <xsl:attribute name="text-decoration"> underline </xsl:attribute> <xsl:attribute name="margin"> .5em </xsl:attribute> </xsl:when> <xsl:when test="@role = 'Masthead_right'"> <xsl:attribute name="font-size"> 12pt </xsl:attribute> <xsl:attribute name="xsl:use-attribute-sets"> alternate.heading.font </xsl:attribute> </xsl:when> <xsl:when test="@role = 'Masthead_right_Bold'"> <xsl:attribute name="font-size"> 12pt </xsl:attribute> <xsl:attribute name="xsl:use-attribute-sets"> alternate.heading.font strong.set </xsl:attribute> <xsl:attribute name="height"> 15pt </xsl:attribute> </xsl:when> </xsl:choose> </xsl:template> <!--end phrase roles and PI attributes RE: PIs override roles via adding another layer of fo:inline-->
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]