% $Id: //depot/Master/texmf/tex/xmltex/passivetex/fotex.xmt#90 $, $Date: 2002/06/25 $ % % PassiveTeX version 1.17 % % Copyright 2002 Sebastian Rahtz/Oxford University % % % Permission is hereby granted, free of charge, to any person obtaining % a copy of this software and any associated documentation files (the % ``Software''), to deal in the Software without restriction, including % without limitation the rights to use, copy, modify, merge, publish, % distribute, sublicense, and/or sell copies of the Software, and to % permit persons to whom the Software is furnished to do so, subject to % the following conditions: % % The above copyright notice and this permission notice shall be included % in all copies or substantial portions of the Software. % % Includes fixes from Tomas Bures % Yura Zotov % Anton V. Boyarshinov \DeclareNamespace{fotex}{http://www.tug.org/fotex} \DeclareNamespace{fo}{http://www.w3.org/1999/XSL/Format} \def\string@autoauto{autoauto} \XMLstring\FirstOnPage<>first-starting-within-page \XMLstring\LastOnPage<>last-starting-within-page \XMLstring\LINK<>LINK \XMLstring\file@urlprefix<>url( \XMLstring\file@prefix<>file:// \XMLstring\file@shortprefix<>file: \XMLstringX\prop@width<>proportional-column-width(1) \XMLstringX\@staticafter<>xsl-after \XMLstringX\@staticbefore<>xsl-before \XMLstringX\@staticstart<>xsl-start \XMLstring\att@labelend<>label-end() \XMLstring\att@bodystart<>body-start() \XMLstringX\att@NaN<>NaN \XMLstringX\att@all<>all \XMLstringX\att@always<>always \XMLstringX\att@any<>any \XMLstringX\att@auto<>auto \XMLstringX\att@autoodd<>auto-odd \XMLstringX\att@autoeven<>auto-even \XMLstringX\att@endonodd<>end-on-odd \XMLstringX\att@endoneven<>end-on-even \XMLstringX\att@baseline<>baseline \XMLstringX\att@blank<>blank \XMLstringX\att@black<>black \XMLstringX\att@bottom<>bottom \XMLstringX\att@centered<>center \XMLstringX\att@false<>false \XMLstringX\att@first@starting@within@page<>first-starting-within-page \XMLstringX\att@first<>first \XMLstringX\att@even<>even \XMLstringX\att@odd<>odd \XMLstringX\att@lr@tb<>lr-tb \XMLstringX\att@maximum<>maximum \XMLstringX\att@maximumuniform<>maximum-uniform \XMLstringX\att@medium<>medium \XMLstringX\att@no<>no \XMLstringX\att@no@limit<>no-limit \XMLstringX\att@none<>none \XMLstringX\att@normal<>normal \XMLstringX\att@nowrap<>no-wrap \XMLstringX\att@oddpage<>odd-page \XMLstringX\att@page<>page \XMLstringX\att@page@sequence<>page-sequence \XMLstringX\att@pre<>pre \XMLstringX\att@preserve<>preserve \XMLstringX\att@relative<>relative \XMLstringX\att@repeat<>repeat \XMLstringX\att@replace<>replace \XMLstringX\att@scroll<>scroll \XMLstringX\att@scaletofit<>scale-to-fit \XMLstringX\att@show<>show \XMLstringX\att@smallcaps<>small-caps \XMLstringX\att@solid<>solid \XMLstringX\att@static<>static \XMLstringX\att@sub<>sub \XMLstringX\att@super<>super \XMLstringX\att@top<>top \XMLstringX\att@transparent<>transparent \XMLstringX\att@true<>true \XMLstringX\att@tiny<>true \XMLstringX\att@thin<>thin \XMLstringX\att@thick<>thick \XMLstringX\att@uniform<>uniform \XMLstringX\att@use@font@metrics<>use-font-metrics \XMLstringX\att@visible<>visible \XMLstringX\att@xsl@any<>xsl-any \XMLstringX\att@yes<>yes \XMLstringX\leader@pattern@space<>space \XMLstringX\leader@pattern@rule<>rule \XMLstringX\leader@pattern@dots<>dots \XMLstringX\rule@style@dashed<>dashed \XMLstringX\rule@style@dotted<>dotted \XMLnamespaceattributeX{fo}{media-usage}{\FOmediausage}{} % The "media-usage" property is used to control % how the selected display medium is used to % present the page(s) specified by the stylesheet. \XMLnamespaceattributeX{fo}{text-altitude}{\FOtextaltitude}{} % Specifies the "height" to be used for the ascent % above the dominant baseline \XMLnamespaceattributeX{fo}{text-depth}{\FOtextdepth}{} % Specifies the "depth" to be used for the descent % below the domiant baseline. %auto | absolute | fixed | inherit %\XMLnamespaceattributeX{fo}{absolute-position}{\FOabsoluteposition}{auto} %link | visited | active | hover | focus %\XMLnamespaceattributeX{fo}{active-state}{\FOactivestate}{} %auto | | | inherit \XMLnamespaceattributeX{fo}{alignment-adjust}{\FOalignmentadjust}{auto} %yes | no %\XMLnamespaceattributeX{fo}{auto-restore}{\FOautorestore}{\inherit} % | [[ left-side | far-left | left %| center-left | center | center-right | right | far-right | right-side %] || behind ] | leftwards | rightwards | inherit %\XMLnamespaceattributeX{fo}{azimuth}{\FOazimuth}{\inherit} %[ || % %|| || || %| ]]inherit \XMLnamespaceattributeX{fo}{background}{\FObackground}{} %scroll | fixed | inherit %\XMLnamespaceattributeX{fo}{background-attachment}{\FObackgroundattachment}{scroll} % | transparent | inherit \XMLnamespaceattribute{fo}{background-color}{\FObackgroundcolor}{transparent} % | none | inherit %\XMLnamespaceattributeX{fo}{background-image}{\FObackgroundimage}{none} %[ [ | ]{1,2} | % [ [top | center | bottom] || [left | center | right] ] ] | inherit %\XMLnamespaceattributeX{fo}{background-position}{\FObackgroundposition}{0\% 0\%} % | | %left | center | right | inherit %\XMLnamespaceattributeX{fo}{background-position-horizontal}{\FObackgroundpositionhorizontal}{0\%} % | | %top | center | bottom | inherit %\XMLnamespaceattributeX{fo}{background-position-vertical}{\FObackgroundpositionvertical}{0\%} %repeat | repeat-x | repeat-y | no-repeat | inherit %\XMLnamespaceattributeX{fo}{background-repeat}{\FObackgroundrepeat}{repeat} %baseline | before-edge %| text-before-edge | middle | after-edge %| text-after-edge | ideographic | alphabetic | hanging | mathematical %| inherit %\XMLnamespaceattributeX{fo}{baseline-identifier}{\FObaselineidentifier}{} %baseline | sub | super | | | inherit \XMLnamespaceattributeX{fo}{baseline-shift}{\FObaselineshift}{baseline} %blank | not-blank | any | inherit \XMLnamespaceattributeX{fo}{blank-or-not-blank}{\FOblankornotblank}{any} %auto | | | | inherit %\XMLnamespaceattributeX{fo}{block-progression-dimension}{\FOblockprogressiondimension}{auto} %[ || || ] | inherit \XMLnamespaceattributeX{fo}{border}{\FOborder}{} % | inherit \XMLnamespaceattribute{fo}{border-after-color}{\FOborderaftercolor}{\FOcolor} % | inherit \XMLnamespaceattributeX{fo}{border-after-style}{\FOborderafterstyle}{none} % | | inherit \XMLnamespaceattribute{fo}{border-after-width}{\FOborderafterwidth}{medium} % | inherit \XMLnamespaceattribute{fo}{border-before-color}{\FOborderbeforecolor}{\FOcolor} % | inherit \XMLnamespaceattributeX{fo}{border-before-style}{\FOborderbeforestyle}{none} % | | inherit \XMLnamespaceattribute{fo}{border-before-width}{\FOborderbeforewidth}{medium} \XMLnamespaceattributeX{fo}{border-collapse}{\FObordercollapse}{\inherit} %{1,4} | transparent | inherit \XMLnamespaceattribute{fo}{border-color}{\FObordercolor}{black} % | inherit \XMLnamespaceattribute{fo}{border-end-color}{\FOborderendcolor}{\FOcolor} % | inherit \XMLnamespaceattributeX{fo}{border-end-style}{\FOborderendstyle}{none} % | inherit \XMLnamespaceattributeX{fo}{border-end-width}{\FOborderendwidth}{medium} \XMLnamespaceattributeX{fo}{border-separation}{\FOborderseparation}{\inherit} % ? | inherit \XMLnamespaceattributeX{fo}{border-spacing}{\FOborderspacing}{\inherit} % | inherit \XMLnamespaceattribute{fo}{border-start-color}{\FOborderstartcolor}{\FOcolor} % | inherit \XMLnamespaceattributeX{fo}{border-start-style}{\FOborderstartstyle}{none} % | inherit \XMLnamespaceattributeX{fo}{border-start-width}{\FOborderstartwidth}{medium} %{1,4} | inherit \XMLnamespaceattributeX{fo}{border-style}{\FOborderstyle}{} % | | auto | inherit \XMLnamespaceattributeX{fo}{border-width}{\FOborderwidth}{} \XMLnamespaceattributeX{fo}{border-bottom}{\FOborderbottom}{\LINK} \XMLnamespaceattribute{fo}{border-bottom-color}{\FOborderbottomcolor}{\LINK} \XMLnamespaceattributeX{fo}{border-bottom-style}{\FOborderbottomstyle}{\LINK} \XMLnamespaceattributeX{fo}{border-bottom-width}{\FOborderbottomwidth}{\LINK} \XMLnamespaceattributeX{fo}{border-left}{\FOborderleft}{\LINK} \XMLnamespaceattribute{fo}{border-left-color}{\FOborderleftcolor}{\LINK} \XMLnamespaceattributeX{fo}{border-left-style}{\FOborderleftstyle}{\LINK} \XMLnamespaceattributeX{fo}{border-left-width}{\FOborderleftwidth}{\LINK} \XMLnamespaceattributeX{fo}{border-right}{\FOborderright}{\LINK} \XMLnamespaceattribute{fo}{border-right-color}{\FOborderrightcolor}{\LINK} \XMLnamespaceattributeX{fo}{border-right-style}{\FOborderrightstyle}{\LINK} \XMLnamespaceattributeX{fo}{border-right-width}{\FOborderrightwidth}{\LINK} \XMLnamespaceattributeX{fo}{border-top}{\FObordertop}{\LINK} \XMLnamespaceattribute{fo}{border-top-color}{\FObordertopcolor}{\LINK} \XMLnamespaceattributeX{fo}{border-top-style}{\FObordertopstyle}{\LINK} \XMLnamespaceattributeX{fo}{border-top-width}{\FObordertopwidth}{\LINK} % | | auto | inherit \XMLnamespaceattributeX{fo}{bottom}{\FObottom}{auto} %auto | column | page | even-page | odd-page | inherit \XMLnamespaceattributeX{fo}{break-after}{\FObreakafter}{auto} %auto | column | page | even-page | odd-page | inherit \XMLnamespaceattributeX{fo}{break-before}{\FObreakbefore}{auto} %before | after | start | end | top | bottom | left | right | inherit \XMLnamespaceattributeX{fo}{caption-side}{\FOcaptionside}{\inherit} % \XMLnamespaceattributeX{fo}{case-name}{\FOcasename}{} % \XMLnamespaceattributeX{fo}{case-title}{\FOcasetitle}{} % \XMLnamespaceattribute{fo}{character}{\FOcharacter}{} %start | end | left | right | both | none | inherit \XMLnamespaceattributeX{fo}{clear}{\FOclear}{none} % | auto | inherit \XMLnamespaceattributeX{fo}{clip}{\FOclip}{auto} % | inherit \XMLnamespaceattribute{fo}{color}{\FOcolor}{\inherit} % | inherit \XMLnamespaceattributeX{fo}{color-profile-name}{\FOcolorprofilename}{} % | inherit \XMLnamespaceattributeX{fo}{column-count}{\FOcolumncount}{1} % | | inherit \XMLnamespaceattributeX{fo}{column-gap}{\FOcolumngap}{12.0pt} % \XMLnamespaceattributeX{fo}{column-number}{\FOcolumnnumber}{} % \XMLnamespaceattribute{fo}{column-width}{\FOcolumnwidth}{} % | auto %\XMLnamespaceattributeX{fo}{content-type}{\FOcontenttype}{auto} %none | | inherit \XMLnamespaceattributeX{fo}{country}{\FOcountry}{\inherit} % || | inherit %\XMLnamespaceattributeX{fo}{cue}{\FOcue}{} % | none | inherit %\XMLnamespaceattributeX{fo}{cue-after}{\FOcueafter}{none} % | none | inherit %\XMLnamespaceattributeX{fo}{cue-before}{\FOcuebefore}{none} % %\XMLnamespaceattributeX{fo}{destination-placement-offset}{\FOdestinationplacementoffset}{\z@} %ltr | rtl | inherit \XMLnamespaceattributeX{fo}{direction}{\FOdirection}{\inherit} %auto | before | center | after | inherit \XMLnamespaceattributeX{fo}{display-align}{\FOdisplayalign}{\inherit} %auto | autosense-script | no-change | reset-size %| ideographic | alphabetic | hanging | mathematical | inherit %\XMLnamespaceattributeX{fo}{dominant-baseline}{\FOdominantbaseline}{auto} % | below | level | above | higher | lower | inherit %\XMLnamespaceattributeX{fo}{elevation}{\FOelevation}{\inherit} %show | hide | inherit \XMLnamespaceattributeX{fo}{empty-cells}{\FOemptycells}{\inherit} % | inherit \XMLnamespaceattribute{fo}{end-indent}{\FOendindent}{\inherit} %yes | no %\XMLnamespaceattributeX{fo}{ends-row}{\FOendsrow}{no} % | | inherit \XMLnamespaceattributeX{fo}{extent}{\FOextent}{0.0pt} % \XMLnamespaceattributeX{fo}{external-destination}{\FOexternaldestination}{} %before | start | end | left | right | none | inherit \XMLnamespaceattributeX{fo}{float}{\FOfloat}{none} % \XMLnamespaceattributeX{fo}{flow-name}{\FOflowname}{} %[ [ || %|| ]? [ / ]? %] | caption | icon | menu | message-box | small-caption | status-bar %| inherit \XMLnamespaceattributeX{fo}{font}{\FOfont}{\inherit} %[[ | ],]* [ | ] | inherit \XMLnamespaceattributeX{fo}{font-family}{\FOfontfamily}{\inherit} %\XMLnamespaceattributeX{fo}{font-selection-strategy}{\FOselectionstrategy}{auto} % | | | | inherit \XMLnamespaceattribute{fo}{font-size}{\FOfontsize}{\inherit} % | none | inherit \XMLnamespaceattributeX{fo}{font-size-adjust}{\FOfontsizeadjust}{\inherit} %normal | wider | narrower | ultra-condensed % | extra-condensed | condensed | semi-condensed | semi-expanded | % expanded | extra-expanded | ultra-expanded |inherit \XMLnamespaceattributeX{fo}{font-stretch}{\FOfontstretch}{\inherit} %normal | italic | oblique | backslant | inherit \XMLnamespaceattributeX{fo}{font-style}{\FOfontstyle}{\inherit} %normal | small-caps | inherit \XMLnamespaceattributeX{fo}{font-variant}{\FOfontvariant}{\inherit} %normal | bold | bolder | lighter | 100 | 200 % | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit \XMLnamespaceattributeX{fo}{font-weight}{\FOfontweight}{\inherit} %auto | even | odd | end-on-even | end-on-odd | no-force | inherit \XMLnamespaceattributeX{fo}{force-page-count}{\FOforcepagecount}{auto} % \XMLnamespaceattributeX{fo}{format}{\FOformat}{\inherit} % | inherit %\XMLnamespaceattributeX{fo}{glyph-orientation-horizontal}{\FOglyphorientationhorizontal}{\inherit} %auto | | inherit %\XMLnamespaceattributeX{fo}{glyph-orientation-vertical}{\FOglyphorientationvertical}{\inherit} % \XMLnamespaceattributeX{fo}{grouping-separator}{\FOgroupingseparator}{} % %\XMLnamespaceattributeX{fo}{grouping-size}{\FOgroupingsize}{} % | | auto | inherit \XMLnamespaceattributeX{fo}{height}{\FOheight}{auto} %false | true | inherit \XMLnamespaceattributeX{fo}{hyphenate}{\FOhyphenate}{\inherit} % | inherit \XMLnamespaceattributeX{fo}{hyphenation-character}{\FOhyphenationcharacter}{\inherit} %auto | column | page | inherit %\XMLnamespaceattributeX{fo}{hyphenation-keep}{\FOhyphenationkeep}{\inherit} %no-limit | | inherit %\XMLnamespaceattributeX{fo}{hyphenation-ladder-count}{\FOhyphenationladdercount}{\inherit} % | inherit \XMLnamespaceattributeX{fo}{hyphenation-push-character-count}{\FOhyphenationpushcharactercount}{\inherit} % | inherit %\XMLnamespaceattributeX{fo}{hyphenation-remain-character-count}{\FOhyphenationremaincharactercount}{\inherit} % \XMLnamespaceattributeX{fo}{id}{\FOid}{} %yes | no %\XMLnamespaceattributeX{fo}{indicate-destination}{\FOindicatedestination}{no} %auto | auto-odd | auto-even | | inherit \XMLnamespaceattributeX{fo}{initial-page-number}{\FOinitialpagenumber}{auto} %auto | | | | inherit %\XMLnamespaceattributeX{fo}{inline-progression-dimension}{\FOinlineprogressiondimension}{auto} %null string | \XMLnamespaceattributeX{fo}{internal-destination}{\FOinternaldestination}{} % | inherit \XMLnamespaceattributeX{fo}{keep-together}{\FOkeeptogether}{\inherit} \XMLnamespaceattributeX{fo}{keep-together.within-line}{\FOkeeptogetherLine}{\inherit} % since we dont support column keeps, use Page here (not) \XMLnamespaceattributeX{fo}{keep-together.within-column}{\FOkeeptogetherColumn}{\inherit} \XMLnamespaceattributeX{fo}{keep-together.within-page}{\FOkeeptogetherPage}{\inherit} % | inherit \XMLnamespaceattributeX{fo}{keep-with-next}{\FOkeepwithnext}{auto} \XMLnamespaceattributeX{fo}{keep-with-next.within-line}{\FOkeepwithnextLine}{auto} \XMLnamespaceattributeX{fo}{keep-with-next.within-column}{\FOkeepwithnextColumn}{auto} \XMLnamespaceattributeX{fo}{keep-with-next.within-page}{\FOkeepwithnextPage}{auto} % | inherit \XMLnamespaceattributeX{fo}{keep-with-previous}{\FOkeepwithprevious}{auto} \XMLnamespaceattributeX{fo}{keep-with-previous.within-line}{\FOkeepwithpreviousLine}{auto} \XMLnamespaceattributeX{fo}{keep-with-previous.within-column}{\FOkeepwithpreviousColumn}{auto} \XMLnamespaceattributeX{fo}{keep-with-previous.within-page}{\FOkeepwithpreviousPage}{auto} %none | | inherit \XMLnamespaceattributeX{fo}{language}{\FOlanguage}{\inherit} % | | inherit \XMLnamespaceattributeX{fo}{last-line-end-indent}{\FOlastlineendindent}{\inherit} %none | reference-area | page | inherit \XMLnamespaceattributeX{fo}{leader-alignment}{\FOleaderalignment}{\inherit} % | inherit \XMLnamespaceattributeX{fo}{leader-length}{\FOleaderlength}{\inherit} %space | rule | dots | use-content | inherit \XMLnamespaceattributeX{fo}{leader-pattern}{\FOleaderpattern}{\inherit} %use-font-metrics | | inherit \XMLnamespaceattributeX{fo}{leader-pattern-width}{\FOleaderpatternwidth}{\inherit} % | | auto | inherit \XMLnamespaceattributeX{fo}{left}{\FOleft}{auto} %normal | | | inherit \XMLnamespaceattributeX{fo}{letter-spacing}{\FOletterspacing}{\inherit} %auto | alphabetic | traditional \XMLnamespaceattributeX{fo}{letter-value}{\FOlettervalue}{auto} %ignore | preserve | treat-as-space | inherit \XMLnamespaceattributeX{fo}{linefeed-treatment}{\FOlinefeedtreatment}{\inherit} %normal | | | | | inherit \XMLnamespaceattributeX{fo}{line-height}{\FOlineheight}{\inherit} %consider-shifts | disregard-shifts | inherit \XMLnamespaceattributeX{fo}{line-height-shift-adjustment}{\FOlineheightshiftadjustment}{\inherit} %line-height | font-height | max-height | inherit \XMLnamespaceattributeX{fo}{line-stacking-strategy}{\FOlinestackingstrategy}{\inherit} %{1,4} | inherit \XMLnamespaceattributeX{fo}{margin}{\FOmargin}{} \XMLnamespaceattributeX{fo}{margin-left} {\FOmarginleft} {0pt} \XMLnamespaceattributeX{fo}{margin-right} {\FOmarginright} {0pt} \XMLnamespaceattributeX{fo}{margin-top} {\FOmargintop} {0pt} \XMLnamespaceattributeX{fo}{margin-bottom} {\FOmarginbottom} {0pt} % \XMLnamespaceattributeX{fo}{marker-class-name}{\FOmarkerclassname}{} % \XMLnamespaceattributeX{fo}{master-reference}{\FOmasterreference}{} \XMLnamespaceattributeX{fo}{master-name}{\FOmastername}{} % | | none | inherit \XMLnamespaceattributeX{fo}{max-height}{\FOmaxheight}{\z@} % | no-limit | inherit \XMLnamespaceattributeX{fo}{maximum-repeats}{\FOmaximumrepeats}{no-limit} % | | none | inherit \XMLnamespaceattributeX{fo}{max-width}{\FOmaxwidth}{none} % | | inherit \XMLnamespaceattributeX{fo}{min-height}{\FOminheight}{\z@} % | | inherit \XMLnamespaceattributeX{fo}{min-width}{\FOminwidth}{} % \XMLnamespaceattributeX{fo}{number-columns-repeated}{\FOnumbercolumnsrepeated}{1} % \XMLnamespaceattributeX{fo}{number-columns-spanned}{\FOnumbercolumnsspanned}{1} % \XMLnamespaceattributeX{fo}{number-rows-spanned}{\FOnumberrowsspanned}{1} %odd | even | any | inherit \XMLnamespaceattributeX{fo}{odd-or-even}{\FOoddoreven}{any} % | inherit \XMLnamespaceattributeX{fo}{orphans}{\FOorphans}{\inherit} %visible | hidden | scroll | auto | inherit \XMLnamespaceattributeX{fo}{overflow}{\FOoverflow}{auto} %{1,4} | inherit \XMLnamespaceattributeX{fo}{padding}{\FOpadding}{\z@} % | | inherit \XMLnamespaceattributeX{fo}{padding-after}{\FOpaddingafter}{\z@} % | | inherit \XMLnamespaceattributeX{fo}{padding-before}{\FOpaddingbefore}{\z@} % | inherit \XMLnamespaceattributeX{fo}{padding-bottom}{\FOpaddingbottom}{\z@} % | inherit \XMLnamespaceattributeX{fo}{padding-end}{\FOpaddingend}{\z@} % | inherit \XMLnamespaceattributeX{fo}{padding-left}{\FOpaddingleft}{\z@} % | inherit \XMLnamespaceattributeX{fo}{padding-right}{\FOpaddingright}{\z@} % | inherit \XMLnamespaceattributeX{fo}{padding-start}{\FOpaddingstart}{\z@} % | inherit \XMLnamespaceattributeX{fo}{padding-top}{\FOpaddingtop}{\z@} %auto | always | avoid | left | right | inherit \XMLnamespaceattributeX{fo}{page-break-after}{\FOpagebreakafter}{auto} %auto | always | avoid | left | right | inherit \XMLnamespaceattributeX{fo}{page-break-before}{\FOpagebreakbefore}{auto} %auto | indefinite | | inherit \XMLnamespaceattribute{fo}{page-height}{\FOpageheight}{auto} %first | last | rest | any | inherit \XMLnamespaceattributeX{fo}{page-position}{\FOpageposition}{any} %auto | indefinite | | inherit \XMLnamespaceattribute{fo}{page-width}{\FOpagewidth}{auto} %[