From 7d72481c5e9f89b972d83584ad14ae2f8754e043 Mon Sep 17 00:00:00 2001 From: Colin Finck Date: Thu, 9 Apr 2015 11:54:07 +0000 Subject: [PATCH] [DOCUMENTATION] Don't spread our few documentation all over the place. Collect all single-file API documentation in the "articles" folder, keep the audit stuff in "audit" and move the DocBook-based RosDocs system into "documentation" as well. Remove my definitely obsolete MediaWiki Upgrade Guide. This one isn't relevant anymore. svn path=/trunk/documentation/; revision=67111 --- README | 11 - .../D3DParseUnknownCommand.dia | Bin .../D3DParseUnknownCommand.eps | 0 .../D3DParseUnknownCommand.gif | Bin .../rpcrt4 => articles}/rpcrt4_callchains.txt | 1806 ++-- .../user_interface_guidelines.html | 444 +- reverse.engineering/.gitignore | 0 rosdocs/.cvsignore | 1 + rosdocs/ChangeLog | 16 + rosdocs/Makefile | 87 + rosdocs/doxygen/win32k.cfg | 217 + .../doxygen/win32k/keep.me | 0 rosdocs/dtd/docbook-xml-4.1.2/40chg.txt | 53 + rosdocs/dtd/docbook-xml-4.1.2/41chg.txt | 18 + rosdocs/dtd/docbook-xml-4.1.2/ChangeLog | 118 + rosdocs/dtd/docbook-xml-4.1.2/calstblx.dtd | 199 + rosdocs/dtd/docbook-xml-4.1.2/dbcentx.mod | 204 + rosdocs/dtd/docbook-xml-4.1.2/dbgenent.mod | 41 + rosdocs/dtd/docbook-xml-4.1.2/dbhierx.mod | 2074 +++++ rosdocs/dtd/docbook-xml-4.1.2/dbnotnx.mod | 97 + rosdocs/dtd/docbook-xml-4.1.2/dbpoolx.mod | 7516 +++++++++++++++++ rosdocs/dtd/docbook-xml-4.1.2/docbook.cat | 59 + rosdocs/dtd/docbook-xml-4.1.2/docbookx.dtd | 125 + .../dtd/docbook-xml-4.1.2/ent/iso-amsa.ent | 63 + .../dtd/docbook-xml-4.1.2/ent/iso-amsb.ent | 49 + .../dtd/docbook-xml-4.1.2/ent/iso-amsc.ent | 15 + .../dtd/docbook-xml-4.1.2/ent/iso-amsn.ent | 66 + .../dtd/docbook-xml-4.1.2/ent/iso-amso.ent | 26 + .../dtd/docbook-xml-4.1.2/ent/iso-amsr.ent | 91 + rosdocs/dtd/docbook-xml-4.1.2/ent/iso-box.ent | 45 + .../dtd/docbook-xml-4.1.2/ent/iso-cyr1.ent | 72 + .../dtd/docbook-xml-4.1.2/ent/iso-cyr2.ent | 31 + rosdocs/dtd/docbook-xml-4.1.2/ent/iso-dia.ent | 19 + .../dtd/docbook-xml-4.1.2/ent/iso-grk1.ent | 54 + .../dtd/docbook-xml-4.1.2/ent/iso-grk2.ent | 25 + .../dtd/docbook-xml-4.1.2/ent/iso-grk3.ent | 48 + .../dtd/docbook-xml-4.1.2/ent/iso-grk4.ent | 48 + .../dtd/docbook-xml-4.1.2/ent/iso-lat1.ent | 67 + .../dtd/docbook-xml-4.1.2/ent/iso-lat2.ent | 126 + rosdocs/dtd/docbook-xml-4.1.2/ent/iso-num.ent | 81 + rosdocs/dtd/docbook-xml-4.1.2/ent/iso-pub.ent | 90 + .../dtd/docbook-xml-4.1.2/ent/iso-tech.ent | 69 + rosdocs/dtd/docbook-xml-4.1.2/readme.txt | 16 + rosdocs/dtd/docbook-xml-4.1.2/soextblx.dtd | 308 + rosdocs/readme.dbk | 221 + rosdocs/readme.txt | 391 + rosdocs/rules.mk | 35 + rosdocs/tools/Makefile | 48 + rosdocs/tools/rcopy.c | 87 + rosdocs/tools/rdel.c | 91 + rosdocs/tools/rmkdir.c | 102 + rosdocs/tools/rrmdir.c | 92 + rosdocs/tutorials/ChangeLog | 34 + .../tutorials/dev/advandev/archoverview.xml | 177 + .../dev/advandev/taggingfunctions.xml | 68 + rosdocs/tutorials/dev/advandev/win32wine.xml | 95 + rosdocs/tutorials/dev/bochtest/bochscyc.xml | 44 + rosdocs/tutorials/dev/bochtest/getbochs.xml | 61 + rosdocs/tutorials/dev/bochtest/introbochs.xml | 44 + rosdocs/tutorials/dev/newdev/cdpack.xml | 131 + rosdocs/tutorials/dev/newdev/compilesrc.xml | 80 + rosdocs/tutorials/dev/shcode/cvsapply.xml | 39 + rosdocs/tutorials/dev/shcode/cvsco.xml | 87 + rosdocs/tutorials/dev/shcode/cvsget.xml | 47 + rosdocs/tutorials/dev/shcode/cvsintro.xml | 56 + rosdocs/tutorials/dev/shcode/cvssubmit.xml | 81 + rosdocs/tutorials/dev/shcode/cvsupd.xml | 58 + rosdocs/tutorials/dev/shcode/mailpatch.xml | 65 + rosdocs/tutorials/dev/vmware/introvmware.xml | 57 + rosdocs/tutorials/history/2002/wineconf.xml | 195 + rosdocs/tutorials/tutorials.dbk | 101 + rosdocs/tutorials/tutorials.xml | 164 + rosdocs/tutorials/user/intro/bootoptions.xml | 112 + rosdocs/tutorials/user/intro/installbin.xml | 66 + rosdocs/tutorials/user/intro/installiso.xml | 104 + rosdocs/tutorials/user/intro/license.xml | 466 + .../tutorials/user/intro/organizational.xml | 102 + rosdocs/tutorials/user/intro/testbin.xml | 52 + rosdocs/tutorials/user/intro/whyandhow.xml | 50 + rosdocs/tutorials/user/usertuts.xml | 34 + rosdocs/xsl/BUGS | 6 + rosdocs/xsl/ChangeLog | 140 + rosdocs/xsl/README | 107 + rosdocs/xsl/RELEASE-NOTES.html | 43 + rosdocs/xsl/RELEASE-NOTES.xml | 161 + rosdocs/xsl/TODO | 4 + rosdocs/xsl/VERSION | 6 + rosdocs/xsl/WhatsNew | 515 ++ rosdocs/xsl/common/ChangeLog | 305 + rosdocs/xsl/common/af.xml | 343 + rosdocs/xsl/common/ca.xml | 343 + rosdocs/xsl/common/common.xsl | 1403 +++ rosdocs/xsl/common/cs.xml | 402 + rosdocs/xsl/common/da.xml | 404 + rosdocs/xsl/common/de.xml | 349 + rosdocs/xsl/common/el.xml | 341 + rosdocs/xsl/common/en.xml | 404 + rosdocs/xsl/common/es.xml | 363 + rosdocs/xsl/common/et.xml | 341 + rosdocs/xsl/common/eu.xml | 371 + rosdocs/xsl/common/fi.xml | 341 + rosdocs/xsl/common/fr.xml | 372 + rosdocs/xsl/common/gentext.xsl | 305 + rosdocs/xsl/common/he.xml | 371 + rosdocs/xsl/common/hu.xml | 341 + rosdocs/xsl/common/id.xml | 341 + rosdocs/xsl/common/it.xml | 371 + rosdocs/xsl/common/ja.xml | 371 + rosdocs/xsl/common/ko.xml | 340 + rosdocs/xsl/common/l10n.dtd | 45 + rosdocs/xsl/common/l10n.xml | 75 + rosdocs/xsl/common/l10n.xsl | 344 + rosdocs/xsl/common/labels.xsl | 552 ++ rosdocs/xsl/common/nl.xml | 342 + rosdocs/xsl/common/nn.xml | 347 + rosdocs/xsl/common/no.xml | 341 + rosdocs/xsl/common/pl.xml | 333 + rosdocs/xsl/common/pt.xml | 344 + rosdocs/xsl/common/pt_br.xml | 343 + rosdocs/xsl/common/ro.xml | 341 + rosdocs/xsl/common/ru.xml | 370 + rosdocs/xsl/common/sk.xml | 344 + rosdocs/xsl/common/sl.xml | 359 + rosdocs/xsl/common/sr.xml | 341 + rosdocs/xsl/common/subtitles.xsl | 130 + rosdocs/xsl/common/sv.xml | 342 + rosdocs/xsl/common/table.xsl | 432 + rosdocs/xsl/common/th.xml | 371 + rosdocs/xsl/common/titles.xsl | 390 + rosdocs/xsl/common/tr.xml | 404 + rosdocs/xsl/common/uk.xml | 370 + rosdocs/xsl/common/xh.xml | 371 + rosdocs/xsl/common/zh_cn.xml | 341 + rosdocs/xsl/common/zh_tw.xml | 323 + rosdocs/xsl/doc/ChangeLog | 49 + rosdocs/xsl/doc/book.xsl | 49 + rosdocs/xsl/doc/ch01s02.html | 67 + rosdocs/xsl/doc/ch01s03.html | 422 + rosdocs/xsl/doc/ch01s04.html | 250 + rosdocs/xsl/doc/ch02s02.html | 11 + rosdocs/xsl/doc/ch03.html | 4 + rosdocs/xsl/doc/ch04.html | 3 + rosdocs/xsl/doc/ch05.html | 60 + rosdocs/xsl/doc/ch06s02.html | 35 + rosdocs/xsl/doc/ch06s03.html | 5 + rosdocs/xsl/doc/common/ChangeLog | 16 + rosdocs/xsl/doc/common/common.html | 527 ++ rosdocs/xsl/doc/copyright.html | 19 + rosdocs/xsl/doc/extensions.html | 49 + rosdocs/xsl/doc/fo/ChangeLog | 28 + .../xsl/doc/fo/admon.graphics.extension.html | 4 + rosdocs/xsl/doc/fo/admon.graphics.html | 6 + rosdocs/xsl/doc/fo/admon.graphics.path.html | 5 + rosdocs/xsl/doc/fo/admonition.properties.html | 3 + .../doc/fo/admonition.title.properties.html | 8 + rosdocs/xsl/doc/fo/alignment.html | 4 + rosdocs/xsl/doc/fo/apa.html | 161 + rosdocs/xsl/doc/fo/appendix.autolabel.html | 6 + rosdocs/xsl/doc/fo/arbortext.extensions.html | 7 + .../doc/fo/author.othername.in.middle.html | 9 + .../xsl/doc/fo/autotoc.label.separator.html | 4 + .../doc/fo/biblioentry.item.separator.html | 4 + .../xsl/doc/fo/bibliography.collection.html | 56 + rosdocs/xsl/doc/fo/blockquote.properties.html | 10 + rosdocs/xsl/doc/fo/body.font.family.html | 4 + rosdocs/xsl/doc/fo/body.font.master.html | 6 + rosdocs/xsl/doc/fo/body.font.size.html | 8 + rosdocs/xsl/doc/fo/body.margin.bottom.html | 5 + rosdocs/xsl/doc/fo/body.margin.top.html | 5 + rosdocs/xsl/doc/fo/callout.defaultcolumn.html | 7 + .../doc/fo/callout.graphics.extension.html | 4 + rosdocs/xsl/doc/fo/callout.graphics.html | 7 + .../doc/fo/callout.graphics.number.limit.html | 12 + rosdocs/xsl/doc/fo/callout.graphics.path.html | 6 + rosdocs/xsl/doc/fo/callout.unicode.font.html | 6 + rosdocs/xsl/doc/fo/callout.unicode.html | 5 + .../doc/fo/callout.unicode.number.limit.html | 12 + .../fo/callout.unicode.start.character.html | 10 + rosdocs/xsl/doc/fo/callouts.extension.html | 7 + rosdocs/xsl/doc/fo/chapter.autolabel.html | 5 + rosdocs/xsl/doc/fo/column.count.html | 5 + rosdocs/xsl/doc/fo/column.count.of.index.html | 5 + .../xsl/doc/fo/compact.list.item.spacing.html | 9 + .../doc/fo/component.title.properties.html | 18 + rosdocs/xsl/doc/fo/default.table.width.html | 6 + rosdocs/xsl/doc/fo/default.units.html | 7 + rosdocs/xsl/doc/fo/dingbat.font.family.html | 5 + rosdocs/xsl/doc/fo/double.sided.html | 7 + rosdocs/xsl/doc/fo/draft.watermark.image.html | 4 + rosdocs/xsl/doc/fo/firstterm.only.link.html | 6 + rosdocs/xsl/doc/fo/footnote.font.size.html | 6 + rosdocs/xsl/doc/fo/fop.extensions.html | 7 + .../xsl/doc/fo/formal.object.properties.html | 10 + rosdocs/xsl/doc/fo/formal.procedures.html | 5 + .../xsl/doc/fo/formal.title.placement.html | 16 + .../xsl/doc/fo/formal.title.properties.html | 12 + .../doc/fo/format.variablelist.as.list.html | 6 + .../xsl/doc/fo/funcsynopsis.decoration.html | 7 + rosdocs/xsl/doc/fo/funcsynopsis.style.html | 7 + rosdocs/xsl/doc/fo/function.parens.html | 6 + .../doc/fo/generate.book.equation.lot.html | 4 + .../xsl/doc/fo/generate.book.example.lot.html | 4 + .../xsl/doc/fo/generate.book.figure.lot.html | 4 + .../xsl/doc/fo/generate.book.table.lot.html | 4 + rosdocs/xsl/doc/fo/generate.book.toc.html | 4 + .../xsl/doc/fo/generate.component.toc.html | 5 + .../fo/generate.division.equation.lot.html | 5 + .../doc/fo/generate.division.example.lot.html | 5 + .../doc/fo/generate.division.figure.lot.html | 5 + .../doc/fo/generate.division.table.lot.html | 5 + rosdocs/xsl/doc/fo/generate.division.toc.html | 5 + rosdocs/xsl/doc/fo/generate.index.html | 4 + rosdocs/xsl/doc/fo/generate.set.toc.html | 4 + rosdocs/xsl/doc/fo/generate.toc.html | 33 + rosdocs/xsl/doc/fo/glossary.collection.html | 117 + rosdocs/xsl/doc/fo/glossterm.auto.link.html | 9 + .../xsl/doc/fo/graphic.default.extension.html | 7 + rosdocs/xsl/doc/fo/html.stylesheet.html | 6 + rosdocs/xsl/doc/fo/html.stylesheet.type.html | 4 + rosdocs/xsl/doc/fo/hyphenate.html | 4 + rosdocs/xsl/doc/fo/index.html | 20 + .../doc/fo/informal.object.properties.html | 10 + .../xsl/doc/fo/insert.xref.page.number.html | 6 + rosdocs/xsl/doc/fo/label.from.part.html | 9 + rosdocs/xsl/doc/fo/ld-d0e2069.html | 4 + rosdocs/xsl/doc/fo/ld-d0e2118.html | 4 + rosdocs/xsl/doc/fo/ld-d0e2140.html | 4 + rosdocs/xsl/doc/fo/ld-d0e2180.html | 4 + rosdocs/xsl/doc/fo/ld-d0e2204.html | 4 + rosdocs/xsl/doc/fo/ld-d0e2238.html | 4 + rosdocs/xsl/doc/fo/line-height.html | 4 + .../xsl/doc/fo/linenumbering.everyNth.html | 5 + .../xsl/doc/fo/linenumbering.extension.html | 8 + .../xsl/doc/fo/linenumbering.separator.html | 6 + rosdocs/xsl/doc/fo/linenumbering.width.html | 6 + rosdocs/xsl/doc/fo/list.block.spacing.html | 7 + rosdocs/xsl/doc/fo/list.item.spacing.html | 7 + .../xsl/doc/fo/make.single.year.ranges.html | 6 + rosdocs/xsl/doc/fo/make.year.ranges.html | 4 + rosdocs/xsl/doc/fo/monospace.font.family.html | 5 + .../doc/fo/monospace.verbatim.properties.html | 12 + rosdocs/xsl/doc/fo/nominal.table.width.html | 7 + rosdocs/xsl/doc/fo/normal.para.spacing.html | 7 + rosdocs/xsl/doc/fo/page.height.html | 15 + rosdocs/xsl/doc/fo/page.height.portrait.html | 47 + rosdocs/xsl/doc/fo/page.margin.bottom.html | 5 + rosdocs/xsl/doc/fo/page.margin.inner.html | 12 + rosdocs/xsl/doc/fo/page.margin.outer.html | 12 + rosdocs/xsl/doc/fo/page.margin.top.html | 4 + rosdocs/xsl/doc/fo/page.orientation.html | 6 + rosdocs/xsl/doc/fo/page.png | Bin 0 -> 17583 bytes rosdocs/xsl/doc/fo/page.width.html | 14 + rosdocs/xsl/doc/fo/page.width.portrait.html | 45 + rosdocs/xsl/doc/fo/paper.type.html | 7 + rosdocs/xsl/doc/fo/part.autolabel.html | 5 + rosdocs/xsl/doc/fo/passivetex.extensions.html | 8 + rosdocs/xsl/doc/fo/pr01.html | 25 + rosdocs/xsl/doc/fo/preface.autolabel.html | 5 + .../xsl/doc/fo/process.empty.source.toc.html | 5 + rosdocs/xsl/doc/fo/process.source.toc.html | 5 + rosdocs/xsl/doc/fo/profile.arch.html | 13 + rosdocs/xsl/doc/fo/profile.attribute.html | 8 + rosdocs/xsl/doc/fo/profile.condition.html | 13 + rosdocs/xsl/doc/fo/profile.conformance.html | 13 + rosdocs/xsl/doc/fo/profile.lang.html | 13 + rosdocs/xsl/doc/fo/profile.os.html | 13 + rosdocs/xsl/doc/fo/profile.revision.html | 13 + rosdocs/xsl/doc/fo/profile.revisionflag.html | 13 + rosdocs/xsl/doc/fo/profile.role.html | 13 + rosdocs/xsl/doc/fo/profile.security.html | 13 + rosdocs/xsl/doc/fo/profile.separator.html | 4 + rosdocs/xsl/doc/fo/profile.userlevel.html | 13 + rosdocs/xsl/doc/fo/profile.value.html | 13 + rosdocs/xsl/doc/fo/profile.vendor.html | 13 + rosdocs/xsl/doc/fo/punct.honorific.html | 5 + .../xsl/doc/fo/qanda.inherit.numeration.html | 6 + rosdocs/xsl/doc/fo/qandadiv.autolabel.html | 5 + .../xsl/doc/fo/refentry.generate.name.html | 7 + .../xsl/doc/fo/refentry.generate.title.html | 7 + .../xsl/doc/fo/refentry.xref.manvolnum.html | 8 + rosdocs/xsl/doc/fo/region.after.extent.html | 6 + rosdocs/xsl/doc/fo/region.before.extent.html | 6 + rosdocs/xsl/doc/fo/rn01.html | 3 + rosdocs/xsl/doc/fo/rn02.html | 3 + rosdocs/xsl/doc/fo/rn03.html | 4 + rosdocs/xsl/doc/fo/rn04.html | 4 + rosdocs/xsl/doc/fo/rn05.html | 3 + rosdocs/xsl/doc/fo/rn06.html | 3 + rosdocs/xsl/doc/fo/rn07.html | 3 + rosdocs/xsl/doc/fo/rn08.html | 4 + rosdocs/xsl/doc/fo/rn09.html | 4 + rosdocs/xsl/doc/fo/rn10.html | 3 + rosdocs/xsl/doc/fo/rn11.html | 3 + rosdocs/xsl/doc/fo/rn12.html | 3 + rosdocs/xsl/doc/fo/rn13.html | 3 + rosdocs/xsl/doc/fo/rn14.html | 3 + rosdocs/xsl/doc/fo/rn15.html | 28 + rosdocs/xsl/doc/fo/rn16.html | 3 + rosdocs/xsl/doc/fo/rn17.html | 3 + rosdocs/xsl/doc/fo/rn18.html | 3 + rosdocs/xsl/doc/fo/rn19.html | 3 + rosdocs/xsl/doc/fo/rn20.html | 16 + rosdocs/xsl/doc/fo/rootid.html | 10 + .../fo/runinhead.default.title.end.punct.html | 5 + .../xsl/doc/fo/runinhead.title.end.punct.html | 5 + rosdocs/xsl/doc/fo/sans.font.family.html | 5 + rosdocs/xsl/doc/fo/section.autolabel.html | 5 + ...ection.label.includes.component.label.html | 6 + .../xsl/doc/fo/segmentedlist.as.table.html | 5 + rosdocs/xsl/doc/fo/shade.verbatim.html | 4 + rosdocs/xsl/doc/fo/shade.verbatim.style.html | 6 + rosdocs/xsl/doc/fo/show.comments.html | 7 + .../xsl/doc/fo/stylesheet.result.type.html | 6 + rosdocs/xsl/doc/fo/table.border.color.html | 4 + rosdocs/xsl/doc/fo/table.border.padding.html | 4 + rosdocs/xsl/doc/fo/table.border.style.html | 4 + .../xsl/doc/fo/table.border.thickness.html | 4 + rosdocs/xsl/doc/fo/table.cell.padding.html | 8 + rosdocs/xsl/doc/fo/table.entry.padding.html | 4 + rosdocs/xsl/doc/fo/table.html | 179 + .../xsl/doc/fo/tablecolumns.extension.html | 7 + rosdocs/xsl/doc/fo/tex.math.delims.html | 6 + rosdocs/xsl/doc/fo/tex.math.in.alt.html | 26 + rosdocs/xsl/doc/fo/textinsert.extension.html | 6 + rosdocs/xsl/doc/fo/title.font.family.html | 5 + rosdocs/xsl/doc/fo/title.margin.left.html | 5 + rosdocs/xsl/doc/fo/toc.indent.width.html | 8 + rosdocs/xsl/doc/fo/toc.margin.properties.html | 10 + rosdocs/xsl/doc/fo/toc.section.depth.html | 6 + rosdocs/xsl/doc/fo/ulink.footnotes.html | 6 + rosdocs/xsl/doc/fo/ulink.hyphenate.html | 8 + rosdocs/xsl/doc/fo/ulink.show.html | 6 + rosdocs/xsl/doc/fo/use.extensions.html | 8 + rosdocs/xsl/doc/fo/use.svg.html | 7 + .../xsl/doc/fo/variablelist.as.blocks.html | 7 + rosdocs/xsl/doc/fo/verbatim.properties.html | 7 + rosdocs/xsl/doc/fo/xep.extensions.html | 7 + rosdocs/xsl/doc/fo/xref.properties.html | 5 + rosdocs/xsl/doc/html/ChangeLog | 28 + .../doc/html/admon.graphics.extension.html | 4 + rosdocs/xsl/doc/html/admon.graphics.html | 6 + rosdocs/xsl/doc/html/admon.graphics.path.html | 5 + rosdocs/xsl/doc/html/admon.style.html | 7 + rosdocs/xsl/doc/html/annotate.toc.html | 7 + rosdocs/xsl/doc/html/apa.html | 178 + rosdocs/xsl/doc/html/appendix.autolabel.html | 6 + .../doc/html/author.othername.in.middle.html | 9 + .../xsl/doc/html/autotoc.label.separator.html | 4 + rosdocs/xsl/doc/html/base.dir.html | 6 + .../doc/html/biblioentry.item.separator.html | 4 + .../xsl/doc/html/bibliography.collection.html | 56 + rosdocs/xsl/doc/html/bridgehead.in.toc.html | 7 + .../xsl/doc/html/callout.defaultcolumn.html | 7 + .../doc/html/callout.graphics.extension.html | 4 + rosdocs/xsl/doc/html/callout.graphics.html | 7 + .../html/callout.graphics.number.limit.html | 12 + .../xsl/doc/html/callout.graphics.path.html | 6 + rosdocs/xsl/doc/html/callout.list.table.html | 9 + rosdocs/xsl/doc/html/callout.unicode.html | 5 + .../html/callout.unicode.number.limit.html | 12 + .../html/callout.unicode.start.character.html | 10 + rosdocs/xsl/doc/html/callouts.extension.html | 7 + rosdocs/xsl/doc/html/chapter.autolabel.html | 5 + rosdocs/xsl/doc/html/chunk.datafile.html | 7 + .../xsl/doc/html/chunk.first.sections.html | 8 + rosdocs/xsl/doc/html/chunk.quietly.html | 7 + rosdocs/xsl/doc/html/chunk.section.depth.html | 4 + rosdocs/xsl/doc/html/chunk.toc.html | 7 + rosdocs/xsl/doc/html/citerefentry.link.html | 7 + rosdocs/xsl/doc/html/css.decoration.html | 9 + rosdocs/xsl/doc/html/default.encoding.html | 6 + rosdocs/xsl/doc/html/default.table.width.html | 6 + .../xsl/doc/html/draft.watermark.image.html | 4 + rosdocs/xsl/doc/html/ebnf.table.bgcolor.html | 7 + rosdocs/xsl/doc/html/ebnf.table.border.html | 5 + .../doc/html/emphasis.propagates.style.html | 6 + rosdocs/xsl/doc/html/firstterm.only.link.html | 6 + rosdocs/xsl/doc/html/formal.procedures.html | 5 + .../xsl/doc/html/formal.title.placement.html | 16 + .../xsl/doc/html/funcsynopsis.decoration.html | 7 + rosdocs/xsl/doc/html/funcsynopsis.style.html | 7 + rosdocs/xsl/doc/html/function.parens.html | 6 + .../xsl/doc/html/generate.appendix.toc.html | 4 + .../xsl/doc/html/generate.article.toc.html | 4 + rosdocs/xsl/doc/html/generate.book.toc.html | 4 + .../xsl/doc/html/generate.chapter.toc.html | 4 + .../xsl/doc/html/generate.component.toc.html | 5 + .../xsl/doc/html/generate.division.toc.html | 5 + .../xsl/doc/html/generate.id.attributes.html | 20 + rosdocs/xsl/doc/html/generate.index.html | 4 + .../doc/html/generate.legalnotice.link.html | 4 + rosdocs/xsl/doc/html/generate.manifest.html | 6 + rosdocs/xsl/doc/html/generate.part.toc.html | 5 + .../xsl/doc/html/generate.preface.toc.html | 4 + .../xsl/doc/html/generate.qandadiv.toc.html | 4 + .../xsl/doc/html/generate.qandaset.toc.html | 4 + .../xsl/doc/html/generate.reference.toc.html | 6 + .../xsl/doc/html/generate.section.toc.html | 8 + .../doc/html/generate.section.toc.level.html | 11 + rosdocs/xsl/doc/html/generate.set.toc.html | 4 + rosdocs/xsl/doc/html/generate.toc.html | 33 + rosdocs/xsl/doc/html/glossary.collection.html | 117 + rosdocs/xsl/doc/html/glossterm.auto.link.html | 9 + .../doc/html/graphic.default.extension.html | 7 + rosdocs/xsl/doc/html/html.base.html | 6 + rosdocs/xsl/doc/html/html.cleanup.html | 9 + rosdocs/xsl/doc/html/html.ext.html | 6 + .../xsl/doc/html/html.extra.head.links.html | 8 + rosdocs/xsl/doc/html/html.longdesc.html | 9 + rosdocs/xsl/doc/html/html.longdesc.link.html | 9 + rosdocs/xsl/doc/html/html.stylesheet.html | 6 + .../xsl/doc/html/html.stylesheet.type.html | 4 + rosdocs/xsl/doc/html/htmlhelp.alias.file.html | 5 + rosdocs/xsl/doc/html/htmlhelp.autolabel.html | 5 + rosdocs/xsl/doc/html/htmlhelp.chm.html | 5 + .../xsl/doc/html/htmlhelp.default.topic.html | 9 + rosdocs/xsl/doc/html/htmlhelp.encoding.html | 5 + .../doc/html/htmlhelp.enumerate.images.html | 5 + .../html/htmlhelp.force.map.and.alias.html | 6 + .../htmlhelp.hhc.folders.instead.books.html | 5 + rosdocs/xsl/doc/html/htmlhelp.hhc.html | 5 + .../doc/html/htmlhelp.hhc.section.depth.html | 5 + .../xsl/doc/html/htmlhelp.hhc.show.root.html | 6 + rosdocs/xsl/doc/html/htmlhelp.hhp.html | 5 + rosdocs/xsl/doc/html/htmlhelp.hhp.tail.html | 4 + rosdocs/xsl/doc/html/htmlhelp.map.file.html | 5 + rosdocs/xsl/doc/html/htmlhelp.title.html | 5 + rosdocs/xsl/doc/html/index.html | 20 + rosdocs/xsl/doc/html/inherit.keywords.html | 9 + rosdocs/xsl/doc/html/label.from.part.html | 9 + .../xsl/doc/html/linenumbering.everyNth.html | 5 + .../xsl/doc/html/linenumbering.extension.html | 8 + .../xsl/doc/html/linenumbering.separator.html | 6 + rosdocs/xsl/doc/html/linenumbering.width.html | 6 + rosdocs/xsl/doc/html/link.mailto.url.html | 5 + .../xsl/doc/html/make.single.year.ranges.html | 6 + rosdocs/xsl/doc/html/make.valid.html.html | 10 + rosdocs/xsl/doc/html/make.year.ranges.html | 4 + rosdocs/xsl/doc/html/manifest.html | 6 + rosdocs/xsl/doc/html/manual.toc.html | 6 + .../doc/html/navig.graphics.extension.html | 5 + rosdocs/xsl/doc/html/navig.graphics.html | 8 + rosdocs/xsl/doc/html/navig.graphics.path.html | 6 + rosdocs/xsl/doc/html/navig.showtitles.html | 10 + rosdocs/xsl/doc/html/nominal.table.width.html | 7 + rosdocs/xsl/doc/html/olink.fragid.html | 4 + rosdocs/xsl/doc/html/olink.outline.ext.html | 4 + rosdocs/xsl/doc/html/olink.pubid.html | 4 + rosdocs/xsl/doc/html/olink.resolver.html | 4 + rosdocs/xsl/doc/html/olink.sysid.html | 4 + rosdocs/xsl/doc/html/output.method.html | 4 + rosdocs/xsl/doc/html/part.autolabel.html | 5 + .../xsl/doc/html/phrase.propagates.style.html | 6 + rosdocs/xsl/doc/html/pixels.per.inch.html | 8 + rosdocs/xsl/doc/html/points.per.em.html | 4 + rosdocs/xsl/doc/html/pr01.html | 25 + rosdocs/xsl/doc/html/preface.autolabel.html | 5 + .../doc/html/process.empty.source.toc.html | 5 + rosdocs/xsl/doc/html/process.source.toc.html | 5 + rosdocs/xsl/doc/html/profile.arch.html | 13 + rosdocs/xsl/doc/html/profile.attribute.html | 8 + rosdocs/xsl/doc/html/profile.condition.html | 13 + rosdocs/xsl/doc/html/profile.conformance.html | 13 + rosdocs/xsl/doc/html/profile.lang.html | 13 + rosdocs/xsl/doc/html/profile.os.html | 13 + rosdocs/xsl/doc/html/profile.revision.html | 13 + .../xsl/doc/html/profile.revisionflag.html | 13 + rosdocs/xsl/doc/html/profile.role.html | 13 + rosdocs/xsl/doc/html/profile.security.html | 13 + rosdocs/xsl/doc/html/profile.separator.html | 4 + rosdocs/xsl/doc/html/profile.userlevel.html | 13 + rosdocs/xsl/doc/html/profile.value.html | 13 + rosdocs/xsl/doc/html/profile.vendor.html | 13 + rosdocs/xsl/doc/html/punct.honorific.html | 5 + rosdocs/xsl/doc/html/qanda.defaultlabel.html | 6 + .../doc/html/qanda.inherit.numeration.html | 6 + rosdocs/xsl/doc/html/qandadiv.autolabel.html | 5 + .../xsl/doc/html/refentry.generate.name.html | 7 + .../xsl/doc/html/refentry.generate.title.html | 7 + rosdocs/xsl/doc/html/refentry.separator.html | 6 + .../xsl/doc/html/refentry.xref.manvolnum.html | 8 + rosdocs/xsl/doc/html/rn01.html | 3 + rosdocs/xsl/doc/html/rn02.html | 3 + rosdocs/xsl/doc/html/rn03.html | 3 + rosdocs/xsl/doc/html/rn04.html | 4 + rosdocs/xsl/doc/html/rn05.html | 3 + rosdocs/xsl/doc/html/rn06.html | 3 + rosdocs/xsl/doc/html/rn07.html | 3 + rosdocs/xsl/doc/html/rn08.html | 3 + rosdocs/xsl/doc/html/rn09.html | 4 + rosdocs/xsl/doc/html/rn10.html | 4 + rosdocs/xsl/doc/html/rn11.html | 3 + rosdocs/xsl/doc/html/rn12.html | 3 + rosdocs/xsl/doc/html/rn13.html | 3 + rosdocs/xsl/doc/html/rn14.html | 3 + rosdocs/xsl/doc/html/rn15.html | 3 + rosdocs/xsl/doc/html/rn16.html | 4 + rosdocs/xsl/doc/html/rn17.html | 3 + rosdocs/xsl/doc/html/rn18.html | 16 + rosdocs/xsl/doc/html/rn19.html | 3 + rosdocs/xsl/doc/html/root.filename.html | 6 + rosdocs/xsl/doc/html/rootid.html | 10 + .../runinhead.default.title.end.punct.html | 5 + .../doc/html/runinhead.title.end.punct.html | 5 + .../html/saxon.character.representation.html | 7 + rosdocs/xsl/doc/html/section.autolabel.html | 5 + ...ection.label.includes.component.label.html | 6 + .../xsl/doc/html/segmentedlist.as.table.html | 5 + rosdocs/xsl/doc/html/shade.verbatim.html | 4 + .../xsl/doc/html/shade.verbatim.style.html | 7 + rosdocs/xsl/doc/html/show.comments.html | 7 + rosdocs/xsl/doc/html/show.revisionflag.html | 14 + rosdocs/xsl/doc/html/spacing.paras.html | 7 + .../xsl/doc/html/stylesheet.result.type.html | 6 + rosdocs/xsl/doc/html/suppress.navigation.html | 5 + rosdocs/xsl/doc/html/table.border.color.html | 4 + rosdocs/xsl/doc/html/table.border.style.html | 4 + .../xsl/doc/html/table.border.thickness.html | 4 + .../xsl/doc/html/table.borders.with.css.html | 5 + .../xsl/doc/html/tablecolumns.extension.html | 7 + rosdocs/xsl/doc/html/tex.math.delims.html | 6 + rosdocs/xsl/doc/html/tex.math.file.html | 6 + rosdocs/xsl/doc/html/tex.math.in.alt.html | 26 + .../xsl/doc/html/textinsert.extension.html | 6 + rosdocs/xsl/doc/html/toc.list.type.html | 5 + rosdocs/xsl/doc/html/toc.section.depth.html | 6 + rosdocs/xsl/doc/html/ulink.target.html | 6 + rosdocs/xsl/doc/html/use.extensions.html | 8 + rosdocs/xsl/doc/html/use.id.as.filename.html | 7 + rosdocs/xsl/doc/html/use.svg.html | 7 + rosdocs/xsl/doc/html/using.chunker.html | 8 + .../xsl/doc/html/variablelist.as.table.html | 7 + rosdocs/xsl/doc/htmlhelp.html | 32 + rosdocs/xsl/doc/index.html | 4 + rosdocs/xsl/doc/jrefhtml.xsl | 33 + rosdocs/xsl/doc/lib/ChangeLog | 20 + rosdocs/xsl/doc/lib/lib.html | 418 + rosdocs/xsl/doc/pr01.html | 4 + rosdocs/xsl/doc/publishing.html | 56 + rosdocs/xsl/doc/ref.css | 31 + rosdocs/xsl/doc/reference.css | 4 + rosdocs/xsl/doc/reference.html | 9 + rosdocs/xsl/doc/reference.xsl | 55 + rosdocs/xsl/doc/template/ChangeLog | 8 + rosdocs/xsl/doc/template/titlepage.html | 659 ++ rosdocs/xsl/doc/tools/ChangeLog | 12 + rosdocs/xsl/doc/tools/profile-chain.png | Bin 0 -> 13799 bytes rosdocs/xsl/doc/tools/profiling.html | 163 + rosdocs/xsl/doc/warranty.html | 10 + rosdocs/xsl/docsrc/ChangeLog | 85 + rosdocs/xsl/docsrc/clrefentry.xsl | 97 + rosdocs/xsl/docsrc/common/ChangeLog | 8 + rosdocs/xsl/docsrc/common/common.xml | 398 + rosdocs/xsl/docsrc/copyright.xml | 30 + rosdocs/xsl/docsrc/documentation.xml | 71 + rosdocs/xsl/docsrc/extensions.xml | 138 + rosdocs/xsl/docsrc/fo/ChangeLog | 12 + rosdocs/xsl/docsrc/fo/param.xml | 4264 ++++++++++ rosdocs/xsl/docsrc/fo/table.xml | 150 + rosdocs/xsl/docsrc/html/ChangeLog | 12 + rosdocs/xsl/docsrc/html/param.xml | 4592 ++++++++++ rosdocs/xsl/docsrc/htmlhelp.xml | 158 + rosdocs/xsl/docsrc/jrefhtml.xsl | 169 + rosdocs/xsl/docsrc/legalnotice.xml | 37 + rosdocs/xsl/docsrc/lrefentry.xsl | 91 + rosdocs/xsl/docsrc/publishing.xml | 1154 +++ rosdocs/xsl/docsrc/reference.xml | 62 + rosdocs/xsl/docsrc/template-example.xml | 12 + rosdocs/xsl/docsrc/template-example.xsl | 20 + rosdocs/xsl/docsrc/template/ChangeLog | 8 + rosdocs/xsl/docsrc/template/titlepage.xml | 493 ++ rosdocs/xsl/docsrc/templates.xml | 104 + rosdocs/xsl/docsrc/tools/ChangeLog | 20 + rosdocs/xsl/docsrc/tools/profile-chain.png | Bin 0 -> 13799 bytes rosdocs/xsl/docsrc/tools/profiling.xml | 330 + rosdocs/xsl/docsrc/warranty.xml | 14 + rosdocs/xsl/docsrc/xsl2jref.xsl | 352 + rosdocs/xsl/extensions/ChangeLog | 36 + .../doc/saxon5/com/nwalsh/saxon/CVS.html | 241 + .../doc/saxon5/com/nwalsh/saxon/Callout.html | 328 + .../doc/saxon5/com/nwalsh/saxon/Driver.html | 164 + .../doc/saxon5/com/nwalsh/saxon/Text.html | 469 + .../saxon5/com/nwalsh/saxon/TextFactory.html | 240 + .../doc/saxon5/com/nwalsh/saxon/Verbatim.html | 464 + .../com/nwalsh/saxon/package-frame.html | 34 + .../com/nwalsh/saxon/package-summary.html | 176 + .../saxon5/com/nwalsh/saxon/package-tree.html | 113 + .../doc/saxon5/deprecated-list.html | 89 + .../xsl/extensions/doc/saxon5/help-doc.html | 138 + .../xsl/extensions/doc/saxon5/index-all.html | 194 + rosdocs/xsl/extensions/doc/saxon5/index.html | 22 + .../extensions/doc/saxon5/overview-tree.html | 115 + .../xsl/extensions/doc/saxon5/package-list | 1 + .../xsl/extensions/doc/saxon5/packages.html | 26 + .../doc/saxon5/serialized-form.html | 89 + .../xsl/extensions/doc/saxon5/stylesheet.css | 29 + .../doc/saxon6/com/nwalsh/saxon6/CVS.html | 241 + .../com/nwalsh/saxon6/CalloutEmitter.html | 355 + .../saxon6/com/nwalsh/saxon6/CopyEmitter.html | 543 ++ .../com/nwalsh/saxon6/LineCountEmitter.html | 555 ++ .../com/nwalsh/saxon6/NumberLinesEmitter.html | 328 + .../doc/saxon6/com/nwalsh/saxon6/Table.html | 255 + .../doc/saxon6/com/nwalsh/saxon6/Text.html | 506 ++ .../saxon6/com/nwalsh/saxon6/TextFactory.html | 240 + .../saxon6/com/nwalsh/saxon6/Verbatim.html | 347 + .../com/nwalsh/saxon6/package-frame.html | 42 + .../com/nwalsh/saxon6/package-summary.html | 190 + .../com/nwalsh/saxon6/package-tree.html | 116 + .../doc/saxon6/deprecated-list.html | 89 + .../xsl/extensions/doc/saxon6/help-doc.html | 138 + .../xsl/extensions/doc/saxon6/index-all.html | 329 + rosdocs/xsl/extensions/doc/saxon6/index.html | 22 + .../extensions/doc/saxon6/overview-tree.html | 118 + .../xsl/extensions/doc/saxon6/package-list | 1 + .../xsl/extensions/doc/saxon6/packages.html | 26 + .../doc/saxon6/serialized-form.html | 89 + .../xsl/extensions/doc/saxon6/stylesheet.css | 29 + rosdocs/xsl/extensions/prj.el | 216 + rosdocs/xsl/extensions/saxon643.jar | Bin 0 -> 33656 bytes rosdocs/xsl/extensions/saxon643/ChangeLog | 8 + .../saxon643/com/nwalsh/saxon/CVS.java | 90 + .../saxon643/com/nwalsh/saxon/Callout.java | 90 + .../com/nwalsh/saxon/CalloutEmitter.java | 534 ++ .../saxon643/com/nwalsh/saxon/ChangeLog | 22 + .../com/nwalsh/saxon/ColumnScanEmitter.java | 165 + .../com/nwalsh/saxon/ColumnUpdateEmitter.java | 96 + .../com/nwalsh/saxon/CopyEmitter.java | 150 + .../com/nwalsh/saxon/FormatCallout.java | 111 + .../nwalsh/saxon/FormatGraphicCallout.java | 88 + .../com/nwalsh/saxon/FormatTextCallout.java | 43 + .../nwalsh/saxon/FormatUnicodeCallout.java | 98 + .../com/nwalsh/saxon/ImageIntrinsics.java | 157 + .../com/nwalsh/saxon/LineCountEmitter.java | 141 + .../com/nwalsh/saxon/NumberLinesEmitter.java | 332 + .../saxon643/com/nwalsh/saxon/Table.java | 435 + .../saxon643/com/nwalsh/saxon/Text.java | 132 + .../com/nwalsh/saxon/TextFactory.java | 67 + .../saxon643/com/nwalsh/saxon/Verbatim.java | 476 ++ .../saxon643/com/nwalsh/saxon/package.html | 48 + rosdocs/xsl/extensions/saxon643/prj.el | 218 + rosdocs/xsl/extensions/saxon644.jar | Bin 0 -> 33656 bytes rosdocs/xsl/extensions/saxon65.jar | Bin 0 -> 33656 bytes rosdocs/xsl/extensions/saxon651.jar | Bin 0 -> 33656 bytes rosdocs/xsl/extensions/xalan2.jar | Bin 0 -> 27528 bytes rosdocs/xsl/extensions/xalan2/ChangeLog | 8 + .../xalan2/com/nwalsh/xalan/CVS.java | 90 + .../xalan2/com/nwalsh/xalan/Callout.java | 143 + .../xalan2/com/nwalsh/xalan/ChangeLog | 28 + .../com/nwalsh/xalan/FormatCallout.java | 108 + .../nwalsh/xalan/FormatDingbatCallout.java | 82 + .../nwalsh/xalan/FormatGraphicCallout.java | 83 + .../com/nwalsh/xalan/FormatTextCallout.java | 38 + .../nwalsh/xalan/FormatUnicodeCallout.java | 61 + .../xalan2/com/nwalsh/xalan/Func.java | 59 + .../com/nwalsh/xalan/ImageIntrinsics.java | 159 + .../xalan2/com/nwalsh/xalan/Params.java | 57 + .../xalan2/com/nwalsh/xalan/Table.java | 489 ++ .../xalan2/com/nwalsh/xalan/Text.java | 128 + .../xalan2/com/nwalsh/xalan/Verbatim.java | 929 ++ .../xalan2/com/nwalsh/xalan/package.html | 48 + rosdocs/xsl/fo/ChangeLog | 679 ++ rosdocs/xsl/fo/admon.xsl | 129 + rosdocs/xsl/fo/autoidx.xsl | 336 + rosdocs/xsl/fo/autotoc.xsl | 468 + rosdocs/xsl/fo/biblio.xsl | 1060 +++ rosdocs/xsl/fo/block.xsl | 328 + rosdocs/xsl/fo/callout.xsl | 198 + rosdocs/xsl/fo/component.xsl | 434 + rosdocs/xsl/fo/division.xsl | 399 + rosdocs/xsl/fo/docbook.xsl | 184 + rosdocs/xsl/fo/ebnf.xsl | 318 + rosdocs/xsl/fo/fo-patch-for-fop.xsl | 54 + rosdocs/xsl/fo/fo-rtf.xsl | 144 + rosdocs/xsl/fo/fo.xsl | 62 + rosdocs/xsl/fo/footnote.xsl | 153 + rosdocs/xsl/fo/fop.xsl | 83 + rosdocs/xsl/fo/formal.xsl | 398 + rosdocs/xsl/fo/glossary.xsl | 502 ++ rosdocs/xsl/fo/graphics.xsl | 510 ++ rosdocs/xsl/fo/index.xsl | 118 + rosdocs/xsl/fo/info.xsl | 34 + rosdocs/xsl/fo/inline.xsl | 845 ++ rosdocs/xsl/fo/keywords.xsl | 21 + rosdocs/xsl/fo/lists.xsl | 849 ++ rosdocs/xsl/fo/math.xsl | 121 + rosdocs/xsl/fo/pagesetup.xsl | 522 ++ rosdocs/xsl/fo/param.ent | 140 + rosdocs/xsl/fo/param.xml | 4264 ++++++++++ rosdocs/xsl/fo/param.xsl | 477 ++ rosdocs/xsl/fo/param.xweb | 519 ++ rosdocs/xsl/fo/passivetex.xsl | 49 + rosdocs/xsl/fo/pi.xsl | 162 + rosdocs/xsl/fo/profile-docbook.xsl | 179 + rosdocs/xsl/fo/qandaset.xsl | 230 + rosdocs/xsl/fo/refentry.xsl | 299 + rosdocs/xsl/fo/sections.xsl | 357 + rosdocs/xsl/fo/synop.xsl | 898 ++ rosdocs/xsl/fo/table.xsl | 876 ++ rosdocs/xsl/fo/titlepage.templates.xml | 933 ++ rosdocs/xsl/fo/titlepage.templates.xsl | 2916 +++++++ rosdocs/xsl/fo/titlepage.xsl | 657 ++ rosdocs/xsl/fo/toc.xsl | 211 + rosdocs/xsl/fo/verbatim.xsl | 235 + rosdocs/xsl/fo/xep.xsl | 118 + rosdocs/xsl/fo/xref.xsl | 503 ++ rosdocs/xsl/html/ChangeLog | 916 ++ rosdocs/xsl/html/admon.xsl | 101 + rosdocs/xsl/html/autoidx.xsl | 294 + rosdocs/xsl/html/autotoc.xsl | 578 ++ rosdocs/xsl/html/biblio.xsl | 1024 +++ rosdocs/xsl/html/block.xsl | 374 + rosdocs/xsl/html/callout.xsl | 173 + rosdocs/xsl/html/changebars.xsl | 85 + rosdocs/xsl/html/chunk-common.xsl | 905 ++ rosdocs/xsl/html/chunk.xsl | 624 ++ rosdocs/xsl/html/chunker.xsl | 186 + rosdocs/xsl/html/chunktoc.xsl | 231 + rosdocs/xsl/html/component.xsl | 375 + rosdocs/xsl/html/division.xsl | 194 + rosdocs/xsl/html/docbook.xsl | 253 + rosdocs/xsl/html/ebnf.xsl | 324 + rosdocs/xsl/html/footnote.xsl | 240 + rosdocs/xsl/html/formal.xsl | 181 + rosdocs/xsl/html/glossary.xsl | 319 + rosdocs/xsl/html/graphics.xsl | 1004 +++ rosdocs/xsl/html/html-rtf.xsl | 194 + rosdocs/xsl/html/html.xsl | 80 + rosdocs/xsl/html/index.xsl | 178 + rosdocs/xsl/html/info.xsl | 53 + rosdocs/xsl/html/inline.xsl | 993 +++ rosdocs/xsl/html/keywords.xsl | 35 + rosdocs/xsl/html/lists.xsl | 954 +++ rosdocs/xsl/html/maketoc.xsl | 60 + rosdocs/xsl/html/manifest.xsl | 72 + rosdocs/xsl/html/math.xsl | 300 + rosdocs/xsl/html/oldchunker.xsl | 190 + rosdocs/xsl/html/onechunk.xsl | 24 + rosdocs/xsl/html/param.ent | 156 + rosdocs/xsl/html/param.xml | 4592 ++++++++++ rosdocs/xsl/html/param.xsl | 329 + rosdocs/xsl/html/param.xweb | 472 ++ rosdocs/xsl/html/pi.xsl | 207 + rosdocs/xsl/html/profile-chunk.xsl | 325 + rosdocs/xsl/html/profile-docbook.xsl | 245 + rosdocs/xsl/html/profile-onechunk.xsl | 47 + rosdocs/xsl/html/qandaset.xsl | 324 + rosdocs/xsl/html/refentry.xsl | 233 + rosdocs/xsl/html/sections.xsl | 351 + rosdocs/xsl/html/synop.xsl | 989 +++ rosdocs/xsl/html/table.xsl | 872 ++ rosdocs/xsl/html/titlepage.templates.xml | 635 ++ rosdocs/xsl/html/titlepage.templates.xsl | 2718 ++++++ rosdocs/xsl/html/titlepage.xsl | 758 ++ rosdocs/xsl/html/toc.xsl | 173 + rosdocs/xsl/html/verbatim.xsl | 319 + rosdocs/xsl/html/xref.xsl | 692 ++ rosdocs/xsl/htmlhelp/ChangeLog | 133 + rosdocs/xsl/htmlhelp/htmlhelp.xsl | 807 ++ rosdocs/xsl/htmlhelp/langcodes.xml | 103 + rosdocs/xsl/htmlhelp/profile-htmlhelp.xsl | 800 ++ rosdocs/xsl/images/ChangeLog | 17 + rosdocs/xsl/images/blank.png | Bin 0 -> 373 bytes rosdocs/xsl/images/callouts/1.gif | Bin 0 -> 968 bytes rosdocs/xsl/images/callouts/1.png | Bin 0 -> 328 bytes rosdocs/xsl/images/callouts/10.gif | Bin 0 -> 968 bytes rosdocs/xsl/images/callouts/10.png | Bin 0 -> 360 bytes rosdocs/xsl/images/callouts/11.gif | Bin 0 -> 244 bytes rosdocs/xsl/images/callouts/11.png | Bin 0 -> 564 bytes rosdocs/xsl/images/callouts/12.gif | Bin 0 -> 244 bytes rosdocs/xsl/images/callouts/12.png | Bin 0 -> 616 bytes rosdocs/xsl/images/callouts/13.gif | Bin 0 -> 244 bytes rosdocs/xsl/images/callouts/13.png | Bin 0 -> 622 bytes rosdocs/xsl/images/callouts/14.gif | Bin 0 -> 244 bytes rosdocs/xsl/images/callouts/14.png | Bin 0 -> 410 bytes rosdocs/xsl/images/callouts/15.gif | Bin 0 -> 244 bytes rosdocs/xsl/images/callouts/15.png | Bin 0 -> 639 bytes rosdocs/xsl/images/callouts/2.gif | Bin 0 -> 968 bytes rosdocs/xsl/images/callouts/2.png | Bin 0 -> 352 bytes rosdocs/xsl/images/callouts/3.gif | Bin 0 -> 968 bytes rosdocs/xsl/images/callouts/3.png | Bin 0 -> 349 bytes rosdocs/xsl/images/callouts/4.gif | Bin 0 -> 968 bytes rosdocs/xsl/images/callouts/4.png | Bin 0 -> 344 bytes rosdocs/xsl/images/callouts/5.gif | Bin 0 -> 968 bytes rosdocs/xsl/images/callouts/5.png | Bin 0 -> 347 bytes rosdocs/xsl/images/callouts/6.gif | Bin 0 -> 968 bytes rosdocs/xsl/images/callouts/6.png | Bin 0 -> 354 bytes rosdocs/xsl/images/callouts/7.gif | Bin 0 -> 968 bytes rosdocs/xsl/images/callouts/7.png | Bin 0 -> 343 bytes rosdocs/xsl/images/callouts/8.gif | Bin 0 -> 968 bytes rosdocs/xsl/images/callouts/8.png | Bin 0 -> 356 bytes rosdocs/xsl/images/callouts/9.gif | Bin 0 -> 968 bytes rosdocs/xsl/images/callouts/9.png | Bin 0 -> 356 bytes rosdocs/xsl/images/callouts/ChangeLog | 15 + rosdocs/xsl/images/caution.gif | Bin 0 -> 743 bytes rosdocs/xsl/images/caution.png | Bin 0 -> 1249 bytes rosdocs/xsl/images/caution.tif | Bin 0 -> 1978 bytes rosdocs/xsl/images/draft.png | Bin 0 -> 17453 bytes rosdocs/xsl/images/home.gif | Bin 0 -> 321 bytes rosdocs/xsl/images/home.png | Bin 0 -> 1155 bytes rosdocs/xsl/images/important.gif | Bin 0 -> 1003 bytes rosdocs/xsl/images/important.png | Bin 0 -> 721 bytes rosdocs/xsl/images/important.tif | Bin 0 -> 2020 bytes rosdocs/xsl/images/next.gif | Bin 0 -> 1083 bytes rosdocs/xsl/images/next.png | Bin 0 -> 1149 bytes rosdocs/xsl/images/note.gif | Bin 0 -> 580 bytes rosdocs/xsl/images/note.png | Bin 0 -> 489 bytes rosdocs/xsl/images/note.tif | Bin 0 -> 460 bytes rosdocs/xsl/images/prev.gif | Bin 0 -> 1118 bytes rosdocs/xsl/images/prev.png | Bin 0 -> 1131 bytes rosdocs/xsl/images/tip.gif | Bin 0 -> 598 bytes rosdocs/xsl/images/tip.png | Bin 0 -> 448 bytes rosdocs/xsl/images/tip.tif | Bin 0 -> 420 bytes rosdocs/xsl/images/toc-blank.png | Bin 0 -> 317 bytes rosdocs/xsl/images/toc-minus.png | Bin 0 -> 258 bytes rosdocs/xsl/images/toc-plus.png | Bin 0 -> 263 bytes rosdocs/xsl/images/up.gif | Bin 0 -> 1089 bytes rosdocs/xsl/images/up.png | Bin 0 -> 1110 bytes rosdocs/xsl/images/warning.gif | Bin 0 -> 743 bytes rosdocs/xsl/images/warning.png | Bin 0 -> 1240 bytes rosdocs/xsl/images/warning.tif | Bin 0 -> 1990 bytes rosdocs/xsl/javahelp/ChangeLog | 30 + rosdocs/xsl/javahelp/javahelp.xsl | 487 ++ rosdocs/xsl/javahelp/profile-javahelp.xsl | 447 + rosdocs/xsl/lib/ChangeLog | 38 + rosdocs/xsl/lib/lib.xml | 702 ++ rosdocs/xsl/lib/lib.xsl | 349 + rosdocs/xsl/lib/lib.xweb | 700 ++ rosdocs/xsl/params/ChangeLog | 227 + .../xsl/params/admon.graphics.extension.xml | 20 + rosdocs/xsl/params/admon.graphics.path.xml | 22 + rosdocs/xsl/params/admon.graphics.xml | 22 + rosdocs/xsl/params/admon.style.xml | 24 + rosdocs/xsl/params/admonition.properties.xml | 16 + .../params/admonition.title.properties.xml | 20 + rosdocs/xsl/params/alignment.xml | 21 + rosdocs/xsl/params/annotate.toc.xml | 23 + rosdocs/xsl/params/appendix.autolabel.xml | 22 + rosdocs/xsl/params/arbortext.extensions.xml | 23 + .../xsl/params/author.othername.in.middle.xml | 25 + .../xsl/params/autotoc.label.separator.xml | 20 + rosdocs/xsl/params/base.dir.xml | 22 + .../xsl/params/biblioentry.item.separator.xml | 21 + .../xsl/params/bibliography.collection.xml | 96 + rosdocs/xsl/params/blockquote.properties.xml | 25 + rosdocs/xsl/params/body.font.family.xml | 21 + rosdocs/xsl/params/body.font.master.xml | 23 + rosdocs/xsl/params/body.font.size.xml | 25 + rosdocs/xsl/params/body.margin.bottom.xml | 24 + rosdocs/xsl/params/body.margin.top.xml | 24 + rosdocs/xsl/params/bridgehead.in.toc.xml | 23 + rosdocs/xsl/params/callout.defaultcolumn.xml | 23 + .../xsl/params/callout.graphics.extension.xml | 20 + .../params/callout.graphics.number.limit.xml | 28 + rosdocs/xsl/params/callout.graphics.path.xml | 22 + rosdocs/xsl/params/callout.graphics.xml | 23 + rosdocs/xsl/params/callout.list.table.xml | 25 + rosdocs/xsl/params/callout.unicode.font.xml | 22 + .../params/callout.unicode.number.limit.xml | 28 + .../callout.unicode.start.character.xml | 26 + rosdocs/xsl/params/callout.unicode.xml | 21 + rosdocs/xsl/params/callouts.extension.xml | 23 + rosdocs/xsl/params/chapter.autolabel.xml | 21 + rosdocs/xsl/params/chunk.datafile.xml | 25 + rosdocs/xsl/params/chunk.first.sections.xml | 26 + rosdocs/xsl/params/chunk.quietly.xml | 25 + rosdocs/xsl/params/chunk.section.depth.xml | 22 + rosdocs/xsl/params/chunk.sections.xml | 23 + rosdocs/xsl/params/chunk.toc.xml | 25 + rosdocs/xsl/params/citerefentry.link.xml | 23 + rosdocs/xsl/params/column.count.of.index.xml | 23 + rosdocs/xsl/params/column.count.xml | 21 + .../xsl/params/compact.list.item.spacing.xml | 19 + .../xsl/params/component.title.properties.xml | 30 + rosdocs/xsl/params/css.decoration.xml | 26 + rosdocs/xsl/params/default.encoding.xml | 22 + rosdocs/xsl/params/default.table.width.xml | 22 + rosdocs/xsl/params/default.units.xml | 30 + rosdocs/xsl/params/dingbat.font.family.xml | 22 + rosdocs/xsl/params/double.sided.xml | 24 + rosdocs/xsl/params/draft.watermark.image.xml | 22 + rosdocs/xsl/params/ebnf.table.bgcolor.xml | 23 + rosdocs/xsl/params/ebnf.table.border.xml | 21 + .../xsl/params/emphasis.propagates.style.xml | 24 + rosdocs/xsl/params/firstterm.only.link.xml | 24 + rosdocs/xsl/params/footnote.font.size.xml | 23 + rosdocs/xsl/params/fop.extensions.xml | 23 + .../xsl/params/formal.object.properties.xml | 20 + rosdocs/xsl/params/formal.procedures.xml | 23 + rosdocs/xsl/params/formal.title.placement.xml | 35 + .../xsl/params/formal.title.properties.xml | 24 + .../xsl/params/funcsynopsis.decoration.xml | 23 + rosdocs/xsl/params/funcsynopsis.style.xml | 26 + rosdocs/xsl/params/function.parens.xml | 23 + rosdocs/xsl/params/generate.id.attributes.xml | 54 + rosdocs/xsl/params/generate.index.xml | 20 + .../xsl/params/generate.legalnotice.link.xml | 20 + rosdocs/xsl/params/generate.manifest.xml | 23 + .../xsl/params/generate.section.toc.level.xml | 28 + rosdocs/xsl/params/generate.toc.xml | 88 + rosdocs/xsl/params/glossary.collection.xml | 189 + rosdocs/xsl/params/glossterm.auto.link.xml | 26 + .../xsl/params/graphic.default.extension.xml | 24 + rosdocs/xsl/params/html.base.xml | 23 + rosdocs/xsl/params/html.cleanup.xml | 29 + rosdocs/xsl/params/html.ext.xml | 24 + rosdocs/xsl/params/html.extra.head.links.xml | 26 + rosdocs/xsl/params/html.longdesc.link.xml | 29 + rosdocs/xsl/params/html.longdesc.xml | 27 + rosdocs/xsl/params/html.stylesheet.type.xml | 21 + rosdocs/xsl/params/html.stylesheet.xml | 22 + rosdocs/xsl/params/htmlhelp.alias.file.xml | 23 + rosdocs/xsl/params/htmlhelp.autolabel.xml | 23 + rosdocs/xsl/params/htmlhelp.chm.xml | 23 + rosdocs/xsl/params/htmlhelp.default.topic.xml | 31 + rosdocs/xsl/params/htmlhelp.encoding.xml | 23 + .../xsl/params/htmlhelp.enumerate.images.xml | 23 + .../params/htmlhelp.force.map.and.alias.xml | 24 + .../htmlhelp.hhc.folders.instead.books.xml | 23 + .../xsl/params/htmlhelp.hhc.section.depth.xml | 23 + rosdocs/xsl/params/htmlhelp.hhc.show.root.xml | 24 + rosdocs/xsl/params/htmlhelp.hhc.xml | 23 + rosdocs/xsl/params/htmlhelp.hhp.tail.xml | 23 + rosdocs/xsl/params/htmlhelp.hhp.xml | 23 + rosdocs/xsl/params/htmlhelp.map.file.xml | 23 + rosdocs/xsl/params/htmlhelp.title.xml | 23 + rosdocs/xsl/params/hyphenate.xml | 21 + .../xsl/params/informal.object.properties.xml | 20 + rosdocs/xsl/params/inherit.keywords.xml | 25 + .../xsl/params/insert.xref.page.number.xml | 22 + rosdocs/xsl/params/label.from.part.xml | 25 + rosdocs/xsl/params/line-height.xml | 22 + rosdocs/xsl/params/linenumbering.everyNth.xml | 21 + .../xsl/params/linenumbering.extension.xml | 24 + .../xsl/params/linenumbering.separator.xml | 22 + rosdocs/xsl/params/linenumbering.width.xml | 22 + rosdocs/xsl/params/link.mailto.url.xml | 22 + rosdocs/xsl/params/list.block.spacing.xml | 17 + rosdocs/xsl/params/list.item.spacing.xml | 17 + .../xsl/params/make.single.year.ranges.xml | 22 + rosdocs/xsl/params/make.valid.html.xml | 30 + rosdocs/xsl/params/make.year.ranges.xml | 20 + rosdocs/xsl/params/manifest.xml | 23 + rosdocs/xsl/params/manual.toc.xml | 24 + rosdocs/xsl/params/monospace.font.family.xml | 22 + .../params/monospace.verbatim.properties.xml | 21 + .../xsl/params/navig.graphics.extension.xml | 21 + rosdocs/xsl/params/navig.graphics.path.xml | 23 + rosdocs/xsl/params/navig.graphics.xml | 24 + rosdocs/xsl/params/navig.showtitles.xml | 27 + rosdocs/xsl/params/nominal.table.width.xml | 23 + rosdocs/xsl/params/normal.para.spacing.xml | 17 + rosdocs/xsl/params/olink.fragid.xml | 20 + rosdocs/xsl/params/olink.outline.ext.xml | 20 + rosdocs/xsl/params/olink.pubid.xml | 20 + rosdocs/xsl/params/olink.resolver.xml | 20 + rosdocs/xsl/params/olink.sysid.xml | 20 + rosdocs/xsl/params/output.method.xml | 24 + rosdocs/xsl/params/page.height.portrait.xml | 64 + rosdocs/xsl/params/page.height.xml | 32 + rosdocs/xsl/params/page.margin.bottom.xml | 24 + rosdocs/xsl/params/page.margin.inner.xml | 30 + rosdocs/xsl/params/page.margin.outer.xml | 30 + rosdocs/xsl/params/page.margin.top.xml | 23 + rosdocs/xsl/params/page.orientation.xml | 22 + rosdocs/xsl/params/page.width.portrait.xml | 62 + rosdocs/xsl/params/page.width.xml | 31 + rosdocs/xsl/params/paper.type.xml | 23 + rosdocs/xsl/params/part.autolabel.xml | 21 + rosdocs/xsl/params/passivetex.extensions.xml | 24 + .../xsl/params/phrase.propagates.style.xml | 22 + rosdocs/xsl/params/pixels.per.inch.xml | 26 + rosdocs/xsl/params/points.per.em.xml | 22 + rosdocs/xsl/params/preface.autolabel.xml | 21 + .../xsl/params/process.empty.source.toc.xml | 21 + rosdocs/xsl/params/process.source.toc.xml | 21 + rosdocs/xsl/params/profile.arch.xml | 33 + rosdocs/xsl/params/profile.attribute.xml | 29 + rosdocs/xsl/params/profile.condition.xml | 33 + rosdocs/xsl/params/profile.conformance.xml | 33 + rosdocs/xsl/params/profile.lang.xml | 33 + rosdocs/xsl/params/profile.os.xml | 33 + rosdocs/xsl/params/profile.revision.xml | 33 + rosdocs/xsl/params/profile.revisionflag.xml | 33 + rosdocs/xsl/params/profile.role.xml | 33 + rosdocs/xsl/params/profile.security.xml | 33 + rosdocs/xsl/params/profile.separator.xml | 22 + rosdocs/xsl/params/profile.userlevel.xml | 33 + rosdocs/xsl/params/profile.value.xml | 36 + rosdocs/xsl/params/profile.vendor.xml | 33 + rosdocs/xsl/params/punct.honorific.xml | 23 + rosdocs/xsl/params/qanda.defaultlabel.xml | 23 + .../xsl/params/qanda.inherit.numeration.xml | 22 + rosdocs/xsl/params/qandadiv.autolabel.xml | 21 + rosdocs/xsl/params/refentry.generate.name.xml | 23 + .../xsl/params/refentry.generate.title.xml | 26 + rosdocs/xsl/params/refentry.separator.xml | 22 + .../xsl/params/refentry.xref.manvolnum.xml | 24 + rosdocs/xsl/params/region.after.extent.xml | 24 + rosdocs/xsl/params/region.before.extent.xml | 24 + rosdocs/xsl/params/root.filename.xml | 22 + rosdocs/xsl/params/rootid.xml | 27 + .../runinhead.default.title.end.punct.xml | 21 + .../xsl/params/runinhead.title.end.punct.xml | 21 + rosdocs/xsl/params/sans.font.family.xml | 22 + rosdocs/xsl/params/saxon.callouts.xml | 23 + .../params/saxon.character.representation.xml | 23 + rosdocs/xsl/params/saxon.linenumbering.xml | 24 + rosdocs/xsl/params/saxon.tablecolumns.xml | 23 + rosdocs/xsl/params/section.autolabel.xml | 21 + ...section.label.includes.component.label.xml | 22 + rosdocs/xsl/params/segmentedlist.as.table.xml | 23 + rosdocs/xsl/params/shade.verbatim.style.xml | 28 + rosdocs/xsl/params/shade.verbatim.xml | 20 + rosdocs/xsl/params/show.comments.xml | 24 + rosdocs/xsl/params/show.revisionflag.xml | 35 + rosdocs/xsl/params/spacing.paras.xml | 23 + rosdocs/xsl/params/suppress.navigation.xml | 22 + rosdocs/xsl/params/table.border.color.xml | 22 + rosdocs/xsl/params/table.border.padding.xml | 22 + rosdocs/xsl/params/table.border.style.xml | 22 + rosdocs/xsl/params/table.border.thickness.xml | 22 + rosdocs/xsl/params/table.borders.with.css.xml | 23 + rosdocs/xsl/params/table.cell.padding.xml | 27 + rosdocs/xsl/params/table.entry.padding.xml | 22 + rosdocs/xsl/params/tablecolumns.extension.xml | 23 + rosdocs/xsl/params/template.xml | 22 + rosdocs/xsl/params/tex.math.delims.xml | 24 + rosdocs/xsl/params/tex.math.file.xml | 24 + rosdocs/xsl/params/tex.math.in.alt.xml | 56 + rosdocs/xsl/params/textinsert.extension.xml | 22 + rosdocs/xsl/params/title.font.family.xml | 22 + rosdocs/xsl/params/title.margin.left.xml | 23 + rosdocs/xsl/params/toc.indent.width.xml | 28 + rosdocs/xsl/params/toc.list.type.xml | 25 + rosdocs/xsl/params/toc.margin.properties.xml | 20 + rosdocs/xsl/params/toc.section.depth.xml | 23 + rosdocs/xsl/params/ulink.footnotes.xml | 24 + rosdocs/xsl/params/ulink.hyphenate.xml | 28 + rosdocs/xsl/params/ulink.show.xml | 24 + rosdocs/xsl/params/ulink.target.xml | 22 + rosdocs/xsl/params/use.extensions.xml | 24 + rosdocs/xsl/params/use.id.as.filename.xml | 23 + rosdocs/xsl/params/use.id.function.xml | 25 + rosdocs/xsl/params/use.svg.xml | 25 + rosdocs/xsl/params/variablelist.as.blocks.xml | 27 + rosdocs/xsl/params/variablelist.as.table.xml | 27 + rosdocs/xsl/params/verbatim.properties.xml | 18 + rosdocs/xsl/params/xep.extensions.xml | 23 + rosdocs/xsl/params/xref.properties.xml | 15 + rosdocs/xsl/profiling/ChangeLog | 18 + rosdocs/xsl/profiling/profile-mode.xsl | 172 + rosdocs/xsl/profiling/profile.xsl | 34 + rosdocs/xsl/profiling/strip-attributes.xsl | 27 + rosdocs/xsl/profiling/xsl2profile.xsl | 135 + rosdocs/xsl/template/ChangeLog | 23 + rosdocs/xsl/template/README | 15 + rosdocs/xsl/template/biblioentry.xsl | 72 + rosdocs/xsl/template/testtemplate.xml | 35 + rosdocs/xsl/template/titlepage.xsl | 1129 +++ rosdocs/xsl/tools/ChangeLog | 8 + rosdocs/xsl/tools/olink/ChangeLog | 13 + rosdocs/xsl/tools/olink/olink-common.xsl | 193 + rosdocs/xsl/tools/olink/olink.xsl | 24 + rosdocs/xsl/tools/olink/olinkchunk.xsl | 22 + rosdocs/xsl/tools/olink/olinksum.dtd | 60 + rosdocs/xsl/tools/profile/ChangeLog | 12 + rosdocs/xsl/tools/profile/profile.xsl | 15 + rosdocs/xsl/xhtml/ChangeLog | 61 + rosdocs/xsl/xhtml/admon.xsl | 102 + rosdocs/xsl/xhtml/autoidx.xsl | 225 + rosdocs/xsl/xhtml/autotoc.xsl | 558 ++ rosdocs/xsl/xhtml/biblio.xsl | 1023 +++ rosdocs/xsl/xhtml/block.xsl | 371 + rosdocs/xsl/xhtml/callout.xsl | 163 + rosdocs/xsl/xhtml/changebars.xsl | 57 + rosdocs/xsl/xhtml/chunk-common.xsl | 867 ++ rosdocs/xsl/xhtml/chunk.xsl | 370 + rosdocs/xsl/xhtml/chunker.xsl | 163 + rosdocs/xsl/xhtml/chunktoc.xsl | 225 + rosdocs/xsl/xhtml/component.xsl | 356 + rosdocs/xsl/xhtml/division.xsl | 194 + rosdocs/xsl/xhtml/docbook.xsl | 241 + rosdocs/xsl/xhtml/ebnf.xsl | 323 + rosdocs/xsl/xhtml/footnote.xsl | 234 + rosdocs/xsl/xhtml/formal.xsl | 177 + rosdocs/xsl/xhtml/glossary.xsl | 320 + rosdocs/xsl/xhtml/graphics.xsl | 961 +++ rosdocs/xsl/xhtml/html-rtf.xsl | 189 + rosdocs/xsl/xhtml/html.xsl | 80 + rosdocs/xsl/xhtml/html2xhtml.xsl | 126 + rosdocs/xsl/xhtml/index.xsl | 173 + rosdocs/xsl/xhtml/info.xsl | 54 + rosdocs/xsl/xhtml/inline.xsl | 970 +++ rosdocs/xsl/xhtml/keywords.xsl | 36 + rosdocs/xsl/xhtml/lists.xsl | 934 ++ rosdocs/xsl/xhtml/maketoc.xsl | 65 + rosdocs/xsl/xhtml/manifest.xsl | 72 + rosdocs/xsl/xhtml/math.xsl | 317 + rosdocs/xsl/xhtml/oldchunker.xsl | 164 + rosdocs/xsl/xhtml/onechunk.xsl | 23 + rosdocs/xsl/xhtml/param.xsl | 328 + rosdocs/xsl/xhtml/pi.xsl | 208 + rosdocs/xsl/xhtml/profile-chunk.xsl | 325 + rosdocs/xsl/xhtml/profile-docbook.xsl | 241 + rosdocs/xsl/xhtml/profile-onechunk.xsl | 47 + rosdocs/xsl/xhtml/qandaset.xsl | 311 + rosdocs/xsl/xhtml/refentry.xsl | 233 + rosdocs/xsl/xhtml/sections.xsl | 296 + rosdocs/xsl/xhtml/synop.xsl | 958 +++ rosdocs/xsl/xhtml/table.xsl | 858 ++ rosdocs/xsl/xhtml/titlepage.templates.xsl | 2721 ++++++ rosdocs/xsl/xhtml/titlepage.xsl | 743 ++ rosdocs/xsl/xhtml/toc.xsl | 163 + rosdocs/xsl/xhtml/verbatim.xsl | 294 + rosdocs/xsl/xhtml/xref.xsl | 659 ++ rosdocs/xsl/xhtml/xslfiles.gen | 173 + web/wiki/ReactOS Wiki-Update.rtf | Bin 6883 -> 0 bytes 1117 files changed, 148474 insertions(+), 1136 deletions(-) delete mode 100644 README rename {UML flowchart/ddraw => articles}/D3DParseUnknownCommand.dia (100%) rename {UML flowchart/ddraw => articles}/D3DParseUnknownCommand.eps (100%) rename {UML flowchart/ddraw => articles}/D3DParseUnknownCommand.gif (100%) rename {reverse.engineering/rpcrt4 => articles}/rpcrt4_callchains.txt (94%) rename {user.interface => articles}/user_interface_guidelines.html (98%) delete mode 100644 reverse.engineering/.gitignore create mode 100644 rosdocs/.cvsignore create mode 100755 rosdocs/ChangeLog create mode 100644 rosdocs/Makefile create mode 100644 rosdocs/doxygen/win32k.cfg rename api/.gitignore => rosdocs/doxygen/win32k/keep.me (100%) create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/40chg.txt create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/41chg.txt create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/ChangeLog create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/calstblx.dtd create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/dbcentx.mod create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/dbgenent.mod create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/dbhierx.mod create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/dbnotnx.mod create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/dbpoolx.mod create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/docbook.cat create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/docbookx.dtd create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amsa.ent create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amsb.ent create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amsc.ent create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amsn.ent create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amso.ent create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amsr.ent create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/ent/iso-box.ent create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/ent/iso-cyr1.ent create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/ent/iso-cyr2.ent create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/ent/iso-dia.ent create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/ent/iso-grk1.ent create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/ent/iso-grk2.ent create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/ent/iso-grk3.ent create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/ent/iso-grk4.ent create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/ent/iso-lat1.ent create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/ent/iso-lat2.ent create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/ent/iso-num.ent create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/ent/iso-pub.ent create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/ent/iso-tech.ent create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/readme.txt create mode 100644 rosdocs/dtd/docbook-xml-4.1.2/soextblx.dtd create mode 100644 rosdocs/readme.dbk create mode 100644 rosdocs/readme.txt create mode 100755 rosdocs/rules.mk create mode 100644 rosdocs/tools/Makefile create mode 100755 rosdocs/tools/rcopy.c create mode 100755 rosdocs/tools/rdel.c create mode 100755 rosdocs/tools/rmkdir.c create mode 100755 rosdocs/tools/rrmdir.c create mode 100755 rosdocs/tutorials/ChangeLog create mode 100644 rosdocs/tutorials/dev/advandev/archoverview.xml create mode 100755 rosdocs/tutorials/dev/advandev/taggingfunctions.xml create mode 100644 rosdocs/tutorials/dev/advandev/win32wine.xml create mode 100644 rosdocs/tutorials/dev/bochtest/bochscyc.xml create mode 100644 rosdocs/tutorials/dev/bochtest/getbochs.xml create mode 100644 rosdocs/tutorials/dev/bochtest/introbochs.xml create mode 100644 rosdocs/tutorials/dev/newdev/cdpack.xml create mode 100644 rosdocs/tutorials/dev/newdev/compilesrc.xml create mode 100644 rosdocs/tutorials/dev/shcode/cvsapply.xml create mode 100644 rosdocs/tutorials/dev/shcode/cvsco.xml create mode 100644 rosdocs/tutorials/dev/shcode/cvsget.xml create mode 100644 rosdocs/tutorials/dev/shcode/cvsintro.xml create mode 100644 rosdocs/tutorials/dev/shcode/cvssubmit.xml create mode 100644 rosdocs/tutorials/dev/shcode/cvsupd.xml create mode 100644 rosdocs/tutorials/dev/shcode/mailpatch.xml create mode 100644 rosdocs/tutorials/dev/vmware/introvmware.xml create mode 100644 rosdocs/tutorials/history/2002/wineconf.xml create mode 100644 rosdocs/tutorials/tutorials.dbk create mode 100644 rosdocs/tutorials/tutorials.xml create mode 100755 rosdocs/tutorials/user/intro/bootoptions.xml create mode 100644 rosdocs/tutorials/user/intro/installbin.xml create mode 100644 rosdocs/tutorials/user/intro/installiso.xml create mode 100755 rosdocs/tutorials/user/intro/license.xml create mode 100644 rosdocs/tutorials/user/intro/organizational.xml create mode 100644 rosdocs/tutorials/user/intro/testbin.xml create mode 100644 rosdocs/tutorials/user/intro/whyandhow.xml create mode 100644 rosdocs/tutorials/user/usertuts.xml create mode 100644 rosdocs/xsl/BUGS create mode 100644 rosdocs/xsl/ChangeLog create mode 100644 rosdocs/xsl/README create mode 100644 rosdocs/xsl/RELEASE-NOTES.html create mode 100644 rosdocs/xsl/RELEASE-NOTES.xml create mode 100644 rosdocs/xsl/TODO create mode 100644 rosdocs/xsl/VERSION create mode 100644 rosdocs/xsl/WhatsNew create mode 100644 rosdocs/xsl/common/ChangeLog create mode 100644 rosdocs/xsl/common/af.xml create mode 100644 rosdocs/xsl/common/ca.xml create mode 100644 rosdocs/xsl/common/common.xsl create mode 100644 rosdocs/xsl/common/cs.xml create mode 100644 rosdocs/xsl/common/da.xml create mode 100644 rosdocs/xsl/common/de.xml create mode 100644 rosdocs/xsl/common/el.xml create mode 100644 rosdocs/xsl/common/en.xml create mode 100644 rosdocs/xsl/common/es.xml create mode 100644 rosdocs/xsl/common/et.xml create mode 100644 rosdocs/xsl/common/eu.xml create mode 100644 rosdocs/xsl/common/fi.xml create mode 100644 rosdocs/xsl/common/fr.xml create mode 100644 rosdocs/xsl/common/gentext.xsl create mode 100644 rosdocs/xsl/common/he.xml create mode 100644 rosdocs/xsl/common/hu.xml create mode 100644 rosdocs/xsl/common/id.xml create mode 100644 rosdocs/xsl/common/it.xml create mode 100644 rosdocs/xsl/common/ja.xml create mode 100644 rosdocs/xsl/common/ko.xml create mode 100644 rosdocs/xsl/common/l10n.dtd create mode 100644 rosdocs/xsl/common/l10n.xml create mode 100644 rosdocs/xsl/common/l10n.xsl create mode 100644 rosdocs/xsl/common/labels.xsl create mode 100644 rosdocs/xsl/common/nl.xml create mode 100644 rosdocs/xsl/common/nn.xml create mode 100644 rosdocs/xsl/common/no.xml create mode 100644 rosdocs/xsl/common/pl.xml create mode 100644 rosdocs/xsl/common/pt.xml create mode 100644 rosdocs/xsl/common/pt_br.xml create mode 100644 rosdocs/xsl/common/ro.xml create mode 100644 rosdocs/xsl/common/ru.xml create mode 100644 rosdocs/xsl/common/sk.xml create mode 100644 rosdocs/xsl/common/sl.xml create mode 100644 rosdocs/xsl/common/sr.xml create mode 100644 rosdocs/xsl/common/subtitles.xsl create mode 100644 rosdocs/xsl/common/sv.xml create mode 100644 rosdocs/xsl/common/table.xsl create mode 100644 rosdocs/xsl/common/th.xml create mode 100644 rosdocs/xsl/common/titles.xsl create mode 100644 rosdocs/xsl/common/tr.xml create mode 100644 rosdocs/xsl/common/uk.xml create mode 100644 rosdocs/xsl/common/xh.xml create mode 100644 rosdocs/xsl/common/zh_cn.xml create mode 100644 rosdocs/xsl/common/zh_tw.xml create mode 100644 rosdocs/xsl/doc/ChangeLog create mode 100644 rosdocs/xsl/doc/book.xsl create mode 100644 rosdocs/xsl/doc/ch01s02.html create mode 100644 rosdocs/xsl/doc/ch01s03.html create mode 100644 rosdocs/xsl/doc/ch01s04.html create mode 100644 rosdocs/xsl/doc/ch02s02.html create mode 100644 rosdocs/xsl/doc/ch03.html create mode 100644 rosdocs/xsl/doc/ch04.html create mode 100644 rosdocs/xsl/doc/ch05.html create mode 100644 rosdocs/xsl/doc/ch06s02.html create mode 100644 rosdocs/xsl/doc/ch06s03.html create mode 100644 rosdocs/xsl/doc/common/ChangeLog create mode 100644 rosdocs/xsl/doc/common/common.html create mode 100644 rosdocs/xsl/doc/copyright.html create mode 100644 rosdocs/xsl/doc/extensions.html create mode 100644 rosdocs/xsl/doc/fo/ChangeLog create mode 100644 rosdocs/xsl/doc/fo/admon.graphics.extension.html create mode 100644 rosdocs/xsl/doc/fo/admon.graphics.html create mode 100644 rosdocs/xsl/doc/fo/admon.graphics.path.html create mode 100644 rosdocs/xsl/doc/fo/admonition.properties.html create mode 100644 rosdocs/xsl/doc/fo/admonition.title.properties.html create mode 100644 rosdocs/xsl/doc/fo/alignment.html create mode 100644 rosdocs/xsl/doc/fo/apa.html create mode 100644 rosdocs/xsl/doc/fo/appendix.autolabel.html create mode 100644 rosdocs/xsl/doc/fo/arbortext.extensions.html create mode 100644 rosdocs/xsl/doc/fo/author.othername.in.middle.html create mode 100644 rosdocs/xsl/doc/fo/autotoc.label.separator.html create mode 100644 rosdocs/xsl/doc/fo/biblioentry.item.separator.html create mode 100644 rosdocs/xsl/doc/fo/bibliography.collection.html create mode 100644 rosdocs/xsl/doc/fo/blockquote.properties.html create mode 100644 rosdocs/xsl/doc/fo/body.font.family.html create mode 100644 rosdocs/xsl/doc/fo/body.font.master.html create mode 100644 rosdocs/xsl/doc/fo/body.font.size.html create mode 100644 rosdocs/xsl/doc/fo/body.margin.bottom.html create mode 100644 rosdocs/xsl/doc/fo/body.margin.top.html create mode 100644 rosdocs/xsl/doc/fo/callout.defaultcolumn.html create mode 100644 rosdocs/xsl/doc/fo/callout.graphics.extension.html create mode 100644 rosdocs/xsl/doc/fo/callout.graphics.html create mode 100644 rosdocs/xsl/doc/fo/callout.graphics.number.limit.html create mode 100644 rosdocs/xsl/doc/fo/callout.graphics.path.html create mode 100644 rosdocs/xsl/doc/fo/callout.unicode.font.html create mode 100644 rosdocs/xsl/doc/fo/callout.unicode.html create mode 100644 rosdocs/xsl/doc/fo/callout.unicode.number.limit.html create mode 100644 rosdocs/xsl/doc/fo/callout.unicode.start.character.html create mode 100644 rosdocs/xsl/doc/fo/callouts.extension.html create mode 100644 rosdocs/xsl/doc/fo/chapter.autolabel.html create mode 100644 rosdocs/xsl/doc/fo/column.count.html create mode 100644 rosdocs/xsl/doc/fo/column.count.of.index.html create mode 100644 rosdocs/xsl/doc/fo/compact.list.item.spacing.html create mode 100644 rosdocs/xsl/doc/fo/component.title.properties.html create mode 100644 rosdocs/xsl/doc/fo/default.table.width.html create mode 100644 rosdocs/xsl/doc/fo/default.units.html create mode 100644 rosdocs/xsl/doc/fo/dingbat.font.family.html create mode 100644 rosdocs/xsl/doc/fo/double.sided.html create mode 100644 rosdocs/xsl/doc/fo/draft.watermark.image.html create mode 100644 rosdocs/xsl/doc/fo/firstterm.only.link.html create mode 100644 rosdocs/xsl/doc/fo/footnote.font.size.html create mode 100644 rosdocs/xsl/doc/fo/fop.extensions.html create mode 100644 rosdocs/xsl/doc/fo/formal.object.properties.html create mode 100644 rosdocs/xsl/doc/fo/formal.procedures.html create mode 100644 rosdocs/xsl/doc/fo/formal.title.placement.html create mode 100644 rosdocs/xsl/doc/fo/formal.title.properties.html create mode 100644 rosdocs/xsl/doc/fo/format.variablelist.as.list.html create mode 100644 rosdocs/xsl/doc/fo/funcsynopsis.decoration.html create mode 100644 rosdocs/xsl/doc/fo/funcsynopsis.style.html create mode 100644 rosdocs/xsl/doc/fo/function.parens.html create mode 100644 rosdocs/xsl/doc/fo/generate.book.equation.lot.html create mode 100644 rosdocs/xsl/doc/fo/generate.book.example.lot.html create mode 100644 rosdocs/xsl/doc/fo/generate.book.figure.lot.html create mode 100644 rosdocs/xsl/doc/fo/generate.book.table.lot.html create mode 100644 rosdocs/xsl/doc/fo/generate.book.toc.html create mode 100644 rosdocs/xsl/doc/fo/generate.component.toc.html create mode 100644 rosdocs/xsl/doc/fo/generate.division.equation.lot.html create mode 100644 rosdocs/xsl/doc/fo/generate.division.example.lot.html create mode 100644 rosdocs/xsl/doc/fo/generate.division.figure.lot.html create mode 100644 rosdocs/xsl/doc/fo/generate.division.table.lot.html create mode 100644 rosdocs/xsl/doc/fo/generate.division.toc.html create mode 100644 rosdocs/xsl/doc/fo/generate.index.html create mode 100644 rosdocs/xsl/doc/fo/generate.set.toc.html create mode 100644 rosdocs/xsl/doc/fo/generate.toc.html create mode 100644 rosdocs/xsl/doc/fo/glossary.collection.html create mode 100644 rosdocs/xsl/doc/fo/glossterm.auto.link.html create mode 100644 rosdocs/xsl/doc/fo/graphic.default.extension.html create mode 100644 rosdocs/xsl/doc/fo/html.stylesheet.html create mode 100644 rosdocs/xsl/doc/fo/html.stylesheet.type.html create mode 100644 rosdocs/xsl/doc/fo/hyphenate.html create mode 100644 rosdocs/xsl/doc/fo/index.html create mode 100644 rosdocs/xsl/doc/fo/informal.object.properties.html create mode 100644 rosdocs/xsl/doc/fo/insert.xref.page.number.html create mode 100644 rosdocs/xsl/doc/fo/label.from.part.html create mode 100644 rosdocs/xsl/doc/fo/ld-d0e2069.html create mode 100644 rosdocs/xsl/doc/fo/ld-d0e2118.html create mode 100644 rosdocs/xsl/doc/fo/ld-d0e2140.html create mode 100644 rosdocs/xsl/doc/fo/ld-d0e2180.html create mode 100644 rosdocs/xsl/doc/fo/ld-d0e2204.html create mode 100644 rosdocs/xsl/doc/fo/ld-d0e2238.html create mode 100644 rosdocs/xsl/doc/fo/line-height.html create mode 100644 rosdocs/xsl/doc/fo/linenumbering.everyNth.html create mode 100644 rosdocs/xsl/doc/fo/linenumbering.extension.html create mode 100644 rosdocs/xsl/doc/fo/linenumbering.separator.html create mode 100644 rosdocs/xsl/doc/fo/linenumbering.width.html create mode 100644 rosdocs/xsl/doc/fo/list.block.spacing.html create mode 100644 rosdocs/xsl/doc/fo/list.item.spacing.html create mode 100644 rosdocs/xsl/doc/fo/make.single.year.ranges.html create mode 100644 rosdocs/xsl/doc/fo/make.year.ranges.html create mode 100644 rosdocs/xsl/doc/fo/monospace.font.family.html create mode 100644 rosdocs/xsl/doc/fo/monospace.verbatim.properties.html create mode 100644 rosdocs/xsl/doc/fo/nominal.table.width.html create mode 100644 rosdocs/xsl/doc/fo/normal.para.spacing.html create mode 100644 rosdocs/xsl/doc/fo/page.height.html create mode 100644 rosdocs/xsl/doc/fo/page.height.portrait.html create mode 100644 rosdocs/xsl/doc/fo/page.margin.bottom.html create mode 100644 rosdocs/xsl/doc/fo/page.margin.inner.html create mode 100644 rosdocs/xsl/doc/fo/page.margin.outer.html create mode 100644 rosdocs/xsl/doc/fo/page.margin.top.html create mode 100644 rosdocs/xsl/doc/fo/page.orientation.html create mode 100644 rosdocs/xsl/doc/fo/page.png create mode 100644 rosdocs/xsl/doc/fo/page.width.html create mode 100644 rosdocs/xsl/doc/fo/page.width.portrait.html create mode 100644 rosdocs/xsl/doc/fo/paper.type.html create mode 100644 rosdocs/xsl/doc/fo/part.autolabel.html create mode 100644 rosdocs/xsl/doc/fo/passivetex.extensions.html create mode 100644 rosdocs/xsl/doc/fo/pr01.html create mode 100644 rosdocs/xsl/doc/fo/preface.autolabel.html create mode 100644 rosdocs/xsl/doc/fo/process.empty.source.toc.html create mode 100644 rosdocs/xsl/doc/fo/process.source.toc.html create mode 100644 rosdocs/xsl/doc/fo/profile.arch.html create mode 100644 rosdocs/xsl/doc/fo/profile.attribute.html create mode 100644 rosdocs/xsl/doc/fo/profile.condition.html create mode 100644 rosdocs/xsl/doc/fo/profile.conformance.html create mode 100644 rosdocs/xsl/doc/fo/profile.lang.html create mode 100644 rosdocs/xsl/doc/fo/profile.os.html create mode 100644 rosdocs/xsl/doc/fo/profile.revision.html create mode 100644 rosdocs/xsl/doc/fo/profile.revisionflag.html create mode 100644 rosdocs/xsl/doc/fo/profile.role.html create mode 100644 rosdocs/xsl/doc/fo/profile.security.html create mode 100644 rosdocs/xsl/doc/fo/profile.separator.html create mode 100644 rosdocs/xsl/doc/fo/profile.userlevel.html create mode 100644 rosdocs/xsl/doc/fo/profile.value.html create mode 100644 rosdocs/xsl/doc/fo/profile.vendor.html create mode 100644 rosdocs/xsl/doc/fo/punct.honorific.html create mode 100644 rosdocs/xsl/doc/fo/qanda.inherit.numeration.html create mode 100644 rosdocs/xsl/doc/fo/qandadiv.autolabel.html create mode 100644 rosdocs/xsl/doc/fo/refentry.generate.name.html create mode 100644 rosdocs/xsl/doc/fo/refentry.generate.title.html create mode 100644 rosdocs/xsl/doc/fo/refentry.xref.manvolnum.html create mode 100644 rosdocs/xsl/doc/fo/region.after.extent.html create mode 100644 rosdocs/xsl/doc/fo/region.before.extent.html create mode 100644 rosdocs/xsl/doc/fo/rn01.html create mode 100644 rosdocs/xsl/doc/fo/rn02.html create mode 100644 rosdocs/xsl/doc/fo/rn03.html create mode 100644 rosdocs/xsl/doc/fo/rn04.html create mode 100644 rosdocs/xsl/doc/fo/rn05.html create mode 100644 rosdocs/xsl/doc/fo/rn06.html create mode 100644 rosdocs/xsl/doc/fo/rn07.html create mode 100644 rosdocs/xsl/doc/fo/rn08.html create mode 100644 rosdocs/xsl/doc/fo/rn09.html create mode 100644 rosdocs/xsl/doc/fo/rn10.html create mode 100644 rosdocs/xsl/doc/fo/rn11.html create mode 100644 rosdocs/xsl/doc/fo/rn12.html create mode 100644 rosdocs/xsl/doc/fo/rn13.html create mode 100644 rosdocs/xsl/doc/fo/rn14.html create mode 100644 rosdocs/xsl/doc/fo/rn15.html create mode 100644 rosdocs/xsl/doc/fo/rn16.html create mode 100644 rosdocs/xsl/doc/fo/rn17.html create mode 100644 rosdocs/xsl/doc/fo/rn18.html create mode 100644 rosdocs/xsl/doc/fo/rn19.html create mode 100644 rosdocs/xsl/doc/fo/rn20.html create mode 100644 rosdocs/xsl/doc/fo/rootid.html create mode 100644 rosdocs/xsl/doc/fo/runinhead.default.title.end.punct.html create mode 100644 rosdocs/xsl/doc/fo/runinhead.title.end.punct.html create mode 100644 rosdocs/xsl/doc/fo/sans.font.family.html create mode 100644 rosdocs/xsl/doc/fo/section.autolabel.html create mode 100644 rosdocs/xsl/doc/fo/section.label.includes.component.label.html create mode 100644 rosdocs/xsl/doc/fo/segmentedlist.as.table.html create mode 100644 rosdocs/xsl/doc/fo/shade.verbatim.html create mode 100644 rosdocs/xsl/doc/fo/shade.verbatim.style.html create mode 100644 rosdocs/xsl/doc/fo/show.comments.html create mode 100644 rosdocs/xsl/doc/fo/stylesheet.result.type.html create mode 100644 rosdocs/xsl/doc/fo/table.border.color.html create mode 100644 rosdocs/xsl/doc/fo/table.border.padding.html create mode 100644 rosdocs/xsl/doc/fo/table.border.style.html create mode 100644 rosdocs/xsl/doc/fo/table.border.thickness.html create mode 100644 rosdocs/xsl/doc/fo/table.cell.padding.html create mode 100644 rosdocs/xsl/doc/fo/table.entry.padding.html create mode 100644 rosdocs/xsl/doc/fo/table.html create mode 100644 rosdocs/xsl/doc/fo/tablecolumns.extension.html create mode 100644 rosdocs/xsl/doc/fo/tex.math.delims.html create mode 100644 rosdocs/xsl/doc/fo/tex.math.in.alt.html create mode 100644 rosdocs/xsl/doc/fo/textinsert.extension.html create mode 100644 rosdocs/xsl/doc/fo/title.font.family.html create mode 100644 rosdocs/xsl/doc/fo/title.margin.left.html create mode 100644 rosdocs/xsl/doc/fo/toc.indent.width.html create mode 100644 rosdocs/xsl/doc/fo/toc.margin.properties.html create mode 100644 rosdocs/xsl/doc/fo/toc.section.depth.html create mode 100644 rosdocs/xsl/doc/fo/ulink.footnotes.html create mode 100644 rosdocs/xsl/doc/fo/ulink.hyphenate.html create mode 100644 rosdocs/xsl/doc/fo/ulink.show.html create mode 100644 rosdocs/xsl/doc/fo/use.extensions.html create mode 100644 rosdocs/xsl/doc/fo/use.svg.html create mode 100644 rosdocs/xsl/doc/fo/variablelist.as.blocks.html create mode 100644 rosdocs/xsl/doc/fo/verbatim.properties.html create mode 100644 rosdocs/xsl/doc/fo/xep.extensions.html create mode 100644 rosdocs/xsl/doc/fo/xref.properties.html create mode 100644 rosdocs/xsl/doc/html/ChangeLog create mode 100644 rosdocs/xsl/doc/html/admon.graphics.extension.html create mode 100644 rosdocs/xsl/doc/html/admon.graphics.html create mode 100644 rosdocs/xsl/doc/html/admon.graphics.path.html create mode 100644 rosdocs/xsl/doc/html/admon.style.html create mode 100644 rosdocs/xsl/doc/html/annotate.toc.html create mode 100644 rosdocs/xsl/doc/html/apa.html create mode 100644 rosdocs/xsl/doc/html/appendix.autolabel.html create mode 100644 rosdocs/xsl/doc/html/author.othername.in.middle.html create mode 100644 rosdocs/xsl/doc/html/autotoc.label.separator.html create mode 100644 rosdocs/xsl/doc/html/base.dir.html create mode 100644 rosdocs/xsl/doc/html/biblioentry.item.separator.html create mode 100644 rosdocs/xsl/doc/html/bibliography.collection.html create mode 100644 rosdocs/xsl/doc/html/bridgehead.in.toc.html create mode 100644 rosdocs/xsl/doc/html/callout.defaultcolumn.html create mode 100644 rosdocs/xsl/doc/html/callout.graphics.extension.html create mode 100644 rosdocs/xsl/doc/html/callout.graphics.html create mode 100644 rosdocs/xsl/doc/html/callout.graphics.number.limit.html create mode 100644 rosdocs/xsl/doc/html/callout.graphics.path.html create mode 100644 rosdocs/xsl/doc/html/callout.list.table.html create mode 100644 rosdocs/xsl/doc/html/callout.unicode.html create mode 100644 rosdocs/xsl/doc/html/callout.unicode.number.limit.html create mode 100644 rosdocs/xsl/doc/html/callout.unicode.start.character.html create mode 100644 rosdocs/xsl/doc/html/callouts.extension.html create mode 100644 rosdocs/xsl/doc/html/chapter.autolabel.html create mode 100644 rosdocs/xsl/doc/html/chunk.datafile.html create mode 100644 rosdocs/xsl/doc/html/chunk.first.sections.html create mode 100644 rosdocs/xsl/doc/html/chunk.quietly.html create mode 100644 rosdocs/xsl/doc/html/chunk.section.depth.html create mode 100644 rosdocs/xsl/doc/html/chunk.toc.html create mode 100644 rosdocs/xsl/doc/html/citerefentry.link.html create mode 100644 rosdocs/xsl/doc/html/css.decoration.html create mode 100644 rosdocs/xsl/doc/html/default.encoding.html create mode 100644 rosdocs/xsl/doc/html/default.table.width.html create mode 100644 rosdocs/xsl/doc/html/draft.watermark.image.html create mode 100644 rosdocs/xsl/doc/html/ebnf.table.bgcolor.html create mode 100644 rosdocs/xsl/doc/html/ebnf.table.border.html create mode 100644 rosdocs/xsl/doc/html/emphasis.propagates.style.html create mode 100644 rosdocs/xsl/doc/html/firstterm.only.link.html create mode 100644 rosdocs/xsl/doc/html/formal.procedures.html create mode 100644 rosdocs/xsl/doc/html/formal.title.placement.html create mode 100644 rosdocs/xsl/doc/html/funcsynopsis.decoration.html create mode 100644 rosdocs/xsl/doc/html/funcsynopsis.style.html create mode 100644 rosdocs/xsl/doc/html/function.parens.html create mode 100644 rosdocs/xsl/doc/html/generate.appendix.toc.html create mode 100644 rosdocs/xsl/doc/html/generate.article.toc.html create mode 100644 rosdocs/xsl/doc/html/generate.book.toc.html create mode 100644 rosdocs/xsl/doc/html/generate.chapter.toc.html create mode 100644 rosdocs/xsl/doc/html/generate.component.toc.html create mode 100644 rosdocs/xsl/doc/html/generate.division.toc.html create mode 100644 rosdocs/xsl/doc/html/generate.id.attributes.html create mode 100644 rosdocs/xsl/doc/html/generate.index.html create mode 100644 rosdocs/xsl/doc/html/generate.legalnotice.link.html create mode 100644 rosdocs/xsl/doc/html/generate.manifest.html create mode 100644 rosdocs/xsl/doc/html/generate.part.toc.html create mode 100644 rosdocs/xsl/doc/html/generate.preface.toc.html create mode 100644 rosdocs/xsl/doc/html/generate.qandadiv.toc.html create mode 100644 rosdocs/xsl/doc/html/generate.qandaset.toc.html create mode 100644 rosdocs/xsl/doc/html/generate.reference.toc.html create mode 100644 rosdocs/xsl/doc/html/generate.section.toc.html create mode 100644 rosdocs/xsl/doc/html/generate.section.toc.level.html create mode 100644 rosdocs/xsl/doc/html/generate.set.toc.html create mode 100644 rosdocs/xsl/doc/html/generate.toc.html create mode 100644 rosdocs/xsl/doc/html/glossary.collection.html create mode 100644 rosdocs/xsl/doc/html/glossterm.auto.link.html create mode 100644 rosdocs/xsl/doc/html/graphic.default.extension.html create mode 100644 rosdocs/xsl/doc/html/html.base.html create mode 100644 rosdocs/xsl/doc/html/html.cleanup.html create mode 100644 rosdocs/xsl/doc/html/html.ext.html create mode 100644 rosdocs/xsl/doc/html/html.extra.head.links.html create mode 100644 rosdocs/xsl/doc/html/html.longdesc.html create mode 100644 rosdocs/xsl/doc/html/html.longdesc.link.html create mode 100644 rosdocs/xsl/doc/html/html.stylesheet.html create mode 100644 rosdocs/xsl/doc/html/html.stylesheet.type.html create mode 100644 rosdocs/xsl/doc/html/htmlhelp.alias.file.html create mode 100644 rosdocs/xsl/doc/html/htmlhelp.autolabel.html create mode 100644 rosdocs/xsl/doc/html/htmlhelp.chm.html create mode 100644 rosdocs/xsl/doc/html/htmlhelp.default.topic.html create mode 100644 rosdocs/xsl/doc/html/htmlhelp.encoding.html create mode 100644 rosdocs/xsl/doc/html/htmlhelp.enumerate.images.html create mode 100644 rosdocs/xsl/doc/html/htmlhelp.force.map.and.alias.html create mode 100644 rosdocs/xsl/doc/html/htmlhelp.hhc.folders.instead.books.html create mode 100644 rosdocs/xsl/doc/html/htmlhelp.hhc.html create mode 100644 rosdocs/xsl/doc/html/htmlhelp.hhc.section.depth.html create mode 100644 rosdocs/xsl/doc/html/htmlhelp.hhc.show.root.html create mode 100644 rosdocs/xsl/doc/html/htmlhelp.hhp.html create mode 100644 rosdocs/xsl/doc/html/htmlhelp.hhp.tail.html create mode 100644 rosdocs/xsl/doc/html/htmlhelp.map.file.html create mode 100644 rosdocs/xsl/doc/html/htmlhelp.title.html create mode 100644 rosdocs/xsl/doc/html/index.html create mode 100644 rosdocs/xsl/doc/html/inherit.keywords.html create mode 100644 rosdocs/xsl/doc/html/label.from.part.html create mode 100644 rosdocs/xsl/doc/html/linenumbering.everyNth.html create mode 100644 rosdocs/xsl/doc/html/linenumbering.extension.html create mode 100644 rosdocs/xsl/doc/html/linenumbering.separator.html create mode 100644 rosdocs/xsl/doc/html/linenumbering.width.html create mode 100644 rosdocs/xsl/doc/html/link.mailto.url.html create mode 100644 rosdocs/xsl/doc/html/make.single.year.ranges.html create mode 100644 rosdocs/xsl/doc/html/make.valid.html.html create mode 100644 rosdocs/xsl/doc/html/make.year.ranges.html create mode 100644 rosdocs/xsl/doc/html/manifest.html create mode 100644 rosdocs/xsl/doc/html/manual.toc.html create mode 100644 rosdocs/xsl/doc/html/navig.graphics.extension.html create mode 100644 rosdocs/xsl/doc/html/navig.graphics.html create mode 100644 rosdocs/xsl/doc/html/navig.graphics.path.html create mode 100644 rosdocs/xsl/doc/html/navig.showtitles.html create mode 100644 rosdocs/xsl/doc/html/nominal.table.width.html create mode 100644 rosdocs/xsl/doc/html/olink.fragid.html create mode 100644 rosdocs/xsl/doc/html/olink.outline.ext.html create mode 100644 rosdocs/xsl/doc/html/olink.pubid.html create mode 100644 rosdocs/xsl/doc/html/olink.resolver.html create mode 100644 rosdocs/xsl/doc/html/olink.sysid.html create mode 100644 rosdocs/xsl/doc/html/output.method.html create mode 100644 rosdocs/xsl/doc/html/part.autolabel.html create mode 100644 rosdocs/xsl/doc/html/phrase.propagates.style.html create mode 100644 rosdocs/xsl/doc/html/pixels.per.inch.html create mode 100644 rosdocs/xsl/doc/html/points.per.em.html create mode 100644 rosdocs/xsl/doc/html/pr01.html create mode 100644 rosdocs/xsl/doc/html/preface.autolabel.html create mode 100644 rosdocs/xsl/doc/html/process.empty.source.toc.html create mode 100644 rosdocs/xsl/doc/html/process.source.toc.html create mode 100644 rosdocs/xsl/doc/html/profile.arch.html create mode 100644 rosdocs/xsl/doc/html/profile.attribute.html create mode 100644 rosdocs/xsl/doc/html/profile.condition.html create mode 100644 rosdocs/xsl/doc/html/profile.conformance.html create mode 100644 rosdocs/xsl/doc/html/profile.lang.html create mode 100644 rosdocs/xsl/doc/html/profile.os.html create mode 100644 rosdocs/xsl/doc/html/profile.revision.html create mode 100644 rosdocs/xsl/doc/html/profile.revisionflag.html create mode 100644 rosdocs/xsl/doc/html/profile.role.html create mode 100644 rosdocs/xsl/doc/html/profile.security.html create mode 100644 rosdocs/xsl/doc/html/profile.separator.html create mode 100644 rosdocs/xsl/doc/html/profile.userlevel.html create mode 100644 rosdocs/xsl/doc/html/profile.value.html create mode 100644 rosdocs/xsl/doc/html/profile.vendor.html create mode 100644 rosdocs/xsl/doc/html/punct.honorific.html create mode 100644 rosdocs/xsl/doc/html/qanda.defaultlabel.html create mode 100644 rosdocs/xsl/doc/html/qanda.inherit.numeration.html create mode 100644 rosdocs/xsl/doc/html/qandadiv.autolabel.html create mode 100644 rosdocs/xsl/doc/html/refentry.generate.name.html create mode 100644 rosdocs/xsl/doc/html/refentry.generate.title.html create mode 100644 rosdocs/xsl/doc/html/refentry.separator.html create mode 100644 rosdocs/xsl/doc/html/refentry.xref.manvolnum.html create mode 100644 rosdocs/xsl/doc/html/rn01.html create mode 100644 rosdocs/xsl/doc/html/rn02.html create mode 100644 rosdocs/xsl/doc/html/rn03.html create mode 100644 rosdocs/xsl/doc/html/rn04.html create mode 100644 rosdocs/xsl/doc/html/rn05.html create mode 100644 rosdocs/xsl/doc/html/rn06.html create mode 100644 rosdocs/xsl/doc/html/rn07.html create mode 100644 rosdocs/xsl/doc/html/rn08.html create mode 100644 rosdocs/xsl/doc/html/rn09.html create mode 100644 rosdocs/xsl/doc/html/rn10.html create mode 100644 rosdocs/xsl/doc/html/rn11.html create mode 100644 rosdocs/xsl/doc/html/rn12.html create mode 100644 rosdocs/xsl/doc/html/rn13.html create mode 100644 rosdocs/xsl/doc/html/rn14.html create mode 100644 rosdocs/xsl/doc/html/rn15.html create mode 100644 rosdocs/xsl/doc/html/rn16.html create mode 100644 rosdocs/xsl/doc/html/rn17.html create mode 100644 rosdocs/xsl/doc/html/rn18.html create mode 100644 rosdocs/xsl/doc/html/rn19.html create mode 100644 rosdocs/xsl/doc/html/root.filename.html create mode 100644 rosdocs/xsl/doc/html/rootid.html create mode 100644 rosdocs/xsl/doc/html/runinhead.default.title.end.punct.html create mode 100644 rosdocs/xsl/doc/html/runinhead.title.end.punct.html create mode 100644 rosdocs/xsl/doc/html/saxon.character.representation.html create mode 100644 rosdocs/xsl/doc/html/section.autolabel.html create mode 100644 rosdocs/xsl/doc/html/section.label.includes.component.label.html create mode 100644 rosdocs/xsl/doc/html/segmentedlist.as.table.html create mode 100644 rosdocs/xsl/doc/html/shade.verbatim.html create mode 100644 rosdocs/xsl/doc/html/shade.verbatim.style.html create mode 100644 rosdocs/xsl/doc/html/show.comments.html create mode 100644 rosdocs/xsl/doc/html/show.revisionflag.html create mode 100644 rosdocs/xsl/doc/html/spacing.paras.html create mode 100644 rosdocs/xsl/doc/html/stylesheet.result.type.html create mode 100644 rosdocs/xsl/doc/html/suppress.navigation.html create mode 100644 rosdocs/xsl/doc/html/table.border.color.html create mode 100644 rosdocs/xsl/doc/html/table.border.style.html create mode 100644 rosdocs/xsl/doc/html/table.border.thickness.html create mode 100644 rosdocs/xsl/doc/html/table.borders.with.css.html create mode 100644 rosdocs/xsl/doc/html/tablecolumns.extension.html create mode 100644 rosdocs/xsl/doc/html/tex.math.delims.html create mode 100644 rosdocs/xsl/doc/html/tex.math.file.html create mode 100644 rosdocs/xsl/doc/html/tex.math.in.alt.html create mode 100644 rosdocs/xsl/doc/html/textinsert.extension.html create mode 100644 rosdocs/xsl/doc/html/toc.list.type.html create mode 100644 rosdocs/xsl/doc/html/toc.section.depth.html create mode 100644 rosdocs/xsl/doc/html/ulink.target.html create mode 100644 rosdocs/xsl/doc/html/use.extensions.html create mode 100644 rosdocs/xsl/doc/html/use.id.as.filename.html create mode 100644 rosdocs/xsl/doc/html/use.svg.html create mode 100644 rosdocs/xsl/doc/html/using.chunker.html create mode 100644 rosdocs/xsl/doc/html/variablelist.as.table.html create mode 100644 rosdocs/xsl/doc/htmlhelp.html create mode 100644 rosdocs/xsl/doc/index.html create mode 100644 rosdocs/xsl/doc/jrefhtml.xsl create mode 100644 rosdocs/xsl/doc/lib/ChangeLog create mode 100644 rosdocs/xsl/doc/lib/lib.html create mode 100644 rosdocs/xsl/doc/pr01.html create mode 100644 rosdocs/xsl/doc/publishing.html create mode 100644 rosdocs/xsl/doc/ref.css create mode 100644 rosdocs/xsl/doc/reference.css create mode 100644 rosdocs/xsl/doc/reference.html create mode 100644 rosdocs/xsl/doc/reference.xsl create mode 100644 rosdocs/xsl/doc/template/ChangeLog create mode 100644 rosdocs/xsl/doc/template/titlepage.html create mode 100644 rosdocs/xsl/doc/tools/ChangeLog create mode 100644 rosdocs/xsl/doc/tools/profile-chain.png create mode 100644 rosdocs/xsl/doc/tools/profiling.html create mode 100644 rosdocs/xsl/doc/warranty.html create mode 100644 rosdocs/xsl/docsrc/ChangeLog create mode 100644 rosdocs/xsl/docsrc/clrefentry.xsl create mode 100644 rosdocs/xsl/docsrc/common/ChangeLog create mode 100644 rosdocs/xsl/docsrc/common/common.xml create mode 100644 rosdocs/xsl/docsrc/copyright.xml create mode 100644 rosdocs/xsl/docsrc/documentation.xml create mode 100644 rosdocs/xsl/docsrc/extensions.xml create mode 100644 rosdocs/xsl/docsrc/fo/ChangeLog create mode 100644 rosdocs/xsl/docsrc/fo/param.xml create mode 100644 rosdocs/xsl/docsrc/fo/table.xml create mode 100644 rosdocs/xsl/docsrc/html/ChangeLog create mode 100644 rosdocs/xsl/docsrc/html/param.xml create mode 100644 rosdocs/xsl/docsrc/htmlhelp.xml create mode 100644 rosdocs/xsl/docsrc/jrefhtml.xsl create mode 100644 rosdocs/xsl/docsrc/legalnotice.xml create mode 100644 rosdocs/xsl/docsrc/lrefentry.xsl create mode 100644 rosdocs/xsl/docsrc/publishing.xml create mode 100644 rosdocs/xsl/docsrc/reference.xml create mode 100644 rosdocs/xsl/docsrc/template-example.xml create mode 100644 rosdocs/xsl/docsrc/template-example.xsl create mode 100644 rosdocs/xsl/docsrc/template/ChangeLog create mode 100644 rosdocs/xsl/docsrc/template/titlepage.xml create mode 100644 rosdocs/xsl/docsrc/templates.xml create mode 100644 rosdocs/xsl/docsrc/tools/ChangeLog create mode 100644 rosdocs/xsl/docsrc/tools/profile-chain.png create mode 100644 rosdocs/xsl/docsrc/tools/profiling.xml create mode 100644 rosdocs/xsl/docsrc/warranty.xml create mode 100644 rosdocs/xsl/docsrc/xsl2jref.xsl create mode 100644 rosdocs/xsl/extensions/ChangeLog create mode 100644 rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/CVS.html create mode 100644 rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/Callout.html create mode 100644 rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/Driver.html create mode 100644 rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/Text.html create mode 100644 rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/TextFactory.html create mode 100644 rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/Verbatim.html create mode 100644 rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/package-frame.html create mode 100644 rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/package-summary.html create mode 100644 rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/package-tree.html create mode 100644 rosdocs/xsl/extensions/doc/saxon5/deprecated-list.html create mode 100644 rosdocs/xsl/extensions/doc/saxon5/help-doc.html create mode 100644 rosdocs/xsl/extensions/doc/saxon5/index-all.html create mode 100644 rosdocs/xsl/extensions/doc/saxon5/index.html create mode 100644 rosdocs/xsl/extensions/doc/saxon5/overview-tree.html create mode 100644 rosdocs/xsl/extensions/doc/saxon5/package-list create mode 100644 rosdocs/xsl/extensions/doc/saxon5/packages.html create mode 100644 rosdocs/xsl/extensions/doc/saxon5/serialized-form.html create mode 100644 rosdocs/xsl/extensions/doc/saxon5/stylesheet.css create mode 100644 rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/CVS.html create mode 100644 rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/CalloutEmitter.html create mode 100644 rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/CopyEmitter.html create mode 100644 rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/LineCountEmitter.html create mode 100644 rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/NumberLinesEmitter.html create mode 100644 rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/Table.html create mode 100644 rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/Text.html create mode 100644 rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/TextFactory.html create mode 100644 rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/Verbatim.html create mode 100644 rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/package-frame.html create mode 100644 rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/package-summary.html create mode 100644 rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/package-tree.html create mode 100644 rosdocs/xsl/extensions/doc/saxon6/deprecated-list.html create mode 100644 rosdocs/xsl/extensions/doc/saxon6/help-doc.html create mode 100644 rosdocs/xsl/extensions/doc/saxon6/index-all.html create mode 100644 rosdocs/xsl/extensions/doc/saxon6/index.html create mode 100644 rosdocs/xsl/extensions/doc/saxon6/overview-tree.html create mode 100644 rosdocs/xsl/extensions/doc/saxon6/package-list create mode 100644 rosdocs/xsl/extensions/doc/saxon6/packages.html create mode 100644 rosdocs/xsl/extensions/doc/saxon6/serialized-form.html create mode 100644 rosdocs/xsl/extensions/doc/saxon6/stylesheet.css create mode 100644 rosdocs/xsl/extensions/prj.el create mode 100644 rosdocs/xsl/extensions/saxon643.jar create mode 100644 rosdocs/xsl/extensions/saxon643/ChangeLog create mode 100644 rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/CVS.java create mode 100644 rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/Callout.java create mode 100644 rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/CalloutEmitter.java create mode 100644 rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/ChangeLog create mode 100644 rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/ColumnScanEmitter.java create mode 100644 rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/ColumnUpdateEmitter.java create mode 100644 rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/CopyEmitter.java create mode 100644 rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/FormatCallout.java create mode 100644 rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/FormatGraphicCallout.java create mode 100644 rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/FormatTextCallout.java create mode 100644 rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/FormatUnicodeCallout.java create mode 100644 rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/ImageIntrinsics.java create mode 100644 rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/LineCountEmitter.java create mode 100644 rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/NumberLinesEmitter.java create mode 100644 rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/Table.java create mode 100644 rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/Text.java create mode 100644 rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/TextFactory.java create mode 100644 rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/Verbatim.java create mode 100644 rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/package.html create mode 100644 rosdocs/xsl/extensions/saxon643/prj.el create mode 100644 rosdocs/xsl/extensions/saxon644.jar create mode 100644 rosdocs/xsl/extensions/saxon65.jar create mode 100644 rosdocs/xsl/extensions/saxon651.jar create mode 100644 rosdocs/xsl/extensions/xalan2.jar create mode 100644 rosdocs/xsl/extensions/xalan2/ChangeLog create mode 100644 rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/CVS.java create mode 100644 rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Callout.java create mode 100644 rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/ChangeLog create mode 100644 rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/FormatCallout.java create mode 100644 rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/FormatDingbatCallout.java create mode 100644 rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/FormatGraphicCallout.java create mode 100644 rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/FormatTextCallout.java create mode 100644 rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/FormatUnicodeCallout.java create mode 100644 rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Func.java create mode 100644 rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/ImageIntrinsics.java create mode 100644 rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Params.java create mode 100644 rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Table.java create mode 100644 rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Text.java create mode 100644 rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Verbatim.java create mode 100644 rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/package.html create mode 100644 rosdocs/xsl/fo/ChangeLog create mode 100644 rosdocs/xsl/fo/admon.xsl create mode 100644 rosdocs/xsl/fo/autoidx.xsl create mode 100644 rosdocs/xsl/fo/autotoc.xsl create mode 100644 rosdocs/xsl/fo/biblio.xsl create mode 100644 rosdocs/xsl/fo/block.xsl create mode 100644 rosdocs/xsl/fo/callout.xsl create mode 100644 rosdocs/xsl/fo/component.xsl create mode 100644 rosdocs/xsl/fo/division.xsl create mode 100644 rosdocs/xsl/fo/docbook.xsl create mode 100644 rosdocs/xsl/fo/ebnf.xsl create mode 100644 rosdocs/xsl/fo/fo-patch-for-fop.xsl create mode 100644 rosdocs/xsl/fo/fo-rtf.xsl create mode 100644 rosdocs/xsl/fo/fo.xsl create mode 100644 rosdocs/xsl/fo/footnote.xsl create mode 100644 rosdocs/xsl/fo/fop.xsl create mode 100644 rosdocs/xsl/fo/formal.xsl create mode 100644 rosdocs/xsl/fo/glossary.xsl create mode 100644 rosdocs/xsl/fo/graphics.xsl create mode 100644 rosdocs/xsl/fo/index.xsl create mode 100644 rosdocs/xsl/fo/info.xsl create mode 100644 rosdocs/xsl/fo/inline.xsl create mode 100644 rosdocs/xsl/fo/keywords.xsl create mode 100644 rosdocs/xsl/fo/lists.xsl create mode 100644 rosdocs/xsl/fo/math.xsl create mode 100644 rosdocs/xsl/fo/pagesetup.xsl create mode 100644 rosdocs/xsl/fo/param.ent create mode 100644 rosdocs/xsl/fo/param.xml create mode 100644 rosdocs/xsl/fo/param.xsl create mode 100644 rosdocs/xsl/fo/param.xweb create mode 100644 rosdocs/xsl/fo/passivetex.xsl create mode 100644 rosdocs/xsl/fo/pi.xsl create mode 100644 rosdocs/xsl/fo/profile-docbook.xsl create mode 100644 rosdocs/xsl/fo/qandaset.xsl create mode 100644 rosdocs/xsl/fo/refentry.xsl create mode 100644 rosdocs/xsl/fo/sections.xsl create mode 100644 rosdocs/xsl/fo/synop.xsl create mode 100644 rosdocs/xsl/fo/table.xsl create mode 100644 rosdocs/xsl/fo/titlepage.templates.xml create mode 100644 rosdocs/xsl/fo/titlepage.templates.xsl create mode 100644 rosdocs/xsl/fo/titlepage.xsl create mode 100644 rosdocs/xsl/fo/toc.xsl create mode 100644 rosdocs/xsl/fo/verbatim.xsl create mode 100644 rosdocs/xsl/fo/xep.xsl create mode 100644 rosdocs/xsl/fo/xref.xsl create mode 100644 rosdocs/xsl/html/ChangeLog create mode 100644 rosdocs/xsl/html/admon.xsl create mode 100644 rosdocs/xsl/html/autoidx.xsl create mode 100644 rosdocs/xsl/html/autotoc.xsl create mode 100644 rosdocs/xsl/html/biblio.xsl create mode 100644 rosdocs/xsl/html/block.xsl create mode 100644 rosdocs/xsl/html/callout.xsl create mode 100644 rosdocs/xsl/html/changebars.xsl create mode 100644 rosdocs/xsl/html/chunk-common.xsl create mode 100644 rosdocs/xsl/html/chunk.xsl create mode 100644 rosdocs/xsl/html/chunker.xsl create mode 100644 rosdocs/xsl/html/chunktoc.xsl create mode 100644 rosdocs/xsl/html/component.xsl create mode 100644 rosdocs/xsl/html/division.xsl create mode 100644 rosdocs/xsl/html/docbook.xsl create mode 100644 rosdocs/xsl/html/ebnf.xsl create mode 100644 rosdocs/xsl/html/footnote.xsl create mode 100644 rosdocs/xsl/html/formal.xsl create mode 100644 rosdocs/xsl/html/glossary.xsl create mode 100644 rosdocs/xsl/html/graphics.xsl create mode 100644 rosdocs/xsl/html/html-rtf.xsl create mode 100644 rosdocs/xsl/html/html.xsl create mode 100644 rosdocs/xsl/html/index.xsl create mode 100644 rosdocs/xsl/html/info.xsl create mode 100644 rosdocs/xsl/html/inline.xsl create mode 100644 rosdocs/xsl/html/keywords.xsl create mode 100644 rosdocs/xsl/html/lists.xsl create mode 100644 rosdocs/xsl/html/maketoc.xsl create mode 100644 rosdocs/xsl/html/manifest.xsl create mode 100644 rosdocs/xsl/html/math.xsl create mode 100644 rosdocs/xsl/html/oldchunker.xsl create mode 100644 rosdocs/xsl/html/onechunk.xsl create mode 100644 rosdocs/xsl/html/param.ent create mode 100644 rosdocs/xsl/html/param.xml create mode 100644 rosdocs/xsl/html/param.xsl create mode 100644 rosdocs/xsl/html/param.xweb create mode 100644 rosdocs/xsl/html/pi.xsl create mode 100644 rosdocs/xsl/html/profile-chunk.xsl create mode 100644 rosdocs/xsl/html/profile-docbook.xsl create mode 100644 rosdocs/xsl/html/profile-onechunk.xsl create mode 100644 rosdocs/xsl/html/qandaset.xsl create mode 100644 rosdocs/xsl/html/refentry.xsl create mode 100644 rosdocs/xsl/html/sections.xsl create mode 100644 rosdocs/xsl/html/synop.xsl create mode 100644 rosdocs/xsl/html/table.xsl create mode 100644 rosdocs/xsl/html/titlepage.templates.xml create mode 100644 rosdocs/xsl/html/titlepage.templates.xsl create mode 100644 rosdocs/xsl/html/titlepage.xsl create mode 100644 rosdocs/xsl/html/toc.xsl create mode 100644 rosdocs/xsl/html/verbatim.xsl create mode 100644 rosdocs/xsl/html/xref.xsl create mode 100644 rosdocs/xsl/htmlhelp/ChangeLog create mode 100644 rosdocs/xsl/htmlhelp/htmlhelp.xsl create mode 100644 rosdocs/xsl/htmlhelp/langcodes.xml create mode 100644 rosdocs/xsl/htmlhelp/profile-htmlhelp.xsl create mode 100644 rosdocs/xsl/images/ChangeLog create mode 100644 rosdocs/xsl/images/blank.png create mode 100644 rosdocs/xsl/images/callouts/1.gif create mode 100644 rosdocs/xsl/images/callouts/1.png create mode 100644 rosdocs/xsl/images/callouts/10.gif create mode 100644 rosdocs/xsl/images/callouts/10.png create mode 100644 rosdocs/xsl/images/callouts/11.gif create mode 100644 rosdocs/xsl/images/callouts/11.png create mode 100644 rosdocs/xsl/images/callouts/12.gif create mode 100644 rosdocs/xsl/images/callouts/12.png create mode 100644 rosdocs/xsl/images/callouts/13.gif create mode 100644 rosdocs/xsl/images/callouts/13.png create mode 100644 rosdocs/xsl/images/callouts/14.gif create mode 100644 rosdocs/xsl/images/callouts/14.png create mode 100644 rosdocs/xsl/images/callouts/15.gif create mode 100644 rosdocs/xsl/images/callouts/15.png create mode 100644 rosdocs/xsl/images/callouts/2.gif create mode 100644 rosdocs/xsl/images/callouts/2.png create mode 100644 rosdocs/xsl/images/callouts/3.gif create mode 100644 rosdocs/xsl/images/callouts/3.png create mode 100644 rosdocs/xsl/images/callouts/4.gif create mode 100644 rosdocs/xsl/images/callouts/4.png create mode 100644 rosdocs/xsl/images/callouts/5.gif create mode 100644 rosdocs/xsl/images/callouts/5.png create mode 100644 rosdocs/xsl/images/callouts/6.gif create mode 100644 rosdocs/xsl/images/callouts/6.png create mode 100644 rosdocs/xsl/images/callouts/7.gif create mode 100644 rosdocs/xsl/images/callouts/7.png create mode 100644 rosdocs/xsl/images/callouts/8.gif create mode 100644 rosdocs/xsl/images/callouts/8.png create mode 100644 rosdocs/xsl/images/callouts/9.gif create mode 100644 rosdocs/xsl/images/callouts/9.png create mode 100644 rosdocs/xsl/images/callouts/ChangeLog create mode 100644 rosdocs/xsl/images/caution.gif create mode 100644 rosdocs/xsl/images/caution.png create mode 100644 rosdocs/xsl/images/caution.tif create mode 100644 rosdocs/xsl/images/draft.png create mode 100644 rosdocs/xsl/images/home.gif create mode 100644 rosdocs/xsl/images/home.png create mode 100644 rosdocs/xsl/images/important.gif create mode 100644 rosdocs/xsl/images/important.png create mode 100644 rosdocs/xsl/images/important.tif create mode 100644 rosdocs/xsl/images/next.gif create mode 100644 rosdocs/xsl/images/next.png create mode 100644 rosdocs/xsl/images/note.gif create mode 100644 rosdocs/xsl/images/note.png create mode 100644 rosdocs/xsl/images/note.tif create mode 100644 rosdocs/xsl/images/prev.gif create mode 100644 rosdocs/xsl/images/prev.png create mode 100644 rosdocs/xsl/images/tip.gif create mode 100644 rosdocs/xsl/images/tip.png create mode 100644 rosdocs/xsl/images/tip.tif create mode 100644 rosdocs/xsl/images/toc-blank.png create mode 100644 rosdocs/xsl/images/toc-minus.png create mode 100644 rosdocs/xsl/images/toc-plus.png create mode 100644 rosdocs/xsl/images/up.gif create mode 100644 rosdocs/xsl/images/up.png create mode 100644 rosdocs/xsl/images/warning.gif create mode 100644 rosdocs/xsl/images/warning.png create mode 100644 rosdocs/xsl/images/warning.tif create mode 100644 rosdocs/xsl/javahelp/ChangeLog create mode 100644 rosdocs/xsl/javahelp/javahelp.xsl create mode 100644 rosdocs/xsl/javahelp/profile-javahelp.xsl create mode 100644 rosdocs/xsl/lib/ChangeLog create mode 100644 rosdocs/xsl/lib/lib.xml create mode 100644 rosdocs/xsl/lib/lib.xsl create mode 100644 rosdocs/xsl/lib/lib.xweb create mode 100644 rosdocs/xsl/params/ChangeLog create mode 100644 rosdocs/xsl/params/admon.graphics.extension.xml create mode 100644 rosdocs/xsl/params/admon.graphics.path.xml create mode 100644 rosdocs/xsl/params/admon.graphics.xml create mode 100644 rosdocs/xsl/params/admon.style.xml create mode 100644 rosdocs/xsl/params/admonition.properties.xml create mode 100644 rosdocs/xsl/params/admonition.title.properties.xml create mode 100644 rosdocs/xsl/params/alignment.xml create mode 100644 rosdocs/xsl/params/annotate.toc.xml create mode 100644 rosdocs/xsl/params/appendix.autolabel.xml create mode 100644 rosdocs/xsl/params/arbortext.extensions.xml create mode 100644 rosdocs/xsl/params/author.othername.in.middle.xml create mode 100644 rosdocs/xsl/params/autotoc.label.separator.xml create mode 100644 rosdocs/xsl/params/base.dir.xml create mode 100644 rosdocs/xsl/params/biblioentry.item.separator.xml create mode 100644 rosdocs/xsl/params/bibliography.collection.xml create mode 100644 rosdocs/xsl/params/blockquote.properties.xml create mode 100644 rosdocs/xsl/params/body.font.family.xml create mode 100644 rosdocs/xsl/params/body.font.master.xml create mode 100644 rosdocs/xsl/params/body.font.size.xml create mode 100644 rosdocs/xsl/params/body.margin.bottom.xml create mode 100644 rosdocs/xsl/params/body.margin.top.xml create mode 100644 rosdocs/xsl/params/bridgehead.in.toc.xml create mode 100644 rosdocs/xsl/params/callout.defaultcolumn.xml create mode 100644 rosdocs/xsl/params/callout.graphics.extension.xml create mode 100644 rosdocs/xsl/params/callout.graphics.number.limit.xml create mode 100644 rosdocs/xsl/params/callout.graphics.path.xml create mode 100644 rosdocs/xsl/params/callout.graphics.xml create mode 100644 rosdocs/xsl/params/callout.list.table.xml create mode 100644 rosdocs/xsl/params/callout.unicode.font.xml create mode 100644 rosdocs/xsl/params/callout.unicode.number.limit.xml create mode 100644 rosdocs/xsl/params/callout.unicode.start.character.xml create mode 100644 rosdocs/xsl/params/callout.unicode.xml create mode 100644 rosdocs/xsl/params/callouts.extension.xml create mode 100644 rosdocs/xsl/params/chapter.autolabel.xml create mode 100644 rosdocs/xsl/params/chunk.datafile.xml create mode 100644 rosdocs/xsl/params/chunk.first.sections.xml create mode 100644 rosdocs/xsl/params/chunk.quietly.xml create mode 100644 rosdocs/xsl/params/chunk.section.depth.xml create mode 100644 rosdocs/xsl/params/chunk.sections.xml create mode 100644 rosdocs/xsl/params/chunk.toc.xml create mode 100644 rosdocs/xsl/params/citerefentry.link.xml create mode 100644 rosdocs/xsl/params/column.count.of.index.xml create mode 100644 rosdocs/xsl/params/column.count.xml create mode 100644 rosdocs/xsl/params/compact.list.item.spacing.xml create mode 100644 rosdocs/xsl/params/component.title.properties.xml create mode 100644 rosdocs/xsl/params/css.decoration.xml create mode 100644 rosdocs/xsl/params/default.encoding.xml create mode 100644 rosdocs/xsl/params/default.table.width.xml create mode 100644 rosdocs/xsl/params/default.units.xml create mode 100644 rosdocs/xsl/params/dingbat.font.family.xml create mode 100644 rosdocs/xsl/params/double.sided.xml create mode 100644 rosdocs/xsl/params/draft.watermark.image.xml create mode 100644 rosdocs/xsl/params/ebnf.table.bgcolor.xml create mode 100644 rosdocs/xsl/params/ebnf.table.border.xml create mode 100644 rosdocs/xsl/params/emphasis.propagates.style.xml create mode 100644 rosdocs/xsl/params/firstterm.only.link.xml create mode 100644 rosdocs/xsl/params/footnote.font.size.xml create mode 100644 rosdocs/xsl/params/fop.extensions.xml create mode 100644 rosdocs/xsl/params/formal.object.properties.xml create mode 100644 rosdocs/xsl/params/formal.procedures.xml create mode 100644 rosdocs/xsl/params/formal.title.placement.xml create mode 100644 rosdocs/xsl/params/formal.title.properties.xml create mode 100644 rosdocs/xsl/params/funcsynopsis.decoration.xml create mode 100644 rosdocs/xsl/params/funcsynopsis.style.xml create mode 100644 rosdocs/xsl/params/function.parens.xml create mode 100644 rosdocs/xsl/params/generate.id.attributes.xml create mode 100644 rosdocs/xsl/params/generate.index.xml create mode 100644 rosdocs/xsl/params/generate.legalnotice.link.xml create mode 100644 rosdocs/xsl/params/generate.manifest.xml create mode 100644 rosdocs/xsl/params/generate.section.toc.level.xml create mode 100644 rosdocs/xsl/params/generate.toc.xml create mode 100644 rosdocs/xsl/params/glossary.collection.xml create mode 100644 rosdocs/xsl/params/glossterm.auto.link.xml create mode 100644 rosdocs/xsl/params/graphic.default.extension.xml create mode 100644 rosdocs/xsl/params/html.base.xml create mode 100644 rosdocs/xsl/params/html.cleanup.xml create mode 100644 rosdocs/xsl/params/html.ext.xml create mode 100644 rosdocs/xsl/params/html.extra.head.links.xml create mode 100644 rosdocs/xsl/params/html.longdesc.link.xml create mode 100644 rosdocs/xsl/params/html.longdesc.xml create mode 100644 rosdocs/xsl/params/html.stylesheet.type.xml create mode 100644 rosdocs/xsl/params/html.stylesheet.xml create mode 100644 rosdocs/xsl/params/htmlhelp.alias.file.xml create mode 100644 rosdocs/xsl/params/htmlhelp.autolabel.xml create mode 100644 rosdocs/xsl/params/htmlhelp.chm.xml create mode 100644 rosdocs/xsl/params/htmlhelp.default.topic.xml create mode 100644 rosdocs/xsl/params/htmlhelp.encoding.xml create mode 100644 rosdocs/xsl/params/htmlhelp.enumerate.images.xml create mode 100644 rosdocs/xsl/params/htmlhelp.force.map.and.alias.xml create mode 100644 rosdocs/xsl/params/htmlhelp.hhc.folders.instead.books.xml create mode 100644 rosdocs/xsl/params/htmlhelp.hhc.section.depth.xml create mode 100644 rosdocs/xsl/params/htmlhelp.hhc.show.root.xml create mode 100644 rosdocs/xsl/params/htmlhelp.hhc.xml create mode 100644 rosdocs/xsl/params/htmlhelp.hhp.tail.xml create mode 100644 rosdocs/xsl/params/htmlhelp.hhp.xml create mode 100644 rosdocs/xsl/params/htmlhelp.map.file.xml create mode 100644 rosdocs/xsl/params/htmlhelp.title.xml create mode 100644 rosdocs/xsl/params/hyphenate.xml create mode 100644 rosdocs/xsl/params/informal.object.properties.xml create mode 100644 rosdocs/xsl/params/inherit.keywords.xml create mode 100644 rosdocs/xsl/params/insert.xref.page.number.xml create mode 100644 rosdocs/xsl/params/label.from.part.xml create mode 100644 rosdocs/xsl/params/line-height.xml create mode 100644 rosdocs/xsl/params/linenumbering.everyNth.xml create mode 100644 rosdocs/xsl/params/linenumbering.extension.xml create mode 100644 rosdocs/xsl/params/linenumbering.separator.xml create mode 100644 rosdocs/xsl/params/linenumbering.width.xml create mode 100644 rosdocs/xsl/params/link.mailto.url.xml create mode 100644 rosdocs/xsl/params/list.block.spacing.xml create mode 100644 rosdocs/xsl/params/list.item.spacing.xml create mode 100644 rosdocs/xsl/params/make.single.year.ranges.xml create mode 100644 rosdocs/xsl/params/make.valid.html.xml create mode 100644 rosdocs/xsl/params/make.year.ranges.xml create mode 100644 rosdocs/xsl/params/manifest.xml create mode 100644 rosdocs/xsl/params/manual.toc.xml create mode 100644 rosdocs/xsl/params/monospace.font.family.xml create mode 100644 rosdocs/xsl/params/monospace.verbatim.properties.xml create mode 100644 rosdocs/xsl/params/navig.graphics.extension.xml create mode 100644 rosdocs/xsl/params/navig.graphics.path.xml create mode 100644 rosdocs/xsl/params/navig.graphics.xml create mode 100644 rosdocs/xsl/params/navig.showtitles.xml create mode 100644 rosdocs/xsl/params/nominal.table.width.xml create mode 100644 rosdocs/xsl/params/normal.para.spacing.xml create mode 100644 rosdocs/xsl/params/olink.fragid.xml create mode 100644 rosdocs/xsl/params/olink.outline.ext.xml create mode 100644 rosdocs/xsl/params/olink.pubid.xml create mode 100644 rosdocs/xsl/params/olink.resolver.xml create mode 100644 rosdocs/xsl/params/olink.sysid.xml create mode 100644 rosdocs/xsl/params/output.method.xml create mode 100644 rosdocs/xsl/params/page.height.portrait.xml create mode 100644 rosdocs/xsl/params/page.height.xml create mode 100644 rosdocs/xsl/params/page.margin.bottom.xml create mode 100644 rosdocs/xsl/params/page.margin.inner.xml create mode 100644 rosdocs/xsl/params/page.margin.outer.xml create mode 100644 rosdocs/xsl/params/page.margin.top.xml create mode 100644 rosdocs/xsl/params/page.orientation.xml create mode 100644 rosdocs/xsl/params/page.width.portrait.xml create mode 100644 rosdocs/xsl/params/page.width.xml create mode 100644 rosdocs/xsl/params/paper.type.xml create mode 100644 rosdocs/xsl/params/part.autolabel.xml create mode 100644 rosdocs/xsl/params/passivetex.extensions.xml create mode 100644 rosdocs/xsl/params/phrase.propagates.style.xml create mode 100644 rosdocs/xsl/params/pixels.per.inch.xml create mode 100644 rosdocs/xsl/params/points.per.em.xml create mode 100644 rosdocs/xsl/params/preface.autolabel.xml create mode 100644 rosdocs/xsl/params/process.empty.source.toc.xml create mode 100644 rosdocs/xsl/params/process.source.toc.xml create mode 100644 rosdocs/xsl/params/profile.arch.xml create mode 100644 rosdocs/xsl/params/profile.attribute.xml create mode 100644 rosdocs/xsl/params/profile.condition.xml create mode 100644 rosdocs/xsl/params/profile.conformance.xml create mode 100644 rosdocs/xsl/params/profile.lang.xml create mode 100644 rosdocs/xsl/params/profile.os.xml create mode 100644 rosdocs/xsl/params/profile.revision.xml create mode 100644 rosdocs/xsl/params/profile.revisionflag.xml create mode 100644 rosdocs/xsl/params/profile.role.xml create mode 100644 rosdocs/xsl/params/profile.security.xml create mode 100644 rosdocs/xsl/params/profile.separator.xml create mode 100644 rosdocs/xsl/params/profile.userlevel.xml create mode 100644 rosdocs/xsl/params/profile.value.xml create mode 100644 rosdocs/xsl/params/profile.vendor.xml create mode 100644 rosdocs/xsl/params/punct.honorific.xml create mode 100644 rosdocs/xsl/params/qanda.defaultlabel.xml create mode 100644 rosdocs/xsl/params/qanda.inherit.numeration.xml create mode 100644 rosdocs/xsl/params/qandadiv.autolabel.xml create mode 100644 rosdocs/xsl/params/refentry.generate.name.xml create mode 100644 rosdocs/xsl/params/refentry.generate.title.xml create mode 100644 rosdocs/xsl/params/refentry.separator.xml create mode 100644 rosdocs/xsl/params/refentry.xref.manvolnum.xml create mode 100644 rosdocs/xsl/params/region.after.extent.xml create mode 100644 rosdocs/xsl/params/region.before.extent.xml create mode 100644 rosdocs/xsl/params/root.filename.xml create mode 100644 rosdocs/xsl/params/rootid.xml create mode 100644 rosdocs/xsl/params/runinhead.default.title.end.punct.xml create mode 100644 rosdocs/xsl/params/runinhead.title.end.punct.xml create mode 100644 rosdocs/xsl/params/sans.font.family.xml create mode 100644 rosdocs/xsl/params/saxon.callouts.xml create mode 100644 rosdocs/xsl/params/saxon.character.representation.xml create mode 100644 rosdocs/xsl/params/saxon.linenumbering.xml create mode 100644 rosdocs/xsl/params/saxon.tablecolumns.xml create mode 100644 rosdocs/xsl/params/section.autolabel.xml create mode 100644 rosdocs/xsl/params/section.label.includes.component.label.xml create mode 100644 rosdocs/xsl/params/segmentedlist.as.table.xml create mode 100644 rosdocs/xsl/params/shade.verbatim.style.xml create mode 100644 rosdocs/xsl/params/shade.verbatim.xml create mode 100644 rosdocs/xsl/params/show.comments.xml create mode 100644 rosdocs/xsl/params/show.revisionflag.xml create mode 100644 rosdocs/xsl/params/spacing.paras.xml create mode 100644 rosdocs/xsl/params/suppress.navigation.xml create mode 100644 rosdocs/xsl/params/table.border.color.xml create mode 100644 rosdocs/xsl/params/table.border.padding.xml create mode 100644 rosdocs/xsl/params/table.border.style.xml create mode 100644 rosdocs/xsl/params/table.border.thickness.xml create mode 100644 rosdocs/xsl/params/table.borders.with.css.xml create mode 100644 rosdocs/xsl/params/table.cell.padding.xml create mode 100644 rosdocs/xsl/params/table.entry.padding.xml create mode 100644 rosdocs/xsl/params/tablecolumns.extension.xml create mode 100644 rosdocs/xsl/params/template.xml create mode 100644 rosdocs/xsl/params/tex.math.delims.xml create mode 100644 rosdocs/xsl/params/tex.math.file.xml create mode 100644 rosdocs/xsl/params/tex.math.in.alt.xml create mode 100644 rosdocs/xsl/params/textinsert.extension.xml create mode 100644 rosdocs/xsl/params/title.font.family.xml create mode 100644 rosdocs/xsl/params/title.margin.left.xml create mode 100644 rosdocs/xsl/params/toc.indent.width.xml create mode 100644 rosdocs/xsl/params/toc.list.type.xml create mode 100644 rosdocs/xsl/params/toc.margin.properties.xml create mode 100644 rosdocs/xsl/params/toc.section.depth.xml create mode 100644 rosdocs/xsl/params/ulink.footnotes.xml create mode 100644 rosdocs/xsl/params/ulink.hyphenate.xml create mode 100644 rosdocs/xsl/params/ulink.show.xml create mode 100644 rosdocs/xsl/params/ulink.target.xml create mode 100644 rosdocs/xsl/params/use.extensions.xml create mode 100644 rosdocs/xsl/params/use.id.as.filename.xml create mode 100644 rosdocs/xsl/params/use.id.function.xml create mode 100644 rosdocs/xsl/params/use.svg.xml create mode 100644 rosdocs/xsl/params/variablelist.as.blocks.xml create mode 100644 rosdocs/xsl/params/variablelist.as.table.xml create mode 100644 rosdocs/xsl/params/verbatim.properties.xml create mode 100644 rosdocs/xsl/params/xep.extensions.xml create mode 100644 rosdocs/xsl/params/xref.properties.xml create mode 100644 rosdocs/xsl/profiling/ChangeLog create mode 100644 rosdocs/xsl/profiling/profile-mode.xsl create mode 100644 rosdocs/xsl/profiling/profile.xsl create mode 100644 rosdocs/xsl/profiling/strip-attributes.xsl create mode 100644 rosdocs/xsl/profiling/xsl2profile.xsl create mode 100644 rosdocs/xsl/template/ChangeLog create mode 100644 rosdocs/xsl/template/README create mode 100644 rosdocs/xsl/template/biblioentry.xsl create mode 100644 rosdocs/xsl/template/testtemplate.xml create mode 100644 rosdocs/xsl/template/titlepage.xsl create mode 100644 rosdocs/xsl/tools/ChangeLog create mode 100644 rosdocs/xsl/tools/olink/ChangeLog create mode 100644 rosdocs/xsl/tools/olink/olink-common.xsl create mode 100644 rosdocs/xsl/tools/olink/olink.xsl create mode 100644 rosdocs/xsl/tools/olink/olinkchunk.xsl create mode 100644 rosdocs/xsl/tools/olink/olinksum.dtd create mode 100644 rosdocs/xsl/tools/profile/ChangeLog create mode 100644 rosdocs/xsl/tools/profile/profile.xsl create mode 100644 rosdocs/xsl/xhtml/ChangeLog create mode 100644 rosdocs/xsl/xhtml/admon.xsl create mode 100644 rosdocs/xsl/xhtml/autoidx.xsl create mode 100644 rosdocs/xsl/xhtml/autotoc.xsl create mode 100644 rosdocs/xsl/xhtml/biblio.xsl create mode 100644 rosdocs/xsl/xhtml/block.xsl create mode 100644 rosdocs/xsl/xhtml/callout.xsl create mode 100644 rosdocs/xsl/xhtml/changebars.xsl create mode 100644 rosdocs/xsl/xhtml/chunk-common.xsl create mode 100644 rosdocs/xsl/xhtml/chunk.xsl create mode 100644 rosdocs/xsl/xhtml/chunker.xsl create mode 100644 rosdocs/xsl/xhtml/chunktoc.xsl create mode 100644 rosdocs/xsl/xhtml/component.xsl create mode 100644 rosdocs/xsl/xhtml/division.xsl create mode 100644 rosdocs/xsl/xhtml/docbook.xsl create mode 100644 rosdocs/xsl/xhtml/ebnf.xsl create mode 100644 rosdocs/xsl/xhtml/footnote.xsl create mode 100644 rosdocs/xsl/xhtml/formal.xsl create mode 100644 rosdocs/xsl/xhtml/glossary.xsl create mode 100644 rosdocs/xsl/xhtml/graphics.xsl create mode 100644 rosdocs/xsl/xhtml/html-rtf.xsl create mode 100644 rosdocs/xsl/xhtml/html.xsl create mode 100644 rosdocs/xsl/xhtml/html2xhtml.xsl create mode 100644 rosdocs/xsl/xhtml/index.xsl create mode 100644 rosdocs/xsl/xhtml/info.xsl create mode 100644 rosdocs/xsl/xhtml/inline.xsl create mode 100644 rosdocs/xsl/xhtml/keywords.xsl create mode 100644 rosdocs/xsl/xhtml/lists.xsl create mode 100644 rosdocs/xsl/xhtml/maketoc.xsl create mode 100644 rosdocs/xsl/xhtml/manifest.xsl create mode 100644 rosdocs/xsl/xhtml/math.xsl create mode 100644 rosdocs/xsl/xhtml/oldchunker.xsl create mode 100644 rosdocs/xsl/xhtml/onechunk.xsl create mode 100644 rosdocs/xsl/xhtml/param.xsl create mode 100644 rosdocs/xsl/xhtml/pi.xsl create mode 100644 rosdocs/xsl/xhtml/profile-chunk.xsl create mode 100644 rosdocs/xsl/xhtml/profile-docbook.xsl create mode 100644 rosdocs/xsl/xhtml/profile-onechunk.xsl create mode 100644 rosdocs/xsl/xhtml/qandaset.xsl create mode 100644 rosdocs/xsl/xhtml/refentry.xsl create mode 100644 rosdocs/xsl/xhtml/sections.xsl create mode 100644 rosdocs/xsl/xhtml/synop.xsl create mode 100644 rosdocs/xsl/xhtml/table.xsl create mode 100644 rosdocs/xsl/xhtml/titlepage.templates.xsl create mode 100644 rosdocs/xsl/xhtml/titlepage.xsl create mode 100644 rosdocs/xsl/xhtml/toc.xsl create mode 100644 rosdocs/xsl/xhtml/verbatim.xsl create mode 100644 rosdocs/xsl/xhtml/xref.xsl create mode 100644 rosdocs/xsl/xhtml/xslfiles.gen delete mode 100644 web/wiki/ReactOS Wiki-Update.rtf diff --git a/README b/README deleted file mode 100644 index 7b32408..0000000 --- a/README +++ /dev/null @@ -1,11 +0,0 @@ -This is the documentation directory for the ReactOS project. - - -Directory Layout: - -api\ : Documentation for various APIs. -articles\ : Howto's, Articles and related documentation. -audit\ : Documentation about and gathered by the audit. -reverse.engineering\ : Clean-Room effort documentation. - : _Only_ human language and pseudo-code documentation is allowed here. - diff --git a/UML flowchart/ddraw/D3DParseUnknownCommand.dia b/articles/D3DParseUnknownCommand.dia similarity index 100% rename from UML flowchart/ddraw/D3DParseUnknownCommand.dia rename to articles/D3DParseUnknownCommand.dia diff --git a/UML flowchart/ddraw/D3DParseUnknownCommand.eps b/articles/D3DParseUnknownCommand.eps similarity index 100% rename from UML flowchart/ddraw/D3DParseUnknownCommand.eps rename to articles/D3DParseUnknownCommand.eps diff --git a/UML flowchart/ddraw/D3DParseUnknownCommand.gif b/articles/D3DParseUnknownCommand.gif similarity index 100% rename from UML flowchart/ddraw/D3DParseUnknownCommand.gif rename to articles/D3DParseUnknownCommand.gif diff --git a/reverse.engineering/rpcrt4/rpcrt4_callchains.txt b/articles/rpcrt4_callchains.txt similarity index 94% rename from reverse.engineering/rpcrt4/rpcrt4_callchains.txt rename to articles/rpcrt4_callchains.txt index f0211e1..3d8d133 100644 --- a/reverse.engineering/rpcrt4/rpcrt4_callchains.txt +++ b/articles/rpcrt4_callchains.txt @@ -1,903 +1,903 @@ -******************************************************************** -* rpcrt4.dll api call chains. Autogenerated by OpenRCE.org scrtipt * -******************************************************************** - -RpcServerUseProtseqEpA - -> I_RpcServerUseProtseqEp2A - -RpcServerRegisterAuthInfoA - -> RpcServerRegisterAuthInfoW - -> RtlFreeUnicodeString - -RpcEpRegisterW - -> RpcEpRegisterA - -RpcServerUseProtseqW - -> RpcServerUseProtseqExW - -RpcServerUseProtseqExW - -> I_RpcServerUseProtseq2W - -I_RpcServerUseProtseqEp2A - -> lstrlenA - -> _alloca_probe - -> RtlMultiByteToUnicodeN - -> I_RpcServerUseProtseqEp2W - -> RtlFreeUnicodeString - -RpcServerUseAllProtseqsIf - -> RpcServerUseAllProtseqsIfEx - -RpcServerUseAllProtseqsIfEx - -> RpcServerUseProtseqEpExA - -RpcServerUseProtseqEpExA - -> I_RpcServerUseProtseqEp2A - -RpcBindingVectorFree - -> RpcBindingFree - -RpcBindingToStringBindingA - -> RpcBindingToStringBindingW - -I_RpcServerAllocateIpPort - -> RpcBindingFromStringBindingW - -> RpcBindingFree - -> RtlEnterCriticalSection - -> RtlLeaveCriticalSection - -RpcStringBindingParseA - -> RpcStringBindingParseW - -> RtlFreeUnicodeString - -RpcServerUseProtseqA - -> I_RpcServerUseProtseq2A - -I_RpcServerUseProtseq2A - -> lstrlenA - -> _alloca_probe - -> RtlMultiByteToUnicodeN - -> I_RpcServerUseProtseq2W - -NdrFullPointerXlatInit - -> I_RpcAllocate - -NdrFullPointerXlatFree - -> I_RpcFree - -NdrFullPointerQueryPointer - -> I_RpcAllocate - -TowerConstruct - -> lstrcmpiA - -> I_RpcAllocate - -> I_RpcFree - -NdrFullPointerInsertRefId - -> I_RpcAllocate - -RpcBindingSetAuthInfoW - -> RpcBindingSetAuthInfoExW - -UuidFromStringA - -> RtlFreeUnicodeString - -NdrServerMarshall - -> NdrStubGetBuffer - -> NdrSimpleTypeMarshall - -NdrServerUnmarshall - -> NdrStubInitialize - -RpcStringFreeA - -> RpcStringFreeW - -RpcBindingFromStringBindingA - -> RpcBindingFromStringBindingW - -> RtlFreeUnicodeString - -RpcStringBindingComposeA - -> lstrlenA - -> _alloca_probe - -> RtlMultiByteToUnicodeN - -> RpcStringBindingComposeW - -RpcRaiseException - -> RaiseException - -RpcBindingInqAuthInfoExW - -> RtlEnterCriticalSection - -> RtlLeaveCriticalSection - -> GetTokenInformation - -> CloseHandle - -NdrRangeUnmarshall - -> RpcRaiseException - -> NdrAllocate - -MesEncodeFixedBufferHandleCreate - -> MesBufferHandleReset - -NdrMesTypeAlignSize2 - -> _alloca_probe - -> NdrCorrelationInitialize - -> NdrMesTypeAlignSize - -RpcBindingInqAuthClientW - -> RpcBindingInqAuthClientExW - -MesDecodeBufferHandleCreate - -> MesBufferHandleReset - -NdrMesTypeEncode2 - -> _alloca_probe - -> NdrCorrelationInitialize - -> NdrMesTypeEncode - -> NdrCorrelationPass - -NdrMesTypeDecode2 - -> _alloca_probe - -> NdrCorrelationInitialize - -> NdrMesTypeDecode - -> NdrCorrelationPass - -NdrMesTypeEncode - -> NdrMesTypeAlignSize - -RpcSmDestroyClientContext - -> RpcSsDestroyClientContext - -RpcSsDestroyClientContext - -> NDRCContextBinding - -> RpcBindingFree - -> I_RpcFree - -RpcServerUseProtseqEpExW - -> I_RpcServerUseProtseqEp2W - -RpcServerUseProtseqEpW - -> RpcServerUseProtseqEpExW - -NdrConformantStructUnmarshall - -> NdrAllocate - -NDRCContextUnmarshall - -> I_RpcAllocate - -> I_RpcBindingCopy - -NdrServerContextNewMarshall - -> NDRSContextMarshall2 - -NDRSContextMarshall2 - -> UuidCreate - -NdrContextHandleInitialize - -> NDRSContextUnmarshall2 - -RpcStringBindingParseW - -> wcslen - -> _alloca_probe - -> wcscpy - -RpcBindingFromStringBindingW - -> wcslen - -> _alloca_probe - -> wcscpy - -I_RpcParseSecurity - -> _wcsnicmp - -RpcRevertToSelf - -> RpcRevertToSelfEx - -NdrSimpleTypeUnmarshall - -> RpcRaiseException - -NdrComplexStructMarshall - -> NdrComplexStructBufferSize - -NdrComplexStructUnmarshall - -> NdrComplexStructMemorySize - -NdrComplexStructFree - -> NdrAllocate - -I_RpcGetBuffer - -> I_RpcGetBufferWithObject - -NdrClientInitializeNew - -> NdrClientInitialize - -NdrGetBuffer - -> I_RpcGetBuffer - -NdrFreeBuffer - -> I_RpcFreeBuffer - -NdrServerInitializeNew - -> NdrServerInitialize - -NdrSendReceive - -> I_RpcSendReceive - -I_RpcRequestMutex - -> RtlEnterCriticalSection - -I_RpcClearMutex - -> RtlLeaveCriticalSection - -NDRSContextUnmarshall2 - -> I_RpcGetAssociationContext - -> I_RpcRequestMutex - -> I_RpcClearMutex - -> I_RpcGetServerContextList - -> I_RpcSetServerContextList - -NdrServerContextNewUnmarshall - -> NDRSContextUnmarshall2 - -NdrComplexArrayMarshall - -> NdrComplexArrayBufferSize - -NdrComplexArrayUnmarshall - -> NdrComplexArrayMemorySize - -NdrComplexArrayMemorySize - -> NdrAllocate - -> LoadLibraryA - -> GetProcAddress - -> RtlInitializeCriticalSection - -> GetProcessHeap - -> HeapAlloc - -> InitializeCriticalSection - -> InterlockedExchange - -> RtlDeleteCriticalSection - -> DeleteCriticalSection - -> HeapFree - -> PerformRpcInitialization - -> GetLastError - -> CloseHandle - -> RtlLeaveCriticalSection - -> InterlockedDecrement - -> InterlockedIncrement - -> RtlEnterCriticalSection - -> _wcsicmp - -> RpcBindingVectorFree - -> Sleep - -> _wcsnicmp - -> memmove - -> I_RpcAsyncSetHandle - -> InterlockedCompareExchange - -> I_RpcBCacheFree - -> SetEvent - -> lstrlenA - -> _alloca_probe - -> RtlMultiByteToUnicodeN - -> RegCloseKey - -> RegOpenKeyExA - -> RegQueryValueExW - -> RtlFreeAnsiString - -> TowerExplode - -> I_RpcFree - -> NdrRpcSsDefaultFree - -> RpcSsDestroyClientContext - -> RpcSmDestroyClientContext - -> RtlFreeUnicodeString - -> GetCurrentThread - -> RpcCancelThread - -> RpcBindingSetObject - -> RtlUlongByteSwap - -> GetComputerNameW - -> CompareStringW - -> NtRequestPort - -> NtReplyWaitReplyPort - -> PostQueuedCompletionStatus - -> VirtualAlloc - -> VirtualFree - -> SetLastError - -> GetCurrentProcessId - -> swprintf - -> RpcServerUseProtseqEpW - -> NtReplyPort - -> I_RpcClearMutex - -> RpcRaiseException - -> NdrOleFree - -> I_RpcAllocate - -> MesHandleFree - -> I_RpcIsForcedPickleCleanup - -> NdrpSetRpcSsDefaults - -> I_RpcReceive - -> NdrInterfacePointerBufferSize - -> MIDL_wchar_strlen - -> NdrSimpleTypeMarshall - -> NdrFullPointerInsertRefId - -> NdrSimpleTypeUnmarshall - -> NdrFullPointerQueryRefId - -GlobalMutexRequestExternal - -> RtlEnterCriticalSection - -GlobalMutexClearExternal - -> RtlLeaveCriticalSection - -RpcNetworkIsProtseqValidW - -> PerformRpcInitialization - -RpcMgmtInqComTimeout - -> PerformRpcInitialization - -DceErrorInqTextA - -> FormatMessageA - -DceErrorInqTextW - -> FormatMessageW - -I_RpcConnectionInqSockBuffSize - -> RtlEnterCriticalSection - -> RtlLeaveCriticalSection - -I_RpcConnectionSetSockBuffSize - -> RtlEnterCriticalSection - -> RtlLeaveCriticalSection - -RpcCancelThread - -> QueueUserAPC - -RpcCancelThreadEx - -> QueueUserAPC - -RpcTestCancel - -> RpcServerTestCancel - -RpcNetworkInqProtseqsW - -> PerformRpcInitialization - -RpcObjectInqType - -> PerformRpcInitialization - -RpcObjectSetInqFn - -> PerformRpcInitialization - -RpcObjectSetType - -> PerformRpcInitialization - -RpcProtseqVectorFreeW - -> PerformRpcInitialization - -RpcServerInqIf - -> PerformRpcInitialization - -RpcServerUseAllProtseqsEx - -> PerformRpcInitialization - -> _wcsnicmp - -> RpcProtseqVectorFreeW - -RpcServerUseAllProtseqs - -> RpcServerUseAllProtseqsEx - -RpcServerUseProtseqIfExW - -> PerformRpcInitialization - -> _wcsicmp - -> RtlFreeUnicodeString - -> RpcServerUseProtseqEpExA - -RpcServerUseProtseqIfW - -> RpcServerUseProtseqIfExW - -RpcMgmtInqStats - -> PerformRpcInitialization - -RpcMgmtWaitServerListen - -> PerformRpcInitialization - -RpcMgmtInqIfIds - -> PerformRpcInitialization - -RpcIfIdVectorFree - -> PerformRpcInitialization - -RpcServerInqDefaultPrincNameA - -> RpcServerInqDefaultPrincNameW - -I_RpcNsInterfaceExported - -> PerformRpcInitialization - -I_RpcNsInterfaceUnexported - -> PerformRpcInitialization - -RpcEpResolveBinding - -> PerformRpcInitialization - -RpcNsBindingInqEntryNameW - -> PerformRpcInitialization - -I_RpcNsBindingSetEntryNameW - -> PerformRpcInitialization - -RpcBindingInqAuthInfoW - -> PerformRpcInitialization - -> RpcBindingInqAuthInfoExW - -I_RpcBindingInqSecurityContext - -> PerformRpcInitialization - -I_RpcBindingToStaticStringBindingW - -> PerformRpcInitialization - -RpcMgmtInqDefaultProtectLevel - -> PerformRpcInitialization - -RpcBindingInqOption - -> PerformRpcInitialization - -I_RpcBindingInqWireIdForSnego - -> PerformRpcInitialization - -I_RpcGetCurrentCallHandle - -> PerformRpcInitialization - -RpcNetworkIsProtseqValidA - -> lstrlenA - -> _alloca_probe - -> RtlMultiByteToUnicodeN - -> RpcNetworkIsProtseqValidW - -RpcNetworkInqProtseqsA - -> RpcNetworkInqProtseqsW - -> RpcProtseqVectorFreeA - -RpcProtseqVectorFreeA - -> RpcProtseqVectorFreeW - -RpcServerUseProtseqExA - -> I_RpcServerUseProtseq2A - -RpcServerUseProtseqIfExA - -> lstrlenA - -> _alloca_probe - -> RtlMultiByteToUnicodeN - -> RpcServerUseProtseqIfExW - -RpcServerUseProtseqIfA - -> RpcServerUseProtseqIfExA - -RpcNsBindingInqEntryNameA - -> RpcNsBindingInqEntryNameW - -RpcBindingInqAuthClientA - -> RpcBindingInqAuthClientExA - -RpcBindingInqAuthClientExA - -> RpcBindingInqAuthClientExW - -RpcBindingInqAuthInfoA - -> RpcBindingInqAuthInfoExA - -RpcBindingInqAuthInfoExA - -> RpcBindingInqAuthInfoExW - -RpcBindingSetAuthInfoA - -> RpcBindingSetAuthInfoExA - -RpcBindingSetAuthInfoExA - -> RpcBindingSetAuthInfoExW - -> RtlFreeUnicodeString - -RpcMgmtInqServerPrincNameA - -> RpcMgmtInqServerPrincNameW - -RpcCertGeneratePrincipalNameA - -> RpcCertGeneratePrincipalNameW - -I_UuidCreate - -> UuidCreateSequential - -UuidCreateSequential - -> PerformRpcInitialization - -> GetTickCount - -> InterlockedDecrement - -UuidCompare - -> UuidIsNil - -RpcCertGeneratePrincipalNameW - -> PerformRpcInitialization - -> dword_77162CD0 - -> dword_77162CC8 - -> dword_77162CCC - -> wcscpy - -> dword_77162CE0 - -> GetLastError - -> _alloca_probe - -> dword_77162CDC - -RpcEpRegisterNoReplaceW - -> RpcEpRegisterNoReplaceA - -> RtlFreeAnsiString - -RpcEpUnregister - -> I_RpcAllocate - -> RpcBindingFree - -> I_RpcFree - -RpcMgmtEpEltInqBegin - -> RpcBindingInqObject - -> UuidIsNil - -> RpcBindingToStringBindingW - -> RpcStringBindingParseW - -> RpcStringFreeW - -> RpcMgmtInqComTimeout - -> I_RpcAllocate - -RpcMgmtEpEltInqDone - -> RpcBindingFree - -> RpcSsDestroyClientContext - -> I_RpcFree - -RpcMgmtEpEltInqNextW - -> RpcMgmtEpEltInqNextA - -> I_RpcFree - -RpcMgmtEpEltInqNextA - -> TowerExplode - -> NdrRpcSsDefaultFree - -> RpcStringBindingComposeA - -> RpcBindingFromStringBindingA - -> RpcStringFreeA - -> I_RpcAllocate - -RpcMgmtEpUnregister - -> RpcBindingInqObject - -> UuidIsNil - -> RpcBindingToStringBindingW - -> RpcStringBindingParseW - -> RpcStringFreeW - -> RpcMgmtInqComTimeout - -> RpcBindingToStringBindingA - -> RpcStringBindingParseA - -> TowerConstruct - -> RpcStringFreeA - -> RpcBindingFree - -NDRSContextUnmarshall - -> I_RpcGetCurrentCallHandle - -> NDRSContextUnmarshall2 - -NDRSContextUnmarshallEx - -> NDRSContextUnmarshall2 - -NDRSContextMarshallEx - -> NDRSContextMarshall2 - -NDRSContextMarshall - -> I_RpcGetCurrentCallHandle - -> NDRSContextMarshall2 - -data_from_ndr - -> float_from_ndr - -> double_from_ndr - -> char_from_ndr - -> long_from_ndr - -> short_array_from_ndr - -> short_from_ndr - -> NDRcopy - -> char_array_from_ndr - -data_size_ndr - -> MIDL_wchar_strlen - -tree_size_ndr - -> MIDL_wchar_strlen - -tree_peek_ndr - -> long_from_ndr - -float_from_ndr - -> RpcRaiseException - -float_array_from_ndr - -> RpcRaiseException - -double_from_ndr - -> RpcRaiseException - -double_array_from_ndr - -> RpcRaiseException - -DllGetClassObject - -> PerformRpcInitialization - -NdrDllRegisterProxy - -> GetModuleFileNameA - -> GetLastError - -> RegCreateKeyExA - -> RegCloseKey - -NdrDllUnregisterProxy - -> GetModuleFileNameA - -> GetLastError - -> RegOpenKeyExA - -> RegCloseKey - -DllRegisterServer - -> GetModuleFileNameA - -> GetLastError - -MesEncodeIncrementalHandleCreate - -> MesIncrementalHandleReset - -> MesHandleFree - -MesDecodeIncrementalHandleCreate - -> MesIncrementalHandleReset - -> MesHandleFree - -MesEncodeDynBufferHandleCreate - -> MesBufferHandleReset - -> MesHandleFree - -NdrMesProcEncodeDecode - -> RpcRaiseException - -> NdrFullPointerXlatInit - -> NdrSimpleTypeMarshall - -> NdrSimpleTypeUnmarshall - -> NdrFullPointerXlatFree - -NdrMesProcEncodeDecode2 - -> RpcRaiseException - -> NdrFullPointerXlatInit - -> _alloca_probe - -> NdrCorrelationInitialize - -> NdrCorrelationPass - -NdrMesTypeFree2 - -> _alloca_probe - -> NdrCorrelationInitialize - -NdrMesSimpleTypeAlignSize - -> RpcRaiseException - -NdrMesSimpleTypeEncode - -> NdrMesSimpleTypeAlignSize - -NdrServerInitializePartial - -> NdrServerInitialize - -> NdrpSetRpcSsDefaults - -> RpcRaiseException - -NdrNsGetBuffer - -> dword_77162F64 - -> RpcRaiseException - -NdrNsSendReceive - -> RpcRaiseException - -> dword_77162F68 - -NdrServerInitializeUnmarshall - -> NdrServerInitialize - -NdrEncapsulatedUnionBufferSize - -> RpcRaiseException - -NdrEncapsulatedUnionFree - -> RpcRaiseException - -NdrEncapsulatedUnionMarshall - -> RpcRaiseException - -NdrXmitOrRepAsMarshall - -> NdrSimpleTypeMarshall - -NdrClientContextMarshall - -> RpcRaiseException - -> NDRCContextMarshall - -NdrServerContextMarshall - -> NDRSContextMarshall2 - -NdrConformantVaryingStructUnmarshall - -> RpcRaiseException - -> NdrAllocate - -> NdrFullPointerInsertRefId - -NdrEncapsulatedUnionUnmarshall - -> NdrAllocate - -> NdrFullPointerInsertRefId - -> NdrSimpleTypeUnmarshall - -NdrXmitOrRepAsUnmarshall - -> NdrAllocate - -> NdrSimpleTypeUnmarshall - -NdrClientContextUnmarshall - -> RpcRaiseException - -> NDRCContextUnmarshall - -NdrServerContextUnmarshall - -> RpcRaiseException - -> NDRSContextUnmarshall2 - -NdrConformantVaryingStructMemorySize - -> RpcRaiseException - -NdrUserMarshalSimpleTypeConvert - -> RpcRaiseException - -NdrGetPipeBuffer - -> NdrGetBuffer - -NdrGetPartialBuffer - -> I_RpcReallocPipeBuffer - -NdrPipesInitialize - -> I_RpcAllocate - -> RpcRaiseException - -NdrPipesDone - -> I_RpcFree - -NdrMarkNextActivePipe - -> NdrGetPipeBuffer - -NdrIsAppDoneWithPipes - -> RpcRaiseException - -NdrPipePull - -> NdrMarkNextActivePipe - -NdrPipePush - -> NdrGetPartialBuffer - -> NdrMarkNextActivePipe - -RpcSsAllocate - -> RpcRaiseException - -> EnterCriticalSection - -> LeaveCriticalSection - -RpcSsGetThreadHandle - -> EnterCriticalSection - -> LeaveCriticalSection - -RpcSsSetClientAllocFree - -> EnterCriticalSection - -> LeaveCriticalSection - -RpcSsSetThreadHandle - -> EnterCriticalSection - -> LeaveCriticalSection - -> DeleteCriticalSection - -> I_RpcFree - -RpcSsSwapClientAllocFree - -> EnterCriticalSection - -> LeaveCriticalSection - -RpcSmAllocate - -> RpcSsAllocate - -RpcSmClientFree - -> NdrRpcSmClientFree - -RpcSmDisableAllocate - -> RpcSsDisableAllocate - -RpcSmEnableAllocate - -> RpcSsEnableAllocate - -RpcSmFree - -> RpcSsFree - -RpcSmGetThreadHandle - -> RpcSsGetThreadHandle - -RpcSmSetClientAllocFree - -> RpcSsSetClientAllocFree - -RpcSmSetThreadHandle - -> RpcSsSetThreadHandle - -RpcSmSwapClientAllocFree - -> RpcSsSwapClientAllocFree - -NdrRpcSsDefaultAllocate - -> I_RpcAllocate - -NdrRpcSsDefaultFree - -> I_RpcFree - -NdrRpcSmClientAllocate - -> EnterCriticalSection - -> LeaveCriticalSection - -NdrRpcSmClientFree - -> EnterCriticalSection - -> LeaveCriticalSection - -I_RpcTransGetAddressList - -> dword_77162064 - -> I_RpcAllocate - -> I_RpcFree - -> dword_77162020 - -NdrStubCall - -> NdrServerUnmarshall - -> NdrServerMarshall - -NdrCStdStubBuffer2_Release - -> InterlockedDecrement - -> NdrOleFree - -NdrProxyInitialize - -> NdrClientInitializeNew - -NdrAsyncServerCall - -> NdrServerInitializeNew - -> NdrCorrelationInitialize - -> NdrCorrelationPass - -> CheckVerificationTrailer - -> InterlockedDecrement - -NdrClientCall - -> NdrClientInitializeNew - -> NdrGetBuffer - -> NdrSimpleTypeMarshall - -> NdrSendReceive - -> NdrSimpleTypeUnmarshall - -NdrDllGetClassObject - -> PerformRpcInitialization - -CStdStubBuffer_AddRef - -> InterlockedIncrement - -NdrCStdStubBuffer_Release - -> InterlockedDecrement - -> NdrOleFree - -CStdStubBuffer_Disconnect - -> InterlockedExchange - -RpcAsyncInitializeHandle - -> IsBadWritePtr - -CStdStubBuffer_Invoke - -> NdrStubCall2 - -NdrStubInitialize - -> NdrServerInitialize - -NdrAsyncClientCall - -> NdrClientInitializeNew - -> NdrGetBuffer - -NdrClientCall2 - -> NdrClientInitializeNew - -NdrStubCall2 - -> _alloca_probe - -> NdrServerInitializeNew - -NdrServerCall2 - -> NdrStubCall2 - -CStdStubBuffer_Connect - -> InterlockedExchange - -NdrStubForwardingFunction - -> RpcRaiseException - -RpcAsyncAbortCall - -> InterlockedDecrement - -NdrDcomAsyncStubCall - -> NdrStubInitialize - -> NdrFullPointerXlatInit - -> NdrCorrelationInitialize - -> NdrConvert2 - -> NdrCorrelationPass - -> CheckVerificationTrailer - -> RpcRaiseException - -> NdrProxyErrorHandler - -NdrServerCall - -> NdrStubCall - +******************************************************************** +* rpcrt4.dll api call chains. Autogenerated by OpenRCE.org scrtipt * +******************************************************************** + +RpcServerUseProtseqEpA + -> I_RpcServerUseProtseqEp2A + +RpcServerRegisterAuthInfoA + -> RpcServerRegisterAuthInfoW + -> RtlFreeUnicodeString + +RpcEpRegisterW + -> RpcEpRegisterA + +RpcServerUseProtseqW + -> RpcServerUseProtseqExW + +RpcServerUseProtseqExW + -> I_RpcServerUseProtseq2W + +I_RpcServerUseProtseqEp2A + -> lstrlenA + -> _alloca_probe + -> RtlMultiByteToUnicodeN + -> I_RpcServerUseProtseqEp2W + -> RtlFreeUnicodeString + +RpcServerUseAllProtseqsIf + -> RpcServerUseAllProtseqsIfEx + +RpcServerUseAllProtseqsIfEx + -> RpcServerUseProtseqEpExA + +RpcServerUseProtseqEpExA + -> I_RpcServerUseProtseqEp2A + +RpcBindingVectorFree + -> RpcBindingFree + +RpcBindingToStringBindingA + -> RpcBindingToStringBindingW + +I_RpcServerAllocateIpPort + -> RpcBindingFromStringBindingW + -> RpcBindingFree + -> RtlEnterCriticalSection + -> RtlLeaveCriticalSection + +RpcStringBindingParseA + -> RpcStringBindingParseW + -> RtlFreeUnicodeString + +RpcServerUseProtseqA + -> I_RpcServerUseProtseq2A + +I_RpcServerUseProtseq2A + -> lstrlenA + -> _alloca_probe + -> RtlMultiByteToUnicodeN + -> I_RpcServerUseProtseq2W + +NdrFullPointerXlatInit + -> I_RpcAllocate + +NdrFullPointerXlatFree + -> I_RpcFree + +NdrFullPointerQueryPointer + -> I_RpcAllocate + +TowerConstruct + -> lstrcmpiA + -> I_RpcAllocate + -> I_RpcFree + +NdrFullPointerInsertRefId + -> I_RpcAllocate + +RpcBindingSetAuthInfoW + -> RpcBindingSetAuthInfoExW + +UuidFromStringA + -> RtlFreeUnicodeString + +NdrServerMarshall + -> NdrStubGetBuffer + -> NdrSimpleTypeMarshall + +NdrServerUnmarshall + -> NdrStubInitialize + +RpcStringFreeA + -> RpcStringFreeW + +RpcBindingFromStringBindingA + -> RpcBindingFromStringBindingW + -> RtlFreeUnicodeString + +RpcStringBindingComposeA + -> lstrlenA + -> _alloca_probe + -> RtlMultiByteToUnicodeN + -> RpcStringBindingComposeW + +RpcRaiseException + -> RaiseException + +RpcBindingInqAuthInfoExW + -> RtlEnterCriticalSection + -> RtlLeaveCriticalSection + -> GetTokenInformation + -> CloseHandle + +NdrRangeUnmarshall + -> RpcRaiseException + -> NdrAllocate + +MesEncodeFixedBufferHandleCreate + -> MesBufferHandleReset + +NdrMesTypeAlignSize2 + -> _alloca_probe + -> NdrCorrelationInitialize + -> NdrMesTypeAlignSize + +RpcBindingInqAuthClientW + -> RpcBindingInqAuthClientExW + +MesDecodeBufferHandleCreate + -> MesBufferHandleReset + +NdrMesTypeEncode2 + -> _alloca_probe + -> NdrCorrelationInitialize + -> NdrMesTypeEncode + -> NdrCorrelationPass + +NdrMesTypeDecode2 + -> _alloca_probe + -> NdrCorrelationInitialize + -> NdrMesTypeDecode + -> NdrCorrelationPass + +NdrMesTypeEncode + -> NdrMesTypeAlignSize + +RpcSmDestroyClientContext + -> RpcSsDestroyClientContext + +RpcSsDestroyClientContext + -> NDRCContextBinding + -> RpcBindingFree + -> I_RpcFree + +RpcServerUseProtseqEpExW + -> I_RpcServerUseProtseqEp2W + +RpcServerUseProtseqEpW + -> RpcServerUseProtseqEpExW + +NdrConformantStructUnmarshall + -> NdrAllocate + +NDRCContextUnmarshall + -> I_RpcAllocate + -> I_RpcBindingCopy + +NdrServerContextNewMarshall + -> NDRSContextMarshall2 + +NDRSContextMarshall2 + -> UuidCreate + +NdrContextHandleInitialize + -> NDRSContextUnmarshall2 + +RpcStringBindingParseW + -> wcslen + -> _alloca_probe + -> wcscpy + +RpcBindingFromStringBindingW + -> wcslen + -> _alloca_probe + -> wcscpy + +I_RpcParseSecurity + -> _wcsnicmp + +RpcRevertToSelf + -> RpcRevertToSelfEx + +NdrSimpleTypeUnmarshall + -> RpcRaiseException + +NdrComplexStructMarshall + -> NdrComplexStructBufferSize + +NdrComplexStructUnmarshall + -> NdrComplexStructMemorySize + +NdrComplexStructFree + -> NdrAllocate + +I_RpcGetBuffer + -> I_RpcGetBufferWithObject + +NdrClientInitializeNew + -> NdrClientInitialize + +NdrGetBuffer + -> I_RpcGetBuffer + +NdrFreeBuffer + -> I_RpcFreeBuffer + +NdrServerInitializeNew + -> NdrServerInitialize + +NdrSendReceive + -> I_RpcSendReceive + +I_RpcRequestMutex + -> RtlEnterCriticalSection + +I_RpcClearMutex + -> RtlLeaveCriticalSection + +NDRSContextUnmarshall2 + -> I_RpcGetAssociationContext + -> I_RpcRequestMutex + -> I_RpcClearMutex + -> I_RpcGetServerContextList + -> I_RpcSetServerContextList + +NdrServerContextNewUnmarshall + -> NDRSContextUnmarshall2 + +NdrComplexArrayMarshall + -> NdrComplexArrayBufferSize + +NdrComplexArrayUnmarshall + -> NdrComplexArrayMemorySize + +NdrComplexArrayMemorySize + -> NdrAllocate + -> LoadLibraryA + -> GetProcAddress + -> RtlInitializeCriticalSection + -> GetProcessHeap + -> HeapAlloc + -> InitializeCriticalSection + -> InterlockedExchange + -> RtlDeleteCriticalSection + -> DeleteCriticalSection + -> HeapFree + -> PerformRpcInitialization + -> GetLastError + -> CloseHandle + -> RtlLeaveCriticalSection + -> InterlockedDecrement + -> InterlockedIncrement + -> RtlEnterCriticalSection + -> _wcsicmp + -> RpcBindingVectorFree + -> Sleep + -> _wcsnicmp + -> memmove + -> I_RpcAsyncSetHandle + -> InterlockedCompareExchange + -> I_RpcBCacheFree + -> SetEvent + -> lstrlenA + -> _alloca_probe + -> RtlMultiByteToUnicodeN + -> RegCloseKey + -> RegOpenKeyExA + -> RegQueryValueExW + -> RtlFreeAnsiString + -> TowerExplode + -> I_RpcFree + -> NdrRpcSsDefaultFree + -> RpcSsDestroyClientContext + -> RpcSmDestroyClientContext + -> RtlFreeUnicodeString + -> GetCurrentThread + -> RpcCancelThread + -> RpcBindingSetObject + -> RtlUlongByteSwap + -> GetComputerNameW + -> CompareStringW + -> NtRequestPort + -> NtReplyWaitReplyPort + -> PostQueuedCompletionStatus + -> VirtualAlloc + -> VirtualFree + -> SetLastError + -> GetCurrentProcessId + -> swprintf + -> RpcServerUseProtseqEpW + -> NtReplyPort + -> I_RpcClearMutex + -> RpcRaiseException + -> NdrOleFree + -> I_RpcAllocate + -> MesHandleFree + -> I_RpcIsForcedPickleCleanup + -> NdrpSetRpcSsDefaults + -> I_RpcReceive + -> NdrInterfacePointerBufferSize + -> MIDL_wchar_strlen + -> NdrSimpleTypeMarshall + -> NdrFullPointerInsertRefId + -> NdrSimpleTypeUnmarshall + -> NdrFullPointerQueryRefId + +GlobalMutexRequestExternal + -> RtlEnterCriticalSection + +GlobalMutexClearExternal + -> RtlLeaveCriticalSection + +RpcNetworkIsProtseqValidW + -> PerformRpcInitialization + +RpcMgmtInqComTimeout + -> PerformRpcInitialization + +DceErrorInqTextA + -> FormatMessageA + +DceErrorInqTextW + -> FormatMessageW + +I_RpcConnectionInqSockBuffSize + -> RtlEnterCriticalSection + -> RtlLeaveCriticalSection + +I_RpcConnectionSetSockBuffSize + -> RtlEnterCriticalSection + -> RtlLeaveCriticalSection + +RpcCancelThread + -> QueueUserAPC + +RpcCancelThreadEx + -> QueueUserAPC + +RpcTestCancel + -> RpcServerTestCancel + +RpcNetworkInqProtseqsW + -> PerformRpcInitialization + +RpcObjectInqType + -> PerformRpcInitialization + +RpcObjectSetInqFn + -> PerformRpcInitialization + +RpcObjectSetType + -> PerformRpcInitialization + +RpcProtseqVectorFreeW + -> PerformRpcInitialization + +RpcServerInqIf + -> PerformRpcInitialization + +RpcServerUseAllProtseqsEx + -> PerformRpcInitialization + -> _wcsnicmp + -> RpcProtseqVectorFreeW + +RpcServerUseAllProtseqs + -> RpcServerUseAllProtseqsEx + +RpcServerUseProtseqIfExW + -> PerformRpcInitialization + -> _wcsicmp + -> RtlFreeUnicodeString + -> RpcServerUseProtseqEpExA + +RpcServerUseProtseqIfW + -> RpcServerUseProtseqIfExW + +RpcMgmtInqStats + -> PerformRpcInitialization + +RpcMgmtWaitServerListen + -> PerformRpcInitialization + +RpcMgmtInqIfIds + -> PerformRpcInitialization + +RpcIfIdVectorFree + -> PerformRpcInitialization + +RpcServerInqDefaultPrincNameA + -> RpcServerInqDefaultPrincNameW + +I_RpcNsInterfaceExported + -> PerformRpcInitialization + +I_RpcNsInterfaceUnexported + -> PerformRpcInitialization + +RpcEpResolveBinding + -> PerformRpcInitialization + +RpcNsBindingInqEntryNameW + -> PerformRpcInitialization + +I_RpcNsBindingSetEntryNameW + -> PerformRpcInitialization + +RpcBindingInqAuthInfoW + -> PerformRpcInitialization + -> RpcBindingInqAuthInfoExW + +I_RpcBindingInqSecurityContext + -> PerformRpcInitialization + +I_RpcBindingToStaticStringBindingW + -> PerformRpcInitialization + +RpcMgmtInqDefaultProtectLevel + -> PerformRpcInitialization + +RpcBindingInqOption + -> PerformRpcInitialization + +I_RpcBindingInqWireIdForSnego + -> PerformRpcInitialization + +I_RpcGetCurrentCallHandle + -> PerformRpcInitialization + +RpcNetworkIsProtseqValidA + -> lstrlenA + -> _alloca_probe + -> RtlMultiByteToUnicodeN + -> RpcNetworkIsProtseqValidW + +RpcNetworkInqProtseqsA + -> RpcNetworkInqProtseqsW + -> RpcProtseqVectorFreeA + +RpcProtseqVectorFreeA + -> RpcProtseqVectorFreeW + +RpcServerUseProtseqExA + -> I_RpcServerUseProtseq2A + +RpcServerUseProtseqIfExA + -> lstrlenA + -> _alloca_probe + -> RtlMultiByteToUnicodeN + -> RpcServerUseProtseqIfExW + +RpcServerUseProtseqIfA + -> RpcServerUseProtseqIfExA + +RpcNsBindingInqEntryNameA + -> RpcNsBindingInqEntryNameW + +RpcBindingInqAuthClientA + -> RpcBindingInqAuthClientExA + +RpcBindingInqAuthClientExA + -> RpcBindingInqAuthClientExW + +RpcBindingInqAuthInfoA + -> RpcBindingInqAuthInfoExA + +RpcBindingInqAuthInfoExA + -> RpcBindingInqAuthInfoExW + +RpcBindingSetAuthInfoA + -> RpcBindingSetAuthInfoExA + +RpcBindingSetAuthInfoExA + -> RpcBindingSetAuthInfoExW + -> RtlFreeUnicodeString + +RpcMgmtInqServerPrincNameA + -> RpcMgmtInqServerPrincNameW + +RpcCertGeneratePrincipalNameA + -> RpcCertGeneratePrincipalNameW + +I_UuidCreate + -> UuidCreateSequential + +UuidCreateSequential + -> PerformRpcInitialization + -> GetTickCount + -> InterlockedDecrement + +UuidCompare + -> UuidIsNil + +RpcCertGeneratePrincipalNameW + -> PerformRpcInitialization + -> dword_77162CD0 + -> dword_77162CC8 + -> dword_77162CCC + -> wcscpy + -> dword_77162CE0 + -> GetLastError + -> _alloca_probe + -> dword_77162CDC + +RpcEpRegisterNoReplaceW + -> RpcEpRegisterNoReplaceA + -> RtlFreeAnsiString + +RpcEpUnregister + -> I_RpcAllocate + -> RpcBindingFree + -> I_RpcFree + +RpcMgmtEpEltInqBegin + -> RpcBindingInqObject + -> UuidIsNil + -> RpcBindingToStringBindingW + -> RpcStringBindingParseW + -> RpcStringFreeW + -> RpcMgmtInqComTimeout + -> I_RpcAllocate + +RpcMgmtEpEltInqDone + -> RpcBindingFree + -> RpcSsDestroyClientContext + -> I_RpcFree + +RpcMgmtEpEltInqNextW + -> RpcMgmtEpEltInqNextA + -> I_RpcFree + +RpcMgmtEpEltInqNextA + -> TowerExplode + -> NdrRpcSsDefaultFree + -> RpcStringBindingComposeA + -> RpcBindingFromStringBindingA + -> RpcStringFreeA + -> I_RpcAllocate + +RpcMgmtEpUnregister + -> RpcBindingInqObject + -> UuidIsNil + -> RpcBindingToStringBindingW + -> RpcStringBindingParseW + -> RpcStringFreeW + -> RpcMgmtInqComTimeout + -> RpcBindingToStringBindingA + -> RpcStringBindingParseA + -> TowerConstruct + -> RpcStringFreeA + -> RpcBindingFree + +NDRSContextUnmarshall + -> I_RpcGetCurrentCallHandle + -> NDRSContextUnmarshall2 + +NDRSContextUnmarshallEx + -> NDRSContextUnmarshall2 + +NDRSContextMarshallEx + -> NDRSContextMarshall2 + +NDRSContextMarshall + -> I_RpcGetCurrentCallHandle + -> NDRSContextMarshall2 + +data_from_ndr + -> float_from_ndr + -> double_from_ndr + -> char_from_ndr + -> long_from_ndr + -> short_array_from_ndr + -> short_from_ndr + -> NDRcopy + -> char_array_from_ndr + +data_size_ndr + -> MIDL_wchar_strlen + +tree_size_ndr + -> MIDL_wchar_strlen + +tree_peek_ndr + -> long_from_ndr + +float_from_ndr + -> RpcRaiseException + +float_array_from_ndr + -> RpcRaiseException + +double_from_ndr + -> RpcRaiseException + +double_array_from_ndr + -> RpcRaiseException + +DllGetClassObject + -> PerformRpcInitialization + +NdrDllRegisterProxy + -> GetModuleFileNameA + -> GetLastError + -> RegCreateKeyExA + -> RegCloseKey + +NdrDllUnregisterProxy + -> GetModuleFileNameA + -> GetLastError + -> RegOpenKeyExA + -> RegCloseKey + +DllRegisterServer + -> GetModuleFileNameA + -> GetLastError + +MesEncodeIncrementalHandleCreate + -> MesIncrementalHandleReset + -> MesHandleFree + +MesDecodeIncrementalHandleCreate + -> MesIncrementalHandleReset + -> MesHandleFree + +MesEncodeDynBufferHandleCreate + -> MesBufferHandleReset + -> MesHandleFree + +NdrMesProcEncodeDecode + -> RpcRaiseException + -> NdrFullPointerXlatInit + -> NdrSimpleTypeMarshall + -> NdrSimpleTypeUnmarshall + -> NdrFullPointerXlatFree + +NdrMesProcEncodeDecode2 + -> RpcRaiseException + -> NdrFullPointerXlatInit + -> _alloca_probe + -> NdrCorrelationInitialize + -> NdrCorrelationPass + +NdrMesTypeFree2 + -> _alloca_probe + -> NdrCorrelationInitialize + +NdrMesSimpleTypeAlignSize + -> RpcRaiseException + +NdrMesSimpleTypeEncode + -> NdrMesSimpleTypeAlignSize + +NdrServerInitializePartial + -> NdrServerInitialize + -> NdrpSetRpcSsDefaults + -> RpcRaiseException + +NdrNsGetBuffer + -> dword_77162F64 + -> RpcRaiseException + +NdrNsSendReceive + -> RpcRaiseException + -> dword_77162F68 + +NdrServerInitializeUnmarshall + -> NdrServerInitialize + +NdrEncapsulatedUnionBufferSize + -> RpcRaiseException + +NdrEncapsulatedUnionFree + -> RpcRaiseException + +NdrEncapsulatedUnionMarshall + -> RpcRaiseException + +NdrXmitOrRepAsMarshall + -> NdrSimpleTypeMarshall + +NdrClientContextMarshall + -> RpcRaiseException + -> NDRCContextMarshall + +NdrServerContextMarshall + -> NDRSContextMarshall2 + +NdrConformantVaryingStructUnmarshall + -> RpcRaiseException + -> NdrAllocate + -> NdrFullPointerInsertRefId + +NdrEncapsulatedUnionUnmarshall + -> NdrAllocate + -> NdrFullPointerInsertRefId + -> NdrSimpleTypeUnmarshall + +NdrXmitOrRepAsUnmarshall + -> NdrAllocate + -> NdrSimpleTypeUnmarshall + +NdrClientContextUnmarshall + -> RpcRaiseException + -> NDRCContextUnmarshall + +NdrServerContextUnmarshall + -> RpcRaiseException + -> NDRSContextUnmarshall2 + +NdrConformantVaryingStructMemorySize + -> RpcRaiseException + +NdrUserMarshalSimpleTypeConvert + -> RpcRaiseException + +NdrGetPipeBuffer + -> NdrGetBuffer + +NdrGetPartialBuffer + -> I_RpcReallocPipeBuffer + +NdrPipesInitialize + -> I_RpcAllocate + -> RpcRaiseException + +NdrPipesDone + -> I_RpcFree + +NdrMarkNextActivePipe + -> NdrGetPipeBuffer + +NdrIsAppDoneWithPipes + -> RpcRaiseException + +NdrPipePull + -> NdrMarkNextActivePipe + +NdrPipePush + -> NdrGetPartialBuffer + -> NdrMarkNextActivePipe + +RpcSsAllocate + -> RpcRaiseException + -> EnterCriticalSection + -> LeaveCriticalSection + +RpcSsGetThreadHandle + -> EnterCriticalSection + -> LeaveCriticalSection + +RpcSsSetClientAllocFree + -> EnterCriticalSection + -> LeaveCriticalSection + +RpcSsSetThreadHandle + -> EnterCriticalSection + -> LeaveCriticalSection + -> DeleteCriticalSection + -> I_RpcFree + +RpcSsSwapClientAllocFree + -> EnterCriticalSection + -> LeaveCriticalSection + +RpcSmAllocate + -> RpcSsAllocate + +RpcSmClientFree + -> NdrRpcSmClientFree + +RpcSmDisableAllocate + -> RpcSsDisableAllocate + +RpcSmEnableAllocate + -> RpcSsEnableAllocate + +RpcSmFree + -> RpcSsFree + +RpcSmGetThreadHandle + -> RpcSsGetThreadHandle + +RpcSmSetClientAllocFree + -> RpcSsSetClientAllocFree + +RpcSmSetThreadHandle + -> RpcSsSetThreadHandle + +RpcSmSwapClientAllocFree + -> RpcSsSwapClientAllocFree + +NdrRpcSsDefaultAllocate + -> I_RpcAllocate + +NdrRpcSsDefaultFree + -> I_RpcFree + +NdrRpcSmClientAllocate + -> EnterCriticalSection + -> LeaveCriticalSection + +NdrRpcSmClientFree + -> EnterCriticalSection + -> LeaveCriticalSection + +I_RpcTransGetAddressList + -> dword_77162064 + -> I_RpcAllocate + -> I_RpcFree + -> dword_77162020 + +NdrStubCall + -> NdrServerUnmarshall + -> NdrServerMarshall + +NdrCStdStubBuffer2_Release + -> InterlockedDecrement + -> NdrOleFree + +NdrProxyInitialize + -> NdrClientInitializeNew + +NdrAsyncServerCall + -> NdrServerInitializeNew + -> NdrCorrelationInitialize + -> NdrCorrelationPass + -> CheckVerificationTrailer + -> InterlockedDecrement + +NdrClientCall + -> NdrClientInitializeNew + -> NdrGetBuffer + -> NdrSimpleTypeMarshall + -> NdrSendReceive + -> NdrSimpleTypeUnmarshall + +NdrDllGetClassObject + -> PerformRpcInitialization + +CStdStubBuffer_AddRef + -> InterlockedIncrement + +NdrCStdStubBuffer_Release + -> InterlockedDecrement + -> NdrOleFree + +CStdStubBuffer_Disconnect + -> InterlockedExchange + +RpcAsyncInitializeHandle + -> IsBadWritePtr + +CStdStubBuffer_Invoke + -> NdrStubCall2 + +NdrStubInitialize + -> NdrServerInitialize + +NdrAsyncClientCall + -> NdrClientInitializeNew + -> NdrGetBuffer + +NdrClientCall2 + -> NdrClientInitializeNew + +NdrStubCall2 + -> _alloca_probe + -> NdrServerInitializeNew + +NdrServerCall2 + -> NdrStubCall2 + +CStdStubBuffer_Connect + -> InterlockedExchange + +NdrStubForwardingFunction + -> RpcRaiseException + +RpcAsyncAbortCall + -> InterlockedDecrement + +NdrDcomAsyncStubCall + -> NdrStubInitialize + -> NdrFullPointerXlatInit + -> NdrCorrelationInitialize + -> NdrConvert2 + -> NdrCorrelationPass + -> CheckVerificationTrailer + -> RpcRaiseException + -> NdrProxyErrorHandler + +NdrServerCall + -> NdrStubCall + diff --git a/user.interface/user_interface_guidelines.html b/articles/user_interface_guidelines.html similarity index 98% rename from user.interface/user_interface_guidelines.html rename to articles/user_interface_guidelines.html index aa633df..68cbdf9 100644 --- a/user.interface/user_interface_guidelines.html +++ b/articles/user_interface_guidelines.html @@ -1,222 +1,222 @@ -

User Interface Guidelines

-

 

-

ReactOS® relevant user interface guidelines

- -

ReactOS®

- -

ReactOS Foundation

- - -

Windows®

- -

Microsoft Corporation

- - - - - - - - - - - - -

 

-

Other operating systems, shells and environsments

- -

MacOS®

- -

Apple Computers, Inc

- - -

CDE™

-

Sun Microsystems

- -

CDE & Motif

-

Open Group (HP, IBM, Novell, Sun)

- -

Gnome®

-

Gnome project

- -

IRIX®

-

Silicon Graphics, Inc.

- -

Indigo Magic™

-

Silicon Graphics, Inc.

- -

Java™

-

Sun Microsystems, Inc.

- - -

KDE®

-

KDE project

- -

OpenStep™

-

Sun Microsystems

- -

SAA Common User Interface

-

International Business Machines Corporation (IBM)

- -

 

-

Website Usability

- - - -

 

-

Resources

- - - - - - - - - - -

 

-
-

History:

- -

www.reactos.org

- -

+

User Interface Guidelines

+

 

+

ReactOS® relevant user interface guidelines

+ +

ReactOS®

+ +

ReactOS Foundation

+ + +

Windows®

+ +

Microsoft Corporation

+ + + + + + + + + + + + +

 

+

Other operating systems, shells and environsments

+ +

MacOS®

+ +

Apple Computers, Inc

+ + +

CDE™

+

Sun Microsystems

+ +

CDE & Motif

+

Open Group (HP, IBM, Novell, Sun)

+ +

Gnome®

+

Gnome project

+ +

IRIX®

+

Silicon Graphics, Inc.

+ +

Indigo Magic™

+

Silicon Graphics, Inc.

+ +

Java™

+

Sun Microsystems, Inc.

+ + +

KDE®

+

KDE project

+ +

OpenStep™

+

Sun Microsystems

+ +

SAA Common User Interface

+

International Business Machines Corporation (IBM)

+ +

 

+

Website Usability

+ + + +

 

+

Resources

+ + + + + + + + + + +

 

+
+

History:

+ +

www.reactos.org

+ +

diff --git a/reverse.engineering/.gitignore b/reverse.engineering/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/rosdocs/.cvsignore b/rosdocs/.cvsignore new file mode 100644 index 0000000..53752db --- /dev/null +++ b/rosdocs/.cvsignore @@ -0,0 +1 @@ +output diff --git a/rosdocs/ChangeLog b/rosdocs/ChangeLog new file mode 100755 index 0000000..2330f94 --- /dev/null +++ b/rosdocs/ChangeLog @@ -0,0 +1,16 @@ +2003-10-01 Casper S. Hornstrup + + * Makefile: Use $(MAKE) rather than make. + Generate .chm file in output directory. + +2002-11-05 Casper S. Hornstrup + + * ChangeLog: Added. + + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 76 +version-control: never +End: diff --git a/rosdocs/Makefile b/rosdocs/Makefile new file mode 100644 index 0000000..55de69b --- /dev/null +++ b/rosdocs/Makefile @@ -0,0 +1,87 @@ +# +# Makefile for rosdocs module +# + +PATH_TO_TOP = . + +HHC=hhc +XSLTPROC=xsltproc + +XSLSTYLESHEET_HTMLBIG=./xsl/html/docbook.xsl +XSLSTYLESHEET_HTMLCHUNK=./xsl/html/chunk.xsl +XSLSTYLESHEET_HTMLHELP=./xsl/htmlhelp/htmlhelp.xsl + +OUTPUT_DIR=./output +OUTPUT_DIR_HTMLBIG=$(OUTPUT_DIR)/htmlbig +OUTPUT_DIR_HTMLCHUNK=$(OUTPUT_DIR)/htmlchunk +OUTPUT_DIR_HTMLHELP=$(OUTPUT_DIR)/htmlhelp + +# hhc is not available on linux +ifeq ($(HOST),mingw32-linux) +all: tools htmlbig htmlchunk + +else +all: tools htmlbig htmlchunk # htmlhelp + +endif + + +# +# Tools +# +tools: + $(MAKE) -C tools + +tools_implib: + +tools_clean: + $(MAKE) -C tools clean + +tools_install: + +tools_dist: + +.PHONY: tools tools_clean tools_install tools_dist + + + +htmlchunk: $(OUTPUT_DIR_HTMLCHUNK) + - $(XSLTPROC) -o $(OUTPUT_DIR_HTMLCHUNK)/tutorials.html $(XSLSTYLESHEET_HTMLCHUNK) tutorials/tutorials.xml + +htmlbig: $(OUTPUT_DIR_HTMLBIG) + - $(XSLTPROC) -o $(OUTPUT_DIR_HTMLBIG)/tutorials.html $(XSLSTYLESHEET_HTMLBIG) tutorials/tutorials.xml + +htmlhelp: $(OUTPUT_DIR_HTMLHELP) + - $(XSLTPROC) -o $(OUTPUT_DIR_HTMLHELP)/tutorials.html $(XSLSTYLESHEET_HTMLHELP) tutorials/tutorials.xml + - $(HHC) $(OUTPUT_DIR_HTMLHELP)/htmlhelp.hhp + +cleanoutput: tools + - $(RM) $(OUTPUT_DIR_HTMLBIG)/*.html + - $(RM) $(OUTPUT_DIR_HTMLCHUNK)/*.html + - $(RM) $(OUTPUT_DIR_HTMLHELP)/*.html + - $(RM) $(OUTPUT_DIR_HTMLHELP)/*.hhp + - $(RM) $(OUTPUT_DIR_HTMLHELP)/*.chm + - $(RM) $(OUTPUT_DIR_HTMLHELP)/*.hhc + - $(RMDIR) $(OUTPUT_DIR_HTMLHELP) + - $(RMDIR) $(OUTPUT_DIR_HTMLBIG) + - $(RMDIR) $(OUTPUT_DIR_HTMLCHUNK) + - $(RMDIR) $(OUTPUT_DIR) + +clean: cleanoutput tools_clean + + +$(OUTPUT_DIR_HTMLBIG): $(OUTPUT_DIR) + - $(RMKDIR) $(OUTPUT_DIR_HTMLBIG) + +$(OUTPUT_DIR_HTMLCHUNK): $(OUTPUT_DIR) + - $(RMKDIR) $(OUTPUT_DIR_HTMLCHUNK) + +$(OUTPUT_DIR_HTMLHELP): $(OUTPUT_DIR) + - $(RMKDIR) $(OUTPUT_DIR_HTMLHELP) + +$(OUTPUT_DIR): + - $(RMKDIR) $(OUTPUT_DIR) + +.PHONY: all htmlbig htmlchunk htmlhelp cleanoutput clean + +include rules.mk diff --git a/rosdocs/doxygen/win32k.cfg b/rosdocs/doxygen/win32k.cfg new file mode 100644 index 0000000..7e3ecb0 --- /dev/null +++ b/rosdocs/doxygen/win32k.cfg @@ -0,0 +1,217 @@ +# Doxyfile 1.3-rc2 + +#--------------------------------------------------------------------------- +# General configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "Win32k subsystem" +PROJECT_NUMBER = +OUTPUT_DIRECTORY = win32k/ +OUTPUT_LANGUAGE = English +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +EXTRACT_LOCAL_CLASSES = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = YES +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = YES +CASE_SENSE_NAMES = YES +SHORT_NAMES = NO +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +DISTRIBUTE_GROUP_DOC = NO +TAB_SIZE = 4 +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ALIASES = +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +OPTIMIZE_OUTPUT_FOR_C = NO +OPTIMIZE_OUTPUT_JAVA = NO +SHOW_USED_FILES = YES +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = win32k.log +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = ../../reactos/subsys/win32k/ +FILE_PATTERNS = +RECURSIVE = YES + +#ei: if you want to add freetype information uncomment this line +#EXCLUDE = +#ei: and comment out this line +EXCLUDE = ../../reactos/subsys/win32k/freetype/ + +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = YES +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = NO +COLS_IN_ALPHA_INDEX = 3 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = ./ +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES + +#ei: if you want to generate compiled html help (chm) change NO to YES in the next line +GENERATE_HTMLHELP = NO +CHM_FILE = ./win32k.chm +#ei: and set the correct path to the help compiler +HHC_LOCATION = "F:/Program Files/HTML Help Workshop/hhc.exe" + +GENERATE_CHI = NO +BINARY_TOC = YES +TOC_EXPAND = YES +DISABLE_INDEX = NO +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = YES +TREEVIEW_WIDTH = 250 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +USE_PDFLATEX = NO +LATEX_BATCHMODE = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_SCHEMA = +XML_DTD = +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = ../../reactos/include/ \ + ../../reactos/ntoskrnl/include/ +INCLUDE_FILE_PATTERNS = +PREDEFINED = +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = YES +HIDE_UNDOC_RELATIONS = YES +#ei: if you want to see cool graphs in the documents change NO to YES +HAVE_DOT = NO + +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +TEMPLATE_RELATIONS = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +DOT_IMAGE_FORMAT = png + +#ei: set the correct path to graphviz installation +#ei: which you can obtain from: http://www.research.att.com/sw/tools/graphviz/download.html +DOT_PATH = I:/Dev/tools/doxygen/ATT/Graphviz/bin + +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO +CGI_NAME = search.cgi +CGI_URL = +DOC_URL = +DOC_ABSPATH = +BIN_ABSPATH = /usr/local/bin/ +EXT_DOC_PATHS = diff --git a/api/.gitignore b/rosdocs/doxygen/win32k/keep.me similarity index 100% rename from api/.gitignore rename to rosdocs/doxygen/win32k/keep.me diff --git a/rosdocs/dtd/docbook-xml-4.1.2/40chg.txt b/rosdocs/dtd/docbook-xml-4.1.2/40chg.txt new file mode 100644 index 0000000..f1c720a --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/40chg.txt @@ -0,0 +1,53 @@ +19 June 2000 + +Changes from DocBook V3.1 to DocBook XML V4.1: + +Global: + +- Broad changes required for XML compatibility +- Added a *provisional* set of character entities based on the ISO + entity sets. The DocBook TC is not willing to accept the long-term + responsibility for defining and maintaining these sets. The TC + will ask OASIS to form a new TC for this purpose. + +Markup: + +- RFE 17: Added a common attribute 'Condition' for generic effectivity +- RFE 38: The nav.class elements (ToC|LoT|Index|Glossary|Bibliography) are + now allowed at the beginning and end of components and sections +- RFE 58: The 'optmult' and 'reqmult' attribute values have been + removed from Group +- RFE 65: Added several class attribute values to Filename and SystemItem + at the request of the Linux community +- RFE 73: Removed BookBiblio and SeriesInfo +- RFE 81: Added SidebarInfo to Sidebar +- RFE 87: Added 'xmlpi' and 'emptytag' as class values of SGMLTag +- RFE 92: Added 'CO' to Synopsis and LiteralLayout +- RFE 99: Added SimpleMsgEntry as an alternative to MsgEntry in order + to provide a simpler MsgSet construct +- RFE 103: Added RevDescription as an alternative to RevRemark in + RevHistory; this allows longer descriptive text in a revision +- RFE 104: Added 'Specification' to the list of document classes on Article +- RFE 108: Allow admonitions in Answers +- RFE 110: Allow a RevHistory on QandAEntry +- RFE 115: Allow optional Title on OrderedList and ItemizedList +- RFE 116: Added LineNumbering attribute to linespecific environments for + presentation of line numbers +- Added a common attribute 'Security' for effectivity +- Added synopsis markup for modern programming languages (e.g, object + oriented languages like Java, C++, and IDL) +- Renamed DocInfo to PrefaceInfo, ChapterInfo, AppendixInfo, etc. +- Comment was renamed Remark +- InterfaceDefinition was removed + +Other: + +- RFE 88: Added PEs to include/ignore dbnotn.mod and dbcent.mod +- RFE 102: Fixed some outstanding namecase problems +- RFE 105: Added PNG notation +- RFE 106: Removed some odd *.content PEs that interfered with + customization layers +- RFE 109: Added FPI to content of dbgenent.mod (for consistency) +- RFE 111: Added the Euro symbol +- Fixed bug in cals-tbl.dtd; a model group was used for the element + declaration, but the attlist declaration used "Table" literally. diff --git a/rosdocs/dtd/docbook-xml-4.1.2/41chg.txt b/rosdocs/dtd/docbook-xml-4.1.2/41chg.txt new file mode 100644 index 0000000..4bb6b91 --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/41chg.txt @@ -0,0 +1,18 @@ +27 Aug 2000 + +Changes from DocBook V4.1.1 to DocBook V4.1.2: + +- Fixed broken ISO FPIs in docbook.cat introduced by + careless search-and-replace. + +Changes from DocBook V4.0 to DocBook V4.1.1: + +- Removed some 4.0 future use comments that had accidentally + been left in the DTD +- Fixed system identifiers in docbook.cat +- Added version information to all the ent/*.ent files +- Fixed a number of numeric character references in the ent/*.ent files +- Fixed a couple of incorrect FPIs. +- Renamed dbgenent.ent to dbgenent.mod for parity with SGML version + +See 40chg.txt for a list of the significant changes. diff --git a/rosdocs/dtd/docbook-xml-4.1.2/ChangeLog b/rosdocs/dtd/docbook-xml-4.1.2/ChangeLog new file mode 100644 index 0000000..b203c1b --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/ChangeLog @@ -0,0 +1,118 @@ +2000-08-27 Norman Walsh + + * 41chg.txt, readme.txt: Updated descriptions + + * calstblx.dtd, dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat: + Updated version numbers + + * docbook.cat: Fixed stupid search-and-replace error in ISO FPIs + + * docbookx.dtd: DocBook XML V4.1.2 released + +2000-08-12 Norman Walsh + + * 40chg.txt: Updated; changed version number + + * 41chg.txt: Added note about renaming dbgenent + + * 41chg.txt, readme.txt: Updated; changed version number, release date + + * calstblx.dtd, dbcentx.mod, dbgenent.ent, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat: + Changed version number + + * dbgenent.ent, dbgenent.mod: Renamed .ent to .mod + + * docbookx.dtd: DocBook XML V4.1.1 released + + * docbookx.dtd: Fixed system identifier for dbgenent.ent to dbgenent.mod + +2000-07-06 Norman Walsh + + * 40chg.txt, 41chg.txt, calstblx.dtd, dbcentx.mod, dbgenent.ent, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, readme.txt: + Changed version numbers to 4.1.1beta1 + + * docbook.cat: Fixed incorrect system identifiers + + * docbookx.dtd: Version 4.1.1beta1 released + +2000-06-19 Norman Walsh + + * 40chg.txt: Added notes about comment and interfacedefinition + + * 41chg.txt: New file. + + * calstblx.dtd, dbcentx.mod, dbgenent.ent, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat, docbookx.dtd, readme.txt: + Updated version numbers to 4.1 + + * dbgenent.ent: Fixed FPI; added 'XML' + + * dbhierx.mod: Removed 4.0 future use comments + + * dbpoolx.mod: Removed 4.0 future use comments; fixed table model selection comment; fixed 'Norman Walsh' FPIs + + * docbook.cat: New file. + +2000-05-18 Norman Walsh + + * 40chg.txt, calstblx.dtd, dbcentx.mod, dbgenent.ent, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbookx.dtd, readme.txt: + Removed references to beta6 + + * docbookx.dtd: DocBook XML V4.0 released. + +2000-04-10 Norman Walsh + + * 40chg.txt, calstblx.dtd, dbcentx.mod, dbgenent.ent, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbookx.dtd, readme.txt: + Updated release date and version to 4.0beta6 + + * dbpoolx.mod: Added support for EBNF hook; fixed equation content bug + +2000-04-03 Norman Walsh + + * 40chg.txt: Added note about renaming DocInfo to *Info. + + * 40chg.txt, calstblx.dtd, dbcentx.mod, dbgenent.ent, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbookx.dtd, readme.txt: + Updated version numbers + +2000-03-30 Norman Walsh + + * dbpoolx.mod: Removed beginpage from highlights.mix; it's excluded in the SGML version. + +2000-03-24 Norman Walsh + + * 40chg.txt, calstblx.dtd, dbcentx.mod, dbgenent.ent, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbookx.dtd, readme.txt: + Updated version numbers + + * dbefsyn.mod: Removed + + * dbpoolx.mod: Removed ELEMENT from comments to ease text searching of the DTD. + Merged dbefsyn.mod into dbpoolx.mod + Added Modifier as an optional element at the end of MethodSynopsis + and MethodParam. + +2000-03-07 Norman Walsh + + * 40chg.txt: New file. + + * 40chg.txt, calstblx.dtd, dbcentx.mod, dbgenent.ent, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbookx.dtd, readme.txt, soextblx.dtd: + Updated internal versions to beta3 + +2000-03-03 Norman Walsh + + * dbpoolx.mod: Removed erroneous comment about inline synopses + +2000-03-02 Norman Walsh + + * calstblx.dtd, dbcentx.mod, dbefsyn.mod, dbgenent.ent, dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbookx.dtd, readme.txt, soextblx.dtd: + New file. + + * dbefsyn.mod, dbpoolx.mod: Added ooclass, oointerface, and ooexception as wrappers for modifiers + and names in classsynopsis. Also allow them inline. + + Fixed SGML PE parsing problem with hook PEs. + + * dbhierx.mod, dbpoolx.mod: Added hook PEs for future module extension + + * dbpoolx.mod: Removed unused PEs for equation content + + * dbpoolx.mod: Made primary optional (XML has no #CONREF) + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/calstblx.dtd b/rosdocs/dtd/docbook-xml-4.1.2/calstblx.dtd new file mode 100644 index 0000000..dfc4e7a --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/calstblx.dtd @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/dbcentx.mod b/rosdocs/dtd/docbook-xml-4.1.2/dbcentx.mod new file mode 100644 index 0000000..407828c --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/dbcentx.mod @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + +%ISOamsa; +]]> + + + +%ISOamsb; +]]> + + + +%ISOamsc; +]]> + + + +%ISOamsn; +]]> + + + +%ISOamso; +]]> + + + +%ISOamsr; +]]> + + + +%ISObox; +]]> + + + +%ISOcyr1; +]]> + + + +%ISOcyr2; +]]> + + + +%ISOdia; +]]> + + + +%ISOgrk1; +]]> + + + +%ISOgrk2; +]]> + + + +%ISOgrk3; +]]> + + + +%ISOgrk4; +]]> + + + +%ISOlat1; +]]> + + + +%ISOlat2; +]]> + + + +%ISOnum; +]]> + + + +%ISOpub; +]]> + + + +%ISOtech; +]]> + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/dbgenent.mod b/rosdocs/dtd/docbook-xml-4.1.2/dbgenent.mod new file mode 100644 index 0000000..5dc9a41 --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/dbgenent.mod @@ -0,0 +1,41 @@ + + + + + + + + + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/dbhierx.mod b/rosdocs/dtd/docbook-xml-4.1.2/dbhierx.mod new file mode 100644 index 0000000..2b62c61 --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/dbhierx.mod @@ -0,0 +1,2074 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +%rdbhier; +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +%rdbhier2; +]]> + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> +]]> + + + + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + + + +]]> +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> + +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> + +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + +]]> + + + +]]> + + + + + + +]]> + + + +]]> + + + + + + +]]> + + + +]]> + + + + + + +]]> + + + +]]> + + + + + + +]]> + + + +]]> + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + + + +]]> + + + +]]> + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + + + +]]> + + + +]]> + + + + + +]]> + + + +]]> + + + + + +]]> + +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> +]]> + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + + + + +]]> + + + + + + + +]]> +]]> + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/dbnotnx.mod b/rosdocs/dtd/docbook-xml-4.1.2/dbnotnx.mod new file mode 100644 index 0000000..ef0d437 --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/dbnotnx.mod @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/dbpoolx.mod b/rosdocs/dtd/docbook-xml-4.1.2/dbpoolx.mod new file mode 100644 index 0000000..50b3615 --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/dbpoolx.mod @@ -0,0 +1,7516 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +%rdbpool; +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + + +]]> +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> + +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> + + + + +]]> + + + +]]> + + + + +]]> + + + +]]> + + + + +]]> + + + +]]> + + + + +]]> + + + +]]> + +]]> + + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> +]]> + + + + + + + + + +]]> + + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + + +]]> + + + + + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> +]]> + + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> + +]]> + + + + + + + + +]]> + + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + + +]]> +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> + +]]> + + + + + + + +]]> + + + +]]> + + +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + + +]]> +]]> + + + + + + + +]]> + + + +]]> + + +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + + + + + +]]> + + + + + + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + + + + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + +]]> + +%tablemodel; + +]]> + + + + + + + + +]]> + + + + + + + + + +]]> +]]> + + + + + + + + + + + + +]]> + + + +]]> + + +]]> + + + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + + + +]]> + + + +]]> + ]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + + + +]]> + + + +]]> + ]]> + + +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> + +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + +]]> + + + +]]> + ]]> + + + ]]> + + + + +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + + + +]]> + + + +]]> + ]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + +]]> + + + +]]> + ]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> + +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> + +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + +]]> + + + +]]> + ]]> + + + + + + + +]]> + + + +]]> + ]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> + ]]> + + +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + +]]> + + + + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + + + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + + + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + +]]> +]]> + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + + + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + +]]> + + + +]]> + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + +]]> +]]> + + + + + + + + + +]]> + + + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + + +]]> +]]> + + + + + + + + + +]]> + + + + + + + +]]> +]]> + + + + + + + +]]> + + + + + + +]]> +]]> + + + + + + + + + + +]]> + + + + + + + + + + +]]> +]]> + + + + + + + + +]]> + + + + +]]> + + + + +]]> + + + + +]]> + + + + +]]> + + + + +]]> + +]]> + + + + + + + +]]> + + + +]]> + + + +]]> + + + +]]> +]]> +]]> + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/docbook.cat b/rosdocs/dtd/docbook-xml-4.1.2/docbook.cat new file mode 100644 index 0000000..c24e5df --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/docbook.cat @@ -0,0 +1,59 @@ + -- ...................................................................... -- + -- Catalog data for DocBook XML V4.1.2 .................................... -- + -- File docbook.cat ..................................................... -- + + -- Please direct all questions, bug reports, or suggestions for + changes to the docbook@lists.oasis-open.org mailing list. For more + information, see http://www.oasis-open.org/. + -- + + -- This is the catalog data file for DocBook XML V4.1.2. It is provided as + a convenience in building your own catalog files. You need not use + the filenames listed here, and need not use the filename method of + identifying storage objects at all. See the documentation for + detailed information on the files associated with the DocBook DTD. + See SGML Open Technical Resolution 9401 for detailed information + on supplying and using catalog data. + -- + + -- ...................................................................... -- + -- DocBook driver file .................................................. -- + +PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "docbookx.dtd" + + -- ...................................................................... -- + -- DocBook modules ...................................................... -- + +PUBLIC "-//OASIS//DTD DocBook XML CALS Table Model V4.1.2//EN" "calstblx.dtd" +PUBLIC "-//OASIS//DTD XML Exchange Table Model 19990315//EN" "soextblx.dtd" +PUBLIC "-//OASIS//ELEMENTS DocBook XML Information Pool V4.1.2//EN" "dbpoolx.mod" +PUBLIC "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.1.2//EN" "dbhierx.mod" +PUBLIC "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.1.2//EN" "dbgenent.mod" +PUBLIC "-//OASIS//ENTITIES DocBook XML Notations V4.1.2//EN" "dbnotnx.mod" +PUBLIC "-//OASIS//ENTITIES DocBook XML Character Entities V4.1.2//EN" "dbcentx.mod" + + -- ...................................................................... -- + -- ISO entity sets ...................................................... -- + +PUBLIC "ISO 8879:1986//ENTITIES Diacritical Marks//EN" "ent/iso-dia.ent" +PUBLIC "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN" "ent/iso-num.ent" +PUBLIC "ISO 8879:1986//ENTITIES Publishing//EN" "ent/iso-pub.ent" +PUBLIC "ISO 8879:1986//ENTITIES General Technical//EN" "ent/iso-tech.ent" +PUBLIC "ISO 8879:1986//ENTITIES Added Latin 1//EN" "ent/iso-lat1.ent" +PUBLIC "ISO 8879:1986//ENTITIES Added Latin 2//EN" "ent/iso-lat2.ent" +PUBLIC "ISO 8879:1986//ENTITIES Greek Letters//EN" "ent/iso-grk1.ent" +PUBLIC "ISO 8879:1986//ENTITIES Monotoniko Greek//EN" "ent/iso-grk2.ent" +PUBLIC "ISO 8879:1986//ENTITIES Greek Symbols//EN" "ent/iso-grk3.ent" +PUBLIC "ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN" "ent/iso-grk4.ent" +PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN" "ent/iso-amsa.ent" +PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN" "ent/iso-amsb.ent" +PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN" "ent/iso-amsc.ent" +PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN" "ent/iso-amsn.ent" +PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN" "ent/iso-amso.ent" +PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN" "ent/iso-amsr.ent" +PUBLIC "ISO 8879:1986//ENTITIES Box and Line Drawing//EN" "ent/iso-box.ent" +PUBLIC "ISO 8879:1986//ENTITIES Russian Cyrillic//EN" "ent/iso-cyr1.ent" +PUBLIC "ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN" "ent/iso-cyr2.ent" + + -- End of catalog data for DocBook XML V4.1.2 ............................. -- + -- ...................................................................... -- diff --git a/rosdocs/dtd/docbook-xml-4.1.2/docbookx.dtd b/rosdocs/dtd/docbook-xml-4.1.2/docbookx.dtd new file mode 100644 index 0000000..7ff277f --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/docbookx.dtd @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + +%dbnotn; +]]> + + + + + + + +%dbcent; +]]> + + + + + + + + +%dbpool; +]]> + + + + + + +%rdbmods; +]]> + + + + + +%dbhier; +]]> + + + + + + +%dbgenent; +]]> + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amsa.ent b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amsa.ent new file mode 100644 index 0000000..1b64b46 --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amsa.ent @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amsb.ent b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amsb.ent new file mode 100644 index 0000000..38bd2e7 --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amsb.ent @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amsc.ent b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amsc.ent new file mode 100644 index 0000000..8485fe3 --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amsc.ent @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amsn.ent b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amsn.ent new file mode 100644 index 0000000..7e9d578 --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amsn.ent @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amso.ent b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amso.ent new file mode 100644 index 0000000..61f5c4d --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amso.ent @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amsr.ent b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amsr.ent new file mode 100644 index 0000000..9ef9da0 --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-amsr.ent @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-box.ent b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-box.ent new file mode 100644 index 0000000..1f87530 --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-box.ent @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-cyr1.ent b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-cyr1.ent new file mode 100644 index 0000000..2516f8e --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-cyr1.ent @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-cyr2.ent b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-cyr2.ent new file mode 100644 index 0000000..3edbde0 --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-cyr2.ent @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-dia.ent b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-dia.ent new file mode 100644 index 0000000..3a4b55c --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-dia.ent @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-grk1.ent b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-grk1.ent new file mode 100644 index 0000000..b040985 --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-grk1.ent @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-grk2.ent b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-grk2.ent new file mode 100644 index 0000000..63de411 --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-grk2.ent @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-grk3.ent b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-grk3.ent new file mode 100644 index 0000000..b59c53c --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-grk3.ent @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-grk4.ent b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-grk4.ent new file mode 100644 index 0000000..ace7c81 --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-grk4.ent @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-lat1.ent b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-lat1.ent new file mode 100644 index 0000000..2ec16ff --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-lat1.ent @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-lat2.ent b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-lat2.ent new file mode 100644 index 0000000..e94ec18 --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-lat2.ent @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-num.ent b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-num.ent new file mode 100644 index 0000000..7f4844c --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-num.ent @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-pub.ent b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-pub.ent new file mode 100644 index 0000000..56ede36 --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-pub.ent @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-tech.ent b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-tech.ent new file mode 100644 index 0000000..7264f6b --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/ent/iso-tech.ent @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/dtd/docbook-xml-4.1.2/readme.txt b/rosdocs/dtd/docbook-xml-4.1.2/readme.txt new file mode 100644 index 0000000..383f7fe --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/readme.txt @@ -0,0 +1,16 @@ +README for DocBook XML V4.1.2 + +This is DocBook XML V4.1.2, released 27 Aug 2000. + +See 41chg.txt for information about what has changed since DocBook 4.0. + +For more information about DocBook, please see + + http://www.oasis-open.org/docbook/ + +a partial mirror of the official DocBook site is available at + + http://docbook.org/ + +Please send all questions, comments, concerns, and bug reports to the +DocBook mailing list: docbook@lists.oasis-open.org diff --git a/rosdocs/dtd/docbook-xml-4.1.2/soextblx.dtd b/rosdocs/dtd/docbook-xml-4.1.2/soextblx.dtd new file mode 100644 index 0000000..e4ea0ed --- /dev/null +++ b/rosdocs/dtd/docbook-xml-4.1.2/soextblx.dtd @@ -0,0 +1,308 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/readme.dbk b/rosdocs/readme.dbk new file mode 100644 index 0000000..56be66c --- /dev/null +++ b/rosdocs/readme.dbk @@ -0,0 +1,221 @@ + + +
+ RosDocs Primer + + $Id$ + + KJK::Hyperion + + your beloved librarian + + + + 2003 + Reactos Development Team + + + + 1.1 + 2003-06-03 + EA + + Converted to Docbook 4.1.2. + + + + 1.0 + 2003-01-20 + KH + + initial version + + + + + + FOREWORD + This document should be written in RosDocs, to demonstrate its power. But since RosDocs is, let's be frank, + vaporware, and since I'm still looking for an XML editor that 1) doesn't suck and 2) + isn't written in Java (but this is a bit redundant), and since I was supposed + to finish this document some two weeks ago, hand-formatted plaintext wins, for the moment. It should be a matter of half a + hour with lex+yacc to write a converter. + Also note that "Win32" and "NT" are trademarked. In this document you'll never find mentions of + "Win32" or "NT", but "Ros32" and "Native" - and you're encouraged to do the same, except + when exclusively talking about Microsoft's implementation (for example, to document a function's availability on + various Microsoft products). In abbreviations and identifiers, don't use "w32", "win32" or "nt", + except for Microsoft-specific code and documentation, or as an abbreviation of the families of system calls (i.e. Nt*, + NtUser* and W32k*) - in all other cases, use "r32", "ros32" and "ntv", respectively. Avoid using + "Windows" in the same contexts as well - use "ReactOS". And remember that Alphonse Capone wasn't jailed + for extortion and mass murder, but for tax evasion. + + + CONCEPTS + RosDocs, in its current incarnation, is a fairly complex documentation system, but that can still be managed and + authored with simple and promptly available tools, such as text editors and file managers (yet allowing for more + sophisticated tools to be developed in the future). + It's not vital to grasp all the concepts behind RosDocs to start authoring documentation for the ReactOS project, + since one of the tenets of RosDocs is the strict separation between content, storage and presentation. Should any of the + three be found flawed, the other two wouldn't need to be throwed away as well. + Let's spend a few more words about content, storage and presentation:CONTENTThere's + two ways to add content to RosDocs:Doxygen commentsIf you're + going to write reference pages (think Unix man pages), this is the format you should get accostumed to. It consists of + special comments, containing markup that a tool called Doxygen can extract into a variety of formats. If you already know + JavaDoc, or the QT comment-based documentation system, Doxygen supports those as well.There's currently no + strict guidelines, since RosDocs is still being planned, so you have a great deal of freedom. Don't abuse it, though. + Avoid any structural markup, except paragraphs, lists, etc. And, at the moment, don't worry about storage as discussed + in another section of this document.DocBook XML documentsDoxygen + can be abused to write manuals and books, but a better long-term solution is learning the DocBook XML DTD. You can also use + DocBook for reference pages, but Doxygen is preferred for that. Also note that, at the moment, reference pages are more + important than guides.No guidelines yet for DocBook, either. In general, don't write books yet. Limit + yourself to articles. A good starting point is writing short tutorials for the Knowledge Base, since no earth-shaking + changes are expected in that field.STORAGEThis + is where things get tough. Remember, though, that this specification is draft at best. Future directions include:support + for DocBook books;filling the text of hyperlinks with the title of the target topic;SELECT + queries, resolved at compile-time, to build tables of links.All things that, with the very + strict decoupling of content and storage outlined here, would be impossible, or involve run-time processing. For this + reason, limit yourself to reference pages and Knowledge Base articles. Guides, overviews and examples can wait.That + said, here are the storage concepts of RosDocs:DOMAINSIf you are + familiar with other schemes featuring domains, such as Internet host names, or the Java third-party classes, this is nearly + the same. Otherwise, read on.Since some package names are awfully common, and since third-party contributions + are encouraged, it's necessary to compartment package names on a vendor, product and, for complex products, feature + basis. Such namespaces are encoded as follows:[ [ <vendor-specific subdivision>. + ]<scope>. ]<vendor>The + scope can be a product or book name, as in the following examples:ReactOS + Platform SDK: psdk.reactos;GCC manual: gcc.fsf;Bruce + Eckel's Thinking in C++: ticpp.eckel.Further, optional + subdivisions are possible:GCC internals manual: guts.gcc.fsf.Note, + however, that, at the moment, only the following domains are accepted:psdk.reactos (ReactOS + Platform SDK);ssdk.reactos (ReactOS Subsystem Development Kit);ddk.reactos + (ReactOS Driver Development Kit);kb.reactos (ReactOS Knowledge Base).PACKAGESPackages + are collections of topics and indexes. They are the base unit of storage. A package may additionally contain one or more of + the following items:secondary indexes;a + table of contents;configuration metadata.Packages + are an interface that exposes topics and indexes, they don't dictate a specific implementation, neither in their + "source" nor in their "compiled" form. Possible implementations of the compiled form ("engines") + include:database on a remote server;filesystem + directorycompressed archive.There's + no well-defined standard for the source form yet, but it's expected to be a derivative of DocBook XML. Third parties can + obviously choose other formats than the future standard for the source form, but official ReactOS documentation will have to + be written in the standard.For your documentation, you're free to organize your topics in as many packages + as you like. For ReactOS books and manuals, the following packages are defined:psdk.reactos domain:ros32.The Ros32 + subsystem's structure and boot sequence; the RPC APIs to the Windows and Console servers; general considerations on the + API;err.Ros32 error codes; messages, parameters + and meanings;base.Basic Ros32 APIs. These + include file, device and console I/O and control; registry, memory, handles, thread, process and service management; DLL + loading; and basic error handling;ui.Basic Ros32 + user interface APIs. These include windows, MDI windows, window classes, resources, hooks, DDE, keyboard and mouse input, + and standard controls;gdi.Ros32 GDI and printer + spooler APIs;rtl.Ros32 Runtime Library support. + These include string formatting, large integer support and interlocked memory access;ipc.Ros32 + APIs to synchronization objects, shared memory, named and anonymous pipes, and mailslots;sec.Ros32 + interfaces to access control; standard access rights for Ros32 object types; GINA API and implementation; Network Providers + API and implementation; general security considerations and guidelines;dbg.Ros32 + debugger API; Ros32 SEH support;psapi.Process + Status Helper API;tlhlp.Tool Helper API;commdlg.Common + Dialog Box Library;commctrl.Common Controls + Library.ssdk.reactos + domain:ntv.ReactOS Native architecture; system structure and boot + sequence; RPC API to the Base server; the Process Environment Block; the Thread Environment Block; the Kernel/User Shared + Data;err.NTSTATUS error codes; messages, + parameters and meanings;obj.Native objects and + handles; overview of predefined object types; Object Manager basics; the system objects namespace;sec.The + Native security model; explanation of token objects; SIDs, ACEs and ACLs; generic access rights; standard access rights for + kernel object types;seh.Structured Exception + Handling internals;lpc.The Local Procedure Call + protocol;dbg.Debugging interfaces, both kernel + and user mode; the debugger LPC protocol;ntzw.System + calls (Nt* and Zw*), both kernel and user mode;rtl.Runtime + library interfaces, both kernel and user mode; list of supported C runtime interfaces, both kernel and user mode;ldr.The + PE Loader API (Ldr*), both kernel and user mode;csr.The + Client-Server Runtime API (Csr*); server modules API and implementation;nls.National + Language Support API (Nls*), both kernel and user mode;ntuser.Native + User Interface (NtUser*) system calls, both kernel and user mode;w32k.Native + GDI (W32k*) system calls, both kernel and user mode;peexe.Structure + and semantics of the PE executable format.ddk.reactos domain:err.Bugcheck codes; + messages, parameters and meanings;ke.The Kernel; + architecture and API;hal.The Hardware + Abstraction Layer; architecture and API;cc.The + Cache Manager subsystem; architecture and API;cm.The + Configuration Manager subsystem; architecture and API; implemented object types;ex.The + Executive Support subsystem; architecture and API; implemented object types;io.The + I/O Manager subsystem; architecture and API; implemented object types;kd.Kernel + debugging; protocols and API;ki.Predefined + interrupt handlers;lpc. The Local Procedure Call + subsystem; architecture and API; implemented object types;mm.The + Virtual Memory Manager subsystem; architecture and API; implemented object types;ob. + The Object Manager subsystem; architecture and API; implemented object types;ps.The + Process Structure Manager subsystem; architecture and API; implemented object types;se.The + Security Reference Monitor subsystem; architecture and API; iimplemented object types.TOPICSTopics + are the base unit of documentation. They contain the actual content, and are organized in physical units of storage called + packages.[placeholder]INDEXESIndexes + are an addressing mechanism to retrieve a topic from a package. Addresses in an index are strings, called keys, associated + to each topic in their source form. There's essentially two kinds of indexes:Identification + indexes. They provide a many-to-one mapping between keys and topics. That is, a topic can be pointed at by one or more keys + in the same identification index. Identification indexes are typically used for unambiguous identification of topics.Currently, + a number of predefined identification indexes are defined. There's a strong bias towards developer's documentation + at the moment, but it will be solved by specializing generic indexes. Here are the generic identification indexes currently + defined:page. Self-contained documents containing detailed + information about a specific topic. Examples include Knowledge Base articles, reference pages of user commands, library + functions, etc. They usually contain links to related references or sections;section.Any + topic with structural meaning, i.e. not self-contained. They usually contain links to child sections or references.For + developer's documentation, the following specialization of the section index are defined:subsection.A + subsection of strongly-related topics;overview.Pages + containing general information about a subsection;example.Pages + containing code samples about a subsection;reference.Pages + with an index of detailed information about a subsection. The distinction between "overview", "example" and + "reference" indexes is necessary to simplify authoring, since, this way, the root subnodes of a subsection can be + given the same key, as in the following example: TOC | Index[key] +---------------------------+----------------------------- + User Interface | <none> + + ReactOS User Interface | section[rosui] + + Windowing | section[windowing] + + Windows | subsection[windows] + + Overview | overview[windows] + + Examples | example[windows] + + Reference | reference[windows]For an analogous reason, there's a further + specialization for child nodes of reference sections to create indexes of functions, structures, macros, etc. These + specialized indexes are:functions.Functions other than class + methods;structures.Types + declared with the C/C++ struct or union constructs, and that have no methods;enumerations.Types + declared with the C/C++ enum construct;types.Integral, + array or pointer types with a special meaning;constants.Groups + of macros that comply with the following requirements:they have no parameters;they + can be fully evaluated at compile time;they are strongly related. For example, they are + interchangeable values for the same parameter, or flags, or both;they are referenced from + more than one reference page. If they are referenced just once, they must be documented in the page that references them.errors.Specialization + of the constants index. Constants used to return status codes;macros.Macros, + or groups of macros, that comply with at least one of the following requirements:they have + parameters;they are used for conditional compilation;they + are used as declaration modifiers;they have side effects.Function + aliases for type-generic string handling (_t* for the C runtime and *W/*A for the Ros32 API) are excluded, and must be + documented as functions (in all their possible variants for the C runtime, and in their type-generic form for the Ros32 + API). Macros returning l-values (e.g. errno) should be listed in the objects index;interfaces.Abstract + classes;classes.Classes with an implementation;objects.Statically + allocated memory objects. The type of such objects should be documented separatedly;messages.Window + messages;notifications.Window messages delivered + through WM_NOTIFY.guide.Root + node of a guide/how-to/tutorial.Search + indexes. They provide a one-to-many mapping between keys and topics. That is, a key in a search index can point to one or + more topics. Search indexes are typically used for keyword searches among many topics[placeholder]TOCS[placeholder]CATALOGS[placeholder]PRESENTATION + + + AUTHORING + [placeholder] + + USING DOXYGEN + [placeholder] + + + USING DOCBOOK + [placeholder] + + + GUIDELINES + [placeholder] + + +
\ No newline at end of file diff --git a/rosdocs/readme.txt b/rosdocs/readme.txt new file mode 100644 index 0000000..a12912e --- /dev/null +++ b/rosdocs/readme.txt @@ -0,0 +1,391 @@ +================== += ROSDOCS PRIMER = +================== [by your beloved librarian KJK::Hyperion] + +HISTORY +======= +20 Jan 2003: initial version + +FOREWORD +======== + This document should be written in RosDocs, to demonstrate its power. But +since RosDocs is, let's be frank, vaporware, and since I'm still looking for an +XML editor that 1) doesn't suck and 2) isn't written in Java (but this is a bit +redundant), *and* since I was supposed to finish this document some two weeks +ago, hand-formatted plaintext wins, for the moment. It should be a matter of +half a hour with lex+yacc to write a converter + + Also note that "Win32" and "NT" are trademarked. In this document you'll +never find mentions of "Win32" or "NT", but "Ros32" and "Native" - and you're +encouraged to do the same, except when exclusively talking about Microsoft's +implementation (for example, to document a function's availability on various +Microsoft products). In abbreviations and identifiers, don't use "w32", "win32" +or "nt", except for Microsoft-specific code and documentation, or as an +abbreviation of the families of system calls (i.e. Nt*, NtUser* and W32k*) - +in all other cases, use "r32", "ros32" and "ntv", respectively. Avoid using +"Windows" in the same contexts as well - use "ReactOS". And remember that +Alphonse Capone wasn't jailed for extortion and mass murder, but for tax +evasion + +CONCEPTS +======== + RosDocs, in its current incarnation, is a fairly complex documentation +system, but that can still be managed and authored with simple and promptly +available tools, such as text editors and file managers (yet allowing for more +sophisticated tools to be developed in the future) + + It's not vital to grasp all the concepts behind RosDocs to start authoring +documentation for the ReactOS project, since one of the tenets of RosDocs is the +strict separation between content, storage and presentation. Should any of the +three be found flawed, the other two wouldn't need to be throwed away as well + + Let's spend a few more words about content, storage and presentation: + +CONTENT +------- + There's two ways to add content to RosDocs: + + - Doxygen comments. If you're going to write reference pages (think Unix man + pages), this is the format you should get accostumed to. It consists of + special comments, containing markup that a tool called Doxygen can extract + into a variety of formats. If you already know JavaDoc, or the QT comment- + based documentation system, Doxygen supports those as well + + There's currently no strict guidelines, since RosDocs is still being planned, + so you have a great deal of freedom. Don't abuse it, though. Avoid any + structural markup, except paragraphs, lists, etc. And, at the moment, don't + worry about storage as discussed in another section of this document + + - DocBook XML documents. Doxygen can be abused to write manuals and books, but + a better long-term solution is learning the DocBook XML DTD. You can also use + DocBook for reference pages, but Doxygen is preferred for that. Also note + that, at the moment, reference pages are more important than guides + + No guidelines yet for DocBook, either. In general, don't write books yet. + Limit yourself to articles. A good starting point is writing short tutorials + for the Knowledge Base, since no earth-shaking changes are expected in that + field + +STORAGE +------- + This is where things get tough. Remember, though, that this specification is +draft at best. Future directions include: + + - support for DocBook books + - filling the text of hyperlinks with the title of the target topic + - SELECT queries, resolved at compile-time, to build tables of links + + All things that, with the very strict decoupling of content and storage +outlined here, would be impossible, or involve run-time processing. For this +reason, limit yourself to reference pages and Knowledge Base articles. Guides, +overviews and examples can wait + + That said, here are the storage concepts of RosDocs: + +DOMAINS + If you are familiar with other schemes featuring domains, such as Internet +host names, or the Java third-party classes, this is nearly the same. Otherwise, +read on + + Since some package names are awfully common, and since third-party +contributions are encouraged, it's necessary to compartment package names on a +vendor, product and, for complex products, feature basis. Such namespaces are +encoded as follows: + +[ [ . ]. ] + + The scope can be a product or book name, as in the following examples: + + - ReactOS Platform SDK: psdk.reactos + - GCC manual: gcc.fsf + - Bruce Eckel's Thinking in C++: ticpp.eckel + + Further, optional subdivisions are possible: + + - GCC internals manual: guts.gcc.fsf + + Note, however, that, at the moment, only the following domains are accepted: + + - psdk.reactos (ReactOS Platform SDK) + - ssdk.reactos (ReactOS Subsystem Development Kit) + - ddk.reactos (ReactOS Driver Development Kit) + - kb.reactos (ReactOS Knowledge Base) + +PACKAGES + Packages are collections of topics and indexes. They are the base unit of +storage. A package may additionally contain one or more of the following items: + + - secondary indexes + - a table of contents + - configuration metadata + + Packages are an interface that exposes topics and indexes, they don't +dictate a specific implementation, neither in their "source" nor in their +"compiled" form. Possible implementations of the compiled form ("engines") +include: + + - database on a remote server + - filesystem directory + - compressed archive + + There's no well-defined standard for the source form yet, but it's expected +to be a derivative of DocBook XML. Third parties can obviously choose other +formats than the future standard for the source form, but official ReactOS +documentation will have to be written in the standard + + For your documentation, you're free to organize your topics in as many +packages as you like. For ReactOS books and manuals, the following packages are +defined: + + - psdk.reactos domain: + + - ros32. The Ros32 subsystem's structure and boot sequence; the RPC APIs to + the Windows and Console servers; general considerations on the API + + - err. Ros32 error codes; messages, parameters and meanings + + - base. Basic Ros32 APIs. These include file, device and console I/O and + control; registry, memory, handles, thread, process and service + management; DLL loading; and basic error handling + + - ui. Basic Ros32 user interface APIs. These include windows, MDI windows, + window classes, resources, hooks, DDE, keyboard and mouse input, and + standard controls + + - gdi. Ros32 GDI and printer spooler APIs + + - rtl. Ros32 Runtime Library support. These include string formatting, + large integer support and interlocked memory access + + - ipc. Ros32 APIs to synchronization objects, shared memory, named and + anonymous pipes, and mailslots + + - sec. Ros32 interfaces to access control; standard access rights for Ros32 + object types; GINA API and implementation; Network Providers API and + implementation; general security considerations and guidelines + + - dbg. Ros32 debugger API; Ros32 SEH support + + - psapi. Process Status Helper API + + - tlhlp. Tool Helper API + + - commdlg. Common Dialog Box Library + + - commctrl. Common Controls Library + + - ssdk.reactos domain: + + - ntv. ReactOS Native architecture; system structure and boot sequence; RPC + API to the Base server; the Process Environment Block; the Thread + Environment Block; the Kernel/User Shared Data + + - err. NTSTATUS error codes; messages, parameters and meanings + + - obj. Native objects and handles; overview of predefined object types; + Object Manager basics; the system objects namespace + + - sec. The Native security model; explanation of token objects; SIDs, ACEs + and ACLs; generic access rights; standard access rights for kernel object + types + + - seh. Structured Exception Handling internals + + - lpc. The Local Procedure Call protocol + + - dbg. Debugging interfaces, both kernel and user mode; the debugger LPC + protocol + + - ntzw. System calls (Nt* and Zw*), both kernel and user mode + + - rtl. Runtime library interfaces, both kernel and user mode; list of + supported C runtime interfaces, both kernel and user mode + + - ldr. The PE Loader API (Ldr*), both kernel and user mode + + - csr. The Client-Server Runtime API (Csr*); server modules API and + implementation + + - nls. National Language Support API (Nls*), both kernel and user mode + + - ntuser. Native User Interface (NtUser*) system calls, both kernel and user + mode + + - w32k. Native GDI (W32k*) system calls, both kernel and user mode + + - peexe. Structure and semantics of the PE executable format + + - ddk.reactos domain: + + - err. Bugcheck codes; messages, parameters and meanings + + - ke. The Kernel; architecture and API + + - hal. The Hardware Abstraction Layer; architecture and API + + - cc. The Cache Manager subsystem; architecture and API + + - cm. The Configuration Manager subsystem; architecture and API; + implemented object types + + - ex. The Executive Support subsystem; architecture and API; + implemented object types + + - io. The I/O Manager subsystem; architecture and API; implemented object + types + + - kd. Kernel debugging; protocols and API + + - ki. Predefined interrupt handlers + + - lpc. The Local Procedure Call subsystem; architecture and API; + implemented object types + + - mm. The Virtual Memory Manager subsystem; architecture and API; + implemented object types + + - ob. The Object Manager subsystem; architecture and API; implemented + object types + + - ps. The Process Structure Manager subsystem; architecture and API; + implemented object types + + - se. The Security Reference Monitor subsystem; architecture and API; + implemented object types + +TOPICS + Topics are the base unit of documentation. They contain the actual content, +and are organized in physical units of storage called packages + + [placeholder] + +INDEXES + Indexes are an addressing mechanism to retrieve a topic from a package. +Addresses in an index are strings, called keys, associated to each topic in +their source form. There's essentially two kinds of indexes: + + - Identification indexes. They provide a many-to-one mapping between keys + and topics. That is, a topic can be pointed at by one or more keys in the + same identification index. Identification indexes are typically used for + unambiguous identification of topics + + Currently, a number of predefined identification indexes are defined. + There's a strong bias towards developer's documentation at the moment, but + it will be solved by specializing generic indexes. Here are the generic + identification indexes currently defined: + + - page. Self-contained documents containing detailed information about a + specific topic. Examples include Knowledge Base articles, reference + pages of user commands, library functions, etc. They usually contain + links to related references or sections + + - section. Any topic with structural meaning, i.e. not self-contained. + They usually contain links to child sections or references + + For developer's documentation, the following specialization of the section + index are defined: + + - subsection. A subsection of strongly-related topics + + - overview. Pages containing general information about a subsection + + - example. Pages containing code samples about a subsection + + - reference. Pages with an index of detailed information about a + subsection. The distinction between "overview", "example" and "reference" + indexes is necessary to simplify authoring, since, this way, the root + subnodes of a subsection can be given the same key, as in the following + example: + + TOC | Index[key] +---------------------------+----------------------------- + User Interface | + + ReactOS User Interface | section[rosui] + + Windowing | section[windowing] + + Windows | subsection[windows] + + Overview | overview[windows] + + Examples | example[windows] + + Reference | reference[windows] + + For an analogous reason, there's a further specialization for child nodes + of reference sections to create indexes of functions, structures, macros, + etc. These specialized indexes are: + + - functions. Functions other than class methods + + - structures. Types declared with the C/C++ struct or union constructs, + and that have no methods + + - enumerations. Types declared with the C/C++ enum construct + + - types. Integral, array or pointer types with a special meaning + + - constants. Groups of macros that comply with the following + requirements: + - they have no parameters + - they can be fully evaluated at compile time + - they are strongly related. For example, they are interchangeable + values for the same parameter, or flags, or both + - they are referenced from more than one reference page. If they are + referenced just once, they must be documented in the page that + references them + + - errors. Specialization of the constants index. Constants used to return + status codes + + - macros. Macros, or groups of macros, that comply with at least one of + the following requirements: + - they have parameters + - they are used for conditional compilation + - they are used as declaration modifiers + - they have side effects + Function aliases for type-generic string handling (_t* for the C + runtime and *W/*A for the Ros32 API) are excluded, and must be + documented as functions (in all their possible variants for the C + runtime, and in their type-generic form for the Ros32 API). Macros + returning l-values (e.g. errno) should be listed in the objects + index + + - interfaces. Abstract classes + + - classes. Classes with an implementation + + - objects. Statically allocated memory objects. The type of such + objects should be documented separatedly + + - messages. Window messages + + - notifications. Window messages delivered through WM_NOTIFY + + - guide. Root node of a guide/how-to/tutorial + + - Search indexes. They provide a one-to-many mapping between keys and topics. + That is, a key in a search index can point to one or more topics. Search + indexes are typically used for keyword searches among many topics + + [placeholder] + +TOCS + [placeholder] + +CATALOGS + [placeholder] + +PRESENTATION +------------ + +AUTHORING +========= + [placeholder] + +USING DOXYGEN +------------- + [placeholder] + +USING DOCBOOK +------------- + [placeholder] + +GUIDELINES +---------- + [placeholder] diff --git a/rosdocs/rules.mk b/rosdocs/rules.mk new file mode 100755 index 0000000..2f8d1d3 --- /dev/null +++ b/rosdocs/rules.mk @@ -0,0 +1,35 @@ +# Important +.EXPORT_ALL_VARIABLES: + +# Windows is default host environment +ifeq ($(HOST),) +HOST = mingw32-windows +endif + +# +# Choose various options +# +ifeq ($(HOST),mingw32-linux) +PREFIX= +EXE_POSTFIX := +EXE_PREFIX := ./ +DOSCLI = +SEP := / +endif + +ifeq ($(HOST),mingw32-windows) +PREFIX = +EXE_PREFIX := +EXE_POSTFIX := .exe +DOSCLI = yes +SEP := \$(EMPTY_VAR) +endif + +CC = $(PREFIX)gcc +HOST_CC = gcc +TOOLS_PATH = $(PATH_TO_TOP)/tools +CP = $(TOOLS_PATH)/rcopy +RM = $(TOOLS_PATH)/rdel +RMDIR = $(TOOLS_PATH)/rrmdir +RMKDIR = $(TOOLS_PATH)/rmkdir + diff --git a/rosdocs/tools/Makefile b/rosdocs/tools/Makefile new file mode 100644 index 0000000..11503bc --- /dev/null +++ b/rosdocs/tools/Makefile @@ -0,0 +1,48 @@ +PATH_TO_TOP = .. + +TOOLS = \ + rcopy$(EXE_POSTFIX) \ + rdel$(EXE_POSTFIX) \ + rmkdir$(EXE_POSTFIX) \ + rrmdir$(EXE_POSTFIX) + +CLEAN_FILES = $(TOOLS) + +all: $(TOOLS) + +ifeq ($(HOST),mingw32-linux) +rcopy$(EXE_POSTFIX): rcopy.c + $(HOST_CC) $(CFLAGS) -DUNIX_PATHS rcopy.c -o rcopy$(EXE_POSTFIX) +endif +ifeq ($(HOST),mingw32-windows) +rcopy$(EXE_POSTFIX): rcopy.c + $(HOST_CC) $(CFLAGS) -DDOS_PATHS rcopy.c -o rcopy$(EXE_POSTFIX) +endif + +rdel$(EXE_POSTFIX): rdel.c + $(HOST_CC) $(CFLAGS) rdel.c -o rdel$(EXE_POSTFIX) + +ifeq ($(HOST),mingw32-linux) +rmkdir$(EXE_POSTFIX): rmkdir.c + $(HOST_CC) $(CFLAGS) -DUNIX_PATHS rmkdir.c -o rmkdir$(EXE_POSTFIX) +endif +ifeq ($(HOST),mingw32-windows) +rmkdir$(EXE_POSTFIX): rmkdir.c + $(HOST_CC) $(CFLAGS) -DDOS_PATHS rmkdir.c -o rmkdir$(EXE_POSTFIX) +endif + +ifeq ($(HOST),mingw32-linux) +rrmdir$(EXE_POSTFIX): rrmdir.c + $(HOST_CC) $(CFLAGS) -DUNIX_PATHS rrmdir.c -o rrmdir$(EXE_POSTFIX) +endif +ifeq ($(HOST),mingw32-windows) +rrmdir$(EXE_POSTFIX): rrmdir.c + $(HOST_CC) $(CFLAGS) -DDOS_PATHS rrmdir.c -o rrmdir$(EXE_POSTFIX) +endif + +clean: + - $(RM) $(CLEAN_FILES) + +.PHONY: all clean + +include $(PATH_TO_TOP)/rules.mk diff --git a/rosdocs/tools/rcopy.c b/rosdocs/tools/rcopy.c new file mode 100755 index 0000000..a285ff3 --- /dev/null +++ b/rosdocs/tools/rcopy.c @@ -0,0 +1,87 @@ +#include +#include +#include + +char* convert_path(char* origpath) +{ + char* newpath; + int i; + + newpath = strdup(origpath); + + i = 0; + while (newpath[i] != 0) + { +#ifdef UNIX_PATHS + if (newpath[i] == '\\') + { + newpath[i] = '/'; + } +#else +#ifdef DOS_PATHS + if (newpath[i] == '/') + { + newpath[i] = '\\'; + } +#endif +#endif + i++; + } + return(newpath); +} + +#define TRANSFER_SIZE (65536) + +int main(int argc, char* argv[]) +{ + char* path1; + char* path2; + FILE* in; + FILE* out; + char* buf; + int n_in; + int n_out; + + if (argc != 3) + { + fprintf(stderr, "Too many arguments\n"); + exit(1); + } + + path1 = convert_path(argv[1]); + path2 = convert_path(argv[2]); + + in = fopen(path1, "rb"); + if (in == NULL) + { + perror("Cannot open input file"); + exit(1); + } + + + + out = fopen(path2, "wb"); + if (out == NULL) + { + perror("Cannot open output file"); + fclose(in); + exit(1); + } + + buf = malloc(TRANSFER_SIZE); + + while (!feof(in)) + { + n_in = fread(buf, 1, TRANSFER_SIZE, in); + n_out = fwrite(buf, 1, n_in, out); + if (n_in != n_out) + { + perror("Failed to write to output file\n"); + free(buf); + fclose(in); + fclose(out); + exit(1); + } + } + exit(0); +} diff --git a/rosdocs/tools/rdel.c b/rosdocs/tools/rdel.c new file mode 100755 index 0000000..0e233fa --- /dev/null +++ b/rosdocs/tools/rdel.c @@ -0,0 +1,91 @@ +/* $Id$ + * COPYRIGHT: See COPYING in the top level directory + * PROGRAMMER: Rex Jolliff (rex@lvcablemodem.com) + * PURPOSE: Platform independant delete command + */ + +#include +#include +#include +#include +#include +#include + +void +convertPath (char * pathToConvert) +{ + while (*pathToConvert != 0) + { + if (*pathToConvert == '\\') + { + *pathToConvert = '/'; + } + pathToConvert++; + } +} + +void +getDirectory (const char *filename, char * directorySpec) +{ + int lengthOfDirectory; + + if (strrchr (filename, '/') != 0) + { + lengthOfDirectory = strrchr (filename, '/') - filename; + strncpy (directorySpec, filename, lengthOfDirectory); + directorySpec [lengthOfDirectory] = '\0'; + } + else + { + strcpy (directorySpec, "."); + } +} + +void +getFilename (const char *filename, char * fileSpec) +{ + if (strrchr (filename, '/') != 0) + { + strcpy (fileSpec, strrchr (filename, '/') + 1); + } + else + { + strcpy (fileSpec, filename); + } +} + +int +main (int argc, char* argv[]) +{ + int justPrint = 0; + int idx; + int returnCode; + + for (idx = 1; idx < argc; idx++) + { + convertPath (argv [idx]); + + if (justPrint) + { + printf ("delete %s\n", argv [idx]); + } + else + { + returnCode = remove (argv [idx]); + if (returnCode != 0 && errno != ENOENT) + { + /* Continue even if there is errors */ +#if 0 + printf ("Unlink of %s failed. Unlink returned %d.\n", + argv [idx], + returnCode); + return returnCode; +#endif + } + } + } + + return 0; +} + + diff --git a/rosdocs/tools/rmkdir.c b/rosdocs/tools/rmkdir.c new file mode 100755 index 0000000..371402a --- /dev/null +++ b/rosdocs/tools/rmkdir.c @@ -0,0 +1,102 @@ +#include +#include +#include + +char* convert_path(char* origpath) +{ + char* newpath; + int i; + + newpath = strdup(origpath); + + i = 0; + while (newpath[i] != 0) + { +#ifdef UNIX_PATHS + if (newpath[i] == '\\') + { + newpath[i] = '/'; + } +#else +#ifdef DOS_PATHS + if (newpath[i] == '/') + { + newpath[i] = '\\'; + } +#endif +#endif + i++; + } + return(newpath); +} + +#define TRANSFER_SIZE (65536) + +int mkdir_p(char* path) +{ + if (chdir(path) == 0) + { + return(0); + } +#ifdef UNIX_PATHS + if (mkdir(path, 0755) != 0) + { + perror("Failed to create directory"); + exit(1); + } +#else + if (mkdir(path) != 0) + { + perror("Failed to create directory"); + exit(1); + } +#endif + + if (chdir(path) != 0) + { + perror("Failed to change directory"); + exit(1); + } + return(0); +} + +int main(int argc, char* argv[]) +{ + char* path1; + FILE* in; + FILE* out; + char* csec; + int is_abs_path; + + if (argc != 2) + { + fprintf(stderr, "Too many arguments\n"); + exit(1); + } + + path1 = convert_path(argv[1]); + + if (isalpha(path1[0]) && path1[1] == ':' && path1[2] == '/') + { + csec = strtok(path1, "/"); + chdir(csec); + csec = strtok(NULL, "/"); + } + else if (path1[0] == '/') + { + chdir("/"); + csec = strtok(path1, "/"); + } + else + { + csec = strtok(path1, "/"); + } + + while (csec != NULL) + { + mkdir_p(csec); + csec = strtok(NULL, "/"); + } + + exit(0); +} diff --git a/rosdocs/tools/rrmdir.c b/rosdocs/tools/rrmdir.c new file mode 100755 index 0000000..9a3f037 --- /dev/null +++ b/rosdocs/tools/rrmdir.c @@ -0,0 +1,92 @@ +/* $Id$ + * COPYRIGHT: See COPYING in the top level directory + * PROGRAMMER: Rex Jolliff (rex@lvcablemodem.com) + * Casper S. Hornstrup (chorns@users.sourceforge.net) + * PURPOSE: Platform independant remove directory command + */ + +#include +#include +#include +#include +#include +#include + +void +convertPath (char * pathToConvert) +{ + while (*pathToConvert != 0) + { + if (*pathToConvert == '\\') + { + *pathToConvert = '/'; + } + pathToConvert++; + } +} + +void +getDirectory (const char *filename, char * directorySpec) +{ + int lengthOfDirectory; + + if (strrchr (filename, '/') != 0) + { + lengthOfDirectory = strrchr (filename, '/') - filename; + strncpy (directorySpec, filename, lengthOfDirectory); + directorySpec [lengthOfDirectory] = '\0'; + } + else + { + strcpy (directorySpec, "."); + } +} + +void +getFilename (const char *filename, char * fileSpec) +{ + if (strrchr (filename, '/') != 0) + { + strcpy (fileSpec, strrchr (filename, '/') + 1); + } + else + { + strcpy (fileSpec, filename); + } +} + +int +main (int argc, char* argv[]) +{ + int justPrint = 0; + int idx; + int returnCode; + + for (idx = 1; idx < argc; idx++) + { + convertPath (argv [idx]); + + if (justPrint) + { + printf ("remove %s\n", argv [idx]); + } + else + { + returnCode = rmdir (argv [idx]); + if (returnCode != 0 && errno != ENOENT) + { + /* Continue even if there is errors */ +#if 0 + printf ("Rmdir of %s failed. Rmdir returned %d.\n", + argv [idx], + returnCode); + return returnCode; +#endif + } + } + } + + return 0; +} + + diff --git a/rosdocs/tutorials/ChangeLog b/rosdocs/tutorials/ChangeLog new file mode 100755 index 0000000..10ff1f4 --- /dev/null +++ b/rosdocs/tutorials/ChangeLog @@ -0,0 +1,34 @@ +2003-08-29 Casper S. Hornstrup + + * dev/advandev/cdpack.xml: Update bootable CD section. + +2003-08-09 Casper S. Hornstrup + + * tutorials.xml: New entity bootoptions. + * user/intro/bootoptions.xml: New file. + +2003-07-11 Casper S. Hornstrup + + * tutorials.xml: New entity taggingfunctions. + * dev/advandev/taggingfunctions.xml: New file. + +2003-05-28 Casper S. Hornstrup + + * user/intro/installiso.xml: Installation program can create + and delete partitions and format them with a FAT32 filesystem. + +2002-11-05 Casper S. Hornstrup + + * dev/shcode/mailpatch.xml: Use "cvs diff -up" instead of "diff". + +2002-11-05 Casper S. Hornstrup + + * ChangeLog: Added. + + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 76 +version-control: never +End: diff --git a/rosdocs/tutorials/dev/advandev/archoverview.xml b/rosdocs/tutorials/dev/advandev/archoverview.xml new file mode 100644 index 0000000..3a16a74 --- /dev/null +++ b/rosdocs/tutorials/dev/advandev/archoverview.xml @@ -0,0 +1,177 @@ + +ReactOS Architecture Whitepaper + + + + + +ReactOS Architecture Overview. + + + + +TABLE OF CONTENTS + +1 Introduction +2 The Executive +2.1 Hardware Abstraction Layer +2.2 Device Drivers +2.3 Kernel +2.4 System Services +3 Protected Subsystems +4 Native API Architecture +5 Compatibility Targets + + + + +1 INTRODUCTION + +The ReactOS architecture is based on that of Microsoft Windows NT 4.0. Although Microsoft claims that the architecture is a modified micro-kernel (combining aspects of both micro-kernels and layered operating systems), at ReactOS we have a different definition of the architecture. The NT, and therefore ReactOS architecture, is modular and layered. The small traces of microkernel architecture are not enough for it to be described as a modified micro-kernel. + + +At the lowest layer is the Executive. The executive includes everything that runs in kernel mode. Above the executive are the Protected Subsystems. These subsystems provide implementations of different Operating System personalities. + + + + +2 THE EXECUTIVE + +The Executive is all the code that runs in kernel mode. The executive can roughly be broken up into the following components: + + +Hardware Abstraction Layer (HAL) +Device Drivers +The Kernel +System Services (including the Win32 subsystem) + + +These components all run in kernel mode. The HAL, Kernel, System Services and Device Drivers are collectively referred to as the Executive. + + + + +2.1 HARDWARE ABSTRACTION LAYER + +The HAL makes it possible for the x86 ReactOS kernel and HAL to run on different x86 motherboards. The HAL abstracts motherboard specific code from the kernel, so that different motherboards do not require changes in the kernel. Examples for different hardware designs are the standard PC, the Japanese NEC PC98 or x86 SGI workstations. + + + + +2.3 DEVICE DRIVERS + +Device drivers are hardware specific extensions to the ReactOS Executive. They allow the Operating System to interact with certain devices and visa versa. + + +ReactOS currently aims to implement the Windows NT 4.0 device driver model. The Windows Driver Model (WDM) is also a concern for the immediate future. WDM is a set of rules for writing portable Windows drivers. + + +Communication: + + +Device drivers use packets to communicate with the kernel and with other drivers. Packets are sent via the IO Manager (System Service) and make use of IRPs (IO Request Packets). + + + + +2.4 KERNELS + +The kernel design is based on that of Microsoft Windows NT 4.0. It implements kernel mode Asynchronous Procedure Calls (APCs), Deferred Procedure Calls (DPCs), processes, threading, mutexes, semaphores, spinlocks, timing code and more. + + + + +2.5 SYSTEM SERVICES + +System services include: + + +IO Manager +Configuration Manager +Plug and Play +Power Manager +Memory Manager +Executive Support +Object Manager +security reference monitor, process structure, local procedure call [?] +Win32 Subsystem + + + + +3 PROTECTED SUBSYSTEMS + +The Protected Subsystems allow different Operating System personalities to run on top of the ReactOS Executive. The initial target for ReactOS was the Win32 subsystem -- however, the Win32 subsystem runs in kernel mode as part of the Executive and is not featured here. + + +User mode subsystems in the works: + + +POSIX +OS/2 + + +Potential Protected Subsystems for the future: + + +DOS (Possibly a port of the FreeDOS Operating System) +Java Operating System (JOS: Open Source Java Operating System) +Many more + + +Graphical Interface for Subsystems via the Win32 Subsystem: +The Windows NT graphics device drivers are tightly integrated in design with the Win32 subsystem. Due to this it is impractical for a user mode subsystem to interact directly with the graphics drivers. For this reason, a subsystem should make use of the kernel mode Win32 subsystem for a graphics interface. Such a subsystem need not depend on the Win32 Window Manager, but can instead just use the graphics primitives provided by the Win32 subsystem. + + + + +4 NATIVE API ARCHITECTURE + +The Native API Architecture alls for user mode code to call kernel mode services in a standard manner. It is the equivalent to the System Call Interface used by most UNIXes. Microsoft Windows NT/2000/XP does not document the Native API Architecture for programmers, they must use the Win32 APIs instead. Since ReactOS is Open Source, our Native API Architecture is open to the application programmer. + + +The Native API Architecture is implemented in NTDLL.DLL. Aside from containing Native API user mode entry points, NTDLL.DLL also contains process startup and module loading code. These entry points call KiSystemService in kernel mode, which looks up the kernel mode service in a system table - KiSystemServiceTable. + + + + +5 COMPATIBILITY TARGETS + +The original target for ReactOS, with regards to driver and application compatibility, was Microsoft Windows NT 4.0. +Since then, Microsoft Windows 2000 and Windows XP have been released. + + +Microsoft Windows 2000 and Windows XP are both descendants of Windows NT. +As such we can gradually shift our compatibility target without worrying about the architecture changing too much. +In fact, internally, Windows 2000 reports version information as Windows 5.0 and Windows XP as Windows 5.1. + + +The ReactOS team have decided to maintain Windows NT 4.0 as the official compatibility target. +This is because most of the resources, articles and books on Windows NT/2000/XP technology are written for Windows NT 4.0. +This does not mean that features present in later versions of Windows NT based operating systems will not be implemented in ReactOS. + + + + diff --git a/rosdocs/tutorials/dev/advandev/taggingfunctions.xml b/rosdocs/tutorials/dev/advandev/taggingfunctions.xml new file mode 100755 index 0000000..ada0bef --- /dev/null +++ b/rosdocs/tutorials/dev/advandev/taggingfunctions.xml @@ -0,0 +1,68 @@ + +Tagging functions + + + + + +Explains what tags are and how to use them. + + + + +TABLE OF CONTENTS + +1 Overview +2 MS API compatibility + + + + +1 Overview + +We define tagging a function as the process of associating metadata with a function. We define a tag to be a piece of information that has a well-defined meaning. +A tag has one attribute - a name. The name of a tag always begin with the at sign (@) and it can include only the letters a-z and digits 0-9 and the underscore (_). +Tagnames are case-insensitive. In the future a tag could have one more attribute - a value, but this is currently not needed. + +In ReactOS, tags are currently only used to track compatibility with Microsoft APIs, but it could be used for so much more. +Tags are applied to functions by including them in a comment just before the function. Eg. if you have a function called MyFunction, +then you can tag it with the tag @mytag like this: + +/* + * @mytag + */ +VOID +MyFunction() +{ +} + + + + + + + +2 Microsoft API compatibility + +Two tags are defined to track compatibility with Microsoft APIs. @implemented and @unimplemented. +Apply @implemented to functions which match and behaves like a Microsoft API. +Use @unimplemented to functions which match, but does not behave like a Microsoft API. +The regenstat tool (located in reactos/tools/rgenstat) will parse the source code for these tags and generate an xml file containing functions that have these tags. +The xml file can be processed by the rapistatus.xsl xml stylesheet (located in reactos/tools/rgenstat/web) to create an html file suitable for display using a browser. + + + + diff --git a/rosdocs/tutorials/dev/advandev/win32wine.xml b/rosdocs/tutorials/dev/advandev/win32wine.xml new file mode 100644 index 0000000..49f067a --- /dev/null +++ b/rosdocs/tutorials/dev/advandev/win32wine.xml @@ -0,0 +1,95 @@ + +ReactOS WINE Developer Guide + + + + + +Overview of the ReactOS Project use of code from the WINE Project. +Providing information on building the dlls, applications and tools provided by WINE. + + + +The ReactOS Project will try to do a yearly merge of the Winehq source trees. +This document only relates to building and using WINE dlls for ReactOS. If you are seeking information +on building Wine for Mingw or Cygwin please go to +WineHQ and read the Mingw WINE porters guide. + + + +Report any bugs in this document to the ReactOS WINE +Maintainer + + + + +TABLE OF CONTENTS + +Requirements +ReactOS Wine Build Directions +Advanced ReactOS WINE Developer Directions +TODO LIST + + + + +Requirements + +Current copy Of the ReactOS kernel source tree. +MSYS UNIX enviroment for Mingw. +Standard ReactOS build system (Current Mingw/Win32api) +Knowledge of the Wine and Mingw projects coding standards. + + + + +Directions on Porting a WINE dll to ReactOS + 1. Download the most current ReactOS source as per documentation. + 2. Download the most current release or sources of WINE or ReWind. See www.winehq.com for cvs information. + 3. Start MSYS and change directory to your copy of the WINE sources. + 4. run ./configure --disable-win16 in the top level of the WINE source tree. +NOTE: make sure you do not have a make.exe in your path when running MSYS. + 5. Run "make tools" then "cd dlls" the "make". +NOTE: The wine build system will create the import libraries and try to build all of the dlls. Some will fail. + 6. Make any changes you might need to get the dll to compile with MSYS+Mingw and the WINE headers and submit patches to wine-patches@winehq.com. + 7. To test building a dll with the w32api headers rather then a WINE header simply rename the header in wine/include and the build system will use the w32api instead.. + 8. Submit any needed patches for the w32api package to the Mingw or Cygwin projects. +WARNING: Using WINE dlls that are not ported to use the w32api are not support by the ReactOS project. + 9. Create a directory in the reactos source tree with the same name as the directory in the WINE source tree and copy the required files. EXAMPLE: reactos/lib/ole32 + 10. Create a makefile based on a existing ported dll such as lzexpand or twain. + 11. Rebuild the dll from cmd.exe using the standard Mingw package and the ReactOS build system. + +Any changes other then minor patches such as include path changes such as those that only come as a result of the ReactOS build system should use the following format + +Example: +#ifdef __REACTOS__ +ReactOS code +#endif +DO NOT MAIL REACTOS PATCHES TO WINEHQ. All patches sent to the WINE project must be licensed either LGPL or X11. + + + +TODO LIST +ReactOS + +Improve the TODO and HOWTO list +Document the dlls used from WINE and other misc WINE code spread about in ReactOS. +Rewrite DirectX interfaces to be compatible with ReactOS +Port WINE applications and WINE resource compiler to the ReactOS Build System. + + + + \ No newline at end of file diff --git a/rosdocs/tutorials/dev/bochtest/bochscyc.xml b/rosdocs/tutorials/dev/bochtest/bochscyc.xml new file mode 100644 index 0000000..2f326d4 --- /dev/null +++ b/rosdocs/tutorials/dev/bochtest/bochscyc.xml @@ -0,0 +1,44 @@ + +The compile, test and debug cycle under Bochs + + + + + +Using Bochs during the development cycle. + + + + +Updating the Virtual Disk Image + + +Run install.bat after compiling changes in your ReactOS tree. +Copy the directory reactos (where install.bat copied files to) to the Bochs directory. +Run binst.bat to copy the new files to the disk image. +Sometimes it appears that changed files aren't copied to the disk image. In this case, boot using FreeDOS and remove the files in c:\reactos on the disk image. Run binst.bat and the new files will definitely be there. + + + + + +Sending Debug Output to the Bochs Console Window + +When you run Bochs, the DOS box can be used to output debugging information (from DbgPrint statements). To enable this when booting using FreeDOS, edit the boot.bat file used to boot ReactOS and change the /DEBUGPORT setting to be set to /DEBUGPORT=BOCHS. (TODO: How to enable this when booting from Freeloader?) + + + + diff --git a/rosdocs/tutorials/dev/bochtest/getbochs.xml b/rosdocs/tutorials/dev/bochtest/getbochs.xml new file mode 100644 index 0000000..46671c4 --- /dev/null +++ b/rosdocs/tutorials/dev/bochtest/getbochs.xml @@ -0,0 +1,61 @@ + +Downloading and Using Bochs with ReactOS + + + + + +How to download Bochs and use it for testing ReactOS. + + + + +Downloading Bochs + +The reactos.com site provides several Bochs distributions: + +Bochs preloaded with ReactOS disk images. +ReactOS disk images only. +Bochs only. + +These downloads are available from the same page as the ReactOS binaries on reactos.com (under Software, ReactOS). + + +Typically, you'd want to download Bochs preloaded with ReactOS disk images. If you want to use an emulator other than Bochs, then the disk images only download would be more useful. Disk images only are also useful if you want to try out a newer version of ReactOS and already have Bochs. The Bochs only download is useful for when an updated version of the Bochs emulator is available on the reactos.com site. + + + + +Using MTools: Upgrading the ReactOS Files on the Virtual Disk + +MTools are used to copy files to and from the disk images. Run mtinst.bat to have MTools configure properly. This batch file copies the mtools.exe file to the various MTools commands (eg. mcopy, mmd). These files are used by binst.bat (used to update the ReactOS files on the virtual disk). + + +To upgrade the ReactOS files on the virtual disk, copy the ReactOS binary distribution directory (named reactos) into the directory where Bochs is installed. Then run binst.bat to copy the new files into the virtual disk (be sure to have run mtinst.bat at some time in the past before doing this). + + + + +Running ReactOS under Bochs + +Simply run the boot.bat file in the directory where Bochs was installed. If Freeloader is installed on the floppy image, then ReactOS will automatically be booted by Freeloader. If FreeDOS is on the floppy image, you'll boot into an A: prompt. Run boot.bat from this prompt. + + +To switch to booting with Freeloader, run the freeldr.bat file in the Bochs directory. To switch to booting with FreeDOS, run the freedos.bat file. + + + + diff --git a/rosdocs/tutorials/dev/bochtest/introbochs.xml b/rosdocs/tutorials/dev/bochtest/introbochs.xml new file mode 100644 index 0000000..ea5fe76 --- /dev/null +++ b/rosdocs/tutorials/dev/bochtest/introbochs.xml @@ -0,0 +1,44 @@ + +Introducing Bochs + + + + + +Explains what Bochs is and a general idea of how it works. + + + + +Introducing Emulators + +An emulator is a software program that provides a virtual hardware platform. Software instructions that would be run on hardware are now interpreted by the emulator software. This allows you to "run" a different kind of computer hardware and its software in a window on your computer. Although the performance of the software run on a virtual computer will be much slower than on real hardware, it provides several advantages: + +You can try out a completely different operating system without tinkering with your real system. +You can run potentially unstable software without the fear of damaging your real system. +For operating systems developers, it provides a way to debug the system without constant reboots. + + + + + +Introducing Bochs + +Bochs (pronounced "box") is an emulator written for the PC. It can run on both DOS/Windows and Linux operating systems. It emulates an x86 hardware system and has emulation for the 386, 486 and Pentium CPUs. It also provides IO port and BIOS emulation. Bochs can run Linux, DOS, Windows 95, Windows NT 4, ReactOS and many other operating systems. The software was initially written by Kevin Lawton and is now maintained by the Bochs SourceForge project. Although this project provides the latest Bochs binaries, we recommend that you test ReactOS with the Bochs binaries provided by our reactos.com Bochs page. + + + + diff --git a/rosdocs/tutorials/dev/newdev/cdpack.xml b/rosdocs/tutorials/dev/newdev/cdpack.xml new file mode 100644 index 0000000..5a7c213 --- /dev/null +++ b/rosdocs/tutorials/dev/newdev/cdpack.xml @@ -0,0 +1,131 @@ + +Creating the ReactOS bootable CD or Live CD + + + + + +How to create an ISO image file and a bootable CD. + + + + +TABLE OF CONTENTS + +Requirements +Directory structure +Creating the ISO image file +Creating the bootable CD +Booting ReactOS from the CD + + + + + +Requirements + +ReactOS and Freeldr cvs modules +Rosapps module (optional) +Current MinGW toolset +Some free disk space +A cd-r/cd-rw recorder +At least one cd-r/cd-rw (cd-rw is recommended) + + + + +Directory structure + +To create a bootable CD all required components must be copied into a separate directory to write them onto the CD. At present, this root directory will be created in your local cvs root directory. For example, if you checked-out the reactos and freeldr modules to 'c:\cvs' the new root directoy will be 'c:\cvs\bootcd'. The directory layout looks like this: + + + + +bootcd + \- isoboot.bin + \- disk + \- bootdisk + \- ... (bootdisk image files) + \- loader + \- fat.bin + \- fat32.bin + \- ... (more bootsector files) + \- freeldr.sys + \- setupldr.sys + \- reactos + \- txtsetup.sif + \- atapi.sys + \- blue.sys + \- hal.dll + \- ntoskrnl.exe + \- ... (more drivers, dlls, etc.) + \- system32 + \- ntdll.dll + \- smss.exe (renamed usetup.exe) + + + + +When you create the CD only the contents of the 'disk' directory will be copied to the CD's filesystem. So the directories 'bootdisk', 'loader' and 'reactos' will reside in the root directory of the CD. 'Isoboot.bin' will be the bootsector of the CD and will not be a visible part of the filesystem. + + + + +Creating the ISO image file + +This description is based on the german edition of Nero 5.0. If you are using another edition, read the manual first. + + +1 Build ReactOS + +Change the current directory to your reactos module working copy directory and run 'make'. + + + + +2 Create the iso image file + +In your reactos module working copy directory run 'make bootcd'. This will first build FreeLoader in the freeldr directory parallel to reactos. FreeLoader (freeldr.sys) is a boot loader/manager that is used to load multiple operating systems from a harddisk. SetupLoader (setupldr.sys) is a modified FreeLoader which is used to boot ReactOS from the bootable CD. It can not be used to load ReactOS from a harddisk. Executing the 'make bootcd' command will also create the 'bootcd' directory tree and all required components will be copied into this directory tree. Finally, the ISO image file 'ReactOS.iso' is created in the reactos directory. + + +To create the ReactOS Live CD just issue the command 'make livecd' in the root of the reactos source tree. This will create the roslive.iso. + + + + + +Creating the bootable CD + +Start your CD recording application and write the ISO image file 'ReactOS.iso' onto a CD-R or CD-RW. + + + + +Booting ReactOS from the CD + +I assume you already know how to boot your computer from a CD. If not, ask your local guru, seach the web or read the manual. + + + diff --git a/rosdocs/tutorials/dev/newdev/compilesrc.xml b/rosdocs/tutorials/dev/newdev/compilesrc.xml new file mode 100644 index 0000000..405d98f --- /dev/null +++ b/rosdocs/tutorials/dev/newdev/compilesrc.xml @@ -0,0 +1,80 @@ + +Where to get the latest ReactOS source, compilation tools and how to compile the source + + + + + +Where to get the latest ReactOS source, compilation tools and how to compile the source. + + + + +Where to download the source + +The ReactOS source is physically stored on ReactOS' SourceForge development site. You can download ReactOS directly from the SourceForge site, but some users may prefer to go via ReactOS.com. + + + + +Obtaining the latest source via reactos.com + +Visit reactos.com which is the ReactOS portal site. This site will always point to the latest source. +Click on the link, on the opening page of reactos.com that points to the latest "Kernel Release". +On the Latest Release page, click on the "Download kernel x.x.xx source" (eg. "Download kernel 0.0.18 source") link. + + + + +Obtaining the latest source via SourceForge + +Visit sourceforge.net/projects/reactos which is ReactOS' development site, hosted by SourceForge. +Scroll down to the "Latest File Releases". +Click on the "Download" link for the reactos package. +Scroll down to the reactos package (should be high-lighted purple) and click on the xxxx_source.zip (eg. 0018_source.zip) link to download the source. + + + + +Downloading GCC: the C compiler + +Visit reactos.com's GCC download page OR look for GCC on ReactOS' SourceForge download files page. +There are instructions on the reactos.com indicating which files must be loaded to obtain a complete GCC installation. +If you chose the sourceforge.net link then you must click on the release name (eg. 2.95.3-20011023) for instructions on which files you need to download for a complete GCC installation. +Extract the files to your hard drive (eg. in the directory c:\gcc). If you do not have an extraction utility that can handle .tar.gz files, try WinZip. +Add the 'bin' subdirectory of the installation to your path (eg. PATH=%PATH%;c:\gcc\bin). You must make this change to your autoexec.bat file and be sure to run it before trying to compile with GCC. + + + + +Downloading NASM: the assembler + +Visit reactos.com's NASM page. This page points to the location of the NASM binaries. +Extract the files to your hard drive (eg. in the directory c:\nasm). +Add the extracted directory of the installation to your path (eg. PATH=%PATH%;c:\nasm). As with GCC, you must make sure the path information in your autoexec.bat file is updated and that you rerun autoexec.bat before trying to compile anything. + + + + +Compiling the ReactOS source + +Change into the directory where you extract the ReactOS source to (eg. cd \reactos\source). +Run the command 'make'. GCC and NASM should then begin to build the source code. +If you do not encounter any errors in the build process, you should be able to install and test the compiled binaries. Refer to the development tutorial 'Testing ReactOS' for more information on how to do this. + + + + diff --git a/rosdocs/tutorials/dev/shcode/cvsapply.xml b/rosdocs/tutorials/dev/shcode/cvsapply.xml new file mode 100644 index 0000000..cb4fa28 --- /dev/null +++ b/rosdocs/tutorials/dev/shcode/cvsapply.xml @@ -0,0 +1,39 @@ + +Applying for write access + + + + + +When and how to apply for write access to CVS. + + + + +When to apply + +Once you have started submitting patches and new code to the project you can be considered for application. We would prefer not to give access to someone who makes two or three updates and then never again. Also, if you are only going to submit patches now and again, rather just send them to someone who has write access. If, however, you become a contributing developer on a continuing basis, you should definitely consider applying for write access. + + + + +Who to apply to + +Submit your request to Rex Jolliff at "rex at lvcablemodem dot com" (compress this into a normal email address) with a username and password. If your request is granted, Rex will create a user for you with the details you specified. You must then change your CVSROOT setting to include your username instead of "cvsanon" and will also now log in to the CVS client with your password. + + + + diff --git a/rosdocs/tutorials/dev/shcode/cvsco.xml b/rosdocs/tutorials/dev/shcode/cvsco.xml new file mode 100644 index 0000000..792eaf5 --- /dev/null +++ b/rosdocs/tutorials/dev/shcode/cvsco.xml @@ -0,0 +1,87 @@ + +Checking out a new tree + + + + + +How to check out a source tree from the CVS repository onto the local hard drive. + + + + +Modules in ReactOS' CVS Repository + +There are several modules in ReactOS' CVS repository. Each of these modules contains a seperate tree of files. Whenever you check out a tree, you must specify which module you want. The following modules are available in our repository: + +Modules + + + +Module Name +Description + + + + +reactos +Source code of the ReactOS kernel, subsystems and drivers + + +rosapps +Source code of various applications that will be bundled with ReactOS + + +rosdocs +ReactOS documentation: at the moment a set of DocBook XML files + + + +
+
+
+ + +Checking out a tree (module) + +First go to the directory that you want to check the tree out into. Then issue the command + +cvs -z 9 checkout module + +(where module is the name of one of the modules mentioned above). The "-z 9" switch is to use maximum compression to shorten download time. You might also notice that each directory checked out by cvs contains a subdirectory names "cvs". These subdirectory should not removed as they contain important CVS user and versioning information. You will not be able to properly update your tree if you remove one of these "cvs" subdirectories. + + + + +Examples + +To check out the "reactos" module, we will first create a "ros" directory that will contain all modules from the repository and then do the check out: + +C:\>md ros +C:\>cd ros +C:\ROS>cvs -z 9 checkout reactos + + + + + +Updating your tree + +The next section "Updating your tree with the latest code" will explain how to use the "update" CVS command to update your tree with the latest changes. You should only have to check out a tree once and perform updates on the tree after that. If you encounter abnormalities with your tree in the future, however, you may wish to delete it and do a checkout again (this should be a rare occurance). + + + +
diff --git a/rosdocs/tutorials/dev/shcode/cvsget.xml b/rosdocs/tutorials/dev/shcode/cvsget.xml new file mode 100644 index 0000000..a8297de --- /dev/null +++ b/rosdocs/tutorials/dev/shcode/cvsget.xml @@ -0,0 +1,47 @@ + +Downloading and configuring your CVS client + + + + + +Where to download a CVS client and how to configure it. + + + + +Downloading a CVS client + +To download a CVS client, visit Cyclic Software's CVS client download page. Although many different types of clients are available, we recommend the command line client and the documentation on this web page is intended for that client. + + + + +Configuring your client + +Set the following environment variables (for anonymous login): + +set CVSROOT=:pserver:cvsanon@osexperts.com:/CVS/ReactOS +set HOME=c:\temp + +You will probably want to put these settings into your autoexec.bat file. These settings assume that you have a directory called c:\temp for temporary files. To log into the CVS server run "cvs login" and, when prompted for a password, enter "cvsanon". This anonymous user has rights to check out source trees and get updates, but cannot add, remove or commit anything into the repository. + + +If you become a contributing developer and acquire a user on our central server, you will change these settings so that the "cvsanon" in the CVSROOT is the username. You will also log in with a password specific to the username instead of "cvsanon". + + + + diff --git a/rosdocs/tutorials/dev/shcode/cvsintro.xml b/rosdocs/tutorials/dev/shcode/cvsintro.xml new file mode 100644 index 0000000..a8eace6 --- /dev/null +++ b/rosdocs/tutorials/dev/shcode/cvsintro.xml @@ -0,0 +1,56 @@ + +Introducing CVS + + + + + +Explains what CVS, how it works and why the ReactOS project uses it. + + + + +Concurrent Versions System + +CVS stands for Concurrent Versions System. CVS provides two crucial elements: + +Central source code repository +Version control of the source code + + + + +Central source code repository + +A CVS repository is a central location for all CVS information to be stored. This includes all versions of all the files that compromise the source code and versioning information about the files. The ReactOS CVS repository is maintained by Rex Jolliff (rex at lvcablemodem dot com) on his server "Mok". A central repository allows the ReactOS project to work together more efficiently. + + + + +Version control of the source code + +CVS maintains a copy of each version of each file in the repository. Every time an update is made to a file in the repository, the version number goes up and prevoius versions are preserved. This is extremely useful as you can always backtrack and see what changes where made and when. Even if a file is deleted from the latest version of the source, its history is still maintained. Versioning is essential to the ReactOS project as many people are constantly working on the same source tree. + + + + + + +Your local source tree +You will need to download the latest source from CVS to create your own local source tree. Once you have this local source tree, you can compile it, make changes and add or remove files. Any modifications you make can stay local to your tree or you can commit your changes to the central repository, so that everyone can update their local trees with the changes you have made. To do all of this you will need a CVS client. You will learn how to download, configure and use this client in subsequent sections. + + + diff --git a/rosdocs/tutorials/dev/shcode/cvssubmit.xml b/rosdocs/tutorials/dev/shcode/cvssubmit.xml new file mode 100644 index 0000000..850700a --- /dev/null +++ b/rosdocs/tutorials/dev/shcode/cvssubmit.xml @@ -0,0 +1,81 @@ + +Submitting your code with CVS + + + + + +How to submit code with CVS access. + + + + +Proper testing before submitting code + +Please be sure to perform thorough tests before submitting any code to CVS. Here is some good advice for proper testing: + +Thoroughly check that your change works as intended. +Test your changes with the latest code from CVS. Something may have changed in the latest code that either breaks your change or causes your change to break something else. +Make sure that ReactOS can still boot and that any applications or systems that may be affected by your change still run properly. + + + + + +Adding a directory to the CVS repository + + +cvs add directory + +An example would be: + +C:\>cd\ros\reactos\subsys +C:\ROS\REACTOS\SUBSYS>cvs add win32k + +You must add a directory to the CVS repository before you can add anything in it to the repository. + + + + +Adding files to the CVS repository + + +cvs add file + +Examples: + +C:\>cd\ros\reactos\subsys\win32k\ntuser +C:\ROS\REACTOS\SUBSYS\WIN32K\NTUSER>cvs add guicheck.c +C:\ROS\REACTOS\SUBSYS\WIN32K\NTUSER>cvs add msgqueue.c message.c +C:\ROS\REACTOS\SUBSYS\WIN32K\NTUSER>cvs add *.c + + +Once you have added the file information, you must you the CVS commit command to actually copy the files to the repository. + + + +Committing changes to the repository + +The CVS commit command is used to upload your changes to the repository, including new files and changed files. Lets say that you want to add all new files and update all the files you changed in reactos\subsys\win32k: + +C:\>cd\ros\reactos\subsys\win32k +C:\ROS\REACTOS\SUBSYS\WIN32K>cvs commit -m "Commit message" + +CVS will then commit any new and changed files in win32k's directory and subdirectories to the repository. You'll notice that the -m switch is used to denote a commit message. This should be a short, overall description of what the commit is about. It will be stored in the CVS repository next to the version of the file committed and appear in the ros-commit mailing list. All changes to the ReactOS CVS repository are mailed to a subscription list, ros-commit. + + + + diff --git a/rosdocs/tutorials/dev/shcode/cvsupd.xml b/rosdocs/tutorials/dev/shcode/cvsupd.xml new file mode 100644 index 0000000..1494822 --- /dev/null +++ b/rosdocs/tutorials/dev/shcode/cvsupd.xml @@ -0,0 +1,58 @@ + +Updating your tree with the latest code + + + + + +How to update your source tree with the latest from the repository. + + + + +Where and what to update + +If you go to the directory where you checked out a module and use CVS update commands, the CVS client will patch all the necessary files in the tree with any updates. These updates will bring your local files up to date with the files in the repository. A directory must have a "cvs" subdirectory in it to successfully run the update command. The update command is recursive and will not only update the files in the current directory, but all directories underneath it with the "cvs" subdirectory. You can go into one of the subdirectories of your tree and run the update command there if you only wish to update that section of the tree. + + + + +Updating a source tree (module) + +Run the CVS update command in this fashion: + +cvs -z 9 -q update -PAd + + + + + +Examples + +Go to the directory where the "reactos" module has been checked out and get all the latest updates: + +C:\>cd\ros\reactos +C:\ROS\REACTOS>cvs -z 9 -q update -PAd + +Get only the updates for the kernel: + +C:\ROS\REACTOS>cd ntoskrnl +C:\ROS\REACTOS\NTOSKRNL>cvs -z 9 -q update -PAd + + + + + diff --git a/rosdocs/tutorials/dev/shcode/mailpatch.xml b/rosdocs/tutorials/dev/shcode/mailpatch.xml new file mode 100644 index 0000000..094a53a --- /dev/null +++ b/rosdocs/tutorials/dev/shcode/mailpatch.xml @@ -0,0 +1,65 @@ + +Submitting a patch to the project + + + + + +How to submit a patch to the project (assumes you do not have a CVS account). + + + + +Finding a person to send the patch to + +Since ReactOS does not have a definite maintainer for each section of the code, you should mail ros-kernel and ask for someone to accept the patch. + + + + +Test your patch + +Thoroughly check that your change works as intended. +Test your changes with the latest code from CVS. Something may have changed in the latest code that either breaks your change or causes your change to break something else. +Make sure that ReactOS can still boot and that any applications or systems that may be affected by your change still run properly. + + + + +Preparing the patch + +Make sure that your patch is against the latest code from CVS. +Where you have made changes to an existing source file, you will use diff to obtain a file that contains only the changes that you have made: + +Make sure you have cvs and diff on your system (cvs.exe and diff.exe on Windows). If you use Windows and don't have these tools, you can obtain WinCVS from http://www.wincvs.org/ (remember to put the WinCVS directory in your path). +To create the patch: + +cvs diff -up file1 file2 > mypatch.diff + + +If you have changed many files, then you can avoid typing each filename by doing this: + +cd <top-directory-for-all-changed-files> +cvs diff -up > mypatch.diff + + + + +Zip all new files and diffs to existing files and send them to the person that will commit the changes to CVS. + + + + diff --git a/rosdocs/tutorials/dev/vmware/introvmware.xml b/rosdocs/tutorials/dev/vmware/introvmware.xml new file mode 100644 index 0000000..b3ddf48 --- /dev/null +++ b/rosdocs/tutorials/dev/vmware/introvmware.xml @@ -0,0 +1,57 @@ + +Introducing VMware + + + + + +Explains what VMware is and a general idea of how virtual computing works. + + + + +Introducing Virtual Computing + +A Virtual Machine is a software program much like an emulator that provides a virtual hardware platform. Software instructions that would be run on hardware are caught buy the virtual environment and depending on the instruction are either run on the native CPU or emulated in software. Virtual Computing allows for much fast operation then standard emulation as a result of the ability to run the majority of the instructions on the Native CPU. This process allows you to run a virtual computer in software on your computer. The performance of the software on a virtual computer will be only slightly slower than on real hardware. Overhead can still be a problem for disk IO and CPU instructions that must be emulated but in general it is much faster then a total emulation system. + +You can try out a completely different operating system without tinkering with your real system. +You can run potentially unstable software without the fear of damaging your real system. +For operating systems developers, it provides a way to debug the system without constant reboots. +The performace is much faster then a true emulator such as bochs. + + + + + +Introducing VMware <ulink url="http://www.vmware.com/">http://www.vmware.com</ulink> + +VMware is a popular commercial virtual machine for the X86 CPU family. It can run on WindowsNT, 2K, XP and Linux/FreeBSD. It also provides IO port, BIOS emulation, networking and sound support. VMware can run a number of different "guest" operating systems including *DOS, Windows 9x/NT/2K/XP, ReactOS, Free Unices (*BSD, Linux) as well as many others. VMware is free for 30 days, after that you must purchase a license from their website. + + + + +Other Virtual Machines + +There are other Virtual Machines you may want to try out with ReactOS. Be warned that only the X86 CPU is supported at the time of this writing: + +Plex86: Plex86 by Kevin Lawton for MandrakeSoft. At the time of this writing, Plex86 only runs on Linux. +Mac on Linux for PPC: Mac on Linux is a Virtual Machine for the PowerPC platform allowing you to run the MacOS or LinuxPPC in a Virtual Machine under Linux for PPC. ReactOS at the time of this writing does not support the PowerPC but you are more the welcome to try. =) +Virtual PC: Virtual PC is Virtual Machine software made by Microsoft that runs on Windows and Mac OS X. + + + + + diff --git a/rosdocs/tutorials/history/2002/wineconf.xml b/rosdocs/tutorials/history/2002/wineconf.xml new file mode 100644 index 0000000..99f83e5 --- /dev/null +++ b/rosdocs/tutorials/history/2002/wineconf.xml @@ -0,0 +1,195 @@ + +ReactOS: Where it is and where its going - Wineconf 2002 + + + +This is the transcript of the presentation and speech given by Jason Filby and Steven Edwards at Wineconf 2002 for the lindows.com and Wine Project Developers. + + + + +ReactOS Beginnings + +Opening speech by Jason on the history of ReactOS. + + + + +ReactOS Mission and Goals + +Disscussion on the original goal of compatibility with NT 4 applications and drivers. Further discussion looking at 2K/XP compatibility, short discussion on .NET plan by Casper Hornstrup. + + + + +Console Application Support Overview + +Short Disscussion on Console Application support followed by demos. + + +ReactOS cmd.exe (ported from FreeDOS) +GNU Midnight commander for win32 +DFlat based editor +Registry Explorer + + +Discussion on plans to Stabilize win32 console applications + +Self-hosted building of ReactOS using Mingw32 +Fix and separate DFlat in to dll for other console applications. + + + + + +Win32 Graphical Application Support + +Demo of gditest and discussion on future windowing support. + + + + +Winsock Support + +Discussion on present limited winsock2 support. Overview of IP, lack of TCP and ne2000 network card driver. +Demo of current winsock applications. + +finger +ncftp +ping +telnet (2) +roshttp +whois + +All winsock applications except the C++ telnet can load under ReactOS, but crash due to lack of TCP support in ws2_32.dll + + + + +NTOSKRNL design and drivers + +Overview of ReactOS Kernel Architecture + +Hardware Abstraction Layer +Device Drivers (Structured Exception Handling Discussion) +Installable filesystem drivers +Registry (Discussion on Binary windows registry compatibility) +PowerPC and Alpha port +Drivers + + + + + + +Subsystems + + +Subsystems allow ReactOS, as they do WinNT, to run applications designed for other systems. +The original goal of win32 support has not been dropped. Developers who work on subsystems other than win32 are those who would never have contributed to the win32 system. This means that we are NOT dispersing our existing win32 developers. Instead, we are attracting developers that work on other subsystems and could bring more developers to the kernel. + + + + +Win32 Subsystem + +Win32k.sys is the kernel mode portion of the win32 subsystem that is being implemented by the ReactOS project. All of the previous demonstrations are defendant upon win32k.sys. Win32k.sys is the primary windowing system, all other subsystems must route through it to display graphics. + + +ReactOS currently has a unusable fork of the wine code base. This fork will make up the majority of the user mode portion of the win32 subsystem. + + + +Most NTUSER APIs +Default Windows Procedure +Messaging + + + + + +POSIX Subsystem + +Initial POSIX 2 substem work started, implemented as psx.dll. Initial POSIX application headers are detected by kernel32 and invoke the posix subsystem. POSIX subsystem crashes after this point. POSIX subproject is in its first year. + + +Future plans for POSIX subsystem: + + + +Adapting LibW11 to ReactOS GDI for easy porting of X11 Applications. +Demo showing rxvt/msys ported with LibW11.dll +Discussion on Certifying KDE and GNOME with our POSIX subsystem +Adapt LINE (Line is Not a Linux Emulator) to load linux/bsd elf binary programs. +Certify GNU software library. + + + + + +Java Subsystem + +JOS (Java Operating System) project has agreed to use ReactOS for their kernel. JOS will be written in JAVA and use a snapshot of a JVM in memory saved to disk to bootstrap the JVM. Libraries are already under development. + + +Discussion on future plans to adapt ReactOS/JOS for embedded market. + + + + +OS/2 Subsystem + +Marat Khalil is interested in developing an OS/2 subsystem for ReactOS. After announcing his intent to develop this subsystem, two others expressed interested in assisting with development. Since WinNT originally came with an OS/2 subsystem, our OS/2 subsystem is a natural development for ReactOS. An LX loader is being currently in development. + + + + +Other Subsystems + +Discussion of possible subsystems include: + +DOS/Win16 +BeOS +VMS +Other experimental subsystems for Research purposes. + + + + + +WINE Integration + +Overview of ReactOS wine port for user space win32 support. Discussion on Header File Licensing and organization is currently a problem for ReactOS due to the usage of three groups of header files. ReactOS uses it own private, Mingw32 and Wine Headers. A Solution for this problem may lie in creating a header hile database that is shared by the 3 projects. + + + + +ReactOS Foundation + +Overview of the The ReactOS development teams researching in creating a non-profit organization to provide legal defense for the ReactOS and releated project developers. + + + + diff --git a/rosdocs/tutorials/tutorials.dbk b/rosdocs/tutorials/tutorials.dbk new file mode 100644 index 0000000..271e1f2 --- /dev/null +++ b/rosdocs/tutorials/tutorials.dbk @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + +]> + + Tutorials for ReactOS + + ReactOS Development Team + + + User Tutorials + + Introduction + &whyandhow; + &license; + &organizational; + + About ReactOS + + &installiso; + &installbin; + &testbin; + + Where to go from here (newbie user) + + + + + Developer Tutorials + + Newbie Developer + + Introduction to ReactOS development + + &compilesrc; + + Testing your compiled ReactOS code + + + Updating your tree with the latest code + + + Where to go from here (newbie developer) + + + + Advanced Developer + &cdpack; + &archoverview; + &win32wine; + + + Bochs testing + &introbochs; + Downloading and Using Bochs with ReactOS + &getbochs; + The compile, test and debug cycle under Bochs + &bochscyc; + + + VMware Testing + &introvmware; + + + + Historical + + 2002 + &wineconf; + + + + diff --git a/rosdocs/tutorials/tutorials.xml b/rosdocs/tutorials/tutorials.xml new file mode 100644 index 0000000..a69def6 --- /dev/null +++ b/rosdocs/tutorials/tutorials.xml @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + Tutorials for ReactOS + + ReactOS Development Team + + + + User Tutorials + + Introduction + &whyandhow; + + &license; + + &organizational; + + + About ReactOS + + + &installiso; + + &installbin; + + &testbin; + + &bootoptions; + + + Where to go from here (newbie user) + + + + + + Developer Tutorials + + Newbie Developer + + + Introduction to ReactOS development + + + &compilesrc; + &cvsintro; + &cvsget; + &cvsco; + &cvsupd; + &cdpack; + &mailpatch; + &cvsapply; + &cvssubmit; + + + Testing your compiled ReactOS code + + + Where to go from here (newbie developer) + + + + + + Advanced Developer + + &archoverview; + + &taggingfunctions; + + &win32wine; + + + + + Bochs testing + + &introbochs; + + Downloading and Using Bochs with ReactOS + + &getbochs; + + + The compile, test and debug cycle under Bochs + + &bochscyc; + + + + + QEMU testing + + Downloading and Using QEMU with ReactOS + + The compile, test and debug cycle under QEMU + + + + + VMware Testing + + &introvmware; + + + + + + + Historical + + 2002 + + &wineconf; + + + + + + + + + diff --git a/rosdocs/tutorials/user/intro/bootoptions.xml b/rosdocs/tutorials/user/intro/bootoptions.xml new file mode 100755 index 0000000..445e12f --- /dev/null +++ b/rosdocs/tutorials/user/intro/bootoptions.xml @@ -0,0 +1,112 @@ + +ReactOS boot options + + + + + +Boot options affect how ReactOS behaves during the boot phase and normal operation. + + + + +Kernel command line + +The kernel command line is a text string that is passed to ReactOS by the boot loader (usually FreeLoader). +It consists of several switches, each of which has a special meaning to ReactOS. A switch is a forward slash (/) followed by a text string (the name of the switch), +and optionally an equal sign (=) and a text string (the value). If the equal sign (=) is present, then the value is required. +In FreeLoader the kernel command line is specified in an Options setting in freeldr.ini. Here is an example: + +; Boot ReactOS from drive C: +[ReactOS] +BootType=ReactOS +SystemPath=multi(0)disk(0)rdisk(0)partition(1)\reactos +Options=/DEBUGPORT=SCREEN + + +/DEBUGPORT is a boot option. It tells ReactOS to print debugging information to the screen. + + + + + +DEBUGPORT + +Format: DEBUGPORT=[SCREEN|BOCHS|GDB|PICE|COM1|COM2|COM3|COM4|FILE|MDA] + + + +Will enable some debugging features. + + +SCREEN: Send debug output to the screen. +BOCHS: Send debug output to bochs. +GDB: Enable the GNU debugger stub so remote debugging using GDB is possible. +PICE: Enable the Private ICE driver so debugging using Private ICE is possible. +COM1: Send debug output to COM1. +COM2: Send debug output to COM2. +COM3: Send debug output to COM3. +COM4: Send debug output to COM4. +FILE: Send debug output to a file (which file?). +MDA: Send debug output to MDA (what is this?). + + + + +BAUDRATE + +Format: BAUDRATE=[baudrate] + + + +Specifies baudrate of the serial port to be [baudrate] bps. Used in conjunction with COM1-4 or GDB. + + + + +IRQ + +Format: IRQ=[irq-number] + + + +Specifies IRQ number of the serial port to be [irq-number]. Used in conjunction with COM1-4 or GDB. + + + + +PROFILE + +Format: PROFILE + + + +Enables profiling. Profiling information will be written in %windir%\profiler.log. This will slow down the system quite a bit. + + + + +MAXMEM + +Format: MAXMEM=[maxmem] + + + +Will restrict ReactOS to use only the first [maxmem] MB of physical memory. + + + + diff --git a/rosdocs/tutorials/user/intro/installbin.xml b/rosdocs/tutorials/user/intro/installbin.xml new file mode 100644 index 0000000..9ad174b --- /dev/null +++ b/rosdocs/tutorials/user/intro/installbin.xml @@ -0,0 +1,66 @@ + +Download and install the latest ReactOS release binaries + + + + + +Where to get the latest ReactOS binaries and how to install them. + + + + +Where to download from + +ReactOS binaries are physically stored on ReactOS' SourceForge development site. You can download ReactOS directly from the SourceForge site, but some users may prefer to go via ReactOS.com. + + + + +Obtaining the latest binaries via reactos.com + +Visit reactos.com which is the ReactOS portal site. This site will always point to the latest binaries. +Click on the link, on the opening page of reactos.com that points to the latest "Kernel Release". +On the Latest Release page, click on the "Download kernel x.x.xx binaries" (eg. "Download kernel 0.0.18 binaries") link. + + + + +Obtaining the latest binaries via SourceForge + +Visit sourceforge.net/projects/reactos which is ReactOS' development site, hosted by SourceForge. +Scroll down to the "Latest File Releases" +Click on the "Download" link for the reactos package. +Scroll down to the reactos package (should be hilighted purple) and click on the xxxx_binary.zip (eg. 0018_binary.zip) link to download the binaries. + + + + +Installing the binaries + +Use your favourite zip utility to open the downloaded binary file. +Extract the binaries to c:\ (the archive has path information to extract under c:\reactos). +Check that the binaries are installed under c:\reactos (not c:\reactos\reactos!). + + +Note: You must extract the binaries to c:\reactos (first partition of first hard drive) if you wish to boot ReactOS under real hardware (DOS or boot loader). + + +Note: If you are going to use emulation software (we recommend Bochs; see Bochs documentation) to test ReactOS, then it does not matter where you extract to. + + + + diff --git a/rosdocs/tutorials/user/intro/installiso.xml b/rosdocs/tutorials/user/intro/installiso.xml new file mode 100644 index 0000000..c3251b5 --- /dev/null +++ b/rosdocs/tutorials/user/intro/installiso.xml @@ -0,0 +1,104 @@ + +Download and install the latest ReactOS ISO-CD image + + + + + +Where to get the latest ReactOS ISO-CD image and how to install it. + + + + +Where to download from + +ReactOS ISO-CD images are physically stored on ReactOS' SourceForge development site. You can download an image directly from the SourceForge site, but some users may prefer to go via ReactOS.com. + + + + +Obtaining the latest images via reactos.com + +Visit reactos.com which is the ReactOS portal site. This site will always point to the latest binaries. +Click on the link, on the opening page of reactos.com that points to the latest "ISO-CD Image". +On the Latest Release page, click on the "Download ReactOS x.x.xx ISO-CD Image" (eg. "Download ReactOS 0.1.0 ISO-CD Image") link. + + + + +Obtaining the latest binaries via SourceForge + +Visit sourceforge.net/projects/reactos which is ReactOS' development site, hosted by SourceForge. +Scroll down to the "Latest File Releases" +Click on the "Download" link for the reactos package. +Scroll down to the reactos package (should be hilighted purple) and click on the xxxx_iso.zip (eg. 010_iso.zip) link to download the binaries. + + + + +Creating the ReactOS-CD + +Use your favourite zip utility to open the downloaded image file. +Extract the CD-Image "reactos.iso" into a temporary directory. +Use your favorite CD writing software (WinOnCD, Nero burning ROM, etc.) to write the "reactos.iso" image file onto a CD-R or CD-RW. + + +Note: Have a look at the documentation of your CD writing software if you do not know how to write ISO-Images onto a CD-R. + + + + +Supported hardware and Setup limitations +ReactOS does not support all available hardware. It can only be booted from IDE CD-Drives and IDE Harddisks. USB-, Firewire- and SCSI-Drives or non-standard IDE controllers (eg. IDE-RAID controllers)are not supported yet. + +The setup utility is also limited in several ways: + +Disk partitions can be formatted using FAT32 only (don't format a partition smaller than approx. 500MB). +ReactOS can only be installed on FAT16 or FAT32 partitions. +The active partition must be a FAT16 or FAT32 partitions. +Filesystem integrity can not be checked. +It does not stop the user from doing stupid things. + + + + +Installing ReactOS from the CD + +Insert the ReactOS-CD into a CD-Drive and reboot your computer. ReactOS will boot from the CD and enter its setup program. +Follow the instructions on the screen to install ReactOS on your computer. +After the installation has finished, remove the CD from the CD-Drive and press "Return" to reboot your computer. Now, you can start ReactOS by selecting it from the boot menu. + + +Note: Have a look at the documentation of computers motherboard if your computer does not boot from the CD. Search the BIOS settings for "boot sequence" and change it to "CDROM A: C:". + + + + + +What happens to the Harddisk, especially the Bootsector? + +If the Windows NT/2000/XP boot manager NTLDR (and BOOT.INI) is found on the active partition nothing will happen to the bootsector of the partition. The FreeLoader-Bootcode is written to the file "BOOTSECT.ROS" and an entry is added to "BOOT.INI" which points to "BOOTSECT.ROS". FreeLoader becomes a secondary Boot-Manager. +To remove FreeLoader you will only have to delete the files FREELDR.SYS, FREELDR.INI, BOOTSECT.ROS and remove the "ReactOS" entry from the hidden "BOOT.INI" file. +If MS-DOS or Windows 9x is found on the active partition (MSDOS.SYS and IO.SYS) the original bootsector will be saved to the file "BOOTSECT.DOS". The FreeLoader-Bootcode will then be written to the Partiton-Bootsector and FreeLoader becomes the primary Boot-Manager. Finally a "DOS/Win9x"-Entry will be added to "FREELDR.INI" which points to "BOOTSECT.DOS". +To remove FreeLoader you will have to boot DOS from a floppy disk and run "SYS C:" to replace the FreeLoader-Bootcode by the original DOS-Bootcode. +If none of the Operating-Systems mentioned above is found on the active partition the original Bootsector is written to the file "BOOTSECT.OLD". The FreeLoader-Bootcode will then be written to the Partition-Bootsector. FreeLoader becomes the primary Boot-Manager. If you are using another Boot-Manager you will have to add "BOOSECT.OLD" to the boot menu in "FREELDR.INI". +To remove FreeLoader you will have to write "BOOTSECT.OLD" back to the bootsector. You can use "dd" to do this on Linux and other *nix-compatible Operating-Systems. + +Note: If the active partition uses a FAT32 filesystem the bootcode does not fit into a single sector but occupies two sectors. Microsoft uses Sector 0 (bootsector) and Sector 12. FreeLoader uses sector 0 and Sector 14. So, there should not be any conflicts with existing implementations. +Note: The implementation for non-Microsoft Operating-Systems is not as good as it should be. It will become more flexible in the future. + + + diff --git a/rosdocs/tutorials/user/intro/license.xml b/rosdocs/tutorials/user/intro/license.xml new file mode 100755 index 0000000..696ed9a --- /dev/null +++ b/rosdocs/tutorials/user/intro/license.xml @@ -0,0 +1,466 @@ + +ReactOS License: GNU General Public License + + + +Describes the ReactOS license. + + + + +GNU GENERAL PUBLIC LICENSE +Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. +59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + + + +Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + + + The precise terms and conditions for copying, distribution and +modification follow. + + + + +GNU GENERAL PUBLIC LICENSE +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + + + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + + + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + + + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + + + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + + + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + + + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + + + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + + + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + + + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + + + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + + + + +NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + + + END OF TERMS AND CONDITIONS + + + + + +How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + + +Also add information on how to contact you by electronic and paper mail. + + + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + + + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + + + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + + + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. + + + + + + diff --git a/rosdocs/tutorials/user/intro/organizational.xml b/rosdocs/tutorials/user/intro/organizational.xml new file mode 100644 index 0000000..a834a81 --- /dev/null +++ b/rosdocs/tutorials/user/intro/organizational.xml @@ -0,0 +1,102 @@ + +Organizational structure + + + + + +A description of the organization of people within the ReactOS project. + + + + +Teams and Coordinators + +ReactOS consists of several teams, including the Kernel, Applications and Media teams. Each team has a coordinator and there is an overall project coordinator. + + + + +Coordinators + +The coordinators are more facilitators than instructors of the teams. They are those who organize and assist the team where needed and are usually developers as well. Each coordinator has authority to make an overruling decision in any argument that may occur. This is exceptionally rare as ReactOS coordinators and developers always try to find the best solution that everyone is happy with. + + +Coordinators + + + +Position +Name +Email + + + + +Project Coordinator +Jason Filby +jasonfilby at yahoo dot com + + +Kernel Team Coordinator +Rex Jolliff +rex at lvcablemodem dot com + + +Applications Team Coordinator +Brian Palmer +brianp at sginet dot com + + +Media Team Coordinator +Eric Cayer +ecayer at mail dot cgocable dot ca + + + +
+
+ + +Team definitions + +Teams + + + +Team +Description + + + + +Kernel Team +Responsible for designing and implementing the ReactOS kernel and its system libraries. This is the most active team. + + +Applications Team +Responsible for designing and implementing common applications for ReactOS. Initial shell and small application discussions. + + +Media Team +Responsible for websites, graphics and everything media related + + + +
+
+ +
diff --git a/rosdocs/tutorials/user/intro/testbin.xml b/rosdocs/tutorials/user/intro/testbin.xml new file mode 100644 index 0000000..574b2e4 --- /dev/null +++ b/rosdocs/tutorials/user/intro/testbin.xml @@ -0,0 +1,52 @@ + +Testing ReactOS + + + + + +How to test the installed ReactOS binaries. + + + + +Booting ReactOS + +Reboot your system in plain DOS +Change directory to C:\reactos +Type "boot" or "aboot" at the command prompt (aboot.bat is the boot script with ACPI support). +You should observe a few messages as drivers load. +Wait until the prompt reappears (the screen should turn blue while ReactOS boots). +Go on to next section. + + + + +Testing ReactOS + + + + + + +Reporting Problems + +If you encounter problems with either booting or running your application, please send a email to ros-general@reactos.com with a subject of "BUG REPORT: Problem run foo while booting on bar". Foo being your application and bar being the release +of ReactOS you are running, (0.0.19-Release). Please Include in the body of your email, a detailed discription of the hardware you are running on, application you are having problems with and all debug output. + + + + diff --git a/rosdocs/tutorials/user/intro/whyandhow.xml b/rosdocs/tutorials/user/intro/whyandhow.xml new file mode 100644 index 0000000..83e8ad8 --- /dev/null +++ b/rosdocs/tutorials/user/intro/whyandhow.xml @@ -0,0 +1,50 @@ + +The why and how of ReactOS + + + +As an introduction to ReactOS. The chapter is about how the project came about and what the developers hope to achieve. + + + + +Running Windows applications on an Open Source Operating System + +Since Microsoft Windows has a monopoly on the desktop, many projects have been started to get Windows applications to run on other operating systems. This is because if you have a fantastic OS, but no or little applications, your OS will probably see little growth or die. This is the story of many OSs, that while technically superior to Windows at the time, died off or have seen little growth. + + +Ever since OS/2, people have been trying to get Windows applications to run on other OSs. Linux has at least two projects towards this end, WINE (more popular) and TWIN. + + + + +ReactOS beginnings + +Around about 1996 some people decided to create an OS from scratch that would run Windows applications. It would be called FreeWin95. These people were dissatisfied with the Linux/WINE solution and wanted an OS that was dedicated to running Windows applications, without having to pay Microsoft money and being Open Source (source code available to all). Unfortunately, this project did not take off because people could not agree on exactly what the project should be or how it should be designed. + + +In early 1998, Jason Filby volunteered to become project coordinator of the almost abandoned project. After some initial discussion it was decided that the project would be mostly a Windows NT clone. The project was renamed to ReactOS to reflect the change in direction and the fact that Microsoft's desktop monopoly had prompted this reaction from developers around the world. Since NT was far superior to the then Windows 95, it was the obvious choice. It was also decided that instead of just being application compatible, ReactOS would also be driver compatible with NT. + + + + +ReactOS today + +ReactOS still has a long way to go, but the developers are confident that ReactOS will one day be a viable alternative to Microsoft desktop operating systems. Some are even considering using ReactOS as a server, as it is based on NT. We look forward to the future of ReactOS with great expectation! + + + + diff --git a/rosdocs/tutorials/user/usertuts.xml b/rosdocs/tutorials/user/usertuts.xml new file mode 100644 index 0000000..e0ec00c --- /dev/null +++ b/rosdocs/tutorials/user/usertuts.xml @@ -0,0 +1,34 @@ + + + + +
+ + + User Tutorials for ReactOS + + Jason + Filby + +
+ jasonfilby@yahoo.com +
+
+
+
+ + +Introduction + +The why and how of ReactOS +ReactOS license: GNU General Public License +Organizational structure +About ReactOS +Download and install the latest ReactOS ISO-CD image +Download and install the latest ReactOS release binaries +Testing ReactOS +Where to go from here (newbie user) + + + +
diff --git a/rosdocs/xsl/BUGS b/rosdocs/xsl/BUGS new file mode 100644 index 0000000..5723ffd --- /dev/null +++ b/rosdocs/xsl/BUGS @@ -0,0 +1,6 @@ +The fo stylesheet is probably not in perfect sync with the html stylesheet + +Using Equations w/o titles results in incorrectly numbered + equations with titles. Use InformalEquation instead. + +The 'char' alignment in tables is not supported diff --git a/rosdocs/xsl/ChangeLog b/rosdocs/xsl/ChangeLog new file mode 100644 index 0000000..80dbeee --- /dev/null +++ b/rosdocs/xsl/ChangeLog @@ -0,0 +1,140 @@ +2002-06-03 Norman Walsh + + * VERSION: Version 1.51.1 released. + +2002-06-02 Norman Walsh + + * RELEASE-NOTES.xml: Added release notes for 1.51.0 + + * VERSION: Version 1.51.0 released. + +2002-05-16 Norman Walsh + + * VERSION: Oops. + + * VERSION: Oops again. + + * VERSION: Version 1.50.1-EXP2 released. + +2002-03-25 Norman Walsh + + * Makefile: Updated xhtml generation + + * VERSION: Version 1.50.1-EXP released. + +2002-03-21 Norman Walsh + + * Makefile: Allow next version to be specified on call to make + + * RELEASE-NOTES.xml: Tweaked intro; changed date + + * RELEASE-NOTES.xml: Added note about three-part versions + + * VERSION: Version 1.50.0 released. + +2002-03-18 Norman Walsh + + * .cvsignore, Makefile: Added RELEASE-NOTES.html + + * RELEASE-NOTES.xml: New file. + +2002-03-14 Norman Walsh + + * VERSION: Keep CVS versions distinct from real releases + +2002-03-01 Jirka Kosek + + * Makefile: First portion of new profiling code. New stylesheet parameters will come later. + +2002-02-21 Norman Walsh + + * Makefile: Make sure xhtml directory gets built properly + +2002-02-20 Norman Walsh + + * VERSION: Version 1.49 released. + +2002-01-06 Norman Walsh + + * Makefile: Clean docsrc + + * Makefile: Remove .*~ from the ZIP file + + * VERSION: Version 1.48 released. + +2001-11-28 Norman Walsh + + * README: Updated Use section + + * VERSION: Version 1.47 released. + + * VERSION: Keep CVS versions distinct from real releases + +2001-10-13 Norman Walsh + + * VERSION: Version 1.46 released. + +2001-09-29 Norman Walsh + + * VERSION: Version 1.45 released. + + * VERSION: Keep CVS versions distinct from real releases + +2001-08-14 Norman Walsh + + * VERSION: Version 1.44 released. + +2001-08-13 Norman Walsh + + * VERSION: Version 1.43 released. + + * VERSION: Keep CVS versions distinct from real releases + +2001-08-06 Norman Walsh + + * VERSION: Keep CVS versions distinct from real releases + + * VERSION: Version 1.42 released. + +2001-08-04 Norman Walsh + + * VERSION: Make VERSION a parameter so that it isn't an error some stylesheets override it + +2001-07-09 Norman Walsh + + * VERSION: Version 1.41 released. + +2001-06-14 Norman Walsh + + * VERSION: Version 1.40 released. + +2001-05-24 Norman Walsh + + * VERSION: Version 1.39 released. + +2001-05-21 Norman Walsh + + * VERSION: Version 1.38 released. + +2001-04-20 Norman Walsh + + * VERSION: Version 1.37 released. + +2001-04-15 Norman Walsh + + * Makefile, README: Make distribution hacks + +2001-04-04 Norman Walsh + + * VERSION: Version 1.36 released. + +2001-04-03 Norman Walsh + + * .cvsignore, Makefile: Misc. cleanup in preparation for making a distrib + +2001-04-02 Norman Walsh + + * BUGS, Makefile, README.CVS, TODO, VERSION: New file. + + * Makefile: Make common files + diff --git a/rosdocs/xsl/README b/rosdocs/xsl/README new file mode 100644 index 0000000..157a61b --- /dev/null +++ b/rosdocs/xsl/README @@ -0,0 +1,107 @@ +README for the DocBook Stylesheets + +These are XSL stylesheets for the DocBook XML DTD. (They would +also work for the DocBook DTD, modulo certain namecase problems +and the fact that there aren't (yet) any XSL implementations +that work with SGML source documents.) + +As of version 1.0, most of the elements in DocBook are handled +in some way or another, usually reasonably, but there's still +lots of work to be done. + +For more information, see http://docbook.sourceforge.net/ + +Manifest +-------- + +README this file +TODO planned features not yet implemented (may be incomplete :-) +BUGS known problems (may also be incomplete :-) +VERSION the current version number (note that this is an XSL stylesheet, + included by both fo/docbook.xsl and html/docbook.xsl) +WhatsNew changes since the last public release (for a complete list + of changes, see the ChangeLog file(s)) +common/ contains code common to both stylesheets +doc/ documentation +docsrc/ documentation sources +extensions/ Java extensions +fo/ stylesheets that produce XSL FO +html/ stylesheets that produce HTML +htmlhelp/ stylesheets that produce HTML Help +images/ images +javahelp/ stylesheets that produce Java Help +lib/ contains schema-independent functions +template/ contains templates for building stylesheet customization layers +xhtml/ stylesheets that produce XHTML + +Changes +------- + +See the ChangeLog in each directory for additional information +about the specific changes. + +See WhatsNew for changes since the last release. + +Installation +------------ + +Unpack the distribution somewhere. + +Use +--- + +Process your DocBook documents with one of the following stylesheets +using your favorite XSLT processor: + + xhtml/docbook.xsl - for XHTML + html/docbook.xsl - for HTML (as a single file) + html/chunk.xsl - for HTML (multiple files) + fo/docbook.xsl - for XSL FO + htmlhelp/htmlhelp.xsl - for HTML Help + javahelp/javahelp.xsl - for JavaHelp + +Copyright +--------- + +Copyright (C) 1999, 2000, 2001 Norman Walsh + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and 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. + +Except as contained in this notice, the names of individuals +credited with contribution to this software shall not be used in +advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization +from the individuals in question. + +Any stylesheet derived from this Software that is publically +distributed will be identified with a different name and the +version strings in any derived Software will be changed so that +no possibility of confusion between the derived package and this +Software will exist. + +Warranty +-------- + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL NORMAN WALSH OR ANY OTHER +CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Contacting the Author +--------------------- + +These stylesheets are maintained by Norman Walsh, . diff --git a/rosdocs/xsl/RELEASE-NOTES.html b/rosdocs/xsl/RELEASE-NOTES.html new file mode 100644 index 0000000..3c71542 --- /dev/null +++ b/rosdocs/xsl/RELEASE-NOTES.html @@ -0,0 +1,43 @@ + + + DocBook XSL Stylesheets Release Notes

DocBook XSL Stylesheets Release Notes

DocBook Open Repository Team

$Id$ +

02 Jun 2002


These are the release notes for the DocBook XSL Stylesheets. +This file documents (mostly) changes to the public APIs. What, +exactly, counts as a public API is still somewhat in question, but it +includes at least the global parameters.

Release 1.51.0

  • Added an extension function to determine the intrinsic size of +an image. Works for the image formats supported by the Java Image +class and or PostScript-derived formats.

  • Added callout bullets 11-15. +

  • Removed obsolete using.chunker parameter. +

  • Added points.per.em parameter. +

  • Added generate.manifest parameter. +

  • Added manifest parameter. +

  • Added compact.list.item.spacing parameter. +

  • Added html.extra.head.links parameter. +

  • Added use.svg parameter; support SVG in HTML. +

  • Convert the library code to a literate programming style with xweb. +

  • Support xref to any element that has a title (at least +when it has a title). +

  • Pass MathML through unchanged. +

  • Completely reworked support for graphic attributes in HTML. +

  • Add additional LINK elements to the HTML +HEAD (for site navigation as in Mozilla---note, +however, that Mozilla has disabled this recently for the 1.0 release). +

  • Support shade.verbatim parameter in FO. +

  • Support compact list spacing in FO. +

Release 1.50.0

  • This release introduces a new version numbering scheme. Version +numbers are now three part: major.middle.minor. Changes to the middle +version number indicate a change in the public API. Changes in only the +minor number indicate simply a new release.

  • The generate.*.toc +and generate.*.lot +parameters have been replaced by a single structured parameter, +generate.toc.

    It's likely that the HTML and FO stylesheets do not handle ToC generation +in exactly the same way, but they should.

  • Added strip-attributes.xsl to the profiling +stylesheets. This allows one to strip off, for example, profiling attributes +after a document has been profiled.

  • Improved numeration of footnotes and table footnotes. Made table footnotes +render “properly” in FOs.

  • Added a formal.title.placement parameter, allowing +users to select placement of formal object titles either above or below the +object.

  • Improved control over delimiters for TeX equations.

  • Support classsynopsis and friends in FOs.

  • Changed HTML stylesheets to use em instead of +i for emphasis.

  • Added chunk.quietly parameter.

  • Improved profiling code to support the full range of profiling attributes +and to support one-pass profiling (if your XSLT processor understands the +EXSLT node-set +function.

\ No newline at end of file diff --git a/rosdocs/xsl/RELEASE-NOTES.xml b/rosdocs/xsl/RELEASE-NOTES.xml new file mode 100644 index 0000000..b49cfb2 --- /dev/null +++ b/rosdocs/xsl/RELEASE-NOTES.xml @@ -0,0 +1,161 @@ + + +
+ +DocBook XSL Stylesheets Release Notes +02 Jun 2002 +$Id$ + + +DocBook Open Repository Team + + + +These are the release notes for the DocBook XSL Stylesheets. +This file documents (mostly) changes to the public APIs. What, +exactly, counts as a public API is still somewhat in question, but it +includes at least the global parameters. + +Release 1.51.0 + + +Added an extension function to determine the intrinsic size of +an image. Works for the image formats supported by the Java Image +class and or PostScript-derived formats. + + + +Added callout bullets 11-15. + + + + +Removed obsolete using.chunker parameter. + + + + +Added points.per.em parameter. + + + + +Added generate.manifest parameter. + + + + +Added manifest parameter. + + + + +Added compact.list.item.spacing parameter. + + + + +Added html.extra.head.links parameter. + + + + +Added use.svg parameter; support SVG in HTML. + + + + +Convert the library code to a literate programming style with xweb. + + + + +Support xref to any element that has a title (at least +when it has a title). + + + + +Pass MathML through unchanged. + + + + +Completely reworked support for graphic attributes in HTML. + + + + +Add additional LINK elements to the HTML +HEAD (for site navigation as in Mozilla---note, +however, that Mozilla has disabled this recently for the 1.0 release). + + + + +Support shade.verbatim parameter in FO. + + + + +Support compact list spacing in FO. + + + + +Release 1.50.0 + + +This release introduces a new version numbering scheme. Version +numbers are now three part: major.middle.minor. Changes to the middle +version number indicate a change in the public API. Changes in only the +minor number indicate simply a new release. + + + +The generate.*.toc +and generate.*.lot +parameters have been replaced by a single structured parameter, +generate.toc. + +It's likely that the HTML and FO stylesheets do not handle ToC generation +in exactly the same way, but they should. + + +Added strip-attributes.xsl to the profiling +stylesheets. This allows one to strip off, for example, profiling attributes +after a document has been profiled. + + +Improved numeration of footnotes and table footnotes. Made table footnotes +render properly in FOs. + + +Added a formal.title.placement parameter, allowing +users to select placement of formal object titles either above or below the +object. + + +Improved control over delimiters for TeX equations. + + +Support classsynopsis and friends in FOs. + + +Changed HTML stylesheets to use em instead of +i for emphasis. + + +Added chunk.quietly parameter. + + +Improved profiling code to support the full range of profiling attributes +and to support one-pass profiling (if your XSLT processor understands the +EXSLT node-set +function. + + + +
diff --git a/rosdocs/xsl/TODO b/rosdocs/xsl/TODO new file mode 100644 index 0000000..526aca8 --- /dev/null +++ b/rosdocs/xsl/TODO @@ -0,0 +1,4 @@ +Documentation +Continued lists +Bibliography support needs improvement + diff --git a/rosdocs/xsl/VERSION b/rosdocs/xsl/VERSION new file mode 100644 index 0000000..96c3699 --- /dev/null +++ b/rosdocs/xsl/VERSION @@ -0,0 +1,6 @@ + + +1.51.1 + + diff --git a/rosdocs/xsl/WhatsNew b/rosdocs/xsl/WhatsNew new file mode 100644 index 0000000..b176492 --- /dev/null +++ b/rosdocs/xsl/WhatsNew @@ -0,0 +1,515 @@ +Changes since version 1.50.0 (2002-03-21) + +Changes to xsl/* + + | 2002-06-03 Norman Walsh + | + | * VERSION: Version 1.51.1 released. + | + | 2002-06-02 Norman Walsh + | + | * RELEASE-NOTES.xml: Added release notes for 1.51.0 + | + | * VERSION: Version 1.51.0 released. + | + | 2002-05-16 Norman Walsh + | + | * VERSION: Oops. + | + | * VERSION: Oops again. + | + | * VERSION: Version 1.50.1-EXP2 released. + | + | 2002-03-25 Norman Walsh + | + | * Makefile: Updated xhtml generation + | + | * VERSION: Version 1.50.1-EXP released. + | + +Changes to xsl/common/* + + | 2002-05-23 Norman Walsh + | + | * common.xsl: Support for SVG in HTML + | + | 2002-05-21 Norman Walsh + | + | * gentext.xsl: Whitespace + | + | * labels.xsl: Don't generate '. ' after QandA labels + | + | 2002-05-12 Norman Walsh + | + | * common.xsl: Fix bugs in extension checking in + | mediaobject.filename + | + | * l10n.xsl: Reworked test in gentext.template; should have no + | user-visible changes + | + | * table.xsl: Removed some obsolete templates; reworked + | inheritance for improved border support (still implements + | old DocBook semantics which aren't quite CALS) + | + | * titles.xsl: Improved error message + | + | 2002-04-21 Norman Walsh + | + | * .cvsignore, Makefile, l10n.xml: Add support for Hebrew + | localization + | + | 2002-03-24 Norman Walsh + | + | * common.xsl: Change comment: personname is no longer + | experimental + | + +Changes to xsl/docsrc/* + + | 2002-04-26 Michael Smith + | + | * publishing.xml: added links to Daniel Veillard's DocBook + | page + | + | 2002-03-27 Michael Smith + | + | * publishing.xml: Added admon: Don't use XT; XT examples -> + | Saxon; added info on xsltproc + | + | 2002-03-25 Norman Walsh + | + | * Makefile: The lib documenation is now built with Literate + | XML + | + | * reference.xml: Update documentation build to reflect use of + | lib.xweb + | + +Changes to xsl/extensions/* + + | 2002-05-17 Norman Walsh + | + | * Makefile: Fix bugs in jar creation + | + +Changes to xsl/fo/* + + | 2002-06-02 Norman Walsh + | + | * lists.xsl: Support title on step in procedure + | + | 2002-06-01 Norman Walsh + | + | * inline.xsl: Bug #560808 make systemitem formatting + | consistent + | + | 2002-05-23 Norman Walsh + | + | * param.ent, param.xweb: Support for SVG in HTML + | + | 2002-05-21 Norman Walsh + | + | * qandaset.xsl: Output '. ' in some contexts (this is a hack) + | + | 2002-05-14 Norman Walsh + | + | * footnote.xsl: Format footnotes with format.footnote.mark + | named template for easy customization + | + | 2002-05-13 Norman Walsh + | + | * lists.xsl, param.ent, param.xweb: Support spacing=compact on + | itemizedlist and orderedlist (Bug #501063) + | + | 2002-05-12 Norman Walsh + | + | * block.xsl: Make sure IDs get generated for blockquote and + | epigraph + | + | * formal.xsl, table.xsl: Make border-collapse='collapse' + | explicitly (that's the only model that works for CALS + | tables) + | + | * graphics.xsl: Reworked support for graphic attributes; now + | support DocBook 4.2CR1 attributes + | + | * lists.xsl: Bug #511965: add formal.title.properties to + | calloutlist titles + | + | * math.xsl: Support MathML by passing it silently through to + | the FO result + | + | * sections.xsl: Allow anchors in section titles; improve + | efforts to prevent page/column breaks immediately after + | section titles + | + | * xref.xsl: Support xref to refnamediv and all elements with + | titles (at least when they have titles) + | + | 2002-05-06 Norman Walsh + | + | * admon.xsl: Fix url() in admonition graphics + | + | * callout.xsl: Fix url() in callout graphics + | + | 2002-04-30 Norman Walsh + | + | * biblio.xsl: Use title.font.family in bibliodiv + | + | 2002-04-20 Norman Walsh + | + | * param.ent, param.xweb, verbatim.xsl: Support shade.verbatim + | in FO; stop using vendor test to decide what extension + | function to call for line numbering + | + | 2002-03-28 Norman Walsh + | + | * autotoc.xsl: Attempt to fix duplicate-id problem in ToC + | generation + | + | * xep.xsl: Make XEP point to ToC pages for books, parts, etc. + | from PDF bookmarks + | + | 2002-03-26 Norman Walsh + | + | * lists.xsl: Set maxlength of termlength to 12 + | + | * param.xweb: Documentation fix + | + | 2002-03-25 Norman Walsh + | + | * component.xsl: Handle prefaceinfo + | + | * formal.xsl: Handle textobject in tables + | + | * graphics.xsl: Add template for mediaobjectco + | + | * inline.xsl: Support personname + | + | * math.xsl: Handle alt + | + | * xref.xsl: Support xrefs to editor, othercredit, and + | personname + | + | 2002-03-22 Norman Walsh + | + | * titlepage.xsl: Output blocks instead of wrappers around + | authors + | + +Changes to xsl/html/* + + | 2002-05-23 Norman Walsh + | + | * graphics.xsl, param.ent, param.xweb: Support for SVG in HTML + | + | * html-rtf.xsl: Protect calls to extension functions behind + | function-available tests + | + | 2002-05-21 Norman Walsh + | + | * qandaset.xsl: Fix anchors for references to QandAEntrys. + | Output '. ' in some contexts (this is a hack) + | + | 2002-05-17 Norman Walsh + | + | * onechunk.xsl: Make TOC (and other internal references) all + | just fragment identifiers...we're making one chunk after all + | + | 2002-05-16 Norman Walsh + | + | * autotoc.xsl, html.xsl: Moved href.target to html.xsl; added + | href.target.uri (which is functionally equivalent to + | href.target in the non-chunking case) + | + | 2002-05-15 Norman Walsh + | + | * chunk.xsl, onechunk.xsl: Fix bugs in onechunk---it wasn't + | working at all + | + | 2002-05-14 Norman Walsh + | + | * graphics.xsl: Bug #555809: make sure that a longdesc, if + | written, gets the correct relative URI + | + | 2002-05-13 Norman Walsh + | + | * chunk-common.xsl: Fix inherited directory naming problems + | when using dbhtml. Add context to site navigation link calls + | + | * chunk-common.xsl, param.ent, param.xweb: Add extra LINK + | elements to the HTML HEAD of chunked output (for enhanced + | site navigation as per Mozilla 1.0) + | + | * chunker.xsl: Work around relative filename bug in libxslt + | + | * pi.xsl: Try to avoid x//y in inherited dbhtml dir settings + | + | 2002-05-12 Norman Walsh + | + | * block.xsl: Support title on blockquote + | + | * chunk.xsl: Turn off refentry.separator by default when + | chunking + | + | * chunk.xsl: Fix ugly prev/next bug introduced by my attempt + | to work around Xalan problems + | + | * graphics.xsl: Reworked support for graphic attributes; now + | support DocBook 4.2CR1 attributes + | + | * html.xsl: Remove reference to obsolete using.chunker + | parameter + | + | * math.xsl: Support MathML by passing it through unchanged + | + | * param.ent, param.xweb: Added points.per.em; removed obsolete + | using.chunker + | + | * table.xsl: Improve support for table borders drawn with CSS + | (get the semantics right); add support for entry-bgcolor PI + | + | * verbatim.xsl: Format literal layout elements correctly when + | linenumbering + | + | * xref.xsl: Support xref to refnamediv and all elements with + | titles (at least when they have titles) + | + | 2002-05-10 Jirka Kosek + | + | * chunk.xsl: Added support for manifest file as requested by + | Nik in #552945 + | + | 2002-05-10 Norman Walsh + | + | * lists.xsl: Remove reference to obsolete using.chunker + | parameter + | + | 2002-05-10 Jirka Kosek + | + | * manifest.xsl, param.ent, param.xweb: Added support for + | manifest file as requested by Nik in #552945 + | + | 2002-05-10 Norman Walsh + | + | * pi.xsl: Remove reference to obsolete using.chunker parameter + | + | 2002-05-07 Robert Stayton + | + | * chunk.xsl: The call to write.chunk did not have the + | $chunk.quietly parameter set. I think I failed to commit + | that change after testing it in Feb. + | + | * xref.xsl: Added a template for article in mode="xref-to" + | that is similar to the one for chapter. Now you can use + | with a linkend pointing to an article. + | + | 2002-05-06 Norman Walsh + | + | * chunk.xsl, onechunk.xsl: Fix bug #551966 applying onechunk + | to book + | + | 2002-04-30 Norman Walsh + | + | * chunk.xsl: First attempt to workaround Xalan + | array-out-of-bounds bug + | + | 2002-03-25 Norman Walsh + | + | * autotoc.xsl, chunk-common.xsl, pi.xsl: Handle links across + | dbhtml-specified relative directories correctly + | + | * formal.xsl: Support longdesc on tables + | + | * table.xsl: Use the textobject/phrase for the table summary + | attribute, if one is present + | + | 2002-03-24 Norman Walsh + | + | * graphics.xsl: Remove style from longdesc link; added support + | for textdata in textobject + | + | * inline.xsl: Support personname + | + | * xref.xsl: Handle xref to editor, othercredit, and personname + | + +Changes to xsl/lib/* + + | 2002-05-12 Norman Walsh + | + | * lib.xweb: Changed default units to px; added + | length-in-points template + | + | 2002-03-25 Norman Walsh + | + | * .cvsignore: Ignore lib.xsl too + | + | * .cvsignore, Makefile, lib.xsl, lib.xweb: Use Literate XML to + | generate lib.xsl + | + | * Makefile: Update documentation build to reflect use of + | lib.xweb + | + +Changes to xsl/xhtml/* + + | 2002-05-17 Norman Walsh + | + | * Makefile: Make the add-new rule actually, uhm, add new + | files. + | + | 2002-03-25 Norman Walsh + | + | * Makefile: Improved rules + | + +Changes to xsl/params/* + + | 2002-05-24 + | + | * callout.unicode.number.limit.xml, + | callout.unicode.start.character.xml: Updating docs. + | + | 2002-05-23 Norman Walsh + | + | * use.svg.xml: New file. + | + | 2002-05-14 Michael Smith + | + | * generate.manifest.xml, manifest.xml: added descriptions + | + | 2002-05-13 Norman Walsh + | + | * compact.list.item.spacing.xml: New file. + | + | * html.extra.head.links.xml: New file. + | + | 2002-05-10 Jirka Kosek + | + | * generate.manifest.xml, manifest.xml: New file. + | + | 2002-05-10 Norman Walsh + | + | * points.per.em.xml: New file. + | + | * using.chunker.xml: Obsolete parameter + | + | 2002-04-20 Norman Walsh + | + | * generate.toc.xml: Improve documentation + | + | * shade.verbatim.style.xml: Support shade.verbatim in FO; stop + | using vendor test to decide what extension function to call + | for line numbering + | + | * verbatim.properties.xml: Whitespace + | + +Changes to xsl/doc/* + + | 2002-03-25 Norman Walsh + | + | * Makefile: Update documentation build to reflect use of + | lib.xweb + | + +Changes to xsl/htmlhelp/* + + | 2002-05-10 Jirka Kosek + | + | * htmlhelp.xsl: Updated to use shared manifest code. + | + | 2002-04-11 Jirka Kosek + | + | * htmlhelp.xsl: Updated to support new generate.toc parameter. + | + +Changes to xsl/javahelp/* + + | 2002-05-17 Norman Walsh + | + | * javahelp.xsl: Put ancillary files in base.dir + | + +Changes to xsl/profiling/* + + | 2002-05-15 Jirka Kosek + | + | * xsl2profile.xsl: Hopefully fixed bug #549736. Single-pass + | profiling should also work in FO stylesheet from now. + | + +Changes to xsl/images/callouts/* + + | 2002-05-17 Norman Walsh + | + | * 11.gif, 11.png, 12.gif, 12.png, 13.gif, 13.png, 14.gif, + | 14.png, 15.gif, 15.png: New file. + | + +Changes to xsl/doc/lib/* + + | 2002-03-25 Norman Walsh + | + | * Makefile: Update documentation build to reflect use of + | lib.xweb + | + +Changes to xsl/extensions/saxon643/.classes/* + + | 2002-05-17 Norman Walsh + | + | * Makefile.common: Fix bugs in jar creation + | + | 2002-05-08 Norman Walsh + | + | * Makefile.incl: New extensions to determine the size of an + | image + | + +Changes to xsl/extensions/xalan2/.classes/* + + | 2002-05-17 Norman Walsh + | + | * Makefile.common: Fix bugs in jar creation + | + +Changes to xsl/extensions/saxon643/.classes/com/* + + | 2002-05-08 Norman Walsh + | + | * Makefile.incl: New extensions to determine the size of an + | image + | + +Changes to xsl/extensions/saxon643/.classes/com/nwalsh/* + + | 2002-05-08 Norman Walsh + | + | * Makefile.incl: New extensions to determine the size of an + | image + | + +Changes to xsl/extensions/saxon643/com/nwalsh/saxon/* + + | 2002-05-08 Norman Walsh + | + | * ImageIntrinsics.java: New file. + | + +Changes to xsl/extensions/xalan2/com/nwalsh/xalan/* + + | 2002-05-08 Norman Walsh + | + | * ImageIntrinsics.java: New file. + | + +Changes to xsl/extensions/saxon643/.classes/com/nwalsh/saxon/* + + | 2002-05-08 Norman Walsh + | + | * Makefile.incl: New extensions to determine the size of an + | image + | + diff --git a/rosdocs/xsl/common/ChangeLog b/rosdocs/xsl/common/ChangeLog new file mode 100644 index 0000000..8ebd0e0 --- /dev/null +++ b/rosdocs/xsl/common/ChangeLog @@ -0,0 +1,305 @@ +2002-05-23 Norman Walsh + + * common.xsl: Support for SVG in HTML + +2002-05-21 Norman Walsh + + * gentext.xsl: Whitespace + + * labels.xsl: Don't generate '. ' after QandA labels + +2002-05-12 Norman Walsh + + * common.xsl: Fix bugs in extension checking in mediaobject.filename + + * l10n.xsl: Reworked test in gentext.template; should have no user-visible changes + + * table.xsl: Removed some obsolete templates; reworked inheritance for improved border support (still implements old DocBook semantics which aren't quite CALS) + + * titles.xsl: Improved error message + +2002-04-21 Norman Walsh + + * .cvsignore, Makefile, l10n.xml: Add support for Hebrew localization + +2002-03-24 Norman Walsh + + * common.xsl: Change comment: personname is no longer experimental + +2002-03-18 Norman Walsh + + * common.xsl: Replace generate.*.toc and generate.*.lot with single generate.toc parameter. + +2002-03-18 Robert Stayton + + * gentext.xsl: Replaced the substitute-markup template with one + using simpler logic. Added params for the content + to be substituted so it can be used with olinks + where the content is supplied from a data file. + +2002-03-14 Norman Walsh + + * common.xsl: Handle revisionflag a little better on copyrights + + * common.xsl, gentext.xsl, l10n.xsl, labels.xsl, subtitles.xsl, table.xsl, titles.xsl: + Whitespace only: change CR/LF back to LF. Norm was a total moron. + + * common.xsl, gentext.xsl, l10n.xsl, labels.xsl, subtitles.xsl, table.xsl, titles.xsl: + Whitespace changes only: use PC-style CR/LF because Unix clients choke on this far less often than PC clients choke on the reverse. Grrr. + +2002-03-07 Robert Stayton + + * titles.xsl: refentry title in title.markup mode now follows $allow-anchors setting + to prevent index entries from appearing in the TOC. + +2002-01-28 Norman Walsh + + * l10n.dtd, l10n.xml: Tweaks to the l10n.dtd to make it as namespace aware as DTDs can be + +2002-01-25 Norman Walsh + + * table.xsl: Fix bug that caused rowsep and colsep to be ignored on empty cells + +2002-01-10 Norman Walsh + + * l10n.xsl: Don't rely on the order of attribute nodes cause they don't have one + +2002-01-03 Norman Walsh + + * .cvsignore, Makefile: Added Thai localization + + * common.xsl: Calculate itemized list symbol based on depth analagous to orderedlist numeration + + * gentext.xsl: Use unnumbered gentext keys appropriately + +2001-12-15 Jirka Kosek + + * common.xsl: Improved support for TeX math inside equations. + +2001-12-04 Norman Walsh + + * labels.xsl: Bug #435320: Poor enumeration of LoTs and LoFs + + * titles.xsl: Bug! Can't put HTML here. But what does this break? + +2001-12-02 Norman Walsh + + * titles.xsl: Make no.anchor.mode 'sticky'. This is really necessary because otherwise title inlines effectively turn it off + +2001-12-01 Norman Walsh + + * labels.xsl: Improve FAQ labeling + +2001-11-29 Robert Stayton + + * l10n.xsl: Fixed error message for missing localization so that if + missing in en.xml, it doesn't say 'using en'. + +2001-11-28 Norman Walsh + + * common.xsl: Added punct.honorific parameter + + * l10n.xsl: Removed crufty gentext.xref.text template + +2001-11-15 Norman Walsh + + * common.xsl: Support experimental personname wrapper + +2001-11-14 Norman Walsh + + * .cvsignore, Makefile, l10n.xml: Added Basque + +2001-11-12 Norman Walsh + + * common.xsl: Support well-formed documents, use key() instead of id() + +2001-11-09 Norman Walsh + + * .cvsignore, Makefile, l10n.xml: Added Nynorsk + +2001-11-06 Norman Walsh + + * labels.xsl: Why did I assume sections should always be labelled in articles? + +2001-11-02 Norman Walsh + + * common.xsl: Support FAMILY Given style personal names + +2001-10-30 Norman Walsh + + * .cvsignore, Makefile, l10n.xml: Added Xhosa + +2001-10-16 Norman Walsh + + * table.xsl: Table support improvements + +2001-10-15 Norman Walsh + + * .cvsignore, Makefile, l10n.xml: Added Ukranian + + * table.xsl: Fix calculation of rowsep and colsep; added experimental support for table.borders.with.css in HTML; calculation of alignments needs to be added along the same lines + +2001-10-14 Norman Walsh + + * table.xsl: New file. + +2001-09-25 Norman Walsh + + * common.xsl: Support automatic collation of year ranges in copyright + + * l10n.xsl: Fix gentext.nav.* templates + +2001-09-22 Norman Walsh + + * gentext.xsl: Rewrote substitute-markup to support %p + + * gentext.xsl, labels.xsl: Bug #463033: allow xref to list items (in orderedlists) and varlistentrys + + * titles.xsl: Support title.markup for legal notices + +2001-08-29 Norman Walsh + + * common.xsl: Fix orderedlist numerations + +2001-08-14 Norman Walsh + + * l10n.xsl: Calculation of the dingbat nodeset was simply broken + +2001-08-13 Norman Walsh + + * Makefile: Added stylesheet as a dependency + +2001-08-04 Norman Walsh + + * l10n.dtd: Rename internationalization to i18n, localization to l10n + + * l10n.xml: Rename internationalization to i18n, localization to l10n, add namespace declaration + + * l10n.xsl: Support a local i18n override, rename internationalization to i18n, localization to l10n, add namespace declaration + + * labels.xsl: PartIntros never get a label + +2001-08-01 Norman Walsh + + * gentext.xsl: Pass allow-anchors through properly + + * labels.xsl: Fix question labelling + + * titles.xsl: Output anchors for titles if the titles have ids + +2001-07-31 Robert Stayton + + * l10n.xsl: Reverted the change from [last()] to [1] back to [last()] + because that is the correct code. + + * l10n.xsl: Added code to the "l10n.language" template to fall + back to the two-letter lang code if a longer lang + does not have a .xml localization file. + And it falls back to the default lang if it can't + find that either. + + Also fixed a bug for finding the lang attribute. + It was using the last() function, but in an + ancestor-or-self node set you want the first ancestor + (closest) with a lang value. + + 49c49 + < |ancestor-or-self::*/@xml:lang)[last()]"/> + --- + > |ancestor-or-self::*/@xml:lang)[1]"/> + +2001-07-17 Jirka Kosek + + * common.xsl: Fixed bug #442160. Parameter graphic.default.extension is now used also for and not only for . + +2001-07-08 Norman Walsh + + * gentext.xsl, titles.xsl: Support xref to bridgehead + +2001-07-04 + + * .cvsignore, Makefile, l10n.xml: Added support for Turkish + + * .cvsignore, Makefile, l10n.xml: Added Afrikaans + + * common.xsl, titles.xsl: Bug #429011, fix xref to qandset elements + + * labels.xsl: Bug #426188, fix question/answer labels + +2001-06-21 Norman Walsh + + * common.xsl, gentext.xsl, labels.xsl, titles.xsl: Use common code to calculate step numbers; support xref to procedures and steps; added formal.procedures parameter + +2001-06-20 Norman Walsh + + * l10n.xsl: Xalan debugging; harmless changes + +2001-06-14 Norman Walsh + + * subtitles.xsl: Support subtitle on article + +2001-05-23 Norman Walsh + + * common.xsl: Fix dup. template bug with is.graphic.* + + * gentext.xsl: Workaround article/appendix formatting bug (HACK) + + * labels.xsl: Label appendixes correctly in books and articles + +2001-05-21 Norman Walsh + + * labels.xsl: Tweak for section labels in articles + +2001-05-12 Norman Walsh + + * common.xsl: Added refsect* to the section.level template + +2001-05-04 Norman Walsh + + * .cvsignore, Makefile, l10n.xml: Add Serbian localization + +2001-04-21 Norman Walsh + + * common.xsl: My first crude attempts at support for qandaset + +2001-04-19 Norman Walsh + + * gentext.xsl, titles.xsl: Fix bug #417193, make sure allow-anchors is properly propagated through substitute-markup + +2001-04-18 Norman Walsh + + * titles.xsl: Suppress indexterms in no.anchor.mode + +2001-04-17 Norman Walsh + + * labels.xsl: Move label.from.part parameter into param.xsl; default it to 0 so that chapters and appendixes are numbered monotonically throughout a book by default. Moved param.xsl up in the include list, just for good measure + +2001-04-16 Norman Walsh + + * gentext.xsl: Fix bug in processing of subtitle content + + * labels.xsl: Only label.from.part if there actually is a part + + * titles.xsl: Don't put ulink, link, olink, or xref in titles if anchor's aren't allowed + +2001-04-15 Norman Walsh + + * gentext.xsl: Localize the textonly calculations by creating a object.title.markup.textonly mode + +2001-04-03 Norman Walsh + + * gentext.xsl, labels.xsl, titles.xsl: Fix bug 412487, make XSL-generated callout marks honor callout mark parameters + + * titles.xsl: Restore no.anchor.mode and suppress footnotes in no.anchor.mode + +2001-04-02 Norman Walsh + + * .cvsignore, Makefile: New file. + + * common.xsl, gentext.xsl, l10n.xml, l10n.xsl, labels.xsl, subtitles.xsl, titles.xsl: + New file. + + * gentext.xsl: Commented out debugging messages + + * l10n.dtd: New file. + diff --git a/rosdocs/xsl/common/af.xml b/rosdocs/xsl/common/af.xml new file mode 100644 index 0000000..be30822 --- /dev/null +++ b/rosdocs/xsl/common/af.xml @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/ca.xml b/rosdocs/xsl/common/ca.xml new file mode 100644 index 0000000..768c156 --- /dev/null +++ b/rosdocs/xsl/common/ca.xml @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/common.xsl b/rosdocs/xsl/common/common.xsl new file mode 100644 index 0000000..24598de --- /dev/null +++ b/rosdocs/xsl/common/common.xsl @@ -0,0 +1,1403 @@ + + + + + + + + +$Id$ + +Walsh +Norman +19992000 +Norman Walsh + + +Common Template Reference + + +
Introduction + +This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets. + +This is not intended to be user documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in how it +works. + +Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-) +
+
+ +
+ + + + + + + + + + + +Tests if a given node is a component-level element + + +This template returns '1' if the specified node is a component +(Chapter, Appendix, etc.), and '0' otherwise. + + + + +node + +The node which is to be tested. + + + + + + +This template returns '1' if the specified node is a component +(Chapter, Appendix, etc.), and '0' otherwise. + + + + + + + 1 + 0 + + + + + + +Tests if a given node is a section-level element + + +This template returns '1' if the specified node is a section +(Section, Sect1, Sect2, etc.), and '0' otherwise. + + + + +node + +The node which is to be tested. + + + + + + +This template returns '1' if the specified node is a section +(Section, Sect1, Sect2, etc.), and '0' otherwise. + + + + + + + 1 + 0 + + + + + + +Returns the hierarchical level of a section. + + +This template calculates the hierarchical level of a section. +Hierarchically, components are top level, so a +sect1 is at level 2, sect3 is +at level 3, etc. + +Recursive sections are calculated down to the sixth level. + + + + +node + +The section node for which the level should be calculated. +Defaults to the context node. + + + + + + +The section level, 2, 3, etc. + + + + + + + + 2 + 3 + 4 + 5 + 6 + + + 6 + 5 + 4 + 3 + 2 + + + 2 + 3 + 4 + + + 3 + 4 + 5 + 6 + 6 + + + 6 + 5 + 4 + 3 + + + 2 + + + 2 + + + + +Returns the hierarchical level of a QandASet. + + +This template calculates the hierarchical level of a QandASet. + + + + +The level, 1, 2, etc. + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + question + answer + qandadiv + qandaset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + [FAMILY Given] + + + + . + + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +[ +] +{ +} + + +[ +] +... + + + | +4pi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Selects an appropriate media object from a list + + +This template examines a list of media objects (usually the +children of a mediaobject or inlinemediaobject) and processes +the "right" object. + +This template relies on a template named "is.acceptable.mediaobject" +to determine if a given object is an acceptable graphic. The semantics +of media objects is that the first acceptable graphic should be used. + + +If no acceptable object is located, nothing happens. + + + + +olist + +The node list of potential objects to examine. + + + + + + +Calls <xsl:apply-templates> on the selected object. + + + + + + 1 + + + + + + + + + 0 + + + + 1 + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Returns '1' if the specified media object is recognized. + + +This template examines a media object and returns '1' if the +object is recognized as a graphic. + + + + +object + +The media object to consider. + + + + + + +0 or 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + + + + + + + + + + + . + + + + + + + + + + + + + + + + +Warn users about references to non-unique IDs + +If passed an ID in linkend, +check.id.unique prints +a warning message to the user if either the ID does not exist or +the ID is not unique. + + + + + + + + + + + + Error: no ID for constraint linkend: + + . + + + + + + + Warning: multiple "IDs" for constraint linkend: + + . + + + + + + +Warn users about incorrectly typed references + +If passed an ID in linkend, +check.idref.targets makes sure that the element +pointed to by the link is one of the elements listed in +element-list and warns the user otherwise. + + + + + + + + + + + + + + Error: linkend ( + + ) points to " + + " not (one of): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unexpected context in procedure.step.numeration: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + loweralpha + lowerroman + upperalpha + upperroman + arabic + arabic + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + round + square + disc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Print a set of years with collapsed ranges + + +This template prints a list of year elements with consecutive +years printed as a range. In other words: + +1992 +1993 +1994]]> + +is printed 1992-1994, whereas: + +1992 +1994]]> + +is printed 1992, 1994. + +This template assumes that all the year elements contain only +decimal year numbers, that the elements are sorted in increasing +numerical order, that there are no duplicates, and that all the years +are expressed in full century+year +(1999 not 99) notation. + + + + +years + +The initial set of year elements. + + +print.ranges + +If non-zero, multi-year ranges are collapsed. If zero, all years +are printed discretely. + + +single.year.ranges + +If non-zero, two consecutive years will be printed as a range, +otherwise, they will be printed discretely. In other words, a single +year range is 1991-1992 but discretely it's +1991, 1992. + + + + + + +This template returns the formatted list of years. + + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + , + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + , + + , + + + + - + + , + + + + + + + + + + + + + + + + +Search in a table for the "best" match for the node + + +This template searches in a table for the value that most-closely +(in the typical best-match sense of XSLT) matches the current (element) +node location. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ diff --git a/rosdocs/xsl/common/cs.xml b/rosdocs/xsl/common/cs.xml new file mode 100644 index 0000000..eb31276 --- /dev/null +++ b/rosdocs/xsl/common/cs.xml @@ -0,0 +1,402 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/da.xml b/rosdocs/xsl/common/da.xml new file mode 100644 index 0000000..e36cb72 --- /dev/null +++ b/rosdocs/xsl/common/da.xml @@ -0,0 +1,404 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/de.xml b/rosdocs/xsl/common/de.xml new file mode 100644 index 0000000..77d1794 --- /dev/null +++ b/rosdocs/xsl/common/de.xml @@ -0,0 +1,349 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/el.xml b/rosdocs/xsl/common/el.xml new file mode 100644 index 0000000..38e41c1 --- /dev/null +++ b/rosdocs/xsl/common/el.xml @@ -0,0 +1,341 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/en.xml b/rosdocs/xsl/common/en.xml new file mode 100644 index 0000000..62985ad --- /dev/null +++ b/rosdocs/xsl/common/en.xml @@ -0,0 +1,404 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/es.xml b/rosdocs/xsl/common/es.xml new file mode 100644 index 0000000..8641e54 --- /dev/null +++ b/rosdocs/xsl/common/es.xml @@ -0,0 +1,363 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/et.xml b/rosdocs/xsl/common/et.xml new file mode 100644 index 0000000..a2bd53e --- /dev/null +++ b/rosdocs/xsl/common/et.xml @@ -0,0 +1,341 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/eu.xml b/rosdocs/xsl/common/eu.xml new file mode 100644 index 0000000..24613df --- /dev/null +++ b/rosdocs/xsl/common/eu.xml @@ -0,0 +1,371 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/fi.xml b/rosdocs/xsl/common/fi.xml new file mode 100644 index 0000000..2704a6d --- /dev/null +++ b/rosdocs/xsl/common/fi.xml @@ -0,0 +1,341 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/fr.xml b/rosdocs/xsl/common/fr.xml new file mode 100644 index 0000000..b000d3e --- /dev/null +++ b/rosdocs/xsl/common/fr.xml @@ -0,0 +1,372 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/gentext.xsl b/rosdocs/xsl/common/gentext.xsl new file mode 100644 index 0000000..e76806b --- /dev/null +++ b/rosdocs/xsl/common/gentext.xsl @@ -0,0 +1,305 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + %n. %t + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Xref is only supported to listitems in an + orderedlist: + + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % + + + % + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/he.xml b/rosdocs/xsl/common/he.xml new file mode 100644 index 0000000..b4d572c --- /dev/null +++ b/rosdocs/xsl/common/he.xml @@ -0,0 +1,371 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/hu.xml b/rosdocs/xsl/common/hu.xml new file mode 100644 index 0000000..5c3b74a --- /dev/null +++ b/rosdocs/xsl/common/hu.xml @@ -0,0 +1,341 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/id.xml b/rosdocs/xsl/common/id.xml new file mode 100644 index 0000000..466ac14 --- /dev/null +++ b/rosdocs/xsl/common/id.xml @@ -0,0 +1,341 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/it.xml b/rosdocs/xsl/common/it.xml new file mode 100644 index 0000000..5a7e92e --- /dev/null +++ b/rosdocs/xsl/common/it.xml @@ -0,0 +1,371 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/ja.xml b/rosdocs/xsl/common/ja.xml new file mode 100644 index 0000000..9fd8ecc --- /dev/null +++ b/rosdocs/xsl/common/ja.xml @@ -0,0 +1,371 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/ko.xml b/rosdocs/xsl/common/ko.xml new file mode 100644 index 0000000..0260540 --- /dev/null +++ b/rosdocs/xsl/common/ko.xml @@ -0,0 +1,340 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/l10n.dtd b/rosdocs/xsl/common/l10n.dtd new file mode 100644 index 0000000..b6fd0c1 --- /dev/null +++ b/rosdocs/xsl/common/l10n.dtd @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/l10n.xml b/rosdocs/xsl/common/l10n.xml new file mode 100644 index 0000000..c5c4eab --- /dev/null +++ b/rosdocs/xsl/common/l10n.xml @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + +⁡ +&ca; +&cs; +&da; +&de; +⪙ +&en; +&es; +&et; +&eu; +&fi; +&fr; +&he; +&hu; +&id; +⁢ +&ja; +&ko; +&nl; +&nn; +&no; +&pl; +&pt; +&pt_br; +&ro; +&ru; +&sk; +&sl; +&sr; +&sv; +&tr; +&uk; +&xh; +&zh_cn; +&zh_tw; + diff --git a/rosdocs/xsl/common/l10n.xsl b/rosdocs/xsl/common/l10n.xsl new file mode 100644 index 0000000..768587f --- /dev/null +++ b/rosdocs/xsl/common/l10n.xsl @@ -0,0 +1,344 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _ + + + + + + + + + + + + + + + + + + + + No localization exists for " + + " or " + + ". Using default " + + ". + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No " + + " localization of " + + " exists + + + . + + + ; using "en". + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bullet + + + + + + + + + + + + + + + + + + No " + + " localization of dingbat + + exists; using "en". + + + + + + + + + + startquote + + + + + + endquote + + + + + + nestedstartquote + + + + + + nestedendquote + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No " + + " localization exists. + + + + + + + + + + No context named " + + " exists in the " + + " localization. + + + + + + + + + + + + + + + + + + No template named " + + " exists in the context named " + + " in the " + + " localization. + + + + + + + diff --git a/rosdocs/xsl/common/labels.xsl b/rosdocs/xsl/common/labels.xsl new file mode 100644 index 0000000..1c7f45b --- /dev/null +++ b/rosdocs/xsl/common/labels.xsl @@ -0,0 +1,552 @@ + + + + + + + +Provides access to element labels + +Processing an element in the +label.markup mode produces the +element label. +Trailing punctuation is not added to the label. + + + + + + . + + + + + Request for label of unexpected element: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + label.markup: this can't happen! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + a + i + A + I + + + + Unexpected numeration: + + + + + + + + + + + + + + + + + + + + + + +Returns true if $section should be labelled + +Returns true if the specified section should be labelled. +By default, this template simply returns $section.autolabel, but +custom stylesheets may override it to get more selective behavior. + + + + + + diff --git a/rosdocs/xsl/common/nl.xml b/rosdocs/xsl/common/nl.xml new file mode 100644 index 0000000..6fde81d --- /dev/null +++ b/rosdocs/xsl/common/nl.xml @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/nn.xml b/rosdocs/xsl/common/nn.xml new file mode 100644 index 0000000..e6ce102 --- /dev/null +++ b/rosdocs/xsl/common/nn.xml @@ -0,0 +1,347 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/no.xml b/rosdocs/xsl/common/no.xml new file mode 100644 index 0000000..5deb7ad --- /dev/null +++ b/rosdocs/xsl/common/no.xml @@ -0,0 +1,341 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/pl.xml b/rosdocs/xsl/common/pl.xml new file mode 100644 index 0000000..ca10aed --- /dev/null +++ b/rosdocs/xsl/common/pl.xml @@ -0,0 +1,333 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/pt.xml b/rosdocs/xsl/common/pt.xml new file mode 100644 index 0000000..5dde651 --- /dev/null +++ b/rosdocs/xsl/common/pt.xml @@ -0,0 +1,344 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/pt_br.xml b/rosdocs/xsl/common/pt_br.xml new file mode 100644 index 0000000..3bcf0b9 --- /dev/null +++ b/rosdocs/xsl/common/pt_br.xml @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/ro.xml b/rosdocs/xsl/common/ro.xml new file mode 100644 index 0000000..ecc6e5c --- /dev/null +++ b/rosdocs/xsl/common/ro.xml @@ -0,0 +1,341 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/ru.xml b/rosdocs/xsl/common/ru.xml new file mode 100644 index 0000000..4e683ee --- /dev/null +++ b/rosdocs/xsl/common/ru.xml @@ -0,0 +1,370 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/sk.xml b/rosdocs/xsl/common/sk.xml new file mode 100644 index 0000000..f30f704 --- /dev/null +++ b/rosdocs/xsl/common/sk.xml @@ -0,0 +1,344 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/sl.xml b/rosdocs/xsl/common/sl.xml new file mode 100644 index 0000000..7f609f6 --- /dev/null +++ b/rosdocs/xsl/common/sl.xml @@ -0,0 +1,359 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/sr.xml b/rosdocs/xsl/common/sr.xml new file mode 100644 index 0000000..6341a53 --- /dev/null +++ b/rosdocs/xsl/common/sr.xml @@ -0,0 +1,341 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/subtitles.xsl b/rosdocs/xsl/common/subtitles.xsl new file mode 100644 index 0000000..973e87c --- /dev/null +++ b/rosdocs/xsl/common/subtitles.xsl @@ -0,0 +1,130 @@ + + + + + + + +Provides access to element subtitles + +Processing an element in the +subtitle.markup mode produces the +subtitle of the element. + + + + + + + Request for subtitle of unexpected element: + + + ???SUBTITLE??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/sv.xml b/rosdocs/xsl/common/sv.xml new file mode 100644 index 0000000..11e0bd5 --- /dev/null +++ b/rosdocs/xsl/common/sv.xml @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/table.xsl b/rosdocs/xsl/common/table.xsl new file mode 100644 index 0000000..f147bfd --- /dev/null +++ b/rosdocs/xsl/common/table.xsl @@ -0,0 +1,432 @@ + + + + + + + 0: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0: + + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + +Determine the column number in which a given entry occurs + +If an entry has a +colname or +namest attribute, this template +will determine the number of the column in which the entry should occur. +For other entrys, nothing is returned. + + + +entry + +The entry-element which is to be tested. + + + + + + +This template returns the column number if it can be determined, +or 0 (the empty string) + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/th.xml b/rosdocs/xsl/common/th.xml new file mode 100644 index 0000000..60e90ee --- /dev/null +++ b/rosdocs/xsl/common/th.xml @@ -0,0 +1,371 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/titles.xsl b/rosdocs/xsl/common/titles.xsl new file mode 100644 index 0000000..ff485b4 --- /dev/null +++ b/rosdocs/xsl/common/titles.xsl @@ -0,0 +1,390 @@ + + + + + + + +Provides access to element titles + +Processing an element in the +title.markup mode produces the +title of the element. This does not include the label. + + + + + + + + + + + + + + + + + + + Request for title of element with no title: + + + (id=" + + ") + + + ???TITLE??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + REFENTRY WITHOUT TITLE??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Note + Important + Caution + Warning + Tip + + + + + + + + + + Question + + + + + Answer + + + + + Question + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/tr.xml b/rosdocs/xsl/common/tr.xml new file mode 100644 index 0000000..b985b12 --- /dev/null +++ b/rosdocs/xsl/common/tr.xml @@ -0,0 +1,404 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/uk.xml b/rosdocs/xsl/common/uk.xml new file mode 100644 index 0000000..18210ce --- /dev/null +++ b/rosdocs/xsl/common/uk.xml @@ -0,0 +1,370 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/xh.xml b/rosdocs/xsl/common/xh.xml new file mode 100644 index 0000000..a595f5f --- /dev/null +++ b/rosdocs/xsl/common/xh.xml @@ -0,0 +1,371 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/zh_cn.xml b/rosdocs/xsl/common/zh_cn.xml new file mode 100644 index 0000000..16dd1d0 --- /dev/null +++ b/rosdocs/xsl/common/zh_cn.xml @@ -0,0 +1,341 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/common/zh_tw.xml b/rosdocs/xsl/common/zh_tw.xml new file mode 100644 index 0000000..10a341c --- /dev/null +++ b/rosdocs/xsl/common/zh_tw.xml @@ -0,0 +1,323 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/doc/ChangeLog b/rosdocs/xsl/doc/ChangeLog new file mode 100644 index 0000000..d98dc4b --- /dev/null +++ b/rosdocs/xsl/doc/ChangeLog @@ -0,0 +1,49 @@ +2002-03-25 Norman Walsh + + * Makefile: Update documentation build to reflect use of lib.xweb + +2002-03-09 Jirka Kosek + + * Makefile: Removed hardcoded reference for XSLT processor as it is already set in Makefile.incl. Fixed typo in DocBook DTD URI. + +2002-01-06 Norman Walsh + + * ref.css: New file. + +2001-11-12 Norman Walsh + + * Makefile: Hacking at producing chunked parameter references + +2001-10-13 Norman Walsh + + * Makefile, reference.xsl: Changes to make the documentation work with the new litprog sources + +2001-09-09 Norman Walsh + + * Makefile: Add titlepage templates + +2001-08-09 Norman Walsh + + * Makefile: Added tools to Makefile + +2001-08-06 Norman Walsh + + * Makefile, book.xsl: Documentation and documentation generation tweaks + +2001-06-20 Norman Walsh + + * Makefile: Back to Xalan; but it only sort of works + + * Makefile, book.xsl, reference.xsl: Use XT again (neither Saxon nor Xalan work) + +2001-04-15 Norman Walsh + + * reference.css: New file. + +2001-04-03 Norman Walsh + + * .cvsignore, Makefile, book.xsl, jrefhtml.xsl, reference.xsl: + New file. + + * Makefile: Misc. cleanup in preparation for making a distrib + diff --git a/rosdocs/xsl/doc/book.xsl b/rosdocs/xsl/doc/book.xsl new file mode 100644 index 0000000..45f6880 --- /dev/null +++ b/rosdocs/xsl/doc/book.xsl @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + + copyright + + + + + + + + . + No Warranty + . +

+
+ +
diff --git a/rosdocs/xsl/doc/ch01s02.html b/rosdocs/xsl/doc/ch01s02.html new file mode 100644 index 0000000..5bd0c3f --- /dev/null +++ b/rosdocs/xsl/doc/ch01s02.html @@ -0,0 +1,67 @@ + + + A brief introduction to XSL

A brief introduction to XSL

XSL is both a transformation language and a + formatting language. The XSLT transformation part lets you + scan through a document's structure and rearrange its + content any way you like. You can write out the content + using a different set of XML tags, and generate text as + needed. For example, you can scan through a document to + locate all headings and then insert a generated table of + contents at the beginning of the document, at the same time + writing out the content marked up as HTML. XSL is also a + rich formatting language, letting you apply typesetting + controls to all components of your output. With a good + formatting backend, it is capable of producing high quality + printed pages.

An XSL stylesheet is written using XML syntax, and is + itself a well-formed XML document. That makes the basic + syntax familiar, and enables an XML processor to check for + basic syntax errors. The stylesheet instructions use + special element names, which typically begin with + xsl: to distinguish them from any XML + tags you want to appear in the output. The XSL namespace is + identified at the top of the stylesheet file. As with other + XML, any XSL elements that are not empty will require a + closing tag. And some XSL elements have specific attributes + that control their behavior. It helps to keep a good XSL + reference book handy.

Here is an example of a simple XSL stylesheet applied + to a simple XML file to generate HTML output.

Example 1.1. Simple XML file

<?xml version="1.0"?>
+<document>
+<title>Using a mouse</title>
+<para>It's easy to use a mouse. Just roll it
+around and click the buttons.</para>
+</document>

Example 1.2. Simple XSL stylesheet

<?xml version='1.0'?>
+<xsl:stylesheet
+          xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
+<xsl:output method="html"/>
+
+<xsl:template match="document">
+  <HTML><HEAD><TITLE>
+    <xsl:value-of select="./title"/>
+  </TITLE>
+  </HEAD>
+  <BODY>
+    <xsl:apply-templates/>
+  </BODY>
+  </HTML>
+</xsl:template>
+
+<xsl:template match="title">
+  <H1><xsl:apply-templates/></H1>
+</xsl:template>
+
+<xsl:template match="para">
+  <P><xsl:apply-templates/></P>
+</xsl:template>
+
+</xsl:stylesheet>
+

Example 1.3. HTML output

<HTML>
+<HEAD>
+<TITLE>Using a mouse</TITLE>
+</HEAD>
+<BODY>
+<H1>Using a mouse</H1>
+<P>It's easy to use a mouse. Just roll it
+around and click the buttons.</P>
+</BODY>
+</HTML>
+
\ No newline at end of file diff --git a/rosdocs/xsl/doc/ch01s03.html b/rosdocs/xsl/doc/ch01s03.html new file mode 100644 index 0000000..919a5ed --- /dev/null +++ b/rosdocs/xsl/doc/ch01s03.html @@ -0,0 +1,422 @@ + + + XSL processing model

XSL processing model

XSL is a template language, not a procedural +language. That means a stylesheet specifies a sample of the +output, not a sequence of programming steps to generate it. +A stylesheet consists of a mixture of output samples with +instructions of what to put in each sample. Each bit of +output sample and instructions is called +a template.

In general, you write a template for each element +type in your document. That lets you concentrate on +handling just one element at a time, and keeps a stylesheet +modular. The power of XSL comes from processing the +templates recursively. That is, each template handles the +processing of its own element, and then calls other +templates to process its children, and so on. Since an XML +document is always a single root element at the top level +that contains all of the nested descendent elements, the +XSL templates also start at the top and work their way down +through the hierarchy of elements.

Take the +DocBook <para> paragraph element as +an example. To convert this to HTML, you want to wrap the +paragraph content with the HTML +tags <p> and </p>. +But a DocBook <para> can contain +any number of in-line DocBook elements marking up the text. +Fortunately, you can let other templates take care of those +elements, so your XSL template +for <para> can be quite +simple:

<xsl:template match="para">
+  <p>
+    <xsl:apply-templates/>
+  </p>
+</xsl:template>
+

The <xsl:template> element +starts a new template, and +its match attribute indicates where to +apply the template, in this case to +any <para> elements. The template +says to output a literal <p> string +and then execute +the <xsl:apply-templates/> instruction. +This tells the XSL processor to look among all the +templates in the stylesheet for any that should be applied +to the content of the paragraph. If each template in the +stylesheet includes +an <xsl:apply-templates/> instruction, +then all descendents will eventually be processed. When it +is through recursively applying templates to the paragraph +content, it outputs the </p> closing +tag.

Context is important

Since you aren't writing a linear procedure to +process your document, the context of where and how to +apply each modular template is important. +The match attribute +of <xsl:template> provides that +context for most templates. There is an entire expression +language, XPath, for identifying what parts of your +document should be handled by each template. The simplest +context is just an element name, as in the example above. +But you can also specify elements as children of other +elements, elements with certain attribute values, the first +or last elements in a sequence, and so on. Here is how the +DocBook <formalpara> element is +handled:

<xsl:template match="formalpara">
+  <p>
+    <xsl:apply-templates/>
+  </p>
+</xsl:template>
+
+<xsl:template match="formalpara/title">
+  <b><xsl:apply-templates/></b>
+  <xsl:text> </xsl:text>
+</xsl:template>
+
+<xsl:template match="formalpara/para">
+  <xsl:apply-templates/>
+</xsl:template>
+

There are three templates defined, one for +the <formalpara> element itself, + and one for each of its children elements. The match attribute +value formalpara/title in the second +template is an XPath expression indicating +a <title> element that is an +immediate child of +a <formalpara> element. This +distinguishes such titles from +other <title> elements used in +DocBook. XPath expressions are the key to controlling how +your templates are applied.

In general, the XSL processor has internal rules that +apply templates that are more specific before templates +that are less specific. That lets you control the details, +but also provides a fallback mechanism to a less specific +template when you don't supply the full context for every +combination of elements. This feature is illustrated by the +third template, for formalpara/para. By +including this template, the stylesheet processes a <para> within <formalpara> in +a special way, in this case by not outputting the HTML <p> tags already output by its parent. If this template had not been included, then the processor would have fallen back to the template +specified by match="para" described +above, which would have output a second set of <p> tags.

You can also control template context with +XSL modes, which are used extensively +in the DocBook stylesheets. Modes let you process the same +input more than once in different ways. +A mode attribute in +an <xsl:template> definition adds a +specific mode name to that template. When the same mode +name is used +in <xsl:apply-templates/>, it acts +as a filter to narrow the selection of templates to only +those selected by +the match expression and that +have that mode name. This lets you define two different +templates for the same element match that are applied under +different contexts. For example, there are two templates +defined for +DocBook <listitem> elements:

<xsl:template match="listitem">
+  <li><xsl:apply-templates/></li>
+</xsl:template>
+
+<xsl:template match="listitem" mode="xref">
+  <xsl:number format="1"/>
+</xsl:template>
+

The first template is for the normal list item +context where you want to output the +HTML <li> tags. The second template +is called with <xsl:apply-templates +select="$target" mode="xref"/> in the context +of processing <xref> elements. In +this case the select attribute locates +the ID of the specific list item and +the mode attribute selects the second +template, whose effect is to output its item number when it +is in an ordered list. Because there are many such special +needs when +processing <xref> elements, it is +convenient to define a mode name xref to +handle them all. Keep in mind that mode settings +do not automatically get passed down to +other templates +through <xsl:apply-templates/>.

Programming features

Although XSL is template-driven, it also has some +features of traditional programming languages. Here are +some examples from the DocBook stylesheets.

Assign a value to a variable:
+<xsl:variable name="refelem" select="name($target)"/>
+
+If statement:
+<xsl:if test="$show.comments">
+    <i><xsl:call-template name="inline.charseq"/></i>
+</xsl:if>
+
+Case statement:
+<xsl:choose>
+    <xsl:when test="@columns">
+        <xsl:value-of select="@columns"/>
+    </xsl:when>
+    <xsl:otherwise>1</xsl:otherwise>
+</xsl:choose>
+
+Call a template by name like a subroutine, passing parameter values and accepting a return value:
+<xsl:call-template name="xref.xreflabel">
+   <xsl:with-param name="target" select="$target"/>
+</xsl:call-template>
+

However, you can't always use these constructs as you +do in other programming languages. Variables in particular +have very different behavior.

Using variables and parameters

XSL provides two elements that let you assign a value +to a +name: <xsl:variable> and <xsl:param>. +These share the same name space and syntax for assigning +names and values. Both can be referred to using +the $name syntax. The main difference +between these two elements is that a param's value acts as +a default value that can be overridden when a template is +called using +a <xsl:with-param> element as in the +last example above.

Here are two examples from DocBook:

<xsl:param name="cols">1</xsl:param>
+<xsl:variable name="segnum" select="position()"/>
+

In both elements, the name of the parameter or +variable is specified with +the name attribute. So the name of +the param here +is cols and the name of +the variable is segnum. +The value of either can be supplied in two ways. The value +of the first example is the text node "1" and is supplied +as the content of the element. The value of the second +example is supplied as the result of the expression in +its select attribute, and the element +itself has no content.

The feature of XSL variables that is odd to new users +is that once you assign a value to a variable, you cannot +assign a new value within the same scope. Doing so will +generate an error. So variables are not used as dynamic +storage bins they way they are in other languages. They +hold a fixed value within their scope of application, and +then disappear when the scope is exited. This feature is a +result of the design of XSL, which is template-driven and +not procedural. This means there is no definite order of +processing, so you can't rely on the values of changing +variables. To use variables in XSL, you need to understand +how their scope is defined.

Variables defined outside of all templates are +considered global variables, and they are readable within +all templates. The value of a global variable is fixed, and +its global value can't be altered from within any template. +However, a template can create a local variable of the same +name and give it a different value. That local value +remains in effect only within the scope of the local +variable.

Variables defined within a template remain in effect +only within their permitted scope, which is defined as all +following siblings and their descendants. To understand +such a scope, you have to remember that XSL instructions +are true XML elements that are embedded in an XML family +hierarchy of XSL elements, often referred to as parents, +children, siblings, ancestors and descendants. Taking the +family analogy a step further, think of a variable +assignment as a piece of advice that you are allowed to +give to certain family members. You can give your advice +only to your younger siblings (those that follow you) and +their descendents. Your older siblings won't listen, +neither will your parents or any of your ancestors. To +stretch the analogy a bit, it is an error to try to give +different advice under the same name to the same group of +listeners (in other words, to redefine the variable). Keep +in mind that this family is not the elements of your +document, but just the XSL instructions in your stylesheet. +To help you keep track of such scopes in hand-written +stylesheets, it helps to indent nested XSL elements. Here +is an edited snippet from the DocBook stylesheet +file pi.xsl that illustrates different +scopes for two variables:

+ 1 <xsl:template name="dbhtml-attribute">
+ 2 ...
+ 3    <xsl:choose>
+ 4       <xsl:when test="$count>count($pis)">
+ 5          <!-- not found -->
+ 6       </xsl:when>
+ 7       <xsl:otherwise>
+ 8          <xsl:variable name="pi">
+ 9             <xsl:value-of select="$pis[$count]"/>
+10          </xsl:variable>
+11          <xsl:choose>
+12             <xsl:when test="contains($pi,concat($attribute, '='))">
+13                <xsl:variable name="rest" select="substring-after($pi,concat($attribute,'='))"/>
+14                <xsl:variable name="quote" select="substring($rest,1,1)"/>
+15                <xsl:value-of select="substring-before(substring($rest,2),$quote)"/>
+16             </xsl:when>
+17             <xsl:otherwise>
+18             ...
+19             </xsl:otherwise>
+20          </xsl:choose>
+21       </xsl:otherwise>
+22    </xsl:choose>
+23 </xsl:template>
+
+

The scope of the variable pi begins +on line 8 where it is defined in this template, and ends on +line 20 when its last sibling ends.[1] The scope of the +variable rest begins on line 13 and ends +on line 15. Fortunately, line 15 outputs an expression +using the value before it goes out of scope.

What happens when +an <xsl:apply-templates/> element +is used within the scope of a local variable? Do the +templates that are applied to the document children get the +variable? The answer is no. The templates that are applied +are not actually within the scope of the variable. They +exist elsewhere in the stylesheet and are not following +siblings or their descendants.

To pass a value to another template, you pass a +parameter using +the <xsl:with-param> element. This +parameter passing is usually done with calls to a specific +named template +using <xsl:call-template>, although +it works +with <xsl:apply-templates> too. +That's because the called template must be expecting the +parameter by defining it using +a <xsl:param> element with the same +parameter name. Any passed parameters whose names are not +defined in the called template are ignored.

Here is an example of parameter passing +from docbook.xsl:

<xsl:call-template name="head.content">
+   <xsl:with-param name="node" select="$doc"/>
+</xsl:call-template>
+

Here a template +named head.content is being called and +passed a parameter named node whose +content is the value of the $doc variable +in the current context. The top of that template looks like +this:

<xsl:template name="head.content">
+   <xsl:param name="node" select="."/>
+

The template is expecting the parameter because it +has a <xsl:param> defined with the +same name. The value in this definition is the default +value. This would be the parameter value used in the +template if the template was called without passing that +parameter.

Generating HTML output.

You generate HTML from your DocBook XML files by +applying the HTML version of the stylesheets. This is done +by using the HTML driver +file docbook/html/docbook.xsl as your +stylesheet. That is the master stylesheet file that +uses <xsl:include> to pull in the +component files it needs to assemble a complete stylesheet +for producing HTML.

The way the DocBook stylesheet generates HTML is to +apply templates that output a mix of text content and HTML +elements. Starting at the top level in the main +file docbook.xsl:

<xsl:template match="/">
+  <xsl:variable name="doc" select="*[1]"/>
+  <html>
+  <head>
+    <xsl:call-template name="head.content">
+      <xsl:with-param name="node" select="$doc"/>
+    </xsl:call-template>
+  </head>
+  <body>
+    <xsl:apply-templates/>
+  </body>
+  </html>
+</xsl:template>
+

This template matches the root element of your input +document, and starts the process of recursively applying +templates. It first defines a variable +named doc and then outputs two literal +HTML elements <html> and <head>. +Then it calls a named +template head.content to process the +content of the HTML <head>, closes +the <head> and starts +the <body>. There it +uses <xsl:apply-templates/> to +recursively process the entire input document. Then it just +closes out the HTML file.

Simple HTML elements can generated as literal +elements as shown here. But if the HTML being output +depends on the context, you need something more powerful to +select the element name and possibly add attributes and +their values. Here is a fragment +from sections.xsl that shows how a +heading tag is generated using +the <xsl:element> and <xsl:attribute> elements:

+ 1 <xsl:element name="h{$level}">
+ 2   <xsl:attribute name="class">title</xsl:attribute>
+ 3   <xsl:if test="$level<3">
+ 4     <xsl:attribute name="style">clear: all</xsl:attribute>
+ 5   </xsl:if>
+ 6   <a>
+ 7     <xsl:attribute name="name">
+ 8       <xsl:call-template name="object.id"/>
+ 9     </xsl:attribute>
+10     <b><xsl:copy-of select="$title"/></b>
+11   </a>
+12 </xsl:element>
+

This whole example is generating a single HTML +heading element. Line 1 begins the HTML element definition +by identifying the name of the element. In this case, the +name is an expression that includes the +variable $level passed as a parameter to +this template. Thus a single template can +generate <h1>, <h2>, +etc. depending on the context in which it is called. Line 2 +defines a class="title" attribute that is +added to this element. Lines 3 to 5 add +a style="clear all" attribute, but only +if the heading level is less than 3. Line 6 opens +an <a> anchor element. Although this +looks like a literal output string, it is actually modified +by lines 7 to 9 that insert +the name attribute into +the <a> element. This illustrates +that XSL is managing output elements as active element +nodes, not just text strings. Line 10 outputs the text of +the heading title, also passed as a parameter to the +template, enclosed in HTML boldface tags. Line 11 closes +the anchor tag with the +literal </a> syntax, while line 12 +closes the heading tag by closing the element definition. +Since the actual element name is a variable, it couldn't +use the literal syntax.

As you follow the sequence of nested templates +processing elements, you might be wondering how the +ordinary text of your input document gets to the output. In +the file docbook.xsl you will find +this template that handles any text not processed by any +other template:

<xsl:template match="text()">
+  <xsl:value-of select="."/>
+</xsl:template>
+

This template's body consists of the "value" of the text node, +which is just its text. In general, all XSL processors have +some built-in templates to handle any content for which +your stylesheet doesn't supply a matching template. This +template serves the same function but appears explicitly in +the stylesheet.

Generating formatting objects.

You generate formatting objects from your DocBook XML +files by applying the fo version of the stylesheets. This +is done by using the fo driver +file docbook/fo/docbook.xsl as your +stylesheet. That is the master stylesheet file that +uses <xsl:include> to pull in the +component files it needs to assemble a complete stylesheet +for producing formatting objects. Generating a formatting +objects file is only half the process of producing typeset +output. You also need a formatting object processor such as +the Apache XML Project's FOP as described in an earlier +section.

The DocBook fo stylesheet works in a similar manner +to the HTML stylesheet. Instead of outputting HTML tags, it +outputs text marked up +with <fo:something> tags. +For example, to indicate that some text should be kept +in-line and typeset with a monospace font, it might look +like this:

<fo:inline-sequence font-family="monospace">/usr/man</fo:inline-sequence>

The templates +in docbook/fo/inline.xsl that produce +this output for a +DocBook <filename> element look +like this:

<xsl:template match="filename">
+  <xsl:call-template name="inline.monoseq"/>
+</xsl:template>
+
+<xsl:template name="inline.monoseq">
+  <xsl:param name="content">
+    <xsl:apply-templates/>
+  </xsl:param>
+  <fo:inline-sequence font-family="monospace">
+    <xsl:copy-of select="$content"/>
+  </fo:inline-sequence>
+</xsl:template>
+

There are dozens of fo tags and attributes specified +in the XSL standard. It is beyond the scope of this +document to cover how all of them are used in the DocBook +stylesheets. Fortunately, this is only an intermediate +format that you probably won't have to deal with very much +directly unless you are writing your own +stylesheets.



[1] Technically, the scope extends to the end tag of the parent of the <xsl:variable> element. That is effectively the last sibling.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/ch01s04.html b/rosdocs/xsl/doc/ch01s04.html new file mode 100644 index 0000000..44c2876 --- /dev/null +++ b/rosdocs/xsl/doc/ch01s04.html @@ -0,0 +1,250 @@ + + + Customizing DocBook XSL stylesheets

Customizing DocBook XSL stylesheets

The DocBook XSL stylesheets are written in a modular +fashion. Each of the HTML and FO stylesheets starts with a +driver file that assembles a collection of component files +into a complete stylesheet. This modular design puts similar things together into smaller files that are easier to write and maintain than one big stylesheet. The modular stylesheet files +are distributed among four directories:

common/

contains code common to both stylesheets, including localization data +

fo/

a stylesheet that produces XSL FO result trees +

html/

a stylesheet that produces HTML/XHTML result trees +

lib/

contains schema-independent functions +

The driver files for each of HTML and FO stylesheets +are html/docbook.xsl and fo/docbook.xsl, +respectively. A driver file consists mostly of a bunch +of <xsl:include> instructions to +pull in the component templates, and then defines some +top-level templates. For example:

<xsl:include href="../VERSION"/>
+<xsl:include href="../lib/lib.xsl"/>
+<xsl:include href="../common/l10n.xsl"/>
+<xsl:include href="../common/common.xsl"/>
+<xsl:include href="autotoc.xsl"/>
+<xsl:include href="lists.xsl"/>
+<xsl:include href="callout.xsl"/>
+...
+<xsl:include href="param.xsl"/>
+<xsl:include href="pi.xsl"/>
+

The first four modules are shared with the FO +stylesheet and are referenced using relative pathnames to +the common directories. Then the long list of component +stylesheets starts. Pathnames in include statements are +always taken to be relative to the including file. Each +included file must be a valid XSL stylesheet, which means +its root element must +be <xsl:stylesheet>.

Stylesheet inclusion vs. importing

XSL actually provides two inclusion +mechanisms: <xsl:include> and <xsl:import>. +Of the two, <xsl:include> is +the simpler. It treats the included content as if it were +actually typed into the file at that point, and doesn't +give it any more or less precedence relative to the +surrounding text. It is best used when assembling +dissimilar templates that don't overlap what they match. +The DocBook driver files use this instruction to assemble a +set of modules into a stylesheet.

In contrast, <xsl:import> lets +you manage the precedence of templates and variables. It is +the preferred mode of customizing another stylesheet because +it lets you override definitions in the distributed +stylesheet with your own, without altering the distribution +files at all. You simply import the whole stylesheet and +add whatever changes you want.

The precedence rules for import are detailed and +rigorously defined in the XSL standard. The basic rule is +that any templates and variables in the importing +stylesheet have precedence over equivalent templates and +variables in the imported stylesheet. Think of the imported stylesheet elements as a fallback collection, to be used only if a match is not found in the current stylesheet. You can customize the templates you want to change in your stylesheet file, and let the imported stylesheet handle the rest.

Note

Customizing a DocBook XSL stylesheet is the opposite +of customizing a DocBook DTD. When you customize a DocBook +DTD, the rules of XML and SGML dictate that +the first of any duplicate declarations +wins. Any subsequent declarations of the same element or +entity are ignored. The architecture of the DTD provides +slots for inserting your own custom declarations early +enough in the DTD for them to override the standard +declarations. In contrast, customizing an XSL stylesheet is +simpler because your definitions have precedence over imported ones.

You can carry modularization to deeper levels because +module files can also include or import other modules. +You'll need to be careful to maintain the precedence that +you want as the modules get rolled up into a complete +stylesheet.

Customizing +with <xsl:import>

There is currently one example of customizing +with <xsl:import> in the HTML +version of the DocBook stylesheets. +The xtchunk.xsl stylesheet modifies the +HTML processing to output many smaller HTML files rather +than a single large file per input document. It uses XSL +extensions defined only in the XSL +processor XT. In the driver +file xtchunk.xsl, the first instruction +is <xsl:import +href="docbook.xsl"/>. That instruction imports +the original driver file, which in turn uses +many <xsl:include> instructions to +include all the modules. That single import instruction +gives the new stylesheet the complete set of DocBook +templates to start with.

After the +import, xtchunk.xsl redefines some of +the templates and adds some new ones. Here is one example +of a redefined template:

Original template in autotoc.xsl
+<xsl:template name="href.target">
+  <xsl:param name="object" select="."/>
+  <xsl:text>#</xsl:text>
+  <xsl:call-template name="object.id">
+    <xsl:with-param name="object" select="$object"/>
+  </xsl:call-template>
+</xsl:template>
+
+New template in xtchunk.xsl
+<xsl:template name="href.target">
+  <xsl:param name="object" select="."/>
+  <xsl:variable name="ischunk">
+    <xsl:call-template name="chunk">
+      <xsl:with-param name="node" select="$object"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:apply-templates mode="chunk-filename" select="$object"/>
+
+  <xsl:if test="$ischunk='0'">
+    <xsl:text>#</xsl:text>
+    <xsl:call-template name="object.id">
+      <xsl:with-param name="object" select="$object"/>
+    </xsl:call-template>
+  </xsl:if>
+</xsl:template>
+

The new template handles the more complex processing +of HREFs when the output is split into many HTML files. +Where the old template could simply +output #object.id, +the new one outputs filename#object.id.

Setting stylesheet variables

You may not have to define any new templates, +however. The DocBook stylesheets are parameterized using +XSL variables rather than hard-coded values for many of the +formatting features. Since +the <xsl:import> mechanism also +lets you redefine global variables, this gives you an easy +way to customize many features of the DocBook +stylesheets. Over time, more features will be parameterized to permit customization. If you find hardcoded values in the stylesheets that would be useful to customize, please let the maintainer know.

Near the end of the list of includes in the main +DocBook driver file is the +instruction <xsl:include +href="param.xsl"/>. +The param.xsl file is the most +important module for customizing a DocBook XSL stylesheet. +This module contains no templates, only definitions of +stylesheet variables. Since these variables are defined +outside of any template, they are global variables and +apply to the entire stylesheet. By redefining these +variables in an importing stylesheet, you can change the +behavior of the stylesheet.

To create a customized DocBook stylesheet, you simply +create a new stylesheet file such +as mystyle.xsl that imports the standard +stylesheet and adds your own new variable definitions. Here +is an example of a complete custom stylesheet that changes +the depth of sections listed in the table of contents from +two to three:

<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                version='1.0'
+                xmlns="http://www.w3.org/TR/xhtml1/transitional"
+                exclude-result-prefixes="#default">
+
+<xsl:import href="docbook.xsl"/>
+
+<xsl:variable name="toc.section.depth">3</xsl:variable>
+<!-- Add other variable definitions here -->
+
+</xsl:stylesheet>
+

Following the opening stylesheet element are the +import instruction and one variable definition. The +variable toc.section.depth was defined +in param.xsl with value "2", and here +it is defined as "3". Since the importing stylesheet takes +precedence, this new value is used. Thus documents +processed with mystyle.xsl instead +of docbook.xsl will have three levels +of sections in the tables of contents, and all other +processing will be the same.

Use the list of variables +in param.xsl as your guide for creating +a custom stylesheet. If the changes you want are controlled +by a variable there, then customizing is easy.

Writing your own templates

If the changes you want are more extensive than what +is supported by variables, you can write new templates. You +can put your new templates directly in your importing +stylesheet, or you can modularize your importing stylesheet +as well. You can write your own stylesheet module +containing a collection of templates for processing lists, +for example, and put them in a file +named mylists.xsl. Then your importing +stylesheet can pull in your list templates with +a <xsl:include +href="mylists.xsl"/> instruction. Since your +included template definitions appear after the main import +instruction, your templates will take precedence.

You'll need to make sure your new templates are +compatible with the remaining modules, which means:

  • Any named templates should use the same name so +calling templates in other modules can find them.

  • Your template set should process the same elements +matched by templates in the original module, to ensure +complete coverage.

  • Include the same set +of <xsl:param> elements in each +template to interface properly with any calling templates, +although you can set different values for your +parameters.

  • Any templates that are used like subroutines to +return a value should return the same data type.

Writing your own driver

Another approach to customizing the stylesheets is to +write your own driver file. Instead of +using <xsl:import +href="docbook.xsl"/>, you copy that file to a +new name and rewrite any of +the <xsl:include/> instructions to +assemble a custom collection of stylesheet modules. One +reason to do this is to speed up processing by reducing the +size of the stylesheet. If you are using a customized +DocBook DTD that omits many elements you never use, you +might be able to omit those modules of the +stylesheet.

Localization

The DocBook stylesheets include features for +localizing generated text, that is, printing any generated +text in a language other than the default English. In +general, the stylesheets will switch to the language +identified by a lang attribute when +processing elements in your documents. If your documents +use the lang attribute, then you don't +need to customize the stylesheets at all for +localization.

As far as the stylesheets go, +a lang attribute is inherited by the +descendents of a document element. The stylesheet searches +for a lang attribute using this XPath +expression:

<xsl:variable name="lang-attr"
+         select="($target/ancestor-or-self::*/@lang
+                  |$target/ancestor-or-self::*/@xml:lang)[last()]"/>

This locates the attribute on the current element or +its most recent ancestor. Thus +a lang attribute is in effect for an +element and all of its descendents, unless it is reset in +one of those descendents. If you define it in only your +document root element, then it applies to the whole +document:

<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.0//EN" "docbook.dtd">
+<book lang="fr">
+...
+</book>

When text is being generated, the stylesheet checks +the most recent lang attribute and looks +up the generated text strings for that language in a +localization XML file. These are located in +the common directory of the +stylesheets, one file per language. Here is the top of the +file fr.xml:

<localization language="fr">
+
+<gentext key="abstract"                 text="R&#x00E9;sum&#x00E9;"/>
+<gentext key="answer"                   text="R:"/>
+<gentext key="appendix"                 text="Annexe"/>
+<gentext key="article"                  text="Article"/>
+<gentext key="bibliography"             text="Bibliographie"/>
+...
+

The stylesheet templates use the gentext key names, +and then the stylesheet looks up the associated text value +when the document is processed with that lang setting. The +file l10n.xml (note +the .xml suffix) lists the filenames of +all the supported languages.

You can also create a custom stylesheet that sets the +language. That might be useful if your documents don't make +appropriate use of the lang attribute. +The module l10n.xsl defines two global +variables that can be overridden with an importing +stylesheet as described above. Here are their default +definitions:

<xsl:variable name="l10n.gentext.language"></xsl:variable>
+<xsl:variable name="l10n.gentext.default.language">en</xsl:variable>
+

The first one sets the language for all elements, +regardless of an element's lang attribute +value. The second just sets a default language for any +elements that haven't got a lang setting +of their own (or their ancestors).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/ch02s02.html b/rosdocs/xsl/doc/ch02s02.html new file mode 100644 index 0000000..da81322 --- /dev/null +++ b/rosdocs/xsl/doc/ch02s02.html @@ -0,0 +1,11 @@ + + + Xalan Extensions

Xalan Extensions

The DocBook XSL Stylesheets include a set of Java extensions for +XalanJ version 2. Extensions are not provided for XalanC at this time.

Installation

The extensions are included in the distribution in +extensions/xalan2.jar. +Xalan 1 is not supported.

Just make sure that the jar file is in your CLASSPATH when +you run Xalan.

Using the Extensions

For compatibility with other processors, the extensions are disabled +by default. To enable the extensions, turn on +$xalan.extensions, for example by passing +-PARAM xalan.extensions 1 to Xalan.

For more control over the specific extensions, see +HTML Parameter Reference.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/ch03.html b/rosdocs/xsl/doc/ch03.html new file mode 100644 index 0000000..16999ef --- /dev/null +++ b/rosdocs/xsl/doc/ch03.html @@ -0,0 +1,4 @@ + + + Chapter 3. Tools documentation

Chapter 3. Tools documentation

There are several tools useful for usage with DocBook in +directory tools.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/ch04.html b/rosdocs/xsl/doc/ch04.html new file mode 100644 index 0000000..2901ce8 --- /dev/null +++ b/rosdocs/xsl/doc/ch04.html @@ -0,0 +1,3 @@ + + + Chapter 4. Reference Documentation

Chapter 4. Reference Documentation

Reference documentation is also available:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/ch05.html b/rosdocs/xsl/doc/ch05.html new file mode 100644 index 0000000..a605fab --- /dev/null +++ b/rosdocs/xsl/doc/ch05.html @@ -0,0 +1,60 @@ + + + Chapter 5. The Template System

Chapter 5. The Template System

Norman Walsh

+$Id$ +

Some parts of the DocBook XSL Stylesheets are actually generated +using XSL Stylesheets. In particular, the formatting of title pages +is generated using a special template system. The same template system +will eventually allow you to easily customize bibliography entries and +perhaps other parts of the system as well.

FIXME: there needs to be more introductory/explanatory text +here!

Changing the Article Title Page

In order to demonstrate how this system works, let's consider +how we can use it to change the format of article title pages.

By default, the stylesheets print the following elements on the +article title page, in this order: title, subtitle, corpauthor, authorgroup, author, releaseinfo, copyright, legalnotice, pubdate, revision, revhistory, abstract. Suppose we want to put only the +title, author, and +edition elements on the title page, in the order +that they appear in the articleinfo. +

The “hard” (and wrong!) way to do it would be to +edit titlepage.templates.xsl and make the changes +by hand.

The easy and right way is to construct a template document that +describes the order and sequence of elements that you want:

+<t:templates xmlns:t="http://nwalsh.com/docbook/xsl/template/1.0"
+             xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+             base-stylesheet="/path/to/html/docbook.xsl">
+
+<t:titlepage element="article" wrapper="div" class="titlepage">
+  <t:titlepage-content side="recto" order="document">
+    <title predicate="[1]"/>
+    <author/>
+    <edition/>
+  </t:titlepage-content>
+</t:titlepage>
+</t:templates>
+

Then process this document with the +template/titlepage.xsl stylesheet. This will +produce the following somewhat cryptic stylesheet:

+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+<!-- This stylesheet was created by titlepage.xsl; do not edit it by hand. -->
+
+<xsl:import href="/path/to/html/docbook.xsl"/>
+
+<xsl:template name="article.titlepage.recto"><xsl:apply-templates mode="article.titlepage.recto.mode" select="(articleinfo/title|artheader/title|title)[1]|articleinfo/author|artheader/author|articleinfo/edition|artheader/edition"/>
+</xsl:template>
+
+<xsl:template name="article.titlepage">
+  <div class="titlepage">
+    <xsl:call-template name="article.titlepage.before.recto"/>
+    <xsl:call-template name="article.titlepage.recto"/>
+    <xsl:call-template name="article.titlepage.before.verso"/>
+    <xsl:call-template name="article.titlepage.verso"/>
+    <xsl:call-template name="article.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+</xsl:stylesheet>
+

Despite its cryptic appearance, it has the desired result. +If you want to change how the titlepage elements +are formatted (as opposed to which ones are formatted), you have to +write your own customization layer that overrides the template for +the element in question in the “titlepage.mode” mode.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/ch06s02.html b/rosdocs/xsl/doc/ch06s02.html new file mode 100644 index 0000000..16fc887 --- /dev/null +++ b/rosdocs/xsl/doc/ch06s02.html @@ -0,0 +1,35 @@ + + + Customizing generated files

Customizing generated files

Enabling navigation links

By default, the HTML Help stylesheet disables navigation links at +the start and the bottom of each page. If you want to enable the +links instead, start your XSLT processor with the parameter suppress.navigation set to 0.

saxon yourfile /path/to/stylesheets/htmlhelp/htmlhelp.xsl "suppress.navigation=0"

Another approach is to create a driver file, which overrides +the default parameter value.

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+	        version="1.0">
+
+  <xsl:import href="/path/to/stylesheets/htmlhelp/htmlhelp.xsl"/>
+
+  <xsl:param name="suppress.navigation" select="0"/>
+
+</xsl:stylesheet>
+

Generating HTML Help for non-Western European languages

If you are generating HTML Help for non-Western Europe +languages, you should change the output encoding of your files, because +the HTML Help compiler improperly handles UTF-8 and even character +entities in the TOC file and index entries. This can be easily done using a +“driver” file like this:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+	        version="1.0">
+
+  <xsl:import href="/path/to/stylesheets/contrib/htmlhelp/htmlhelp.xsl"/>
+
+  <xsl:param name="htmlhelp.encoding" select="'windows-1250'"/>
+  <xsl:param name="default.encoding" select="'windows-1250'"/>
+  <xsl:param name="saxon.character.representation" select="'native'"/>
+
+</xsl:stylesheet>
+

Default encoding is ISO-8859-1 (aka ISO Latin 1). If you get +some strange message about characters from your XSLT processor and +your document is in some of Western European languages, try changing +encoding to windows-1252. This encoding is similar +to ISO-8859-1 but contains some additional characters like +“typographical quotes” and dashes.

More about customizing

More info will come in a near future (I hope and +believe). Meanwhile look into reference for description of HTML Help +specific parameters.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/ch06s03.html b/rosdocs/xsl/doc/ch06s03.html new file mode 100644 index 0000000..71506b2 --- /dev/null +++ b/rosdocs/xsl/doc/ch06s03.html @@ -0,0 +1,5 @@ + + + Feedback

Feedback

If you have any comments and suggestions about the HTML Help +stylesheet feel free to contact me at following address +<jirka@kosek.cz>.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/common/ChangeLog b/rosdocs/xsl/doc/common/ChangeLog new file mode 100644 index 0000000..477d08b --- /dev/null +++ b/rosdocs/xsl/doc/common/ChangeLog @@ -0,0 +1,16 @@ +2002-03-09 Jirka Kosek + + * Makefile: Removed hardcoded reference for XSLT processor as it is already set in Makefile.incl. Fixed typo in DocBook DTD URI. + +2001-08-06 Norman Walsh + + * Makefile: Documentation and documentation generation tweaks + +2001-06-20 Norman Walsh + + * Makefile: Use XT again (neither Saxon nor Xalan work) + +2001-04-03 Norman Walsh + + * .cvsignore, Makefile: New file. + diff --git a/rosdocs/xsl/doc/common/common.html b/rosdocs/xsl/doc/common/common.html new file mode 100644 index 0000000..6d2dc7d --- /dev/null +++ b/rosdocs/xsl/doc/common/common.html @@ -0,0 +1,527 @@ + + + + + Common Template Reference + + + + +
+
+

Common Template Reference +

+
+
+
+

Norman Walsh

+
+
+
+

+ $Id$ + +

+
+
+ +
+
+
+
+
+
+
+
+

Introduction +

+
+
+

This is technical reference documentation for the DocBook XSL + Stylesheets; it documents (some of) the parameters, templates, and + other elements of the stylesheets. +

+

This is not intended to be “user” documentation. + It is provided for developers writing customization layers for the + stylesheets, and for anyone who's interested in “how it + works”. +

+

Although I am trying to be thorough, this documentation is known + to be incomplete. Don't forget to read the source, too :-) +

+
+
+

Table of Contents

+
+
is.component - Tests if a given node is a component-level element +
+
is.section - Tests if a given node is a section-level element +
+
section.level - Returns the hierarchical level of a section. +
+
qanda.section.level - Returns the hierarchical level of a QandASet. +
+
select.mediaobject - Selects an appropriate media object from a list +
+
is.acceptable.mediaobject - Returns '1' if the specified media object is recognized. +
+
check.id.unique - Warn users about references to non-unique IDs +
+
check.idref.targets - Warn users about incorrectly typed references +
+
copyright.years - Print a set of years with collapsed ranges +
+
find.path.params - Search in a table for the "best" match for the node +
+
+
+
+
+
+

Name

+

is.component — Tests if a given node is a component-level element

+
+
+

Synopsis

<xsl:template name="is.component">
+<xsl:param name="node" select="."/>
+  ...
+</xsl:template>
+
+ + +

This template returns '1' if the specified node is a component + (Chapter, Appendix, etc.), and '0' otherwise. +

+ + +
+
Parameters + + +
+
+
node
+
+

The node which is to be tested.

+
+
+
+ + +
+
Returns + + +

This template returns '1' if the specified node is a component + (Chapter, Appendix, etc.), and '0' otherwise. +

+ + +
+
+
+
+
+
+
+

Name

+

is.section — Tests if a given node is a section-level element

+
+
+

Synopsis

<xsl:template name="is.section">
+<xsl:param name="node" select="."/>
+  ...
+</xsl:template>
+
+ + +

This template returns '1' if the specified node is a section + (Section, Sect1, Sect2, etc.), and '0' otherwise. +

+ + +
+
Parameters + + +
+
+
node
+
+

The node which is to be tested.

+
+
+
+ + +
+
Returns + + +

This template returns '1' if the specified node is a section + (Section, Sect1, Sect2, etc.), and '0' otherwise. +

+ + +
+
+
+
+
+
+
+

Name

+

section.level — Returns the hierarchical level of a section.

+
+
+

Synopsis

<xsl:template name="section.level">
+<xsl:param name="node" select="."/>
+  ...
+</xsl:template>
+
+ + +

This template calculates the hierarchical level of a section. + Hierarchically, components are “top level”, so a + sect1 is at level 2, sect3 is + at level 3, etc. +

+ + + + +

Recursive sections are calculated down to the sixth level.

+ + +
+
Parameters + + +
+
+
node
+
+

The section node for which the level should be calculated. + Defaults to the context node. +

+
+
+
+ + +
+
Returns + + +

The section level, “2”, “3”, etc. + +

+ + +
+
+
+
+
+
+
+

Name

+

qanda.section.level — Returns the hierarchical level of a QandASet.

+
+
+

Synopsis

<xsl:template name="qanda.section.level"/>
+
+ + +

This template calculates the hierarchical level of a QandASet. + +

+ + +
+
Returns + + +

The level, “1”, “2”, etc. + +

+ + +
+
+
+
+
+
+
+

Name

+

select.mediaobject — Selects an appropriate media object from a list

+
+
+

Synopsis

<xsl:template name="select.mediaobject">
+<xsl:param name="olist" select="imageobject|imageobjectco                      |videoobject|audioobject|textobject"/>
+<xsl:param name="count">1</xsl:param>
+  ...
+</xsl:template>
+
+ + +

This template examines a list of media objects (usually the + children of a mediaobject or inlinemediaobject) and processes + the "right" object. +

+ + + + +

This template relies on a template named "is.acceptable.mediaobject" + to determine if a given object is an acceptable graphic. The semantics + of media objects is that the first acceptable graphic should be used. + +

+ + + + +

If no acceptable object is located, nothing happens.

+ + +
+
Parameters + + +
+
+
olist
+
+

The node list of potential objects to examine.

+
+
+
+ + +
+
Returns + + +

Calls <xsl:apply-templates> on the selected object.

+ + +
+
+
+
+
+
+
+

Name

+

is.acceptable.mediaobject — Returns '1' if the specified media object is recognized.

+
+
+

Synopsis

<xsl:template name="is.acceptable.mediaobject">
+<xsl:param name="object"/>
+  ...
+</xsl:template>
+
+ + +

This template examines a media object and returns '1' if the + object is recognized as a graphic. +

+ + +
+
Parameters + + +
+
+
object
+
+

The media object to consider.

+
+
+
+ + +
+
Returns + + +

0 or 1

+ + +
+
+
+
+
+
+
+

Name

+

check.id.unique — Warn users about references to non-unique IDs

+
+
+

Synopsis

<xsl:template name="check.id.unique">
+<xsl:param name="linkend"/>
+  ...
+</xsl:template>
+
+ + +

If passed an ID in linkend, + check.id.unique prints + a warning message to the user if either the ID does not exist or + the ID is not unique. +

+ + +
+
+
+
+
+
+
+

Name

+

check.idref.targets — Warn users about incorrectly typed references

+
+
+

Synopsis

<xsl:template name="check.idref.targets">
+<xsl:param name="linkend"/>
+<xsl:param name="element-list"/>
+  ...
+</xsl:template>
+
+ + +

If passed an ID in linkend, + check.idref.targets makes sure that the element + pointed to by the link is one of the elements listed in + element-list and warns the user otherwise. +

+ + +
+
+
+
+
+
+
+

Name

+

copyright.years — Print a set of years with collapsed ranges

+
+
+

Synopsis

<xsl:template name="copyright.years">
+<xsl:param name="years"/>
+<xsl:param name="print.ranges" select="1"/>
+<xsl:param name="single.year.ranges" select="0"/>
+<xsl:param name="firstyear" select="0"/>
+<xsl:param name="nextyear" select="0"/>
+  ...
+</xsl:template>
+
+ + +

This template prints a list of year elements with consecutive + years printed as a range. In other words: +

+ + +
<year>1992</year>
+<year>1993</year>
+<year>1994</year>
+ + +

is printed “1992-1994”, whereas:

+ + +
<year>1992</year>
+<year>1994</year>
+ + +

is printed “1992, 1994”.

+ + + + +

This template assumes that all the year elements contain only + decimal year numbers, that the elements are sorted in increasing + numerical order, that there are no duplicates, and that all the years + are expressed in full “century+year” + (“1999” not “99”) notation. +

+ + +
+
Parameters + + +
+
+
years
+
+

The initial set of year elements.

+
+
print.ranges
+
+

If non-zero, multi-year ranges are collapsed. If zero, all years + are printed discretely. +

+
+
single.year.ranges
+
+

If non-zero, two consecutive years will be printed as a range, + otherwise, they will be printed discretely. In other words, a single + year range is “1991-1992” but discretely it's + “1991, 1992”. +

+
+
+
+ + +
+
Returns + + +

This template returns the formatted list of years.

+ + +
+
+
+
+
+
+
+

Name

+

find.path.params — Search in a table for the "best" match for the node

+
+
+

Synopsis

<xsl:template name="find.path.params">
+<xsl:param name="node" select="."/>
+<xsl:param name="table" select="''"/>
+<xsl:param name="location">
+    <xsl:call-template name="xpath.location">
+      <xsl:with-param name="node" select="$node"/>
+    </xsl:call-template>
+  </xsl:param>
+  ...
+</xsl:template>
+
+ + +

This template searches in a table for the value that most-closely + (in the typical best-match sense of XSLT) matches the current (element) + node location. +

+ + +
+
+
+ + \ No newline at end of file diff --git a/rosdocs/xsl/doc/copyright.html b/rosdocs/xsl/doc/copyright.html new file mode 100644 index 0000000..424c74f --- /dev/null +++ b/rosdocs/xsl/doc/copyright.html @@ -0,0 +1,19 @@ + + + Copyright

Copyright

Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and 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.

Except as contained in this notice, the names of individuals +credited with contribution to this software shall not be used in +advertising or otherwise to promote the sale, use or other dealings in +this Software without prior written authorization from the individuals +in question.

Any stylesheet derived from this Software that is publically +distributed will be identified with a different name and the version +strings in any derived Software will be changed so that no possibility +of confusion between the derived package and this Software will +exist.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/extensions.html b/rosdocs/xsl/doc/extensions.html new file mode 100644 index 0000000..7593b9d --- /dev/null +++ b/rosdocs/xsl/doc/extensions.html @@ -0,0 +1,49 @@ + + + Chapter 2. Extensions

Chapter 2. Extensions

Extensions are supported in recent releases of Saxon and Xalan.

These extensions enable callouts, numbered program listings, and +the direct inclusion of text:

  1 @rem = '--*-Perl-*--                                       (1)
+    @echo off
+    perl.exe %_batchname %$
+    goto endofperl                                             (2)
+  5 @rem ';
+    
+    # Compress mail...
+    
+    require 'n:/home/nwalsh/lib/cygnus.pl';                    (3)
+ 10 require 'timelocal.pl';                                    (3)
+    use Cwd;   (4)
+    
+    select (STDERR); $| = 1;
+    select (STDOUT); $| = 1;
+ 15 
+    @DIRS = ("/home/nwalsh/Mail");
+    while (@DIRS) {
+        $dir = shift @DIRS;
+        opendir (DIR, $dir);
+ 20     while ($fname = readdir(DIR)) {
+            $file = "$dir/$fname";
+            next if ! -d $file;
+            next if $fname =~ /^\.\.?$/;
+    
+ 25         print "$file\n";
+            push (@DIRS, $file);
+            &compress ($file);                                 (5)
+        }
+    }
+ 30 
+    exit;
1

The prologue handles embedding a Perl script in a DOS batch file.

2

The goto statement, interpreted by the DOS batch +file interpreter, skips over the body of the Perl script.

3

The require statement sources in external program +fragments.

4

The use statement is similar, but has additional +utility. It is a Perl5 function. (Note that this callout area specifies +both a line and a column.)

5

This is a user subroutine call.

Saxon Extensions

The DocBook XSL Stylesheets include a set of Java extensions for +Saxon.

Installation

The extensions are included in the distribution in +extensions/saxon642.jar and +extensions/saxon643.jar. Use the former for Saxon +version 6.4.2 and the latter for Saxon 6.4.3 or Saxon 6.4.4. Saxon +version 6.4.1 and all prior releases contained a significant bug, they +are not supported.

Just make sure that the right jar file is in your CLASSPATH when +you run Saxon.

Using the Extensions

For compatibility with other processors, the extensions are disabled +by default. To enable the extensions, turn on +$saxon.extensions, for example by passing +saxon.extensions=1 to Saxon.

For more control over the specific extensions, see +HTML Parameter Reference.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/ChangeLog b/rosdocs/xsl/doc/fo/ChangeLog new file mode 100644 index 0000000..5438cab --- /dev/null +++ b/rosdocs/xsl/doc/fo/ChangeLog @@ -0,0 +1,28 @@ +2002-03-09 Jirka Kosek + + * Makefile: Removed hardcoded reference for XSLT processor as it is already set in Makefile.incl. Fixed typo in DocBook DTD URI. + +2002-01-10 Norman Walsh + + * page.png: New file. + +2001-11-12 Norman Walsh + + * Makefile: Hacking at producing chunked parameter references + +2001-10-13 Norman Walsh + + * Makefile: Changes to make the documentation work with the new litprog sources + +2001-08-06 Norman Walsh + + * Makefile: Documentation and documentation generation tweaks + +2001-06-20 Norman Walsh + + * Makefile: Use XT again (neither Saxon nor Xalan work) + +2001-04-03 Norman Walsh + + * .cvsignore, Makefile: New file. + diff --git a/rosdocs/xsl/doc/fo/admon.graphics.extension.html b/rosdocs/xsl/doc/fo/admon.graphics.extension.html new file mode 100644 index 0000000..93154fa --- /dev/null +++ b/rosdocs/xsl/doc/fo/admon.graphics.extension.html @@ -0,0 +1,4 @@ + + + admon.graphics.extension

Name

admon.graphics.extension — Extension for admonition graphics

Synopsis

§2: §141

  1| <xsl:param name="admon.graphics.extension"
+  2|            select="'.png'"/>

Description

Sets the extension to use on admonition graphics.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/admon.graphics.html b/rosdocs/xsl/doc/fo/admon.graphics.html new file mode 100644 index 0000000..fe86e07 --- /dev/null +++ b/rosdocs/xsl/doc/fo/admon.graphics.html @@ -0,0 +1,6 @@ + + + admon.graphics

Name

admon.graphics — Use graphics in admonitions?

Synopsis

§1: §141

  1| <xsl:param name="admon.graphics"
+  2|            select="0"/>

Description

If true (non-zero), admonitions are presented in an alternate style that uses +a graphic. Default graphics are provided in the distribution. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/admon.graphics.path.html b/rosdocs/xsl/doc/fo/admon.graphics.path.html new file mode 100644 index 0000000..25f65a1 --- /dev/null +++ b/rosdocs/xsl/doc/fo/admon.graphics.path.html @@ -0,0 +1,5 @@ + + + admon.graphics.path

Name

admon.graphics.path — Path to admonition graphics

Synopsis

§3: §141

  1| <xsl:param name="admon.graphics.path">images/</xsl:param>

Description

Sets the path, probably relative to the directory where the HTML +files are created, to the admonition graphics. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/admonition.properties.html b/rosdocs/xsl/doc/fo/admonition.properties.html new file mode 100644 index 0000000..864b2e8 --- /dev/null +++ b/rosdocs/xsl/doc/fo/admonition.properties.html @@ -0,0 +1,3 @@ + + + admonition.properties

Name

admonition.properties — To set the style for admonitions.

Synopsis

§5: §141

  1| <xsl:attribute-set name="admonition.properties"/>

Description

How do you want admonitions styled?

Set the font-size, weight etc to the style required

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/admonition.title.properties.html b/rosdocs/xsl/doc/fo/admonition.title.properties.html new file mode 100644 index 0000000..fc68f1e --- /dev/null +++ b/rosdocs/xsl/doc/fo/admonition.title.properties.html @@ -0,0 +1,8 @@ + + + admonition.title.properties

Name

admonition.title.properties — To set the style for admonitions titles.

Synopsis

§4: §141

  1| <xsl:attribute-set name="admonition.title.properties">
+   |   <xsl:attribute name="font-size">14pt</xsl:attribute>
+   |   <xsl:attribute name="font-weight">bold</xsl:attribute>
+   |   <xsl:attribute name="hyphenate">false</xsl:attribute>
+  5|   <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
+   | </xsl:attribute-set>

Description

How do you want admonitions titles styled?

Set the font-size, weight etc to the style required

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/alignment.html b/rosdocs/xsl/doc/fo/alignment.html new file mode 100644 index 0000000..59522e3 --- /dev/null +++ b/rosdocs/xsl/doc/fo/alignment.html @@ -0,0 +1,4 @@ + + + alignment

Name

alignment — Specify the default text alignment

Synopsis

§97: §141

  1| <xsl:param name="alignment">justify</xsl:param>

Description

The default text alignment is used for most body text. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/apa.html b/rosdocs/xsl/doc/fo/apa.html new file mode 100644 index 0000000..eb920d6 --- /dev/null +++ b/rosdocs/xsl/doc/fo/apa.html @@ -0,0 +1,161 @@ + + + Appendix A. The Stylesheet

Appendix A. The Stylesheet

The param.xsl stylesheet is just a wrapper +around all these parameters.

§141

  1| <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+   |                 exclude-result-prefixes="src"
+   |                 version="1.0">
+   | 
+  5| <!-- This file is generated from param.xweb; do not edit this file! -->
+   | 
+   | <!-- ********************************************************************
+   |      $Id$
+   |      ********************************************************************
+ 10| 
+   |      This file is part of the XSL DocBook Stylesheet distribution.
+   |      See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+   |      and other information.
+   | 
+ 15|      ******************************************************************** -->
+   | 
+   | §2. admon.graphics.extension
+   | §1. admon.graphics
+   | §3. admon.graphics.path
+ 20| §5. admonition.properties
+   | §4. admonition.title.properties
+   | §97. alignment
+   | §37. appendix.autolabel
+   | §24. arbortext.extensions
+ 25| §47. author.othername.in.middle
+   | §16. autotoc.label.separator
+   | §63. biblioentry.item.separator
+   | §64. bibliography.collection
+   | §77. blockquote.properties
+ 30| §111. body.font.family
+   | §106. body.font.master
+   | §107. body.font.size
+   | §95. body.margin.bottom
+   | §96. body.margin.top
+ 35| §6. callout.defaultcolumn
+   | §8. callout.graphics.extension
+   | §7. callout.graphics
+   | §9. callout.graphics.number.limit
+   | §10. callout.graphics.path
+ 40| §12. callout.unicode.font
+   | §11. callout.unicode
+   | §13. callout.unicode.number.limit
+   | §14. callout.unicode.start.character
+   | §15. callouts.extension
+ 45| §38. chapter.autolabel
+   | §100. column.count
+   | §101. column.count.of.index
+   | §118. compact.list.item.spacing
+   | §121. component.title.properties
+ 50| §54. default.table.width
+   | §104. default.units
+   | §112. dingbat.font.family
+   | §94. double.sided
+   | §110. draft.watermark.image
+ 55| §66. firstterm.only.link
+   | §108. footnote.font.size
+   | §25. fop.extensions
+   | §122. formal.object.properties
+   | §69. formal.procedures
+ 60| §70. formal.title.placement
+   | §123. formal.title.properties
+   | §48. funcsynopsis.decoration
+   | §49. funcsynopsis.style
+   | §50. function.parens
+ 65| §20. generate.index
+   | §19. generate.toc
+   | §67. glossary.collection
+   | §65. glossterm.auto.link
+   | §68. graphic.default.extension
+ 70| §98. hyphenate
+   | §124. informal.object.properties
+   | §119. insert.xref.page.number
+   | §43. label.from.part
+   | §99. line-height
+ 75| §30. linenumbering.everyNth
+   | §31. linenumbering.extension
+   | §32. linenumbering.separator
+   | §33. linenumbering.width
+   | §116. list.block.spacing
+ 80| §117. list.item.spacing
+   | §45. make.single.year.ranges
+   | §46. make.year.ranges
+   | §113. monospace.font.family
+   | §125. monospace.verbatim.properties
+ 85| §55. nominal.table.width
+   | §105. normal.para.spacing
+   | §84. page.height
+   | §85. page.height.portrait
+   | §86. page.margin.bottom
+ 90| §87. page.margin.inner
+   | §88. page.margin.outer
+   | §89. page.margin.top
+   | §90. page.orientation
+   | §91. page.width
+ 95| §92. page.width.portrait
+   | §93. paper.type
+   | §39. part.autolabel
+   | §26. passivetex.extensions
+   | §40. preface.autolabel
+100| §17. process.empty.source.toc
+   | §18. process.source.toc
+   | §127. profile.arch
+   | §128. profile.condition
+   | §129. profile.conformance
+105| §130. profile.lang
+   | §131. profile.os
+   | §132. profile.revision
+   | §133. profile.revisionflag
+   | §134. profile.role
+110| §135. profile.security
+   | §136. profile.userlevel
+   | §137. profile.vendor
+   | §138. profile.attribute
+   | §139. profile.value
+115| §140. profile.separator
+   | §74. punct.honorific
+   | §62. qanda.inherit.numeration
+   | §61. qandadiv.autolabel
+   | §51. refentry.generate.name
+120| §52. refentry.generate.title
+   | §53. refentry.xref.manvolnum
+   | §102. region.after.extent
+   | §103. region.before.extent
+   | §44. rootid
+125| §71. runinhead.default.title.end.punct
+   | §72. runinhead.title.end.punct
+   | §114. sans.font.family
+   | §41. section.autolabel
+   | §42. section.label.includes.component.label
+130| §75. segmentedlist.as.table
+   | §81. shade.verbatim
+   | §82. shade.verbatim.style
+   | §73. show.comments
+   | §59. table.border.color
+135| §58. table.border.style
+   | §56. table.border.thickness
+   | §57. table.cell.padding
+   | §60. table.entry.padding
+   | §34. tablecolumns.extension
+140| §35. textinsert.extension
+   | §27. tex.math.in.alt
+   | §28. tex.math.delims
+   | §115. title.font.family
+   | §109. title.margin.left
+145| §22. toc.indent.width
+   | §23. toc.margin.properties
+   | §21. toc.section.depth
+   | §36. use.extensions
+   | §83. use.svg
+150| §79. ulink.footnotes
+   | §80. ulink.hyphenate
+   | §78. ulink.show
+   | §76. variablelist.as.blocks
+   | §126. verbatim.properties
+155| §29. xep.extensions
+   | §120. xref.properties
+   | 
+   | </xsl:stylesheet>
\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/appendix.autolabel.html b/rosdocs/xsl/doc/fo/appendix.autolabel.html new file mode 100644 index 0000000..fa03a09 --- /dev/null +++ b/rosdocs/xsl/doc/fo/appendix.autolabel.html @@ -0,0 +1,6 @@ + + + appendix.autolabel

Name

appendix.autolabel — Are Appendixes automatically enumerated?

Synopsis

§37: §141

  1| <xsl:param name="appendix.autolabel"
+  2|            select="1"/>

Description

If true (non-zero), unlabeled appendixes will be +enumerated. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/arbortext.extensions.html b/rosdocs/xsl/doc/fo/arbortext.extensions.html new file mode 100644 index 0000000..6d0268c --- /dev/null +++ b/rosdocs/xsl/doc/fo/arbortext.extensions.html @@ -0,0 +1,7 @@ + + + arbortext.extensions

Name

arbortext.extensions — Enable Arbortext extensions?

Synopsis

§24: §141

  1| <xsl:param name="arbortext.extensions"
+  2|            select="0"/>

Description

If non-zero, +Arbortext +extensions will be used. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/author.othername.in.middle.html b/rosdocs/xsl/doc/fo/author.othername.in.middle.html new file mode 100644 index 0000000..0e6a28c --- /dev/null +++ b/rosdocs/xsl/doc/fo/author.othername.in.middle.html @@ -0,0 +1,9 @@ + + + author.othername.in.middle

Name

author.othername.in.middle — Is othername in author a +middle name?

Synopsis

§47: §141

  1| <xsl:param name="author.othername.in.middle"
+  2|            select="1"/>

Description

If true (non-zero), the othername of an author +appears between the firstname and +surname. Otherwise, othername +is suppressed. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/autotoc.label.separator.html b/rosdocs/xsl/doc/fo/autotoc.label.separator.html new file mode 100644 index 0000000..1569834 --- /dev/null +++ b/rosdocs/xsl/doc/fo/autotoc.label.separator.html @@ -0,0 +1,4 @@ + + + autotoc.label.separator

Name

autotoc.label.separator — Separator between labels and titles in the ToC

Synopsis

§16: §141

  1| <xsl:param name="autotoc.label.separator"
+  2|            select="'. '"/>

Description

String to use to seperate labels and title in a table of contents.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/biblioentry.item.separator.html b/rosdocs/xsl/doc/fo/biblioentry.item.separator.html new file mode 100644 index 0000000..3da7a90 --- /dev/null +++ b/rosdocs/xsl/doc/fo/biblioentry.item.separator.html @@ -0,0 +1,4 @@ + + + biblioentry.item.separator

Name

biblioentry.item.separator — Text to separate bibliography entries

Synopsis

§63: §141

  1| <xsl:param name="biblioentry.item.separator">. </xsl:param>

Description

Text to separate bibliography entries +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/bibliography.collection.html b/rosdocs/xsl/doc/fo/bibliography.collection.html new file mode 100644 index 0000000..3f7a73d --- /dev/null +++ b/rosdocs/xsl/doc/fo/bibliography.collection.html @@ -0,0 +1,56 @@ + + + bibliography.collection

Name

bibliography.collection — Name of the bibliography collection file

Synopsis

§64: §141

  1| <xsl:param name="bibliography.collection"
+  2|            select="'http://docbook.sourceforge.net/release/bibliography/bibliography.xml'"/>

Description

Maintaining bibliography entries across a set of documents is tedious, time +consuming, and error prone. It makes much more sense, usually, to store all of +the bibliography entries in a single place and simply “extract” +the ones you need in each document.

That's the purpose of the +bibliography.collection parameter. To setup a global +bibliography “database”, follow these steps:

First, create a stand-alone bibliography document that contains all of +the documents that you wish to reference. Make sure that each bibliography +entry (whether you use biblioentry or bibliomixed) +has an ID.

My global bibliography, ~/bibliography.xml begins +like this:

<!DOCTYPE bibliography
+  PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<bibliography><title>References</title>
+
+<bibliomixed id="xml-rec"><abbrev>XML 1.0</abbrev>Tim Bray,
+Jean Paoli, C. M. Sperberg-McQueen, and Eve Maler, editors.
+<citetitle><ulink url="http://www.w3.org/TR/REC-xml">Extensible Markup
+Language (XML) 1.0 Second Edition</ulink></citetitle>.
+World Wide Web Consortium, 2000.
+</bibliomixed>
+
+<bibliomixed id="xml-names"><abbrev>Namespaces</abbrev>Tim Bray,
+Dave Hollander,
+and Andrew Layman, editors.
+<citetitle><ulink url="http://www.w3.org/TR/REC-xml-names/">Namespaces in
+XML</ulink></citetitle>.
+World Wide Web Consortium, 1999.
+</bibliomixed>
+
+<!-- ... -->
+</bibliography>
+

When you create a bibliography in your document, simply +provide empty bibliomixed +entries for each document that you wish to cite. Make sure that these +elements have the same ID as the corresponding “real” +entry in your global bibliography.

For example:

<bibliography><title>Bibliography</title>
+
+<bibliomixed id="xml-rec"/>
+<bibliomixed id="xml-names"/>
+<bibliomixed id="DKnuth86">Donald E. Knuth. <citetitle>Computers and
+Typesetting: Volume B, TeX: The Program</citetitle>. Addison-Wesley,
+1986.  ISBN 0-201-13437-3.
+</bibliomixed>
+<bibliomixed id="relaxng"/>
+
+</bibliography>

Note that it's perfectly acceptable to mix entries from your +global bibliography with “normal” entries. You can use +xref or other elements to cross-reference your +bibliography entries in exactly the same way you do now.

Finally, when you are ready to format your document, simply set the +bibliography.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global bibliography.

The stylesheets will format the bibliography in your document as if +all of the entries referenced appeared there literally.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/blockquote.properties.html b/rosdocs/xsl/doc/fo/blockquote.properties.html new file mode 100644 index 0000000..5a65da4 --- /dev/null +++ b/rosdocs/xsl/doc/fo/blockquote.properties.html @@ -0,0 +1,10 @@ + + + blockquote.properties

Name

blockquote.properties — To set the style for block quotations.

Synopsis

§77: §141

  1| <xsl:attribute-set name="blockquote.properties">
+   | <xsl:attribute name="start-indent">0.5in</xsl:attribute>
+   | <xsl:attribute name="end-indent">0.5in</xsl:attribute>
+   | <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute>
+  5| <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
+   | <xsl:attribute name="space-after.maximum">2em</xsl:attribute>
+   | </xsl:attribute-set>

Description

The blockquote.properties attribute set specifies +the formating properties of block quotations.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/body.font.family.html b/rosdocs/xsl/doc/fo/body.font.family.html new file mode 100644 index 0000000..e2bc96a --- /dev/null +++ b/rosdocs/xsl/doc/fo/body.font.family.html @@ -0,0 +1,4 @@ + + + body.font.family

Name

body.font.family — The default font family for body text

Synopsis

§111: §141

  1| <xsl:param name="body.font.family">Times Roman</xsl:param>

Description

The body font family is the default font used for text in the page body. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/body.font.master.html b/rosdocs/xsl/doc/fo/body.font.master.html new file mode 100644 index 0000000..9f57a34 --- /dev/null +++ b/rosdocs/xsl/doc/fo/body.font.master.html @@ -0,0 +1,6 @@ + + + body.font.master

Name

body.font.master — Specifies the default point size for body text

Synopsis

§106: §141

  1| <xsl:param name="body.font.master">10</xsl:param>

Description

The body font size is specified in two parameters +(body.font.master and body.font.size) +so that math can be performed on the font size by XSLT. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/body.font.size.html b/rosdocs/xsl/doc/fo/body.font.size.html new file mode 100644 index 0000000..b8835f5 --- /dev/null +++ b/rosdocs/xsl/doc/fo/body.font.size.html @@ -0,0 +1,8 @@ + + + body.font.size

Name

body.font.size — Specifies the default font size for body text

Synopsis

§107: §141

  1| <xsl:param name="body.font.size">
+  2|  <xsl:value-of select="$body.font.master"/><xsl:text>pt</xsl:text>
+  3| </xsl:param>

Description

The body font size is specified in two parameters +(body.font.master and body.font.size) +so that math can be performed on the font size by XSLT. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/body.margin.bottom.html b/rosdocs/xsl/doc/fo/body.margin.bottom.html new file mode 100644 index 0000000..bed66d7 --- /dev/null +++ b/rosdocs/xsl/doc/fo/body.margin.bottom.html @@ -0,0 +1,5 @@ + + + body.margin.bottom

Name

body.margin.bottom — The bottom margin of the body text

Synopsis

§95: §141

  1| <xsl:param name="body.margin.bottom">0.5in</xsl:param>

Description

The body bottom margin is the distance from the last line of text +in the page body to the bottom of the region-after. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/body.margin.top.html b/rosdocs/xsl/doc/fo/body.margin.top.html new file mode 100644 index 0000000..f61e447 --- /dev/null +++ b/rosdocs/xsl/doc/fo/body.margin.top.html @@ -0,0 +1,5 @@ + + + body.margin.top

Name

body.margin.top — To specify the size of the top margin of a page

Synopsis

§96: §141

  1| <xsl:param name="body.margin.top">1in</xsl:param>

Description

The body top margin is the distance from the top of the region-before +to the first line of text in the page body. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/callout.defaultcolumn.html b/rosdocs/xsl/doc/fo/callout.defaultcolumn.html new file mode 100644 index 0000000..cc045cd --- /dev/null +++ b/rosdocs/xsl/doc/fo/callout.defaultcolumn.html @@ -0,0 +1,7 @@ + + + callout.defaultcolumn

Name

callout.defaultcolumn — Indicates what column callouts appear in by default

Synopsis

§6: §141

  1| <xsl:param name="callout.defaultcolumn"
+  2|            select="'60'"/>

Description

If a callout does not identify a column (for example, if it uses +the linerange unit), +it will appear in the default column. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/callout.graphics.extension.html b/rosdocs/xsl/doc/fo/callout.graphics.extension.html new file mode 100644 index 0000000..7d01d06 --- /dev/null +++ b/rosdocs/xsl/doc/fo/callout.graphics.extension.html @@ -0,0 +1,4 @@ + + + callout.graphics.extension

Name

callout.graphics.extension — Extension for callout graphics

Synopsis

§8: §141

  1| <xsl:param name="callout.graphics.extension"
+  2|            select="'.png'"/>

Description

Sets the extension to use on callout graphics.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/callout.graphics.html b/rosdocs/xsl/doc/fo/callout.graphics.html new file mode 100644 index 0000000..5ba6428 --- /dev/null +++ b/rosdocs/xsl/doc/fo/callout.graphics.html @@ -0,0 +1,7 @@ + + + callout.graphics

Name

callout.graphics — Use graphics for callouts?

Synopsis

§7: §141

  1| <xsl:param name="callout.graphics"
+  2|            select="'1'"/>

Description

If non-zero, callouts are presented with graphics (e.g., reverse-video +circled numbers instead of "(1)", "(2)", etc.). +Default graphics are provided in the distribution. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/callout.graphics.number.limit.html b/rosdocs/xsl/doc/fo/callout.graphics.number.limit.html new file mode 100644 index 0000000..aa7c66d --- /dev/null +++ b/rosdocs/xsl/doc/fo/callout.graphics.number.limit.html @@ -0,0 +1,12 @@ + + + callout.graphics.number.limit

Name

callout.graphics.number.limit — Number of the largest callout graphic

Synopsis

§9: §141

  1| <xsl:param name="callout.graphics.number.limit"
+  2|            select="'10'"/>

Description

If callout.graphics +is non-zero, graphics are used to represent +callout numbers. The value of +callout.graphics.number.limit +is +the largest number for which a graphic exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/callout.graphics.path.html b/rosdocs/xsl/doc/fo/callout.graphics.path.html new file mode 100644 index 0000000..50dfebd --- /dev/null +++ b/rosdocs/xsl/doc/fo/callout.graphics.path.html @@ -0,0 +1,6 @@ + + + callout.graphics.path

Name

callout.graphics.path — Path to callout graphics

Synopsis

§10: §141

  1| <xsl:param name="callout.graphics.path"
+  2|            select="'images/callouts/'"/>

Description

Sets the path, probably relative to the directory where the HTML +files are created, to the callout graphics. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/callout.unicode.font.html b/rosdocs/xsl/doc/fo/callout.unicode.font.html new file mode 100644 index 0000000..e818e33 --- /dev/null +++ b/rosdocs/xsl/doc/fo/callout.unicode.font.html @@ -0,0 +1,6 @@ + + + callout.unicode.font

Name

callout.unicode.font — Specify a font for Unicode glyphs

Synopsis

§12: §141

  1| <xsl:param name="callout.unicode.font"
+  2|            select="'ZapfDingbats'"/>

Description

The name of the font to specify around Unicode callout glyphs. +If set to the empty string, no font change will occur. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/callout.unicode.html b/rosdocs/xsl/doc/fo/callout.unicode.html new file mode 100644 index 0000000..37f018b --- /dev/null +++ b/rosdocs/xsl/doc/fo/callout.unicode.html @@ -0,0 +1,5 @@ + + + callout.unicode

Name

callout.unicode — Use Unicode characters rather than images for callouts.

Synopsis

§11: §141

  1| <xsl:param name="callout.unicode"
+  2|            select="0"/>

Description

The stylesheets can use either an image of the numbers one to ten, or the single Unicode character which represents the numeral, in white on a black background. Use this to select the Unicode character option. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/callout.unicode.number.limit.html b/rosdocs/xsl/doc/fo/callout.unicode.number.limit.html new file mode 100644 index 0000000..42bea01 --- /dev/null +++ b/rosdocs/xsl/doc/fo/callout.unicode.number.limit.html @@ -0,0 +1,12 @@ + + + callout.unicode.number.limit

Name

callout.unicode.number.limit — Number of the largest callout graphic

Synopsis

§13: §141

  1| <xsl:param name="callout.unicode.number.limit"
+  2|            select="'10'"/>

Description

If callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.number.limit +is +the largest number for which a unicode character exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/callout.unicode.start.character.html b/rosdocs/xsl/doc/fo/callout.unicode.start.character.html new file mode 100644 index 0000000..931a463 --- /dev/null +++ b/rosdocs/xsl/doc/fo/callout.unicode.start.character.html @@ -0,0 +1,10 @@ + + + callout.unicode.start.character

Name

callout.unicode.start.character — First Unicode character to use, decimal value.

Synopsis

§14: §141

  1| <xsl:param name="callout.unicode.start.character"
+  2|            select="10102"/>

Description

If callout.graphics is zero and callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.start.character +is the decimal unicode value used for callout number one. Currently, +only 10102 is supported in the stylesheets for this parameter. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/callouts.extension.html b/rosdocs/xsl/doc/fo/callouts.extension.html new file mode 100644 index 0000000..422b45f --- /dev/null +++ b/rosdocs/xsl/doc/fo/callouts.extension.html @@ -0,0 +1,7 @@ + + + callouts.extension

Name

callouts.extension — Enable the callout extension

Synopsis

§15: §141

  1| <xsl:param name="callouts.extension"
+  2|            select="'1'"/>

Description

The callouts extension processes areaset +elements in ProgramListingCO and other text-based +callout elements. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/chapter.autolabel.html b/rosdocs/xsl/doc/fo/chapter.autolabel.html new file mode 100644 index 0000000..cd9c255 --- /dev/null +++ b/rosdocs/xsl/doc/fo/chapter.autolabel.html @@ -0,0 +1,5 @@ + + + chapter.autolabel

Name

chapter.autolabel — Are chapters automatically enumerated?

Synopsis

§38: §141

  1| <xsl:param name="chapter.autolabel"
+  2|            select="1"/>

Description

If true (non-zero), unlabeled chapters will be enumerated. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/column.count.html b/rosdocs/xsl/doc/fo/column.count.html new file mode 100644 index 0000000..e3efadf --- /dev/null +++ b/rosdocs/xsl/doc/fo/column.count.html @@ -0,0 +1,5 @@ + + + column.count

Name

column.count — Specifies the number of columns of text on the page

Synopsis

§100: §141

  1| <xsl:param name="column.count"
+  2|            select="'1'"/>

Description

The specified number of columns of text will appear on each page. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/column.count.of.index.html b/rosdocs/xsl/doc/fo/column.count.of.index.html new file mode 100644 index 0000000..51be476 --- /dev/null +++ b/rosdocs/xsl/doc/fo/column.count.of.index.html @@ -0,0 +1,5 @@ + + + column.count.of.index

Name

column.count.of.index — Number of columns in the index

Synopsis

§101: §141

  1| <xsl:param name="column.count.of.index"
+  2|            select="$column.count"/>

Description

This parameter specifies the number of columns on pages in the index. +The default is the same as the column.count.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/compact.list.item.spacing.html b/rosdocs/xsl/doc/fo/compact.list.item.spacing.html new file mode 100644 index 0000000..a19efbe --- /dev/null +++ b/rosdocs/xsl/doc/fo/compact.list.item.spacing.html @@ -0,0 +1,9 @@ + + + compact.list.item.spacing

Name

compact.list.item.spacing — What space do you want between list items (when spacing=compact)?

Synopsis

§118: §141

  1| <xsl:attribute-set name="compact.list.item.spacing">
+   |   <xsl:attribute name="space-before.optimum">0em</xsl:attribute>
+   |   <xsl:attribute name="space-before.minimum">0em</xsl:attribute>
+   |   <xsl:attribute name="space-before.maximum">0.2em</xsl:attribute>
+  5| </xsl:attribute-set>

Description

Specify what spacing you want between each list item when +spacing is +“compact”.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/component.title.properties.html b/rosdocs/xsl/doc/fo/component.title.properties.html new file mode 100644 index 0000000..fb1c419 --- /dev/null +++ b/rosdocs/xsl/doc/fo/component.title.properties.html @@ -0,0 +1,18 @@ + + + component.title.properties

Name

component.title.properties — Specify the styling for the title elements of a component.

Synopsis

§121: §141

  1| <xsl:attribute-set name="component.title.properties">
+   |   <xsl:attribute name="space-before.optimum">2em</xsl:attribute>
+   |   <xsl:attribute name="space-before.minimum">1.8em</xsl:attribute>
+   |   <xsl:attribute name="space-before.maximum">2.2em</xsl:attribute>
+  5|   <xsl:attribute name="font-weight">bold</xsl:attribute>
+   |   <xsl:attribute name="font-size">18pt</xsl:attribute>
+   |   <xsl:attribute name="space-after.optimum">1.5em</xsl:attribute>
+   |   <xsl:attribute name="space-after.minimum">1.3em</xsl:attribute>
+   |   <xsl:attribute name="space-after.maximum">1.8em</xsl:attribute>
+ 10|   <xsl:attribute name="hyphenate">false</xsl:attribute>
+   |   <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
+   | </xsl:attribute-set>

Description

A set of attributes are used to style the title of a +component (chapters, appendixes, articles, etc.). Components are usually +printed in the title.font.family. +Spacing before and after, font size etc are specified +using this parameter.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/default.table.width.html b/rosdocs/xsl/doc/fo/default.table.width.html new file mode 100644 index 0000000..46a7ebc --- /dev/null +++ b/rosdocs/xsl/doc/fo/default.table.width.html @@ -0,0 +1,6 @@ + + + default.table.width

Name

default.table.width — The default width of tables

Synopsis

§54: §141

  1| <xsl:param name="default.table.width"
+  2|            select="''"/>

Description

If specified, this value will be used for the WIDTH attribute on +tables that do not specify an alternate width (with the dbhtml processing +instruction).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/default.units.html b/rosdocs/xsl/doc/fo/default.units.html new file mode 100644 index 0000000..92d50f4 --- /dev/null +++ b/rosdocs/xsl/doc/fo/default.units.html @@ -0,0 +1,7 @@ + + + default.units

Name

default.units — Default units for an unqualified dimension

Synopsis

§104: §141

  1| <xsl:param name="default.units"
+  2|            select="'pt'"/>

Description

If an unqualified dimension is encountered (for example, in a +graphic width), the default-units will be used for the +units. Unqualified dimensions are not allowed in XSL Formatting Objects. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/dingbat.font.family.html b/rosdocs/xsl/doc/fo/dingbat.font.family.html new file mode 100644 index 0000000..fd7e002 --- /dev/null +++ b/rosdocs/xsl/doc/fo/dingbat.font.family.html @@ -0,0 +1,5 @@ + + + dingbat.font.family

Name

dingbat.font.family — The font family for copyright, quotes, and other symbols

Synopsis

§112: §141

  1| <xsl:param name="dingbat.font.family">Times Roman</xsl:param>

Description

The dingbat font family is used for dingbats. If it is defined +as the empty string, no font change is effected around dingbats. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/double.sided.html b/rosdocs/xsl/doc/fo/double.sided.html new file mode 100644 index 0000000..8688b39 --- /dev/null +++ b/rosdocs/xsl/doc/fo/double.sided.html @@ -0,0 +1,7 @@ + + + double.sided

Name

double.sided — Is the document to be printed double sided?

Synopsis

§94: §141

  1| <xsl:param name="double.sided"
+  2|            select="'0'"/>

Description

Double-sided documents are printed with a slightly wider margin +on the binding edge of the page. +

FIXME: The current set of parameters does not take writing direction +into account.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/draft.watermark.image.html b/rosdocs/xsl/doc/fo/draft.watermark.image.html new file mode 100644 index 0000000..14973c0 --- /dev/null +++ b/rosdocs/xsl/doc/fo/draft.watermark.image.html @@ -0,0 +1,4 @@ + + + draft.watermark.image

Name

draft.watermark.image — The URI of the image to be used for draft watermarks

Synopsis

§110: §141

  1| <xsl:param name="draft.watermark.image"
+  2|            select="'http://docbook.sourceforge.net/release/images/draft.png'"/>

Description

The image to be used for draft watermarks.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/firstterm.only.link.html b/rosdocs/xsl/doc/fo/firstterm.only.link.html new file mode 100644 index 0000000..a3a0b06 --- /dev/null +++ b/rosdocs/xsl/doc/fo/firstterm.only.link.html @@ -0,0 +1,6 @@ + + + firstterm.only.link

Name

firstterm.only.link — Does automatic glossterm linking only apply to firstterms?

Synopsis

§66: §141

  1| <xsl:param name="firstterm.only.link"
+  2|            select="0"/>

Description

If true, only firstterms will be automatically linked +to the glossary. If glossary linking is not enabled, this parameter +has no effect.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/footnote.font.size.html b/rosdocs/xsl/doc/fo/footnote.font.size.html new file mode 100644 index 0000000..f0d4c68 --- /dev/null +++ b/rosdocs/xsl/doc/fo/footnote.font.size.html @@ -0,0 +1,6 @@ + + + footnote.font.size

Name

footnote.font.size — The font size for footnotes

Synopsis

§108: §141

  1| <xsl:param name="footnote.font.size">
+  2|  <xsl:value-of select="$body.font.master * 0.8"/><xsl:text>pt</xsl:text>
+  3| </xsl:param>

Description

The footnote font size is used for...footnotes! +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/fop.extensions.html b/rosdocs/xsl/doc/fo/fop.extensions.html new file mode 100644 index 0000000..3234446 --- /dev/null +++ b/rosdocs/xsl/doc/fo/fop.extensions.html @@ -0,0 +1,7 @@ + + + fop.extensions

Name

fop.extensions — Enable FOP extensions?

Synopsis

§25: §141

  1| <xsl:param name="fop.extensions"
+  2|            select="0"/>

Description

If non-zero, +FOP +extensions will be used. At present, this consists of PDF bookmarks. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/formal.object.properties.html b/rosdocs/xsl/doc/fo/formal.object.properties.html new file mode 100644 index 0000000..d6393dd --- /dev/null +++ b/rosdocs/xsl/doc/fo/formal.object.properties.html @@ -0,0 +1,10 @@ + + + formal.object.properties

Name

formal.object.properties — Properties associated with a formal object such as a figure, or other component that has a title

Synopsis

§122: §141

  1| <xsl:attribute-set name="formal.object.properties">
+   |   <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute>
+   |   <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
+   |   <xsl:attribute name="space-before.maximum">2em</xsl:attribute>
+  5|   <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute>
+   |   <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
+   |   <xsl:attribute name="space-after.maximum">2em</xsl:attribute>
+   | </xsl:attribute-set>

Description

The styling for formal objects in docbook. Specify the spacing before and after the object.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/formal.procedures.html b/rosdocs/xsl/doc/fo/formal.procedures.html new file mode 100644 index 0000000..60c7cee --- /dev/null +++ b/rosdocs/xsl/doc/fo/formal.procedures.html @@ -0,0 +1,5 @@ + + + formal.procedures

Name

formal.procedures — Selects formal or informal procedures

Synopsis

§69: §141

  1| <xsl:param name="formal.procedures"
+  2|            select="1"/>

Description

Formal procedures are numbered and always have a title. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/formal.title.placement.html b/rosdocs/xsl/doc/fo/formal.title.placement.html new file mode 100644 index 0000000..090ac4e --- /dev/null +++ b/rosdocs/xsl/doc/fo/formal.title.placement.html @@ -0,0 +1,16 @@ + + + formal.title.placement

Name

formal.title.placement —

Synopsis

§70: §141

  1| <xsl:param name="formal.title.placement">
+   | figure before
+   | example before
+   | equation before
+  5| table before
+   | procedure before
+   | </xsl:param>

Description

Specifies where formal object titles should occur. For each formal object +type (figure, +example, +equation, +table, and procedure) +you can specify either the keyword +“before” or +“after”.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/formal.title.properties.html b/rosdocs/xsl/doc/fo/formal.title.properties.html new file mode 100644 index 0000000..adea95c --- /dev/null +++ b/rosdocs/xsl/doc/fo/formal.title.properties.html @@ -0,0 +1,12 @@ + + + formal.title.properties

Name

formal.title.properties — Style the title element of formal object such as a figure.

Synopsis

§123: §141

  1| <xsl:attribute-set name="formal.title.properties"
+   |                    use-attribute-sets="normal.para.spacing">
+   |   <xsl:attribute name="font-weight">bold</xsl:attribute>
+   |   <xsl:attribute name="font-size">12pt</xsl:attribute>
+  5|   <xsl:attribute name="hyphenate">false</xsl:attribute>
+   |   <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
+   |   <xsl:attribute name="space-after.minimum">0.4em</xsl:attribute>
+   |   <xsl:attribute name="space-after.optimum">0.6em</xsl:attribute>
+   |   <xsl:attribute name="space-after.maximum">0.8em</xsl:attribute>
+ 10| </xsl:attribute-set>

Description

Specify how the title should be styled. Specify the font size and weight of the title of the formal object.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/format.variablelist.as.list.html b/rosdocs/xsl/doc/fo/format.variablelist.as.list.html new file mode 100644 index 0000000..82cdf73 --- /dev/null +++ b/rosdocs/xsl/doc/fo/format.variablelist.as.list.html @@ -0,0 +1,6 @@ + + + format.variablelist.as.list

Name

format.variablelist.as.list — Use an fo:list to format VariableLists?

Synopsis

§38: §115

  1| <xsl:param name="format.variablelist.as.list"
+  2|            select="1"/>

Description

If non-zero, an fo:list will be used to format VariableLists. +Otherwise, nested fo:blocks will be used. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/funcsynopsis.decoration.html b/rosdocs/xsl/doc/fo/funcsynopsis.decoration.html new file mode 100644 index 0000000..6f251cf --- /dev/null +++ b/rosdocs/xsl/doc/fo/funcsynopsis.decoration.html @@ -0,0 +1,7 @@ + + + funcsynopsis.decoration

Name

funcsynopsis.decoration — Decorate elements of a FuncSynopsis?

Synopsis

§48: §141

  1| <xsl:param name="funcsynopsis.decoration"
+  2|            select="1"/>

Description

If true (non-zero), elements of the FuncSynopsis will be decorated (e.g. bold or +italic). The decoration is controlled by functions that can be redefined +in a customization layer. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/funcsynopsis.style.html b/rosdocs/xsl/doc/fo/funcsynopsis.style.html new file mode 100644 index 0000000..466c4fa --- /dev/null +++ b/rosdocs/xsl/doc/fo/funcsynopsis.style.html @@ -0,0 +1,7 @@ + + + funcsynopsis.style

Name

funcsynopsis.style — What style of 'FuncSynopsis' should be generated?

Synopsis

§49: §141

  1| <xsl:param name="funcsynopsis.style">kr</xsl:param>

Description

If funcsynopsis.style is ansi, +ANSI-style function synopses are generated for a +funcsynopsis, otherwise K&R-style +function synopses are generated. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/function.parens.html b/rosdocs/xsl/doc/fo/function.parens.html new file mode 100644 index 0000000..b6ce711 --- /dev/null +++ b/rosdocs/xsl/doc/fo/function.parens.html @@ -0,0 +1,6 @@ + + + function.parens

Name

function.parens — Generate parens after a function?

Synopsis

§50: §141

  1| <xsl:param name="function.parens">0</xsl:param>

Description

If not 0, the formatting of +a <function> element will include +generated parenthesis. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/generate.book.equation.lot.html b/rosdocs/xsl/doc/fo/generate.book.equation.lot.html new file mode 100644 index 0000000..01f5a1f --- /dev/null +++ b/rosdocs/xsl/doc/fo/generate.book.equation.lot.html @@ -0,0 +1,4 @@ + + + generate.book.equation.lot

Name

generate.book.equation.lot — Should a lot be generated for equations?

Synopsis

§19: §148

  1| <xsl:param name="generate.book.equation.lot"
+  2|            select="1"/>

Description

Specify if list of equations, like a table of contents, is required.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/generate.book.example.lot.html b/rosdocs/xsl/doc/fo/generate.book.example.lot.html new file mode 100644 index 0000000..d2380d4 --- /dev/null +++ b/rosdocs/xsl/doc/fo/generate.book.example.lot.html @@ -0,0 +1,4 @@ + + + generate.book.example.lot

Name

generate.book.example.lot — Is a list of equations required?

Synopsis

§20: §148

  1| <xsl:param name="generate.book.example.lot"
+  2|            select="1"/>

Description

Specify if a list of examples is required, similar to a table of contents but for examples.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/generate.book.figure.lot.html b/rosdocs/xsl/doc/fo/generate.book.figure.lot.html new file mode 100644 index 0000000..f26c55f --- /dev/null +++ b/rosdocs/xsl/doc/fo/generate.book.figure.lot.html @@ -0,0 +1,4 @@ + + + generate.book.figure.lot

Name

generate.book.figure.lot — Is a list of figures required for book?

Synopsis

§21: §148

  1| <xsl:param name="generate.book.figure.lot"
+  2|            select="1"/>

Description

Specify if a list of figures is required, similar to a table of contents but for figures.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/generate.book.table.lot.html b/rosdocs/xsl/doc/fo/generate.book.table.lot.html new file mode 100644 index 0000000..9409b65 --- /dev/null +++ b/rosdocs/xsl/doc/fo/generate.book.table.lot.html @@ -0,0 +1,4 @@ + + + generate.book.table.lot

Name

generate.book.table.lot — Do you want a list of tables in a book?

Synopsis

§22: §148

  1| <xsl:param name="generate.book.table.lot"
+  2|            select="1"/>

Description

Specify if a list of tables is required, similar to a table of contents, but for all the tables in the book

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/generate.book.toc.html b/rosdocs/xsl/doc/fo/generate.book.toc.html new file mode 100644 index 0000000..2b0213a --- /dev/null +++ b/rosdocs/xsl/doc/fo/generate.book.toc.html @@ -0,0 +1,4 @@ + + + generate.book.toc

Name

generate.book.toc — Do you want a table of contents in the book?

Synopsis

§23: §148

  1| <xsl:param name="generate.book.toc"
+  2|            select="1"/>

Description

Specify if a table of contents is required in the book.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/generate.component.toc.html b/rosdocs/xsl/doc/fo/generate.component.toc.html new file mode 100644 index 0000000..23803eb --- /dev/null +++ b/rosdocs/xsl/doc/fo/generate.component.toc.html @@ -0,0 +1,5 @@ + + + generate.component.toc

Name

generate.component.toc — Should TOCs be genereated in components (Chapters, Appendixes, etc.)?

Synopsis

§25: §148

  1| <xsl:param name="generate.component.toc"
+  2|            select="1"/>

Description

If true (non-zero), they are. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/generate.division.equation.lot.html b/rosdocs/xsl/doc/fo/generate.division.equation.lot.html new file mode 100644 index 0000000..2fbfb1e --- /dev/null +++ b/rosdocs/xsl/doc/fo/generate.division.equation.lot.html @@ -0,0 +1,5 @@ + + + generate.division.equation.lot

Name

generate.division.equation.lot — Generate a list of titles for Equations?

Synopsis

§26: §148

  1| <xsl:param name="generate.division.equation.lot"
+  2|            select="1"/>

Description

If non-zero, a list of titles is generated for Equations. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/generate.division.example.lot.html b/rosdocs/xsl/doc/fo/generate.division.example.lot.html new file mode 100644 index 0000000..c7c4a80 --- /dev/null +++ b/rosdocs/xsl/doc/fo/generate.division.example.lot.html @@ -0,0 +1,5 @@ + + + generate.division.example.lot

Name

generate.division.example.lot — Generate a list of titles for Examples?

Synopsis

§27: §148

  1| <xsl:param name="generate.division.example.lot"
+  2|            select="1"/>

Description

If non-zero, a list of titles is generated for Examples. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/generate.division.figure.lot.html b/rosdocs/xsl/doc/fo/generate.division.figure.lot.html new file mode 100644 index 0000000..b64db8a --- /dev/null +++ b/rosdocs/xsl/doc/fo/generate.division.figure.lot.html @@ -0,0 +1,5 @@ + + + generate.division.figure.lot

Name

generate.division.figure.lot — Generate a list of titles for Figures?

Synopsis

§28: §148

  1| <xsl:param name="generate.division.figure.lot"
+  2|            select="1"/>

Description

If non-zero, a list of titles is generated for Figures. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/generate.division.table.lot.html b/rosdocs/xsl/doc/fo/generate.division.table.lot.html new file mode 100644 index 0000000..58bafd2 --- /dev/null +++ b/rosdocs/xsl/doc/fo/generate.division.table.lot.html @@ -0,0 +1,5 @@ + + + generate.division.table.lot

Name

generate.division.table.lot — Generate a list of titles for Tables?

Synopsis

§29: §148

  1| <xsl:param name="generate.division.table.lot"
+  2|            select="1"/>

Description

If non-zero, a list of titles is generated for Tables. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/generate.division.toc.html b/rosdocs/xsl/doc/fo/generate.division.toc.html new file mode 100644 index 0000000..eaded41 --- /dev/null +++ b/rosdocs/xsl/doc/fo/generate.division.toc.html @@ -0,0 +1,5 @@ + + + generate.division.toc

Name

generate.division.toc — Should TOCs be genereated in divisions (Books, Parts, etc.)?

Synopsis

§30: §148

  1| <xsl:param name="generate.division.toc"
+  2|            select="1"/>

Description

If true (non-zero), they are. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/generate.index.html b/rosdocs/xsl/doc/fo/generate.index.html new file mode 100644 index 0000000..503bbe8 --- /dev/null +++ b/rosdocs/xsl/doc/fo/generate.index.html @@ -0,0 +1,4 @@ + + + generate.index

Name

generate.index — Do you want an index?

Synopsis

§20: §141

  1| <xsl:param name="generate.index"
+  2|            select="1"/>

Description

Specify if an index should be generated.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/generate.set.toc.html b/rosdocs/xsl/doc/fo/generate.set.toc.html new file mode 100644 index 0000000..b5712f3 --- /dev/null +++ b/rosdocs/xsl/doc/fo/generate.set.toc.html @@ -0,0 +1,4 @@ + + + generate.set.toc

Name

generate.set.toc — Do you want a table of contents in each set?

Synopsis

§24: §148

  1| <xsl:param name="generate.set.toc"
+  2|            select="1"/>

Description

Specify if a table of contents is required in each set.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/generate.toc.html b/rosdocs/xsl/doc/fo/generate.toc.html new file mode 100644 index 0000000..1452de0 --- /dev/null +++ b/rosdocs/xsl/doc/fo/generate.toc.html @@ -0,0 +1,33 @@ + + + generate.toc

Name

generate.toc — Control generation of ToCs and LoTs

Synopsis

§19: §141

  1| 
+   | <xsl:param name="generate.toc">
+   | /appendix toc
+   | /article  toc
+  5| book      toc,figure,table,example,equation
+   | /chapter  toc
+   | part      toc
+   | /preface  toc
+   | qandadiv  toc
+ 10| qandaset  toc
+   | reference toc
+   | /section  toc
+   | set       toc
+   | </xsl:param>

Description

This parameter has a structured value. It is a table of space-delimited +path/value pairs. Each path identifies some element in the source document +using a restricted subset of XPath (only the implicit child axis, no wildcards, +no predicates). Paths can be either relative or absolute.

When processing a particular element, the stylesheets consult this table to +determine if a ToC (or LoT(s)) should be generated.

For example, consider the entry:

book toc,figure

This indicates that whenever a book is formatted, a +Table Of Contents and a List of Figures should be generated. Similarly,

/chapter toc

indicates that whenever a document that has a root +of chapter is formatted, a Table of +Contents should be generated. The entry chapter would match +all chapters, but /chapter matches only chapter +document elements.

Generally, the longest match wins. So, for example, if you want to distinguish +articles in books from articles in parts, you could use these two entries:

book/article toc,figure
+part/article toc

Note that an article in a part can never match a book/article, +so if you want nothing to be generated for articles in parts, you can simply leave +that rule out.

If you want to leave the rule in, to make it explicit that you're turning +something off, use the value “nop”. For example, the following +entry disables ToCs and LoTs for articles:

article nop

Do not simply leave the word “article” in the file +without a matching value. That'd be just begging the silly little +path/value parser to get confused.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/glossary.collection.html b/rosdocs/xsl/doc/fo/glossary.collection.html new file mode 100644 index 0000000..27d28b3 --- /dev/null +++ b/rosdocs/xsl/doc/fo/glossary.collection.html @@ -0,0 +1,117 @@ + + + glossary.collection

Name

glossary.collection — Name of the glossary collection file

Synopsis

§67: §141

  1| <xsl:param name="glossary.collection"
+  2|            select="''"/>

Description

Glossaries maintained independently across a set of documents +are likely to become inconsistent unless considerable effort is +expended to keep them in sync. It makes much more sense, usually, to +store all of the glossary entries in a single place and simply +“extract” the ones you need in each document.

That's the purpose of the +glossary.collection parameter. To setup a global +glossary “database”, follow these steps:

Setting Up the Glossary Database

First, create a stand-alone glossary document that contains all of +the entries that you wish to reference. Make sure that each glossary +entry has an ID.

Here's an example glossary:

+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE glossary
+  PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<glossary>
+<glossaryinfo>
+<editor><firstname>Eric</firstname><surname>Raymond</surname></editor>
+<title>Jargon File 4.2.3 (abridged)</title>
+<releaseinfo>Just some test data</releaseinfo>
+</glossaryinfo>
+
+<glossdiv><title>0</title>
+
+<glossentry>
+<glossterm>0</glossterm>
+<glossdef>
+<para>Numeric zero, as opposed to the letter `O' (the 15th letter of
+the English alphabet). In their unmodified forms they look a lot
+alike, and various kluges invented to make them visually distinct have
+compounded the confusion. If your zero is center-dotted and letter-O
+is not, or if letter-O looks almost rectangular but zero looks more
+like an American football stood on end (or the reverse), you're
+probably looking at a modern character display (though the dotted zero
+seems to have originated as an option on IBM 3270 controllers). If
+your zero is slashed but letter-O is not, you're probably looking at
+an old-style ASCII graphic set descended from the default typewheel on
+the venerable ASR-33 Teletype (Scandinavians, for whom /O is a letter,
+curse this arrangement). (Interestingly, the slashed zero long
+predates computers; Florian Cajori's monumental "A History of
+Mathematical Notations" notes that it was used in the twelfth and
+thirteenth centuries.) If letter-O has a slash across it and the zero
+does not, your display is tuned for a very old convention used at IBM
+and a few other early mainframe makers (Scandinavians curse <emphasis>this</emphasis>
+arrangement even more, because it means two of their letters collide).
+Some Burroughs/Unisys equipment displays a zero with a <emphasis>reversed</emphasis>
+slash. Old CDC computers rendered letter O as an unbroken oval and 0
+as an oval broken at upper right and lower left. And yet another
+convention common on early line printers left zero unornamented but
+added a tail or hook to the letter-O so that it resembled an inverted
+Q or cursive capital letter-O (this was endorsed by a draft ANSI
+standard for how to draw ASCII characters, but the final standard
+changed the distinguisher to a tick-mark in the upper-left corner).
+Are we sufficiently confused yet?</para>
+</glossdef>
+</glossentry>
+
+<glossentry>
+<glossterm>1TBS</glossterm>
+<glossdef>
+<para role="accidence">
+<phrase role="pronounce"></phrase>
+<phrase role="partsofspeach">n</phrase>
+</para>
+<para>The "One True Brace Style"</para>
+<glossseealso>indent style</glossseealso>
+</glossdef>
+</glossentry>
+
+<!-- ... -->
+
+</glossdiv>
+
+<!-- ... -->
+
+</glossary>

Marking Up Glossary Terms

That takes care of the glossary database, now you have to get the entries +into your document. Unlike bibliography entries, which can be empty, creating +“placeholder” glossary entries would be very tedious. So instead, +support for glossary.collection relies on implicit linking.

In your source document, simply use firstterm and +glossterm to identify the terms you wish to have included +in the glossary. The stylesheets assume that you will either set the +baseform attribute correctly, or that the +content of the element exactly matches a term in your glossary.

If you're using a glossary.collection, don't +make explicit links on the terms in your document.

So, in your document, you might write things like this:

<para>This is dummy text, without any real meaning.
+The point is simply to reference glossary terms like <glossterm>0</glossterm>
+and the <firstterm baseform="1TBS">One True Brace Style (1TBS)</firstterm>.
+The <glossterm>1TBS</glossterm>, as you can probably imagine, is a nearly
+religious issue.</para>

If you set the firstterm.only.link parameter, +only the terms marked with firstterm will be links. +Otherwise, all the terms will be linked.

Marking Up the Glossary

The glossary itself has to be identified for the stylesheets. For lack +of a better choice, the role is used. +To identify the glossary as the target for automatic processing, set +the role to “auto”. The title of this +glossary (and any other information from the glossaryinfo +that's rendered by your stylesheet) will be displayed, but the entries will +come from the database. +

Unfortunately, the glossary can't be empty, so you must put in +at least one glossentry. The content of this entry +is irrelevant, it will not be rendered:

<glossary role="auto">
+<glossentry>
+<glossterm>Irrelevant</glossterm>
+<glossdef>
+<para>If you can see this, the document was processed incorrectly. Use
+the <parameter>glossary.collection</parameter> parameter.</para>
+</glossdef>
+</glossentry>
+</glossary>

What about glossary divisions? If your glossary database has glossary +divisions and your automatic glossary contains at least +one glossdiv, the automic glossary will have divisions. +If the glossdiv is missing from either location, no divisions +will be rendered.

Glossary entries (and divisions, if appropriate) in the glossary will +occur in precisely the order they occur in your database.

Formatting the Document

Finally, when you are ready to format your document, simply set the +glossary.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global glossary.

The stylesheets will format the glossary in your document as if +all of the entries implicilty referenced appeared there literally.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/glossterm.auto.link.html b/rosdocs/xsl/doc/fo/glossterm.auto.link.html new file mode 100644 index 0000000..afc834d --- /dev/null +++ b/rosdocs/xsl/doc/fo/glossterm.auto.link.html @@ -0,0 +1,9 @@ + + + glossterm.auto.link

Name

glossterm.auto.link — Generate links from glossterm to glossentry automaticaly?

Synopsis

§65: §141

  1| <xsl:param name="glossterm.auto.link"
+  2|            select="'0'"/>

Description

If true, a link will be automatically created from glossterm +to glossentry for that glossary term. This is usefull when your +glossterm names are consistent and you don't want to add links +manually.

If there is linkend on +glossterm then is used instead of autogeneration of +link.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/graphic.default.extension.html b/rosdocs/xsl/doc/fo/graphic.default.extension.html new file mode 100644 index 0000000..bb155e5 --- /dev/null +++ b/rosdocs/xsl/doc/fo/graphic.default.extension.html @@ -0,0 +1,7 @@ + + + graphic.default.extension

Name

graphic.default.extension — Default extension for graphic filenames

Synopsis

§68: §141

  1| <xsl:param name="graphic.default.extension"/>

Description

If a graphic or mediaobject +includes a reference to a filename that does not include an extension, +and the format attribute is +unspecified, the default extension will be used. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/html.stylesheet.html b/rosdocs/xsl/doc/fo/html.stylesheet.html new file mode 100644 index 0000000..8cb524d --- /dev/null +++ b/rosdocs/xsl/doc/fo/html.stylesheet.html @@ -0,0 +1,6 @@ + + + html.stylesheet

Name

html.stylesheet — Name of the stylesheet to use in the generated HTML

Synopsis

§54: §115

  1| <xsl:param name="html.stylesheet"
+  2|            select="''"/>

Description

The name of the stylesheet to place in the HTML LINK +tag, or the empty string to suppress the stylesheet LINK. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/html.stylesheet.type.html b/rosdocs/xsl/doc/fo/html.stylesheet.type.html new file mode 100644 index 0000000..a578d7c --- /dev/null +++ b/rosdocs/xsl/doc/fo/html.stylesheet.type.html @@ -0,0 +1,4 @@ + + + html.stylesheet.type

Name

html.stylesheet.type — The type of the stylesheet used in the generated HTML

Synopsis

§55: §115

  1| <xsl:param name="html.stylesheet.type">text/css</xsl:param>

Description

The type of the stylesheet to place in the HTML link tag. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/hyphenate.html b/rosdocs/xsl/doc/fo/hyphenate.html new file mode 100644 index 0000000..543f980 --- /dev/null +++ b/rosdocs/xsl/doc/fo/hyphenate.html @@ -0,0 +1,4 @@ + + + hyphenate

Name

hyphenate — Specify hyphenation behavior

Synopsis

§98: §141

  1| <xsl:param name="hyphenate">true</xsl:param>

Description

If true, words may be hyphenated. Otherwise, they may not. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/index.html b/rosdocs/xsl/doc/fo/index.html new file mode 100644 index 0000000..68d6ac3 --- /dev/null +++ b/rosdocs/xsl/doc/fo/index.html @@ -0,0 +1,20 @@ + + + FO Parameter Reference

FO Parameter Reference

Norman Walsh

+$Id$ +


Table of Contents

Introduction
I. Admonitions
admon.graphics - Use graphics in admonitions?
admon.graphics.extension - Extension for admonition graphics
admon.graphics.path - Path to admonition graphics
admonition.title.properties - To set the style for admonitions titles.
admonition.properties - To set the style for admonitions.
II. Callouts
callout.defaultcolumn - Indicates what column callouts appear in by default
callout.graphics - Use graphics for callouts?
callout.graphics.extension - Extension for callout graphics
callout.graphics.number.limit - Number of the largest callout graphic
callout.graphics.path - Path to callout graphics
callout.unicode - Use Unicode characters rather than images for callouts.
callout.unicode.font - Specify a font for Unicode glyphs
callout.unicode.number.limit - Number of the largest callout graphic
callout.unicode.start.character - First Unicode character to use, decimal value.
callouts.extension - Enable the callout extension
III. ToC/LoT/Index Generation
autotoc.label.separator - Separator between labels and titles in the ToC
process.empty.source.toc - FIXME:
process.source.toc - FIXME:
generate.toc - Control generation of ToCs and LoTs
generate.index - Do you want an index?
toc.section.depth - How deep should recursive sections appear +in the TOC?
toc.indent.width - Amount of indentation for TOC entries
toc.margin.properties - FIXME:
IV. Processor Extensions
arbortext.extensions - Enable Arbortext extensions?
fop.extensions - Enable FOP extensions?
passivetex.extensions - Enable PassiveTeX extensions?
tex.math.in.alt - TeX notation used for equations
tex.math.delims - Should be equations outputed for processing by TeX +automatically surrounded by math mode delimiters
xep.extensions - Enable XEP extensions?
V. Stylesheet Extensions
linenumbering.everyNth - Indicate which lines should be numbered
linenumbering.extension - Enable the line numbering extension
linenumbering.separator - Specify a separator between line numbers and lines
linenumbering.width - Indicates the width of line numbers
tablecolumns.extension - Enable the table columns extension function
textinsert.extension - Enable the textinsert extension element
use.extensions - Enable extensions
VI. Automatic labelling
appendix.autolabel - Are Appendixes automatically enumerated?
chapter.autolabel - Are chapters automatically enumerated?
part.autolabel - Are parts and references enumerated?
preface.autolabel - Are prefaces enumerated?
section.autolabel - Are sections enumerated?
section.label.includes.component.label - Do section labels include the component label?
label.from.part - Renumber chapters in each part?
VII. XSLT Processing
rootid - Specify the root element to format
VIII. Meta/*Info
make.single.year.ranges - Print single-year ranges (e.g., 1998-1999)
make.year.ranges - Collate copyright years into ranges?
author.othername.in.middle - Is othername in author a +middle name?
IX. Reference Pages
funcsynopsis.decoration - Decorate elements of a FuncSynopsis?
funcsynopsis.style - What style of 'FuncSynopsis' should be generated?
function.parens - Generate parens after a function?
refentry.generate.name - Output NAME header before 'RefName'(s)?
refentry.generate.title - Output title before 'RefName'(s)?
refentry.xref.manvolnum - Output manvolnum as part of +refentry cross-reference?
X. Tables
default.table.width - The default width of tables
nominal.table.width - The (absolute) nominal width of tables
table.border.thickness -
table.cell.padding -
table.border.style -
table.border.color -
table.entry.padding -
XI. QAndASet
qandadiv.autolabel - Are divisions in QAndASets enumerated?
qanda.inherit.numeration - Does enumeration of QandASet components inherit the numeration of parent elements?
XII. Bibliography
biblioentry.item.separator - Text to separate bibliography entries
bibliography.collection - Name of the bibliography collection file
XIII. Glossary
glossterm.auto.link - Generate links from glossterm to glossentry automaticaly?
firstterm.only.link - Does automatic glossterm linking only apply to firstterms?
glossary.collection - Name of the glossary collection file
XIV. Miscellaneous
graphic.default.extension - Default extension for graphic filenames
formal.procedures - Selects formal or informal procedures
formal.title.placement -
runinhead.default.title.end.punct - Default punctuation character on a run-in-head
runinhead.title.end.punct - Characters that count as punctuation on a run-in-head
show.comments - Display comment elements?
punct.honorific - Punctuation after an honorific in a personal name.
segmentedlist.as.table - Format segmented lists as tables?
variablelist.as.blocks - Format variablelists lists as blocks?
blockquote.properties - To set the style for block quotations.
ulink.show - Display URLs after ulinks?
ulink.footnotes - Generate footnotes for ULinks?
ulink.hyphenate - Allow URLs to be automatically hyphenated
shade.verbatim - Should verbatim environments be shaded?
shade.verbatim.style - Properties that specify the style of shaded verbatim listings
use.svg - Allow SVG in the result tree?
XV. Pagination and General Styles
page.height - The height of the physical page
page.height.portrait - Specify the physical size of the long edge of the page
page.margin.bottom - The bottom margin of the page
page.margin.inner - The inner page margin
page.margin.outer - The outer page margin
page.margin.top - The top margin of the page
page.orientation - Select the page orientation
page.width - The width of the physical page
page.width.portrait - Specify the physical size of the short edge of the page
paper.type - Select the paper type
double.sided - Is the document to be printed double sided?
body.margin.bottom - The bottom margin of the body text
body.margin.top - To specify the size of the top margin of a page
alignment - Specify the default text alignment
hyphenate - Specify hyphenation behavior
line-height - Specify the line-height property
column.count - Specifies the number of columns of text on the page
column.count.of.index - Number of columns in the index
region.after.extent - Specifies the height of the footer.
region.before.extent - Specifies the height of the header
default.units - Default units for an unqualified dimension
normal.para.spacing - What space do you want between normal paragraphs
body.font.master - Specifies the default point size for body text
body.font.size - Specifies the default font size for body text
footnote.font.size - The font size for footnotes
title.margin.left - Adjust the left margin for titles
draft.watermark.image - The URI of the image to be used for draft watermarks
XVI. Font Families
body.font.family - The default font family for body text
dingbat.font.family - The font family for copyright, quotes, and other symbols
monospace.font.family - The default font family for monospace environments
sans.font.family - The default sans-serif font family
title.font.family - The default font family for titles
XVII. Lists
list.block.spacing - What spacing do you want before lists?
list.item.spacing - What space do you want between list items?
compact.list.item.spacing - What space do you want between list items (when spacing=compact)?
XVIII. Cross References
insert.xref.page.number - Turns page numbers in xrefs on and off
xref.properties - FIXME:
XIX. Property Sets
component.title.properties - Specify the styling for the title elements of a component.
formal.object.properties - Properties associated with a formal object such as a figure, or other component that has a title
formal.title.properties - Style the title element of formal object such as a figure.
informal.object.properties - Properties associated with a formal object such as a figure, or other component that has a title
monospace.verbatim.properties - What font and size do you want for monospaced content?
verbatim.properties - FIXME:
XX. Profiling
profile.arch - Target profile for arch +attribute
profile.condition - Target profile for condition +attribute
profile.conformance - Target profile for conformance +attribute
profile.lang - Target profile for lang +attribute
profile.os - Target profile for os +attribute
profile.revision - Target profile for revision +attribute
profile.revisionflag - Target profile for revisionflag +attribute
profile.role - Target profile for role +attribute
profile.security - Target profile for security +attribute
profile.userlevel - Target profile for userlevel +attribute
profile.vendor - Target profile for vendor +attribute
profile.attribute - Name of user-specified profiling attribute
profile.value - Target profile for user-specified attribute
profile.separator - Separator character for compound profile values
A. The Stylesheet

List of Figures

1.
\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/informal.object.properties.html b/rosdocs/xsl/doc/fo/informal.object.properties.html new file mode 100644 index 0000000..5776bff --- /dev/null +++ b/rosdocs/xsl/doc/fo/informal.object.properties.html @@ -0,0 +1,10 @@ + + + informal.object.properties

Name

informal.object.properties — Properties associated with a formal object such as a figure, or other component that has a title

Synopsis

§124: §141

  1| <xsl:attribute-set name="informal.object.properties">
+   |   <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute>
+   |   <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
+   |   <xsl:attribute name="space-before.maximum">2em</xsl:attribute>
+  5|   <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute>
+   |   <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
+   |   <xsl:attribute name="space-after.maximum">2em</xsl:attribute>
+   | </xsl:attribute-set>

Description

The styling for informal objects in docbook. Specify the spacing before and after the object.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/insert.xref.page.number.html b/rosdocs/xsl/doc/fo/insert.xref.page.number.html new file mode 100644 index 0000000..27aca84 --- /dev/null +++ b/rosdocs/xsl/doc/fo/insert.xref.page.number.html @@ -0,0 +1,6 @@ + + + insert.xref.page.number

Name

insert.xref.page.number — Turns page numbers in xrefs on and off

Synopsis

§119: §141

  1| <xsl:param name="insert.xref.page.number"
+  2|            select="0"/>

Description

When equal to 1, this parameter triggers generation of page +number citations after xrefs. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/label.from.part.html b/rosdocs/xsl/doc/fo/label.from.part.html new file mode 100644 index 0000000..3176cb5 --- /dev/null +++ b/rosdocs/xsl/doc/fo/label.from.part.html @@ -0,0 +1,9 @@ + + + label.from.part

Name

label.from.part — Renumber chapters in each part?

Synopsis

§43: §141

  1| <xsl:param name="label.from.part"
+  2|            select="'0'"/>

Description

If label.from.part is non-zero, components +(chapters, appendixes, etc.) +will be numbered from 1 in each part. Otherwise, +they will be numbered monotonically throughout each +book. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/ld-d0e2069.html b/rosdocs/xsl/doc/fo/ld-d0e2069.html new file mode 100644 index 0000000..7b55dfd --- /dev/null +++ b/rosdocs/xsl/doc/fo/ld-d0e2069.html @@ -0,0 +1,4 @@ + + + Long Description

This figure shows the physical page with the various FO page regions +identified.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/ld-d0e2118.html b/rosdocs/xsl/doc/fo/ld-d0e2118.html new file mode 100644 index 0000000..7b55dfd --- /dev/null +++ b/rosdocs/xsl/doc/fo/ld-d0e2118.html @@ -0,0 +1,4 @@ + + + Long Description

This figure shows the physical page with the various FO page regions +identified.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/ld-d0e2140.html b/rosdocs/xsl/doc/fo/ld-d0e2140.html new file mode 100644 index 0000000..7b55dfd --- /dev/null +++ b/rosdocs/xsl/doc/fo/ld-d0e2140.html @@ -0,0 +1,4 @@ + + + Long Description

This figure shows the physical page with the various FO page regions +identified.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/ld-d0e2180.html b/rosdocs/xsl/doc/fo/ld-d0e2180.html new file mode 100644 index 0000000..7b55dfd --- /dev/null +++ b/rosdocs/xsl/doc/fo/ld-d0e2180.html @@ -0,0 +1,4 @@ + + + Long Description

This figure shows the physical page with the various FO page regions +identified.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/ld-d0e2204.html b/rosdocs/xsl/doc/fo/ld-d0e2204.html new file mode 100644 index 0000000..7b55dfd --- /dev/null +++ b/rosdocs/xsl/doc/fo/ld-d0e2204.html @@ -0,0 +1,4 @@ + + + Long Description

This figure shows the physical page with the various FO page regions +identified.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/ld-d0e2238.html b/rosdocs/xsl/doc/fo/ld-d0e2238.html new file mode 100644 index 0000000..7b55dfd --- /dev/null +++ b/rosdocs/xsl/doc/fo/ld-d0e2238.html @@ -0,0 +1,4 @@ + + + Long Description

This figure shows the physical page with the various FO page regions +identified.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/line-height.html b/rosdocs/xsl/doc/fo/line-height.html new file mode 100644 index 0000000..1f61cda --- /dev/null +++ b/rosdocs/xsl/doc/fo/line-height.html @@ -0,0 +1,4 @@ + + + line-height

Name

line-height — Specify the line-height property

Synopsis

§99: §141

  1| <xsl:param name="line-height"
+  2|            select="'normal'"/>

Description

Sets the line-height property.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/linenumbering.everyNth.html b/rosdocs/xsl/doc/fo/linenumbering.everyNth.html new file mode 100644 index 0000000..11c9d27 --- /dev/null +++ b/rosdocs/xsl/doc/fo/linenumbering.everyNth.html @@ -0,0 +1,5 @@ + + + linenumbering.everyNth

Name

linenumbering.everyNth — Indicate which lines should be numbered

Synopsis

§30: §141

  1| <xsl:param name="linenumbering.everyNth"
+  2|            select="'5'"/>

Description

If line numbering is enabled, everyNth line will be numbered. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/linenumbering.extension.html b/rosdocs/xsl/doc/fo/linenumbering.extension.html new file mode 100644 index 0000000..c30a813 --- /dev/null +++ b/rosdocs/xsl/doc/fo/linenumbering.extension.html @@ -0,0 +1,8 @@ + + + linenumbering.extension

Name

linenumbering.extension — Enable the line numbering extension

Synopsis

§31: §141

  1| <xsl:param name="linenumbering.extension"
+  2|            select="'1'"/>

Description

If true, verbatim environments (elements that have the +format='linespecific' notation attribute: address, literallayout, +programlisting, screen, synopsis) that specify line numbering will +have, surprise, line numbers. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/linenumbering.separator.html b/rosdocs/xsl/doc/fo/linenumbering.separator.html new file mode 100644 index 0000000..f76e223 --- /dev/null +++ b/rosdocs/xsl/doc/fo/linenumbering.separator.html @@ -0,0 +1,6 @@ + + + linenumbering.separator

Name

linenumbering.separator — Specify a separator between line numbers and lines

Synopsis

§32: §141

  1| <xsl:param name="linenumbering.separator"
+  2|            select="' '"/>

Description

The separator is inserted between line numbers and lines in +the verbatim environment. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/linenumbering.width.html b/rosdocs/xsl/doc/fo/linenumbering.width.html new file mode 100644 index 0000000..fc202cc --- /dev/null +++ b/rosdocs/xsl/doc/fo/linenumbering.width.html @@ -0,0 +1,6 @@ + + + linenumbering.width

Name

linenumbering.width — Indicates the width of line numbers

Synopsis

§33: §141

  1| <xsl:param name="linenumbering.width"
+  2|            select="'3'"/>

Description

If line numbering is enabled, line numbers will appear right +justified in a field "width" characters wide. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/list.block.spacing.html b/rosdocs/xsl/doc/fo/list.block.spacing.html new file mode 100644 index 0000000..8528338 --- /dev/null +++ b/rosdocs/xsl/doc/fo/list.block.spacing.html @@ -0,0 +1,7 @@ + + + list.block.spacing

Name

list.block.spacing — What spacing do you want before lists?

Synopsis

§116: §141

  1| <xsl:attribute-set name="list.block.spacing">
+   |   <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
+   |   <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
+   |   <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute>
+  5| </xsl:attribute-set>

Description

Specify the spacing required before a list.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/list.item.spacing.html b/rosdocs/xsl/doc/fo/list.item.spacing.html new file mode 100644 index 0000000..55c4a9f --- /dev/null +++ b/rosdocs/xsl/doc/fo/list.item.spacing.html @@ -0,0 +1,7 @@ + + + list.item.spacing

Name

list.item.spacing — What space do you want between list items?

Synopsis

§117: §141

  1| <xsl:attribute-set name="list.item.spacing">
+   |   <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
+   |   <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
+   |   <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute>
+  5| </xsl:attribute-set>

Description

Specify what spacing you want between each list item.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/make.single.year.ranges.html b/rosdocs/xsl/doc/fo/make.single.year.ranges.html new file mode 100644 index 0000000..b228c17 --- /dev/null +++ b/rosdocs/xsl/doc/fo/make.single.year.ranges.html @@ -0,0 +1,6 @@ + + + make.single.year.ranges

Name

make.single.year.ranges — Print single-year ranges (e.g., 1998-1999)

Synopsis

§45: §141

  1| <xsl:param name="make.single.year.ranges"
+  2|            select="0"/>

Description

If non-zero, year ranges that span a single year will be printed +in range notation (1998-1999) instead of discrete notation +(1998, 1999).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/make.year.ranges.html b/rosdocs/xsl/doc/fo/make.year.ranges.html new file mode 100644 index 0000000..25a0652 --- /dev/null +++ b/rosdocs/xsl/doc/fo/make.year.ranges.html @@ -0,0 +1,4 @@ + + + make.year.ranges

Name

make.year.ranges — Collate copyright years into ranges?

Synopsis

§46: §141

  1| <xsl:param name="make.year.ranges"
+  2|            select="0"/>

Description

If non-zero, copyright years will be collated into ranges.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/monospace.font.family.html b/rosdocs/xsl/doc/fo/monospace.font.family.html new file mode 100644 index 0000000..89e67da --- /dev/null +++ b/rosdocs/xsl/doc/fo/monospace.font.family.html @@ -0,0 +1,5 @@ + + + monospace.font.family

Name

monospace.font.family — The default font family for monospace environments

Synopsis

§113: §141

  1| <xsl:param name="monospace.font.family">Courier</xsl:param>

Description

The monospace font family is used for verbatim environments +(program listings, screens, etc.). +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/monospace.verbatim.properties.html b/rosdocs/xsl/doc/fo/monospace.verbatim.properties.html new file mode 100644 index 0000000..c526162 --- /dev/null +++ b/rosdocs/xsl/doc/fo/monospace.verbatim.properties.html @@ -0,0 +1,12 @@ + + + monospace.verbatim.properties

Name

monospace.verbatim.properties — What font and size do you want for monospaced content?

Synopsis

§125: §141

  1| <xsl:attribute-set name="monospace.verbatim.properties"
+   |                    use-attribute-sets="verbatim.properties">
+   |   <xsl:attribute name="font-family">
+   |     <xsl:value-of select="$monospace.font.family"/>
+  5|   </xsl:attribute>
+   |   <xsl:attribute name="font-size">
+   |     <xsl:value-of select="$body.font.master * 0.9"/>
+   |     <xsl:text>pt</xsl:text>
+   |   </xsl:attribute>
+ 10| </xsl:attribute-set>

Description

Specify the font name and size you want for monospaced output

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/nominal.table.width.html b/rosdocs/xsl/doc/fo/nominal.table.width.html new file mode 100644 index 0000000..6d6b23c --- /dev/null +++ b/rosdocs/xsl/doc/fo/nominal.table.width.html @@ -0,0 +1,7 @@ + + + nominal.table.width

Name

nominal.table.width — The (absolute) nominal width of tables

Synopsis

§55: §141

  1| <xsl:param name="nominal.table.width"
+  2|            select="'6in'"/>

Description

In order to convert CALS column widths into HTML column widths, it +is sometimes necessary to have an absolute table width to use for conversion +of mixed absolute and relative widths. This value must be an absolute +length (not a percentag).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/normal.para.spacing.html b/rosdocs/xsl/doc/fo/normal.para.spacing.html new file mode 100644 index 0000000..ef97846 --- /dev/null +++ b/rosdocs/xsl/doc/fo/normal.para.spacing.html @@ -0,0 +1,7 @@ + + + normal.para.spacing

Name

normal.para.spacing — What space do you want between normal paragraphs

Synopsis

§105: §141

  1| <xsl:attribute-set name="normal.para.spacing">
+   |   <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
+   |   <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
+   |   <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute>
+  5| </xsl:attribute-set>

Description

Specify the spacing required between normal paragraphs

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/page.height.html b/rosdocs/xsl/doc/fo/page.height.html new file mode 100644 index 0000000..8c2e51b --- /dev/null +++ b/rosdocs/xsl/doc/fo/page.height.html @@ -0,0 +1,15 @@ + + + page.height

Name

page.height — The height of the physical page

Synopsis

§84: §141

  1| <xsl:param name="page.height">
+   |   <xsl:choose>
+   |     <xsl:when test="$page.orientation = 'portrait'">
+   |       <xsl:value-of select="$page.height.portrait"/>
+  5|     </xsl:when>
+   |     <xsl:otherwise>
+   |       <xsl:value-of select="$page.width.portrait"/>
+   |     </xsl:otherwise>
+   |   </xsl:choose>
+ 10| </xsl:param>

Description

The page height is generally calculated from the +paper.type and +page.orientation. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/page.height.portrait.html b/rosdocs/xsl/doc/fo/page.height.portrait.html new file mode 100644 index 0000000..4b58ce5 --- /dev/null +++ b/rosdocs/xsl/doc/fo/page.height.portrait.html @@ -0,0 +1,47 @@ + + + page.height.portrait

Name

page.height.portrait — Specify the physical size of the long edge of the page

Synopsis

§85: §141

  1| <xsl:param name="page.height.portrait">
+   |   <xsl:choose>
+   |     <xsl:when test="$paper.type = 'A4landscape'">210mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'USletter'">11in</xsl:when>
+  5|     <xsl:when test="$paper.type = 'USlandscape'">8.5in</xsl:when>
+   |     <xsl:when test="$paper.type = '4A0'">2378mm</xsl:when>
+   |     <xsl:when test="$paper.type = '2A0'">1682mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'A0'">1189mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'A1'">841mm</xsl:when>
+ 10|     <xsl:when test="$paper.type = 'A2'">594mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'A3'">420mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'A4'">297mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'A5'">210mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'A6'">148mm</xsl:when>
+ 15|     <xsl:when test="$paper.type = 'A7'">105mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'A8'">74mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'A9'">52mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'A10'">37mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'B0'">1414mm</xsl:when>
+ 20|     <xsl:when test="$paper.type = 'B1'">1000mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'B2'">707mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'B3'">500mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'B4'">353mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'B5'">250mm</xsl:when>
+ 25|     <xsl:when test="$paper.type = 'B6'">176mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'B7'">125mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'B8'">88mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'B9'">62mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'B10'">44mm</xsl:when>
+ 30|     <xsl:when test="$paper.type = 'C0'">1297mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'C1'">917mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'C2'">648mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'C3'">458mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'C4'">324mm</xsl:when>
+ 35|     <xsl:when test="$paper.type = 'C5'">229mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'C6'">162mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'C7'">114mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'C8'">81mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'C9'">57mm</xsl:when>
+ 40|     <xsl:when test="$paper.type = 'C10'">40mm</xsl:when>
+   |     <xsl:otherwise>11in</xsl:otherwise>
+   |   </xsl:choose>
+   | </xsl:param>

Description

The portrait page height is the length of the long +edge of the physical page. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/page.margin.bottom.html b/rosdocs/xsl/doc/fo/page.margin.bottom.html new file mode 100644 index 0000000..7ad04c5 --- /dev/null +++ b/rosdocs/xsl/doc/fo/page.margin.bottom.html @@ -0,0 +1,5 @@ + + + page.margin.bottom

Name

page.margin.bottom — The bottom margin of the page

Synopsis

§86: §141

  1| <xsl:param name="page.margin.bottom">0.5in</xsl:param>

Description

The bottom page margin is the distance from the bottom of the region-after +to the physical bottom of the page. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/page.margin.inner.html b/rosdocs/xsl/doc/fo/page.margin.inner.html new file mode 100644 index 0000000..5159646 --- /dev/null +++ b/rosdocs/xsl/doc/fo/page.margin.inner.html @@ -0,0 +1,12 @@ + + + page.margin.inner

Name

page.margin.inner — The inner page margin

Synopsis

§87: §141

  1| <xsl:param name="page.margin.inner">
+   |   <xsl:choose>
+   |     <xsl:when test="$double.sided != 0">1.25in</xsl:when>
+   |     <xsl:otherwise>1in</xsl:otherwise>
+  5|   </xsl:choose>
+   | </xsl:param>

Description

The inner page margin is the distance from binding edge of the +page to the first column of text. In the left-to-right, top-to-bottom writing +direction, this is the left margin of recto pages.

The inner and outer margins are usually the same unless the output +is double-sided. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/page.margin.outer.html b/rosdocs/xsl/doc/fo/page.margin.outer.html new file mode 100644 index 0000000..090cf32 --- /dev/null +++ b/rosdocs/xsl/doc/fo/page.margin.outer.html @@ -0,0 +1,12 @@ + + + page.margin.outer

Name

page.margin.outer — The outer page margin

Synopsis

§88: §141

  1| <xsl:param name="page.margin.outer">
+   |   <xsl:choose>
+   |     <xsl:when test="$double.sided != 0">0.75in</xsl:when>
+   |     <xsl:otherwise>1in</xsl:otherwise>
+  5|   </xsl:choose>
+   | </xsl:param>

Description

The outer page margin is the distance from non-binding edge of the +page to the last column of text. In the left-to-right, top-to-bottom writing +direction, this is the right margin of recto pages.

The inner and outer margins are usually the same unless the output +is double-sided. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/page.margin.top.html b/rosdocs/xsl/doc/fo/page.margin.top.html new file mode 100644 index 0000000..6f068bd --- /dev/null +++ b/rosdocs/xsl/doc/fo/page.margin.top.html @@ -0,0 +1,4 @@ + + + page.margin.top

Name

page.margin.top — The top margin of the page

Synopsis

§89: §141

  1| <xsl:param name="page.margin.top">0in</xsl:param>

Description

The top page margin is the distance from the physical top of the +page to the top of the region-before.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/page.orientation.html b/rosdocs/xsl/doc/fo/page.orientation.html new file mode 100644 index 0000000..b51a7e1 --- /dev/null +++ b/rosdocs/xsl/doc/fo/page.orientation.html @@ -0,0 +1,6 @@ + + + page.orientation

Name

page.orientation — Select the page orientation

Synopsis

§90: §141

  1| <xsl:param name="page.orientation"
+  2|            select="'portrait'"/>

Description

In portrait orientation, the short edge is horizontal; in +landscape orientation, it is vertical. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/page.png b/rosdocs/xsl/doc/fo/page.png new file mode 100644 index 0000000000000000000000000000000000000000..a41d4c526de6ef615e42e0e820a37bda749ea556 GIT binary patch literal 17583 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 literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/doc/fo/page.width.html b/rosdocs/xsl/doc/fo/page.width.html new file mode 100644 index 0000000..d1406b1 --- /dev/null +++ b/rosdocs/xsl/doc/fo/page.width.html @@ -0,0 +1,14 @@ + + + page.width

Name

page.width — The width of the physical page

Synopsis

§91: §141

  1| <xsl:param name="page.width">
+   |   <xsl:choose>
+   |     <xsl:when test="$page.orientation = 'portrait'">
+   |       <xsl:value-of select="$page.width.portrait"/>
+  5|     </xsl:when>
+   |     <xsl:otherwise>
+   |       <xsl:value-of select="$page.height.portrait"/>
+   |     </xsl:otherwise>
+   |   </xsl:choose>
+ 10| </xsl:param>

Description

The page width is generally calculated from the +paper.type and page.orientation. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/page.width.portrait.html b/rosdocs/xsl/doc/fo/page.width.portrait.html new file mode 100644 index 0000000..d4a94b1 --- /dev/null +++ b/rosdocs/xsl/doc/fo/page.width.portrait.html @@ -0,0 +1,45 @@ + + + page.width.portrait

Name

page.width.portrait — Specify the physical size of the short edge of the page

Synopsis

§92: §141

  1| <xsl:param name="page.width.portrait">
+   |   <xsl:choose>
+   |     <xsl:when test="$paper.type = 'USletter'">8.5in</xsl:when>
+   |     <xsl:when test="$paper.type = '4A0'">1682mm</xsl:when>
+  5|     <xsl:when test="$paper.type = '2A0'">1189mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'A0'">841mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'A1'">594mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'A2'">420mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'A3'">297mm</xsl:when>
+ 10|     <xsl:when test="$paper.type = 'A4'">210mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'A5'">148mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'A6'">105mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'A7'">74mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'A8'">52mm</xsl:when>
+ 15|     <xsl:when test="$paper.type = 'A9'">37mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'A10'">26mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'B0'">1000mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'B1'">707mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'B2'">500mm</xsl:when>
+ 20|     <xsl:when test="$paper.type = 'B3'">353mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'B4'">250mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'B5'">176mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'B6'">125mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'B7'">88mm</xsl:when>
+ 25|     <xsl:when test="$paper.type = 'B8'">62mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'B9'">44mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'B10'">31mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'C0'">917mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'C1'">648mm</xsl:when>
+ 30|     <xsl:when test="$paper.type = 'C2'">458mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'C3'">324mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'C4'">229mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'C5'">162mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'C6'">114mm</xsl:when>
+ 35|     <xsl:when test="$paper.type = 'C7'">81mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'C8'">57mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'C9'">40mm</xsl:when>
+   |     <xsl:when test="$paper.type = 'C10'">28mm</xsl:when>
+   |     <xsl:otherwise>8.5in</xsl:otherwise>
+ 40|   </xsl:choose>
+   | </xsl:param>

Description

The portrait page width is the length of the short +edge of the physical page. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/paper.type.html b/rosdocs/xsl/doc/fo/paper.type.html new file mode 100644 index 0000000..9097e3b --- /dev/null +++ b/rosdocs/xsl/doc/fo/paper.type.html @@ -0,0 +1,7 @@ + + + paper.type

Name

paper.type — Select the paper type

Synopsis

§93: §141

  1| <xsl:param name="paper.type"
+  2|            select="'USletter'"/>

Description

The paper type is a convenient way to specify the paper size. +The list of known paper sizes includes USletter and most of the A, +B, and C sizes. See page.width.portrait, for example. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/part.autolabel.html b/rosdocs/xsl/doc/fo/part.autolabel.html new file mode 100644 index 0000000..31c5869 --- /dev/null +++ b/rosdocs/xsl/doc/fo/part.autolabel.html @@ -0,0 +1,5 @@ + + + part.autolabel

Name

part.autolabel — Are parts and references enumerated?

Synopsis

§39: §141

  1| <xsl:param name="part.autolabel"
+  2|            select="1"/>

Description

If true (non-zero), unlabeled parts and references will be enumerated. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/passivetex.extensions.html b/rosdocs/xsl/doc/fo/passivetex.extensions.html new file mode 100644 index 0000000..b2f7529 --- /dev/null +++ b/rosdocs/xsl/doc/fo/passivetex.extensions.html @@ -0,0 +1,8 @@ + + + passivetex.extensions

Name

passivetex.extensions — Enable PassiveTeX extensions?

Synopsis

§26: §141

  1| <xsl:param name="passivetex.extensions"
+  2|            select="0"/>

Description

If non-zero, +PassiveTeX +extensions will be used. At present, this consists of PDF bookmarks +and sorted index terms. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/pr01.html b/rosdocs/xsl/doc/fo/pr01.html new file mode 100644 index 0000000..0491b2c --- /dev/null +++ b/rosdocs/xsl/doc/fo/pr01.html @@ -0,0 +1,25 @@ + + + Introduction

Introduction

This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets.

This reference describes each of the HTML Stylesheet parameters. +These are the “easily customizable” parts of the stylesheet. +If you want to specify an alternate value for one or more of these +parameters, you can do so in a “driver” stylesheet.

For example, if you want to change the html.stylesheet +to reference.css, you might create a driver +stylesheet like this:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                version='1.0'>
+
+  <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"/>
+
+  <xsl:param name="html.stylesheet">reference.css</xsl:param>
+
+</xsl:stylesheet>

Naturally, you have to change the +href attribute on +<xsl:import> to point to +docbook.xsl on your system. (Or +chunk.xsl, if you're using chunking.)

This is not intended to be “user” documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in “how it +works”.

Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-)

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/preface.autolabel.html b/rosdocs/xsl/doc/fo/preface.autolabel.html new file mode 100644 index 0000000..f718bbc --- /dev/null +++ b/rosdocs/xsl/doc/fo/preface.autolabel.html @@ -0,0 +1,5 @@ + + + preface.autolabel

Name

preface.autolabel — Are prefaces enumerated?

Synopsis

§40: §141

  1| <xsl:param name="preface.autolabel"
+  2|            select="0"/>

Description

If true (non-zero), unlabeled prefaces will be enumerated. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/process.empty.source.toc.html b/rosdocs/xsl/doc/fo/process.empty.source.toc.html new file mode 100644 index 0000000..081e626 --- /dev/null +++ b/rosdocs/xsl/doc/fo/process.empty.source.toc.html @@ -0,0 +1,5 @@ + + + process.empty.source.toc

Name

process.empty.source.toc — FIXME:

Synopsis

§17: §141

  1| <xsl:param name="process.empty.source.toc"
+  2|            select="0"/>

Description

FIXME: +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/process.source.toc.html b/rosdocs/xsl/doc/fo/process.source.toc.html new file mode 100644 index 0000000..c81481f --- /dev/null +++ b/rosdocs/xsl/doc/fo/process.source.toc.html @@ -0,0 +1,5 @@ + + + process.source.toc

Name

process.source.toc — FIXME:

Synopsis

§18: §141

  1| <xsl:param name="process.source.toc"
+  2|            select="0"/>

Description

FIXME: +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/profile.arch.html b/rosdocs/xsl/doc/fo/profile.arch.html new file mode 100644 index 0000000..966b97d --- /dev/null +++ b/rosdocs/xsl/doc/fo/profile.arch.html @@ -0,0 +1,13 @@ + + + profile.arch

Name

profile.arch — Target profile for arch +attribute

Synopsis

§127: §141

  1| <xsl:param name="profile.arch"
+  2|            select="''"/>

Description

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/profile.attribute.html b/rosdocs/xsl/doc/fo/profile.attribute.html new file mode 100644 index 0000000..4011980 --- /dev/null +++ b/rosdocs/xsl/doc/fo/profile.attribute.html @@ -0,0 +1,8 @@ + + + profile.attribute

Name

profile.attribute — Name of user-specified profiling attribute

Synopsis

§138: §141

  1| <xsl:param name="profile.attribute"
+  2|            select="''"/>

Description

This parameter is used in conjuction with profile.value.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/profile.condition.html b/rosdocs/xsl/doc/fo/profile.condition.html new file mode 100644 index 0000000..5985800 --- /dev/null +++ b/rosdocs/xsl/doc/fo/profile.condition.html @@ -0,0 +1,13 @@ + + + profile.condition

Name

profile.condition — Target profile for condition +attribute

Synopsis

§128: §141

  1| <xsl:param name="profile.condition"
+  2|            select="''"/>

Description

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/profile.conformance.html b/rosdocs/xsl/doc/fo/profile.conformance.html new file mode 100644 index 0000000..6d1ab24 --- /dev/null +++ b/rosdocs/xsl/doc/fo/profile.conformance.html @@ -0,0 +1,13 @@ + + + profile.conformance

Name

profile.conformance — Target profile for conformance +attribute

Synopsis

§129: §141

  1| <xsl:param name="profile.conformance"
+  2|            select="''"/>

Description

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/profile.lang.html b/rosdocs/xsl/doc/fo/profile.lang.html new file mode 100644 index 0000000..cc6914e --- /dev/null +++ b/rosdocs/xsl/doc/fo/profile.lang.html @@ -0,0 +1,13 @@ + + + profile.lang

Name

profile.lang — Target profile for lang +attribute

Synopsis

§130: §141

  1| <xsl:param name="profile.lang"
+  2|            select="''"/>

Description

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/profile.os.html b/rosdocs/xsl/doc/fo/profile.os.html new file mode 100644 index 0000000..9661eaf --- /dev/null +++ b/rosdocs/xsl/doc/fo/profile.os.html @@ -0,0 +1,13 @@ + + + profile.os

Name

profile.os — Target profile for os +attribute

Synopsis

§131: §141

  1| <xsl:param name="profile.os"
+  2|            select="''"/>

Description

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/profile.revision.html b/rosdocs/xsl/doc/fo/profile.revision.html new file mode 100644 index 0000000..620ce98 --- /dev/null +++ b/rosdocs/xsl/doc/fo/profile.revision.html @@ -0,0 +1,13 @@ + + + profile.revision

Name

profile.revision — Target profile for revision +attribute

Synopsis

§132: §141

  1| <xsl:param name="profile.revision"
+  2|            select="''"/>

Description

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/profile.revisionflag.html b/rosdocs/xsl/doc/fo/profile.revisionflag.html new file mode 100644 index 0000000..739eee5 --- /dev/null +++ b/rosdocs/xsl/doc/fo/profile.revisionflag.html @@ -0,0 +1,13 @@ + + + profile.revisionflag

Name

profile.revisionflag — Target profile for revisionflag +attribute

Synopsis

§133: §141

  1| <xsl:param name="profile.revisionflag"
+  2|            select="''"/>

Description

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/profile.role.html b/rosdocs/xsl/doc/fo/profile.role.html new file mode 100644 index 0000000..b2042c4 --- /dev/null +++ b/rosdocs/xsl/doc/fo/profile.role.html @@ -0,0 +1,13 @@ + + + profile.role

Name

profile.role — Target profile for role +attribute

Synopsis

§134: §141

  1| <xsl:param name="profile.role"
+  2|            select="''"/>

Description

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/profile.security.html b/rosdocs/xsl/doc/fo/profile.security.html new file mode 100644 index 0000000..6ebe1fb --- /dev/null +++ b/rosdocs/xsl/doc/fo/profile.security.html @@ -0,0 +1,13 @@ + + + profile.security

Name

profile.security — Target profile for security +attribute

Synopsis

§135: §141

  1| <xsl:param name="profile.security"
+  2|            select="''"/>

Description

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/profile.separator.html b/rosdocs/xsl/doc/fo/profile.separator.html new file mode 100644 index 0000000..68fb8ff --- /dev/null +++ b/rosdocs/xsl/doc/fo/profile.separator.html @@ -0,0 +1,4 @@ + + + profile.separator

Name

profile.separator — Separator character for compound profile values

Synopsis

§140: §141

  1| <xsl:param name="profile.separator"
+  2|            select="';'"/>

Description

Separator character for compound profile values.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/profile.userlevel.html b/rosdocs/xsl/doc/fo/profile.userlevel.html new file mode 100644 index 0000000..a24b5ff --- /dev/null +++ b/rosdocs/xsl/doc/fo/profile.userlevel.html @@ -0,0 +1,13 @@ + + + profile.userlevel

Name

profile.userlevel — Target profile for userlevel +attribute

Synopsis

§136: §141

  1| <xsl:param name="profile.userlevel"
+  2|            select="''"/>

Description

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/profile.value.html b/rosdocs/xsl/doc/fo/profile.value.html new file mode 100644 index 0000000..3025a63 --- /dev/null +++ b/rosdocs/xsl/doc/fo/profile.value.html @@ -0,0 +1,13 @@ + + + profile.value

Name

profile.value — Target profile for user-specified attribute

Synopsis

§139: §141

  1| <xsl:param name="profile.value"
+  2|            select="''"/>

Description

When you are using this parameter you must also specify name of +profiling attribute with parameter profile.attribute.

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/profile.vendor.html b/rosdocs/xsl/doc/fo/profile.vendor.html new file mode 100644 index 0000000..294f4c1 --- /dev/null +++ b/rosdocs/xsl/doc/fo/profile.vendor.html @@ -0,0 +1,13 @@ + + + profile.vendor

Name

profile.vendor — Target profile for vendor +attribute

Synopsis

§137: §141

  1| <xsl:param name="profile.vendor"
+  2|            select="''"/>

Description

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/punct.honorific.html b/rosdocs/xsl/doc/fo/punct.honorific.html new file mode 100644 index 0000000..8fc7a6a --- /dev/null +++ b/rosdocs/xsl/doc/fo/punct.honorific.html @@ -0,0 +1,5 @@ + + + punct.honorific

Name

punct.honorific — Punctuation after an honorific in a personal name.

Synopsis

§74: §141

  1| <xsl:param name="punct.honorific"
+  2|            select="'.'"/>

Description

This parameter specifies the punctuation that should be added after an +honorific in a personal name.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/qanda.inherit.numeration.html b/rosdocs/xsl/doc/fo/qanda.inherit.numeration.html new file mode 100644 index 0000000..1add30c --- /dev/null +++ b/rosdocs/xsl/doc/fo/qanda.inherit.numeration.html @@ -0,0 +1,6 @@ + + + qanda.inherit.numeration

Name

qanda.inherit.numeration — Does enumeration of QandASet components inherit the numeration of parent elements?

Synopsis

§62: §141

  1| <xsl:param name="qanda.inherit.numeration"
+  2|            select="1"/>

Description

If true (non-zero), numbered QandADiv elements and Questions and Answers inherit +the numeration of the ancestors of the QandASet. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/qandadiv.autolabel.html b/rosdocs/xsl/doc/fo/qandadiv.autolabel.html new file mode 100644 index 0000000..4411bbd --- /dev/null +++ b/rosdocs/xsl/doc/fo/qandadiv.autolabel.html @@ -0,0 +1,5 @@ + + + qandadiv.autolabel

Name

qandadiv.autolabel — Are divisions in QAndASets enumerated?

Synopsis

§61: §141

  1| <xsl:param name="qandadiv.autolabel"
+  2|            select="1"/>

Description

If true (non-zero), unlabeled qandadivs will be enumerated. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/refentry.generate.name.html b/rosdocs/xsl/doc/fo/refentry.generate.name.html new file mode 100644 index 0000000..c987703 --- /dev/null +++ b/rosdocs/xsl/doc/fo/refentry.generate.name.html @@ -0,0 +1,7 @@ + + + refentry.generate.name

Name

refentry.generate.name — Output NAME header before 'RefName'(s)?

Synopsis

§51: §141

  1| <xsl:param name="refentry.generate.name"
+  2|            select="1"/>

Description

If true (non-zero), a "NAME" section title is output before the list +of 'RefName's. This parameter and +refentry.generate.title are mutually exclusive. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/refentry.generate.title.html b/rosdocs/xsl/doc/fo/refentry.generate.title.html new file mode 100644 index 0000000..b0a1129 --- /dev/null +++ b/rosdocs/xsl/doc/fo/refentry.generate.title.html @@ -0,0 +1,7 @@ + + + refentry.generate.title

Name

refentry.generate.title — Output title before 'RefName'(s)?

Synopsis

§52: §141

  1| <xsl:param name="refentry.generate.title"
+  2|            select="0"/>

Description

If true (non-zero), the reference page title or first name is +output before the list of 'RefName's. This parameter and +refentry.generate.name are mutually exclusive. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/refentry.xref.manvolnum.html b/rosdocs/xsl/doc/fo/refentry.xref.manvolnum.html new file mode 100644 index 0000000..9deea26 --- /dev/null +++ b/rosdocs/xsl/doc/fo/refentry.xref.manvolnum.html @@ -0,0 +1,8 @@ + + + refentry.xref.manvolnum

Name

refentry.xref.manvolnum — Output manvolnum as part of +refentry cross-reference?

Synopsis

§53: §141

  1| <xsl:param name="refentry.xref.manvolnum"
+  2|            select="1"/>

Description

if true (non-zero), the manvolnum is used when cross-referencing +refentrys, either with xref +or citerefentry. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/region.after.extent.html b/rosdocs/xsl/doc/fo/region.after.extent.html new file mode 100644 index 0000000..5ff0a6e --- /dev/null +++ b/rosdocs/xsl/doc/fo/region.after.extent.html @@ -0,0 +1,6 @@ + + + region.after.extent

Name

region.after.extent — Specifies the height of the footer.

Synopsis

§102: §141

  1| <xsl:param name="region.after.extent"
+  2|            select="'0.5in'"/>

Description

The region after extent is the height of the area where footers +are printed. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/region.before.extent.html b/rosdocs/xsl/doc/fo/region.before.extent.html new file mode 100644 index 0000000..fba5f9b --- /dev/null +++ b/rosdocs/xsl/doc/fo/region.before.extent.html @@ -0,0 +1,6 @@ + + + region.before.extent

Name

region.before.extent — Specifies the height of the header

Synopsis

§103: §141

  1| <xsl:param name="region.before.extent"
+  2|            select="'0.5in'"/>

Description

The region before extent is the height of the area where headers +are printed. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/rn01.html b/rosdocs/xsl/doc/fo/rn01.html new file mode 100644 index 0000000..e50f498 --- /dev/null +++ b/rosdocs/xsl/doc/fo/rn01.html @@ -0,0 +1,3 @@ + + + Admonitions

Admonitions


Table of Contents

admon.graphics - Use graphics in admonitions?
admon.graphics.extension - Extension for admonition graphics
admon.graphics.path - Path to admonition graphics
admonition.title.properties - To set the style for admonitions titles.
admonition.properties - To set the style for admonitions.
\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/rn02.html b/rosdocs/xsl/doc/fo/rn02.html new file mode 100644 index 0000000..3a7051c --- /dev/null +++ b/rosdocs/xsl/doc/fo/rn02.html @@ -0,0 +1,3 @@ + + + Callouts

Callouts


Table of Contents

callout.defaultcolumn - Indicates what column callouts appear in by default
callout.graphics - Use graphics for callouts?
callout.graphics.extension - Extension for callout graphics
callout.graphics.number.limit - Number of the largest callout graphic
callout.graphics.path - Path to callout graphics
callout.unicode - Use Unicode characters rather than images for callouts.
callout.unicode.font - Specify a font for Unicode glyphs
callout.unicode.number.limit - Number of the largest callout graphic
callout.unicode.start.character - First Unicode character to use, decimal value.
callouts.extension - Enable the callout extension
\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/rn03.html b/rosdocs/xsl/doc/fo/rn03.html new file mode 100644 index 0000000..80e1ac3 --- /dev/null +++ b/rosdocs/xsl/doc/fo/rn03.html @@ -0,0 +1,4 @@ + + + ToC/LoT/Index Generation

ToC/LoT/Index Generation


Table of Contents

autotoc.label.separator - Separator between labels and titles in the ToC
process.empty.source.toc - FIXME:
process.source.toc - FIXME:
generate.toc - Control generation of ToCs and LoTs
generate.index - Do you want an index?
toc.section.depth - How deep should recursive sections appear +in the TOC?
toc.indent.width - Amount of indentation for TOC entries
toc.margin.properties - FIXME:
\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/rn04.html b/rosdocs/xsl/doc/fo/rn04.html new file mode 100644 index 0000000..c202285 --- /dev/null +++ b/rosdocs/xsl/doc/fo/rn04.html @@ -0,0 +1,4 @@ + + + Processor Extensions

Processor Extensions


Table of Contents

arbortext.extensions - Enable Arbortext extensions?
fop.extensions - Enable FOP extensions?
passivetex.extensions - Enable PassiveTeX extensions?
tex.math.in.alt - TeX notation used for equations
tex.math.delims - Should be equations outputed for processing by TeX +automatically surrounded by math mode delimiters
xep.extensions - Enable XEP extensions?
\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/rn05.html b/rosdocs/xsl/doc/fo/rn05.html new file mode 100644 index 0000000..fc06ce4 --- /dev/null +++ b/rosdocs/xsl/doc/fo/rn05.html @@ -0,0 +1,3 @@ + + + Stylesheet Extensions

Stylesheet Extensions


Table of Contents

linenumbering.everyNth - Indicate which lines should be numbered
linenumbering.extension - Enable the line numbering extension
linenumbering.separator - Specify a separator between line numbers and lines
linenumbering.width - Indicates the width of line numbers
tablecolumns.extension - Enable the table columns extension function
textinsert.extension - Enable the textinsert extension element
use.extensions - Enable extensions
\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/rn06.html b/rosdocs/xsl/doc/fo/rn06.html new file mode 100644 index 0000000..926f932 --- /dev/null +++ b/rosdocs/xsl/doc/fo/rn06.html @@ -0,0 +1,3 @@ + + + Automatic labelling

Automatic labelling


Table of Contents

appendix.autolabel - Are Appendixes automatically enumerated?
chapter.autolabel - Are chapters automatically enumerated?
part.autolabel - Are parts and references enumerated?
preface.autolabel - Are prefaces enumerated?
section.autolabel - Are sections enumerated?
section.label.includes.component.label - Do section labels include the component label?
label.from.part - Renumber chapters in each part?
\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/rn07.html b/rosdocs/xsl/doc/fo/rn07.html new file mode 100644 index 0000000..e0105a8 --- /dev/null +++ b/rosdocs/xsl/doc/fo/rn07.html @@ -0,0 +1,3 @@ + + + XSLT Processing

XSLT Processing


Table of Contents

rootid - Specify the root element to format
\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/rn08.html b/rosdocs/xsl/doc/fo/rn08.html new file mode 100644 index 0000000..543f7ac --- /dev/null +++ b/rosdocs/xsl/doc/fo/rn08.html @@ -0,0 +1,4 @@ + + + Meta/*Info

Meta/*Info


Table of Contents

make.single.year.ranges - Print single-year ranges (e.g., 1998-1999)
make.year.ranges - Collate copyright years into ranges?
author.othername.in.middle - Is othername in author a +middle name?
\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/rn09.html b/rosdocs/xsl/doc/fo/rn09.html new file mode 100644 index 0000000..170849d --- /dev/null +++ b/rosdocs/xsl/doc/fo/rn09.html @@ -0,0 +1,4 @@ + + + Reference Pages

Reference Pages


Table of Contents

funcsynopsis.decoration - Decorate elements of a FuncSynopsis?
funcsynopsis.style - What style of 'FuncSynopsis' should be generated?
function.parens - Generate parens after a function?
refentry.generate.name - Output NAME header before 'RefName'(s)?
refentry.generate.title - Output title before 'RefName'(s)?
refentry.xref.manvolnum - Output manvolnum as part of +refentry cross-reference?
\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/rn10.html b/rosdocs/xsl/doc/fo/rn10.html new file mode 100644 index 0000000..60e227c --- /dev/null +++ b/rosdocs/xsl/doc/fo/rn10.html @@ -0,0 +1,3 @@ + + + Tables

Tables


Table of Contents

default.table.width - The default width of tables
nominal.table.width - The (absolute) nominal width of tables
table.border.thickness -
table.cell.padding -
table.border.style -
table.border.color -
table.entry.padding -
\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/rn11.html b/rosdocs/xsl/doc/fo/rn11.html new file mode 100644 index 0000000..9a72175 --- /dev/null +++ b/rosdocs/xsl/doc/fo/rn11.html @@ -0,0 +1,3 @@ + + + QAndASet

QAndASet


Table of Contents

qandadiv.autolabel - Are divisions in QAndASets enumerated?
qanda.inherit.numeration - Does enumeration of QandASet components inherit the numeration of parent elements?
\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/rn12.html b/rosdocs/xsl/doc/fo/rn12.html new file mode 100644 index 0000000..69ba5c5 --- /dev/null +++ b/rosdocs/xsl/doc/fo/rn12.html @@ -0,0 +1,3 @@ + + + Bibliography

Bibliography


Table of Contents

biblioentry.item.separator - Text to separate bibliography entries
bibliography.collection - Name of the bibliography collection file
\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/rn13.html b/rosdocs/xsl/doc/fo/rn13.html new file mode 100644 index 0000000..1b5bd62 --- /dev/null +++ b/rosdocs/xsl/doc/fo/rn13.html @@ -0,0 +1,3 @@ + + + Glossary

Glossary


Table of Contents

glossterm.auto.link - Generate links from glossterm to glossentry automaticaly?
firstterm.only.link - Does automatic glossterm linking only apply to firstterms?
glossary.collection - Name of the glossary collection file
\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/rn14.html b/rosdocs/xsl/doc/fo/rn14.html new file mode 100644 index 0000000..1b3b8fc --- /dev/null +++ b/rosdocs/xsl/doc/fo/rn14.html @@ -0,0 +1,3 @@ + + + Miscellaneous

Miscellaneous


Table of Contents

graphic.default.extension - Default extension for graphic filenames
formal.procedures - Selects formal or informal procedures
formal.title.placement -
runinhead.default.title.end.punct - Default punctuation character on a run-in-head
runinhead.title.end.punct - Characters that count as punctuation on a run-in-head
show.comments - Display comment elements?
punct.honorific - Punctuation after an honorific in a personal name.
segmentedlist.as.table - Format segmented lists as tables?
variablelist.as.blocks - Format variablelists lists as blocks?
blockquote.properties - To set the style for block quotations.
ulink.show - Display URLs after ulinks?
ulink.footnotes - Generate footnotes for ULinks?
ulink.hyphenate - Allow URLs to be automatically hyphenated
shade.verbatim - Should verbatim environments be shaded?
shade.verbatim.style - Properties that specify the style of shaded verbatim listings
use.svg - Allow SVG in the result tree?
\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/rn15.html b/rosdocs/xsl/doc/fo/rn15.html new file mode 100644 index 0000000..8653a85 --- /dev/null +++ b/rosdocs/xsl/doc/fo/rn15.html @@ -0,0 +1,28 @@ + + + Pagination and General Styles

Pagination and General Styles


1. Understanding XSL FO Margins

In order for the parameters in this section to make sense, it is useful to +consider Figure 1.

Figure 1.

Figure showing page margins

First, let's consider the regions on the page.

The white region is the physical page. Its dimensions are determined by +the page.height and page.width +parameters.

The yellow region is the region-body. The size and placement of +the region body is constrained by the dimensions labelled in the +figure.

The pink region at the top of the page is the region-before. The +darker area inside the region-before is the header text. In XSL, the default +display alignment for the region-before is before, but +the DocBook stylesheets explicitly make it after. That's +why the darker area is at the bottom.

The pink region at the bottom of the page is the region-after. +The darker area is the footer text. In XSL, the default display +alignment for the region-after is before (really!), +but the DocBook stylesheets explicitly make it +after. That's why the darker area is at the bottom.

The dimensions in the figure are:

  1. The page-master margin-top. +

  2. The region-before extent. +

  3. The region-body margin-top. +

  4. The region-after extent. +

  5. The page-master margin-bottom. +

  6. The region-body margin-bottom. +

  7. The sum of the page-master margin-left and the +region-body margin-left. In DocBook, the region-body margin-left is +zero by default, so this is simply the page-master region-left. +

  8. The sum of the page-master margin-right and the +region-body margin-right. In DocBook, the region-body margin-right is +zero by default, so this is simply the page-master region-left. +

Table of Contents

page.height - The height of the physical page
page.height.portrait - Specify the physical size of the long edge of the page
page.margin.bottom - The bottom margin of the page
page.margin.inner - The inner page margin
page.margin.outer - The outer page margin
page.margin.top - The top margin of the page
page.orientation - Select the page orientation
page.width - The width of the physical page
page.width.portrait - Specify the physical size of the short edge of the page
paper.type - Select the paper type
double.sided - Is the document to be printed double sided?
body.margin.bottom - The bottom margin of the body text
body.margin.top - To specify the size of the top margin of a page
alignment - Specify the default text alignment
hyphenate - Specify hyphenation behavior
line-height - Specify the line-height property
column.count - Specifies the number of columns of text on the page
column.count.of.index - Number of columns in the index
region.after.extent - Specifies the height of the footer.
region.before.extent - Specifies the height of the header
default.units - Default units for an unqualified dimension
normal.para.spacing - What space do you want between normal paragraphs
body.font.master - Specifies the default point size for body text
body.font.size - Specifies the default font size for body text
footnote.font.size - The font size for footnotes
title.margin.left - Adjust the left margin for titles
draft.watermark.image - The URI of the image to be used for draft watermarks
\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/rn16.html b/rosdocs/xsl/doc/fo/rn16.html new file mode 100644 index 0000000..acc5d91 --- /dev/null +++ b/rosdocs/xsl/doc/fo/rn16.html @@ -0,0 +1,3 @@ + + + Font Families

Font Families


Table of Contents

body.font.family - The default font family for body text
dingbat.font.family - The font family for copyright, quotes, and other symbols
monospace.font.family - The default font family for monospace environments
sans.font.family - The default sans-serif font family
title.font.family - The default font family for titles
\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/rn17.html b/rosdocs/xsl/doc/fo/rn17.html new file mode 100644 index 0000000..158f334 --- /dev/null +++ b/rosdocs/xsl/doc/fo/rn17.html @@ -0,0 +1,3 @@ + + + Lists

Lists


Table of Contents

list.block.spacing - What spacing do you want before lists?
list.item.spacing - What space do you want between list items?
compact.list.item.spacing - What space do you want between list items (when spacing=compact)?
\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/rn18.html b/rosdocs/xsl/doc/fo/rn18.html new file mode 100644 index 0000000..beecbdf --- /dev/null +++ b/rosdocs/xsl/doc/fo/rn18.html @@ -0,0 +1,3 @@ + + + Cross References

Cross References


Table of Contents

insert.xref.page.number - Turns page numbers in xrefs on and off
xref.properties - FIXME:
\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/rn19.html b/rosdocs/xsl/doc/fo/rn19.html new file mode 100644 index 0000000..3d7833d --- /dev/null +++ b/rosdocs/xsl/doc/fo/rn19.html @@ -0,0 +1,3 @@ + + + Property Sets

Property Sets


Table of Contents

component.title.properties - Specify the styling for the title elements of a component.
formal.object.properties - Properties associated with a formal object such as a figure, or other component that has a title
formal.title.properties - Style the title element of formal object such as a figure.
informal.object.properties - Properties associated with a formal object such as a figure, or other component that has a title
monospace.verbatim.properties - What font and size do you want for monospaced content?
verbatim.properties - FIXME:
\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/rn20.html b/rosdocs/xsl/doc/fo/rn20.html new file mode 100644 index 0000000..1fa1a0f --- /dev/null +++ b/rosdocs/xsl/doc/fo/rn20.html @@ -0,0 +1,16 @@ + + + Profiling

Profiling


Following parameters can be used for attribute value based +profiling of your document. For more info about profiling look at +http://docbook.sourceforge.net/projects/xsl/doc/tools/profiling.html.

Table of Contents

profile.arch - Target profile for arch +attribute
profile.condition - Target profile for condition +attribute
profile.conformance - Target profile for conformance +attribute
profile.lang - Target profile for lang +attribute
profile.os - Target profile for os +attribute
profile.revision - Target profile for revision +attribute
profile.revisionflag - Target profile for revisionflag +attribute
profile.role - Target profile for role +attribute
profile.security - Target profile for security +attribute
profile.userlevel - Target profile for userlevel +attribute
profile.vendor - Target profile for vendor +attribute
profile.attribute - Name of user-specified profiling attribute
profile.value - Target profile for user-specified attribute
profile.separator - Separator character for compound profile values
\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/rootid.html b/rosdocs/xsl/doc/fo/rootid.html new file mode 100644 index 0000000..d9f68ec --- /dev/null +++ b/rosdocs/xsl/doc/fo/rootid.html @@ -0,0 +1,10 @@ + + + rootid

Name

rootid — Specify the root element to format

Synopsis

§44: §141

  1| <xsl:param name="rootid"
+  2|            select="''"/>

Description

If rootid is specified, it must be the +value of an ID that occurs in the document being formatted. The entire +document will be loaded and parsed, but formatting will begin at the +element identified, rather than at the root. For example, this allows +you to process only chapter 4 of a book.

Because the entire document is available to the processor, automatic +numbering, cross references, and other dependencies are correctly +resolved.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/runinhead.default.title.end.punct.html b/rosdocs/xsl/doc/fo/runinhead.default.title.end.punct.html new file mode 100644 index 0000000..91d5b50 --- /dev/null +++ b/rosdocs/xsl/doc/fo/runinhead.default.title.end.punct.html @@ -0,0 +1,5 @@ + + + runinhead.default.title.end.punct

Name

runinhead.default.title.end.punct — Default punctuation character on a run-in-head

Synopsis

§71: §141

  1| <xsl:param name="runinhead.default.title.end.punct"
+  2|            select="'.'"/>

Description

FIXME: +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/runinhead.title.end.punct.html b/rosdocs/xsl/doc/fo/runinhead.title.end.punct.html new file mode 100644 index 0000000..b069639 --- /dev/null +++ b/rosdocs/xsl/doc/fo/runinhead.title.end.punct.html @@ -0,0 +1,5 @@ + + + runinhead.title.end.punct

Name

runinhead.title.end.punct — Characters that count as punctuation on a run-in-head

Synopsis

§72: §141

  1| <xsl:param name="runinhead.title.end.punct"
+  2|            select="'.!?:'"/>

Description

FIXME: +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/sans.font.family.html b/rosdocs/xsl/doc/fo/sans.font.family.html new file mode 100644 index 0000000..bae4542 --- /dev/null +++ b/rosdocs/xsl/doc/fo/sans.font.family.html @@ -0,0 +1,5 @@ + + + sans.font.family

Name

sans.font.family — The default sans-serif font family

Synopsis

§114: §141

  1| <xsl:param name="sans.font.family">Helvetica</xsl:param>

Description

The default sans-serif font family. At the present, this isn't +actually used by the stylesheets. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/section.autolabel.html b/rosdocs/xsl/doc/fo/section.autolabel.html new file mode 100644 index 0000000..d7d5a33 --- /dev/null +++ b/rosdocs/xsl/doc/fo/section.autolabel.html @@ -0,0 +1,5 @@ + + + section.autolabel

Name

section.autolabel — Are sections enumerated?

Synopsis

§41: §141

  1| <xsl:param name="section.autolabel"
+  2|            select="0"/>

Description

If true (non-zero), unlabeled sections will be enumerated. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/section.label.includes.component.label.html b/rosdocs/xsl/doc/fo/section.label.includes.component.label.html new file mode 100644 index 0000000..5ce4c7d --- /dev/null +++ b/rosdocs/xsl/doc/fo/section.label.includes.component.label.html @@ -0,0 +1,6 @@ + + + section.label.includes.component.label

Name

section.label.includes.component.label — Do section labels include the component label?

Synopsis

§42: §141

  1| <xsl:param name="section.label.includes.component.label"
+  2|            select="0"/>

Description

If true (non-zero), section labels are prefixed with the label of the +component that contains them. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/segmentedlist.as.table.html b/rosdocs/xsl/doc/fo/segmentedlist.as.table.html new file mode 100644 index 0000000..dfdb4dc --- /dev/null +++ b/rosdocs/xsl/doc/fo/segmentedlist.as.table.html @@ -0,0 +1,5 @@ + + + segmentedlist.as.table

Name

segmentedlist.as.table — Format segmented lists as tables?

Synopsis

§75: §141

  1| <xsl:param name="segmentedlist.as.table"
+  2|            select="0"/>

Description

If non-zero, segmentedlists will be formatted as +tables.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/shade.verbatim.html b/rosdocs/xsl/doc/fo/shade.verbatim.html new file mode 100644 index 0000000..3ebdaec --- /dev/null +++ b/rosdocs/xsl/doc/fo/shade.verbatim.html @@ -0,0 +1,4 @@ + + + shade.verbatim

Name

shade.verbatim — Should verbatim environments be shaded?

Synopsis

§81: §141

  1| <xsl:param name="shade.verbatim"
+  2|            select="0"/>

Description

FIXME:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/shade.verbatim.style.html b/rosdocs/xsl/doc/fo/shade.verbatim.style.html new file mode 100644 index 0000000..70181d2 --- /dev/null +++ b/rosdocs/xsl/doc/fo/shade.verbatim.style.html @@ -0,0 +1,6 @@ + + + shade.verbatim.style

Name

shade.verbatim.style — Properties that specify the style of shaded verbatim listings

Synopsis

§82: §141

  1| 
+  2| <xsl:attribute-set name="shade.verbatim.style">
+  3|   <xsl:attribute name="background-color">#E0E0E0</xsl:attribute>
+  4| </xsl:attribute-set>

Description

FIXME:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/show.comments.html b/rosdocs/xsl/doc/fo/show.comments.html new file mode 100644 index 0000000..e9d5e5e --- /dev/null +++ b/rosdocs/xsl/doc/fo/show.comments.html @@ -0,0 +1,7 @@ + + + show.comments

Name

show.comments — Display comment elements?

Synopsis

§73: §141

  1| <xsl:param name="show.comments">1</xsl:param>

Description

If true (non-zero), comments will be displayed, otherwise they are suppressed. +Comments here refers to the comment element, +which will be renamed remark in DocBook V4.0, +not XML comments (<-- like this -->) which are unavailable. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/stylesheet.result.type.html b/rosdocs/xsl/doc/fo/stylesheet.result.type.html new file mode 100644 index 0000000..67f78d7 --- /dev/null +++ b/rosdocs/xsl/doc/fo/stylesheet.result.type.html @@ -0,0 +1,6 @@ + + + stylesheet.result.type

Name

stylesheet.result.type — Identifies the output format of this stylesheet

Synopsis

§90: §133

  1| <xsl:param name="stylesheet.result.type"
+  2|            select="'html'"/>

Description

The Saxon extension functions need to know if the output format +is HTML ('html') or XSL Formatting Objects ('fo'). This variable answers +that question. Valid settings are 'html' or 'fo'.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/table.border.color.html b/rosdocs/xsl/doc/fo/table.border.color.html new file mode 100644 index 0000000..991b516 --- /dev/null +++ b/rosdocs/xsl/doc/fo/table.border.color.html @@ -0,0 +1,4 @@ + + + table.border.color

Name

table.border.color —

Synopsis

§59: §141

  1| <xsl:param name="table.border.color"
+  2|            select="'black'"/>

Description

FIXME:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/table.border.padding.html b/rosdocs/xsl/doc/fo/table.border.padding.html new file mode 100644 index 0000000..3fbe0fd --- /dev/null +++ b/rosdocs/xsl/doc/fo/table.border.padding.html @@ -0,0 +1,4 @@ + + + table.border.padding

Name

table.border.padding —

Synopsis

§67: §133

  1| <xsl:param name="table.border.padding"
+  2|            select="'2pt'"/>

Description

FIXME:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/table.border.style.html b/rosdocs/xsl/doc/fo/table.border.style.html new file mode 100644 index 0000000..4dcffa7 --- /dev/null +++ b/rosdocs/xsl/doc/fo/table.border.style.html @@ -0,0 +1,4 @@ + + + table.border.style

Name

table.border.style —

Synopsis

§58: §141

  1| <xsl:param name="table.border.style"
+  2|            select="'solid'"/>

Description

FIXME:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/table.border.thickness.html b/rosdocs/xsl/doc/fo/table.border.thickness.html new file mode 100644 index 0000000..d48633c --- /dev/null +++ b/rosdocs/xsl/doc/fo/table.border.thickness.html @@ -0,0 +1,4 @@ + + + table.border.thickness

Name

table.border.thickness —

Synopsis

§56: §141

  1| <xsl:param name="table.border.thickness"
+  2|            select="'0.5pt'"/>

Description

FIXME:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/table.cell.padding.html b/rosdocs/xsl/doc/fo/table.cell.padding.html new file mode 100644 index 0000000..7c488dd --- /dev/null +++ b/rosdocs/xsl/doc/fo/table.cell.padding.html @@ -0,0 +1,8 @@ + + + table.cell.padding

Name

table.cell.padding —

Synopsis

§57: §141

  1| <xsl:attribute-set name="table.cell.padding">
+   |   <xsl:attribute name="padding-left">2pt</xsl:attribute>
+   |   <xsl:attribute name="padding-right">2pt</xsl:attribute>
+   |   <xsl:attribute name="padding-top">2pt</xsl:attribute>
+  5|   <xsl:attribute name="padding-bottom">2pt</xsl:attribute>
+   | </xsl:attribute-set>

Description

FIXME:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/table.entry.padding.html b/rosdocs/xsl/doc/fo/table.entry.padding.html new file mode 100644 index 0000000..fbd2544 --- /dev/null +++ b/rosdocs/xsl/doc/fo/table.entry.padding.html @@ -0,0 +1,4 @@ + + + table.entry.padding

Name

table.entry.padding —

Synopsis

§60: §141

  1| <xsl:param name="table.entry.padding"
+  2|            select="'2pt'"/>

Description

FIXME:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/table.html b/rosdocs/xsl/doc/fo/table.html new file mode 100644 index 0000000..1b5602c --- /dev/null +++ b/rosdocs/xsl/doc/fo/table.html @@ -0,0 +1,179 @@ + + + + + Formatting Object Table Reference + + + + +
+
+

Formatting Object Table Reference +

+
+
+
+

Norman Walsh

+
+
+
+

+ $Id$ + +

+
+
+ +
+
+
+
+
+
+
+
+

Introduction +

+
+
+

This is technical reference documentation for the DocBook XSL + Stylesheets; it documents (some of) the parameters, templates, and + other elements of the stylesheets. +

+

This is not intended to be “user” documentation. + It is provided for developers writing customization layers for the + stylesheets, and for anyone who's interested in “how it + works”. +

+

Although I am trying to be thorough, this documentation is known + to be incomplete. Don't forget to read the source, too :-) +

+
+
+

Table of Contents

+
+
calc.column.width - Calculate an XSL FO table column width specification from a + CALS table column width specification. +
+
+
+
+
+
+

Name

+

calc.column.width — Calculate an XSL FO table column width specification from a + CALS table column width specification. +

+
+
+

Synopsis

<xsl:template name="calc.column.width">
+<xsl:param name="colwidth">1*</xsl:param>
+  ...
+</xsl:template>
+
+ + +

CALS expresses table column widths in the following basic + forms: +

+ + + + +
+
    +
  • +

    99.99units, a fixed length specifier. +

    +
  • +
  • +

    99.99, a fixed length specifier without any units. +

    +
  • +
  • +

    99.99*, a relative length specifier. +

    +
  • +
  • +

    99.99*+99.99units, a combination of both. +

    +
  • +
+
+ + + + +

The CALS units are points (pt), picas (pi), centimeters (cm), + millimeters (mm), and inches (in). These are the same units as XSL, + except that XSL abbreviates picas "pc" instead of "pi". If a length + specifier has no units, the CALS default unit (pt) is assumed. +

+ + + + +

Relative length specifiers are represented in XSL with the + proportional-column-width() function. +

+ + + + +

Here are some examples:

+ + + + +
+
    +
  • +

    "36pt" becomes "36pt"

    +
  • +
  • +

    "3pi" becomes "3pc"

    +
  • +
  • +

    "36" becomes "36pt"

    +
  • +
  • +

    "3*" becomes "proportional-column-width(3)"

    +
  • +
  • +

    "3*+2pi" becomes "proportional-column-width(3)+2pc"

    +
  • +
  • +

    "1*+2" becomes "proportional-column-width(1)+2pt"

    +
  • +
+
+ + +
+
Parameters + + +
+
+
colwidth
+
+

The CALS column width specification.

+
+
+
+ + +
+
Returns + + +

The XSL column width specification.

+ + +
+
+
+ + \ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/tablecolumns.extension.html b/rosdocs/xsl/doc/fo/tablecolumns.extension.html new file mode 100644 index 0000000..686daa6 --- /dev/null +++ b/rosdocs/xsl/doc/fo/tablecolumns.extension.html @@ -0,0 +1,7 @@ + + + tablecolumns.extension

Name

tablecolumns.extension — Enable the table columns extension function

Synopsis

§34: §141

  1| <xsl:param name="tablecolumns.extension"
+  2|            select="'1'"/>

Description

The table columns extension function adjusts the widths of table +columns in the HTML result to more accurately reflect the specifications +in the CALS table. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/tex.math.delims.html b/rosdocs/xsl/doc/fo/tex.math.delims.html new file mode 100644 index 0000000..53b3a7a --- /dev/null +++ b/rosdocs/xsl/doc/fo/tex.math.delims.html @@ -0,0 +1,6 @@ + + + tex.math.delims

Name

tex.math.delims — Should be equations outputed for processing by TeX +automatically surrounded by math mode delimiters

Synopsis

§28: §141

  1| <xsl:param name="tex.math.delims"
+  2|            select="'1'"/>

Description

For compatibility with DSSSL based DBTeXMath from Allin Cottrell +you should set this parameter to 0.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/tex.math.in.alt.html b/rosdocs/xsl/doc/fo/tex.math.in.alt.html new file mode 100644 index 0000000..84e839d --- /dev/null +++ b/rosdocs/xsl/doc/fo/tex.math.in.alt.html @@ -0,0 +1,26 @@ + + + tex.math.in.alt

Name

tex.math.in.alt — TeX notation used for equations

Synopsis

§27: §141

  1| <xsl:param name="tex.math.in.alt"
+  2|            select="''"/>

Description

If you want type math directly in TeX notation in equations, +this parameter specifies notation used. Currently are supported two +values -- plain and latex. Empty +value means that you are not using TeX math at all.

Preferred way for including TeX alternative of math is inside of +textobject element. Eg.:

<inlineequation>
+<inlinemediaobject>
+<imageobject>
+<imagedata fileref="eq1.gif"/>
+</imageobject>
+<textobject><phrase>E=mc squared</phrase></textobject>
+<textobject role="tex"><phrase>E=mc^2</phrase></textobject>
+</inlinemediaobject>
+</inlineequation>

If you are using graphic element, you can +store TeX inside alt element:

<inlineequation>
+<alt role="tex">a^2+b^2=c^2</alt>
+<graphic fileref="a2b2c2.gif"/>  
+</inlineequation>

If you want use this feature, you should process your FO with +PassiveTeX, which only supports TeX math notation. When calling +stylsheet, don't forget to specify also +passivetex.extensions=1.

If you want equations in HTML, just process generated file +tex-math-equations.tex by TeX or LaTeX. Then run +dvi2bitmap program on result DVI file. You will get images for +equations in your document.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/textinsert.extension.html b/rosdocs/xsl/doc/fo/textinsert.extension.html new file mode 100644 index 0000000..3b81642 --- /dev/null +++ b/rosdocs/xsl/doc/fo/textinsert.extension.html @@ -0,0 +1,6 @@ + + + textinsert.extension

Name

textinsert.extension — Enable the textinsert extension element

Synopsis

§35: §141

  1| <xsl:param name="textinsert.extension"
+  2|            select="'1'"/>

Description

The textinsert extension element inserts the contents of a +a file into the result tree (as text). +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/title.font.family.html b/rosdocs/xsl/doc/fo/title.font.family.html new file mode 100644 index 0000000..1082c6d --- /dev/null +++ b/rosdocs/xsl/doc/fo/title.font.family.html @@ -0,0 +1,5 @@ + + + title.font.family

Name

title.font.family — The default font family for titles

Synopsis

§115: §141

  1| <xsl:param name="title.font.family">Helvetica</xsl:param>

Description

The title font family is used for titles (chapter, section, figure, +etc.) +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/title.margin.left.html b/rosdocs/xsl/doc/fo/title.margin.left.html new file mode 100644 index 0000000..0ef0f5b --- /dev/null +++ b/rosdocs/xsl/doc/fo/title.margin.left.html @@ -0,0 +1,5 @@ + + + title.margin.left

Name

title.margin.left — Adjust the left margin for titles

Synopsis

§109: §141

  1| <xsl:param name="title.margin.left"
+  2|            select="'-4pc'"/>

Description

This parameter adjusts the left margin for titles. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/toc.indent.width.html b/rosdocs/xsl/doc/fo/toc.indent.width.html new file mode 100644 index 0000000..7bb202e --- /dev/null +++ b/rosdocs/xsl/doc/fo/toc.indent.width.html @@ -0,0 +1,8 @@ + + + toc.indent.width

Name

toc.indent.width — Amount of indentation for TOC entries

Synopsis

§22: §141

  1| <xsl:param name="toc.indent.width"
+  2|            select="24"/>

Description

Specifies, in points, the distance by which each level of the +TOC is indented from its parent.

This value is expressed in points, without +a unit (in other words, it is a bare number). Using a bare number allows the stylesheet +to perform calculations that would otherwise have to be performed by the FO processor +because not all processors support expressions.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/toc.margin.properties.html b/rosdocs/xsl/doc/fo/toc.margin.properties.html new file mode 100644 index 0000000..9c47f60 --- /dev/null +++ b/rosdocs/xsl/doc/fo/toc.margin.properties.html @@ -0,0 +1,10 @@ + + + toc.margin.properties

Name

toc.margin.properties — FIXME:

Synopsis

§23: §141

  1| <xsl:attribute-set name="toc.margin.properties">
+   |   <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute>
+   |   <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
+   |   <xsl:attribute name="space-before.maximum">2em</xsl:attribute>
+  5|   <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute>
+   |   <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
+   |   <xsl:attribute name="space-after.maximum">2em</xsl:attribute>
+   | </xsl:attribute-set>

Description

FIXME:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/toc.section.depth.html b/rosdocs/xsl/doc/fo/toc.section.depth.html new file mode 100644 index 0000000..359864e --- /dev/null +++ b/rosdocs/xsl/doc/fo/toc.section.depth.html @@ -0,0 +1,6 @@ + + + toc.section.depth

Name

toc.section.depth — How deep should recursive sections appear +in the TOC?

Synopsis

§21: §141

  1| <xsl:param name="toc.section.depth">2</xsl:param>

Description

Specifies the depth to which recursive sections should appear in the +TOC. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/ulink.footnotes.html b/rosdocs/xsl/doc/fo/ulink.footnotes.html new file mode 100644 index 0000000..b99e0a6 --- /dev/null +++ b/rosdocs/xsl/doc/fo/ulink.footnotes.html @@ -0,0 +1,6 @@ + + + ulink.footnotes

Name

ulink.footnotes — Generate footnotes for ULinks?

Synopsis

§79: §141

  1| <xsl:param name="ulink.footnotes"
+  2|            select="0"/>

Description

If non-zero, the URL of each ULink will +appear as a footnote. Not yet implemented! +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/ulink.hyphenate.html b/rosdocs/xsl/doc/fo/ulink.hyphenate.html new file mode 100644 index 0000000..cf3774b --- /dev/null +++ b/rosdocs/xsl/doc/fo/ulink.hyphenate.html @@ -0,0 +1,8 @@ + + + ulink.hyphenate

Name

ulink.hyphenate — Allow URLs to be automatically hyphenated

Synopsis

§80: §141

  1| <xsl:param name="ulink.hyphenate"
+  2|            select="''"/>

Description

If not empty, the specified character (or more generally, content) is +added to URLs after every “/”. If the character specified is a +Unicode soft hyphen (0x00AD) or Unicode zero-width space (0x200B), some FO +processors will be able to reasonably hyphenate long URLs.

As of 28 Jan 2002, discretionary hyphens are more widely and correctly +supported than zero-width spaces for this purpose.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/ulink.show.html b/rosdocs/xsl/doc/fo/ulink.show.html new file mode 100644 index 0000000..b3ec6b3 --- /dev/null +++ b/rosdocs/xsl/doc/fo/ulink.show.html @@ -0,0 +1,6 @@ + + + ulink.show

Name

ulink.show — Display URLs after ulinks?

Synopsis

§78: §141

  1| <xsl:param name="ulink.show"
+  2|            select="1"/>

Description

If non-zero, the URL of each ULink will +appear after the text of the link. If the text of the link and the URL +are identical, the URL is suppressed.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/use.extensions.html b/rosdocs/xsl/doc/fo/use.extensions.html new file mode 100644 index 0000000..25f1d1c --- /dev/null +++ b/rosdocs/xsl/doc/fo/use.extensions.html @@ -0,0 +1,8 @@ + + + use.extensions

Name

use.extensions — Enable extensions

Synopsis

§36: §141

  1| <xsl:param name="use.extensions"
+  2|            select="'0'"/>

Description

If non-zero, extensions may be used. Each extension is +further controlled by its own parameter. But if +use.extensions is zero, no extensions will +be used. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/use.svg.html b/rosdocs/xsl/doc/fo/use.svg.html new file mode 100644 index 0000000..21c96f4 --- /dev/null +++ b/rosdocs/xsl/doc/fo/use.svg.html @@ -0,0 +1,7 @@ + + + use.svg

Name

use.svg — Allow SVG in the result tree?

Synopsis

§83: §141

  1| <xsl:param name="use.svg"
+  2|            select="1"/>

Description

If non-zero, SVG will be considered an acceptable image format. SVG +is passed through to the result tree, so correct rendering of the resulting +diagram depends on the formatter (FO processor or web browser) that is used +to process the output from the stylesheet.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/variablelist.as.blocks.html b/rosdocs/xsl/doc/fo/variablelist.as.blocks.html new file mode 100644 index 0000000..eb7cfb0 --- /dev/null +++ b/rosdocs/xsl/doc/fo/variablelist.as.blocks.html @@ -0,0 +1,7 @@ + + + variablelist.as.blocks

Name

variablelist.as.blocks — Format variablelists lists as blocks?

Synopsis

§76: §141

  1| <xsl:param name="variablelist.as.blocks"
+  2|            select="0"/>

Description

If non-zero, variablelists will be formatted as +blocks.

If you have long terms, proper list markup in the FO case may produce +unattractive lists. By setting this parameter, you can force the stylesheets +to produce block markup instead of proper lists.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/verbatim.properties.html b/rosdocs/xsl/doc/fo/verbatim.properties.html new file mode 100644 index 0000000..6bd4372 --- /dev/null +++ b/rosdocs/xsl/doc/fo/verbatim.properties.html @@ -0,0 +1,7 @@ + + + verbatim.properties

Name

verbatim.properties — FIXME:

Synopsis

§126: §141

  1| <xsl:attribute-set name="verbatim.properties">
+   |   <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
+   |   <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
+   |   <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute>
+  5| </xsl:attribute-set>

Description

FIXME:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/xep.extensions.html b/rosdocs/xsl/doc/fo/xep.extensions.html new file mode 100644 index 0000000..776a880 --- /dev/null +++ b/rosdocs/xsl/doc/fo/xep.extensions.html @@ -0,0 +1,7 @@ + + + xep.extensions

Name

xep.extensions — Enable XEP extensions?

Synopsis

§29: §141

  1| <xsl:param name="xep.extensions"
+  2|            select="0"/>

Description

If non-zero, +XEP +extensions will be used. XEP extensions consists of PDF bookmarks and document information. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/fo/xref.properties.html b/rosdocs/xsl/doc/fo/xref.properties.html new file mode 100644 index 0000000..14e01d6 --- /dev/null +++ b/rosdocs/xsl/doc/fo/xref.properties.html @@ -0,0 +1,5 @@ + + + xref.properties

Name

xref.properties — FIXME:

Synopsis

§120: §141

  1| <xsl:attribute-set name="xref.properties">
+  2| 
+  3| </xsl:attribute-set>

Description

FIXME:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/ChangeLog b/rosdocs/xsl/doc/html/ChangeLog new file mode 100644 index 0000000..5067060 --- /dev/null +++ b/rosdocs/xsl/doc/html/ChangeLog @@ -0,0 +1,28 @@ +2002-03-09 Jirka Kosek + + * Makefile: Removed hardcoded reference for XSLT processor as it is already set in Makefile.incl. Fixed typo in DocBook DTD URI. + +2001-11-28 Norman Walsh + + * Makefile: Documentation hackery for FAQ--incomplete + +2001-11-12 Norman Walsh + + * Makefile: Hacking at producing chunked parameter references + +2001-10-13 Norman Walsh + + * Makefile: Changes to make the documentation work with the new litprog sources + +2001-08-06 Norman Walsh + + * Makefile: Documentation and documentation generation tweaks + +2001-06-20 Norman Walsh + + * Makefile: Use XT again (neither Saxon nor Xalan work) + +2001-04-03 Norman Walsh + + * .cvsignore, Makefile: New file. + diff --git a/rosdocs/xsl/doc/html/admon.graphics.extension.html b/rosdocs/xsl/doc/html/admon.graphics.extension.html new file mode 100644 index 0000000..7695f64 --- /dev/null +++ b/rosdocs/xsl/doc/html/admon.graphics.extension.html @@ -0,0 +1,4 @@ + + + admon.graphics.extension

Name

admon.graphics.extension — Extension for admonition graphics

Synopsis

§1: §157

  1| <xsl:param name="admon.graphics.extension"
+  2|            select="'.png'"/>

Description

Sets the extension to use on admonition graphics.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/admon.graphics.html b/rosdocs/xsl/doc/html/admon.graphics.html new file mode 100644 index 0000000..b4ee37e --- /dev/null +++ b/rosdocs/xsl/doc/html/admon.graphics.html @@ -0,0 +1,6 @@ + + + admon.graphics

Name

admon.graphics — Use graphics in admonitions?

Synopsis

§3: §157

  1| <xsl:param name="admon.graphics"
+  2|            select="0"/>

Description

If true (non-zero), admonitions are presented in an alternate style that uses +a graphic. Default graphics are provided in the distribution. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/admon.graphics.path.html b/rosdocs/xsl/doc/html/admon.graphics.path.html new file mode 100644 index 0000000..70d2bf7 --- /dev/null +++ b/rosdocs/xsl/doc/html/admon.graphics.path.html @@ -0,0 +1,5 @@ + + + admon.graphics.path

Name

admon.graphics.path — Path to admonition graphics

Synopsis

§2: §157

  1| <xsl:param name="admon.graphics.path">images/</xsl:param>

Description

Sets the path, probably relative to the directory where the HTML +files are created, to the admonition graphics. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/admon.style.html b/rosdocs/xsl/doc/html/admon.style.html new file mode 100644 index 0000000..16c670d --- /dev/null +++ b/rosdocs/xsl/doc/html/admon.style.html @@ -0,0 +1,7 @@ + + + admon.style

Name

admon.style — CSS style attributes for admonitions

Synopsis

§4: §157

  1| <xsl:param name="admon.style">
+  2|   <xsl:text>margin-left: 0.5in; margin-right: 0.5in;</xsl:text>
+  3| </xsl:param>

Description

Specifies the value of the STYLE +attribute that should be added to admonitions. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/annotate.toc.html b/rosdocs/xsl/doc/html/annotate.toc.html new file mode 100644 index 0000000..303d2e6 --- /dev/null +++ b/rosdocs/xsl/doc/html/annotate.toc.html @@ -0,0 +1,7 @@ + + + annotate.toc

Name

annotate.toc — Annotate the Table of Contents?

Synopsis

§17: §157

  1| <xsl:param name="annotate.toc"
+  2|            select="1"/>

Description

If true, TOCs will be annotated. At present, this just means +that the RefPurpose of RefEntry +TOC entries will be displayed. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/apa.html b/rosdocs/xsl/doc/html/apa.html new file mode 100644 index 0000000..bbf3925 --- /dev/null +++ b/rosdocs/xsl/doc/html/apa.html @@ -0,0 +1,178 @@ + + + Appendix A. The Stylesheet

Appendix A. The Stylesheet

The param.xsl stylesheet is just a wrapper +around all these parameters.

§157

  1| 
+   | <!-- This file is generated from param.xweb; do not edit this file! -->
+   | 
+   | <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  5|                 exclude-result-prefixes="src"
+   |                 version="1.0">
+   | 
+   | <!-- ********************************************************************
+   |      $Id$
+ 10|      ********************************************************************
+   | 
+   |      This file is part of the XSL DocBook Stylesheet distribution.
+   |      See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+   |      and other information.
+ 15| 
+   |      ******************************************************************** -->
+   | 
+   | §1. admon.graphics.extension
+   | §3. admon.graphics
+ 20| §2. admon.graphics.path
+   | §4. admon.style
+   | §17. annotate.toc
+   | §36. appendix.autolabel
+   | §62. author.othername.in.middle
+ 25| §18. autotoc.label.separator
+   | §113. base.dir
+   | §87. biblioentry.item.separator
+   | §88. bibliography.collection
+   | §21. bridgehead.in.toc
+ 30| §5. callout.defaultcolumn
+   | §6. callout.graphics.extension
+   | §9. callout.graphics
+   | §7. callout.graphics.number.limit
+   | §8. callout.graphics.path
+ 35| §10. callout.list.table
+   | §13. callout.unicode
+   | §11. callout.unicode.number.limit
+   | §12. callout.unicode.start.character
+   | §14. callouts.extension
+ 40| §35. chapter.autolabel
+   | §123. chunk.datafile
+   | §118. chunk.first.sections
+   | §119. chunk.quietly
+   | §117. chunk.section.depth
+ 45| §116. chunk.toc
+   | §70. citerefentry.link
+   | §47. css.decoration
+   | §121. default.encoding
+   | §72. default.table.width
+ 50| §55. draft.watermark.image
+   | §15. ebnf.table.bgcolor
+   | §16. ebnf.table.border
+   | §49. emphasis.propagates.style
+   | §90. firstterm.only.link
+ 55| §93. formal.procedures
+   | §94. formal.title.placement
+   | §64. funcsynopsis.decoration
+   | §65. funcsynopsis.style
+   | §66. function.parens
+ 60| §56. generate.id.attributes
+   | §27. generate.index
+   | §63. generate.legalnotice.link
+   | §114. generate.manifest
+   | §26. generate.section.toc.level
+ 65| §25. generate.toc
+   | §91. glossary.collection
+   | §89. glossterm.auto.link
+   | §92. graphic.default.extension
+   | §43. html.base
+ 70| §54. html.cleanup
+   | §110. html.ext
+   | §111. html.extra.head.links
+   | §51. html.longdesc
+   | §52. html.longdesc.link
+ 75| §45. html.stylesheet
+   | §44. html.stylesheet.type
+   | §152. htmlhelp.alias.file
+   | §143. htmlhelp.autolabel
+   | §144. htmlhelp.chm
+ 80| §145. htmlhelp.default.topic
+   | §142. htmlhelp.encoding
+   | §149. htmlhelp.enumerate.images
+   | §150. htmlhelp.force.map.and.alias
+   | §147. htmlhelp.hhc
+ 85| §155. htmlhelp.hhc.folders.instead.books
+   | §153. htmlhelp.hhc.section.depth
+   | §154. htmlhelp.hhc.show.root
+   | §146. htmlhelp.hhp
+   | §148. htmlhelp.hhp.tail
+ 90| §151. htmlhelp.map.file
+   | §156. htmlhelp.title
+   | §59. inherit.keywords
+   | §42. label.from.part
+   | §28. linenumbering.everyNth
+ 95| §29. linenumbering.extension
+   | §30. linenumbering.separator
+   | §31. linenumbering.width
+   | §80. link.mailto.url
+   | §60. make.single.year.ranges
+100| §53. make.valid.html
+   | §61. make.year.ranges
+   | §115. manifest
+   | §22. manual.toc
+   | §125. navig.graphics.extension
+105| §124. navig.graphics
+   | §126. navig.graphics.path
+   | §127. navig.showtitles
+   | §73. nominal.table.width
+   | §82. olink.fragid
+110| §83. olink.outline.ext
+   | §84. olink.pubid
+   | §86. olink.resolver
+   | §85. olink.sysid
+   | §122. output.method
+115| §37. part.autolabel
+   | §50. phrase.propagates.style
+   | §107. pixels.per.inch
+   | §108. points.per.em
+   | §38. preface.autolabel
+120| §20. process.empty.source.toc
+   | §19. process.source.toc
+   | §128. profile.arch
+   | §129. profile.condition
+   | §130. profile.conformance
+125| §131. profile.lang
+   | §132. profile.os
+   | §133. profile.revision
+   | §134. profile.revisionflag
+   | §135. profile.role
+130| §136. profile.security
+   | §137. profile.userlevel
+   | §138. profile.vendor
+   | §139. profile.attribute
+   | §140. profile.value
+135| §141. profile.separator
+   | §101. punct.honorific
+   | §78. qanda.defaultlabel
+   | §79. qanda.inherit.numeration
+   | §39. qandadiv.autolabel
+140| §67. refentry.generate.name
+   | §68. refentry.generate.title
+   | §71. refentry.separator
+   | §69. refentry.xref.manvolnum
+   | §112. root.filename
+145| §57. rootid
+   | §95. runinhead.default.title.end.punct
+   | §96. runinhead.title.end.punct
+   | §120. saxon.character.representation
+   | §40. section.autolabel
+150| §41. section.label.includes.component.label
+   | §102. segmentedlist.as.table
+   | §99. shade.verbatim
+   | §100. shade.verbatim.style
+   | §97. show.comments
+155| §98. show.revisionflag
+   | §48. spacing.paras
+   | §58. suppress.navigation
+   | §77. table.border.color
+   | §75. table.border.style
+160| §76. table.border.thickness
+   | §74. table.borders.with.css
+   | §32. tablecolumns.extension
+   | §33. textinsert.extension
+   | §105. tex.math.file
+165| §104. tex.math.in.alt
+   | §106. tex.math.delims
+   | §23. toc.list.type
+   | §24. toc.section.depth
+   | §81. ulink.target
+170| §34. use.extensions
+   | §46. use.id.as.filename
+   | §109. use.svg
+   | §103. variablelist.as.table
+   | 
+175| </xsl:stylesheet>
\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/appendix.autolabel.html b/rosdocs/xsl/doc/html/appendix.autolabel.html new file mode 100644 index 0000000..c1fe257 --- /dev/null +++ b/rosdocs/xsl/doc/html/appendix.autolabel.html @@ -0,0 +1,6 @@ + + + appendix.autolabel

Name

appendix.autolabel — Are Appendixes automatically enumerated?

Synopsis

§36: §157

  1| <xsl:param name="appendix.autolabel"
+  2|            select="1"/>

Description

If true (non-zero), unlabeled appendixes will be +enumerated. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/author.othername.in.middle.html b/rosdocs/xsl/doc/html/author.othername.in.middle.html new file mode 100644 index 0000000..a0114cb --- /dev/null +++ b/rosdocs/xsl/doc/html/author.othername.in.middle.html @@ -0,0 +1,9 @@ + + + author.othername.in.middle

Name

author.othername.in.middle — Is othername in author a +middle name?

Synopsis

§62: §157

  1| <xsl:param name="author.othername.in.middle"
+  2|            select="1"/>

Description

If true (non-zero), the othername of an author +appears between the firstname and +surname. Otherwise, othername +is suppressed. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/autotoc.label.separator.html b/rosdocs/xsl/doc/html/autotoc.label.separator.html new file mode 100644 index 0000000..c45fa4d --- /dev/null +++ b/rosdocs/xsl/doc/html/autotoc.label.separator.html @@ -0,0 +1,4 @@ + + + autotoc.label.separator

Name

autotoc.label.separator — Separator between labels and titles in the ToC

Synopsis

§18: §157

  1| <xsl:param name="autotoc.label.separator"
+  2|            select="'. '"/>

Description

String to use to seperate labels and title in a table of contents.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/base.dir.html b/rosdocs/xsl/doc/html/base.dir.html new file mode 100644 index 0000000..dd4de13 --- /dev/null +++ b/rosdocs/xsl/doc/html/base.dir.html @@ -0,0 +1,6 @@ + + + base.dir

Name

base.dir — The base directory of chunks

Synopsis

§113: §157

  1| <xsl:param name="base.dir"
+  2|            select="''"/>

Description

If specified, the base.dir identifies +the output directory for chunks. (If not specified, the output directory +is system dependent.)

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/biblioentry.item.separator.html b/rosdocs/xsl/doc/html/biblioentry.item.separator.html new file mode 100644 index 0000000..42e8f17 --- /dev/null +++ b/rosdocs/xsl/doc/html/biblioentry.item.separator.html @@ -0,0 +1,4 @@ + + + biblioentry.item.separator

Name

biblioentry.item.separator — Text to separate bibliography entries

Synopsis

§87: §157

  1| <xsl:param name="biblioentry.item.separator">. </xsl:param>

Description

Text to separate bibliography entries +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/bibliography.collection.html b/rosdocs/xsl/doc/html/bibliography.collection.html new file mode 100644 index 0000000..2a1d4e5 --- /dev/null +++ b/rosdocs/xsl/doc/html/bibliography.collection.html @@ -0,0 +1,56 @@ + + + bibliography.collection

Name

bibliography.collection — Name of the bibliography collection file

Synopsis

§88: §157

  1| <xsl:param name="bibliography.collection"
+  2|            select="'http://docbook.sourceforge.net/release/bibliography/bibliography.xml'"/>

Description

Maintaining bibliography entries across a set of documents is tedious, time +consuming, and error prone. It makes much more sense, usually, to store all of +the bibliography entries in a single place and simply “extract” +the ones you need in each document.

That's the purpose of the +bibliography.collection parameter. To setup a global +bibliography “database”, follow these steps:

First, create a stand-alone bibliography document that contains all of +the documents that you wish to reference. Make sure that each bibliography +entry (whether you use biblioentry or bibliomixed) +has an ID.

My global bibliography, ~/bibliography.xml begins +like this:

<!DOCTYPE bibliography
+  PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<bibliography><title>References</title>
+
+<bibliomixed id="xml-rec"><abbrev>XML 1.0</abbrev>Tim Bray,
+Jean Paoli, C. M. Sperberg-McQueen, and Eve Maler, editors.
+<citetitle><ulink url="http://www.w3.org/TR/REC-xml">Extensible Markup
+Language (XML) 1.0 Second Edition</ulink></citetitle>.
+World Wide Web Consortium, 2000.
+</bibliomixed>
+
+<bibliomixed id="xml-names"><abbrev>Namespaces</abbrev>Tim Bray,
+Dave Hollander,
+and Andrew Layman, editors.
+<citetitle><ulink url="http://www.w3.org/TR/REC-xml-names/">Namespaces in
+XML</ulink></citetitle>.
+World Wide Web Consortium, 1999.
+</bibliomixed>
+
+<!-- ... -->
+</bibliography>
+

When you create a bibliography in your document, simply +provide empty bibliomixed +entries for each document that you wish to cite. Make sure that these +elements have the same ID as the corresponding “real” +entry in your global bibliography.

For example:

<bibliography><title>Bibliography</title>
+
+<bibliomixed id="xml-rec"/>
+<bibliomixed id="xml-names"/>
+<bibliomixed id="DKnuth86">Donald E. Knuth. <citetitle>Computers and
+Typesetting: Volume B, TeX: The Program</citetitle>. Addison-Wesley,
+1986.  ISBN 0-201-13437-3.
+</bibliomixed>
+<bibliomixed id="relaxng"/>
+
+</bibliography>

Note that it's perfectly acceptable to mix entries from your +global bibliography with “normal” entries. You can use +xref or other elements to cross-reference your +bibliography entries in exactly the same way you do now.

Finally, when you are ready to format your document, simply set the +bibliography.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global bibliography.

The stylesheets will format the bibliography in your document as if +all of the entries referenced appeared there literally.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/bridgehead.in.toc.html b/rosdocs/xsl/doc/html/bridgehead.in.toc.html new file mode 100644 index 0000000..2598174 --- /dev/null +++ b/rosdocs/xsl/doc/html/bridgehead.in.toc.html @@ -0,0 +1,7 @@ + + + bridgehead.in.toc

Name

bridgehead.in.toc — Should bridgehead elements appear in the TOC?

Synopsis

§21: §157

  1| <xsl:param name="bridgehead.in.toc"
+  2|            select="0"/>

Description

If non-zero, bridgeheads appear in the TOC. Note that this option +is not fully supported and may be removed in a future version of the +stylesheets. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/callout.defaultcolumn.html b/rosdocs/xsl/doc/html/callout.defaultcolumn.html new file mode 100644 index 0000000..4aeefe1 --- /dev/null +++ b/rosdocs/xsl/doc/html/callout.defaultcolumn.html @@ -0,0 +1,7 @@ + + + callout.defaultcolumn

Name

callout.defaultcolumn — Indicates what column callouts appear in by default

Synopsis

§5: §157

  1| <xsl:param name="callout.defaultcolumn"
+  2|            select="'60'"/>

Description

If a callout does not identify a column (for example, if it uses +the linerange unit), +it will appear in the default column. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/callout.graphics.extension.html b/rosdocs/xsl/doc/html/callout.graphics.extension.html new file mode 100644 index 0000000..bd40b36 --- /dev/null +++ b/rosdocs/xsl/doc/html/callout.graphics.extension.html @@ -0,0 +1,4 @@ + + + callout.graphics.extension

Name

callout.graphics.extension — Extension for callout graphics

Synopsis

§6: §157

  1| <xsl:param name="callout.graphics.extension"
+  2|            select="'.png'"/>

Description

Sets the extension to use on callout graphics.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/callout.graphics.html b/rosdocs/xsl/doc/html/callout.graphics.html new file mode 100644 index 0000000..43046e6 --- /dev/null +++ b/rosdocs/xsl/doc/html/callout.graphics.html @@ -0,0 +1,7 @@ + + + callout.graphics

Name

callout.graphics — Use graphics for callouts?

Synopsis

§9: §157

  1| <xsl:param name="callout.graphics"
+  2|            select="'1'"/>

Description

If non-zero, callouts are presented with graphics (e.g., reverse-video +circled numbers instead of "(1)", "(2)", etc.). +Default graphics are provided in the distribution. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/callout.graphics.number.limit.html b/rosdocs/xsl/doc/html/callout.graphics.number.limit.html new file mode 100644 index 0000000..b244c6e --- /dev/null +++ b/rosdocs/xsl/doc/html/callout.graphics.number.limit.html @@ -0,0 +1,12 @@ + + + callout.graphics.number.limit

Name

callout.graphics.number.limit — Number of the largest callout graphic

Synopsis

§7: §157

  1| <xsl:param name="callout.graphics.number.limit"
+  2|            select="'10'"/>

Description

If callout.graphics +is non-zero, graphics are used to represent +callout numbers. The value of +callout.graphics.number.limit +is +the largest number for which a graphic exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/callout.graphics.path.html b/rosdocs/xsl/doc/html/callout.graphics.path.html new file mode 100644 index 0000000..f51f8e3 --- /dev/null +++ b/rosdocs/xsl/doc/html/callout.graphics.path.html @@ -0,0 +1,6 @@ + + + callout.graphics.path

Name

callout.graphics.path — Path to callout graphics

Synopsis

§8: §157

  1| <xsl:param name="callout.graphics.path"
+  2|            select="'images/callouts/'"/>

Description

Sets the path, probably relative to the directory where the HTML +files are created, to the callout graphics. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/callout.list.table.html b/rosdocs/xsl/doc/html/callout.list.table.html new file mode 100644 index 0000000..3d24d18 --- /dev/null +++ b/rosdocs/xsl/doc/html/callout.list.table.html @@ -0,0 +1,9 @@ + + + callout.list.table

Name

callout.list.table — Present callout lists using a table?

Synopsis

§10: §157

  1| <xsl:param name="callout.list.table"
+  2|            select="'1'"/>

Description

The default presentation of CalloutLists uses +an HTML DL. Some browsers don't align DLs very well +if callout.graphics are used. With this option +turned on, CalloutLists are presented in an HTML +TABLE, which usually results in better alignment +of the callout number with the callout description.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/callout.unicode.html b/rosdocs/xsl/doc/html/callout.unicode.html new file mode 100644 index 0000000..56dc7ee --- /dev/null +++ b/rosdocs/xsl/doc/html/callout.unicode.html @@ -0,0 +1,5 @@ + + + callout.unicode

Name

callout.unicode — Use Unicode characters rather than images for callouts.

Synopsis

§13: §157

  1| <xsl:param name="callout.unicode"
+  2|            select="0"/>

Description

The stylesheets can use either an image of the numbers one to ten, or the single Unicode character which represents the numeral, in white on a black background. Use this to select the Unicode character option. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/callout.unicode.number.limit.html b/rosdocs/xsl/doc/html/callout.unicode.number.limit.html new file mode 100644 index 0000000..73329a9 --- /dev/null +++ b/rosdocs/xsl/doc/html/callout.unicode.number.limit.html @@ -0,0 +1,12 @@ + + + callout.unicode.number.limit

Name

callout.unicode.number.limit — Number of the largest callout graphic

Synopsis

§11: §157

  1| <xsl:param name="callout.unicode.number.limit"
+  2|            select="'10'"/>

Description

If callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.number.limit +is +the largest number for which a unicode character exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/callout.unicode.start.character.html b/rosdocs/xsl/doc/html/callout.unicode.start.character.html new file mode 100644 index 0000000..038d439 --- /dev/null +++ b/rosdocs/xsl/doc/html/callout.unicode.start.character.html @@ -0,0 +1,10 @@ + + + callout.unicode.start.character

Name

callout.unicode.start.character — First Unicode character to use, decimal value.

Synopsis

§12: §157

  1| <xsl:param name="callout.unicode.start.character"
+  2|            select="10102"/>

Description

If callout.graphics is zero and callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.start.character +is the decimal unicode value used for callout number one. Currently, +only 10102 is supported in the stylesheets for this parameter. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/callouts.extension.html b/rosdocs/xsl/doc/html/callouts.extension.html new file mode 100644 index 0000000..56938ae --- /dev/null +++ b/rosdocs/xsl/doc/html/callouts.extension.html @@ -0,0 +1,7 @@ + + + callouts.extension

Name

callouts.extension — Enable the callout extension

Synopsis

§14: §157

  1| <xsl:param name="callouts.extension"
+  2|            select="'1'"/>

Description

The callouts extension processes areaset +elements in ProgramListingCO and other text-based +callout elements. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/chapter.autolabel.html b/rosdocs/xsl/doc/html/chapter.autolabel.html new file mode 100644 index 0000000..797f76e --- /dev/null +++ b/rosdocs/xsl/doc/html/chapter.autolabel.html @@ -0,0 +1,5 @@ + + + chapter.autolabel

Name

chapter.autolabel — Are chapters automatically enumerated?

Synopsis

§35: §157

  1| <xsl:param name="chapter.autolabel"
+  2|            select="1"/>

Description

If true (non-zero), unlabeled chapters will be enumerated. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/chunk.datafile.html b/rosdocs/xsl/doc/html/chunk.datafile.html new file mode 100644 index 0000000..c42ee53 --- /dev/null +++ b/rosdocs/xsl/doc/html/chunk.datafile.html @@ -0,0 +1,7 @@ + + + chunk.datafile

Name

chunk.datafile — Name of the temporary file used to hold chunking data

Synopsis

§123: §157

  1| <xsl:param name="chunk.datafile"
+  2|            select="'.chunks'"/>

Description

Chunking is now a two-step process. The +chunk.datafile is the name of the file used to +hold the chunking data. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/chunk.first.sections.html b/rosdocs/xsl/doc/html/chunk.first.sections.html new file mode 100644 index 0000000..59e4a2d --- /dev/null +++ b/rosdocs/xsl/doc/html/chunk.first.sections.html @@ -0,0 +1,8 @@ + + + chunk.first.sections

Name

chunk.first.sections — Chunk the first top-level section?

Synopsis

§118: §157

  1| <xsl:param name="chunk.first.sections"
+  2|            select="0"/>

Description

If non-zero, a chunk will be created for the first top-level +sect1 or section elements in +each component. Otherwise, that section will be part of the chunk for +its parent. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/chunk.quietly.html b/rosdocs/xsl/doc/html/chunk.quietly.html new file mode 100644 index 0000000..3bf2099 --- /dev/null +++ b/rosdocs/xsl/doc/html/chunk.quietly.html @@ -0,0 +1,7 @@ + + + chunk.quietly

Name

chunk.quietly — Omit the chunked filename messages.

Synopsis

§119: §157

  1| <xsl:param name="chunk.quietly"
+  2|            select="0"/>

Description

If zero (the default), the XSL processor emits a message naming +each separate chunk filename as it is being output. +If nonzero, then the messages are suppressed. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/chunk.section.depth.html b/rosdocs/xsl/doc/html/chunk.section.depth.html new file mode 100644 index 0000000..3d32b9c --- /dev/null +++ b/rosdocs/xsl/doc/html/chunk.section.depth.html @@ -0,0 +1,4 @@ + + + chunk.section.depth

Name

chunk.section.depth — Depth to which sections should be chunked

Synopsis

§117: §157

  1| <xsl:param name="chunk.section.depth"
+  2|            select="1"/>

Description

This parameter sets the depth of section chunking.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/chunk.toc.html b/rosdocs/xsl/doc/html/chunk.toc.html new file mode 100644 index 0000000..8bf6ebf --- /dev/null +++ b/rosdocs/xsl/doc/html/chunk.toc.html @@ -0,0 +1,7 @@ + + + chunk.toc

Name

chunk.toc — An explicit TOC to be used for chunking

Synopsis

§116: §157

  1| <xsl:param name="chunk.toc"
+  2|            select="''"/>

Description

The chunk.toc identifies an explicit TOC that +will be used for chunking. This parameter is only used by the +chunktoc.xsl stylesheet (and customization layers built +from it).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/citerefentry.link.html b/rosdocs/xsl/doc/html/citerefentry.link.html new file mode 100644 index 0000000..11d8bbe --- /dev/null +++ b/rosdocs/xsl/doc/html/citerefentry.link.html @@ -0,0 +1,7 @@ + + + citerefentry.link

Name

citerefentry.link — Generate URL links when cross-referencing RefEntrys?

Synopsis

§70: §157

  1| <xsl:param name="citerefentry.link"
+  2|            select="'0'"/>

Description

If true, a web link will be generated, presumably +to an online man->HTML gateway. The text of the link is +generated by the generate.citerefentry.link template. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/css.decoration.html b/rosdocs/xsl/doc/html/css.decoration.html new file mode 100644 index 0000000..8aef02e --- /dev/null +++ b/rosdocs/xsl/doc/html/css.decoration.html @@ -0,0 +1,9 @@ + + + css.decoration

Name

css.decoration — Enable CSS decoration of elements

Synopsis

§47: §157

  1| <xsl:param name="css.decoration">1</xsl:param>

Description

+If css.decoration is turned on, then HTML elements +produced by the +stylesheet may be decorated with STYLE attributes. For example, the +LI tags produced for list items may include a fragment of CSS in the +STYLE attribute which sets the CSS property "list-style-type". +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/default.encoding.html b/rosdocs/xsl/doc/html/default.encoding.html new file mode 100644 index 0000000..1fa12db --- /dev/null +++ b/rosdocs/xsl/doc/html/default.encoding.html @@ -0,0 +1,6 @@ + + + default.encoding

Name

default.encoding — Encoding used in generated HTML pages

Synopsis

§121: §157

  1| <xsl:param name="default.encoding"
+  2|            select="'ISO-8859-1'"/>

Description

This encoding is used in files generated by chunking stylesheet. Currently +only Saxon is able to change output encoding. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/default.table.width.html b/rosdocs/xsl/doc/html/default.table.width.html new file mode 100644 index 0000000..0c50a9f --- /dev/null +++ b/rosdocs/xsl/doc/html/default.table.width.html @@ -0,0 +1,6 @@ + + + default.table.width

Name

default.table.width — The default width of tables

Synopsis

§72: §157

  1| <xsl:param name="default.table.width"
+  2|            select="''"/>

Description

If specified, this value will be used for the WIDTH attribute on +tables that do not specify an alternate width (with the dbhtml processing +instruction).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/draft.watermark.image.html b/rosdocs/xsl/doc/html/draft.watermark.image.html new file mode 100644 index 0000000..e5298f5 --- /dev/null +++ b/rosdocs/xsl/doc/html/draft.watermark.image.html @@ -0,0 +1,4 @@ + + + draft.watermark.image

Name

draft.watermark.image — The URI of the image to be used for draft watermarks

Synopsis

§55: §157

  1| <xsl:param name="draft.watermark.image"
+  2|            select="'http://docbook.sourceforge.net/release/images/draft.png'"/>

Description

The image to be used for draft watermarks.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/ebnf.table.bgcolor.html b/rosdocs/xsl/doc/html/ebnf.table.bgcolor.html new file mode 100644 index 0000000..ec4c424 --- /dev/null +++ b/rosdocs/xsl/doc/html/ebnf.table.bgcolor.html @@ -0,0 +1,7 @@ + + + ebnf.table.bgcolor

Name

ebnf.table.bgcolor — Background color for EBNF tables

Synopsis

§15: §157

  1| <xsl:param name="ebnf.table.bgcolor"
+  2|            select="'#F5DCB3'"/>

Description

Sets the background color for EBNF tables. No bgcolor +attribute is output if ebnf.table.bgcolor is set to +the null string. The default value matches the value used in recent +online versions of the W3C's XML Spec productions.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/ebnf.table.border.html b/rosdocs/xsl/doc/html/ebnf.table.border.html new file mode 100644 index 0000000..f7e7036 --- /dev/null +++ b/rosdocs/xsl/doc/html/ebnf.table.border.html @@ -0,0 +1,5 @@ + + + ebnf.table.border

Name

ebnf.table.border — Selects border on EBNF tables

Synopsis

§16: §157

  1| <xsl:param name="ebnf.table.border"
+  2|            select="1"/>

Description

Selects the border on EBNF tables. If non-zero, the tables have +borders, otherwise they don't.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/emphasis.propagates.style.html b/rosdocs/xsl/doc/html/emphasis.propagates.style.html new file mode 100644 index 0000000..e7537e9 --- /dev/null +++ b/rosdocs/xsl/doc/html/emphasis.propagates.style.html @@ -0,0 +1,6 @@ + + + emphasis.propagates.style

Name

emphasis.propagates.style — Pass emphasis role attribute through to HTML?

Synopsis

§49: §157

  1| <xsl:param name="emphasis.propagates.style"
+  2|            select="1"/>

Description

If true, the role attribute of emphasis elements +will be passed through to the HTML as a class attribute on a +span that surrounds the emphasis.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/firstterm.only.link.html b/rosdocs/xsl/doc/html/firstterm.only.link.html new file mode 100644 index 0000000..6ee6d29 --- /dev/null +++ b/rosdocs/xsl/doc/html/firstterm.only.link.html @@ -0,0 +1,6 @@ + + + firstterm.only.link

Name

firstterm.only.link — Does automatic glossterm linking only apply to firstterms?

Synopsis

§90: §157

  1| <xsl:param name="firstterm.only.link"
+  2|            select="0"/>

Description

If true, only firstterms will be automatically linked +to the glossary. If glossary linking is not enabled, this parameter +has no effect.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/formal.procedures.html b/rosdocs/xsl/doc/html/formal.procedures.html new file mode 100644 index 0000000..798909b --- /dev/null +++ b/rosdocs/xsl/doc/html/formal.procedures.html @@ -0,0 +1,5 @@ + + + formal.procedures

Name

formal.procedures — Selects formal or informal procedures

Synopsis

§93: §157

  1| <xsl:param name="formal.procedures"
+  2|            select="1"/>

Description

Formal procedures are numbered and always have a title. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/formal.title.placement.html b/rosdocs/xsl/doc/html/formal.title.placement.html new file mode 100644 index 0000000..7f5c9d2 --- /dev/null +++ b/rosdocs/xsl/doc/html/formal.title.placement.html @@ -0,0 +1,16 @@ + + + formal.title.placement

Name

formal.title.placement —

Synopsis

§94: §157

  1| <xsl:param name="formal.title.placement">
+   | figure before
+   | example before
+   | equation before
+  5| table before
+   | procedure before
+   | </xsl:param>

Description

Specifies where formal object titles should occur. For each formal object +type (figure, +example, +equation, +table, and procedure) +you can specify either the keyword +“before” or +“after”.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/funcsynopsis.decoration.html b/rosdocs/xsl/doc/html/funcsynopsis.decoration.html new file mode 100644 index 0000000..22c54cf --- /dev/null +++ b/rosdocs/xsl/doc/html/funcsynopsis.decoration.html @@ -0,0 +1,7 @@ + + + funcsynopsis.decoration

Name

funcsynopsis.decoration — Decorate elements of a FuncSynopsis?

Synopsis

§64: §157

  1| <xsl:param name="funcsynopsis.decoration"
+  2|            select="1"/>

Description

If true (non-zero), elements of the FuncSynopsis will be decorated (e.g. bold or +italic). The decoration is controlled by functions that can be redefined +in a customization layer. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/funcsynopsis.style.html b/rosdocs/xsl/doc/html/funcsynopsis.style.html new file mode 100644 index 0000000..bfd1373 --- /dev/null +++ b/rosdocs/xsl/doc/html/funcsynopsis.style.html @@ -0,0 +1,7 @@ + + + funcsynopsis.style

Name

funcsynopsis.style — What style of 'FuncSynopsis' should be generated?

Synopsis

§65: §157

  1| <xsl:param name="funcsynopsis.style">kr</xsl:param>

Description

If funcsynopsis.style is ansi, +ANSI-style function synopses are generated for a +funcsynopsis, otherwise K&R-style +function synopses are generated. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/function.parens.html b/rosdocs/xsl/doc/html/function.parens.html new file mode 100644 index 0000000..380cbb9 --- /dev/null +++ b/rosdocs/xsl/doc/html/function.parens.html @@ -0,0 +1,6 @@ + + + function.parens

Name

function.parens — Generate parens after a function?

Synopsis

§66: §157

  1| <xsl:param name="function.parens">0</xsl:param>

Description

If not 0, the formatting of +a <function> element will include +generated parenthesis. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/generate.appendix.toc.html b/rosdocs/xsl/doc/html/generate.appendix.toc.html new file mode 100644 index 0000000..76397b4 --- /dev/null +++ b/rosdocs/xsl/doc/html/generate.appendix.toc.html @@ -0,0 +1,4 @@ + + + generate.appendix.toc

Name

generate.appendix.toc — Specify if a table of contents is required for an appendix

Synopsis

§19: §165

  1| <xsl:param name="generate.appendix.toc"
+  2|            select="1"/>

Description

Specify whether you want a table of contents in each appendix.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/generate.article.toc.html b/rosdocs/xsl/doc/html/generate.article.toc.html new file mode 100644 index 0000000..eca4b24 --- /dev/null +++ b/rosdocs/xsl/doc/html/generate.article.toc.html @@ -0,0 +1,4 @@ + + + generate.article.toc

Name

generate.article.toc — Specify if a toc is wanted for an article.

Synopsis

§20: §165

  1| <xsl:param name="generate.article.toc"
+  2|            select="1"/>

Description

Specify whether a table of contents is required for an article.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/generate.book.toc.html b/rosdocs/xsl/doc/html/generate.book.toc.html new file mode 100644 index 0000000..d347200 --- /dev/null +++ b/rosdocs/xsl/doc/html/generate.book.toc.html @@ -0,0 +1,4 @@ + + + generate.book.toc

Name

generate.book.toc — Do you want a table of contents in the book?

Synopsis

§21: §165

  1| <xsl:param name="generate.book.toc"
+  2|            select="1"/>

Description

Specify if a table of contents is required in the book.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/generate.chapter.toc.html b/rosdocs/xsl/doc/html/generate.chapter.toc.html new file mode 100644 index 0000000..0703839 --- /dev/null +++ b/rosdocs/xsl/doc/html/generate.chapter.toc.html @@ -0,0 +1,4 @@ + + + generate.chapter.toc

Name

generate.chapter.toc — Do you want a table of contents for chapters?

Synopsis

§22: §165

  1| <xsl:param name="generate.chapter.toc"
+  2|            select="1"/>

Description

Specify if a table of contents should be generated for each chapter.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/generate.component.toc.html b/rosdocs/xsl/doc/html/generate.component.toc.html new file mode 100644 index 0000000..7867482 --- /dev/null +++ b/rosdocs/xsl/doc/html/generate.component.toc.html @@ -0,0 +1,5 @@ + + + generate.component.toc

Name

generate.component.toc — Should TOCs be genereated in components (Chapters, Appendixes, etc.)?

Synopsis

§23: §165

  1| <xsl:param name="generate.component.toc"
+  2|            select="1"/>

Description

If true (non-zero), they are. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/generate.division.toc.html b/rosdocs/xsl/doc/html/generate.division.toc.html new file mode 100644 index 0000000..7c5799e --- /dev/null +++ b/rosdocs/xsl/doc/html/generate.division.toc.html @@ -0,0 +1,5 @@ + + + generate.division.toc

Name

generate.division.toc — Should TOCs be genereated in divisions (Books, Parts, etc.)?

Synopsis

§24: §165

  1| <xsl:param name="generate.division.toc"
+  2|            select="1"/>

Description

If true (non-zero), they are. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/generate.id.attributes.html b/rosdocs/xsl/doc/html/generate.id.attributes.html new file mode 100644 index 0000000..3a8f6c8 --- /dev/null +++ b/rosdocs/xsl/doc/html/generate.id.attributes.html @@ -0,0 +1,20 @@ + + + generate.id.attributes

Name

generate.id.attributes —

Synopsis

§56: §157

  1| <xsl:param name="generate.id.attributes"
+  2|            select="0"/>

Description

If non-zero, the HTML stylesheet will generate ID attributes on +containers. For example, the markup:

<section id="foo"><title>Some Title</title>
+<para>Some para.</para>
+</section>

might produce:

<div class="section" id="foo">
+<h2>Some Title</h2>
+<p>Some para.</p>
+</div>

The alternative is to generate anchors:

<div class="section">
+<h2><a name="foo"></a>Some Title</h2>
+<p>Some para.</p>
+</div>

Because the name attribute of +the a element and the id +attribute of other tags are both of type “ID”, producing both +generates invalid documents.

As of version 1.50, you can use this switch to control which type of +identifier is generated. For backwards-compatibility, generating +a anchors is preferred.

Note: at present, this switch is incompletely implemented. +Disabling ID attributes will suppress them, but enabling ID attributes +will not suppress the anchors.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/generate.index.html b/rosdocs/xsl/doc/html/generate.index.html new file mode 100644 index 0000000..7cb535b --- /dev/null +++ b/rosdocs/xsl/doc/html/generate.index.html @@ -0,0 +1,4 @@ + + + generate.index

Name

generate.index — Do you want an index?

Synopsis

§27: §157

  1| <xsl:param name="generate.index"
+  2|            select="1"/>

Description

Specify if an index should be generated.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/generate.legalnotice.link.html b/rosdocs/xsl/doc/html/generate.legalnotice.link.html new file mode 100644 index 0000000..9e2d922 --- /dev/null +++ b/rosdocs/xsl/doc/html/generate.legalnotice.link.html @@ -0,0 +1,4 @@ + + + generate.legalnotice.link

Name

generate.legalnotice.link — TBD

Synopsis

§63: §157

  1| <xsl:param name="generate.legalnotice.link"
+  2|            select="0"/>

Description

TBD

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/generate.manifest.html b/rosdocs/xsl/doc/html/generate.manifest.html new file mode 100644 index 0000000..e2c1d97 --- /dev/null +++ b/rosdocs/xsl/doc/html/generate.manifest.html @@ -0,0 +1,6 @@ + + + generate.manifest

Name

generate.manifest — Generate a manifest file?

Synopsis

§114: §157

  1| <xsl:param name="generate.manifest"
+  2|            select="0"/>

Description

If non-zero, a list of HTML files generated by the + stylesheet transformation is written to the file named by + the manifest parameter.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/generate.part.toc.html b/rosdocs/xsl/doc/html/generate.part.toc.html new file mode 100644 index 0000000..2b340d9 --- /dev/null +++ b/rosdocs/xsl/doc/html/generate.part.toc.html @@ -0,0 +1,5 @@ + + + generate.part.toc

Name

generate.part.toc — Do you want an index for each part?

Synopsis

§25: §165

  1| <xsl:param name="generate.part.toc"
+  2|            select="1"/>

Description

Specify if an index should be generated for each part. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/generate.preface.toc.html b/rosdocs/xsl/doc/html/generate.preface.toc.html new file mode 100644 index 0000000..69fab4c --- /dev/null +++ b/rosdocs/xsl/doc/html/generate.preface.toc.html @@ -0,0 +1,4 @@ + + + generate.preface.toc

Name

generate.preface.toc — Do you want a table of contents for the preface?

Synopsis

§26: §165

  1| <xsl:param name="generate.preface.toc"
+  2|            select="1"/>

Description

Specify if a table of contents should be generated for the preface

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/generate.qandadiv.toc.html b/rosdocs/xsl/doc/html/generate.qandadiv.toc.html new file mode 100644 index 0000000..9ef425d --- /dev/null +++ b/rosdocs/xsl/doc/html/generate.qandadiv.toc.html @@ -0,0 +1,4 @@ + + + generate.qandadiv.toc

Name

generate.qandadiv.toc — Is a Table of Contents created for QandADivs?

Synopsis

§27: §165

  1| <xsl:param name="generate.qandadiv.toc">0</xsl:param>

Description

If true (non-zero), a ToC is constructed for QandADivs. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/generate.qandaset.toc.html b/rosdocs/xsl/doc/html/generate.qandaset.toc.html new file mode 100644 index 0000000..64f3317 --- /dev/null +++ b/rosdocs/xsl/doc/html/generate.qandaset.toc.html @@ -0,0 +1,4 @@ + + + generate.qandaset.toc

Name

generate.qandaset.toc — Is a Table of Contents created for QandASets?

Synopsis

§28: §165

  1| <xsl:param name="generate.qandaset.toc">1</xsl:param>

Description

If true (non-zero), a ToC is constructed for QandASets. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/generate.reference.toc.html b/rosdocs/xsl/doc/html/generate.reference.toc.html new file mode 100644 index 0000000..39c38cf --- /dev/null +++ b/rosdocs/xsl/doc/html/generate.reference.toc.html @@ -0,0 +1,6 @@ + + + generate.reference.toc

Name

generate.reference.toc — Do you want a list of references?

Synopsis

§29: §165

  1| <xsl:param name="generate.reference.toc"
+  2|            select="1"/>

Description

Specify if a list of references should be generated, similar to +a table of contents, but for all reference elements. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/generate.section.toc.html b/rosdocs/xsl/doc/html/generate.section.toc.html new file mode 100644 index 0000000..7d0b227 --- /dev/null +++ b/rosdocs/xsl/doc/html/generate.section.toc.html @@ -0,0 +1,8 @@ + + + generate.section.toc

Name

generate.section.toc — Generate TOCs inside Sections?

Synopsis

§30: §165

  1| <xsl:param name="generate.section.toc"
+  2|            select="1"/>

Description

If non-zero, a Table of Contents will be generated inside section +elements. Note that +generate.section.toc.level +may suppress some section TOCs. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/generate.section.toc.level.html b/rosdocs/xsl/doc/html/generate.section.toc.level.html new file mode 100644 index 0000000..a2ca0db --- /dev/null +++ b/rosdocs/xsl/doc/html/generate.section.toc.level.html @@ -0,0 +1,11 @@ + + + generate.section.toc.level

Name

generate.section.toc.level — Control depth of TOC generation in sections

Synopsis

§26: §157

  1| <xsl:param name="generate.section.toc.level"
+  2|            select="0"/>

Description

The generate.section.toc.level parameter +controls the depth of section in which TOCs will be generated. Note +that this is related to, but not the same as +toc.section.depth, which controls the depth to +which TOC entries will be generated in a given TOC.

If, for example, generate.section.toc.level +is 3, TOCs will be generated in first, second, and third +level sections, but not in fourth level sections. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/generate.set.toc.html b/rosdocs/xsl/doc/html/generate.set.toc.html new file mode 100644 index 0000000..5254fee --- /dev/null +++ b/rosdocs/xsl/doc/html/generate.set.toc.html @@ -0,0 +1,4 @@ + + + generate.set.toc

Name

generate.set.toc — Do you want a table of contents in each set?

Synopsis

§31: §165

  1| <xsl:param name="generate.set.toc"
+  2|            select="1"/>

Description

Specify if a table of contents is required in each set.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/generate.toc.html b/rosdocs/xsl/doc/html/generate.toc.html new file mode 100644 index 0000000..21cb85c --- /dev/null +++ b/rosdocs/xsl/doc/html/generate.toc.html @@ -0,0 +1,33 @@ + + + generate.toc

Name

generate.toc — Control generation of ToCs and LoTs

Synopsis

§25: §157

  1| <xsl:param name="generate.toc">
+   | appendix  toc
+   | article   toc
+   | book      toc,figure,table,example,equation
+  5| chapter   toc
+   | part      toc
+   | preface   toc
+   | qandadiv  toc
+   | qandaset  toc
+ 10| reference toc
+   | section   toc
+   | set       toc
+   | </xsl:param>
+   | 

Description

This parameter has a structured value. It is a table of space-delimited +path/value pairs. Each path identifies some element in the source document +using a restricted subset of XPath (only the implicit child axis, no wildcards, +no predicates). Paths can be either relative or absolute.

When processing a particular element, the stylesheets consult this table to +determine if a ToC (or LoT(s)) should be generated.

For example, consider the entry:

book toc,figure

This indicates that whenever a book is formatted, a +Table Of Contents and a List of Figures should be generated. Similarly,

/chapter toc

indicates that whenever a document that has a root +of chapter is formatted, a Table of +Contents should be generated. The entry chapter would match +all chapters, but /chapter matches only chapter +document elements.

Generally, the longest match wins. So, for example, if you want to distinguish +articles in books from articles in parts, you could use these two entries:

book/article toc,figure
+part/article toc

Note that an article in a part can never match a book/article, +so if you want nothing to be generated for articles in parts, you can simply leave +that rule out.

If you want to leave the rule in, to make it explicit that you're turning +something off, use the value “nop”. For example, the following +entry disables ToCs and LoTs for articles:

article nop

Do not simply leave the word “article” in the file +without a matching value. That'd be just begging the silly little +path/value parser to get confused.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/glossary.collection.html b/rosdocs/xsl/doc/html/glossary.collection.html new file mode 100644 index 0000000..6b8d0d1 --- /dev/null +++ b/rosdocs/xsl/doc/html/glossary.collection.html @@ -0,0 +1,117 @@ + + + glossary.collection

Name

glossary.collection — Name of the glossary collection file

Synopsis

§91: §157

  1| <xsl:param name="glossary.collection"
+  2|            select="''"/>

Description

Glossaries maintained independently across a set of documents +are likely to become inconsistent unless considerable effort is +expended to keep them in sync. It makes much more sense, usually, to +store all of the glossary entries in a single place and simply +“extract” the ones you need in each document.

That's the purpose of the +glossary.collection parameter. To setup a global +glossary “database”, follow these steps:

Setting Up the Glossary Database

First, create a stand-alone glossary document that contains all of +the entries that you wish to reference. Make sure that each glossary +entry has an ID.

Here's an example glossary:

+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE glossary
+  PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<glossary>
+<glossaryinfo>
+<editor><firstname>Eric</firstname><surname>Raymond</surname></editor>
+<title>Jargon File 4.2.3 (abridged)</title>
+<releaseinfo>Just some test data</releaseinfo>
+</glossaryinfo>
+
+<glossdiv><title>0</title>
+
+<glossentry>
+<glossterm>0</glossterm>
+<glossdef>
+<para>Numeric zero, as opposed to the letter `O' (the 15th letter of
+the English alphabet). In their unmodified forms they look a lot
+alike, and various kluges invented to make them visually distinct have
+compounded the confusion. If your zero is center-dotted and letter-O
+is not, or if letter-O looks almost rectangular but zero looks more
+like an American football stood on end (or the reverse), you're
+probably looking at a modern character display (though the dotted zero
+seems to have originated as an option on IBM 3270 controllers). If
+your zero is slashed but letter-O is not, you're probably looking at
+an old-style ASCII graphic set descended from the default typewheel on
+the venerable ASR-33 Teletype (Scandinavians, for whom /O is a letter,
+curse this arrangement). (Interestingly, the slashed zero long
+predates computers; Florian Cajori's monumental "A History of
+Mathematical Notations" notes that it was used in the twelfth and
+thirteenth centuries.) If letter-O has a slash across it and the zero
+does not, your display is tuned for a very old convention used at IBM
+and a few other early mainframe makers (Scandinavians curse <emphasis>this</emphasis>
+arrangement even more, because it means two of their letters collide).
+Some Burroughs/Unisys equipment displays a zero with a <emphasis>reversed</emphasis>
+slash. Old CDC computers rendered letter O as an unbroken oval and 0
+as an oval broken at upper right and lower left. And yet another
+convention common on early line printers left zero unornamented but
+added a tail or hook to the letter-O so that it resembled an inverted
+Q or cursive capital letter-O (this was endorsed by a draft ANSI
+standard for how to draw ASCII characters, but the final standard
+changed the distinguisher to a tick-mark in the upper-left corner).
+Are we sufficiently confused yet?</para>
+</glossdef>
+</glossentry>
+
+<glossentry>
+<glossterm>1TBS</glossterm>
+<glossdef>
+<para role="accidence">
+<phrase role="pronounce"></phrase>
+<phrase role="partsofspeach">n</phrase>
+</para>
+<para>The "One True Brace Style"</para>
+<glossseealso>indent style</glossseealso>
+</glossdef>
+</glossentry>
+
+<!-- ... -->
+
+</glossdiv>
+
+<!-- ... -->
+
+</glossary>

Marking Up Glossary Terms

That takes care of the glossary database, now you have to get the entries +into your document. Unlike bibliography entries, which can be empty, creating +“placeholder” glossary entries would be very tedious. So instead, +support for glossary.collection relies on implicit linking.

In your source document, simply use firstterm and +glossterm to identify the terms you wish to have included +in the glossary. The stylesheets assume that you will either set the +baseform attribute correctly, or that the +content of the element exactly matches a term in your glossary.

If you're using a glossary.collection, don't +make explicit links on the terms in your document.

So, in your document, you might write things like this:

<para>This is dummy text, without any real meaning.
+The point is simply to reference glossary terms like <glossterm>0</glossterm>
+and the <firstterm baseform="1TBS">One True Brace Style (1TBS)</firstterm>.
+The <glossterm>1TBS</glossterm>, as you can probably imagine, is a nearly
+religious issue.</para>

If you set the firstterm.only.link parameter, +only the terms marked with firstterm will be links. +Otherwise, all the terms will be linked.

Marking Up the Glossary

The glossary itself has to be identified for the stylesheets. For lack +of a better choice, the role is used. +To identify the glossary as the target for automatic processing, set +the role to “auto”. The title of this +glossary (and any other information from the glossaryinfo +that's rendered by your stylesheet) will be displayed, but the entries will +come from the database. +

Unfortunately, the glossary can't be empty, so you must put in +at least one glossentry. The content of this entry +is irrelevant, it will not be rendered:

<glossary role="auto">
+<glossentry>
+<glossterm>Irrelevant</glossterm>
+<glossdef>
+<para>If you can see this, the document was processed incorrectly. Use
+the <parameter>glossary.collection</parameter> parameter.</para>
+</glossdef>
+</glossentry>
+</glossary>

What about glossary divisions? If your glossary database has glossary +divisions and your automatic glossary contains at least +one glossdiv, the automic glossary will have divisions. +If the glossdiv is missing from either location, no divisions +will be rendered.

Glossary entries (and divisions, if appropriate) in the glossary will +occur in precisely the order they occur in your database.

Formatting the Document

Finally, when you are ready to format your document, simply set the +glossary.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global glossary.

The stylesheets will format the glossary in your document as if +all of the entries implicilty referenced appeared there literally.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/glossterm.auto.link.html b/rosdocs/xsl/doc/html/glossterm.auto.link.html new file mode 100644 index 0000000..9c6af55 --- /dev/null +++ b/rosdocs/xsl/doc/html/glossterm.auto.link.html @@ -0,0 +1,9 @@ + + + glossterm.auto.link

Name

glossterm.auto.link — Generate links from glossterm to glossentry automaticaly?

Synopsis

§89: §157

  1| <xsl:param name="glossterm.auto.link"
+  2|            select="'0'"/>

Description

If true, a link will be automatically created from glossterm +to glossentry for that glossary term. This is usefull when your +glossterm names are consistent and you don't want to add links +manually.

If there is linkend on +glossterm then is used instead of autogeneration of +link.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/graphic.default.extension.html b/rosdocs/xsl/doc/html/graphic.default.extension.html new file mode 100644 index 0000000..261f1a2 --- /dev/null +++ b/rosdocs/xsl/doc/html/graphic.default.extension.html @@ -0,0 +1,7 @@ + + + graphic.default.extension

Name

graphic.default.extension — Default extension for graphic filenames

Synopsis

§92: §157

  1| <xsl:param name="graphic.default.extension"/>

Description

If a graphic or mediaobject +includes a reference to a filename that does not include an extension, +and the format attribute is +unspecified, the default extension will be used. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/html.base.html b/rosdocs/xsl/doc/html/html.base.html new file mode 100644 index 0000000..7f6c5ca --- /dev/null +++ b/rosdocs/xsl/doc/html/html.base.html @@ -0,0 +1,6 @@ + + + html.base

Name

html.base — An HTML base URI

Synopsis

§43: §157

  1| <xsl:param name="html.base"/>

Description

If html.base is set, it is used for the BASE +element in the HEAD of the HTML documents. +This is useful for dynamically served HTML where the base URI needs +to be shifted.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/html.cleanup.html b/rosdocs/xsl/doc/html/html.cleanup.html new file mode 100644 index 0000000..24c9af3 --- /dev/null +++ b/rosdocs/xsl/doc/html/html.cleanup.html @@ -0,0 +1,9 @@ + + + html.cleanup

Name

html.cleanup — Attempt to clean up the resulting HTML?

Synopsis

§54: §157

  1| <xsl:param name="html.cleanup"
+  2|            select="1"/>

Description

If non-zero, and if the EXSLT +extensions are supported by your processor, the resulting HTML will be +“cleaned up”. This improves the chances that the +resulting HTML will be valid. It may also improve the formatting of +some elements.

This parameter is different from make.valid.html +because it uses extension functions to manipulate result-tree-fragments.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/html.ext.html b/rosdocs/xsl/doc/html/html.ext.html new file mode 100644 index 0000000..fe6dbe4 --- /dev/null +++ b/rosdocs/xsl/doc/html/html.ext.html @@ -0,0 +1,6 @@ + + + html.ext

Name

html.ext — Identifies the extension of generated HTML files

Synopsis

§110: §157

  1| <xsl:param name="html.ext"
+  2|            select="'.html'"/>

Description

The extension identified by html.ext will +be used as the filename extension for chunks created by this stylesheet. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/html.extra.head.links.html b/rosdocs/xsl/doc/html/html.extra.head.links.html new file mode 100644 index 0000000..4e2fce8 --- /dev/null +++ b/rosdocs/xsl/doc/html/html.extra.head.links.html @@ -0,0 +1,8 @@ + + + html.extra.head.links

Name

html.extra.head.links — Toggle extra HTML head link information

Synopsis

§111: §157

  1| <xsl:param name="html.extra.head.links"
+  2|            select="1"/>

Description

If non-zero, extra link elements will be +generated in the head of chunked HTML files. These +extra links point to chapters, appendixes, sections, etc. as supported +by the “Site Navigation Bar” in Mozilla 1.0 (as of CR1, at least). +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/html.longdesc.html b/rosdocs/xsl/doc/html/html.longdesc.html new file mode 100644 index 0000000..1135188 --- /dev/null +++ b/rosdocs/xsl/doc/html/html.longdesc.html @@ -0,0 +1,9 @@ + + + html.longdesc

Name

html.longdesc — Should longdesc URIs be created?

Synopsis

§51: §157

  1| <xsl:param name="html.longdesc"
+  2|            select="1"/>

Description

If non-zero, HTML files will be created for the +longdesc attribute. These files +are created from the textobjects in +mediaobjects and +inlinemediaobject. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/html.longdesc.link.html b/rosdocs/xsl/doc/html/html.longdesc.link.html new file mode 100644 index 0000000..4a25ff8 --- /dev/null +++ b/rosdocs/xsl/doc/html/html.longdesc.link.html @@ -0,0 +1,9 @@ + + + html.longdesc.link

Name

html.longdesc.link — Should a link to the longdesc be included in the HTML?

Synopsis

§52: §157

  1| <xsl:param name="html.longdesc.link"
+  2|            select="$html.longdesc"/>

Description

If non-zero, links will be created to the +HTML files created for the +longdesc attribute. It makes no +sense to turn enable this option without also enabling the +$html.longdesc parameter.

The longdesc.link named template is called +to construct the link.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/html.stylesheet.html b/rosdocs/xsl/doc/html/html.stylesheet.html new file mode 100644 index 0000000..443bdcb --- /dev/null +++ b/rosdocs/xsl/doc/html/html.stylesheet.html @@ -0,0 +1,6 @@ + + + html.stylesheet

Name

html.stylesheet — Name of the stylesheet to use in the generated HTML

Synopsis

§45: §157

  1| <xsl:param name="html.stylesheet"
+  2|            select="''"/>

Description

The name of the stylesheet to place in the HTML LINK +tag, or the empty string to suppress the stylesheet LINK. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/html.stylesheet.type.html b/rosdocs/xsl/doc/html/html.stylesheet.type.html new file mode 100644 index 0000000..03b30f2 --- /dev/null +++ b/rosdocs/xsl/doc/html/html.stylesheet.type.html @@ -0,0 +1,4 @@ + + + html.stylesheet.type

Name

html.stylesheet.type — The type of the stylesheet used in the generated HTML

Synopsis

§44: §157

  1| <xsl:param name="html.stylesheet.type">text/css</xsl:param>

Description

The type of the stylesheet to place in the HTML link tag. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/htmlhelp.alias.file.html b/rosdocs/xsl/doc/html/htmlhelp.alias.file.html new file mode 100644 index 0000000..bb64a74 --- /dev/null +++ b/rosdocs/xsl/doc/html/htmlhelp.alias.file.html @@ -0,0 +1,5 @@ + + + htmlhelp.alias.file

Name

htmlhelp.alias.file — Filename of map file.

Synopsis

§152: §157

  1| <xsl:param name="htmlhelp.alias.file"
+  2|            select="'alias.h'"/>

Description

Change this parameter if you want different name of map file +than alias.h.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/htmlhelp.autolabel.html b/rosdocs/xsl/doc/html/htmlhelp.autolabel.html new file mode 100644 index 0000000..30a201c --- /dev/null +++ b/rosdocs/xsl/doc/html/htmlhelp.autolabel.html @@ -0,0 +1,5 @@ + + + htmlhelp.autolabel

Name

htmlhelp.autolabel — Should tree-like ToC use autonumbering feature?

Synopsis

§143: §157

  1| <xsl:param name="htmlhelp.autolabel"
+  2|            select="0"/>

Description

If you want to include chapter and section numbers into ToC in +the left panel, set this parameter to 1.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/htmlhelp.chm.html b/rosdocs/xsl/doc/html/htmlhelp.chm.html new file mode 100644 index 0000000..79a1786 --- /dev/null +++ b/rosdocs/xsl/doc/html/htmlhelp.chm.html @@ -0,0 +1,5 @@ + + + htmlhelp.chm

Name

htmlhelp.chm — Filename of output HTML Help file.

Synopsis

§144: §157

  1| <xsl:param name="htmlhelp.chm"
+  2|            select="'htmlhelp.chm'"/>

Description

Change this parameter if you want different name of result +CHM file than htmlhelp.chm.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/htmlhelp.default.topic.html b/rosdocs/xsl/doc/html/htmlhelp.default.topic.html new file mode 100644 index 0000000..956624c --- /dev/null +++ b/rosdocs/xsl/doc/html/htmlhelp.default.topic.html @@ -0,0 +1,9 @@ + + + htmlhelp.default.topic

Name

htmlhelp.default.topic — Name of file with default topic

Synopsis

§145: §157

  1| <xsl:param name="htmlhelp.default.topic"
+  2|            select="''"/>

Description

Normally first chunk of document is displayed when you open HTML +Help file. If you want to display another topic, simply set its +filename by this parameter.

This is useful especially if you don't generate ToC in front of +your document and you also hide root element in ToC. E.g.:

<xsl:param name="generate.book.toc" select="0"/>
+<xsl:param name="htmlhelp.hhc.show.root" select="0"/>
+<xsl:param name="htmlhelp.default.topic" select="'pr01.html'"/>
\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/htmlhelp.encoding.html b/rosdocs/xsl/doc/html/htmlhelp.encoding.html new file mode 100644 index 0000000..cb18c04 --- /dev/null +++ b/rosdocs/xsl/doc/html/htmlhelp.encoding.html @@ -0,0 +1,5 @@ + + + htmlhelp.encoding

Name

htmlhelp.encoding — Character encoding to use in files for HTML Help compiler.

Synopsis

§142: §157

  1| <xsl:param name="htmlhelp.encoding"
+  2|            select="'iso-8859-1'"/>

Description

HTML Help Compiler is not UTF-8 aware, so you should always use +apropriate single-byte encoding here.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/htmlhelp.enumerate.images.html b/rosdocs/xsl/doc/html/htmlhelp.enumerate.images.html new file mode 100644 index 0000000..af67c4d --- /dev/null +++ b/rosdocs/xsl/doc/html/htmlhelp.enumerate.images.html @@ -0,0 +1,5 @@ + + + htmlhelp.enumerate.images

Name

htmlhelp.enumerate.images — Should be paths to all used images added to project file?

Synopsis

§149: §157

  1| <xsl:param name="htmlhelp.enumerate.images"
+  2|            select="0"/>

Description

You should turn on this flag, if you insert images into your documents +as external binary entities or if you are using absolute path in image names.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/htmlhelp.force.map.and.alias.html b/rosdocs/xsl/doc/html/htmlhelp.force.map.and.alias.html new file mode 100644 index 0000000..e36ce7b --- /dev/null +++ b/rosdocs/xsl/doc/html/htmlhelp.force.map.and.alias.html @@ -0,0 +1,6 @@ + + + htmlhelp.force.map.and.alias

Name

htmlhelp.force.map.and.alias — Should be [MAP] and [ALIAS] section added to project file unconditionaly?

Synopsis

§150: §157

  1| <xsl:param name="htmlhelp.force.map.and.alias"
+  2|            select="0"/>

Description

You should turn on this flag, if you have your own +alias.h and contex.h files +and you want include reference to them in project file.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/htmlhelp.hhc.folders.instead.books.html b/rosdocs/xsl/doc/html/htmlhelp.hhc.folders.instead.books.html new file mode 100644 index 0000000..042e989 --- /dev/null +++ b/rosdocs/xsl/doc/html/htmlhelp.hhc.folders.instead.books.html @@ -0,0 +1,5 @@ + + + htmlhelp.hhc.folders.instead.books

Name

htmlhelp.hhc.folders.instead.books —

Synopsis

§155: §157

  1| <xsl:param name="htmlhelp.hhc.folders.instead.books"
+  2|            select="1"/>

Description

This parameter controls whether there should be folder-like +icons (1) or book-like icons (0) in ToC.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/htmlhelp.hhc.html b/rosdocs/xsl/doc/html/htmlhelp.hhc.html new file mode 100644 index 0000000..22bf64c --- /dev/null +++ b/rosdocs/xsl/doc/html/htmlhelp.hhc.html @@ -0,0 +1,5 @@ + + + htmlhelp.hhc

Name

htmlhelp.hhc — Filename of TOC file.

Synopsis

§147: §157

  1| <xsl:param name="htmlhelp.hhc"
+  2|            select="'toc.hhc'"/>

Description

Change this parameter if you want different name of TOC file +than toc.hhc.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/htmlhelp.hhc.section.depth.html b/rosdocs/xsl/doc/html/htmlhelp.hhc.section.depth.html new file mode 100644 index 0000000..ead3e7e --- /dev/null +++ b/rosdocs/xsl/doc/html/htmlhelp.hhc.section.depth.html @@ -0,0 +1,5 @@ + + + htmlhelp.hhc.section.depth

Name

htmlhelp.hhc.section.depth — Depth of TOC for sections in a left pane.

Synopsis

§153: §157

  1| <xsl:param name="htmlhelp.hhc.section.depth"
+  2|            select="5"/>

Description

Change this parameter if you want shallower ToC in a left pane +of HTML Help viewer.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/htmlhelp.hhc.show.root.html b/rosdocs/xsl/doc/html/htmlhelp.hhc.show.root.html new file mode 100644 index 0000000..1eaf4f9 --- /dev/null +++ b/rosdocs/xsl/doc/html/htmlhelp.hhc.show.root.html @@ -0,0 +1,6 @@ + + + htmlhelp.hhc.show.root

Name

htmlhelp.hhc.show.root — Should be entry for root element shown in ToC?

Synopsis

§154: §157

  1| <xsl:param name="htmlhelp.hhc.show.root"
+  2|            select="1"/>

Description

If set to 0, there will be no entry for root element in +ToC. This is useful when you want provide user with expanded ToC as +a default.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/htmlhelp.hhp.html b/rosdocs/xsl/doc/html/htmlhelp.hhp.html new file mode 100644 index 0000000..8a83a90 --- /dev/null +++ b/rosdocs/xsl/doc/html/htmlhelp.hhp.html @@ -0,0 +1,5 @@ + + + htmlhelp.hhp

Name

htmlhelp.hhp — Filename of project file.

Synopsis

§146: §157

  1| <xsl:param name="htmlhelp.hhp"
+  2|            select="'htmlhelp.hhp'"/>

Description

Change this parameter if you want different name of project +file than htmlhelp.hhp.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/htmlhelp.hhp.tail.html b/rosdocs/xsl/doc/html/htmlhelp.hhp.tail.html new file mode 100644 index 0000000..30b8d23 --- /dev/null +++ b/rosdocs/xsl/doc/html/htmlhelp.hhp.tail.html @@ -0,0 +1,4 @@ + + + htmlhelp.hhp.tail

Name

htmlhelp.hhp.tail — Additional content for project file.

Synopsis

§148: §157

  1| <xsl:param name="htmlhelp.hhp.tail"/>

Description

If you want to include some additional parameters into project file, +store appropriate part of project file into this parameter.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/htmlhelp.map.file.html b/rosdocs/xsl/doc/html/htmlhelp.map.file.html new file mode 100644 index 0000000..ef3d126 --- /dev/null +++ b/rosdocs/xsl/doc/html/htmlhelp.map.file.html @@ -0,0 +1,5 @@ + + + htmlhelp.map.file

Name

htmlhelp.map.file — Filename of map file.

Synopsis

§151: §157

  1| <xsl:param name="htmlhelp.map.file"
+  2|            select="'context.h'"/>

Description

Change this parameter if you want different name of map file +than context.h.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/htmlhelp.title.html b/rosdocs/xsl/doc/html/htmlhelp.title.html new file mode 100644 index 0000000..085aae1 --- /dev/null +++ b/rosdocs/xsl/doc/html/htmlhelp.title.html @@ -0,0 +1,5 @@ + + + htmlhelp.title

Name

htmlhelp.title — Title of HTML Help

Synopsis

§156: §157

  1| <xsl:param name="htmlhelp.title"
+  2|            select="''"/>

Description

Content of this parameter will be used as a title for generated +HTML Help. If empty, title will be automatically taken from document.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/index.html b/rosdocs/xsl/doc/html/index.html new file mode 100644 index 0000000..4f21c65 --- /dev/null +++ b/rosdocs/xsl/doc/html/index.html @@ -0,0 +1,20 @@ + + + HTML Parameter Reference

HTML Parameter Reference

Norman Walsh

+$Id$ +


Table of Contents

Introduction
I. Admonitions
admon.graphics.extension - Extension for admonition graphics
admon.graphics.path - Path to admonition graphics
admon.graphics - Use graphics in admonitions?
admon.style - CSS style attributes for admonitions
II. Callouts
callout.defaultcolumn - Indicates what column callouts appear in by default
callout.graphics.extension - Extension for callout graphics
callout.graphics.number.limit - Number of the largest callout graphic
callout.graphics.path - Path to callout graphics
callout.graphics - Use graphics for callouts?
callout.list.table - Present callout lists using a table?
callout.unicode.number.limit - Number of the largest callout graphic
callout.unicode.start.character - First Unicode character to use, decimal value.
callout.unicode - Use Unicode characters rather than images for callouts.
callouts.extension - Enable the callout extension
III. EBNF
ebnf.table.bgcolor - Background color for EBNF tables
ebnf.table.border - Selects border on EBNF tables
IV. ToC/LoT/Index Generation
annotate.toc - Annotate the Table of Contents?
autotoc.label.separator - Separator between labels and titles in the ToC
process.source.toc - FIXME:
process.empty.source.toc - FIXME:
bridgehead.in.toc - Should bridgehead elements appear in the TOC?
manual.toc - An explicit TOC to be used for the TOC
toc.list.type - Type of HTML list element to use for Tables of Contents
toc.section.depth - How deep should recursive sections appear +in the TOC?
generate.toc - Control generation of ToCs and LoTs
generate.section.toc.level - Control depth of TOC generation in sections
generate.index - Do you want an index?
V. Extensions
linenumbering.everyNth - Indicate which lines should be numbered
linenumbering.extension - Enable the line numbering extension
linenumbering.separator - Specify a separator between line numbers and lines
linenumbering.width - Indicates the width of line numbers
tablecolumns.extension - Enable the table columns extension function
textinsert.extension - Enable the textinsert extension element
use.extensions - Enable extensions
VI. Automatic labelling
chapter.autolabel - Are chapters automatically enumerated?
appendix.autolabel - Are Appendixes automatically enumerated?
part.autolabel - Are parts and references enumerated?
preface.autolabel - Are prefaces enumerated?
qandadiv.autolabel - Are divisions in QAndASets enumerated?
section.autolabel - Are sections enumerated?
section.label.includes.component.label - Do section labels include the component label?
label.from.part - Renumber chapters in each part?
VII. HTML
html.base - An HTML base URI
html.stylesheet.type - The type of the stylesheet used in the generated HTML
html.stylesheet - Name of the stylesheet to use in the generated HTML
use.id.as.filename - Use ID value of chunk elements as the filename?
css.decoration - Enable CSS decoration of elements
spacing.paras - Insert additional <p> elements for spacing?
emphasis.propagates.style - Pass emphasis role attribute through to HTML?
phrase.propagates.style - Pass phrase role attribute through to HTML?
html.longdesc - Should longdesc URIs be created?
html.longdesc.link - Should a link to the longdesc be included in the HTML?
make.valid.html - Attempt to make sure the HTML output is valid HTML
html.cleanup - Attempt to clean up the resulting HTML?
draft.watermark.image - The URI of the image to be used for draft watermarks
generate.id.attributes -
VIII. XSLT Processing
rootid - Specify the root element to format
suppress.navigation - Disable header and footer navigation
IX. Meta/*Info
inherit.keywords - Inherit keywords from ancestor elements?
make.single.year.ranges - Print single-year ranges (e.g., 1998-1999)
make.year.ranges - Collate copyright years into ranges?
author.othername.in.middle - Is othername in author a +middle name?
generate.legalnotice.link - TBD
X. Reference Pages
funcsynopsis.decoration - Decorate elements of a FuncSynopsis?
funcsynopsis.style - What style of 'FuncSynopsis' should be generated?
function.parens - Generate parens after a function?
refentry.generate.name - Output NAME header before 'RefName'(s)?
refentry.generate.title - Output title before 'RefName'(s)?
refentry.xref.manvolnum - Output manvolnum as part of +refentry cross-reference?
citerefentry.link - Generate URL links when cross-referencing RefEntrys?
refentry.separator - Generate a separator between consecutive RefEntry elements?
XI. Tables
default.table.width - The default width of tables
nominal.table.width - The (absolute) nominal width of tables
table.borders.with.css - Use CSS to specify table, row, and cell borders?
table.border.style -
table.border.thickness -
table.border.color -
XII. QAndASet
qanda.defaultlabel - Sets the default for defaultlabel on QandASet.
qanda.inherit.numeration - Does enumeration of QandASet components inherit the numeration of parent elements?
XIII. Linking
link.mailto.url - Mailto URL for the LINK REL=made HTML HEAD element
ulink.target - The HTML anchor target for ULinks
olink.fragid - Names the fragment identifier portion of an OLink resolver query
olink.outline.ext - The extension of OLink outline files
olink.pubid - Names the public identifier portion of an OLink resolver query
olink.sysid - Names the system identifier portion of an OLink resolver query
olink.resolver - The root name of the OLink resolver (usually a script)
XIV. Bibliography
biblioentry.item.separator - Text to separate bibliography entries
bibliography.collection - Name of the bibliography collection file
XV. Glossary
glossterm.auto.link - Generate links from glossterm to glossentry automaticaly?
firstterm.only.link - Does automatic glossterm linking only apply to firstterms?
glossary.collection - Name of the glossary collection file
XVI. Miscellaneous
graphic.default.extension - Default extension for graphic filenames
formal.procedures - Selects formal or informal procedures
formal.title.placement -
runinhead.default.title.end.punct - Default punctuation character on a run-in-head
runinhead.title.end.punct - Characters that count as punctuation on a run-in-head
show.comments - Display comment elements?
show.revisionflag - Enable decoration of elements that have a revisionflag
shade.verbatim - Should verbatim environments be shaded?
shade.verbatim.style - Properties that specify the style of shaded verbatim listings
punct.honorific - Punctuation after an honorific in a personal name.
segmentedlist.as.table - Format segmented lists as tables?
variablelist.as.table - Format variablelists as tables?
tex.math.in.alt - TeX notation used for equations
tex.math.file - Name of temporary file for generating images from equations
tex.math.delims - Should be equations outputed for processing by TeX +automatically surrounded by math mode delimiters
pixels.per.inch - How many pixels are there per inch?
points.per.em - Specify the nominal size of an em-space in points
use.svg - Allow SVG in the result tree?
XVII. Chunking
html.ext - Identifies the extension of generated HTML files
html.extra.head.links - Toggle extra HTML head link information
root.filename - Identifies the name of the root HTML file when chunking
base.dir - The base directory of chunks
generate.manifest - Generate a manifest file?
manifest - Name of manifest file
chunk.toc - An explicit TOC to be used for chunking
chunk.section.depth - Depth to which sections should be chunked
chunk.first.sections - Chunk the first top-level section?
chunk.quietly - Omit the chunked filename messages.
saxon.character.representation - Saxon character representation used in generated HTML pages
default.encoding - Encoding used in generated HTML pages
output.method -
chunk.datafile - Name of the temporary file used to hold chunking data
navig.graphics - Use graphics in navigational headers and footers?
navig.graphics.extension - Extension for navigational graphics
navig.graphics.path - Path to navigational graphics
navig.showtitles - Display titles in HTML headers and footers?
XVIII. Profiling
profile.arch - Target profile for arch +attribute
profile.condition - Target profile for condition +attribute
profile.conformance - Target profile for conformance +attribute
profile.lang - Target profile for lang +attribute
profile.os - Target profile for os +attribute
profile.revision - Target profile for revision +attribute
profile.revisionflag - Target profile for revisionflag +attribute
profile.role - Target profile for role +attribute
profile.security - Target profile for security +attribute
profile.userlevel - Target profile for userlevel +attribute
profile.vendor - Target profile for vendor +attribute
profile.attribute - Name of user-specified profiling attribute
profile.value - Target profile for user-specified attribute
profile.separator - Separator character for compound profile values
XIX. HTML Help
htmlhelp.encoding - Character encoding to use in files for HTML Help compiler.
htmlhelp.autolabel - Should tree-like ToC use autonumbering feature?
htmlhelp.chm - Filename of output HTML Help file.
htmlhelp.default.topic - Name of file with default topic
htmlhelp.hhp - Filename of project file.
htmlhelp.hhc - Filename of TOC file.
htmlhelp.hhp.tail - Additional content for project file.
htmlhelp.enumerate.images - Should be paths to all used images added to project file?
htmlhelp.force.map.and.alias - Should be [MAP] and [ALIAS] section added to project file unconditionaly?
htmlhelp.map.file - Filename of map file.
htmlhelp.alias.file - Filename of map file.
htmlhelp.hhc.section.depth - Depth of TOC for sections in a left pane.
htmlhelp.hhc.show.root - Should be entry for root element shown in ToC?
htmlhelp.hhc.folders.instead.books -
htmlhelp.title - Title of HTML Help
A. The Stylesheet
\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/inherit.keywords.html b/rosdocs/xsl/doc/html/inherit.keywords.html new file mode 100644 index 0000000..07cd4ed --- /dev/null +++ b/rosdocs/xsl/doc/html/inherit.keywords.html @@ -0,0 +1,9 @@ + + + inherit.keywords

Name

inherit.keywords — Inherit keywords from ancestor elements?

Synopsis

§59: §157

  1| <xsl:param name="inherit.keywords"
+  2|            select="'1'"/>

Description

If inherit.keywords +is non-zero, the keyword META for each HTML +HEAD element will include all of the keywords from +ancestral elements. Otherwise, only the keywords from the current section +will be used. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/label.from.part.html b/rosdocs/xsl/doc/html/label.from.part.html new file mode 100644 index 0000000..dcd899c --- /dev/null +++ b/rosdocs/xsl/doc/html/label.from.part.html @@ -0,0 +1,9 @@ + + + label.from.part

Name

label.from.part — Renumber chapters in each part?

Synopsis

§42: §157

  1| <xsl:param name="label.from.part"
+  2|            select="'0'"/>

Description

If label.from.part is non-zero, components +(chapters, appendixes, etc.) +will be numbered from 1 in each part. Otherwise, +they will be numbered monotonically throughout each +book. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/linenumbering.everyNth.html b/rosdocs/xsl/doc/html/linenumbering.everyNth.html new file mode 100644 index 0000000..b3bbd89 --- /dev/null +++ b/rosdocs/xsl/doc/html/linenumbering.everyNth.html @@ -0,0 +1,5 @@ + + + linenumbering.everyNth

Name

linenumbering.everyNth — Indicate which lines should be numbered

Synopsis

§28: §157

  1| <xsl:param name="linenumbering.everyNth"
+  2|            select="'5'"/>

Description

If line numbering is enabled, everyNth line will be numbered. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/linenumbering.extension.html b/rosdocs/xsl/doc/html/linenumbering.extension.html new file mode 100644 index 0000000..f79f666 --- /dev/null +++ b/rosdocs/xsl/doc/html/linenumbering.extension.html @@ -0,0 +1,8 @@ + + + linenumbering.extension

Name

linenumbering.extension — Enable the line numbering extension

Synopsis

§29: §157

  1| <xsl:param name="linenumbering.extension"
+  2|            select="'1'"/>

Description

If true, verbatim environments (elements that have the +format='linespecific' notation attribute: address, literallayout, +programlisting, screen, synopsis) that specify line numbering will +have, surprise, line numbers. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/linenumbering.separator.html b/rosdocs/xsl/doc/html/linenumbering.separator.html new file mode 100644 index 0000000..a65e146 --- /dev/null +++ b/rosdocs/xsl/doc/html/linenumbering.separator.html @@ -0,0 +1,6 @@ + + + linenumbering.separator

Name

linenumbering.separator — Specify a separator between line numbers and lines

Synopsis

§30: §157

  1| <xsl:param name="linenumbering.separator"
+  2|            select="' '"/>

Description

The separator is inserted between line numbers and lines in +the verbatim environment. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/linenumbering.width.html b/rosdocs/xsl/doc/html/linenumbering.width.html new file mode 100644 index 0000000..605e41a --- /dev/null +++ b/rosdocs/xsl/doc/html/linenumbering.width.html @@ -0,0 +1,6 @@ + + + linenumbering.width

Name

linenumbering.width — Indicates the width of line numbers

Synopsis

§31: §157

  1| <xsl:param name="linenumbering.width"
+  2|            select="'3'"/>

Description

If line numbering is enabled, line numbers will appear right +justified in a field "width" characters wide. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/link.mailto.url.html b/rosdocs/xsl/doc/html/link.mailto.url.html new file mode 100644 index 0000000..8d8804f --- /dev/null +++ b/rosdocs/xsl/doc/html/link.mailto.url.html @@ -0,0 +1,5 @@ + + + link.mailto.url

Name

link.mailto.url — Mailto URL for the LINK REL=made HTML HEAD element

Synopsis

§80: §157

  1| <xsl:param name="link.mailto.url"/>

Description

If not the empty string, this address will be used for the +REL=made LINK element in the HTML HEAD. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/make.single.year.ranges.html b/rosdocs/xsl/doc/html/make.single.year.ranges.html new file mode 100644 index 0000000..e26c5cc --- /dev/null +++ b/rosdocs/xsl/doc/html/make.single.year.ranges.html @@ -0,0 +1,6 @@ + + + make.single.year.ranges

Name

make.single.year.ranges — Print single-year ranges (e.g., 1998-1999)

Synopsis

§60: §157

  1| <xsl:param name="make.single.year.ranges"
+  2|            select="0"/>

Description

If non-zero, year ranges that span a single year will be printed +in range notation (1998-1999) instead of discrete notation +(1998, 1999).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/make.valid.html.html b/rosdocs/xsl/doc/html/make.valid.html.html new file mode 100644 index 0000000..2f5b4ca --- /dev/null +++ b/rosdocs/xsl/doc/html/make.valid.html.html @@ -0,0 +1,10 @@ + + + make.valid.html

Name

make.valid.html — Attempt to make sure the HTML output is valid HTML

Synopsis

§53: §157

  1| <xsl:param name="make.valid.html"
+  2|            select="0"/>

Description

If make.valid.html is true, the stylesheets take +extra effort to ensure that the resulting HTML is valid. This may mean that some +para tags are translated into HTML divs or +that other substitutions occur.

This parameter is different from html.cleanup +because it changes the resulting markup; it does not use extension functions +to manipulate result-tree-fragments and is therefore applicable to any +XSLT processor.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/make.year.ranges.html b/rosdocs/xsl/doc/html/make.year.ranges.html new file mode 100644 index 0000000..68ba64b --- /dev/null +++ b/rosdocs/xsl/doc/html/make.year.ranges.html @@ -0,0 +1,4 @@ + + + make.year.ranges

Name

make.year.ranges — Collate copyright years into ranges?

Synopsis

§61: §157

  1| <xsl:param name="make.year.ranges"
+  2|            select="0"/>

Description

If non-zero, copyright years will be collated into ranges.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/manifest.html b/rosdocs/xsl/doc/html/manifest.html new file mode 100644 index 0000000..bc811e2 --- /dev/null +++ b/rosdocs/xsl/doc/html/manifest.html @@ -0,0 +1,6 @@ + + + manifest

Name

manifest — Name of manifest file

Synopsis

§115: §157

  1| <xsl:param name="manifest"
+  2|            select="'HTML.manifest'"/>

Description

The name of the file to which a manifest is written (if the + value of the generate.manifest parameter + is non-zero).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/manual.toc.html b/rosdocs/xsl/doc/html/manual.toc.html new file mode 100644 index 0000000..9a81e25 --- /dev/null +++ b/rosdocs/xsl/doc/html/manual.toc.html @@ -0,0 +1,6 @@ + + + manual.toc

Name

manual.toc — An explicit TOC to be used for the TOC

Synopsis

§22: §157

  1| <xsl:param name="manual.toc"
+  2|            select="''"/>

Description

The manual.toc identifies an explicit TOC that +will be used for building the printed TOC. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/navig.graphics.extension.html b/rosdocs/xsl/doc/html/navig.graphics.extension.html new file mode 100644 index 0000000..ca0b966 --- /dev/null +++ b/rosdocs/xsl/doc/html/navig.graphics.extension.html @@ -0,0 +1,5 @@ + + + navig.graphics.extension

Name

navig.graphics.extension — Extension for navigational graphics

Synopsis

§125: §157

  1| <xsl:param name="navig.graphics.extension"
+  2|            select="'.gif'"/>

Description

Sets the filename extension to use on navigational graphics used +in the headers and footers of chunked HTML.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/navig.graphics.html b/rosdocs/xsl/doc/html/navig.graphics.html new file mode 100644 index 0000000..f3c56af --- /dev/null +++ b/rosdocs/xsl/doc/html/navig.graphics.html @@ -0,0 +1,8 @@ + + + navig.graphics

Name

navig.graphics — Use graphics in navigational headers and footers?

Synopsis

§124: §157

  1| <xsl:param name="navig.graphics"
+  2|            select="0"/>

Description

If true (non-zero), the navigational headers and footers in chunked +HTML are presented in an alternate style that uses +graphical icons for Next, Previous, Up, and Home. +Default graphics are provided in the distribution. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/navig.graphics.path.html b/rosdocs/xsl/doc/html/navig.graphics.path.html new file mode 100644 index 0000000..49aad0e --- /dev/null +++ b/rosdocs/xsl/doc/html/navig.graphics.path.html @@ -0,0 +1,6 @@ + + + navig.graphics.path

Name

navig.graphics.path — Path to navigational graphics

Synopsis

§126: §157

  1| <xsl:param name="navig.graphics.path">images/</xsl:param>

Description

Sets the path, probably relative to the directory where the HTML +files are created, to the navigational graphics used in the +headers and footers of chunked HTML. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/navig.showtitles.html b/rosdocs/xsl/doc/html/navig.showtitles.html new file mode 100644 index 0000000..a43c595 --- /dev/null +++ b/rosdocs/xsl/doc/html/navig.showtitles.html @@ -0,0 +1,10 @@ + + + navig.showtitles

Name

navig.showtitles — Display titles in HTML headers and footers?

Synopsis

§127: §157

  1| <xsl:param name="navig.showtitles">1</xsl:param>

Description

If true (non-zero), +the headers and footers of chunked HTML +display the titles of the next and previous chunks, +along with the words 'Next' and 'Previous' (or the +equivalent graphical icons if navig.graphics is true). +If false (zero), then only the words 'Next' and 'Previous' +(or the icons) are displayed. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/nominal.table.width.html b/rosdocs/xsl/doc/html/nominal.table.width.html new file mode 100644 index 0000000..5abeb7b --- /dev/null +++ b/rosdocs/xsl/doc/html/nominal.table.width.html @@ -0,0 +1,7 @@ + + + nominal.table.width

Name

nominal.table.width — The (absolute) nominal width of tables

Synopsis

§73: §157

  1| <xsl:param name="nominal.table.width"
+  2|            select="'6in'"/>

Description

In order to convert CALS column widths into HTML column widths, it +is sometimes necessary to have an absolute table width to use for conversion +of mixed absolute and relative widths. This value must be an absolute +length (not a percentag).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/olink.fragid.html b/rosdocs/xsl/doc/html/olink.fragid.html new file mode 100644 index 0000000..6936856 --- /dev/null +++ b/rosdocs/xsl/doc/html/olink.fragid.html @@ -0,0 +1,4 @@ + + + olink.fragid

Name

olink.fragid — Names the fragment identifier portion of an OLink resolver query

Synopsis

§82: §157

  1| <xsl:param name="olink.fragid"
+  2|            select="'fragid='"/>

Description

FIXME:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/olink.outline.ext.html b/rosdocs/xsl/doc/html/olink.outline.ext.html new file mode 100644 index 0000000..fedbb5f --- /dev/null +++ b/rosdocs/xsl/doc/html/olink.outline.ext.html @@ -0,0 +1,4 @@ + + + olink.outline.ext

Name

olink.outline.ext — The extension of OLink outline files

Synopsis

§83: §157

  1| <xsl:param name="olink.outline.ext"
+  2|            select="'.olink'"/>

Description

FIXME:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/olink.pubid.html b/rosdocs/xsl/doc/html/olink.pubid.html new file mode 100644 index 0000000..0d0221e --- /dev/null +++ b/rosdocs/xsl/doc/html/olink.pubid.html @@ -0,0 +1,4 @@ + + + olink.pubid

Name

olink.pubid — Names the public identifier portion of an OLink resolver query

Synopsis

§84: §157

  1| <xsl:param name="olink.pubid"
+  2|            select="'pubid='"/>

Description

FIXME:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/olink.resolver.html b/rosdocs/xsl/doc/html/olink.resolver.html new file mode 100644 index 0000000..64919dc --- /dev/null +++ b/rosdocs/xsl/doc/html/olink.resolver.html @@ -0,0 +1,4 @@ + + + olink.resolver

Name

olink.resolver — The root name of the OLink resolver (usually a script)

Synopsis

§86: §157

  1| <xsl:param name="olink.resolver"
+  2|            select="'/cgi-bin/olink'"/>

Description

FIXME:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/olink.sysid.html b/rosdocs/xsl/doc/html/olink.sysid.html new file mode 100644 index 0000000..1f55c7d --- /dev/null +++ b/rosdocs/xsl/doc/html/olink.sysid.html @@ -0,0 +1,4 @@ + + + olink.sysid

Name

olink.sysid — Names the system identifier portion of an OLink resolver query

Synopsis

§85: §157

  1| <xsl:param name="olink.sysid"
+  2|            select="'sysid='"/>

Description

FIXME:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/output.method.html b/rosdocs/xsl/doc/html/output.method.html new file mode 100644 index 0000000..c5b283f --- /dev/null +++ b/rosdocs/xsl/doc/html/output.method.html @@ -0,0 +1,4 @@ + + + output.method

Name

output.method —

Synopsis

§122: §157

  1| <xsl:param name="output.method"
+  2|            select="'html'"/>

Description

Selects the output method for chunked documents.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/part.autolabel.html b/rosdocs/xsl/doc/html/part.autolabel.html new file mode 100644 index 0000000..e79c62f --- /dev/null +++ b/rosdocs/xsl/doc/html/part.autolabel.html @@ -0,0 +1,5 @@ + + + part.autolabel

Name

part.autolabel — Are parts and references enumerated?

Synopsis

§37: §157

  1| <xsl:param name="part.autolabel"
+  2|            select="1"/>

Description

If true (non-zero), unlabeled parts and references will be enumerated. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/phrase.propagates.style.html b/rosdocs/xsl/doc/html/phrase.propagates.style.html new file mode 100644 index 0000000..d4a4b79 --- /dev/null +++ b/rosdocs/xsl/doc/html/phrase.propagates.style.html @@ -0,0 +1,6 @@ + + + phrase.propagates.style

Name

phrase.propagates.style — Pass phrase role attribute through to HTML?

Synopsis

§50: §157

  1| <xsl:param name="phrase.propagates.style"
+  2|            select="1"/>

Description

If true, the role attribute of phrase elements +will be passed through to the HTML as a class attribute on a +span that surrounds the phrase.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/pixels.per.inch.html b/rosdocs/xsl/doc/html/pixels.per.inch.html new file mode 100644 index 0000000..aaebf99 --- /dev/null +++ b/rosdocs/xsl/doc/html/pixels.per.inch.html @@ -0,0 +1,8 @@ + + + pixels.per.inch

Name

pixels.per.inch — How many pixels are there per inch?

Synopsis

§107: §157

  1| <xsl:param name="pixels.per.inch"
+  2|            select="90"/>

Description

When lengths are converted to pixels, this value is used to +determine the size of a pixel. The default value is taken from the +XSL +Recommendation. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/points.per.em.html b/rosdocs/xsl/doc/html/points.per.em.html new file mode 100644 index 0000000..209f90d --- /dev/null +++ b/rosdocs/xsl/doc/html/points.per.em.html @@ -0,0 +1,4 @@ + + + points.per.em

Name

points.per.em — Specify the nominal size of an em-space in points

Synopsis

§108: §157

  1| <xsl:param name="points.per.em"
+  2|            select="10"/>

Description

FIXME:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/pr01.html b/rosdocs/xsl/doc/html/pr01.html new file mode 100644 index 0000000..60ec5c5 --- /dev/null +++ b/rosdocs/xsl/doc/html/pr01.html @@ -0,0 +1,25 @@ + + + Introduction

Introduction

This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets.

This reference describes each of the HTML Stylesheet parameters. +These are the “easily customizable” parts of the stylesheet. +If you want to specify an alternate value for one or more of these +parameters, you can do so in a “driver” stylesheet.

For example, if you want to change the html.stylesheet +to reference.css, you might create a driver +stylesheet like this:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                version='1.0'>
+
+  <xsl:import href="http://docbook.sourceforge.net/release/xsl/snapshot/html/docbook.xsl"/>
+
+  <xsl:param name="html.stylesheet">reference.css</xsl:param>
+
+</xsl:stylesheet>

Naturally, you have to change the +href attribute on +<xsl:import> to point to +docbook.xsl on your system. (Or +chunk.xsl, if you're using chunking.)

This is not intended to be “user” documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in “how it +works”.

Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-)

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/preface.autolabel.html b/rosdocs/xsl/doc/html/preface.autolabel.html new file mode 100644 index 0000000..b615533 --- /dev/null +++ b/rosdocs/xsl/doc/html/preface.autolabel.html @@ -0,0 +1,5 @@ + + + preface.autolabel

Name

preface.autolabel — Are prefaces enumerated?

Synopsis

§38: §157

  1| <xsl:param name="preface.autolabel"
+  2|            select="0"/>

Description

If true (non-zero), unlabeled prefaces will be enumerated. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/process.empty.source.toc.html b/rosdocs/xsl/doc/html/process.empty.source.toc.html new file mode 100644 index 0000000..d3f92cf --- /dev/null +++ b/rosdocs/xsl/doc/html/process.empty.source.toc.html @@ -0,0 +1,5 @@ + + + process.empty.source.toc

Name

process.empty.source.toc — FIXME:

Synopsis

§20: §157

  1| <xsl:param name="process.empty.source.toc"
+  2|            select="0"/>

Description

FIXME: +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/process.source.toc.html b/rosdocs/xsl/doc/html/process.source.toc.html new file mode 100644 index 0000000..cd474c2 --- /dev/null +++ b/rosdocs/xsl/doc/html/process.source.toc.html @@ -0,0 +1,5 @@ + + + process.source.toc

Name

process.source.toc — FIXME:

Synopsis

§19: §157

  1| <xsl:param name="process.source.toc"
+  2|            select="0"/>

Description

FIXME: +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/profile.arch.html b/rosdocs/xsl/doc/html/profile.arch.html new file mode 100644 index 0000000..b03d96e --- /dev/null +++ b/rosdocs/xsl/doc/html/profile.arch.html @@ -0,0 +1,13 @@ + + + profile.arch

Name

profile.arch — Target profile for arch +attribute

Synopsis

§128: §157

  1| <xsl:param name="profile.arch"
+  2|            select="''"/>

Description

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/profile.attribute.html b/rosdocs/xsl/doc/html/profile.attribute.html new file mode 100644 index 0000000..bb5c475 --- /dev/null +++ b/rosdocs/xsl/doc/html/profile.attribute.html @@ -0,0 +1,8 @@ + + + profile.attribute

Name

profile.attribute — Name of user-specified profiling attribute

Synopsis

§139: §157

  1| <xsl:param name="profile.attribute"
+  2|            select="''"/>

Description

This parameter is used in conjuction with profile.value.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/profile.condition.html b/rosdocs/xsl/doc/html/profile.condition.html new file mode 100644 index 0000000..631651b --- /dev/null +++ b/rosdocs/xsl/doc/html/profile.condition.html @@ -0,0 +1,13 @@ + + + profile.condition

Name

profile.condition — Target profile for condition +attribute

Synopsis

§129: §157

  1| <xsl:param name="profile.condition"
+  2|            select="''"/>

Description

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/profile.conformance.html b/rosdocs/xsl/doc/html/profile.conformance.html new file mode 100644 index 0000000..80b6b4a --- /dev/null +++ b/rosdocs/xsl/doc/html/profile.conformance.html @@ -0,0 +1,13 @@ + + + profile.conformance

Name

profile.conformance — Target profile for conformance +attribute

Synopsis

§130: §157

  1| <xsl:param name="profile.conformance"
+  2|            select="''"/>

Description

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/profile.lang.html b/rosdocs/xsl/doc/html/profile.lang.html new file mode 100644 index 0000000..1ba533f --- /dev/null +++ b/rosdocs/xsl/doc/html/profile.lang.html @@ -0,0 +1,13 @@ + + + profile.lang

Name

profile.lang — Target profile for lang +attribute

Synopsis

§131: §157

  1| <xsl:param name="profile.lang"
+  2|            select="''"/>

Description

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/profile.os.html b/rosdocs/xsl/doc/html/profile.os.html new file mode 100644 index 0000000..9f5aa25 --- /dev/null +++ b/rosdocs/xsl/doc/html/profile.os.html @@ -0,0 +1,13 @@ + + + profile.os

Name

profile.os — Target profile for os +attribute

Synopsis

§132: §157

  1| <xsl:param name="profile.os"
+  2|            select="''"/>

Description

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/profile.revision.html b/rosdocs/xsl/doc/html/profile.revision.html new file mode 100644 index 0000000..0dfb6fa --- /dev/null +++ b/rosdocs/xsl/doc/html/profile.revision.html @@ -0,0 +1,13 @@ + + + profile.revision

Name

profile.revision — Target profile for revision +attribute

Synopsis

§133: §157

  1| <xsl:param name="profile.revision"
+  2|            select="''"/>

Description

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/profile.revisionflag.html b/rosdocs/xsl/doc/html/profile.revisionflag.html new file mode 100644 index 0000000..eadf9ee --- /dev/null +++ b/rosdocs/xsl/doc/html/profile.revisionflag.html @@ -0,0 +1,13 @@ + + + profile.revisionflag

Name

profile.revisionflag — Target profile for revisionflag +attribute

Synopsis

§134: §157

  1| <xsl:param name="profile.revisionflag"
+  2|            select="''"/>

Description

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/profile.role.html b/rosdocs/xsl/doc/html/profile.role.html new file mode 100644 index 0000000..12380df --- /dev/null +++ b/rosdocs/xsl/doc/html/profile.role.html @@ -0,0 +1,13 @@ + + + profile.role

Name

profile.role — Target profile for role +attribute

Synopsis

§135: §157

  1| <xsl:param name="profile.role"
+  2|            select="''"/>

Description

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/profile.security.html b/rosdocs/xsl/doc/html/profile.security.html new file mode 100644 index 0000000..8db5229 --- /dev/null +++ b/rosdocs/xsl/doc/html/profile.security.html @@ -0,0 +1,13 @@ + + + profile.security

Name

profile.security — Target profile for security +attribute

Synopsis

§136: §157

  1| <xsl:param name="profile.security"
+  2|            select="''"/>

Description

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/profile.separator.html b/rosdocs/xsl/doc/html/profile.separator.html new file mode 100644 index 0000000..cd7f5e9 --- /dev/null +++ b/rosdocs/xsl/doc/html/profile.separator.html @@ -0,0 +1,4 @@ + + + profile.separator

Name

profile.separator — Separator character for compound profile values

Synopsis

§141: §157

  1| <xsl:param name="profile.separator"
+  2|            select="';'"/>

Description

Separator character for compound profile values.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/profile.userlevel.html b/rosdocs/xsl/doc/html/profile.userlevel.html new file mode 100644 index 0000000..ec9eecc --- /dev/null +++ b/rosdocs/xsl/doc/html/profile.userlevel.html @@ -0,0 +1,13 @@ + + + profile.userlevel

Name

profile.userlevel — Target profile for userlevel +attribute

Synopsis

§137: §157

  1| <xsl:param name="profile.userlevel"
+  2|            select="''"/>

Description

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/profile.value.html b/rosdocs/xsl/doc/html/profile.value.html new file mode 100644 index 0000000..8b842e4 --- /dev/null +++ b/rosdocs/xsl/doc/html/profile.value.html @@ -0,0 +1,13 @@ + + + profile.value

Name

profile.value — Target profile for user-specified attribute

Synopsis

§140: §157

  1| <xsl:param name="profile.value"
+  2|            select="''"/>

Description

When you are using this parameter you must also specify name of +profiling attribute with parameter profile.attribute.

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/profile.vendor.html b/rosdocs/xsl/doc/html/profile.vendor.html new file mode 100644 index 0000000..9664050 --- /dev/null +++ b/rosdocs/xsl/doc/html/profile.vendor.html @@ -0,0 +1,13 @@ + + + profile.vendor

Name

profile.vendor — Target profile for vendor +attribute

Synopsis

§138: §157

  1| <xsl:param name="profile.vendor"
+  2|            select="''"/>

Description

Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter.

This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …).

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/punct.honorific.html b/rosdocs/xsl/doc/html/punct.honorific.html new file mode 100644 index 0000000..f86ce3b --- /dev/null +++ b/rosdocs/xsl/doc/html/punct.honorific.html @@ -0,0 +1,5 @@ + + + punct.honorific

Name

punct.honorific — Punctuation after an honorific in a personal name.

Synopsis

§101: §157

  1| <xsl:param name="punct.honorific"
+  2|            select="'.'"/>

Description

This parameter specifies the punctuation that should be added after an +honorific in a personal name.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/qanda.defaultlabel.html b/rosdocs/xsl/doc/html/qanda.defaultlabel.html new file mode 100644 index 0000000..a351f33 --- /dev/null +++ b/rosdocs/xsl/doc/html/qanda.defaultlabel.html @@ -0,0 +1,6 @@ + + + qanda.defaultlabel

Name

qanda.defaultlabel — Sets the default for defaultlabel on QandASet.

Synopsis

§78: §157

  1| <xsl:param name="qanda.defaultlabel">number</xsl:param>

Description

If no defaultlabel attribute is specified on a QandASet, this +value is used. It must be one of the legal values for the defaultlabel +attribute. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/qanda.inherit.numeration.html b/rosdocs/xsl/doc/html/qanda.inherit.numeration.html new file mode 100644 index 0000000..2a881f0 --- /dev/null +++ b/rosdocs/xsl/doc/html/qanda.inherit.numeration.html @@ -0,0 +1,6 @@ + + + qanda.inherit.numeration

Name

qanda.inherit.numeration — Does enumeration of QandASet components inherit the numeration of parent elements?

Synopsis

§79: §157

  1| <xsl:param name="qanda.inherit.numeration"
+  2|            select="1"/>

Description

If true (non-zero), numbered QandADiv elements and Questions and Answers inherit +the numeration of the ancestors of the QandASet. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/qandadiv.autolabel.html b/rosdocs/xsl/doc/html/qandadiv.autolabel.html new file mode 100644 index 0000000..f7984d4 --- /dev/null +++ b/rosdocs/xsl/doc/html/qandadiv.autolabel.html @@ -0,0 +1,5 @@ + + + qandadiv.autolabel

Name

qandadiv.autolabel — Are divisions in QAndASets enumerated?

Synopsis

§39: §157

  1| <xsl:param name="qandadiv.autolabel"
+  2|            select="1"/>

Description

If true (non-zero), unlabeled qandadivs will be enumerated. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/refentry.generate.name.html b/rosdocs/xsl/doc/html/refentry.generate.name.html new file mode 100644 index 0000000..dbed3af --- /dev/null +++ b/rosdocs/xsl/doc/html/refentry.generate.name.html @@ -0,0 +1,7 @@ + + + refentry.generate.name

Name

refentry.generate.name — Output NAME header before 'RefName'(s)?

Synopsis

§67: §157

  1| <xsl:param name="refentry.generate.name"
+  2|            select="1"/>

Description

If true (non-zero), a "NAME" section title is output before the list +of 'RefName's. This parameter and +refentry.generate.title are mutually exclusive. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/refentry.generate.title.html b/rosdocs/xsl/doc/html/refentry.generate.title.html new file mode 100644 index 0000000..7ea88fd --- /dev/null +++ b/rosdocs/xsl/doc/html/refentry.generate.title.html @@ -0,0 +1,7 @@ + + + refentry.generate.title

Name

refentry.generate.title — Output title before 'RefName'(s)?

Synopsis

§68: §157

  1| <xsl:param name="refentry.generate.title"
+  2|            select="0"/>

Description

If true (non-zero), the reference page title or first name is +output before the list of 'RefName's. This parameter and +refentry.generate.name are mutually exclusive. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/refentry.separator.html b/rosdocs/xsl/doc/html/refentry.separator.html new file mode 100644 index 0000000..ff7f1bf --- /dev/null +++ b/rosdocs/xsl/doc/html/refentry.separator.html @@ -0,0 +1,6 @@ + + + refentry.separator

Name

refentry.separator — Generate a separator between consecutive RefEntry elements?

Synopsis

§71: §157

  1| <xsl:param name="refentry.separator"
+  2|            select="'1'"/>

Description

If true, a separator will be generated between consecutive +reference pages. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/refentry.xref.manvolnum.html b/rosdocs/xsl/doc/html/refentry.xref.manvolnum.html new file mode 100644 index 0000000..cba9389 --- /dev/null +++ b/rosdocs/xsl/doc/html/refentry.xref.manvolnum.html @@ -0,0 +1,8 @@ + + + refentry.xref.manvolnum

Name

refentry.xref.manvolnum — Output manvolnum as part of +refentry cross-reference?

Synopsis

§69: §157

  1| <xsl:param name="refentry.xref.manvolnum"
+  2|            select="1"/>

Description

if true (non-zero), the manvolnum is used when cross-referencing +refentrys, either with xref +or citerefentry. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/rn01.html b/rosdocs/xsl/doc/html/rn01.html new file mode 100644 index 0000000..ff4d29b --- /dev/null +++ b/rosdocs/xsl/doc/html/rn01.html @@ -0,0 +1,3 @@ + + + Admonitions

Admonitions


Table of Contents

admon.graphics.extension - Extension for admonition graphics
admon.graphics.path - Path to admonition graphics
admon.graphics - Use graphics in admonitions?
admon.style - CSS style attributes for admonitions
\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/rn02.html b/rosdocs/xsl/doc/html/rn02.html new file mode 100644 index 0000000..8b8ec7b --- /dev/null +++ b/rosdocs/xsl/doc/html/rn02.html @@ -0,0 +1,3 @@ + + + Callouts

Callouts


Table of Contents

callout.defaultcolumn - Indicates what column callouts appear in by default
callout.graphics.extension - Extension for callout graphics
callout.graphics.number.limit - Number of the largest callout graphic
callout.graphics.path - Path to callout graphics
callout.graphics - Use graphics for callouts?
callout.list.table - Present callout lists using a table?
callout.unicode.number.limit - Number of the largest callout graphic
callout.unicode.start.character - First Unicode character to use, decimal value.
callout.unicode - Use Unicode characters rather than images for callouts.
callouts.extension - Enable the callout extension
\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/rn03.html b/rosdocs/xsl/doc/html/rn03.html new file mode 100644 index 0000000..5fd84ba --- /dev/null +++ b/rosdocs/xsl/doc/html/rn03.html @@ -0,0 +1,3 @@ + + + EBNF

EBNF


Table of Contents

ebnf.table.bgcolor - Background color for EBNF tables
ebnf.table.border - Selects border on EBNF tables
\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/rn04.html b/rosdocs/xsl/doc/html/rn04.html new file mode 100644 index 0000000..d5121d5 --- /dev/null +++ b/rosdocs/xsl/doc/html/rn04.html @@ -0,0 +1,4 @@ + + + ToC/LoT/Index Generation

ToC/LoT/Index Generation


Table of Contents

annotate.toc - Annotate the Table of Contents?
autotoc.label.separator - Separator between labels and titles in the ToC
process.source.toc - FIXME:
process.empty.source.toc - FIXME:
bridgehead.in.toc - Should bridgehead elements appear in the TOC?
manual.toc - An explicit TOC to be used for the TOC
toc.list.type - Type of HTML list element to use for Tables of Contents
toc.section.depth - How deep should recursive sections appear +in the TOC?
generate.toc - Control generation of ToCs and LoTs
generate.section.toc.level - Control depth of TOC generation in sections
generate.index - Do you want an index?
\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/rn05.html b/rosdocs/xsl/doc/html/rn05.html new file mode 100644 index 0000000..033db11 --- /dev/null +++ b/rosdocs/xsl/doc/html/rn05.html @@ -0,0 +1,3 @@ + + + Extensions

Extensions


Table of Contents

linenumbering.everyNth - Indicate which lines should be numbered
linenumbering.extension - Enable the line numbering extension
linenumbering.separator - Specify a separator between line numbers and lines
linenumbering.width - Indicates the width of line numbers
tablecolumns.extension - Enable the table columns extension function
textinsert.extension - Enable the textinsert extension element
use.extensions - Enable extensions
\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/rn06.html b/rosdocs/xsl/doc/html/rn06.html new file mode 100644 index 0000000..0e09cd2 --- /dev/null +++ b/rosdocs/xsl/doc/html/rn06.html @@ -0,0 +1,3 @@ + + + Automatic labelling

Automatic labelling


Table of Contents

chapter.autolabel - Are chapters automatically enumerated?
appendix.autolabel - Are Appendixes automatically enumerated?
part.autolabel - Are parts and references enumerated?
preface.autolabel - Are prefaces enumerated?
qandadiv.autolabel - Are divisions in QAndASets enumerated?
section.autolabel - Are sections enumerated?
section.label.includes.component.label - Do section labels include the component label?
label.from.part - Renumber chapters in each part?
\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/rn07.html b/rosdocs/xsl/doc/html/rn07.html new file mode 100644 index 0000000..f14761d --- /dev/null +++ b/rosdocs/xsl/doc/html/rn07.html @@ -0,0 +1,3 @@ + + + HTML

HTML


Table of Contents

html.base - An HTML base URI
html.stylesheet.type - The type of the stylesheet used in the generated HTML
html.stylesheet - Name of the stylesheet to use in the generated HTML
use.id.as.filename - Use ID value of chunk elements as the filename?
css.decoration - Enable CSS decoration of elements
spacing.paras - Insert additional <p> elements for spacing?
emphasis.propagates.style - Pass emphasis role attribute through to HTML?
phrase.propagates.style - Pass phrase role attribute through to HTML?
html.longdesc - Should longdesc URIs be created?
html.longdesc.link - Should a link to the longdesc be included in the HTML?
make.valid.html - Attempt to make sure the HTML output is valid HTML
html.cleanup - Attempt to clean up the resulting HTML?
draft.watermark.image - The URI of the image to be used for draft watermarks
generate.id.attributes -
\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/rn08.html b/rosdocs/xsl/doc/html/rn08.html new file mode 100644 index 0000000..8a9a275 --- /dev/null +++ b/rosdocs/xsl/doc/html/rn08.html @@ -0,0 +1,3 @@ + + + XSLT Processing

XSLT Processing


Table of Contents

rootid - Specify the root element to format
suppress.navigation - Disable header and footer navigation
\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/rn09.html b/rosdocs/xsl/doc/html/rn09.html new file mode 100644 index 0000000..e24aee9 --- /dev/null +++ b/rosdocs/xsl/doc/html/rn09.html @@ -0,0 +1,4 @@ + + + Meta/*Info

Meta/*Info


Table of Contents

inherit.keywords - Inherit keywords from ancestor elements?
make.single.year.ranges - Print single-year ranges (e.g., 1998-1999)
make.year.ranges - Collate copyright years into ranges?
author.othername.in.middle - Is othername in author a +middle name?
generate.legalnotice.link - TBD
\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/rn10.html b/rosdocs/xsl/doc/html/rn10.html new file mode 100644 index 0000000..1e237c2 --- /dev/null +++ b/rosdocs/xsl/doc/html/rn10.html @@ -0,0 +1,4 @@ + + + Reference Pages

Reference Pages


Table of Contents

funcsynopsis.decoration - Decorate elements of a FuncSynopsis?
funcsynopsis.style - What style of 'FuncSynopsis' should be generated?
function.parens - Generate parens after a function?
refentry.generate.name - Output NAME header before 'RefName'(s)?
refentry.generate.title - Output title before 'RefName'(s)?
refentry.xref.manvolnum - Output manvolnum as part of +refentry cross-reference?
citerefentry.link - Generate URL links when cross-referencing RefEntrys?
refentry.separator - Generate a separator between consecutive RefEntry elements?
\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/rn11.html b/rosdocs/xsl/doc/html/rn11.html new file mode 100644 index 0000000..cfca195 --- /dev/null +++ b/rosdocs/xsl/doc/html/rn11.html @@ -0,0 +1,3 @@ + + + Tables

Tables


Table of Contents

default.table.width - The default width of tables
nominal.table.width - The (absolute) nominal width of tables
table.borders.with.css - Use CSS to specify table, row, and cell borders?
table.border.style -
table.border.thickness -
table.border.color -
\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/rn12.html b/rosdocs/xsl/doc/html/rn12.html new file mode 100644 index 0000000..576aef7 --- /dev/null +++ b/rosdocs/xsl/doc/html/rn12.html @@ -0,0 +1,3 @@ + + + QAndASet

QAndASet


Table of Contents

qanda.defaultlabel - Sets the default for defaultlabel on QandASet.
qanda.inherit.numeration - Does enumeration of QandASet components inherit the numeration of parent elements?
\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/rn13.html b/rosdocs/xsl/doc/html/rn13.html new file mode 100644 index 0000000..aa57b29 --- /dev/null +++ b/rosdocs/xsl/doc/html/rn13.html @@ -0,0 +1,3 @@ + + + Linking

Linking


Table of Contents

link.mailto.url - Mailto URL for the LINK REL=made HTML HEAD element
ulink.target - The HTML anchor target for ULinks
olink.fragid - Names the fragment identifier portion of an OLink resolver query
olink.outline.ext - The extension of OLink outline files
olink.pubid - Names the public identifier portion of an OLink resolver query
olink.sysid - Names the system identifier portion of an OLink resolver query
olink.resolver - The root name of the OLink resolver (usually a script)
\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/rn14.html b/rosdocs/xsl/doc/html/rn14.html new file mode 100644 index 0000000..d700875 --- /dev/null +++ b/rosdocs/xsl/doc/html/rn14.html @@ -0,0 +1,3 @@ + + + Bibliography

Bibliography


Table of Contents

biblioentry.item.separator - Text to separate bibliography entries
bibliography.collection - Name of the bibliography collection file
\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/rn15.html b/rosdocs/xsl/doc/html/rn15.html new file mode 100644 index 0000000..74edf55 --- /dev/null +++ b/rosdocs/xsl/doc/html/rn15.html @@ -0,0 +1,3 @@ + + + Glossary

Glossary


Table of Contents

glossterm.auto.link - Generate links from glossterm to glossentry automaticaly?
firstterm.only.link - Does automatic glossterm linking only apply to firstterms?
glossary.collection - Name of the glossary collection file
\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/rn16.html b/rosdocs/xsl/doc/html/rn16.html new file mode 100644 index 0000000..13a1170 --- /dev/null +++ b/rosdocs/xsl/doc/html/rn16.html @@ -0,0 +1,4 @@ + + + Miscellaneous

Miscellaneous


Table of Contents

graphic.default.extension - Default extension for graphic filenames
formal.procedures - Selects formal or informal procedures
formal.title.placement -
runinhead.default.title.end.punct - Default punctuation character on a run-in-head
runinhead.title.end.punct - Characters that count as punctuation on a run-in-head
show.comments - Display comment elements?
show.revisionflag - Enable decoration of elements that have a revisionflag
shade.verbatim - Should verbatim environments be shaded?
shade.verbatim.style - Properties that specify the style of shaded verbatim listings
punct.honorific - Punctuation after an honorific in a personal name.
segmentedlist.as.table - Format segmented lists as tables?
variablelist.as.table - Format variablelists as tables?
tex.math.in.alt - TeX notation used for equations
tex.math.file - Name of temporary file for generating images from equations
tex.math.delims - Should be equations outputed for processing by TeX +automatically surrounded by math mode delimiters
pixels.per.inch - How many pixels are there per inch?
points.per.em - Specify the nominal size of an em-space in points
use.svg - Allow SVG in the result tree?
\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/rn17.html b/rosdocs/xsl/doc/html/rn17.html new file mode 100644 index 0000000..8f3fb44 --- /dev/null +++ b/rosdocs/xsl/doc/html/rn17.html @@ -0,0 +1,3 @@ + + + Chunking

Chunking


Table of Contents

html.ext - Identifies the extension of generated HTML files
html.extra.head.links - Toggle extra HTML head link information
root.filename - Identifies the name of the root HTML file when chunking
base.dir - The base directory of chunks
generate.manifest - Generate a manifest file?
manifest - Name of manifest file
chunk.toc - An explicit TOC to be used for chunking
chunk.section.depth - Depth to which sections should be chunked
chunk.first.sections - Chunk the first top-level section?
chunk.quietly - Omit the chunked filename messages.
saxon.character.representation - Saxon character representation used in generated HTML pages
default.encoding - Encoding used in generated HTML pages
output.method -
chunk.datafile - Name of the temporary file used to hold chunking data
navig.graphics - Use graphics in navigational headers and footers?
navig.graphics.extension - Extension for navigational graphics
navig.graphics.path - Path to navigational graphics
navig.showtitles - Display titles in HTML headers and footers?
\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/rn18.html b/rosdocs/xsl/doc/html/rn18.html new file mode 100644 index 0000000..53e08ad --- /dev/null +++ b/rosdocs/xsl/doc/html/rn18.html @@ -0,0 +1,16 @@ + + + Profiling

Profiling


Following parameters can be used for attribute value based +profiling of your document. For more info about profiling look at +http://docbook.sourceforge.net/projects/xsl/doc/tools/profiling.html.

Table of Contents

profile.arch - Target profile for arch +attribute
profile.condition - Target profile for condition +attribute
profile.conformance - Target profile for conformance +attribute
profile.lang - Target profile for lang +attribute
profile.os - Target profile for os +attribute
profile.revision - Target profile for revision +attribute
profile.revisionflag - Target profile for revisionflag +attribute
profile.role - Target profile for role +attribute
profile.security - Target profile for security +attribute
profile.userlevel - Target profile for userlevel +attribute
profile.vendor - Target profile for vendor +attribute
profile.attribute - Name of user-specified profiling attribute
profile.value - Target profile for user-specified attribute
profile.separator - Separator character for compound profile values
\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/rn19.html b/rosdocs/xsl/doc/html/rn19.html new file mode 100644 index 0000000..9147d37 --- /dev/null +++ b/rosdocs/xsl/doc/html/rn19.html @@ -0,0 +1,3 @@ + + + HTML Help

HTML Help


Table of Contents

htmlhelp.encoding - Character encoding to use in files for HTML Help compiler.
htmlhelp.autolabel - Should tree-like ToC use autonumbering feature?
htmlhelp.chm - Filename of output HTML Help file.
htmlhelp.default.topic - Name of file with default topic
htmlhelp.hhp - Filename of project file.
htmlhelp.hhc - Filename of TOC file.
htmlhelp.hhp.tail - Additional content for project file.
htmlhelp.enumerate.images - Should be paths to all used images added to project file?
htmlhelp.force.map.and.alias - Should be [MAP] and [ALIAS] section added to project file unconditionaly?
htmlhelp.map.file - Filename of map file.
htmlhelp.alias.file - Filename of map file.
htmlhelp.hhc.section.depth - Depth of TOC for sections in a left pane.
htmlhelp.hhc.show.root - Should be entry for root element shown in ToC?
htmlhelp.hhc.folders.instead.books -
htmlhelp.title - Title of HTML Help
\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/root.filename.html b/rosdocs/xsl/doc/html/root.filename.html new file mode 100644 index 0000000..08ae030 --- /dev/null +++ b/rosdocs/xsl/doc/html/root.filename.html @@ -0,0 +1,6 @@ + + + root.filename

Name

root.filename — Identifies the name of the root HTML file when chunking

Synopsis

§112: §157

  1| <xsl:param name="root.filename"
+  2|            select="'index'"/>

Description

The root.filename is the base filename for +the chunk created for the root of each document processed. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/rootid.html b/rosdocs/xsl/doc/html/rootid.html new file mode 100644 index 0000000..1bfbb37 --- /dev/null +++ b/rosdocs/xsl/doc/html/rootid.html @@ -0,0 +1,10 @@ + + + rootid

Name

rootid — Specify the root element to format

Synopsis

§57: §157

  1| <xsl:param name="rootid"
+  2|            select="''"/>

Description

If rootid is specified, it must be the +value of an ID that occurs in the document being formatted. The entire +document will be loaded and parsed, but formatting will begin at the +element identified, rather than at the root. For example, this allows +you to process only chapter 4 of a book.

Because the entire document is available to the processor, automatic +numbering, cross references, and other dependencies are correctly +resolved.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/runinhead.default.title.end.punct.html b/rosdocs/xsl/doc/html/runinhead.default.title.end.punct.html new file mode 100644 index 0000000..e90df83 --- /dev/null +++ b/rosdocs/xsl/doc/html/runinhead.default.title.end.punct.html @@ -0,0 +1,5 @@ + + + runinhead.default.title.end.punct

Name

runinhead.default.title.end.punct — Default punctuation character on a run-in-head

Synopsis

§95: §157

  1| <xsl:param name="runinhead.default.title.end.punct"
+  2|            select="'.'"/>

Description

FIXME: +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/runinhead.title.end.punct.html b/rosdocs/xsl/doc/html/runinhead.title.end.punct.html new file mode 100644 index 0000000..5336338 --- /dev/null +++ b/rosdocs/xsl/doc/html/runinhead.title.end.punct.html @@ -0,0 +1,5 @@ + + + runinhead.title.end.punct

Name

runinhead.title.end.punct — Characters that count as punctuation on a run-in-head

Synopsis

§96: §157

  1| <xsl:param name="runinhead.title.end.punct"
+  2|            select="'.!?:'"/>

Description

FIXME: +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/saxon.character.representation.html b/rosdocs/xsl/doc/html/saxon.character.representation.html new file mode 100644 index 0000000..1608419 --- /dev/null +++ b/rosdocs/xsl/doc/html/saxon.character.representation.html @@ -0,0 +1,7 @@ + + + saxon.character.representation

Name

saxon.character.representation — Saxon character representation used in generated HTML pages

Synopsis

§120: §157

  1| <xsl:param name="saxon.character.representation"
+  2|            select="'entity;decimal'"/>

Description

This character representation is used in files generated by chunking stylesheet. If +you want to suppress entity references for characters with direct representation +in default.encoding, set this parameter to value native. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/section.autolabel.html b/rosdocs/xsl/doc/html/section.autolabel.html new file mode 100644 index 0000000..ef52558 --- /dev/null +++ b/rosdocs/xsl/doc/html/section.autolabel.html @@ -0,0 +1,5 @@ + + + section.autolabel

Name

section.autolabel — Are sections enumerated?

Synopsis

§40: §157

  1| <xsl:param name="section.autolabel"
+  2|            select="0"/>

Description

If true (non-zero), unlabeled sections will be enumerated. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/section.label.includes.component.label.html b/rosdocs/xsl/doc/html/section.label.includes.component.label.html new file mode 100644 index 0000000..ffcc604 --- /dev/null +++ b/rosdocs/xsl/doc/html/section.label.includes.component.label.html @@ -0,0 +1,6 @@ + + + section.label.includes.component.label

Name

section.label.includes.component.label — Do section labels include the component label?

Synopsis

§41: §157

  1| <xsl:param name="section.label.includes.component.label"
+  2|            select="0"/>

Description

If true (non-zero), section labels are prefixed with the label of the +component that contains them. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/segmentedlist.as.table.html b/rosdocs/xsl/doc/html/segmentedlist.as.table.html new file mode 100644 index 0000000..feaee6a --- /dev/null +++ b/rosdocs/xsl/doc/html/segmentedlist.as.table.html @@ -0,0 +1,5 @@ + + + segmentedlist.as.table

Name

segmentedlist.as.table — Format segmented lists as tables?

Synopsis

§102: §157

  1| <xsl:param name="segmentedlist.as.table"
+  2|            select="0"/>

Description

If non-zero, segmentedlists will be formatted as +tables.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/shade.verbatim.html b/rosdocs/xsl/doc/html/shade.verbatim.html new file mode 100644 index 0000000..6175d1d --- /dev/null +++ b/rosdocs/xsl/doc/html/shade.verbatim.html @@ -0,0 +1,4 @@ + + + shade.verbatim

Name

shade.verbatim — Should verbatim environments be shaded?

Synopsis

§99: §157

  1| <xsl:param name="shade.verbatim"
+  2|            select="0"/>

Description

FIXME:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/shade.verbatim.style.html b/rosdocs/xsl/doc/html/shade.verbatim.style.html new file mode 100644 index 0000000..07a516e --- /dev/null +++ b/rosdocs/xsl/doc/html/shade.verbatim.style.html @@ -0,0 +1,7 @@ + + + shade.verbatim.style

Name

shade.verbatim.style — Properties that specify the style of shaded verbatim listings

Synopsis

§100: §157

  1| <xsl:attribute-set name="shade.verbatim.style">
+   |   <xsl:attribute name="border">0</xsl:attribute>
+   |   <xsl:attribute name="bgcolor">#E0E0E0</xsl:attribute>
+   | </xsl:attribute-set>
+  5| 

Description

FIXME:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/show.comments.html b/rosdocs/xsl/doc/html/show.comments.html new file mode 100644 index 0000000..d9c6035 --- /dev/null +++ b/rosdocs/xsl/doc/html/show.comments.html @@ -0,0 +1,7 @@ + + + show.comments

Name

show.comments — Display comment elements?

Synopsis

§97: §157

  1| <xsl:param name="show.comments">1</xsl:param>

Description

If true (non-zero), comments will be displayed, otherwise they are suppressed. +Comments here refers to the comment element, +which will be renamed remark in DocBook V4.0, +not XML comments (<-- like this -->) which are unavailable. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/show.revisionflag.html b/rosdocs/xsl/doc/html/show.revisionflag.html new file mode 100644 index 0000000..09121ae --- /dev/null +++ b/rosdocs/xsl/doc/html/show.revisionflag.html @@ -0,0 +1,14 @@ + + + show.revisionflag

Name

show.revisionflag — Enable decoration of elements that have a revisionflag

Synopsis

§98: §157

  1| <xsl:param name="show.revisionflag">0</xsl:param>

Description

+If show.revisionflag is turned on, then the stylesheets +may produce additional markup designed to allow a CSS stylesheet to +highlight elements that have specific revisionflag settings.

The markup inserted will be usually be either a <span> or <div> +with an appropriate class attribute. (The value of +the class attribute will be the same as the value of the revisionflag +attribute). In some contexts, for example tables, where extra markup +would be structurally illegal, the class attribute will be added to the +appropriate container element.

In general, the stylesheets only test for revisionflag in contexts +where an importing stylesheet would have to redefine whole templates. +Most of the revisionflag processing is expected to be done by another +stylesheet, for example changebars.xsl.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/spacing.paras.html b/rosdocs/xsl/doc/html/spacing.paras.html new file mode 100644 index 0000000..3f33c89 --- /dev/null +++ b/rosdocs/xsl/doc/html/spacing.paras.html @@ -0,0 +1,7 @@ + + + spacing.paras

Name

spacing.paras — Insert additional <p> elements for spacing?

Synopsis

§48: §157

  1| <xsl:param name="spacing.paras"
+  2|            select="'0'"/>

Description

When non-zero, additional, empty paragraphs are inserted in +several contexts (for example, around informal figures), to create a +more pleasing visual appearance in many browsers. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/stylesheet.result.type.html b/rosdocs/xsl/doc/html/stylesheet.result.type.html new file mode 100644 index 0000000..c687927 --- /dev/null +++ b/rosdocs/xsl/doc/html/stylesheet.result.type.html @@ -0,0 +1,6 @@ + + + stylesheet.result.type

Name

stylesheet.result.type — Identifies the output format of this stylesheet

Synopsis

§63: §148

  1| <xsl:param name="stylesheet.result.type"
+  2|            select="'html'"/>

Description

The Saxon extension functions need to know if the output format +is HTML ('html') or XSL Formatting Objects ('fo'). This variable answers +that question. Valid settings are 'html' or 'fo'.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/suppress.navigation.html b/rosdocs/xsl/doc/html/suppress.navigation.html new file mode 100644 index 0000000..b83043f --- /dev/null +++ b/rosdocs/xsl/doc/html/suppress.navigation.html @@ -0,0 +1,5 @@ + + + suppress.navigation

Name

suppress.navigation — Disable header and footer navigation

Synopsis

§58: §157

  1| <xsl:param name="suppress.navigation">0</xsl:param>

Description

+If suppress.navigation is turned on, header and +footer navigation will be suppressed.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/table.border.color.html b/rosdocs/xsl/doc/html/table.border.color.html new file mode 100644 index 0000000..ca521c9 --- /dev/null +++ b/rosdocs/xsl/doc/html/table.border.color.html @@ -0,0 +1,4 @@ + + + table.border.color

Name

table.border.color —

Synopsis

§77: §157

  1| <xsl:param name="table.border.color"
+  2|            select="'black'"/>

Description

FIXME:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/table.border.style.html b/rosdocs/xsl/doc/html/table.border.style.html new file mode 100644 index 0000000..2af5f09 --- /dev/null +++ b/rosdocs/xsl/doc/html/table.border.style.html @@ -0,0 +1,4 @@ + + + table.border.style

Name

table.border.style —

Synopsis

§75: §157

  1| <xsl:param name="table.border.style"
+  2|            select="'solid'"/>

Description

FIXME:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/table.border.thickness.html b/rosdocs/xsl/doc/html/table.border.thickness.html new file mode 100644 index 0000000..e826641 --- /dev/null +++ b/rosdocs/xsl/doc/html/table.border.thickness.html @@ -0,0 +1,4 @@ + + + table.border.thickness

Name

table.border.thickness —

Synopsis

§76: §157

  1| <xsl:param name="table.border.thickness"
+  2|            select="'0.5pt'"/>

Description

FIXME:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/table.borders.with.css.html b/rosdocs/xsl/doc/html/table.borders.with.css.html new file mode 100644 index 0000000..6c6883c --- /dev/null +++ b/rosdocs/xsl/doc/html/table.borders.with.css.html @@ -0,0 +1,5 @@ + + + table.borders.with.css

Name

table.borders.with.css — Use CSS to specify table, row, and cell borders?

Synopsis

§74: §157

  1| <xsl:param name="table.borders.with.css"
+  2|            select="0"/>

Description

If true (non-zero), CSS will be used to draw table borders. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/tablecolumns.extension.html b/rosdocs/xsl/doc/html/tablecolumns.extension.html new file mode 100644 index 0000000..d8804e4 --- /dev/null +++ b/rosdocs/xsl/doc/html/tablecolumns.extension.html @@ -0,0 +1,7 @@ + + + tablecolumns.extension

Name

tablecolumns.extension — Enable the table columns extension function

Synopsis

§32: §157

  1| <xsl:param name="tablecolumns.extension"
+  2|            select="'1'"/>

Description

The table columns extension function adjusts the widths of table +columns in the HTML result to more accurately reflect the specifications +in the CALS table. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/tex.math.delims.html b/rosdocs/xsl/doc/html/tex.math.delims.html new file mode 100644 index 0000000..b85e552 --- /dev/null +++ b/rosdocs/xsl/doc/html/tex.math.delims.html @@ -0,0 +1,6 @@ + + + tex.math.delims

Name

tex.math.delims — Should be equations outputed for processing by TeX +automatically surrounded by math mode delimiters

Synopsis

§106: §157

  1| <xsl:param name="tex.math.delims"
+  2|            select="'1'"/>

Description

For compatibility with DSSSL based DBTeXMath from Allin Cottrell +you should set this parameter to 0.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/tex.math.file.html b/rosdocs/xsl/doc/html/tex.math.file.html new file mode 100644 index 0000000..9783932 --- /dev/null +++ b/rosdocs/xsl/doc/html/tex.math.file.html @@ -0,0 +1,6 @@ + + + tex.math.file

Name

tex.math.file — Name of temporary file for generating images from equations

Synopsis

§105: §157

  1| <xsl:param name="tex.math.file"
+  2|            select="'tex-math-equations.tex'"/>

Description

Name of auxiliary file for TeX equations. This file can be +processed by dvi2bitmap to get bitmap versions of equations for HTML +output.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/tex.math.in.alt.html b/rosdocs/xsl/doc/html/tex.math.in.alt.html new file mode 100644 index 0000000..ded5637 --- /dev/null +++ b/rosdocs/xsl/doc/html/tex.math.in.alt.html @@ -0,0 +1,26 @@ + + + tex.math.in.alt

Name

tex.math.in.alt — TeX notation used for equations

Synopsis

§104: §157

  1| <xsl:param name="tex.math.in.alt"
+  2|            select="''"/>

Description

If you want type math directly in TeX notation in equations, +this parameter specifies notation used. Currently are supported two +values -- plain and latex. Empty +value means that you are not using TeX math at all.

Preferred way for including TeX alternative of math is inside of +textobject element. Eg.:

<inlineequation>
+<inlinemediaobject>
+<imageobject>
+<imagedata fileref="eq1.gif"/>
+</imageobject>
+<textobject><phrase>E=mc squared</phrase></textobject>
+<textobject role="tex"><phrase>E=mc^2</phrase></textobject>
+</inlinemediaobject>
+</inlineequation>

If you are using graphic element, you can +store TeX inside alt element:

<inlineequation>
+<alt role="tex">a^2+b^2=c^2</alt>
+<graphic fileref="a2b2c2.gif"/>  
+</inlineequation>

If you want use this feature, you should process your FO with +PassiveTeX, which only supports TeX math notation. When calling +stylsheet, don't forget to specify also +passivetex.extensions=1.

If you want equations in HTML, just process generated file +tex-math-equations.tex by TeX or LaTeX. Then run +dvi2bitmap program on result DVI file. You will get images for +equations in your document.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/textinsert.extension.html b/rosdocs/xsl/doc/html/textinsert.extension.html new file mode 100644 index 0000000..32e9d8a --- /dev/null +++ b/rosdocs/xsl/doc/html/textinsert.extension.html @@ -0,0 +1,6 @@ + + + textinsert.extension

Name

textinsert.extension — Enable the textinsert extension element

Synopsis

§33: §157

  1| <xsl:param name="textinsert.extension"
+  2|            select="'1'"/>

Description

The textinsert extension element inserts the contents of a +a file into the result tree (as text). +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/toc.list.type.html b/rosdocs/xsl/doc/html/toc.list.type.html new file mode 100644 index 0000000..dfb5899 --- /dev/null +++ b/rosdocs/xsl/doc/html/toc.list.type.html @@ -0,0 +1,5 @@ + + + toc.list.type

Name

toc.list.type — Type of HTML list element to use for Tables of Contents

Synopsis

§23: §157

  1| <xsl:param name="toc.list.type">dl</xsl:param>

Description

When an automatically generated Table of Contents (or List of Titles) +is produced, this HTML element will be used to make the list. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/toc.section.depth.html b/rosdocs/xsl/doc/html/toc.section.depth.html new file mode 100644 index 0000000..bea040b --- /dev/null +++ b/rosdocs/xsl/doc/html/toc.section.depth.html @@ -0,0 +1,6 @@ + + + toc.section.depth

Name

toc.section.depth — How deep should recursive sections appear +in the TOC?

Synopsis

§24: §157

  1| <xsl:param name="toc.section.depth">2</xsl:param>

Description

Specifies the depth to which recursive sections should appear in the +TOC. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/ulink.target.html b/rosdocs/xsl/doc/html/ulink.target.html new file mode 100644 index 0000000..b0a4691 --- /dev/null +++ b/rosdocs/xsl/doc/html/ulink.target.html @@ -0,0 +1,6 @@ + + + ulink.target

Name

ulink.target — The HTML anchor target for ULinks

Synopsis

§81: §157

  1| <xsl:param name="ulink.target"
+  2|            select="'_top'"/>

Description

If ulink.target is set, its value will +be used for the target attribute +on anchors generated for ulinks.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/use.extensions.html b/rosdocs/xsl/doc/html/use.extensions.html new file mode 100644 index 0000000..f6cdcb9 --- /dev/null +++ b/rosdocs/xsl/doc/html/use.extensions.html @@ -0,0 +1,8 @@ + + + use.extensions

Name

use.extensions — Enable extensions

Synopsis

§34: §157

  1| <xsl:param name="use.extensions"
+  2|            select="'0'"/>

Description

If non-zero, extensions may be used. Each extension is +further controlled by its own parameter. But if +use.extensions is zero, no extensions will +be used. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/use.id.as.filename.html b/rosdocs/xsl/doc/html/use.id.as.filename.html new file mode 100644 index 0000000..0cf0293 --- /dev/null +++ b/rosdocs/xsl/doc/html/use.id.as.filename.html @@ -0,0 +1,7 @@ + + + use.id.as.filename

Name

use.id.as.filename — Use ID value of chunk elements as the filename?

Synopsis

§46: §157

  1| <xsl:param name="use.id.as.filename"
+  2|            select="'0'"/>

Description

If use.id.as.filename +is non-zero, the filename of chunk elements that have IDs will be +derived from the ID value. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/use.svg.html b/rosdocs/xsl/doc/html/use.svg.html new file mode 100644 index 0000000..5d3a743 --- /dev/null +++ b/rosdocs/xsl/doc/html/use.svg.html @@ -0,0 +1,7 @@ + + + use.svg

Name

use.svg — Allow SVG in the result tree?

Synopsis

§109: §157

  1| <xsl:param name="use.svg"
+  2|            select="1"/>

Description

If non-zero, SVG will be considered an acceptable image format. SVG +is passed through to the result tree, so correct rendering of the resulting +diagram depends on the formatter (FO processor or web browser) that is used +to process the output from the stylesheet.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/using.chunker.html b/rosdocs/xsl/doc/html/using.chunker.html new file mode 100644 index 0000000..800e0f2 --- /dev/null +++ b/rosdocs/xsl/doc/html/using.chunker.html @@ -0,0 +1,8 @@ + + + using.chunker

Name

using.chunker — Will the output be chunked?

Synopsis

§108: §153

  1| <xsl:param name="using.chunker"
+  2|            select="0"/>

Description

In addition to providing chunking, the chunker can cleanup a +number of XML to HTML issues. If the chunker is not being used, the +stylesheets try to avoid producing results that will not appear properly +in browsers. +

\ No newline at end of file diff --git a/rosdocs/xsl/doc/html/variablelist.as.table.html b/rosdocs/xsl/doc/html/variablelist.as.table.html new file mode 100644 index 0000000..8c5e5d2 --- /dev/null +++ b/rosdocs/xsl/doc/html/variablelist.as.table.html @@ -0,0 +1,7 @@ + + + variablelist.as.table

Name

variablelist.as.table — Format variablelists as tables?

Synopsis

§103: §157

  1| <xsl:param name="variablelist.as.table"
+  2|            select="0"/>

Description

If non-zero, variablelists will be formatted as +tables.

This parameter only applys to the HTML transformations. In the +FO case, proper list markup is robust enough to handle the formatting. +But see also variablelist.as.blocks.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/htmlhelp.html b/rosdocs/xsl/doc/htmlhelp.html new file mode 100644 index 0000000..6124ba0 --- /dev/null +++ b/rosdocs/xsl/doc/htmlhelp.html @@ -0,0 +1,32 @@ + + + Chapter 6. Using the XSL stylesheets to generate HTML Help

Chapter 6. Using the XSL stylesheets to generate HTML Help

Jirka Kosek

$Id$

HTML Help (HH) is a help format used in newer versions of Microsoft +Windows and applications written for that platform. The HTML Help format allows +you to pack several HTML files together with images, a table of contents, and +an index into a single file. Windows contains a browser for this file format +and full-text search is also supported on HH files. If you want to know +more about HH and its capabilities, visit the Microsoft HTML +Help Start Page.

How to generate your first HTML Help file from DocBook sources

Working with the HH stylesheets is the same as with other XSL DocBook +stylesheets. Simply run your favorite XSLT processor on your document +with the HH stylesheet:

saxon yourfile /path/to/stylesheets/htmlhelp/htmlhelp.xsl

The stylesheet imports the standard chunking stylesheet, so a set of +HTML files is created in the usual way. Other files are also created +– htmlhelp.hhp is the project file for the HTML +Help Compiler and toc.hhc holds the structure of your +document.

The language identifier for the overall HH file is taken from the top-most +element with a lang attribute in +your DocBook source. This is perfectly legal for documents in only one +language. If a language is not specified in the document, US English is +used. There is one problem – MS language codes are country-sensitive, +and this information is not available in the DocBook source. If +the stylesheet selects a bad code for you, edit +langcodes.xml, and remove all entries which have +your language code, but are located in an inappropriate country.

The title for the overall HH file is taken from the first title element in your +document. Full-text searching is automatically on. If your document +contains index terms, they are automatically converted to HH ActiveX +objects, which are recognized by the HTML Help compiler.

The stylesheet creates couple other files which are then used as an +input for the HTML Help Compiler (HHC), which is part of HTML Help Workshop. If you have HHC in your path, you can +start conversion to the HH format by running this command:

hhc htmlhelp.hhp

If you cannot stand to work without using your mouse, there is alternative +way. Just double-click on the htmlhelp.hhp file. HH Workshop will be +launched automatically. Generation of the HH file can be started by selecting +File->Compile from the application's +menu.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/index.html b/rosdocs/xsl/doc/index.html new file mode 100644 index 0000000..7a6c72a --- /dev/null +++ b/rosdocs/xsl/doc/index.html @@ -0,0 +1,4 @@ + + + DocBook XSL Stylesheet Documentation \ No newline at end of file diff --git a/rosdocs/xsl/doc/jrefhtml.xsl b/rosdocs/xsl/doc/jrefhtml.xsl new file mode 100644 index 0000000..5123b27 --- /dev/null +++ b/rosdocs/xsl/doc/jrefhtml.xsl @@ -0,0 +1,33 @@ + + + + + + + + + + + +

+ + + + + + copyright + + + + + + + + . + No Warranty + . +

+
+ +
diff --git a/rosdocs/xsl/doc/lib/ChangeLog b/rosdocs/xsl/doc/lib/ChangeLog new file mode 100644 index 0000000..15adf31 --- /dev/null +++ b/rosdocs/xsl/doc/lib/ChangeLog @@ -0,0 +1,20 @@ +2002-03-25 Norman Walsh + + * Makefile: Update documentation build to reflect use of lib.xweb + +2002-03-09 Jirka Kosek + + * Makefile: Removed hardcoded reference for XSLT processor as it is already set in Makefile.incl. Fixed typo in DocBook DTD URI. + +2001-08-06 Norman Walsh + + * Makefile: Documentation and documentation generation tweaks + +2001-06-20 Norman Walsh + + * Makefile: Use XT again (neither Saxon nor Xalan work) + +2001-04-03 Norman Walsh + + * .cvsignore, Makefile: New file. + diff --git a/rosdocs/xsl/doc/lib/lib.html b/rosdocs/xsl/doc/lib/lib.html new file mode 100644 index 0000000..923ab6f --- /dev/null +++ b/rosdocs/xsl/doc/lib/lib.html @@ -0,0 +1,418 @@ + + + XSL Library Template Reference

XSL Library Template Reference

DocBook Open Repository Team

$Id$ +


Table of Contents

Introduction
I. General Library Templates
dot.count - Returns the number of . characters in a string
copy-string - Returns count copies of a string
string.subst - Substitute one text string for another in a string
xpointer.idref - Extract IDREF from an XPointer
length-magnitude - Return the unqualified dimension from a length specification
length-units - Return the units from a length specification
length-spec - Return a fully qualified length specification
length-in-points - Returns the size, in points, of a specified length
pi-attribute - Extract a pseudo-attribute from a PI
lookup.key - Retrieve the value associated with a particular key in a table
xpath.location - Calculate the XPath child-sequence to the current node
II. Relative URI Functions
count.uri.path.depth - Count the number of path components in a relative URI
trim.common.uri.paths - Trim common leading path components from a relative URI
A. The Stylesheet

Introduction

This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets.

This is not intended to be “user” documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in “how it +works”.

Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-)

General Library Templates


Table of Contents

dot.count - Returns the number of . characters in a string
copy-string - Returns count copies of a string
string.subst - Substitute one text string for another in a string
xpointer.idref - Extract IDREF from an XPointer
length-magnitude - Return the unqualified dimension from a length specification
length-units - Return the units from a length specification
length-spec - Return a fully qualified length specification
length-in-points - Returns the size, in points, of a specified length
pi-attribute - Extract a pseudo-attribute from a PI
lookup.key - Retrieve the value associated with a particular key in a table
xpath.location - Calculate the XPath child-sequence to the current node

Name

dot.count — Returns the number of “.” characters in a string

Description

§1: §14

  1| <xsl:template name="dot.count">
+   |   <!-- Returns the number of "." characters in a string -->
+   |   <xsl:param name="string"/>
+   |   <xsl:param name="count"
+  5|              select="0"/>
+   |   <xsl:choose>
+   |     <xsl:when test="contains($string, '.')">
+   |       <xsl:call-template name="dot.count">
+   |         <xsl:with-param name="string"
+ 10|                         select="substring-after($string, '.')"/>
+   |         <xsl:with-param name="count"
+   |                         select="$count+1"/>
+   |       </xsl:call-template>
+   |     </xsl:when>
+ 15|     <xsl:otherwise>
+   |       <xsl:value-of select="$count"/>
+   |     </xsl:otherwise>
+   |   </xsl:choose>
+   | </xsl:template>

Name

copy-string — Returns “count” copies of a string

Description

§2: §14

  1| <xsl:template name="copy-string">
+   |   <!-- returns 'count' copies of 'string' -->
+   |   <xsl:param name="string"/>
+   |   <xsl:param name="count"
+  5|              select="0"/>
+   |   <xsl:param name="result"/>
+   | 
+   |   <xsl:choose>
+   |     <xsl:when test="$count>0">
+ 10|       <xsl:call-template name="copy-string">
+   |         <xsl:with-param name="string"
+   |                         select="$string"/>
+   |         <xsl:with-param name="count"
+   |                         select="$count - 1"/>
+ 15|         <xsl:with-param name="result">
+   |           <xsl:value-of select="$result"/>
+   |           <xsl:value-of select="$string"/>
+   |         </xsl:with-param>
+   |       </xsl:call-template>
+ 20|     </xsl:when>
+   |     <xsl:otherwise>
+   |       <xsl:value-of select="$result"/>
+   |     </xsl:otherwise>
+   |   </xsl:choose>
+ 25| </xsl:template>

Name

string.subst — Substitute one text string for another in a string

Description

The string.subst template replaces all +occurances of target in string +with replacement and returns the result. +

§3: §14

  1| <xsl:template name="string.subst">
+   |   <xsl:param name="string"/>
+   |   <xsl:param name="target"/>
+   |   <xsl:param name="replacement"/>
+  5| 
+   |   <xsl:choose>
+   |     <xsl:when test="contains($string, $target)">
+   |       <xsl:variable name="rest">
+   |         <xsl:call-template name="string.subst">
+ 10|           <xsl:with-param name="string"
+   |                           select="substring-after($string, $target)"/>
+   |           <xsl:with-param name="target"
+   |                           select="$target"/>
+   |           <xsl:with-param name="replacement"
+ 15|                           select="$replacement"/>
+   |         </xsl:call-template>
+   |       </xsl:variable>
+   |       <xsl:value-of select="concat(substring-before($string, $target),                                    $replacement,                                    $rest)"/>
+   |     </xsl:when>
+ 20|     <xsl:otherwise>
+   |       <xsl:value-of select="$string"/>
+   |     </xsl:otherwise>
+   |   </xsl:choose>
+   | </xsl:template>

Name

xpointer.idref — Extract IDREF from an XPointer

Description

The xpointer.idref template returns the +ID portion of an XPointer which is a pointer to an ID within the current +document, or the empty string if it is not.

In other words, xpointer.idref returns +“foo” when passed either #foo +or #xpointer(id('foo')), otherwise it returns +the empty string.

§4: §14

  1| <xsl:template name="xpointer.idref">
+   |   <xsl:param name="xpointer">http://...</xsl:param>
+   |   <xsl:choose>
+   |     <xsl:when test="starts-with($xpointer, '#xpointer(id(')">
+  5|       <xsl:variable name="rest"
+   |                     select="substring-after($xpointer, '#xpointer(id(')"/>
+   |       <xsl:variable name="quote"
+   |                     select="substring($rest, 1, 1)"/>
+   |       <xsl:value-of select="substring-before(substring-after($xpointer, $quote), $quote)"/>
+ 10|     </xsl:when>
+   |     <xsl:when test="starts-with($xpointer, '#')">
+   |       <xsl:value-of select="substring-after($xpointer, '#')"/>
+   |     </xsl:when>
+   |     <!-- otherwise it's a pointer to some other document -->
+ 15|   </xsl:choose>
+   | </xsl:template>

Name

length-magnitude — Return the unqualified dimension from a length specification

Description

The length-magnitude template returns the +unqualified length ("20" for "20pt") from a dimension. +

§5: §14

  1| <xsl:template name="length-magnitude">
+   |   <xsl:param name="length"
+   |              select="'0pt'"/>
+   | 
+  5|   <xsl:choose>
+   |     <xsl:when test="string-length($length) = 0"/>
+   |     <xsl:when test="substring($length,1,1) = '0'                     or substring($length,1,1) = '1'                     or substring($length,1,1) = '2'                     or substring($length,1,1) = '3'                     or substring($length,1,1) = '4'                     or substring($length,1,1) = '5'                     or substring($length,1,1) = '6'                     or substring($length,1,1) = '7'                     or substring($length,1,1) = '8'                     or substring($length,1,1) = '9'                     or substring($length,1,1) = '.'">
+   |       <xsl:value-of select="substring($length,1,1)"/>
+   |       <xsl:call-template name="length-magnitude">
+ 10|         <xsl:with-param name="length"
+   |                         select="substring($length,2)"/>
+   |       </xsl:call-template>
+   |     </xsl:when>
+   |   </xsl:choose>
+ 15| </xsl:template>

Name

length-units — Return the units from a length specification

Description

The length-units template returns the +units ("pt" for "20pt") from a length. If no units are supplied on the +length, the defauilt.units are returned.

§6: §14

  1| <xsl:template name="length-units">
+   |   <xsl:param name="length"
+   |              select="'0pt'"/>
+   |   <xsl:param name="default.units"
+  5|              select="'px'"/>
+   |   <xsl:variable name="magnitude">
+   |     <xsl:call-template name="length-magnitude">
+   |       <xsl:with-param name="length"
+   |                       select="$length"/>
+ 10|     </xsl:call-template>
+   |   </xsl:variable>
+   | 
+   |   <xsl:variable name="units">
+   |     <xsl:value-of select="substring($length, string-length($magnitude)+1)"/>
+ 15|   </xsl:variable>
+   | 
+   |   <xsl:choose>
+   |     <xsl:when test="$units = ''">
+   |       <xsl:value-of select="$default.units"/>
+ 20|     </xsl:when>
+   |     <xsl:otherwise>
+   |       <xsl:value-of select="$units"/>
+   |     </xsl:otherwise>
+   |   </xsl:choose>
+ 25| </xsl:template>

Name

length-spec — Return a fully qualified length specification

Description

The length-spec template returns the +qualified length from a dimension. If an unqualified length is given, +the default.units will be added to it. +

§7: §14

  1| <xsl:template name="length-spec">
+   |   <xsl:param name="length"
+   |              select="'0pt'"/>
+   |   <xsl:param name="default.units"
+  5|              select="'px'"/>
+   | 
+   |   <xsl:variable name="magnitude">
+   |     <xsl:call-template name="length-magnitude">
+   |       <xsl:with-param name="length"
+ 10|                       select="$length"/>
+   |     </xsl:call-template>
+   |   </xsl:variable>
+   | 
+   |   <xsl:variable name="units">
+ 15|     <xsl:value-of select="substring($length, string-length($magnitude)+1)"/>
+   |   </xsl:variable>
+   | 
+   |   <xsl:value-of select="$magnitude"/>
+   |   <xsl:choose>
+ 20|     <xsl:when test="$units='cm'                     or $units='mm'                     or $units='in'                     or $units='pt'                     or $units='pc'                     or $units='px'                     or $units='em'">
+   |       <xsl:value-of select="$units"/>
+   |     </xsl:when>
+   |     <xsl:when test="$units = ''">
+   |       <xsl:value-of select="$default.units"/>
+ 25|     </xsl:when>
+   |     <xsl:otherwise>
+   |       <xsl:message>
+   |         <xsl:text>Unrecognized unit of measure: </xsl:text>
+   |         <xsl:value-of select="$units"/>
+ 30|         <xsl:text>.</xsl:text>
+   |       </xsl:message>
+   |     </xsl:otherwise>
+   |   </xsl:choose>
+   | </xsl:template>

Name

length-in-points — Returns the size, in points, of a specified length

Description

The length-in-points template converts a length +specification to points and returns that value as an unqualified +number. +

Caution

There is no way for the template to infer the size of an +em. It relies on the default em.size +which is initially 10 (for 10pt).

Similarly, converting pixesl to points relies on the +pixels.per.inch parameter which is initially +90. +

§8: §14

  1| <xsl:template name="length-in-points">
+   |   <xsl:param name="length"
+   |              select="'0pt'"/>
+   |   <xsl:param name="em.size"
+  5|              select="10"/>
+   |   <xsl:param name="pixels.per.inch"
+   |              select="90"/>
+   | 
+   |   <xsl:variable name="magnitude">
+ 10|     <xsl:call-template name="length-magnitude">
+   |       <xsl:with-param name="length"
+   |                       select="$length"/>
+   |     </xsl:call-template>
+   |   </xsl:variable>
+ 15| 
+   |   <xsl:variable name="units">
+   |     <xsl:value-of select="substring($length, string-length($magnitude)+1)"/>
+   |   </xsl:variable>
+   | 
+ 20|   <xsl:choose>
+   |     <xsl:when test="$units = 'pt'">
+   |       <xsl:value-of select="$magnitude"/>
+   |     </xsl:when>
+   |     <xsl:when test="$units = 'cm'">
+ 25|       <xsl:value-of select="$magnitude div 2.54 * 72.0"/>
+   |     </xsl:when>
+   |     <xsl:when test="$units = 'mm'">
+   |       <xsl:value-of select="$magnitude div 25.4 * 72.0"/>
+   |     </xsl:when>
+ 30|     <xsl:when test="$units = 'in'">
+   |       <xsl:value-of select="$magnitude * 72.0"/>
+   |     </xsl:when>
+   |     <xsl:when test="$units = 'pc'">
+   |       <xsl:value-of select="$magnitude div 6.0 * 72.0"/>
+ 35|     </xsl:when>
+   |     <xsl:when test="$units = 'px'">
+   |       <xsl:value-of select="$magnitude div $pixels.per.inch * 72.0"/>
+   |     </xsl:when>
+   |     <xsl:when test="$units = 'em'">
+ 40|       <xsl:value-of select="$magnitude * $em.size"/>
+   |     </xsl:when>
+   |     <xsl:otherwise>
+   |       <xsl:message>
+   |         <xsl:text>Unrecognized unit of measure: </xsl:text>
+ 45|         <xsl:value-of select="$units"/>
+   |         <xsl:text>.</xsl:text>
+   |       </xsl:message>
+   |     </xsl:otherwise>
+   |   </xsl:choose>
+ 50| </xsl:template>

Name

pi-attribute — Extract a pseudo-attribute from a PI

Description

The pi-attribute template extracts a pseudo-attribute +from a processing instruction. For example, given the PI +“<?foo bar="1" baz='red'?>”,

<xsl:call-template name="pi-attribute">
+  <xsl:with-param name="pis" select="processing-instruction('foo')"/>
+  <xsl:with-param name="attribute" select="'baz'"/>
+</xsl:call-template>

will return “red”. This template returns the first matching +attribute that it finds. Presented with processing instructions that +contain badly formed pseudo-attributes (missing or unbalanced quotes, +for example), the template may silently return erroneous results.

§9: §14

  1| <xsl:template name="pi-attribute">
+   |   <xsl:param name="pis"
+   |              select="processing-instruction('')"/>
+   |   <xsl:param name="attribute">filename</xsl:param>
+  5|   <xsl:param name="count">1</xsl:param>
+   | 
+   |   <xsl:choose>
+   |     <xsl:when test="$count>count($pis)">
+   |       <!-- not found -->
+ 10|     </xsl:when>
+   |     <xsl:otherwise>
+   |       <xsl:variable name="pi">
+   |         <xsl:value-of select="$pis[$count]"/>
+   |       </xsl:variable>
+ 15|       <xsl:choose>
+   |         <xsl:when test="contains($pi,concat($attribute, '='))">
+   |           <xsl:variable name="rest"
+   |                         select="substring-after($pi,concat($attribute,'='))"/>
+   |           <xsl:variable name="quote"
+ 20|                         select="substring($rest,1,1)"/>
+   |           <xsl:value-of select="substring-before(substring($rest,2),$quote)"/>
+   |         </xsl:when>
+   |         <xsl:otherwise>
+   |           <xsl:call-template name="pi-attribute">
+ 25|             <xsl:with-param name="pis"
+   |                             select="$pis"/>
+   |             <xsl:with-param name="attribute"
+   |                             select="$attribute"/>
+   |             <xsl:with-param name="count"
+ 30|                             select="$count + 1"/>
+   |           </xsl:call-template>
+   |         </xsl:otherwise>
+   |       </xsl:choose>
+   |     </xsl:otherwise>
+ 35|   </xsl:choose>
+   | </xsl:template>

Name

lookup.key — Retrieve the value associated with a particular key in a table

Description

Given a table of space-delimited key/value pairs, +the lookup.key template extracts the value associated +with a particular key.

§10: §14

  1| <xsl:template name="lookup.key">
+   |   <xsl:param name="key"
+   |              select="''"/>
+   |   <xsl:param name="table"
+  5|              select="''"/>
+   | 
+   |   <xsl:if test="contains($table, ' ')">
+   |     <xsl:choose>
+   |       <xsl:when test="substring-before($table, ' ') = $key">
+ 10|         <xsl:variable name="rest"
+   |                       select="substring-after($table, ' ')"/>
+   |         <xsl:choose>
+   |           <xsl:when test="contains($rest, ' ')">
+   |             <xsl:value-of select="substring-before($rest, ' ')"/>
+ 15|           </xsl:when>
+   |           <xsl:otherwise>
+   |             <xsl:value-of select="$rest"/>
+   |           </xsl:otherwise>
+   |         </xsl:choose>
+ 20|       </xsl:when>
+   |       <xsl:otherwise>
+   |         <xsl:call-template name="lookup.key">
+   |           <xsl:with-param name="key"
+   |                           select="$key"/>
+ 25|           <xsl:with-param name="table"
+   |                           select="substring-after(substring-after($table,' '), ' ')"/>
+   |         </xsl:call-template>
+   |       </xsl:otherwise>
+   |     </xsl:choose>
+ 30|   </xsl:if>
+   | </xsl:template>

Name

xpath.location — Calculate the XPath child-sequence to the current node

Description

The xpath.location template calculates the +absolute path from the root of the tree to the current element node. +

§11: §14

  1| <xsl:template name="xpath.location">
+   |   <xsl:param name="node"
+   |              select="."/>
+   |   <xsl:param name="path"
+  5|              select="''"/>
+   | 
+   |   <xsl:variable name="next.path">
+   |     <xsl:value-of select="local-name($node)"/>
+   |     <xsl:if test="$path != ''">/</xsl:if>
+ 10|     <xsl:value-of select="$path"/>
+   |   </xsl:variable>
+   | 
+   |   <xsl:choose>
+   |     <xsl:when test="$node/parent::*">
+ 15|       <xsl:call-template name="xpath.location">
+   |         <xsl:with-param name="node"
+   |                         select="$node/parent::*"/>
+   |         <xsl:with-param name="path"
+   |                         select="$next.path"/>
+ 20|       </xsl:call-template>
+   |     </xsl:when>
+   |     <xsl:otherwise>
+   |       <xsl:text>/</xsl:text>
+   |       <xsl:value-of select="$next.path"/>
+ 25|     </xsl:otherwise>
+   |   </xsl:choose>
+   | </xsl:template>

Relative URI Functions


Introduction

These functions manipulate relative URI references.

The following assumptions must hold true:

  1. All URIs are relative.

  2. No URI contains the “../” sequence +which would effectively move “up” the hierarchy.

If these assumptions do not hold, the results are unpredictable.

Table of Contents

count.uri.path.depth - Count the number of path components in a relative URI
trim.common.uri.paths - Trim common leading path components from a relative URI

Name

count.uri.path.depth — Count the number of path components in a relative URI

Description

This function counts the number of path components in a relative URI.

§12: §14

  1| <xsl:template name="count.uri.path.depth">
+   |   <xsl:param name="filename"
+   |              select="''"/>
+   |   <xsl:param name="count"
+  5|              select="0"/>
+   | 
+   |   <xsl:choose>
+   |     <xsl:when test="contains($filename, '/')">
+   |       <xsl:call-template name="count.uri.path.depth">
+ 10|         <xsl:with-param name="filename"
+   |                         select="substring-after($filename, '/')"/>
+   |         <xsl:with-param name="count"
+   |                         select="$count + 1"/>
+   |       </xsl:call-template>
+ 15|     </xsl:when>
+   |     <xsl:otherwise>
+   |       <xsl:value-of select="$count"/>
+   |     </xsl:otherwise>
+   |   </xsl:choose>
+ 20| </xsl:template>

Name

trim.common.uri.paths — Trim common leading path components from a relative URI

Description

This function trims common leading path components from a relative URI.

§13: §14

  1| <xsl:template name="trim.common.uri.paths">
+   |   <xsl:param name="uriA"
+   |              select="''"/>
+   |   <xsl:param name="uriB"
+  5|              select="''"/>
+   |   <xsl:param name="return"
+   |              select="'A'"/>
+   | 
+   |   <xsl:choose>
+ 10|     <xsl:when test="contains($uriA, '/') and contains($uriB, '/')                     and substring-before($uriA, '/') = substring-before($uriB, '/')">
+   |       <xsl:call-template name="trim.common.uri.paths">
+   |         <xsl:with-param name="uriA"
+   |                         select="substring-after($uriA, '/')"/>
+   |         <xsl:with-param name="uriB"
+ 15|                         select="substring-after($uriB, '/')"/>
+   |         <xsl:with-param name="return"
+   |                         select="$return"/>
+   |       </xsl:call-template>
+   |     </xsl:when>
+ 20|     <xsl:otherwise>
+   |       <xsl:choose>
+   |         <xsl:when test="$return = 'A'">
+   |           <xsl:value-of select="$uriA"/>
+   |         </xsl:when>
+ 25|         <xsl:otherwise>
+   |           <xsl:value-of select="$uriB"/>
+   |         </xsl:otherwise>
+   |       </xsl:choose>
+   |     </xsl:otherwise>
+ 30|   </xsl:choose>
+   | </xsl:template>

Appendix A. The Stylesheet

The lib.xsl stylesheet is just a wrapper +around these functions.

§14

  1| 
+   | <!-- ********************************************************************
+   |      $Id$
+   |      ********************************************************************
+  5| 
+   |      This file is part of the XSL DocBook Stylesheet distribution.
+   |      See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+   |      and other information.
+   | 
+ 10|      This module implements DTD-independent functions
+   | 
+   |      ******************************************************************** -->
+   | 
+   | <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ 15|                 exclude-result-prefixes="src"
+   |                 version="1.0">
+   | 
+   | §1. dot.count
+   | §2. copy-string
+ 20| §3. string.subst
+   | §4. xpointer.idref
+   | §5. length-magnitude
+   | §6. length-units
+   | §7. length-spec
+ 25| §8. length-in-points
+   | §9. pi-attribute
+   | §10. lookup.key
+   | §11. xpath.location
+   | §12. count.uri.path.depth
+ 30| §13. trim.common.uri.paths
+   | 
+   | </xsl:stylesheet>
\ No newline at end of file diff --git a/rosdocs/xsl/doc/pr01.html b/rosdocs/xsl/doc/pr01.html new file mode 100644 index 0000000..709f6dd --- /dev/null +++ b/rosdocs/xsl/doc/pr01.html @@ -0,0 +1,4 @@ + + + Preface

Preface

This is the beginnings of documentation for the DocBook XSL +Stylesheets.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/publishing.html b/rosdocs/xsl/doc/publishing.html new file mode 100644 index 0000000..c1bfbf0 --- /dev/null +++ b/rosdocs/xsl/doc/publishing.html @@ -0,0 +1,56 @@ + + + Chapter 1. DocBook XSL

Chapter 1. DocBook XSL

Bob Stayton

+$Id$ +

Using XSL tools to publish DocBook + documents

There is a growing list of tools to process DocBook + documents using XSL stylesheets. Each tool implements parts + or all of the XSL standard, which actually has several + components: +

Extensible Stylesheet Language (XSL)

A language for expressing stylesheets written + in XML. It includes the formatting object language, but + refers to separate documents for the transformation + language and the path language.

XSL Transformation (XSLT)

The part of XSL for transforming XML documents + into other XML documents, HTML, or text. It can be used to + rearrange the content and generate new content.

XML Path Language (XPath)

A language for addressing parts of an XML + document. It is used to find the parts of your document to + apply different styles to. All XSL processors use this + component.

To publish HTML from your XML documents, you just + need an XSLT engine. To get to print, you need an XSLT + engine to produce formatting objects (FO), which then must + be processed with a formatting object processor to produce + PostScript or PDF output.

James Clark's XT was the first useful XSLT engine, + and it is still in wide use. It is written in Java, so it + runs on many platforms, and it is free ( + http://www.jclark.com). + XT comes with James Clark's nonvalidating parser XP, but + you can substitute a different Java parser. Here is a + simple example of using XT from the Unix command line to + produce HTML: You'll need to alter your + CLASSPATH environment variable to + include the path to where you put the + .jar files from the XT + distribution.

CLASSPATH=xt.jar:xp.jar:sax.jar
+export CLASSPATH
+java  com.jclark.xsl.sax.Driver filename.xml docbook/html/docbook.xsl > output.html

If you replace the HTML stylesheet with a + formatting object stylesheet, XT will produce a formatting + object file. Then you can convert that to PDF using FOP, a + formatting object processor available for free from the + Apache XML Project ( + http://xml.apache.org). + Here is an example of that two stage processing:

CLASSPATH=xt.jar:xp.jar:sax.jar:fop.jar
+export CLASSPATH
+java  com.jclark.xsl.sax.Driver filename.xml docbook/fo/docbook.xsl > output.fo
+java  org.apache.fop.apps.CommandLine output.fo output.pdf

As of this writing, some other XSLT processors to + choose from include:

For print output, these additional tools are available for processing formatting objects:

\ No newline at end of file diff --git a/rosdocs/xsl/doc/ref.css b/rosdocs/xsl/doc/ref.css new file mode 100644 index 0000000..9f53f2d --- /dev/null +++ b/rosdocs/xsl/doc/ref.css @@ -0,0 +1,31 @@ +div.informalexample { background-color: #d5dee3; + border-top-width: 2px; + border-top-style: double; + border-top-color: #d3d3d3; + border-bottom-width: 2px; + border-bottom-style: double; + border-bottom-color: #d3d3d3; + padding: 4px; + margin: 0em; + margin-left: 2em; + } + +pre.programlisting { whitespace: pre; + font-family: monospace; + background-color: #d5dee3; + border-top-width: 1px; + border-top-style: single; + border-top-color: #d3d3d3; + border-bottom-width: 1px; + border-bottom-style: single; + border-bottom-color: #d3d3d3; + padding: 4px; + margin: 0em; + } + +div.informalexample pre { whitespace: pre; + font-family: monospace; + border-top-width: 0px; + border-bottom-width: 0px; + padding: 0px; + } diff --git a/rosdocs/xsl/doc/reference.css b/rosdocs/xsl/doc/reference.css new file mode 100644 index 0000000..b4ff6c7 --- /dev/null +++ b/rosdocs/xsl/doc/reference.css @@ -0,0 +1,4 @@ +/* reference.css, a stylesheet for reference documentation */ + +div.legalnotice { font-size: 80%; } + diff --git a/rosdocs/xsl/doc/reference.html b/rosdocs/xsl/doc/reference.html new file mode 100644 index 0000000..37bd731 --- /dev/null +++ b/rosdocs/xsl/doc/reference.html @@ -0,0 +1,9 @@ + + + DocBook XSL Stylesheet Reference Documentation

DocBook XSL Stylesheet Reference Documentation

Norman Walsh

+$Id$ +


Table of Contents

Preface

Preface

This constitutes only the most rudimentary beginnings of +documentation for these stylesheets.

At present, the only documentation available is the set +of references generated from the stylesheet sources:

The reference to the template system is also available, +but at this point it's probably even less useful than the preceding +references.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/reference.xsl b/rosdocs/xsl/doc/reference.xsl new file mode 100644 index 0000000..a2dfd7b --- /dev/null +++ b/rosdocs/xsl/doc/reference.xsl @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + + copyright + + + + + + + + + + + + . + No Warranty + . +

+
+ +
diff --git a/rosdocs/xsl/doc/template/ChangeLog b/rosdocs/xsl/doc/template/ChangeLog new file mode 100644 index 0000000..6bff7de --- /dev/null +++ b/rosdocs/xsl/doc/template/ChangeLog @@ -0,0 +1,8 @@ +2002-03-09 Jirka Kosek + + * Makefile: Removed hardcoded reference for XSLT processor as it is already set in Makefile.incl. Fixed typo in DocBook DTD URI. + +2001-09-09 Norman Walsh + + * .cvsignore, Makefile: New file. + diff --git a/rosdocs/xsl/doc/template/titlepage.html b/rosdocs/xsl/doc/template/titlepage.html new file mode 100644 index 0000000..0b399e4 --- /dev/null +++ b/rosdocs/xsl/doc/template/titlepage.html @@ -0,0 +1,659 @@ + + + + + Template Stylesheet Reference + + + + +
+
+

Template Stylesheet Reference +

+
+
+

Norman Walsh

+
+
+

+ $Id$ + +

+
+
+ +
+
+
+
+
+
+
+
+

Introduction +

+
+
+

This is technical reference documentation for the DocBook XSL + Stylesheets; it documents (some of) the parameters, templates, and + other elements of the stylesheets. +

+

This is not intended to be “user” documentation. + It is provided for developers writing customization layers for the + stylesheets, and for anyone who's interested in “how it + works”. +

+

Although I am trying to be thorough, this documentation is known + to be incomplete. Don't forget to read the source, too :-) +

+
+
+

Table of Contents

+
+
t:templates - Construct a stylesheet for the templates provided +
+
xsl:* - Copy xsl: elements straight through +
+
t:titlepage - Create the templates necessary to construct a title page +
+
@* (in copy.literal.atts mode) - Copy t:titlepage attributes +
+
t:titlepage-content - Create templates for the content of one side of a title page +
+
t:titlepage-separator - Create templates for the separator +
+
t:titlepage-before - Create templates for what precedes a title page +
+
* (in copy mode) - Copy elements +
+
@* (in copy mode) - Copy attributes +
+
* (in document.order mode) - Create rules to process titlepage elements in document order +
+
* (in document.order mode) - Create rules to process titlepage elements in stylesheet order +
+
* (in titlepage.specialrules mode) - Create templates for special rules +
+
* (in titlepage.subrules mode) - Create template for individual special rules +
+
t:or - Process the t:or special rule +
+
t:or (in titlepage.subrules mode) - Process the t:or special rule in + titlepage.subrules mode +
+
element-or-list - Construct the "or-list" used in the select attribute for + special rules. +
+
+
+
+
+
+

Name

+

t:templates — Construct a stylesheet for the templates provided

+
+
+

Synopsis

<xsl:template match="t:templates"/>
+
+ + +

The t:templates element is the root of a + set of templates. This template creates an appropriate + xsl:stylesheet for the templates. +

+ + + + +

If the t:templates element has a + base-stylesheet attribute, an + xsl:import statement is constructed for it. +

+ + +
+
+
+
+
+
+
+

Name

+

xsl:* — Copy xsl: elements straight through

+
+
+

Synopsis

<xsl:template match="xsl:*"/>
+
+ + +

This template simply copies the xsl: elements + straight through into the result tree. +

+ + +
+
+
+
+
+
+
+

Name

+

t:titlepage — Create the templates necessary to construct a title page

+
+
+

Synopsis

<xsl:template match="t:titlepage"/>
+
+ + +

The t:titlepage element creates a set of + templates for processing the titlepage for an element. The + “root” of this template set is the template named + “wrapper.titlepage”. That is the + template that should be called to generate the title page. + +

+ + + + +

The t:titlepage element has three attributes: + + + +

+
+
element
+
+

The name of the source document element for which + these templates apply. In other words, to make a title page for the + article element, set the + element attribute to + “article”. This attribute is required. + +

+
+
wrapper
+
+

The entire title page can be wrapped with an element. + This attribute identifies that element. + +

+
+
class
+
+

If the class attribute + is set, a class attribute with this + value will be added to the wrapper element that surrounds the entire + title page. + +

+
+
+
+ + +

+ + + + +

Any other attributes are copied through literally to the + wrapper element. +

+ + + + +

The content of a t:titlepage is one or + more t:titlepage-content, + t:titlepage-separator, and + t:titlepage-before elements. +

+ + + + +

Each of these elements may be provided for the “recto” + and “verso” sides of the title page. +

+ + + +
+
+
+
+
+
+
+

Name

+

@* (in copy.literal.atts mode) — Copy t:titlepage attributes

+
+
+

Synopsis

<xsl:template match="@*" mode="copy.literal.atts"/>
+
+ + +

This template copies all of the “other” attributes + from a t:titlepage element onto the specified + wrapper. +

+ + +
+
+
+
+
+
+
+

Name

+

t:titlepage-content — Create templates for the content of one side of a title page

+
+
+

Synopsis

<xsl:template match="t:titlepage-content"/>
+
+ + +

The title page content, that is, the elements from the source + document that are rendered on the title page, can be controlled independently + for the recto and verso sides of the title page. +

+ + + + +

The t:titlepage-content element has two attributes: + + + +

+
+
side
+
+

Identifies the side of the page to which this title + page content applies. The + side attribute is required and + must be set to either + “recto” or + “verso”. In addition, you must specify + exactly one t:titlepage-content for each side + within each t:titlepage. +

+
+
order
+
+

Indicates how the order of the elements presented on + the title page is determined. If the + order is + “document”, the elements are presented + in document order. Otherwise (if the + order is + “stylesheet”), the elements are presented + in the order that they appear in the template (and consequently in + the stylesheet). +

+
+
+
+ + +

+ + + + +

The content of a t:titlepage-content element is + a list of element names. These names should be unqualified. They identify + the elements in the source document that should appear on the title page. + +

+ + + + +

Each element may have a single attribute: + predicate. The value of this + attribute is used as a predicate for the expression that matches + the element on which it occurs. +

+ + + + +

In other words, to put only the first three authors on the + recto-side of a title + page, you could specify: + +

+  <t:titlepage-contents side="recto">
+    <!-- other titlepage elements -->
+    <author predicate="[count(previous-sibling::author)<2]"/>
+    <!-- other titlepage elements -->
+  </t:titlepage-contents>
+
+

+ + + + +

Usually, the elements so named are empty. But it is possible to + make one level of selection within them. Suppose that you want to + process authorgroup elements on the title page, but + you want to select only proper authors, editors, or corporate authors, + not collaborators or other credited authors. +

+ + + + +

In that case, you can put a t:or group inside + the authorgroup element: + +

+  <t:titlepage-contents side="recto">
+    <!-- other titlepage elements -->
+    <authorgroup>
+      <t:or>
+        <author/>
+        <editor/>
+        <corpauthor/>
+      </t:or>
+    </authorgroup>
+    <!-- other titlepage elements -->
+  </t:titlepage-contents>
+
+

+ + + + +

This will have the effect of automatically generating a template + for processing authorgroups in the title page mode, + selecting only the specified children. If you need more complex processing, + you'll have to construct the templates by hand. +

+ + + +
+
+
+
+
+
+
+

Name

+

t:titlepage-separator — Create templates for the separator

+
+
+

Synopsis

<xsl:template match="t:titlepage-separator"/>
+
+ + +

The title page is separated from the content which follows it by + the markup specified in the t:titlepage-separator + element. +

+ + +
+
+
+
+
+
+
+

Name

+

t:titlepage-before — Create templates for what precedes a title page

+
+
+

Synopsis

<xsl:template match="t:titlepage-before"/>
+
+ + +

Each side of the title page is preceded by the markup specified + in the t:titlepage-before element for that + side. +

+ + +
+
+
+
+
+
+
+

Name

+

* (in copy mode) — Copy elements

+
+
+

Synopsis

<xsl:template match="*" mode="copy"/>
+
+ + +

This template simply copies the elements that it applies to + straight through into the result tree. +

+ + +
+
+
+
+
+
+
+

Name

+

@* (in copy mode) — Copy attributes

+
+
+

Synopsis

<xsl:template match="@*" mode="copy"/>
+
+ + +

This template simply copies the attributes that it applies to + straight through into the result tree. +

+ + +
+
+
+
+
+
+
+

Name

+

* (in document.order mode) — Create rules to process titlepage elements in document order

+
+
+

Synopsis

<xsl:template match="*" mode="document.order"/>
+
+ + +

This template is called to process all of the children of the + t:titlepage-content element. It creates the hairy + select expression necessary to process each of those elements in + the title page. +

+ + + + +

Note that this template automatically handles the case where + some DocBook elements, like title and subtitle, can occur both inside + the *info elements where metadata is usually stored and outside. + +

+ + + + +

It also automatically calculates the name for the *info container + and handles elements that have historically had containers with different + names. +

+ + + +
+
+
+
+
+
+
+

Name

+

* (in document.order mode) — Create rules to process titlepage elements in stylesheet order

+
+
+

Synopsis

<xsl:template match="*" mode="document.order"/>
+
+ + +

This template is called to process all of the children of the + t:titlepage-content element. It creates the set + of xsl:apply-templates elements necessary + process each of those elements in the title page. +

+ + + + +

Note that this template automatically handles the case where + some DocBook elements, like title and subtitle, can occur both inside + the *info elements where metadata is usually stored and outside. + +

+ + + + +

It also automatically calculates the name for the *info container + and handles elements that have historically had containers with different + names. +

+ + + +
+
+
+
+
+
+
+

Name

+

* (in titlepage.specialrules mode) — Create templates for special rules

+
+
+

Synopsis

<xsl:template match="*" mode="titlepage.specialrules"/>
+
+ + +

This template is called to process all of the descendants of the + t:titlepage-content element that require special + processing. At present, that's just t:or elements. + +

+ + +
+
+
+
+
+
+
+

Name

+

* (in titlepage.subrules mode) — Create template for individual special rules

+
+
+

Synopsis

<xsl:template match="*" mode="titlepage.subrules"/>
+
+ + +

This template is called to process the children of special + template elements. + +

+ + +
+
+
+
+
+
+
+

Name

+

t:or — Process the t:or special rule

+
+
+

Synopsis

<xsl:template match="t:or"/><xsl:template match="t:or" mode="titlepage.subrules"/>
+
+ + +

This template processes t:or.

+ + +
+
+
+
+
+
+
+

Name

+

t:or (in titlepage.subrules mode) — Process the t:or special rule in + titlepage.subrules mode +

+
+
+

Synopsis

<xsl:template match="t:or" mode="titlepage.subrules"/>
+
+ + +

The titlepage.subrules mode doesn't apply to t:or, so just + reprocess this node in the normal mode. +

+ + +
+
+
+
+
+
+
+

Name

+

element-or-list — Construct the "or-list" used in the select attribute for + special rules. +

+
+
+

Synopsis

<xsl:template name="element-or-list">
+<xsl:param name="elements" select="*"/>
+<xsl:param name="element.count" select="count($elements)"/>
+<xsl:param name="count" select="1"/>
+<xsl:param name="orlist"/>
+  ...
+</xsl:template>
+
+ + +

Walk through each of the children of t:or, producing the + text of the select attribute. +

+ + +
+
+
+ + \ No newline at end of file diff --git a/rosdocs/xsl/doc/tools/ChangeLog b/rosdocs/xsl/doc/tools/ChangeLog new file mode 100644 index 0000000..4f142be --- /dev/null +++ b/rosdocs/xsl/doc/tools/ChangeLog @@ -0,0 +1,12 @@ +2002-03-09 Jirka Kosek + + * Makefile: Removed hardcoded reference for XSLT processor as it is already set in Makefile.incl. Fixed typo in DocBook DTD URI. + +2001-08-09 Norman Walsh + + * Makefile: Use saxon and docbook.xsl + +2001-07-31 Jirka Kosek + + * .cvsignore, Makefile: New file. + diff --git a/rosdocs/xsl/doc/tools/profile-chain.png b/rosdocs/xsl/doc/tools/profile-chain.png new file mode 100644 index 0000000000000000000000000000000000000000..0095fb8cfc2b44f2a0f0ee43fa6413a3d4eee355 GIT binary patch literal 13799 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 + + Profiling DocBook documents

Profiling DocBook documents

An easy way to personalize your content for several target audiences

Jirka Kosek

E-mail: <jirka@kosek.cz> +Web: http://www.kosek.cz
+ +

+$Id$ +


Introduction

There are many situations when we need to generate several +versions of document with slightly different content from the single +source. User guide for program with both Windows and Linux port will +differ only in several topics related to installation and +configuration. It would be futile to create and maintain two different +documents in sync. Another real world example – in addition to +standard documentation we can have guide enriched with problem +solutions from help-desk. It also may be better to store these +information in one document in order to make them absolutely +synchronized.

Several high-end editing tools have built in support for +profiling. User can easily add target audiences for any part of +document in a simple to use dialog box. User can select desired target +audience before printing or generation of other output formats. +Software will automatically filter out excess parts of document and +pass rest of it to rendering engine. However, if your budget is +limited you can not use commercial solutions. In the following text I +will show you simple but flexible profiling solution based on freely +available technologies.

$0 solution

In the document we mark parts targeted for particular platform +or user group. When generating final output version of document we +must do profiling i.e. personalization for particular target audience. +Only some parts of document are processed. DocBook has built in +support for marking document parts – on almost every element you +can use attributes like os, userlevel and arch. We can store identifier of operating +system, user group or hardware architecture here. You can also store +profiling information into some general use attribute like role. Example 1 +shows how document with profiling information might +look like.

Example 1. Sample DocBook document with profiling information

<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE chapter PUBLIC '-//OASIS//DTD DocBook XML V4.1.2//EN'
+	                 'http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd'>
+<chapter>
+<title>How to setup SGML catalogs</title>
+
+<para>Many existing SGML tools are able to map public identifiers to
+files on your local file system. Mapping is specified in so called
+catalog file. List of catalog files to use is stored in environment
+variable <envar>SGML_CATALOG_FILES</envar>.</para>
+
+<para os="unix">On Unix systems you can set this variable by invoking
+command <command>export SGML_CATALOG_FILES=/usr/lib/catalog</command>
+on command line. If you want maintain value of the variable between
+sessions, place this command into startup file,
+e.g. <filename>.profile</filename>.</para>
+
+<para os="win">In Windows NT/2000 you can set environment variable by
+issuing command <menuchoice><guimenu>Start</guimenu>
+<guisubmenu>Settings</guisubmenu> <guisubmenu>Control
+Pannel</guisubmenu>
+<guimenuitem>System</guimenuitem></menuchoice>. Then select
+<guilabel>Advanced</guilabel> card in the dialog box and click on the
+<guibutton>Environment Variables...</guibutton> button. Using the
+<guibutton>New</guibutton> button you can add new environment variable
+into your system.</para>
+
+</chapter>

DocBook documents are often processed by freely available DSSSL +and XSL stylesheets. Most DocBook users who want profiling starts with +creation of customization layer which filters out some parts of +document. This approach has several serious disadvantages. First, you +must create profiling customization for all output formats as they are +using different stylesheets. This mean that you must maintain same +code on several places or do some dirty tricks with importing several +stylesheets into one stylesheet.

Second drawback is more serious. If you override templates to +filter out documents, you can get almost correct output in a single +run of stylesheet. If you will closely look on generated output, you +will recognize that in the table of contents there are entries for +items which should be completely removed by profiling. Similar +problems are in several other places – e.g. skipped auto +generated numbers for tables, pictures and so on. To correct this one +should change all stylesheet code which generates ToC, +cross-references and so on to ignore filtered content. This is very +complicated task and will disallow you to easily upgrade to new +versions of stylesheets.

Thus we must use different approach. Profiling should be totally +separate step which will filter out some parts of original document +and will create new correct DocBook document. When processed with any +DocBook tool or stylesheet you will get always correct output from the +new standalone document now. Big advantage of this method is +compatibility with all DocBook tools. Filtered document is normal +DocBook document and it does not require any special processing. Of +course, there is also one disadvantage – formating is now two +stage process – first you must filter source document and in +second step you could apply normal stylesheets on result of filtering. +This may be little bit inconvenient for many users, but whole task can +be very easily automated by set of shell scripts or batch files or +whatever else. Starting from version 1.50 of XSL stylesheets you can +do profiling in one step together with normal stylesheet +processing.

Figure 1. Profiling stream

When implementing filter, you can use many different approaches +and tools. I decided to use XSLT stylesheet. Writing necessary filter +is very easy in XSLT and many users have XSLT processor already +installed. Profiling stylesheet is part of standard XSL stylesheets +distribution and can be found in file +profiling/profile.xsl.

Usage

If you want to generate Unix specific guide from our sample +document (Example 1) you can do it in the following +way. (We assume, that command saxon is able to run +XSLT processor on your machine. You can use your preffered XSLT +processor instead.)

saxon -o unixsample.xml sample.xml profile.xsl "os=unix"

We are processing source document +sample.xml with profiling stylesheet +profile.xsl. Result of transformation is stored +in file unixsample.xml. By setting parameter +os to value unix, we tell +that only general and Unix specific parts of document should be copied +to the result document. If you will look at generated result, you will +notice that this is correct DocBook document:

<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE chapter
+  PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" 
+         "http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd">
+<chapter>
+<title>How to setup SGML catalogs</title>
+
+<para>Many existing SGML tools are able to map public identifiers to
+files on your local file system. Mapping is specified in so called
+catalog file. List of catalog files to use is stored in environment
+variable <envar>SGML_CATALOG_FILES</envar>.</para>
+
+<para os="unix">On Unix systems you can set this variable by invoking
+command <command moreinfo="none">export SGML_CATALOG_FILES=/usr/lib/catalog</command>
+on command line. If you want maintain value of the variable between
+sessions, place this command into startup file,
+e.g. <filename moreinfo="none">.profile</filename>.</para>
+
+</chapter>

It is same as the input document, only Windows specific +paragraph is missing. Same procedure can be used to get Windows +specific version of document. The result generated by profiling +stylesheet have correct document type declaration (DOCTYPE). Without +it some tools would not be able to process them further. On the result +of filtering you can run common tools – for example DSSSL or XSL +stylesheets.

Stylesheet support several attributes for specifying profiling +values. They are summarized in the following list.

profile.os

This parameter is used for specifying operating system (os attribute) for which you want get +profiled version of document.

profile.userlevel

This parameter is used for specifying user level (userlevel attribute) for which you want get +profiled version of document.

profile.arch

This parameter is used for specifying hardware architecture (arch attribute) for which you want get +profiled version of document.

profile.condition, profile.conformance, profile.revision, profile.revisionflag, profile.security, profile.vendor, profile.role, profile.lang

These parameters can be used to specify target profile for +corresponding attributes.

profile.attribute

Name of attribute on which profiling should be based. It can be +used if profiling information is stored in other attributes then +os, userlevel and arch.

profile.value

This parameter is used for specifying value for attribute +selected by attr parameter.

E.g. setting profile.attribute=os and +profile.value=unix is same as setting +os=unix.

profile.separator

Separator for multiple target audience identifiers. Default is +;.

Current implementation is able to handle multiple profiling +targets in one attribute. In that case you must separate identifiers +by semicolon:

<para os="unix;mac;win">...</para>

It is possible to use different separator than semicolon by +setting sep parameter. There cann't be spaces +between separator and target names.

You can also perform profiling based on several profiling +attributes in a single step as stylesheet can handle all parameters +simultaneously. For example to get hypothetical guide for Windows +beginners, you can run profiling like this:

saxon -o xsample.xml sample.xml profile.xsl "profile.os=win" "profile.userlevel=beginner"

As you can see above described profiling process can be used to +substitute SGML marked sections mechanism which is missing in XML.

Single pass profiling

If you are using XSL stylesheets version 1.50 and later with +EXSLT enabled XSLT processor (Saxon, xsltproc, Xalan) you can do +profiling and transformation to HTML or FO in a single step. To do this +use stylesheet with prefix profile- instead of +normal one (e.g. profile-docbook.xsl, +profile-chunk.xsl or +profile-htmlhelp.xsl). For example to get HTML +version of profiled document use:

saxon -o sample.html sample.xml .../html/profile-docbook.xsl "profile.os=win" "profile.userlevel=beginner"

No additional processing is necessary. If you want to use +profiling with your customized stylesheets import profiling-able +stylesheet instead of normal one.

Conclusion

Profiling is necessary in many larger DocBook applications. It +can be quite easily implemented by simple XSLT stylesheet which is +presented here. This mechanism can also be used to simulate behavior +of marked sections known from SGML.

\ No newline at end of file diff --git a/rosdocs/xsl/doc/warranty.html b/rosdocs/xsl/doc/warranty.html new file mode 100644 index 0000000..07ae48b --- /dev/null +++ b/rosdocs/xsl/doc/warranty.html @@ -0,0 +1,10 @@ + + + Warranty

Warranty

THE SOFTWARE IS PROVIDED “AS IS”, +WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL NORMAN WALSH OR ANY +OTHER CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT +OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE.

\ No newline at end of file diff --git a/rosdocs/xsl/docsrc/ChangeLog b/rosdocs/xsl/docsrc/ChangeLog new file mode 100644 index 0000000..c94a5b0 --- /dev/null +++ b/rosdocs/xsl/docsrc/ChangeLog @@ -0,0 +1,85 @@ +2002-04-26 Michael Smith + + * publishing.xml: added links to Daniel Veillard's DocBook page + +2002-03-27 Michael Smith + + * publishing.xml: Added admon: Don't use XT; XT examples -> Saxon; added info on xsltproc + +2002-03-25 Norman Walsh + + * Makefile: The lib documenation is now built with Literate XML + + * reference.xml: Update documentation build to reflect use of lib.xweb + +2002-03-09 Jirka Kosek + + * warranty.xml: Removed hardcoded reference for XSLT processor as it is already set in Makefile.incl. Fixed typo in DocBook DTD URI. + +2002-01-06 Norman Walsh + + * clrefentry.xsl: Added link to ref.css + + * documentation.xml: Add Jirka to the documentation credits + +2001-12-17 Jirka Kosek + + * documentation.xml, htmlhelp.xml: HTML Help documentation moved to common place. + +2001-11-28 Norman Walsh + + * clrefentry.xsl, jrefhtml.xsl, reference.xml: Documentation hackery for FAQ--incomplete + +2001-11-12 Norman Walsh + + * clrefentry.xsl: New file. + +2001-10-13 Norman Walsh + + * Makefile, lrefentry.xsl, reference.xml: Changes to make the documentation work with the new litprog sources + +2001-10-08 Norman Walsh + + * lrefentry.xsl: New file. + +2001-09-29 Norman Walsh + + * extensions.xml: Improved instructions for using Saxon/Xalan extensions + +2001-08-13 Norman Walsh + + * documentation.xml: Added link to profiling documentation + +2001-08-06 Norman Walsh + + * xsl2jref.xsl: Documentation and documentation generation tweaks + +2001-08-01 Norman Walsh + + * xsl2jref.xsl: Expand the sf.net reference to sourceforge.net because of DNS problems + +2001-07-31 Jirka Kosek + + * documentation.xml: Added stylesheet for profiling together with documentation. + +2001-07-09 Norman Walsh + + * xsl2jref.xsl: Fixed doctype for jrefentry DTD + +2001-06-20 Norman Walsh + + * copyright.xml, reference.xml: Fixed FPI + +2001-05-13 Norman Walsh + + * xsl2jref.xsl: Include param.xsl for chunker + +2001-04-03 Norman Walsh + + * Makefile, jrefhtml.xsl, xsl2jref.xsl: Documentation fixes + +2001-04-02 Norman Walsh + + * Makefile, copyright.xml, documentation.xml, extensions.xml, jrefhtml.xsl, legalnotice.xml, publishing.xml, reference.xml, template-example.xml, template-example.xsl, templates.xml, warranty.xml, xsl2jref.xsl: + New file. + diff --git a/rosdocs/xsl/docsrc/clrefentry.xsl b/rosdocs/xsl/docsrc/clrefentry.xsl new file mode 100644 index 0000000..26cf9e5 --- /dev/null +++ b/rosdocs/xsl/docsrc/clrefentry.xsl @@ -0,0 +1,97 @@ + + + + + + + + + + + + + § + + + + + + + + § + + + . + + + + + + + + + § + + + + + + + + + + + + + + + + + + + + + +
+

+ + + + + : + + , + + + + + +

+
+ + + + + +
+              
+            
+
+ +
+              
+            
+
+
+
+
+ +
diff --git a/rosdocs/xsl/docsrc/common/ChangeLog b/rosdocs/xsl/docsrc/common/ChangeLog new file mode 100644 index 0000000..7f961a5 --- /dev/null +++ b/rosdocs/xsl/docsrc/common/ChangeLog @@ -0,0 +1,8 @@ +2001-04-03 Norman Walsh + + * Makefile: Documentation fixes + +2001-04-02 Norman Walsh + + * .cvsignore, Makefile: New file. + diff --git a/rosdocs/xsl/docsrc/common/common.xml b/rosdocs/xsl/docsrc/common/common.xml new file mode 100644 index 0000000..462ab3f --- /dev/null +++ b/rosdocs/xsl/docsrc/common/common.xml @@ -0,0 +1,398 @@ + + + + + +$Id$ + +Walsh +Norman +19992000 +Norman Walsh + + +Common Template Reference + + +
Introduction + + +This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets. + + + +This is not intended to be user documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in how it +works. + + + +Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-) + +
+
+ + + + +is.component +Tests if a given node is a component-level element + + +<xsl:template name="is.component"> +<xsl:param name="node" select="."/> + ... +</xsl:template> + + + +This template returns '1' if the specified node is a component +(Chapter, Appendix, etc.), and '0' otherwise. + + + + +node + + +The node which is to be tested. + + + + + + + +This template returns '1' if the specified node is a component +(Chapter, Appendix, etc.), and '0' otherwise. + + + + + +is.section +Tests if a given node is a section-level element + + +<xsl:template name="is.section"> +<xsl:param name="node" select="."/> + ... +</xsl:template> + + + +This template returns '1' if the specified node is a section +(Section, Sect1, Sect2, etc.), and '0' otherwise. + + + + +node + + +The node which is to be tested. + + + + + + + +This template returns '1' if the specified node is a section +(Section, Sect1, Sect2, etc.), and '0' otherwise. + + + + + +section.level +Returns the hierarchical level of a section. + + +<xsl:template name="section.level"> +<xsl:param name="node" select="."/> + ... +</xsl:template> + + + +This template calculates the hierarchical level of a section. +Hierarchically, components are top level, so a +sect1 is at level 2, sect3 is +at level 3, etc. + + + +Recursive sections are calculated down to the sixth level. + + + + +node + + +The section node for which the level should be calculated. +Defaults to the context node. + + + + + + + +The section level, 2, 3, etc. + + + + + + +qanda.section.level +Returns the hierarchical level of a QandASet. + + +<xsl:template name="qanda.section.level"/> + + + +This template calculates the hierarchical level of a QandASet. + + + + +The level, 1, 2, etc. + + + + + + +select.mediaobject +Selects an appropriate media object from a list + + +<xsl:template name="select.mediaobject"> +<xsl:param name="olist" select="imageobject|imageobjectco |videoobject|audioobject|textobject"/> +<xsl:param name="count">1</xsl:param> + ... +</xsl:template> + + + +This template examines a list of media objects (usually the +children of a mediaobject or inlinemediaobject) and processes +the "right" object. + + + +This template relies on a template named "is.acceptable.mediaobject" +to determine if a given object is an acceptable graphic. The semantics +of media objects is that the first acceptable graphic should be used. + + + + +If no acceptable object is located, nothing happens. + + + + +olist + + +The node list of potential objects to examine. + + + + + + + +Calls <xsl:apply-templates> on the selected object. + + + + + +is.acceptable.mediaobject +Returns '1' if the specified media object is recognized. + + +<xsl:template name="is.acceptable.mediaobject"> +<xsl:param name="object"/> + ... +</xsl:template> + + + +This template examines a media object and returns '1' if the +object is recognized as a graphic. + + + + +object + + +The media object to consider. + + + + + + + +0 or 1 + + + + + +check.id.unique +Warn users about references to non-unique IDs + + +<xsl:template name="check.id.unique"> +<xsl:param name="linkend"/> + ... +</xsl:template> + + + +If passed an ID in linkend, +check.id.unique prints +a warning message to the user if either the ID does not exist or +the ID is not unique. + + + + + +check.idref.targets +Warn users about incorrectly typed references + + +<xsl:template name="check.idref.targets"> +<xsl:param name="linkend"/> +<xsl:param name="element-list"/> + ... +</xsl:template> + + + +If passed an ID in linkend, +check.idref.targets makes sure that the element +pointed to by the link is one of the elements listed in +element-list and warns the user otherwise. + + + + + +copyright.years +Print a set of years with collapsed ranges + + +<xsl:template name="copyright.years"> +<xsl:param name="years"/> +<xsl:param name="print.ranges" select="1"/> +<xsl:param name="single.year.ranges" select="0"/> +<xsl:param name="firstyear" select="0"/> +<xsl:param name="nextyear" select="0"/> + ... +</xsl:template> + + + +This template prints a list of year elements with consecutive +years printed as a range. In other words: + + +<year>1992</year> +<year>1993</year> +<year>1994</year> + + +is printed 1992-1994, whereas: + + +<year>1992</year> +<year>1994</year> + + +is printed 1992, 1994. + + + +This template assumes that all the year elements contain only +decimal year numbers, that the elements are sorted in increasing +numerical order, that there are no duplicates, and that all the years +are expressed in full century+year +(1999 not 99) notation. + + + + +years + + +The initial set of year elements. + + + +print.ranges + + +If non-zero, multi-year ranges are collapsed. If zero, all years +are printed discretely. + + + +single.year.ranges + + +If non-zero, two consecutive years will be printed as a range, +otherwise, they will be printed discretely. In other words, a single +year range is 1991-1992 but discretely it's +1991, 1992. + + + + + + + +This template returns the formatted list of years. + + + + + +find.path.params +Search in a table for the "best" match for the node + + +<xsl:template name="find.path.params"> +<xsl:param name="node" select="."/> +<xsl:param name="table" select="''"/> +<xsl:param name="location"> + <xsl:call-template name="xpath.location"> + <xsl:with-param name="node" select="$node"/> + </xsl:call-template> + </xsl:param> + ... +</xsl:template> + + + +This template searches in a table for the value that most-closely +(in the typical best-match sense of XSLT) matches the current (element) +node location. + + +
diff --git a/rosdocs/xsl/docsrc/copyright.xml b/rosdocs/xsl/docsrc/copyright.xml new file mode 100644 index 0000000..dff3ea7 --- /dev/null +++ b/rosdocs/xsl/docsrc/copyright.xml @@ -0,0 +1,30 @@ + + +Copyright + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and 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. + +Except as contained in this notice, the names of individuals +credited with contribution to this software shall not be used in +advertising or otherwise to promote the sale, use or other dealings in +this Software without prior written authorization from the individuals +in question. + +Any stylesheet derived from this Software that is publically +distributed will be identified with a different name and the version +strings in any derived Software will be changed so that no possibility +of confusion between the derived package and this Software will +exist. + diff --git a/rosdocs/xsl/docsrc/documentation.xml b/rosdocs/xsl/docsrc/documentation.xml new file mode 100644 index 0000000..e95a6a6 --- /dev/null +++ b/rosdocs/xsl/docsrc/documentation.xml @@ -0,0 +1,71 @@ + + + + + + + +]> + + +DocBook XSL Stylesheet Documentation + + + +Walsh +Norman +Stayton +Bob +Kosek +Jiří + + + +199920002001 +Norman Walsh + + + +Preface + +This is the beginnings of documentation for the DocBook XSL +Stylesheets. + + + +&publishing.xml; +&extensions.xml; + + +Tools documentation + +There are several tools useful for usage with DocBook in +directory tools. + + + +Profiling + + + + + + +Reference Documentation + +Reference documentation is also available: + + + + + + + +&templates.xml; +&htmlhelp.xml; + + diff --git a/rosdocs/xsl/docsrc/extensions.xml b/rosdocs/xsl/docsrc/extensions.xml new file mode 100644 index 0000000..beb1044 --- /dev/null +++ b/rosdocs/xsl/docsrc/extensions.xml @@ -0,0 +1,138 @@ + +Extensions + + +Extensions are supported in recent releases of Saxon and Xalan. + +These extensions enable callouts, numbered program listings, and +the direct inclusion of text: + + + + + + + + + + + + +@rem = '--*-Perl-*-- +@echo off +perl.exe %_batchname %$ +goto endofperl +@rem '; + +# Compress mail... + +require 'n:/home/nwalsh/lib/cygnus.pl'; +require 'timelocal.pl'; +use Cwd; + +select (STDERR); $| = 1; +select (STDOUT); $| = 1; + +@DIRS = ("/home/nwalsh/Mail"); +while (@DIRS) { + $dir = shift @DIRS; + opendir (DIR, $dir); + while ($fname = readdir(DIR)) { + $file = "$dir/$fname"; + next if ! -d $file; + next if $fname =~ /^\.\.?$/; + + print "$file\n"; + push (@DIRS, $file); + &compress ($file); + } +} + +exit; + + +The prologue handles embedding a Perl script in a DOS batch file. + + +The goto statement, interpreted by the DOS batch +file interpreter, skips over the body of the Perl script. + + +The require statement sources in external program +fragments. + + +The use statement is similar, but has additional +utility. It is a Perl5 function. (Note that this callout area specifies +both a line and a column.) + + +This is a user subroutine call. + + + + +
+Saxon Extensions + +The DocBook XSL Stylesheets include a set of Java extensions for +Saxon. + +
Installation + +The extensions are included in the distribution in +extensions/saxon642.jar and +extensions/saxon643.jar. Use the former for Saxon +version 6.4.2 and the latter for Saxon 6.4.3 or Saxon 6.4.4. Saxon +version 6.4.1 and all prior releases contained a significant bug, they +are not supported. + +Just make sure that the right jar file is in your CLASSPATH when +you run Saxon. + +
+ +
Using the Extensions + +For compatibility with other processors, the extensions are disabled +by default. To enable the extensions, turn on +$saxon.extensions, for example by passing +saxon.extensions=1 to Saxon. + +For more control over the specific extensions, see +. +
+
+ +
+Xalan Extensions + +The DocBook XSL Stylesheets include a set of Java extensions for +XalanJ version 2. Extensions are not provided for XalanC at this time. + +
Installation + +The extensions are included in the distribution in +extensions/xalan2.jar. +Xalan 1 is not supported. + +Just make sure that the jar file is in your CLASSPATH when +you run Xalan. + +
+ +
Using the Extensions + +For compatibility with other processors, the extensions are disabled +by default. To enable the extensions, turn on +$xalan.extensions, for example by passing +-PARAM xalan.extensions 1 to Xalan. + +For more control over the specific extensions, see +. +
+
+ +
diff --git a/rosdocs/xsl/docsrc/fo/ChangeLog b/rosdocs/xsl/docsrc/fo/ChangeLog new file mode 100644 index 0000000..0908065 --- /dev/null +++ b/rosdocs/xsl/docsrc/fo/ChangeLog @@ -0,0 +1,12 @@ +2001-10-13 Norman Walsh + + * Makefile: Changes to make the documentation work with the new litprog sources + +2001-04-03 Norman Walsh + + * Makefile: Documentation fixes + +2001-04-02 Norman Walsh + + * .cvsignore, Makefile: New file. + diff --git a/rosdocs/xsl/docsrc/fo/param.xml b/rosdocs/xsl/docsrc/fo/param.xml new file mode 100644 index 0000000..d8c8ea7 --- /dev/null +++ b/rosdocs/xsl/docsrc/fo/param.xml @@ -0,0 +1,4264 @@ + + + + + + +FO Parameter Reference + +$Id$ + + + Walsh + Norman + + + 1999 + 2000 + 2001 + Norman Walsh + + + +Introduction + +This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets. + +This reference describes each of the HTML Stylesheet parameters. +These are the easily customizable parts of the stylesheet. +If you want to specify an alternate value for one or more of these +parameters, you can do so in a driver stylesheet. + +For example, if you want to change the html.stylesheet +to reference.css, you might create a driver +stylesheet like this: + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + + <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"/> + + <xsl:param name="html.stylesheet">reference.css</xsl:param> + +</xsl:stylesheet> + +Naturally, you have to change the +href attribute on +<xsl:import> to point to +docbook.xsl on your system. (Or +chunk.xsl, if you're using chunking.) + +This is not intended to be user documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in how it +works. + +Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-) + + +Admonitions + + +admon.graphics +boolean + + +admon.graphics +Use graphics in admonitions? + + + +<xsl:param name="admon.graphics" + select="0"/> + + +Description + +If true (non-zero), admonitions are presented in an alternate style that uses +a graphic. Default graphics are provided in the distribution. + + + + + + + +admon.graphics.extension +string + + +admon.graphics.extension +Extension for admonition graphics + + + +<xsl:param name="admon.graphics.extension" + select="'.png'"/> + + +Description + +Sets the extension to use on admonition graphics. + + + + + + +admon.graphics.path +string + + +admon.graphics.path +Path to admonition graphics + + + +<xsl:param name="admon.graphics.path">images/</xsl:param> + + +Description + +Sets the path, probably relative to the directory where the HTML +files are created, to the admonition graphics. + + + + + + + +admonition.title.properties +To set the style for admonitions titles. + + + +<xsl:attribute-set name="admonition.title.properties"> + <xsl:attribute name="font-size">14pt</xsl:attribute> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="hyphenate">false</xsl:attribute> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> +</xsl:attribute-set> + +Description +How do you want admonitions titles styled? +Set the font-size, weight etc to the style required + + + + + + +admonition.properties +To set the style for admonitions. + + + +<xsl:attribute-set name="admonition.properties"/> + +Description +How do you want admonitions styled? +Set the font-size, weight etc to the style required + + + + + + +Callouts + + +callout.defaultcolumn +integer + + +callout.defaultcolumn +Indicates what column callouts appear in by default + + + +<xsl:param name="callout.defaultcolumn" + select="'60'"/> + + +Description + +If a callout does not identify a column (for example, if it uses +the linerange unit), +it will appear in the default column. + + + + + + + +callout.graphics +boolean + + +callout.graphics +Use graphics for callouts? + + + +<xsl:param name="callout.graphics" + select="'1'"/> + + +Description + +If non-zero, callouts are presented with graphics (e.g., reverse-video +circled numbers instead of "(1)", "(2)", etc.). +Default graphics are provided in the distribution. + + + + + + + +callout.graphics.extension +string + + +callout.graphics.extension +Extension for callout graphics + + + +<xsl:param name="callout.graphics.extension" + select="'.png'"/> + + +Description + +Sets the extension to use on callout graphics. + + + + + + +callout.graphics.number.limit +integer + + +callout.graphics.number.limit +Number of the largest callout graphic + + + +<xsl:param name="callout.graphics.number.limit" + select="'10'"/> + + +Description + +If callout.graphics +is non-zero, graphics are used to represent +callout numbers. The value of +callout.graphics.number.limit +is +the largest number for which a graphic exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. + + + + + + + +callout.graphics.path +string + + +callout.graphics.path +Path to callout graphics + + + +<xsl:param name="callout.graphics.path" + select="'images/callouts/'"/> + + +Description + +Sets the path, probably relative to the directory where the HTML +files are created, to the callout graphics. + + + + + + + +callout.unicode +boolean + + +callout.unicode +Use Unicode characters rather than images for callouts. + + + +<xsl:param name="callout.unicode" + select="0"/> + + +Description + +The stylesheets can use either an image of the numbers one to ten, or the single Unicode character which represents the numeral, in white on a black background. Use this to select the Unicode character option. + + + + + + + +callout.unicode.font + + + +callout.unicode.font +Specify a font for Unicode glyphs + + + +<xsl:param name="callout.unicode.font" + select="'ZapfDingbats'"/> + + +Description + +The name of the font to specify around Unicode callout glyphs. +If set to the empty string, no font change will occur. + + + + + + + +callout.unicode.number.limit +integer + + +callout.unicode.number.limit +Number of the largest callout graphic + + + +<xsl:param name="callout.unicode.number.limit" + select="'10'"/> + + +Description + +If callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.number.limit +is +the largest number for which a unicode character exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. + + + + + + + +callout.unicode.start.character +integer + + +callout.unicode.start.character +First Unicode character to use, decimal value. + + + +<xsl:param name="callout.unicode.start.character" + select="10102"/> + + +Description + +If callout.graphics is zero and callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.start.character +is the decimal unicode value used for callout number one. Currently, +only 10102 is supported in the stylesheets for this parameter. + + + + + + + +callouts.extension +boolean + + +callouts.extension +Enable the callout extension + + + +<xsl:param name="callouts.extension" + select="'1'"/> + + +Description + +The callouts extension processes areaset +elements in ProgramListingCO and other text-based +callout elements. + + + + + + + +ToC/LoT/Index Generation + + +autotoc.label.separator +string + + +autotoc.label.separator +Separator between labels and titles in the ToC + + + +<xsl:param name="autotoc.label.separator" + select="'. '"/> + + +Description + +String to use to seperate labels and title in a table of contents. + + + + + + +process.empty.source.toc +boolean + + +process.empty.source.toc +FIXME: + + + +<xsl:param name="process.empty.source.toc" + select="0"/> + + +Description + +FIXME: + + + + + + + +process.source.toc +boolean + + +process.source.toc +FIXME: + + + +<xsl:param name="process.source.toc" + select="0"/> + + +Description + +FIXME: + + + + + + + +generate.toc +table + + +generate.toc +Control generation of ToCs and LoTs + + + + +<xsl:param name="generate.toc"> +/appendix toc +/article toc +book toc,figure,table,example,equation +/chapter toc +part toc +/preface toc +qandadiv toc +qandaset toc +reference toc +/section toc +set toc +</xsl:param> + + +Description + +This parameter has a structured value. It is a table of space-delimited +path/value pairs. Each path identifies some element in the source document +using a restricted subset of XPath (only the implicit child axis, no wildcards, +no predicates). Paths can be either relative or absolute. + +When processing a particular element, the stylesheets consult this table to +determine if a ToC (or LoT(s)) should be generated. + +For example, consider the entry: + +book toc,figure + +This indicates that whenever a book is formatted, a +Table Of Contents and a List of Figures should be generated. Similarly, + +/chapter toc + +indicates that whenever a document that has a root +of chapter is formatted, a Table of +Contents should be generated. The entry chapter would match +all chapters, but /chapter matches only chapter +document elements. + +Generally, the longest match wins. So, for example, if you want to distinguish +articles in books from articles in parts, you could use these two entries: + +book/article toc,figure +part/article toc + +Note that an article in a part can never match a book/article, +so if you want nothing to be generated for articles in parts, you can simply leave +that rule out. + +If you want to leave the rule in, to make it explicit that you're turning +something off, use the value nop. For example, the following +entry disables ToCs and LoTs for articles: + +article nop + +Do not simply leave the word article in the file +without a matching value. That'd be just begging the silly little +path/value parser to get confused. + + + + + + +generate.index +boolean + + +generate.index +Do you want an index? + + + +<xsl:param name="generate.index" + select="1"/> + + +Description + +Specify if an index should be generated. + + + + + + +toc.section.depth +integer + + +toc.section.depth +How deep should recursive sections appear +in the TOC? + + + +<xsl:param name="toc.section.depth">2</xsl:param> + + +Description + +Specifies the depth to which recursive sections should appear in the +TOC. + + + + + + + +toc.indent.width +float + + +toc.indent.width +Amount of indentation for TOC entries + + + +<xsl:param name="toc.indent.width" + select="24"/> + + +Description + +Specifies, in points, the distance by which each level of the +TOC is indented from its parent. + +This value is expressed in points, without +a unit (in other words, it is a bare number). Using a bare number allows the stylesheet +to perform calculations that would otherwise have to be performed by the FO processor +because not all processors support expressions. + + + + + + +toc.margin.properties +FIXME: + + + +<xsl:attribute-set name="toc.margin.properties"> + <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.maximum">2em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-after.optimum">1em</xsl:attribute> + <xsl:attribute name="space-after.maximum">2em</xsl:attribute> +</xsl:attribute-set> + +Description +FIXME: + + + + + + + + +Processor Extensions + + +arbortext.extensions +boolean + + +arbortext.extensions +Enable Arbortext extensions? + + + +<xsl:param name="arbortext.extensions" + select="0"/> + + +Description + +If non-zero, +Arbortext +extensions will be used. + + + + + + + +fop.extensions +boolean + + +fop.extensions +Enable FOP extensions? + + + +<xsl:param name="fop.extensions" + select="0"/> + + +Description + +If non-zero, +FOP +extensions will be used. At present, this consists of PDF bookmarks. + + + + + + + +passivetex.extensions +boolean + + +passivetex.extensions +Enable PassiveTeX extensions? + + + +<xsl:param name="passivetex.extensions" + select="0"/> + + +Description + +If non-zero, +PassiveTeX +extensions will be used. At present, this consists of PDF bookmarks +and sorted index terms. + + + + + + + +tex.math.in.alt +string + + +tex.math.in.alt +TeX notation used for equations + + + +<xsl:param name="tex.math.in.alt" + select="''"/> + + +Description + +If you want type math directly in TeX notation in equations, +this parameter specifies notation used. Currently are supported two +values -- plain and latex. Empty +value means that you are not using TeX math at all. + +Preferred way for including TeX alternative of math is inside of +textobject element. Eg.: + +<inlineequation> +<inlinemediaobject> +<imageobject> +<imagedata fileref="eq1.gif"/> +</imageobject> +<textobject><phrase>E=mc squared</phrase></textobject> +<textobject role="tex"><phrase>E=mc^2</phrase></textobject> +</inlinemediaobject> +</inlineequation> + +If you are using graphic element, you can +store TeX inside alt element: + +<inlineequation> +<alt role="tex">a^2+b^2=c^2</alt> +<graphic fileref="a2b2c2.gif"/> +</inlineequation> + +If you want use this feature, you should process your FO with +PassiveTeX, which only supports TeX math notation. When calling +stylsheet, don't forget to specify also +passivetex.extensions=1. + +If you want equations in HTML, just process generated file +tex-math-equations.tex by TeX or LaTeX. Then run +dvi2bitmap program on result DVI file. You will get images for +equations in your document. + + + + + + +tex.math.delims +boolean + + +tex.math.delims +Should be equations outputed for processing by TeX +automatically surrounded by math mode delimiters + + + +<xsl:param name="tex.math.delims" + select="'1'"/> + + +Description + +For compatibility with DSSSL based DBTeXMath from Allin Cottrell +you should set this parameter to 0. + + + + + + +xep.extensions +boolean + + +xep.extensions +Enable XEP extensions? + + + +<xsl:param name="xep.extensions" + select="0"/> + + +Description + +If non-zero, +XEP +extensions will be used. XEP extensions consists of PDF bookmarks and document information. + + + + + + + +Stylesheet Extensions + + +linenumbering.everyNth +integer + + +linenumbering.everyNth +Indicate which lines should be numbered + + + +<xsl:param name="linenumbering.everyNth" + select="'5'"/> + + +Description + +If line numbering is enabled, everyNth line will be numbered. + + + + + + + +linenumbering.extension +boolean + + +linenumbering.extension +Enable the line numbering extension + + + +<xsl:param name="linenumbering.extension" + select="'1'"/> + + +Description + +If true, verbatim environments (elements that have the +format='linespecific' notation attribute: address, literallayout, +programlisting, screen, synopsis) that specify line numbering will +have, surprise, line numbers. + + + + + + + +linenumbering.separator +string + + +linenumbering.separator +Specify a separator between line numbers and lines + + + +<xsl:param name="linenumbering.separator" + select="' '"/> + + +Description + +The separator is inserted between line numbers and lines in +the verbatim environment. + + + + + + + +linenumbering.width +integer + + +linenumbering.width +Indicates the width of line numbers + + + +<xsl:param name="linenumbering.width" + select="'3'"/> + + +Description + +If line numbering is enabled, line numbers will appear right +justified in a field "width" characters wide. + + + + + + + +tablecolumns.extension +boolean + + +tablecolumns.extension +Enable the table columns extension function + + + +<xsl:param name="tablecolumns.extension" + select="'1'"/> + + +Description + +The table columns extension function adjusts the widths of table +columns in the HTML result to more accurately reflect the specifications +in the CALS table. + + + + + + + +textinsert.extension +boolean + + +textinsert.extension +Enable the textinsert extension element + + + +<xsl:param name="textinsert.extension" + select="'1'"/> + + +Description + +The textinsert extension element inserts the contents of a +a file into the result tree (as text). + + + + + + + +use.extensions +boolean + + +use.extensions +Enable extensions + + + +<xsl:param name="use.extensions" + select="'0'"/> + + +Description + +If non-zero, extensions may be used. Each extension is +further controlled by its own parameter. But if +use.extensions is zero, no extensions will +be used. + + + + + + + +Automatic labelling + + +appendix.autolabel +boolean + + +appendix.autolabel +Are Appendixes automatically enumerated? + + + +<xsl:param name="appendix.autolabel" + select="1"/> + + +Description + +If true (non-zero), unlabeled appendixes will be +enumerated. + + + + + + + +chapter.autolabel +boolean + + +chapter.autolabel +Are chapters automatically enumerated? + + + +<xsl:param name="chapter.autolabel" + select="1"/> + + +Description + +If true (non-zero), unlabeled chapters will be enumerated. + + + + + + + +part.autolabel +boolean + + +part.autolabel +Are parts and references enumerated? + + + +<xsl:param name="part.autolabel" + select="1"/> + + +Description + +If true (non-zero), unlabeled parts and references will be enumerated. + + + + + + + +preface.autolabel +boolean + + +preface.autolabel +Are prefaces enumerated? + + + +<xsl:param name="preface.autolabel" + select="0"/> + + +Description + +If true (non-zero), unlabeled prefaces will be enumerated. + + + + + + + +section.autolabel +boolean + + +section.autolabel +Are sections enumerated? + + + +<xsl:param name="section.autolabel" + select="0"/> + + +Description + +If true (non-zero), unlabeled sections will be enumerated. + + + + + + + +section.label.includes.component.label +boolean + + +section.label.includes.component.label +Do section labels include the component label? + + + +<xsl:param name="section.label.includes.component.label" + select="0"/> + + +Description + +If true (non-zero), section labels are prefixed with the label of the +component that contains them. + + + + + + + +label.from.part +boolean + + +label.from.part +Renumber chapters in each part? + + + +<xsl:param name="label.from.part" + select="'0'"/> + + +Description + +If label.from.part is non-zero, components +(chapters, appendixes, etc.) +will be numbered from 1 in each part. Otherwise, +they will be numbered monotonically throughout each +book. + + + + + + + +XSLT Processing + + +rootid +string + + +rootid +Specify the root element to format + + + +<xsl:param name="rootid" + select="''"/> + + +Description + +If rootid is specified, it must be the +value of an ID that occurs in the document being formatted. The entire +document will be loaded and parsed, but formatting will begin at the +element identified, rather than at the root. For example, this allows +you to process only chapter 4 of a book. +Because the entire document is available to the processor, automatic +numbering, cross references, and other dependencies are correctly +resolved. + + + + + + +Meta/*Info + + +make.single.year.ranges +boolean + + +make.single.year.ranges +Print single-year ranges (e.g., 1998-1999) + + + +<xsl:param name="make.single.year.ranges" + select="0"/> + + +Description + +If non-zero, year ranges that span a single year will be printed +in range notation (1998-1999) instead of discrete notation +(1998, 1999). + + + + + + +make.year.ranges +boolean + + +make.year.ranges +Collate copyright years into ranges? + + + +<xsl:param name="make.year.ranges" + select="0"/> + + +Description + +If non-zero, copyright years will be collated into ranges. + + + + + + +author.othername.in.middle +boolean + + +author.othername.in.middle +Is othername in author a +middle name? + + + +<xsl:param name="author.othername.in.middle" + select="1"/> + + +Description + +If true (non-zero), the othername of an author +appears between the firstname and +surname. Otherwise, othername +is suppressed. + + + + + + + +Reference Pages + + +funcsynopsis.decoration +boolean + + +funcsynopsis.decoration +Decorate elements of a FuncSynopsis? + + + +<xsl:param name="funcsynopsis.decoration" + select="1"/> + + +Description + +If true (non-zero), elements of the FuncSynopsis will be decorated (e.g. bold or +italic). The decoration is controlled by functions that can be redefined +in a customization layer. + + + + + + + +funcsynopsis.style +list +ansi +kr + + +funcsynopsis.style +What style of 'FuncSynopsis' should be generated? + + + +<xsl:param name="funcsynopsis.style">kr</xsl:param> + + +Description + +If funcsynopsis.style is ansi, +ANSI-style function synopses are generated for a +funcsynopsis, otherwise K&R-style +function synopses are generated. + + + + + + + +function.parens +boolean + + +function.parens +Generate parens after a function? + + + +<xsl:param name="function.parens">0</xsl:param> + + +Description + +If not 0, the formatting of +a function element will include +generated parenthesis. + + + + + + + +refentry.generate.name +boolean + + +refentry.generate.name +Output NAME header before 'RefName'(s)? + + + +<xsl:param name="refentry.generate.name" + select="1"/> + + +Description + +If true (non-zero), a "NAME" section title is output before the list +of 'RefName's. This parameter and +refentry.generate.title are mutually exclusive. + + + + + + + +refentry.generate.title +boolean + + +refentry.generate.title +Output title before 'RefName'(s)? + + + +<xsl:param name="refentry.generate.title" + select="0"/> + + +Description + +If true (non-zero), the reference page title or first name is +output before the list of 'RefName's. This parameter and +refentry.generate.name are mutually exclusive. + + + + + + + + +refentry.xref.manvolnum +boolean + + +refentry.xref.manvolnum +Output manvolnum as part of +refentry cross-reference? + + + +<xsl:param name="refentry.xref.manvolnum" + select="1"/> + + +Description + +if true (non-zero), the manvolnum is used when cross-referencing +refentrys, either with xref +or citerefentry. + + + + + + + +Tables + + +default.table.width +length + + +default.table.width +The default width of tables + + + +<xsl:param name="default.table.width" + select="''"/> + + +Description + +If specified, this value will be used for the WIDTH attribute on +tables that do not specify an alternate width (with the dbhtml processing +instruction). + + + + + + +nominal.table.width +length + + +nominal.table.width +The (absolute) nominal width of tables + + + +<xsl:param name="nominal.table.width" + select="'6in'"/> + + +Description + +In order to convert CALS column widths into HTML column widths, it +is sometimes necessary to have an absolute table width to use for conversion +of mixed absolute and relative widths. This value must be an absolute +length (not a percentag). + + + + + + +table.border.thickness + + + +table.border.thickness + + + + +<xsl:param name="table.border.thickness" + select="'0.5pt'"/> + + +Description + +FIXME: + + + + + + +table.cell.padding + + + +table.cell.padding + + + + +<xsl:attribute-set name="table.cell.padding"> + <xsl:attribute name="padding-left">2pt</xsl:attribute> + <xsl:attribute name="padding-right">2pt</xsl:attribute> + <xsl:attribute name="padding-top">2pt</xsl:attribute> + <xsl:attribute name="padding-bottom">2pt</xsl:attribute> +</xsl:attribute-set> + + +Description + +FIXME: + + + + + + +table.border.style + + + +table.border.style + + + + +<xsl:param name="table.border.style" + select="'solid'"/> + + +Description + +FIXME: + + + + + + +table.border.color + + + +table.border.color + + + + +<xsl:param name="table.border.color" + select="'black'"/> + + +Description + +FIXME: + + + + + + +table.entry.padding + + + +table.entry.padding + + + + +<xsl:param name="table.entry.padding" + select="'2pt'"/> + + +Description + +FIXME: + + + + + + +QAndASet + + +qandadiv.autolabel +boolean + + +qandadiv.autolabel +Are divisions in QAndASets enumerated? + + + +<xsl:param name="qandadiv.autolabel" + select="1"/> + + +Description + +If true (non-zero), unlabeled qandadivs will be enumerated. + + + + + + + +qanda.inherit.numeration +boolean + + +qanda.inherit.numeration +Does enumeration of QandASet components inherit the numeration of parent elements? + + + +<xsl:param name="qanda.inherit.numeration" + select="1"/> + + +Description + +If true (non-zero), numbered QandADiv elements and Questions and Answers inherit +the numeration of the ancestors of the QandASet. + + + + + + + +Bibliography + + +biblioentry.item.separator +string + + +biblioentry.item.separator +Text to separate bibliography entries + + + +<xsl:param name="biblioentry.item.separator">. </xsl:param> + + +Description + +Text to separate bibliography entries + + + + + + + +bibliography.collection +string + + +bibliography.collection +Name of the bibliography collection file + + + +<xsl:param name="bibliography.collection" + select="'http://docbook.sourceforge.net/release/bibliography/bibliography.xml'"/> + + +Description + +Maintaining bibliography entries across a set of documents is tedious, time +consuming, and error prone. It makes much more sense, usually, to store all of +the bibliography entries in a single place and simply extract +the ones you need in each document. + +That's the purpose of the +bibliography.collection parameter. To setup a global +bibliography database, follow these steps: + +First, create a stand-alone bibliography document that contains all of +the documents that you wish to reference. Make sure that each bibliography +entry (whether you use biblioentry or bibliomixed) +has an ID. + +My global bibliography, ~/bibliography.xml begins +like this: + + +<!DOCTYPE bibliography + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> +<bibliography><title>References</title> + +<bibliomixed id="xml-rec"><abbrev>XML 1.0</abbrev>Tim Bray, +Jean Paoli, C. M. Sperberg-McQueen, and Eve Maler, editors. +<citetitle><ulink url="http://www.w3.org/TR/REC-xml">Extensible Markup +Language (XML) 1.0 Second Edition</ulink></citetitle>. +World Wide Web Consortium, 2000. +</bibliomixed> + +<bibliomixed id="xml-names"><abbrev>Namespaces</abbrev>Tim Bray, +Dave Hollander, +and Andrew Layman, editors. +<citetitle><ulink url="http://www.w3.org/TR/REC-xml-names/">Namespaces in +XML</ulink></citetitle>. +World Wide Web Consortium, 1999. +</bibliomixed> + +<!-- ... --> +</bibliography> + + + +When you create a bibliography in your document, simply +provide empty bibliomixed +entries for each document that you wish to cite. Make sure that these +elements have the same ID as the corresponding real +entry in your global bibliography. + +For example: + + +<bibliography><title>Bibliography</title> + +<bibliomixed id="xml-rec"/> +<bibliomixed id="xml-names"/> +<bibliomixed id="DKnuth86">Donald E. Knuth. <citetitle>Computers and +Typesetting: Volume B, TeX: The Program</citetitle>. Addison-Wesley, +1986. ISBN 0-201-13437-3. +</bibliomixed> +<bibliomixed id="relaxng"/> + +</bibliography> + + +Note that it's perfectly acceptable to mix entries from your +global bibliography with normal entries. You can use +xref or other elements to cross-reference your +bibliography entries in exactly the same way you do now. + +Finally, when you are ready to format your document, simply set the +bibliography.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global bibliography. + +The stylesheets will format the bibliography in your document as if +all of the entries referenced appeared there literally. + + + + + + +Glossary + + +glossterm.auto.link +boolean + + +glossterm.auto.link +Generate links from glossterm to glossentry automaticaly? + + + +<xsl:param name="glossterm.auto.link" + select="'0'"/> + + +Description + +If true, a link will be automatically created from glossterm +to glossentry for that glossary term. This is usefull when your +glossterm names are consistent and you don't want to add links +manually. +If there is linkend on +glossterm then is used instead of autogeneration of +link. + + + + + + +firstterm.only.link +boolean + + +firstterm.only.link +Does automatic glossterm linking only apply to firstterms? + + + +<xsl:param name="firstterm.only.link" + select="0"/> + + +Description + +If true, only firstterms will be automatically linked +to the glossary. If glossary linking is not enabled, this parameter +has no effect. + + + + + + +glossary.collection +string + + +glossary.collection +Name of the glossary collection file + + + +<xsl:param name="glossary.collection" + select="''"/> + + +Description + +Glossaries maintained independently across a set of documents +are likely to become inconsistent unless considerable effort is +expended to keep them in sync. It makes much more sense, usually, to +store all of the glossary entries in a single place and simply +extract the ones you need in each document. + +That's the purpose of the +glossary.collection parameter. To setup a global +glossary database, follow these steps: + +Setting Up the Glossary Database + +First, create a stand-alone glossary document that contains all of +the entries that you wish to reference. Make sure that each glossary +entry has an ID. + +Here's an example glossary: + + + +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE glossary + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> +<glossary> +<glossaryinfo> +<editor><firstname>Eric</firstname><surname>Raymond</surname></editor> +<title>Jargon File 4.2.3 (abridged)</title> +<releaseinfo>Just some test data</releaseinfo> +</glossaryinfo> + +<glossdiv><title>0</title> + +<glossentry> +<glossterm>0</glossterm> +<glossdef> +<para>Numeric zero, as opposed to the letter `O' (the 15th letter of +the English alphabet). In their unmodified forms they look a lot +alike, and various kluges invented to make them visually distinct have +compounded the confusion. If your zero is center-dotted and letter-O +is not, or if letter-O looks almost rectangular but zero looks more +like an American football stood on end (or the reverse), you're +probably looking at a modern character display (though the dotted zero +seems to have originated as an option on IBM 3270 controllers). If +your zero is slashed but letter-O is not, you're probably looking at +an old-style ASCII graphic set descended from the default typewheel on +the venerable ASR-33 Teletype (Scandinavians, for whom /O is a letter, +curse this arrangement). (Interestingly, the slashed zero long +predates computers; Florian Cajori's monumental "A History of +Mathematical Notations" notes that it was used in the twelfth and +thirteenth centuries.) If letter-O has a slash across it and the zero +does not, your display is tuned for a very old convention used at IBM +and a few other early mainframe makers (Scandinavians curse <emphasis>this</emphasis> +arrangement even more, because it means two of their letters collide). +Some Burroughs/Unisys equipment displays a zero with a <emphasis>reversed</emphasis> +slash. Old CDC computers rendered letter O as an unbroken oval and 0 +as an oval broken at upper right and lower left. And yet another +convention common on early line printers left zero unornamented but +added a tail or hook to the letter-O so that it resembled an inverted +Q or cursive capital letter-O (this was endorsed by a draft ANSI +standard for how to draw ASCII characters, but the final standard +changed the distinguisher to a tick-mark in the upper-left corner). +Are we sufficiently confused yet?</para> +</glossdef> +</glossentry> + +<glossentry> +<glossterm>1TBS</glossterm> +<glossdef> +<para role="accidence"> +<phrase role="pronounce"></phrase> +<phrase role="partsofspeach">n</phrase> +</para> +<para>The "One True Brace Style"</para> +<glossseealso>indent style</glossseealso> +</glossdef> +</glossentry> + +<!-- ... --> + +</glossdiv> + +<!-- ... --> + +</glossary> + + + + +Marking Up Glossary Terms + +That takes care of the glossary database, now you have to get the entries +into your document. Unlike bibliography entries, which can be empty, creating +placeholder glossary entries would be very tedious. So instead, +support for glossary.collection relies on implicit linking. + +In your source document, simply use firstterm and +glossterm to identify the terms you wish to have included +in the glossary. The stylesheets assume that you will either set the +baseform attribute correctly, or that the +content of the element exactly matches a term in your glossary. + +If you're using a glossary.collection, don't +make explicit links on the terms in your document. + +So, in your document, you might write things like this: + + +<para>This is dummy text, without any real meaning. +The point is simply to reference glossary terms like <glossterm>0</glossterm> +and the <firstterm baseform="1TBS">One True Brace Style (1TBS)</firstterm>. +The <glossterm>1TBS</glossterm>, as you can probably imagine, is a nearly +religious issue.</para> + + +If you set the firstterm.only.link parameter, +only the terms marked with firstterm will be links. +Otherwise, all the terms will be linked. + + + +Marking Up the Glossary + +The glossary itself has to be identified for the stylesheets. For lack +of a better choice, the role is used. +To identify the glossary as the target for automatic processing, set +the role to auto. The title of this +glossary (and any other information from the glossaryinfo +that's rendered by your stylesheet) will be displayed, but the entries will +come from the database. + + +Unfortunately, the glossary can't be empty, so you must put in +at least one glossentry. The content of this entry +is irrelevant, it will not be rendered: + + +<glossary role="auto"> +<glossentry> +<glossterm>Irrelevant</glossterm> +<glossdef> +<para>If you can see this, the document was processed incorrectly. Use +the <parameter>glossary.collection</parameter> parameter.</para> +</glossdef> +</glossentry> +</glossary> + + +What about glossary divisions? If your glossary database has glossary +divisions and your automatic glossary contains at least +one glossdiv, the automic glossary will have divisions. +If the glossdiv is missing from either location, no divisions +will be rendered. + +Glossary entries (and divisions, if appropriate) in the glossary will +occur in precisely the order they occur in your database. + + + +Formatting the Document + +Finally, when you are ready to format your document, simply set the +glossary.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global glossary. + +The stylesheets will format the glossary in your document as if +all of the entries implicilty referenced appeared there literally. + + + + + + +Miscellaneous + + +graphic.default.extension +string + + +graphic.default.extension +Default extension for graphic filenames + + + +<xsl:param name="graphic.default.extension"/> + + +Description + +If a graphic or mediaobject +includes a reference to a filename that does not include an extension, +and the format attribute is +unspecified, the default extension will be used. + + + + + + + +formal.procedures +boolean + + +formal.procedures +Selects formal or informal procedures + + + +<xsl:param name="formal.procedures" + select="1"/> + + +Description + +Formal procedures are numbered and always have a title. + + + + + + + +formal.title.placement + + + +formal.title.placement + + + + +<xsl:param name="formal.title.placement"> +figure before +example before +equation before +table before +procedure before +</xsl:param> + + +Description + +Specifies where formal object titles should occur. For each formal object +type (figure, +example, +equation, +table, and procedure) +you can specify either the keyword +before or +after. + + + + + + +runinhead.default.title.end.punct +string + + +runinhead.default.title.end.punct +Default punctuation character on a run-in-head + + + +<xsl:param name="runinhead.default.title.end.punct" + select="'.'"/> + + +Description + +FIXME: + + + + + + + +runinhead.title.end.punct +string + + +runinhead.title.end.punct +Characters that count as punctuation on a run-in-head + + + +<xsl:param name="runinhead.title.end.punct" + select="'.!?:'"/> + + +Description + +FIXME: + + + + + + + +show.comments +boolean + + +show.comments +Display comment elements? + + + +<xsl:param name="show.comments">1</xsl:param> + + +Description + +If true (non-zero), comments will be displayed, otherwise they are suppressed. +Comments here refers to the comment element, +which will be renamed remark in DocBook V4.0, +not XML comments (<-- like this -->) which are unavailable. + + + + + + + +punct.honorific +string + + +punct.honorific +Punctuation after an honorific in a personal name. + + + +<xsl:param name="punct.honorific" + select="'.'"/> + + +Description + +This parameter specifies the punctuation that should be added after an +honorific in a personal name. + + + + + + +segmentedlist.as.table +boolean + + +segmentedlist.as.table +Format segmented lists as tables? + + + +<xsl:param name="segmentedlist.as.table" + select="0"/> + + +Description + +If non-zero, segmentedlists will be formatted as +tables. + + + + + + +variablelist.as.blocks +boolean + + +variablelist.as.blocks +Format variablelists lists as blocks? + + + +<xsl:param name="variablelist.as.blocks" + select="0"/> + + +Description + +If non-zero, variablelists will be formatted as +blocks. + +If you have long terms, proper list markup in the FO case may produce +unattractive lists. By setting this parameter, you can force the stylesheets +to produce block markup instead of proper lists. + + + + + + +blockquote.properties +To set the style for block quotations. + + + +<xsl:attribute-set name="blockquote.properties"> +<xsl:attribute name="start-indent">0.5in</xsl:attribute> +<xsl:attribute name="end-indent">0.5in</xsl:attribute> +<xsl:attribute name="space-after.minimum">0.5em</xsl:attribute> +<xsl:attribute name="space-after.optimum">1em</xsl:attribute> +<xsl:attribute name="space-after.maximum">2em</xsl:attribute> +</xsl:attribute-set> + + +Description + +The blockquote.properties attribute set specifies +the formating properties of block quotations. + + + + + + +ulink.show +boolean + + +ulink.show +Display URLs after ulinks? + + + +<xsl:param name="ulink.show" + select="1"/> + + +Description + +If non-zero, the URL of each ULink will +appear after the text of the link. If the text of the link and the URL +are identical, the URL is suppressed. + + + + + + +ulink.footnotes +boolean + + +ulink.footnotes +Generate footnotes for ULinks? + + + +<xsl:param name="ulink.footnotes" + select="0"/> + + +Description + +If non-zero, the URL of each ULink will +appear as a footnote. Not yet implemented! + + + + + + + +ulink.hyphenate +string + + +ulink.hyphenate +Allow URLs to be automatically hyphenated + + + +<xsl:param name="ulink.hyphenate" + select="''"/> + + +Description + +If not empty, the specified character (or more generally, content) is +added to URLs after every /. If the character specified is a +Unicode soft hyphen (0x00AD) or Unicode zero-width space (0x200B), some FO +processors will be able to reasonably hyphenate long URLs. + +As of 28 Jan 2002, discretionary hyphens are more widely and correctly +supported than zero-width spaces for this purpose. + + + + + + +shade.verbatim +boolean + + +shade.verbatim +Should verbatim environments be shaded? + + + +<xsl:param name="shade.verbatim" + select="0"/> + + +Description + +FIXME: + + + + + + +shade.verbatim.style + + + +shade.verbatim.style +Properties that specify the style of shaded verbatim listings + + + + +<xsl:attribute-set name="shade.verbatim.style"> + <xsl:attribute name="background-color">#E0E0E0</xsl:attribute> +</xsl:attribute-set> + + +Description + +FIXME: + + + + + + +use.svg +boolean + + +use.svg +Allow SVG in the result tree? + + + +<xsl:param name="use.svg" + select="1"/> + + +Description + +If non-zero, SVG will be considered an acceptable image format. SVG +is passed through to the result tree, so correct rendering of the resulting +diagram depends on the formatter (FO processor or web browser) that is used +to process the output from the stylesheet. + + + + + + +Pagination and General Styles + +
Understanding XSL FO Margins + +In order for the parameters in this section to make sense, it is useful to +consider . + +
+ + + + +Figure showing page margins + +This figure shows the physical page with the various FO page regions +identified. + + +
+ +First, let's consider the regions on the page. + +The white region is the physical page. Its dimensions are determined by +the page.height and page.width +parameters. + +The yellow region is the region-body. The size and placement of +the region body is constrained by the dimensions labelled in the +figure. + +The pink region at the top of the page is the region-before. The +darker area inside the region-before is the header text. In XSL, the default +display alignment for the region-before is before, but +the DocBook stylesheets explicitly make it after. That's +why the darker area is at the bottom. + +The pink region at the bottom of the page is the region-after. +The darker area is the footer text. In XSL, the default display +alignment for the region-after is before (really!), +but the DocBook stylesheets explicitly make it +after. That's why the darker area is at the bottom. + +The dimensions in the figure are: + + +The page-master margin-top. + +The region-before extent. + +The region-body margin-top. + +The region-after extent. + +The page-master margin-bottom. + +The region-body margin-bottom. + +The sum of the page-master margin-left and the +region-body margin-left. In DocBook, the region-body margin-left is +zero by default, so this is simply the page-master region-left. + +The sum of the page-master margin-right and the +region-body margin-right. In DocBook, the region-body margin-right is +zero by default, so this is simply the page-master region-left. + + + +
+
+ + + +page.height + + + +page.height +The height of the physical page + + + +<xsl:param name="page.height"> + <xsl:choose> + <xsl:when test="$page.orientation = 'portrait'"> + <xsl:value-of select="$page.height.portrait"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$page.width.portrait"/> + </xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The page height is generally calculated from the +paper.type and +page.orientation. + + + + + + + +page.height.portrait + + + +page.height.portrait +Specify the physical size of the long edge of the page + + + +<xsl:param name="page.height.portrait"> + <xsl:choose> + <xsl:when test="$paper.type = 'A4landscape'">210mm</xsl:when> + <xsl:when test="$paper.type = 'USletter'">11in</xsl:when> + <xsl:when test="$paper.type = 'USlandscape'">8.5in</xsl:when> + <xsl:when test="$paper.type = '4A0'">2378mm</xsl:when> + <xsl:when test="$paper.type = '2A0'">1682mm</xsl:when> + <xsl:when test="$paper.type = 'A0'">1189mm</xsl:when> + <xsl:when test="$paper.type = 'A1'">841mm</xsl:when> + <xsl:when test="$paper.type = 'A2'">594mm</xsl:when> + <xsl:when test="$paper.type = 'A3'">420mm</xsl:when> + <xsl:when test="$paper.type = 'A4'">297mm</xsl:when> + <xsl:when test="$paper.type = 'A5'">210mm</xsl:when> + <xsl:when test="$paper.type = 'A6'">148mm</xsl:when> + <xsl:when test="$paper.type = 'A7'">105mm</xsl:when> + <xsl:when test="$paper.type = 'A8'">74mm</xsl:when> + <xsl:when test="$paper.type = 'A9'">52mm</xsl:when> + <xsl:when test="$paper.type = 'A10'">37mm</xsl:when> + <xsl:when test="$paper.type = 'B0'">1414mm</xsl:when> + <xsl:when test="$paper.type = 'B1'">1000mm</xsl:when> + <xsl:when test="$paper.type = 'B2'">707mm</xsl:when> + <xsl:when test="$paper.type = 'B3'">500mm</xsl:when> + <xsl:when test="$paper.type = 'B4'">353mm</xsl:when> + <xsl:when test="$paper.type = 'B5'">250mm</xsl:when> + <xsl:when test="$paper.type = 'B6'">176mm</xsl:when> + <xsl:when test="$paper.type = 'B7'">125mm</xsl:when> + <xsl:when test="$paper.type = 'B8'">88mm</xsl:when> + <xsl:when test="$paper.type = 'B9'">62mm</xsl:when> + <xsl:when test="$paper.type = 'B10'">44mm</xsl:when> + <xsl:when test="$paper.type = 'C0'">1297mm</xsl:when> + <xsl:when test="$paper.type = 'C1'">917mm</xsl:when> + <xsl:when test="$paper.type = 'C2'">648mm</xsl:when> + <xsl:when test="$paper.type = 'C3'">458mm</xsl:when> + <xsl:when test="$paper.type = 'C4'">324mm</xsl:when> + <xsl:when test="$paper.type = 'C5'">229mm</xsl:when> + <xsl:when test="$paper.type = 'C6'">162mm</xsl:when> + <xsl:when test="$paper.type = 'C7'">114mm</xsl:when> + <xsl:when test="$paper.type = 'C8'">81mm</xsl:when> + <xsl:when test="$paper.type = 'C9'">57mm</xsl:when> + <xsl:when test="$paper.type = 'C10'">40mm</xsl:when> + <xsl:otherwise>11in</xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The portrait page height is the length of the long +edge of the physical page. + + + + + + + +page.margin.bottom + + + +page.margin.bottom +The bottom margin of the page + + + +<xsl:param name="page.margin.bottom">0.5in</xsl:param> + + +Description + +The bottom page margin is the distance from the bottom of the region-after +to the physical bottom of the page. + + + + + + + +page.margin.inner + + + +page.margin.inner +The inner page margin + + + +<xsl:param name="page.margin.inner"> + <xsl:choose> + <xsl:when test="$double.sided != 0">1.25in</xsl:when> + <xsl:otherwise>1in</xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The inner page margin is the distance from binding edge of the +page to the first column of text. In the left-to-right, top-to-bottom writing +direction, this is the left margin of recto pages. +The inner and outer margins are usually the same unless the output +is double-sided. + + + + + + + +page.margin.outer + + + +page.margin.outer +The outer page margin + + + +<xsl:param name="page.margin.outer"> + <xsl:choose> + <xsl:when test="$double.sided != 0">0.75in</xsl:when> + <xsl:otherwise>1in</xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The outer page margin is the distance from non-binding edge of the +page to the last column of text. In the left-to-right, top-to-bottom writing +direction, this is the right margin of recto pages. +The inner and outer margins are usually the same unless the output +is double-sided. + + + + + + + +page.margin.top + + + +page.margin.top +The top margin of the page + + + +<xsl:param name="page.margin.top">0in</xsl:param> + + +Description + +The top page margin is the distance from the physical top of the +page to the top of the region-before. + + + + + + +page.orientation + + + +page.orientation +Select the page orientation + + + +<xsl:param name="page.orientation" + select="'portrait'"/> + + +Description + +In portrait orientation, the short edge is horizontal; in +landscape orientation, it is vertical. + + + + + + + +page.width + + + +page.width +The width of the physical page + + + +<xsl:param name="page.width"> + <xsl:choose> + <xsl:when test="$page.orientation = 'portrait'"> + <xsl:value-of select="$page.width.portrait"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$page.height.portrait"/> + </xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The page width is generally calculated from the +paper.type and page.orientation. + + + + + + + +page.width.portrait + + + +page.width.portrait +Specify the physical size of the short edge of the page + + + +<xsl:param name="page.width.portrait"> + <xsl:choose> + <xsl:when test="$paper.type = 'USletter'">8.5in</xsl:when> + <xsl:when test="$paper.type = '4A0'">1682mm</xsl:when> + <xsl:when test="$paper.type = '2A0'">1189mm</xsl:when> + <xsl:when test="$paper.type = 'A0'">841mm</xsl:when> + <xsl:when test="$paper.type = 'A1'">594mm</xsl:when> + <xsl:when test="$paper.type = 'A2'">420mm</xsl:when> + <xsl:when test="$paper.type = 'A3'">297mm</xsl:when> + <xsl:when test="$paper.type = 'A4'">210mm</xsl:when> + <xsl:when test="$paper.type = 'A5'">148mm</xsl:when> + <xsl:when test="$paper.type = 'A6'">105mm</xsl:when> + <xsl:when test="$paper.type = 'A7'">74mm</xsl:when> + <xsl:when test="$paper.type = 'A8'">52mm</xsl:when> + <xsl:when test="$paper.type = 'A9'">37mm</xsl:when> + <xsl:when test="$paper.type = 'A10'">26mm</xsl:when> + <xsl:when test="$paper.type = 'B0'">1000mm</xsl:when> + <xsl:when test="$paper.type = 'B1'">707mm</xsl:when> + <xsl:when test="$paper.type = 'B2'">500mm</xsl:when> + <xsl:when test="$paper.type = 'B3'">353mm</xsl:when> + <xsl:when test="$paper.type = 'B4'">250mm</xsl:when> + <xsl:when test="$paper.type = 'B5'">176mm</xsl:when> + <xsl:when test="$paper.type = 'B6'">125mm</xsl:when> + <xsl:when test="$paper.type = 'B7'">88mm</xsl:when> + <xsl:when test="$paper.type = 'B8'">62mm</xsl:when> + <xsl:when test="$paper.type = 'B9'">44mm</xsl:when> + <xsl:when test="$paper.type = 'B10'">31mm</xsl:when> + <xsl:when test="$paper.type = 'C0'">917mm</xsl:when> + <xsl:when test="$paper.type = 'C1'">648mm</xsl:when> + <xsl:when test="$paper.type = 'C2'">458mm</xsl:when> + <xsl:when test="$paper.type = 'C3'">324mm</xsl:when> + <xsl:when test="$paper.type = 'C4'">229mm</xsl:when> + <xsl:when test="$paper.type = 'C5'">162mm</xsl:when> + <xsl:when test="$paper.type = 'C6'">114mm</xsl:when> + <xsl:when test="$paper.type = 'C7'">81mm</xsl:when> + <xsl:when test="$paper.type = 'C8'">57mm</xsl:when> + <xsl:when test="$paper.type = 'C9'">40mm</xsl:when> + <xsl:when test="$paper.type = 'C10'">28mm</xsl:when> + <xsl:otherwise>8.5in</xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The portrait page width is the length of the short +edge of the physical page. + + + + + + + +paper.type + + + +paper.type +Select the paper type + + + +<xsl:param name="paper.type" + select="'USletter'"/> + + +Description + +The paper type is a convenient way to specify the paper size. +The list of known paper sizes includes USletter and most of the A, +B, and C sizes. See page.width.portrait, for example. + + + + + + + +double.sided + + + +double.sided +Is the document to be printed double sided? + + + +<xsl:param name="double.sided" + select="'0'"/> + + +Description + +Double-sided documents are printed with a slightly wider margin +on the binding edge of the page. + +FIXME: The current set of parameters does not take writing direction +into account. + + + + + + +body.margin.bottom + + + +body.margin.bottom +The bottom margin of the body text + + + +<xsl:param name="body.margin.bottom">0.5in</xsl:param> + + +Description + +The body bottom margin is the distance from the last line of text +in the page body to the bottom of the region-after. + + + + + + + +body.margin.top + + + +body.margin.top +To specify the size of the top margin of a page + + + +<xsl:param name="body.margin.top">1in</xsl:param> + + +Description + +The body top margin is the distance from the top of the region-before +to the first line of text in the page body. + + + + + + + +alignment + + + +alignment +Specify the default text alignment + + + +<xsl:param name="alignment">justify</xsl:param> + + +Description + +The default text alignment is used for most body text. + + + + + + + +hyphenate + + + +hyphenate +Specify hyphenation behavior + + + +<xsl:param name="hyphenate">true</xsl:param> + + +Description + +If true, words may be hyphenated. Otherwise, they may not. + + + + + + + +line-height +string + + +line-height +Specify the line-height property + + + +<xsl:param name="line-height" + select="'normal'"/> + + +Description + +Sets the line-height property. + + + + + + +column.count + + + +column.count +Specifies the number of columns of text on the page + + + +<xsl:param name="column.count" + select="'1'"/> + + +Description + +The specified number of columns of text will appear on each page. + + + + + + + +column.count.of.index +integer + + +column.count.of.index +Number of columns in the index + + + +<xsl:param name="column.count.of.index" + select="$column.count"/> + + +Description + +This parameter specifies the number of columns on pages in the index. +The default is the same as the column.count. + + + + + + +region.after.extent + + + +region.after.extent +Specifies the height of the footer. + + + +<xsl:param name="region.after.extent" + select="'0.5in'"/> + + +Description + +The region after extent is the height of the area where footers +are printed. + + + + + + + +region.before.extent + + + +region.before.extent +Specifies the height of the header + + + +<xsl:param name="region.before.extent" + select="'0.5in'"/> + + +Description + +The region before extent is the height of the area where headers +are printed. + + + + + + + +default.units +list +cm +mm +in +pt +pc +px +em + + +default.units +Default units for an unqualified dimension + + + +<xsl:param name="default.units" + select="'pt'"/> + + +Description + +If an unqualified dimension is encountered (for example, in a +graphic width), the default-units will be used for the +units. Unqualified dimensions are not allowed in XSL Formatting Objects. + + + + + + + +normal.para.spacing +What space do you want between normal paragraphs + + + +<xsl:attribute-set name="normal.para.spacing"> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> +</xsl:attribute-set> + +Description +Specify the spacing required between normal paragraphs + + + + + +body.font.master + + + +body.font.master +Specifies the default point size for body text + + + +<xsl:param name="body.font.master">10</xsl:param> + + +Description + +The body font size is specified in two parameters +(body.font.master and body.font.size) +so that math can be performed on the font size by XSLT. + + + + + + + +body.font.size + + + +body.font.size +Specifies the default font size for body text + + + +<xsl:param name="body.font.size"> + <xsl:value-of select="$body.font.master"/><xsl:text>pt</xsl:text> +</xsl:param> + + +Description + +The body font size is specified in two parameters +(body.font.master and body.font.size) +so that math can be performed on the font size by XSLT. + + + + + + + +footnote.font.size + + + +footnote.font.size +The font size for footnotes + + + +<xsl:param name="footnote.font.size"> + <xsl:value-of select="$body.font.master * 0.8"/><xsl:text>pt</xsl:text> +</xsl:param> + + +Description + +The footnote font size is used for...footnotes! + + + + + + + +title.margin.left + + + +title.margin.left +Adjust the left margin for titles + + + +<xsl:param name="title.margin.left" + select="'-4pc'"/> + + +Description + +This parameter adjusts the left margin for titles. + + + + + + + +draft.watermark.image +uri + + +draft.watermark.image +The URI of the image to be used for draft watermarks + + + +<xsl:param name="draft.watermark.image" + select="'http://docbook.sourceforge.net/release/images/draft.png'"/> + + +Description + +The image to be used for draft watermarks. + + + + +
+ +Font Families + + +body.font.family + + + +body.font.family +The default font family for body text + + + +<xsl:param name="body.font.family">Times Roman</xsl:param> + + +Description + +The body font family is the default font used for text in the page body. + + + + + + + +dingbat.font.family + + + +dingbat.font.family +The font family for copyright, quotes, and other symbols + + + +<xsl:param name="dingbat.font.family">Times Roman</xsl:param> + + +Description + +The dingbat font family is used for dingbats. If it is defined +as the empty string, no font change is effected around dingbats. + + + + + + + +monospace.font.family + + + +monospace.font.family +The default font family for monospace environments + + + +<xsl:param name="monospace.font.family">Courier</xsl:param> + + +Description + +The monospace font family is used for verbatim environments +(program listings, screens, etc.). + + + + + + + +sans.font.family + + + +sans.font.family +The default sans-serif font family + + + +<xsl:param name="sans.font.family">Helvetica</xsl:param> + + +Description + +The default sans-serif font family. At the present, this isn't +actually used by the stylesheets. + + + + + + + +title.font.family + + + +title.font.family +The default font family for titles + + + +<xsl:param name="title.font.family">Helvetica</xsl:param> + + +Description + +The title font family is used for titles (chapter, section, figure, +etc.) + + + + + + + +Lists + + +list.block.spacing +What spacing do you want before lists? + + + +<xsl:attribute-set name="list.block.spacing"> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> +</xsl:attribute-set> + +Description +Specify the spacing required before a list. + + + + + +list.item.spacing +What space do you want between list items? + + + +<xsl:attribute-set name="list.item.spacing"> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> +</xsl:attribute-set> + +Description +Specify what spacing you want between each list item. + + + + + +compact.list.item.spacing +What space do you want between list items (when spacing=compact)? + + + +<xsl:attribute-set name="compact.list.item.spacing"> + <xsl:attribute name="space-before.optimum">0em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0em</xsl:attribute> + <xsl:attribute name="space-before.maximum">0.2em</xsl:attribute> +</xsl:attribute-set> + +Description +Specify what spacing you want between each list item when +spacing is +compact. + + + + + +Cross References + + +insert.xref.page.number +boolean + + +insert.xref.page.number +Turns page numbers in xrefs on and off + + + +<xsl:param name="insert.xref.page.number" + select="0"/> + + +Description + +When equal to 1, this parameter triggers generation of page +number citations after xrefs. + + + + + + + +xref.properties +FIXME: + + + +<xsl:attribute-set name="xref.properties"> + +</xsl:attribute-set> + +Description +FIXME: + + + + + +Property Sets + + +component.title.properties +Specify the styling for the title elements of a component. + + + +<xsl:attribute-set name="component.title.properties"> + <xsl:attribute name="space-before.optimum">2em</xsl:attribute> + <xsl:attribute name="space-before.minimum">1.8em</xsl:attribute> + <xsl:attribute name="space-before.maximum">2.2em</xsl:attribute> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="font-size">18pt</xsl:attribute> + <xsl:attribute name="space-after.optimum">1.5em</xsl:attribute> + <xsl:attribute name="space-after.minimum">1.3em</xsl:attribute> + <xsl:attribute name="space-after.maximum">1.8em</xsl:attribute> + <xsl:attribute name="hyphenate">false</xsl:attribute> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> +</xsl:attribute-set> + +Description + +A set of attributes are used to style the title of a +component (chapters, appendixes, articles, etc.). Components are usually +printed in the title.font.family. +Spacing before and after, font size etc are specified +using this parameter. + + + + + + +formal.object.properties +Properties associated with a formal object such as a figure, or other component that has a title + + + +<xsl:attribute-set name="formal.object.properties"> + <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.maximum">2em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-after.optimum">1em</xsl:attribute> + <xsl:attribute name="space-after.maximum">2em</xsl:attribute> +</xsl:attribute-set> + +Description +The styling for formal objects in docbook. Specify the spacing before and after the object. + + + + + +formal.title.properties +Style the title element of formal object such as a figure. + + + +<xsl:attribute-set name="formal.title.properties" + use-attribute-sets="normal.para.spacing"> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="font-size">12pt</xsl:attribute> + <xsl:attribute name="hyphenate">false</xsl:attribute> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.4em</xsl:attribute> + <xsl:attribute name="space-after.optimum">0.6em</xsl:attribute> + <xsl:attribute name="space-after.maximum">0.8em</xsl:attribute> +</xsl:attribute-set> + +Description +Specify how the title should be styled. Specify the font size and weight of the title of the formal object. + + + + + +informal.object.properties +Properties associated with a formal object such as a figure, or other component that has a title + + + +<xsl:attribute-set name="informal.object.properties"> + <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.maximum">2em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-after.optimum">1em</xsl:attribute> + <xsl:attribute name="space-after.maximum">2em</xsl:attribute> +</xsl:attribute-set> + +Description +The styling for informal objects in docbook. Specify the spacing before and after the object. + + + + + +monospace.verbatim.properties +What font and size do you want for monospaced content? + + + +<xsl:attribute-set name="monospace.verbatim.properties" + use-attribute-sets="verbatim.properties"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$monospace.font.family"/> + </xsl:attribute> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 0.9"/> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + +Description +Specify the font name and size you want for monospaced output + + + + + +verbatim.properties +FIXME: + + + +<xsl:attribute-set name="verbatim.properties"> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> +</xsl:attribute-set> + +Description +FIXME: + + + + + +Profiling + +Following parameters can be used for attribute value based +profiling of your document. For more info about profiling look at +http://docbook.sourceforge.net/projects/xsl/doc/tools/profiling.html. + + + +profile.arch +string + + +profile.arch +Target profile for arch +attribute + + + +<xsl:param name="profile.arch" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.condition +string + + +profile.condition +Target profile for condition +attribute + + + +<xsl:param name="profile.condition" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.conformance +string + + +profile.conformance +Target profile for conformance +attribute + + + +<xsl:param name="profile.conformance" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.lang +string + + +profile.lang +Target profile for lang +attribute + + + +<xsl:param name="profile.lang" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.os +string + + +profile.os +Target profile for os +attribute + + + +<xsl:param name="profile.os" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.revision +string + + +profile.revision +Target profile for revision +attribute + + + +<xsl:param name="profile.revision" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.revisionflag +string + + +profile.revisionflag +Target profile for revisionflag +attribute + + + +<xsl:param name="profile.revisionflag" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.role +string + + +profile.role +Target profile for role +attribute + + + +<xsl:param name="profile.role" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.security +string + + +profile.security +Target profile for security +attribute + + + +<xsl:param name="profile.security" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.userlevel +string + + +profile.userlevel +Target profile for userlevel +attribute + + + +<xsl:param name="profile.userlevel" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.vendor +string + + +profile.vendor +Target profile for vendor +attribute + + + +<xsl:param name="profile.vendor" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.attribute +string + + +profile.attribute +Name of user-specified profiling attribute + + + +<xsl:param name="profile.attribute" + select="''"/> + + +Description + +This parameter is used in conjuction with profile.value. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.value +string + + +profile.value +Target profile for user-specified attribute + + + +<xsl:param name="profile.value" + select="''"/> + + +Description + +When you are using this parameter you must also specify name of +profiling attribute with parameter profile.attribute. + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.separator +string + + +profile.separator +Separator character for compound profile values + + + +<xsl:param name="profile.separator" + select="';'"/> + + +Description + +Separator character for compound profile values. + + + + + + + + +The Stylesheet + +The param.xsl stylesheet is just a wrapper +around all these parameters. + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="src" + version="1.0"> + +<!-- This file is generated from param.xweb; do not edit this file! --> + +<!-- ******************************************************************** + $Id$ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://nwalsh.com/docbook/xsl/ for copyright + and other information. + + ******************************************************************** --> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</xsl:stylesheet> + + + +
\ No newline at end of file diff --git a/rosdocs/xsl/docsrc/fo/table.xml b/rosdocs/xsl/docsrc/fo/table.xml new file mode 100644 index 0000000..c64246d --- /dev/null +++ b/rosdocs/xsl/docsrc/fo/table.xml @@ -0,0 +1,150 @@ + + + + + +$Id$ + +Walsh +Norman +19992000 +Norman Walsh + + +Formatting Object Table Reference + + +
Introduction + + +This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets. + + + +This is not intended to be user documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in how it +works. + + + +Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-) + +
+
+ + + +calc.column.width +Calculate an XSL FO table column width specification from a +CALS table column width specification. + + +<xsl:template name="calc.column.width"> +<xsl:param name="colwidth">1*</xsl:param> + ... +</xsl:template> + + + +CALS expresses table column widths in the following basic +forms: + + + + + + +99.99units, a fixed length specifier. + + + + +99.99, a fixed length specifier without any units. + + + + +99.99*, a relative length specifier. + + + + +99.99*+99.99units, a combination of both. + + + + + + +The CALS units are points (pt), picas (pi), centimeters (cm), +millimeters (mm), and inches (in). These are the same units as XSL, +except that XSL abbreviates picas "pc" instead of "pi". If a length +specifier has no units, the CALS default unit (pt) is assumed. + + + +Relative length specifiers are represented in XSL with the +proportional-column-width() function. + + + +Here are some examples: + + + + + + +"36pt" becomes "36pt" + + + + +"3pi" becomes "3pc" + + + + +"36" becomes "36pt" + + + + +"3*" becomes "proportional-column-width(3)" + + + + +"3*+2pi" becomes "proportional-column-width(3)+2pc" + + + + +"1*+2" becomes "proportional-column-width(1)+2pt" + + + + + + + +colwidth + + +The CALS column width specification. + + + + + + + +The XSL column width specification. + + +
diff --git a/rosdocs/xsl/docsrc/html/ChangeLog b/rosdocs/xsl/docsrc/html/ChangeLog new file mode 100644 index 0000000..0908065 --- /dev/null +++ b/rosdocs/xsl/docsrc/html/ChangeLog @@ -0,0 +1,12 @@ +2001-10-13 Norman Walsh + + * Makefile: Changes to make the documentation work with the new litprog sources + +2001-04-03 Norman Walsh + + * Makefile: Documentation fixes + +2001-04-02 Norman Walsh + + * .cvsignore, Makefile: New file. + diff --git a/rosdocs/xsl/docsrc/html/param.xml b/rosdocs/xsl/docsrc/html/param.xml new file mode 100644 index 0000000..769e236 --- /dev/null +++ b/rosdocs/xsl/docsrc/html/param.xml @@ -0,0 +1,4592 @@ + + + + + + +HTML Parameter Reference + +$Id$ + + + Walsh + Norman + + + 1999 + 2000 + 2001 + Norman Walsh + + + +Introduction + +This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets. + +This reference describes each of the HTML Stylesheet parameters. +These are the easily customizable parts of the stylesheet. +If you want to specify an alternate value for one or more of these +parameters, you can do so in a driver stylesheet. + +For example, if you want to change the html.stylesheet +to reference.css, you might create a driver +stylesheet like this: + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + + <xsl:import href="http://docbook.sourceforge.net/release/xsl/snapshot/html/docbook.xsl"/> + + <xsl:param name="html.stylesheet">reference.css</xsl:param> + +</xsl:stylesheet> + +Naturally, you have to change the +href attribute on +<xsl:import> to point to +docbook.xsl on your system. (Or +chunk.xsl, if you're using chunking.) + +This is not intended to be user documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in how it +works. + +Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-) + + +Admonitions + + +admon.graphics.extension +string + + +admon.graphics.extension +Extension for admonition graphics + + + +<xsl:param name="admon.graphics.extension" + select="'.png'"/> + + +Description + +Sets the extension to use on admonition graphics. + + + + + + +admon.graphics.path +string + + +admon.graphics.path +Path to admonition graphics + + + +<xsl:param name="admon.graphics.path">images/</xsl:param> + + +Description + +Sets the path, probably relative to the directory where the HTML +files are created, to the admonition graphics. + + + + + + + +admon.graphics +boolean + + +admon.graphics +Use graphics in admonitions? + + + +<xsl:param name="admon.graphics" + select="0"/> + + +Description + +If true (non-zero), admonitions are presented in an alternate style that uses +a graphic. Default graphics are provided in the distribution. + + + + + + + +admon.style +string + + +admon.style +CSS style attributes for admonitions + + + +<xsl:param name="admon.style"> + <xsl:text>margin-left: 0.5in; margin-right: 0.5in;</xsl:text> +</xsl:param> + + +Description + +Specifies the value of the STYLE +attribute that should be added to admonitions. + + + + + + + +Callouts + + +callout.defaultcolumn +integer + + +callout.defaultcolumn +Indicates what column callouts appear in by default + + + +<xsl:param name="callout.defaultcolumn" + select="'60'"/> + + +Description + +If a callout does not identify a column (for example, if it uses +the linerange unit), +it will appear in the default column. + + + + + + + +callout.graphics.extension +string + + +callout.graphics.extension +Extension for callout graphics + + + +<xsl:param name="callout.graphics.extension" + select="'.png'"/> + + +Description + +Sets the extension to use on callout graphics. + + + + + + +callout.graphics.number.limit +integer + + +callout.graphics.number.limit +Number of the largest callout graphic + + + +<xsl:param name="callout.graphics.number.limit" + select="'10'"/> + + +Description + +If callout.graphics +is non-zero, graphics are used to represent +callout numbers. The value of +callout.graphics.number.limit +is +the largest number for which a graphic exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. + + + + + + + +callout.graphics.path +string + + +callout.graphics.path +Path to callout graphics + + + +<xsl:param name="callout.graphics.path" + select="'images/callouts/'"/> + + +Description + +Sets the path, probably relative to the directory where the HTML +files are created, to the callout graphics. + + + + + + + +callout.graphics +boolean + + +callout.graphics +Use graphics for callouts? + + + +<xsl:param name="callout.graphics" + select="'1'"/> + + +Description + +If non-zero, callouts are presented with graphics (e.g., reverse-video +circled numbers instead of "(1)", "(2)", etc.). +Default graphics are provided in the distribution. + + + + + + + +callout.list.table +boolean + + +callout.list.table +Present callout lists using a table? + + + +<xsl:param name="callout.list.table" + select="'1'"/> + + +Description + +The default presentation of CalloutLists uses +an HTML DL. Some browsers don't align DLs very well +if callout.graphics are used. With this option +turned on, CalloutLists are presented in an HTML +TABLE, which usually results in better alignment +of the callout number with the callout description. + + + + + + +callout.unicode.number.limit +integer + + +callout.unicode.number.limit +Number of the largest callout graphic + + + +<xsl:param name="callout.unicode.number.limit" + select="'10'"/> + + +Description + +If callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.number.limit +is +the largest number for which a unicode character exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. + + + + + + + +callout.unicode.start.character +integer + + +callout.unicode.start.character +First Unicode character to use, decimal value. + + + +<xsl:param name="callout.unicode.start.character" + select="10102"/> + + +Description + +If callout.graphics is zero and callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.start.character +is the decimal unicode value used for callout number one. Currently, +only 10102 is supported in the stylesheets for this parameter. + + + + + + + +callout.unicode +boolean + + +callout.unicode +Use Unicode characters rather than images for callouts. + + + +<xsl:param name="callout.unicode" + select="0"/> + + +Description + +The stylesheets can use either an image of the numbers one to ten, or the single Unicode character which represents the numeral, in white on a black background. Use this to select the Unicode character option. + + + + + + + +callouts.extension +boolean + + +callouts.extension +Enable the callout extension + + + +<xsl:param name="callouts.extension" + select="'1'"/> + + +Description + +The callouts extension processes areaset +elements in ProgramListingCO and other text-based +callout elements. + + + + + + + +EBNF + + +ebnf.table.bgcolor +string + + +ebnf.table.bgcolor +Background color for EBNF tables + + + +<xsl:param name="ebnf.table.bgcolor" + select="'#F5DCB3'"/> + + +Description + +Sets the background color for EBNF tables. No bgcolor +attribute is output if ebnf.table.bgcolor is set to +the null string. The default value matches the value used in recent +online versions of the W3C's XML Spec productions. + + + + + + +ebnf.table.border + + + +ebnf.table.border +Selects border on EBNF tables + + + +<xsl:param name="ebnf.table.border" + select="1"/> + + +Description + +Selects the border on EBNF tables. If non-zero, the tables have +borders, otherwise they don't. + + + + + + +ToC/LoT/Index Generation + + +annotate.toc +boolean + + +annotate.toc +Annotate the Table of Contents? + + + +<xsl:param name="annotate.toc" + select="1"/> + + +Description + +If true, TOCs will be annotated. At present, this just means +that the RefPurpose of RefEntry +TOC entries will be displayed. + + + + + + + +autotoc.label.separator +string + + +autotoc.label.separator +Separator between labels and titles in the ToC + + + +<xsl:param name="autotoc.label.separator" + select="'. '"/> + + +Description + +String to use to seperate labels and title in a table of contents. + + + + + + +process.source.toc +boolean + + +process.source.toc +FIXME: + + + +<xsl:param name="process.source.toc" + select="0"/> + + +Description + +FIXME: + + + + + + + +process.empty.source.toc +boolean + + +process.empty.source.toc +FIXME: + + + +<xsl:param name="process.empty.source.toc" + select="0"/> + + +Description + +FIXME: + + + + + + + +bridgehead.in.toc +boolean + + +bridgehead.in.toc +Should bridgehead elements appear in the TOC? + + + +<xsl:param name="bridgehead.in.toc" + select="0"/> + + +Description + +If non-zero, bridgeheads appear in the TOC. Note that this option +is not fully supported and may be removed in a future version of the +stylesheets. + + + + + + + +manual.toc +string + + +manual.toc +An explicit TOC to be used for the TOC + + + +<xsl:param name="manual.toc" + select="''"/> + + +Description + +The manual.toc identifies an explicit TOC that +will be used for building the printed TOC. + + + + + + + +toc.list.type +list +dl +ul +ol + + +toc.list.type +Type of HTML list element to use for Tables of Contents + + + +<xsl:param name="toc.list.type">dl</xsl:param> + + +Description + +When an automatically generated Table of Contents (or List of Titles) +is produced, this HTML element will be used to make the list. + + + + + + + +toc.section.depth +integer + + +toc.section.depth +How deep should recursive sections appear +in the TOC? + + + +<xsl:param name="toc.section.depth">2</xsl:param> + + +Description + +Specifies the depth to which recursive sections should appear in the +TOC. + + + + + + + +generate.toc +table + + +generate.toc +Control generation of ToCs and LoTs + + + +<xsl:param name="generate.toc"> +appendix toc +article toc +book toc,figure,table,example,equation +chapter toc +part toc +preface toc +qandadiv toc +qandaset toc +reference toc +section toc +set toc +</xsl:param> + + + +Description + +This parameter has a structured value. It is a table of space-delimited +path/value pairs. Each path identifies some element in the source document +using a restricted subset of XPath (only the implicit child axis, no wildcards, +no predicates). Paths can be either relative or absolute. + +When processing a particular element, the stylesheets consult this table to +determine if a ToC (or LoT(s)) should be generated. + +For example, consider the entry: + +book toc,figure + +This indicates that whenever a book is formatted, a +Table Of Contents and a List of Figures should be generated. Similarly, + +/chapter toc + +indicates that whenever a document that has a root +of chapter is formatted, a Table of +Contents should be generated. The entry chapter would match +all chapters, but /chapter matches only chapter +document elements. + +Generally, the longest match wins. So, for example, if you want to distinguish +articles in books from articles in parts, you could use these two entries: + +book/article toc,figure +part/article toc + +Note that an article in a part can never match a book/article, +so if you want nothing to be generated for articles in parts, you can simply leave +that rule out. + +If you want to leave the rule in, to make it explicit that you're turning +something off, use the value nop. For example, the following +entry disables ToCs and LoTs for articles: + +article nop + +Do not simply leave the word article in the file +without a matching value. That'd be just begging the silly little +path/value parser to get confused. + + + + + + +generate.section.toc.level +integer + + +generate.section.toc.level +Control depth of TOC generation in sections + + + +<xsl:param name="generate.section.toc.level" + select="0"/> + + +Description + +The generate.section.toc.level parameter +controls the depth of section in which TOCs will be generated. Note +that this is related to, but not the same as +toc.section.depth, which controls the depth to +which TOC entries will be generated in a given TOC. +If, for example, generate.section.toc.level +is 3, TOCs will be generated in first, second, and third +level sections, but not in fourth level sections. + + + + + + + +generate.index +boolean + + +generate.index +Do you want an index? + + + +<xsl:param name="generate.index" + select="1"/> + + +Description + +Specify if an index should be generated. + + + + + + +Extensions + + +linenumbering.everyNth +integer + + +linenumbering.everyNth +Indicate which lines should be numbered + + + +<xsl:param name="linenumbering.everyNth" + select="'5'"/> + + +Description + +If line numbering is enabled, everyNth line will be numbered. + + + + + + + +linenumbering.extension +boolean + + +linenumbering.extension +Enable the line numbering extension + + + +<xsl:param name="linenumbering.extension" + select="'1'"/> + + +Description + +If true, verbatim environments (elements that have the +format='linespecific' notation attribute: address, literallayout, +programlisting, screen, synopsis) that specify line numbering will +have, surprise, line numbers. + + + + + + + +linenumbering.separator +string + + +linenumbering.separator +Specify a separator between line numbers and lines + + + +<xsl:param name="linenumbering.separator" + select="' '"/> + + +Description + +The separator is inserted between line numbers and lines in +the verbatim environment. + + + + + + + +linenumbering.width +integer + + +linenumbering.width +Indicates the width of line numbers + + + +<xsl:param name="linenumbering.width" + select="'3'"/> + + +Description + +If line numbering is enabled, line numbers will appear right +justified in a field "width" characters wide. + + + + + + + +tablecolumns.extension +boolean + + +tablecolumns.extension +Enable the table columns extension function + + + +<xsl:param name="tablecolumns.extension" + select="'1'"/> + + +Description + +The table columns extension function adjusts the widths of table +columns in the HTML result to more accurately reflect the specifications +in the CALS table. + + + + + + + +textinsert.extension +boolean + + +textinsert.extension +Enable the textinsert extension element + + + +<xsl:param name="textinsert.extension" + select="'1'"/> + + +Description + +The textinsert extension element inserts the contents of a +a file into the result tree (as text). + + + + + + + +use.extensions +boolean + + +use.extensions +Enable extensions + + + +<xsl:param name="use.extensions" + select="'0'"/> + + +Description + +If non-zero, extensions may be used. Each extension is +further controlled by its own parameter. But if +use.extensions is zero, no extensions will +be used. + + + + + + + +Automatic labelling + + +chapter.autolabel +boolean + + +chapter.autolabel +Are chapters automatically enumerated? + + + +<xsl:param name="chapter.autolabel" + select="1"/> + + +Description + +If true (non-zero), unlabeled chapters will be enumerated. + + + + + + + +appendix.autolabel +boolean + + +appendix.autolabel +Are Appendixes automatically enumerated? + + + +<xsl:param name="appendix.autolabel" + select="1"/> + + +Description + +If true (non-zero), unlabeled appendixes will be +enumerated. + + + + + + + +part.autolabel +boolean + + +part.autolabel +Are parts and references enumerated? + + + +<xsl:param name="part.autolabel" + select="1"/> + + +Description + +If true (non-zero), unlabeled parts and references will be enumerated. + + + + + + + +preface.autolabel +boolean + + +preface.autolabel +Are prefaces enumerated? + + + +<xsl:param name="preface.autolabel" + select="0"/> + + +Description + +If true (non-zero), unlabeled prefaces will be enumerated. + + + + + + + +qandadiv.autolabel +boolean + + +qandadiv.autolabel +Are divisions in QAndASets enumerated? + + + +<xsl:param name="qandadiv.autolabel" + select="1"/> + + +Description + +If true (non-zero), unlabeled qandadivs will be enumerated. + + + + + + + +section.autolabel +boolean + + +section.autolabel +Are sections enumerated? + + + +<xsl:param name="section.autolabel" + select="0"/> + + +Description + +If true (non-zero), unlabeled sections will be enumerated. + + + + + + + +section.label.includes.component.label +boolean + + +section.label.includes.component.label +Do section labels include the component label? + + + +<xsl:param name="section.label.includes.component.label" + select="0"/> + + +Description + +If true (non-zero), section labels are prefixed with the label of the +component that contains them. + + + + + + + +label.from.part +boolean + + +label.from.part +Renumber chapters in each part? + + + +<xsl:param name="label.from.part" + select="'0'"/> + + +Description + +If label.from.part is non-zero, components +(chapters, appendixes, etc.) +will be numbered from 1 in each part. Otherwise, +they will be numbered monotonically throughout each +book. + + + + + + + + + +HTML + + +html.base +uri + + +html.base +An HTML base URI + + + +<xsl:param name="html.base"/> + + +Description + +If html.base is set, it is used for the BASE +element in the HEAD of the HTML documents. +This is useful for dynamically served HTML where the base URI needs +to be shifted. + + + + + + +html.stylesheet.type +string + + +html.stylesheet.type +The type of the stylesheet used in the generated HTML + + + +<xsl:param name="html.stylesheet.type">text/css</xsl:param> + + +Description + +The type of the stylesheet to place in the HTML link tag. + + + + + + + +html.stylesheet +string + + +html.stylesheet +Name of the stylesheet to use in the generated HTML + + + +<xsl:param name="html.stylesheet" + select="''"/> + + +Description + +The name of the stylesheet to place in the HTML LINK +tag, or the empty string to suppress the stylesheet LINK. + + + + + + + +use.id.as.filename +boolean + + +use.id.as.filename +Use ID value of chunk elements as the filename? + + + +<xsl:param name="use.id.as.filename" + select="'0'"/> + + +Description + +If use.id.as.filename +is non-zero, the filename of chunk elements that have IDs will be +derived from the ID value. + + + + + + + +css.decoration +boolean + + +css.decoration +Enable CSS decoration of elements + + + +<xsl:param name="css.decoration">1</xsl:param> + + +Description + + +If css.decoration is turned on, then HTML elements +produced by the +stylesheet may be decorated with STYLE attributes. For example, the +LI tags produced for list items may include a fragment of CSS in the +STYLE attribute which sets the CSS property "list-style-type". + + + + + + + +spacing.paras +boolean + + +spacing.paras +Insert additional <p> elements for spacing? + + + +<xsl:param name="spacing.paras" + select="'0'"/> + + +Description + +When non-zero, additional, empty paragraphs are inserted in +several contexts (for example, around informal figures), to create a +more pleasing visual appearance in many browsers. + + + + + + + +emphasis.propagates.style +boolean + + +emphasis.propagates.style +Pass emphasis role attribute through to HTML? + + + +<xsl:param name="emphasis.propagates.style" + select="1"/> + + +Description + +If true, the role attribute of emphasis elements +will be passed through to the HTML as a class attribute on a +span that surrounds the emphasis. + + + + + + +phrase.propagates.style +boolean + + +phrase.propagates.style +Pass phrase role attribute through to HTML? + + + +<xsl:param name="phrase.propagates.style" + select="1"/> + + +Description + +If true, the role attribute of phrase elements +will be passed through to the HTML as a class attribute on a +span that surrounds the phrase. + + + + + + +html.longdesc +boolean + + +html.longdesc +Should longdesc URIs be created? + + + +<xsl:param name="html.longdesc" + select="1"/> + + +Description + +If non-zero, HTML files will be created for the +longdesc attribute. These files +are created from the textobjects in +mediaobjects and +inlinemediaobject. + + + + + + + +html.longdesc.link +boolean + + +html.longdesc.link +Should a link to the longdesc be included in the HTML? + + + +<xsl:param name="html.longdesc.link" + select="$html.longdesc"/> + + +Description + +If non-zero, links will be created to the +HTML files created for the +longdesc attribute. It makes no +sense to turn enable this option without also enabling the +$html.longdesc parameter. + +The longdesc.link named template is called +to construct the link. + + + + + + +make.valid.html +boolean + + +make.valid.html +Attempt to make sure the HTML output is valid HTML + + + +<xsl:param name="make.valid.html" + select="0"/> + + +Description + +If make.valid.html is true, the stylesheets take +extra effort to ensure that the resulting HTML is valid. This may mean that some +para tags are translated into HTML divs or +that other substitutions occur. + +This parameter is different from html.cleanup +because it changes the resulting markup; it does not use extension functions +to manipulate result-tree-fragments and is therefore applicable to any +XSLT processor. + + + + + + +html.cleanup +boolean + + +html.cleanup +Attempt to clean up the resulting HTML? + + + +<xsl:param name="html.cleanup" + select="1"/> + + +Description + +If non-zero, and if the EXSLT +extensions are supported by your processor, the resulting HTML will be +cleaned up. This improves the chances that the +resulting HTML will be valid. It may also improve the formatting of +some elements. + +This parameter is different from make.valid.html +because it uses extension functions to manipulate result-tree-fragments. + + + + + + +draft.watermark.image +uri + + +draft.watermark.image +The URI of the image to be used for draft watermarks + + + +<xsl:param name="draft.watermark.image" + select="'http://docbook.sourceforge.net/release/images/draft.png'"/> + + +Description + +The image to be used for draft watermarks. + + + + + + +generate.id.attributes + + + +generate.id.attributes + + + + +<xsl:param name="generate.id.attributes" + select="0"/> + + +Description + +If non-zero, the HTML stylesheet will generate ID attributes on +containers. For example, the markup: + +<section id="foo"><title>Some Title</title> +<para>Some para.</para> +</section> + +might produce: + +<div class="section" id="foo"> +<h2>Some Title</h2> +<p>Some para.</p> +</div> + +The alternative is to generate anchors: + +<div class="section"> +<h2><a name="foo"></a>Some Title</h2> +<p>Some para.</p> +</div> + +Because the name attribute of +the a element and the id +attribute of other tags are both of type ID, producing both +generates invalid documents. + +As of version 1.50, you can use this switch to control which type of +identifier is generated. For backwards-compatibility, generating +a anchors is preferred. + +Note: at present, this switch is incompletely implemented. +Disabling ID attributes will suppress them, but enabling ID attributes +will not suppress the anchors. + + + + + + +XSLT Processing + + +rootid +string + + +rootid +Specify the root element to format + + + +<xsl:param name="rootid" + select="''"/> + + +Description + +If rootid is specified, it must be the +value of an ID that occurs in the document being formatted. The entire +document will be loaded and parsed, but formatting will begin at the +element identified, rather than at the root. For example, this allows +you to process only chapter 4 of a book. +Because the entire document is available to the processor, automatic +numbering, cross references, and other dependencies are correctly +resolved. + + + + + + +suppress.navigation +boolean + + +suppress.navigation +Disable header and footer navigation + + + +<xsl:param name="suppress.navigation">0</xsl:param> + + +Description + + +If suppress.navigation is turned on, header and +footer navigation will be suppressed. + + + + + + +Meta/*Info + + +inherit.keywords +boolean + + +inherit.keywords +Inherit keywords from ancestor elements? + + + +<xsl:param name="inherit.keywords" + select="'1'"/> + + +Description + +If inherit.keywords +is non-zero, the keyword META for each HTML +HEAD element will include all of the keywords from +ancestral elements. Otherwise, only the keywords from the current section +will be used. + + + + + + + +make.single.year.ranges +boolean + + +make.single.year.ranges +Print single-year ranges (e.g., 1998-1999) + + + +<xsl:param name="make.single.year.ranges" + select="0"/> + + +Description + +If non-zero, year ranges that span a single year will be printed +in range notation (1998-1999) instead of discrete notation +(1998, 1999). + + + + + + +make.year.ranges +boolean + + +make.year.ranges +Collate copyright years into ranges? + + + +<xsl:param name="make.year.ranges" + select="0"/> + + +Description + +If non-zero, copyright years will be collated into ranges. + + + + + + +author.othername.in.middle +boolean + + +author.othername.in.middle +Is othername in author a +middle name? + + + +<xsl:param name="author.othername.in.middle" + select="1"/> + + +Description + +If true (non-zero), the othername of an author +appears between the firstname and +surname. Otherwise, othername +is suppressed. + + + + + + + +generate.legalnotice.link +boolean + + +generate.legalnotice.link +TBD + + + +<xsl:param name="generate.legalnotice.link" + select="0"/> + + +Description + +TBD + + + + + + +Reference Pages + + +funcsynopsis.decoration +boolean + + +funcsynopsis.decoration +Decorate elements of a FuncSynopsis? + + + +<xsl:param name="funcsynopsis.decoration" + select="1"/> + + +Description + +If true (non-zero), elements of the FuncSynopsis will be decorated (e.g. bold or +italic). The decoration is controlled by functions that can be redefined +in a customization layer. + + + + + + + +funcsynopsis.style +list +ansi +kr + + +funcsynopsis.style +What style of 'FuncSynopsis' should be generated? + + + +<xsl:param name="funcsynopsis.style">kr</xsl:param> + + +Description + +If funcsynopsis.style is ansi, +ANSI-style function synopses are generated for a +funcsynopsis, otherwise K&R-style +function synopses are generated. + + + + + + + +function.parens +boolean + + +function.parens +Generate parens after a function? + + + +<xsl:param name="function.parens">0</xsl:param> + + +Description + +If not 0, the formatting of +a function element will include +generated parenthesis. + + + + + + + +refentry.generate.name +boolean + + +refentry.generate.name +Output NAME header before 'RefName'(s)? + + + +<xsl:param name="refentry.generate.name" + select="1"/> + + +Description + +If true (non-zero), a "NAME" section title is output before the list +of 'RefName's. This parameter and +refentry.generate.title are mutually exclusive. + + + + + + + +refentry.generate.title +boolean + + +refentry.generate.title +Output title before 'RefName'(s)? + + + +<xsl:param name="refentry.generate.title" + select="0"/> + + +Description + +If true (non-zero), the reference page title or first name is +output before the list of 'RefName's. This parameter and +refentry.generate.name are mutually exclusive. + + + + + + + + +refentry.xref.manvolnum +boolean + + +refentry.xref.manvolnum +Output manvolnum as part of +refentry cross-reference? + + + +<xsl:param name="refentry.xref.manvolnum" + select="1"/> + + +Description + +if true (non-zero), the manvolnum is used when cross-referencing +refentrys, either with xref +or citerefentry. + + + + + + + +citerefentry.link +boolean + + +citerefentry.link +Generate URL links when cross-referencing RefEntrys? + + + +<xsl:param name="citerefentry.link" + select="'0'"/> + + +Description + +If true, a web link will be generated, presumably +to an online man->HTML gateway. The text of the link is +generated by the generate.citerefentry.link template. + + + + + + + +refentry.separator +boolean + + +refentry.separator +Generate a separator between consecutive RefEntry elements? + + + +<xsl:param name="refentry.separator" + select="'1'"/> + + +Description + +If true, a separator will be generated between consecutive +reference pages. + + + + + + + +Tables + + +default.table.width +length + + +default.table.width +The default width of tables + + + +<xsl:param name="default.table.width" + select="''"/> + + +Description + +If specified, this value will be used for the WIDTH attribute on +tables that do not specify an alternate width (with the dbhtml processing +instruction). + + + + + + +nominal.table.width +length + + +nominal.table.width +The (absolute) nominal width of tables + + + +<xsl:param name="nominal.table.width" + select="'6in'"/> + + +Description + +In order to convert CALS column widths into HTML column widths, it +is sometimes necessary to have an absolute table width to use for conversion +of mixed absolute and relative widths. This value must be an absolute +length (not a percentag). + + + + + + +table.borders.with.css +boolean + + +table.borders.with.css +Use CSS to specify table, row, and cell borders? + + + +<xsl:param name="table.borders.with.css" + select="0"/> + + +Description + +If true (non-zero), CSS will be used to draw table borders. + + + + + + + +table.border.style + + + +table.border.style + + + + +<xsl:param name="table.border.style" + select="'solid'"/> + + +Description + +FIXME: + + + + + + +table.border.thickness + + + +table.border.thickness + + + + +<xsl:param name="table.border.thickness" + select="'0.5pt'"/> + + +Description + +FIXME: + + + + + + +table.border.color + + + +table.border.color + + + + +<xsl:param name="table.border.color" + select="'black'"/> + + +Description + +FIXME: + + + + + + +QAndASet + + +qanda.defaultlabel +boolean + + +qanda.defaultlabel +Sets the default for defaultlabel on QandASet. + + + +<xsl:param name="qanda.defaultlabel">number</xsl:param> + + +Description + +If no defaultlabel attribute is specified on a QandASet, this +value is used. It must be one of the legal values for the defaultlabel +attribute. + + + + + + + +qanda.inherit.numeration +boolean + + +qanda.inherit.numeration +Does enumeration of QandASet components inherit the numeration of parent elements? + + + +<xsl:param name="qanda.inherit.numeration" + select="1"/> + + +Description + +If true (non-zero), numbered QandADiv elements and Questions and Answers inherit +the numeration of the ancestors of the QandASet. + + + + + + + +Linking + + +link.mailto.url +string + + +link.mailto.url +Mailto URL for the LINK REL=made HTML HEAD element + + + +<xsl:param name="link.mailto.url"/> + + +Description + +If not the empty string, this address will be used for the +REL=made LINK element in the HTML HEAD. + + + + + + + +ulink.target +string + + +ulink.target +The HTML anchor target for ULinks + + + +<xsl:param name="ulink.target" + select="'_top'"/> + + +Description + +If ulink.target is set, its value will +be used for the target attribute +on anchors generated for ulinks. + + + + + + +olink.fragid +string + + +olink.fragid +Names the fragment identifier portion of an OLink resolver query + + + +<xsl:param name="olink.fragid" + select="'fragid='"/> + + +Description + +FIXME: + + + + + + +olink.outline.ext +string + + +olink.outline.ext +The extension of OLink outline files + + + +<xsl:param name="olink.outline.ext" + select="'.olink'"/> + + +Description + +FIXME: + + + + + + +olink.pubid +string + + +olink.pubid +Names the public identifier portion of an OLink resolver query + + + +<xsl:param name="olink.pubid" + select="'pubid='"/> + + +Description + +FIXME: + + + + + + +olink.sysid +string + + +olink.sysid +Names the system identifier portion of an OLink resolver query + + + +<xsl:param name="olink.sysid" + select="'sysid='"/> + + +Description + +FIXME: + + + + + + +olink.resolver + + + +olink.resolver +The root name of the OLink resolver (usually a script) + + + +<xsl:param name="olink.resolver" + select="'/cgi-bin/olink'"/> + + +Description + +FIXME: + + + + + + +Bibliography + + +biblioentry.item.separator +string + + +biblioentry.item.separator +Text to separate bibliography entries + + + +<xsl:param name="biblioentry.item.separator">. </xsl:param> + + +Description + +Text to separate bibliography entries + + + + + + + +bibliography.collection +string + + +bibliography.collection +Name of the bibliography collection file + + + +<xsl:param name="bibliography.collection" + select="'http://docbook.sourceforge.net/release/bibliography/bibliography.xml'"/> + + +Description + +Maintaining bibliography entries across a set of documents is tedious, time +consuming, and error prone. It makes much more sense, usually, to store all of +the bibliography entries in a single place and simply extract +the ones you need in each document. + +That's the purpose of the +bibliography.collection parameter. To setup a global +bibliography database, follow these steps: + +First, create a stand-alone bibliography document that contains all of +the documents that you wish to reference. Make sure that each bibliography +entry (whether you use biblioentry or bibliomixed) +has an ID. + +My global bibliography, ~/bibliography.xml begins +like this: + + +<!DOCTYPE bibliography + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> +<bibliography><title>References</title> + +<bibliomixed id="xml-rec"><abbrev>XML 1.0</abbrev>Tim Bray, +Jean Paoli, C. M. Sperberg-McQueen, and Eve Maler, editors. +<citetitle><ulink url="http://www.w3.org/TR/REC-xml">Extensible Markup +Language (XML) 1.0 Second Edition</ulink></citetitle>. +World Wide Web Consortium, 2000. +</bibliomixed> + +<bibliomixed id="xml-names"><abbrev>Namespaces</abbrev>Tim Bray, +Dave Hollander, +and Andrew Layman, editors. +<citetitle><ulink url="http://www.w3.org/TR/REC-xml-names/">Namespaces in +XML</ulink></citetitle>. +World Wide Web Consortium, 1999. +</bibliomixed> + +<!-- ... --> +</bibliography> + + + +When you create a bibliography in your document, simply +provide empty bibliomixed +entries for each document that you wish to cite. Make sure that these +elements have the same ID as the corresponding real +entry in your global bibliography. + +For example: + + +<bibliography><title>Bibliography</title> + +<bibliomixed id="xml-rec"/> +<bibliomixed id="xml-names"/> +<bibliomixed id="DKnuth86">Donald E. Knuth. <citetitle>Computers and +Typesetting: Volume B, TeX: The Program</citetitle>. Addison-Wesley, +1986. ISBN 0-201-13437-3. +</bibliomixed> +<bibliomixed id="relaxng"/> + +</bibliography> + + +Note that it's perfectly acceptable to mix entries from your +global bibliography with normal entries. You can use +xref or other elements to cross-reference your +bibliography entries in exactly the same way you do now. + +Finally, when you are ready to format your document, simply set the +bibliography.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global bibliography. + +The stylesheets will format the bibliography in your document as if +all of the entries referenced appeared there literally. + + + + + + +Glossary + + +glossterm.auto.link +boolean + + +glossterm.auto.link +Generate links from glossterm to glossentry automaticaly? + + + +<xsl:param name="glossterm.auto.link" + select="'0'"/> + + +Description + +If true, a link will be automatically created from glossterm +to glossentry for that glossary term. This is usefull when your +glossterm names are consistent and you don't want to add links +manually. +If there is linkend on +glossterm then is used instead of autogeneration of +link. + + + + + + +firstterm.only.link +boolean + + +firstterm.only.link +Does automatic glossterm linking only apply to firstterms? + + + +<xsl:param name="firstterm.only.link" + select="0"/> + + +Description + +If true, only firstterms will be automatically linked +to the glossary. If glossary linking is not enabled, this parameter +has no effect. + + + + + + +glossary.collection +string + + +glossary.collection +Name of the glossary collection file + + + +<xsl:param name="glossary.collection" + select="''"/> + + +Description + +Glossaries maintained independently across a set of documents +are likely to become inconsistent unless considerable effort is +expended to keep them in sync. It makes much more sense, usually, to +store all of the glossary entries in a single place and simply +extract the ones you need in each document. + +That's the purpose of the +glossary.collection parameter. To setup a global +glossary database, follow these steps: + +Setting Up the Glossary Database + +First, create a stand-alone glossary document that contains all of +the entries that you wish to reference. Make sure that each glossary +entry has an ID. + +Here's an example glossary: + + + +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE glossary + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> +<glossary> +<glossaryinfo> +<editor><firstname>Eric</firstname><surname>Raymond</surname></editor> +<title>Jargon File 4.2.3 (abridged)</title> +<releaseinfo>Just some test data</releaseinfo> +</glossaryinfo> + +<glossdiv><title>0</title> + +<glossentry> +<glossterm>0</glossterm> +<glossdef> +<para>Numeric zero, as opposed to the letter `O' (the 15th letter of +the English alphabet). In their unmodified forms they look a lot +alike, and various kluges invented to make them visually distinct have +compounded the confusion. If your zero is center-dotted and letter-O +is not, or if letter-O looks almost rectangular but zero looks more +like an American football stood on end (or the reverse), you're +probably looking at a modern character display (though the dotted zero +seems to have originated as an option on IBM 3270 controllers). If +your zero is slashed but letter-O is not, you're probably looking at +an old-style ASCII graphic set descended from the default typewheel on +the venerable ASR-33 Teletype (Scandinavians, for whom /O is a letter, +curse this arrangement). (Interestingly, the slashed zero long +predates computers; Florian Cajori's monumental "A History of +Mathematical Notations" notes that it was used in the twelfth and +thirteenth centuries.) If letter-O has a slash across it and the zero +does not, your display is tuned for a very old convention used at IBM +and a few other early mainframe makers (Scandinavians curse <emphasis>this</emphasis> +arrangement even more, because it means two of their letters collide). +Some Burroughs/Unisys equipment displays a zero with a <emphasis>reversed</emphasis> +slash. Old CDC computers rendered letter O as an unbroken oval and 0 +as an oval broken at upper right and lower left. And yet another +convention common on early line printers left zero unornamented but +added a tail or hook to the letter-O so that it resembled an inverted +Q or cursive capital letter-O (this was endorsed by a draft ANSI +standard for how to draw ASCII characters, but the final standard +changed the distinguisher to a tick-mark in the upper-left corner). +Are we sufficiently confused yet?</para> +</glossdef> +</glossentry> + +<glossentry> +<glossterm>1TBS</glossterm> +<glossdef> +<para role="accidence"> +<phrase role="pronounce"></phrase> +<phrase role="partsofspeach">n</phrase> +</para> +<para>The "One True Brace Style"</para> +<glossseealso>indent style</glossseealso> +</glossdef> +</glossentry> + +<!-- ... --> + +</glossdiv> + +<!-- ... --> + +</glossary> + + + + +Marking Up Glossary Terms + +That takes care of the glossary database, now you have to get the entries +into your document. Unlike bibliography entries, which can be empty, creating +placeholder glossary entries would be very tedious. So instead, +support for glossary.collection relies on implicit linking. + +In your source document, simply use firstterm and +glossterm to identify the terms you wish to have included +in the glossary. The stylesheets assume that you will either set the +baseform attribute correctly, or that the +content of the element exactly matches a term in your glossary. + +If you're using a glossary.collection, don't +make explicit links on the terms in your document. + +So, in your document, you might write things like this: + + +<para>This is dummy text, without any real meaning. +The point is simply to reference glossary terms like <glossterm>0</glossterm> +and the <firstterm baseform="1TBS">One True Brace Style (1TBS)</firstterm>. +The <glossterm>1TBS</glossterm>, as you can probably imagine, is a nearly +religious issue.</para> + + +If you set the firstterm.only.link parameter, +only the terms marked with firstterm will be links. +Otherwise, all the terms will be linked. + + + +Marking Up the Glossary + +The glossary itself has to be identified for the stylesheets. For lack +of a better choice, the role is used. +To identify the glossary as the target for automatic processing, set +the role to auto. The title of this +glossary (and any other information from the glossaryinfo +that's rendered by your stylesheet) will be displayed, but the entries will +come from the database. + + +Unfortunately, the glossary can't be empty, so you must put in +at least one glossentry. The content of this entry +is irrelevant, it will not be rendered: + + +<glossary role="auto"> +<glossentry> +<glossterm>Irrelevant</glossterm> +<glossdef> +<para>If you can see this, the document was processed incorrectly. Use +the <parameter>glossary.collection</parameter> parameter.</para> +</glossdef> +</glossentry> +</glossary> + + +What about glossary divisions? If your glossary database has glossary +divisions and your automatic glossary contains at least +one glossdiv, the automic glossary will have divisions. +If the glossdiv is missing from either location, no divisions +will be rendered. + +Glossary entries (and divisions, if appropriate) in the glossary will +occur in precisely the order they occur in your database. + + + +Formatting the Document + +Finally, when you are ready to format your document, simply set the +glossary.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global glossary. + +The stylesheets will format the glossary in your document as if +all of the entries implicilty referenced appeared there literally. + + + + + + +Miscellaneous + + +graphic.default.extension +string + + +graphic.default.extension +Default extension for graphic filenames + + + +<xsl:param name="graphic.default.extension"/> + + +Description + +If a graphic or mediaobject +includes a reference to a filename that does not include an extension, +and the format attribute is +unspecified, the default extension will be used. + + + + + + + +formal.procedures +boolean + + +formal.procedures +Selects formal or informal procedures + + + +<xsl:param name="formal.procedures" + select="1"/> + + +Description + +Formal procedures are numbered and always have a title. + + + + + + + +formal.title.placement + + + +formal.title.placement + + + + +<xsl:param name="formal.title.placement"> +figure before +example before +equation before +table before +procedure before +</xsl:param> + + +Description + +Specifies where formal object titles should occur. For each formal object +type (figure, +example, +equation, +table, and procedure) +you can specify either the keyword +before or +after. + + + + + + +runinhead.default.title.end.punct +string + + +runinhead.default.title.end.punct +Default punctuation character on a run-in-head + + + +<xsl:param name="runinhead.default.title.end.punct" + select="'.'"/> + + +Description + +FIXME: + + + + + + + +runinhead.title.end.punct +string + + +runinhead.title.end.punct +Characters that count as punctuation on a run-in-head + + + +<xsl:param name="runinhead.title.end.punct" + select="'.!?:'"/> + + +Description + +FIXME: + + + + + + + +show.comments +boolean + + +show.comments +Display comment elements? + + + +<xsl:param name="show.comments">1</xsl:param> + + +Description + +If true (non-zero), comments will be displayed, otherwise they are suppressed. +Comments here refers to the comment element, +which will be renamed remark in DocBook V4.0, +not XML comments (<-- like this -->) which are unavailable. + + + + + + + +show.revisionflag +boolean + + +show.revisionflag +Enable decoration of elements that have a revisionflag + + + +<xsl:param name="show.revisionflag">0</xsl:param> + + +Description + + +If show.revisionflag is turned on, then the stylesheets +may produce additional markup designed to allow a CSS stylesheet to +highlight elements that have specific revisionflag settings. + +The markup inserted will be usually be either a <span> or <div> +with an appropriate class attribute. (The value of +the class attribute will be the same as the value of the revisionflag +attribute). In some contexts, for example tables, where extra markup +would be structurally illegal, the class attribute will be added to the +appropriate container element. + +In general, the stylesheets only test for revisionflag in contexts +where an importing stylesheet would have to redefine whole templates. +Most of the revisionflag processing is expected to be done by another +stylesheet, for example changebars.xsl. + + + + + + +shade.verbatim +boolean + + +shade.verbatim +Should verbatim environments be shaded? + + + +<xsl:param name="shade.verbatim" + select="0"/> + + +Description + +FIXME: + + + + + + +shade.verbatim.style + + + +shade.verbatim.style +Properties that specify the style of shaded verbatim listings + + + +<xsl:attribute-set name="shade.verbatim.style"> + <xsl:attribute name="border">0</xsl:attribute> + <xsl:attribute name="bgcolor">#E0E0E0</xsl:attribute> +</xsl:attribute-set> + + + +Description + +FIXME: + + + + + + +punct.honorific +string + + +punct.honorific +Punctuation after an honorific in a personal name. + + + +<xsl:param name="punct.honorific" + select="'.'"/> + + +Description + +This parameter specifies the punctuation that should be added after an +honorific in a personal name. + + + + + + +segmentedlist.as.table +boolean + + +segmentedlist.as.table +Format segmented lists as tables? + + + +<xsl:param name="segmentedlist.as.table" + select="0"/> + + +Description + +If non-zero, segmentedlists will be formatted as +tables. + + + + + + +variablelist.as.table +boolean + + +variablelist.as.table +Format variablelists as tables? + + + +<xsl:param name="variablelist.as.table" + select="0"/> + + +Description + +If non-zero, variablelists will be formatted as +tables. + +This parameter only applys to the HTML transformations. In the +FO case, proper list markup is robust enough to handle the formatting. +But see also variablelist.as.blocks. + + + + + + +tex.math.in.alt +string + + +tex.math.in.alt +TeX notation used for equations + + + +<xsl:param name="tex.math.in.alt" + select="''"/> + + +Description + +If you want type math directly in TeX notation in equations, +this parameter specifies notation used. Currently are supported two +values -- plain and latex. Empty +value means that you are not using TeX math at all. + +Preferred way for including TeX alternative of math is inside of +textobject element. Eg.: + +<inlineequation> +<inlinemediaobject> +<imageobject> +<imagedata fileref="eq1.gif"/> +</imageobject> +<textobject><phrase>E=mc squared</phrase></textobject> +<textobject role="tex"><phrase>E=mc^2</phrase></textobject> +</inlinemediaobject> +</inlineequation> + +If you are using graphic element, you can +store TeX inside alt element: + +<inlineequation> +<alt role="tex">a^2+b^2=c^2</alt> +<graphic fileref="a2b2c2.gif"/> +</inlineequation> + +If you want use this feature, you should process your FO with +PassiveTeX, which only supports TeX math notation. When calling +stylsheet, don't forget to specify also +passivetex.extensions=1. + +If you want equations in HTML, just process generated file +tex-math-equations.tex by TeX or LaTeX. Then run +dvi2bitmap program on result DVI file. You will get images for +equations in your document. + + + + + + +tex.math.file +string + + +tex.math.file +Name of temporary file for generating images from equations + + + +<xsl:param name="tex.math.file" + select="'tex-math-equations.tex'"/> + + +Description + +Name of auxiliary file for TeX equations. This file can be +processed by dvi2bitmap to get bitmap versions of equations for HTML +output. + + + + + + +tex.math.delims +boolean + + +tex.math.delims +Should be equations outputed for processing by TeX +automatically surrounded by math mode delimiters + + + +<xsl:param name="tex.math.delims" + select="'1'"/> + + +Description + +For compatibility with DSSSL based DBTeXMath from Allin Cottrell +you should set this parameter to 0. + + + + + + +pixels.per.inch +integer + + +pixels.per.inch +How many pixels are there per inch? + + + +<xsl:param name="pixels.per.inch" + select="90"/> + + +Description + +When lengths are converted to pixels, this value is used to +determine the size of a pixel. The default value is taken from the +XSL +Recommendation. + + + + + + + +points.per.em +number + + +points.per.em +Specify the nominal size of an em-space in points + + + +<xsl:param name="points.per.em" + select="10"/> + + +Description + +FIXME: + + + + + + +use.svg +boolean + + +use.svg +Allow SVG in the result tree? + + + +<xsl:param name="use.svg" + select="1"/> + + +Description + +If non-zero, SVG will be considered an acceptable image format. SVG +is passed through to the result tree, so correct rendering of the resulting +diagram depends on the formatter (FO processor or web browser) that is used +to process the output from the stylesheet. + + + + + + +Chunking + + +html.ext + + + +html.ext +Identifies the extension of generated HTML files + + + +<xsl:param name="html.ext" + select="'.html'"/> + + +Description + +The extension identified by html.ext will +be used as the filename extension for chunks created by this stylesheet. + + + + + + + +html.extra.head.links +boolean + + +html.extra.head.links +Toggle extra HTML head link information + + + +<xsl:param name="html.extra.head.links" + select="1"/> + + +Description + +If non-zero, extra link elements will be +generated in the head of chunked HTML files. These +extra links point to chapters, appendixes, sections, etc. as supported +by the Site Navigation Bar in Mozilla 1.0 (as of CR1, at least). + + + + + + + +root.filename + + + +root.filename +Identifies the name of the root HTML file when chunking + + + +<xsl:param name="root.filename" + select="'index'"/> + + +Description + +The root.filename is the base filename for +the chunk created for the root of each document processed. + + + + + + + +base.dir + + + +base.dir +The base directory of chunks + + + +<xsl:param name="base.dir" + select="''"/> + + +Description + +If specified, the base.dir identifies +the output directory for chunks. (If not specified, the output directory +is system dependent.) + + + + + + + generate.manifest + boolean + + + generate.manifest + Generate a manifest file? + + + + <xsl:param name="generate.manifest" + select="0"/> + + + Description + + If non-zero, a list of HTML files generated by the + stylesheet transformation is written to the file named by + the manifest parameter. + + + + + + + manifest + string + + + manifest + Name of manifest file + + + + <xsl:param name="manifest" + select="'HTML.manifest'"/> + + + Description + + The name of the file to which a manifest is written (if the + value of the generate.manifest parameter + is non-zero). + + + + + + +chunk.toc +string + + +chunk.toc +An explicit TOC to be used for chunking + + + +<xsl:param name="chunk.toc" + select="''"/> + + +Description + +The chunk.toc identifies an explicit TOC that +will be used for chunking. This parameter is only used by the +chunktoc.xsl stylesheet (and customization layers built +from it). + + + + + + +chunk.section.depth +integer + + +chunk.section.depth +Depth to which sections should be chunked + + + +<xsl:param name="chunk.section.depth" + select="1"/> + + +Description + +This parameter sets the depth of section chunking. + + + + + + +chunk.first.sections + + + +chunk.first.sections +Chunk the first top-level section? + + + +<xsl:param name="chunk.first.sections" + select="0"/> + + +Description + +If non-zero, a chunk will be created for the first top-level +sect1 or section elements in +each component. Otherwise, that section will be part of the chunk for +its parent. + + + + + + + +chunk.quietly + + + +chunk.quietly +Omit the chunked filename messages. + + + +<xsl:param name="chunk.quietly" + select="0"/> + + +Description + +If zero (the default), the XSL processor emits a message naming +each separate chunk filename as it is being output. +If nonzero, then the messages are suppressed. + + + + + + + +saxon.character.representation +string + + +saxon.character.representation +Saxon character representation used in generated HTML pages + + + +<xsl:param name="saxon.character.representation" + select="'entity;decimal'"/> + + +Description + +This character representation is used in files generated by chunking stylesheet. If +you want to suppress entity references for characters with direct representation +in default.encoding, set this parameter to value native. + + + + + + + +default.encoding +string + + +default.encoding +Encoding used in generated HTML pages + + + +<xsl:param name="default.encoding" + select="'ISO-8859-1'"/> + + +Description + +This encoding is used in files generated by chunking stylesheet. Currently +only Saxon is able to change output encoding. + + + + + + + +output.method +list +html +xml + + +output.method + + + + +<xsl:param name="output.method" + select="'html'"/> + + +Description + +Selects the output method for chunked documents. + + + + + + +chunk.datafile + + + +chunk.datafile +Name of the temporary file used to hold chunking data + + + +<xsl:param name="chunk.datafile" + select="'.chunks'"/> + + +Description + +Chunking is now a two-step process. The +chunk.datafile is the name of the file used to +hold the chunking data. + + + + + + + +navig.graphics +boolean + + +navig.graphics +Use graphics in navigational headers and footers? + + + +<xsl:param name="navig.graphics" + select="0"/> + + +Description + +If true (non-zero), the navigational headers and footers in chunked +HTML are presented in an alternate style that uses +graphical icons for Next, Previous, Up, and Home. +Default graphics are provided in the distribution. + + + + + + + +navig.graphics.extension +string + + +navig.graphics.extension +Extension for navigational graphics + + + +<xsl:param name="navig.graphics.extension" + select="'.gif'"/> + + +Description + +Sets the filename extension to use on navigational graphics used +in the headers and footers of chunked HTML. + + + + + + +navig.graphics.path +string + + +navig.graphics.path +Path to navigational graphics + + + +<xsl:param name="navig.graphics.path">images/</xsl:param> + + +Description + +Sets the path, probably relative to the directory where the HTML +files are created, to the navigational graphics used in the +headers and footers of chunked HTML. + + + + + + + +navig.showtitles +boolean + + +navig.showtitles +Display titles in HTML headers and footers? + + + +<xsl:param name="navig.showtitles">1</xsl:param> + + +Description + +If true (non-zero), +the headers and footers of chunked HTML +display the titles of the next and previous chunks, +along with the words 'Next' and 'Previous' (or the +equivalent graphical icons if navig.graphics is true). +If false (zero), then only the words 'Next' and 'Previous' +(or the icons) are displayed. + + + + + + + +Profiling + +Following parameters can be used for attribute value based +profiling of your document. For more info about profiling look at +http://docbook.sourceforge.net/projects/xsl/doc/tools/profiling.html. + + + +profile.arch +string + + +profile.arch +Target profile for arch +attribute + + + +<xsl:param name="profile.arch" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.condition +string + + +profile.condition +Target profile for condition +attribute + + + +<xsl:param name="profile.condition" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.conformance +string + + +profile.conformance +Target profile for conformance +attribute + + + +<xsl:param name="profile.conformance" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.lang +string + + +profile.lang +Target profile for lang +attribute + + + +<xsl:param name="profile.lang" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.os +string + + +profile.os +Target profile for os +attribute + + + +<xsl:param name="profile.os" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.revision +string + + +profile.revision +Target profile for revision +attribute + + + +<xsl:param name="profile.revision" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.revisionflag +string + + +profile.revisionflag +Target profile for revisionflag +attribute + + + +<xsl:param name="profile.revisionflag" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.role +string + + +profile.role +Target profile for role +attribute + + + +<xsl:param name="profile.role" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.security +string + + +profile.security +Target profile for security +attribute + + + +<xsl:param name="profile.security" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.userlevel +string + + +profile.userlevel +Target profile for userlevel +attribute + + + +<xsl:param name="profile.userlevel" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.vendor +string + + +profile.vendor +Target profile for vendor +attribute + + + +<xsl:param name="profile.vendor" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.attribute +string + + +profile.attribute +Name of user-specified profiling attribute + + + +<xsl:param name="profile.attribute" + select="''"/> + + +Description + +This parameter is used in conjuction with profile.value. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.value +string + + +profile.value +Target profile for user-specified attribute + + + +<xsl:param name="profile.value" + select="''"/> + + +Description + +When you are using this parameter you must also specify name of +profiling attribute with parameter profile.attribute. + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.separator +string + + +profile.separator +Separator character for compound profile values + + + +<xsl:param name="profile.separator" + select="';'"/> + + +Description + +Separator character for compound profile values. + + + + + + +HTML Help + + +htmlhelp.encoding +string + + +htmlhelp.encoding +Character encoding to use in files for HTML Help compiler. + + + +<xsl:param name="htmlhelp.encoding" + select="'iso-8859-1'"/> + + +Description + +HTML Help Compiler is not UTF-8 aware, so you should always use +apropriate single-byte encoding here. + + + + + + +htmlhelp.autolabel +boolean + + +htmlhelp.autolabel +Should tree-like ToC use autonumbering feature? + + + +<xsl:param name="htmlhelp.autolabel" + select="0"/> + + +Description + +If you want to include chapter and section numbers into ToC in +the left panel, set this parameter to 1. + + + + + + +htmlhelp.chm +string + + +htmlhelp.chm +Filename of output HTML Help file. + + + +<xsl:param name="htmlhelp.chm" + select="'htmlhelp.chm'"/> + + +Description + +Change this parameter if you want different name of result +CHM file than htmlhelp.chm. + + + + + + +htmlhelp.default.topic +string + + +htmlhelp.default.topic +Name of file with default topic + + + +<xsl:param name="htmlhelp.default.topic" + select="''"/> + + +Description + +Normally first chunk of document is displayed when you open HTML +Help file. If you want to display another topic, simply set its +filename by this parameter. + +This is useful especially if you don't generate ToC in front of +your document and you also hide root element in ToC. E.g.: + +<xsl:param name="generate.book.toc" select="0"/> +<xsl:param name="htmlhelp.hhc.show.root" select="0"/> +<xsl:param name="htmlhelp.default.topic" select="'pr01.html'"/> + + + + + + +htmlhelp.hhp +string + + +htmlhelp.hhp +Filename of project file. + + + +<xsl:param name="htmlhelp.hhp" + select="'htmlhelp.hhp'"/> + + +Description + +Change this parameter if you want different name of project +file than htmlhelp.hhp. + + + + + + +htmlhelp.hhc +string + + +htmlhelp.hhc +Filename of TOC file. + + + +<xsl:param name="htmlhelp.hhc" + select="'toc.hhc'"/> + + +Description + +Change this parameter if you want different name of TOC file +than toc.hhc. + + + + + + +htmlhelp.hhp.tail +string + + +htmlhelp.hhp.tail +Additional content for project file. + + + +<xsl:param name="htmlhelp.hhp.tail"/> + + +Description + +If you want to include some additional parameters into project file, +store appropriate part of project file into this parameter. + + + + + + +htmlhelp.enumerate.images +boolean + + +htmlhelp.enumerate.images +Should be paths to all used images added to project file? + + + +<xsl:param name="htmlhelp.enumerate.images" + select="0"/> + + +Description + +You should turn on this flag, if you insert images into your documents +as external binary entities or if you are using absolute path in image names. + + + + + + +htmlhelp.force.map.and.alias +boolean + + +htmlhelp.force.map.and.alias +Should be [MAP] and [ALIAS] section added to project file unconditionaly? + + + +<xsl:param name="htmlhelp.force.map.and.alias" + select="0"/> + + +Description + +You should turn on this flag, if you have your own +alias.h and contex.h files +and you want include reference to them in project file. + + + + + + +htmlhelp.map.file +string + + +htmlhelp.map.file +Filename of map file. + + + +<xsl:param name="htmlhelp.map.file" + select="'context.h'"/> + + +Description + +Change this parameter if you want different name of map file +than context.h. + + + + + + +htmlhelp.alias.file +string + + +htmlhelp.alias.file +Filename of map file. + + + +<xsl:param name="htmlhelp.alias.file" + select="'alias.h'"/> + + +Description + +Change this parameter if you want different name of map file +than alias.h. + + + + + + +htmlhelp.hhc.section.depth +integer + + +htmlhelp.hhc.section.depth +Depth of TOC for sections in a left pane. + + + +<xsl:param name="htmlhelp.hhc.section.depth" + select="5"/> + + +Description + +Change this parameter if you want shallower ToC in a left pane +of HTML Help viewer. + + + + + + +htmlhelp.hhc.show.root +boolean + + +htmlhelp.hhc.show.root +Should be entry for root element shown in ToC? + + + +<xsl:param name="htmlhelp.hhc.show.root" + select="1"/> + + +Description + +If set to 0, there will be no entry for root element in +ToC. This is useful when you want provide user with expanded ToC as +a default. + + + + + + +htmlhelp.hhc.folders.instead.books + + + +htmlhelp.hhc.folders.instead.books + + + + +<xsl:param name="htmlhelp.hhc.folders.instead.books" + select="1"/> + + +Description + +This parameter controls whether there should be folder-like +icons (1) or book-like icons (0) in ToC. + + + + + + +htmlhelp.title +string + + +htmlhelp.title +Title of HTML Help + + + +<xsl:param name="htmlhelp.title" + select="''"/> + + +Description + +Content of this parameter will be used as a title for generated +HTML Help. If empty, title will be automatically taken from document. + + + + + + +The Stylesheet + +The param.xsl stylesheet is just a wrapper +around all these parameters. + + +<!-- This file is generated from param.xweb; do not edit this file! --> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="src" + version="1.0"> + +<!-- ******************************************************************** + $Id$ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://nwalsh.com/docbook/xsl/ for copyright + and other information. + + ******************************************************************** --> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</xsl:stylesheet> + + + + \ No newline at end of file diff --git a/rosdocs/xsl/docsrc/htmlhelp.xml b/rosdocs/xsl/docsrc/htmlhelp.xml new file mode 100644 index 0000000..8c018d8 --- /dev/null +++ b/rosdocs/xsl/docsrc/htmlhelp.xml @@ -0,0 +1,158 @@ + + + + + +Jirka +Kosek + + +2001 +Jiří Kosek + +$Id$ + +Using the XSL stylesheets to generate HTML Help + + +HTML Help (HH) is a help format used in newer versions of Microsoft +Windows and applications written for that platform. The HTML Help format allows +you to pack several HTML files together with images, a table of contents, and +an index into a single file. Windows contains a browser for this file format +and full-text search is also supported on HH files. If you want to know +more about HH and its capabilities, visit the Microsoft HTML +Help Start Page. + +
+How to generate your first HTML Help file from DocBook sources + +Working with the HH stylesheets is the same as with other XSL DocBook +stylesheets. Simply run your favorite XSLT processor on your document +with the HH stylesheet: + +saxon yourfile /path/to/stylesheets/htmlhelp/htmlhelp.xsl + +The stylesheet imports the standard chunking stylesheet, so a set of +HTML files is created in the usual way. Other files are also created +– htmlhelp.hhp is the project file for the HTML +Help Compiler and toc.hhc holds the structure of your +document. + +The language identifier for the overall HH file is taken from the top-most +element with a lang attribute in +your DocBook source. This is perfectly legal for documents in only one +language. If a language is not specified in the document, US English is +used. There is one problem – MS language codes are country-sensitive, +and this information is not available in the DocBook source. If +the stylesheet selects a bad code for you, edit +langcodes.xml, and remove all entries which have +your language code, but are located in an inappropriate country. + +The title for the overall HH file is taken from the first title element in your +document. Full-text searching is automatically on. If your document +contains index terms, they are automatically converted to HH ActiveX +objects, which are recognized by the HTML Help compiler. + +The stylesheet creates couple other files which are then used as an +input for the HTML Help Compiler (HHC), which is part of HTML Help Workshop. If you have HHC in your path, you can +start conversion to the HH format by running this command: + +hhc htmlhelp.hhp + +If you cannot stand to work without using your mouse, there is alternative +way. Just double-click on the htmlhelp.hhp file. HH Workshop will be +launched automatically. Generation of the HH file can be started by selecting + +File Compile from the application's +menu. + +
+ +
+Customizing generated files + +
+Enabling navigation links + +By default, the HTML Help stylesheet disables navigation links at +the start and the bottom of each page. If you want to enable the +links instead, start your XSLT processor with the parameter suppress.navigation set to 0. + +saxon yourfile /path/to/stylesheets/htmlhelp/htmlhelp.xsl "suppress.navigation=0" + +Another approach is to create a driver file, which overrides +the default parameter value. + + + + + + + + +]]> + +
+ +
+Generating HTML Help for non-Western European languages + +If you are generating HTML Help for non-Western Europe +languages, you should change the output encoding of your files, because +the HTML Help compiler improperly handles UTF-8 and even character +entities in the TOC file and index entries. This can be easily done using a +driver file like this: + + + + + + + + + + +]]> + +Default encoding is ISO-8859-1 (aka ISO Latin 1). If you get +some strange message about characters from your XSLT processor and +your document is in some of Western European languages, try changing +encoding to windows-1252. This encoding is similar +to ISO-8859-1 but contains some additional characters like +typographical quotes and dashes. + +
+ +
+More about customizing + +More info will come in a near future (I hope and +believe). Meanwhile look into reference for description of HTML Help +specific parameters. + +
+ +
+ +
+Feedback + +If you have any comments and suggestions about the HTML Help +stylesheet feel free to contact me at following address +jirka@kosek.cz. + +
+ +
\ No newline at end of file diff --git a/rosdocs/xsl/docsrc/jrefhtml.xsl b/rosdocs/xsl/docsrc/jrefhtml.xsl new file mode 100644 index 0000000..19fc2c6 --- /dev/null +++ b/rosdocs/xsl/docsrc/jrefhtml.xsl @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + + + + + Author + + +
+
+ + +
+ + + + + + + Version + + +
+
+ + +
+ + + + + + + Parameters + + +
+
+ + +
+ + + + + + + Returns + + +
+
+ + +
+ + + + + + + Exceptions + + +
+
+ + +
+ + + + + + + See + + +
+
+ + +
+ + + + + + + Since + + +
+
+ + +
+ + + + + + + Serial + + +
+
+ + +
+ + + + + + + Deprecated + + +
+
+ + + + diff --git a/rosdocs/xsl/docsrc/legalnotice.xml b/rosdocs/xsl/docsrc/legalnotice.xml new file mode 100644 index 0000000..06bb669 --- /dev/null +++ b/rosdocs/xsl/docsrc/legalnotice.xml @@ -0,0 +1,37 @@ +Copyright Statement + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and 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. + +Except as contained in this notice, the names of individuals +credited with contribution to this software shall not be used in +advertising or otherwise to promote the sale, use or other dealings in +this Software without prior written authorization from the individuals +in question. + +Any stylesheet derived from this Software that is publically +distributed will be identified with a different name and the version +strings in any derived Software will be changed so that no possibility +of confusion between the derived package and this Software will +exist. + + +Warranty +THE SOFTWARE IS PROVIDED AS IS, +WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL NORMAN WALSH OR ANY +OTHER CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT +OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/rosdocs/xsl/docsrc/lrefentry.xsl b/rosdocs/xsl/docsrc/lrefentry.xsl new file mode 100644 index 0000000..641a6ed --- /dev/null +++ b/rosdocs/xsl/docsrc/lrefentry.xsl @@ -0,0 +1,91 @@ + + + + + + + § + + + + + + + + § + + + . + + + + + + + + + § + + + + + + + + + + + + + + + + + + + + + +
+

+ + + + + : + + , + + + + + +

+
+ + + + + +
+              
+            
+
+ +
+              
+            
+
+
+
+
+ +
diff --git a/rosdocs/xsl/docsrc/publishing.xml b/rosdocs/xsl/docsrc/publishing.xml new file mode 100644 index 0000000..b5e24de --- /dev/null +++ b/rosdocs/xsl/docsrc/publishing.xml @@ -0,0 +1,1154 @@ + + + +$Id$ + +Stayton +Bob +2000Bob Stayton + + +DocBook XSL + + + Using XSL tools to publish DocBook + documents + There is a growing list of tools to process DocBook + documents using XSL stylesheets. Each tool implements parts + or all of the XSL standard, which actually has several + components: + + + Extensible Stylesheet Language (XSL) + + A language for expressing stylesheets written + in XML. It includes the formatting object language, but + refers to separate documents for the transformation + language and the path language. + + + + XSL Transformation (XSLT) + + The part of XSL for transforming XML documents + into other XML documents, HTML, or text. It can be used to + rearrange the content and generate new content. + + + + XML Path Language (XPath) + + A language for addressing parts of an XML + document. It is used to find the parts of your document to + apply different styles to. All XSL processors use this + component. + + + +To publish HTML from your XML documents, you just + need an XSLT engine. To get to print, you need an XSLT + engine to produce formatting objects (FO), which then must + be processed with an FO engine to produce + PostScript or PDF output. + + XSLT engines + + This section provides a discussion about which XSLT + engines you might want to use to generate HTML and FO output + from your DocBook XML documents, along with a few short + examples of how to actually use some specific XSLT engines to + generate that output. Before using any particular XSLT engine, + you should consult its reference documentation for more + detailed information. + + + Which XSLT engine should I use? + + Before reading anything else in this section, please take + a few seconds to read the following warning. + + + One engine you should definitely + not use is James Clark's XT. XT is an + incomplete implementation of the XSLT 1.0 specification. One + of the important things that's missing from it is support for + XSLT "keys", which the DocBook XSLT stylesheets rely on for + generating indexes, among other things. So you can't use XT + reliably with current versions of the stylesheets. + + + + Your choice of an XSLT engine may depend a lot on the + environment you'll be running the engine in. Many DocBook + users who need or want to use a non-Java application are using + Daniel Veillard's C-based implementation, xsltproc (the + command line processor packaged with libxslt, the XSLT C + library for Gnome, http://xmlsoft.org/XSLT/). It's very fast, and also a + good choice because Veillard monitors the DocBook mailing + lists to field usage and troubleshooting questions and + responds very quickly to bug reports. (And the libxslt site + features a DocBook page that, among other things, includes a + shell script you can use to automatically generate XML catalogs + for DocBook.) But one current limitation xsltproc has is that + it doesn't yet support Norm Walsh's DocBook-specific XSLT + extension functions. + + The current Java-based XSLT engine of choice for many + DocBook users seems to be Michael Kay's Saxon (http://saxon.sourceforge.net/). It supports Norm + Walsh's DocBook-specific XSLT extension functions, and among the + Java-based engines, seems to generate the fewest bug reports to + the DocBook mailing lists. + + A variety of XSLT engines are available. Not all of them + are used much in the DocBook community, but here's a list of + some free/open-source ones you might want to try (including + the two previously mentioned). + + + xsltproc, written in C, from Daniel Veillard (http://xmlsoft.org/XSLT/) + + + Saxon, written in Java, from Michael Kay (http://saxon.sourceforge.net/) + + + Xalan, written in Java, from the Apache XML + Project (http://xml.apache.org) + + + 4XSLT, written in Python, from FourThought LLC + (http://www.fourthought.com) + + + Sablotron, written in C++, from Ginger Alliance + (http://www.gingerall.com) + + + XML::XSLT,written in Perl, from Geert Josten and + Egon Willighagen (http://www.cpan.org) + + + + + For generating print/PDF output from FO files, there are + two free/open-source FO engines that, while they aren't + complete bug-free implementations of the FO part of the XSL + specification, are still very useful: + + PassiveTeX (TeX-based) from Sebastian + Rahtz (http://www.hcu.ox.ac.uk/TEI/Software/passivetex/) + + + FOP (Java-based) from the Apache XML Project + (http://xml.apache.org/fop/) + + + Of those, PassiveTeX currently seems to be the more mature, + less buggy implementation. + + And there are two proprietary commercial products that + both seem to be fairly mature, complete implementations of the + FO part of the XSL specification: + + + Epic Editor 4.2 (includes support for processing + formatting object files) from Arbortext () + + + XEP (written in Java) from RenderX (http://www.renderx.com). + + + + + + + How do I use an XSLT engine? + + Before using any XSLT engine, you should consult the + reference documentation that comes with it for details about + its command syntax and so on. But there are some common + steps to follow when using the Java-based engines, so here's + an example of using Saxon from the UNIX command line that + might help give you general idea of how to use the Java-based + engines. + + + You'll need to alter your + CLASSPATH environment variable to + include the path to where you put the + saxon.jar file from the Saxon + distribution. And you'll need to specify the correct path + to the docbook.xsl HTML stylesheet + file in your local environment. + + + + Using Saxon to generate HTML output +CLASSPATH=saxon.jar:$CLASSPATH +export CLASSPATH +java com.icl.saxon.StyleSheet filename.xml docbook/html/docbook.xsl > output.html + + If you replace the path to the HTML stylesheet with the + path to the FO stylesheet, Saxon will produce a formatting + object file. Then you can convert that to PDF using a FO + engine such such as FOP, the free/open-source FO engine + available from the Apache XML Project (http://xml.apache.org/fop/). + Here is an example of that two-stage process. + + Using Saxon and FOP to generate PDF output +CLASSPATH=saxon.jar:fop.jar:$CLASSPATH +export CLASSPATH +java com.icl.saxon.StyleSheet filename.xml docbook/fo/docbook.xsl > output.fo +java org.apache.fop.apps.CommandLine output.fo output.pdf + + + Using a C-based XSLT engine such as xsltproc is a little + easier, since it doesn't require setting any environment + variables or remembering Java package names. Here's an example + of using xsltproc to generate HTML output. + + + Using xsltproc to generate HTML output + xsltproc docbook/html/docbook.xsl filename.xml > output.html + + + Note that when using xsltproc, the pathname to the + stylesheet file precedes the name of your XML source file on + the command line (it's the other way around with Saxon and + with most other Java-based XSLT engines). + + + + + + + +A brief introduction to XSL +XSL is both a transformation language and a + formatting language. The XSLT transformation part lets you + scan through a document's structure and rearrange its + content any way you like. You can write out the content + using a different set of XML tags, and generate text as + needed. For example, you can scan through a document to + locate all headings and then insert a generated table of + contents at the beginning of the document, at the same time + writing out the content marked up as HTML. XSL is also a + rich formatting language, letting you apply typesetting + controls to all components of your output. With a good + formatting backend, it is capable of producing high quality + printed pages. +An XSL stylesheet is written using XML syntax, and is + itself a well-formed XML document. That makes the basic + syntax familiar, and enables an XML processor to check for + basic syntax errors. The stylesheet instructions use + special element names, which typically begin with + xsl: to distinguish them from any XML + tags you want to appear in the output. The XSL namespace is + identified at the top of the stylesheet file. As with other + XML, any XSL elements that are not empty will require a + closing tag. And some XSL elements have specific attributes + that control their behavior. It helps to keep a good XSL + reference book handy. +Here is an example of a simple XSL stylesheet applied + to a simple XML file to generate HTML output. + +Simple XML file +<?xml version="1.0"?> +<document> +<title>Using a mouse</title> +<para>It's easy to use a mouse. Just roll it +around and click the buttons.</para> +</document> + + +Simple XSL stylesheet +<?xml version='1.0'?> +<xsl:stylesheet + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'> +<xsl:output method="html"/> + +<xsl:template match="document"> + <HTML><HEAD><TITLE> + <xsl:value-of select="./title"/> + </TITLE> + </HEAD> + <BODY> + <xsl:apply-templates/> + </BODY> + </HTML> +</xsl:template> + +<xsl:template match="title"> + <H1><xsl:apply-templates/></H1> +</xsl:template> + +<xsl:template match="para"> + <P><xsl:apply-templates/></P> +</xsl:template> + +</xsl:stylesheet> + + + +HTML output +<HTML> +<HEAD> +<TITLE>Using a mouse</TITLE> +</HEAD> +<BODY> +<H1>Using a mouse</H1> +<P>It's easy to use a mouse. Just roll it +around and click the buttons.</P> +</BODY> +</HTML> + + + + +XSL processing model +XSL is a template language, not a procedural +language. That means a stylesheet specifies a sample of the +output, not a sequence of programming steps to generate it. +A stylesheet consists of a mixture of output samples with +instructions of what to put in each sample. Each bit of +output sample and instructions is called +a template. +In general, you write a template for each element +type in your document. That lets you concentrate on +handling just one element at a time, and keeps a stylesheet +modular. The power of XSL comes from processing the +templates recursively. That is, each template handles the +processing of its own element, and then calls other +templates to process its children, and so on. Since an XML +document is always a single root element at the top level +that contains all of the nested descendent elements, the +XSL templates also start at the top and work their way down +through the hierarchy of elements. +Take the +DocBook <para> paragraph element as +an example. To convert this to HTML, you want to wrap the +paragraph content with the HTML +tags <p> and </p>. +But a DocBook <para> can contain +any number of in-line DocBook elements marking up the text. +Fortunately, you can let other templates take care of those +elements, so your XSL template +for <para> can be quite +simple: +<xsl:template match="para"> + <p> + <xsl:apply-templates/> + </p> +</xsl:template> + +The <xsl:template> element +starts a new template, and +its match attribute indicates where to +apply the template, in this case to +any <para> elements. The template +says to output a literal <p> string +and then execute +the <xsl:apply-templates/> instruction. +This tells the XSL processor to look among all the +templates in the stylesheet for any that should be applied +to the content of the paragraph. If each template in the +stylesheet includes +an <xsl:apply-templates/> instruction, +then all descendents will eventually be processed. When it +is through recursively applying templates to the paragraph +content, it outputs the </p> closing +tag. + +Context is important +Since you aren't writing a linear procedure to +process your document, the context of where and how to +apply each modular template is important. +The match attribute +of <xsl:template> provides that +context for most templates. There is an entire expression +language, XPath, for identifying what parts of your +document should be handled by each template. The simplest +context is just an element name, as in the example above. +But you can also specify elements as children of other +elements, elements with certain attribute values, the first +or last elements in a sequence, and so on. Here is how the +DocBook <formalpara> element is +handled: +<xsl:template match="formalpara"> + <p> + <xsl:apply-templates/> + </p> +</xsl:template> + +<xsl:template match="formalpara/title"> + <b><xsl:apply-templates/></b> + <xsl:text> </xsl:text> +</xsl:template> + +<xsl:template match="formalpara/para"> + <xsl:apply-templates/> +</xsl:template> + +There are three templates defined, one for +the <formalpara> element itself, + and one for each of its children elements. The match attribute +value formalpara/title in the second +template is an XPath expression indicating +a <title> element that is an +immediate child of +a <formalpara> element. This +distinguishes such titles from +other <title> elements used in +DocBook. XPath expressions are the key to controlling how +your templates are applied. +In general, the XSL processor has internal rules that +apply templates that are more specific before templates +that are less specific. That lets you control the details, +but also provides a fallback mechanism to a less specific +template when you don't supply the full context for every +combination of elements. This feature is illustrated by the +third template, for formalpara/para. By +including this template, the stylesheet processes a <para> within <formalpara> in +a special way, in this case by not outputting the HTML <p> tags already output by its parent. If this template had not been included, then the processor would have fallen back to the template +specified by match="para" described +above, which would have output a second set of <p> tags. +You can also control template context with +XSL modes, which are used extensively +in the DocBook stylesheets. Modes let you process the same +input more than once in different ways. +A mode attribute in +an <xsl:template> definition adds a +specific mode name to that template. When the same mode +name is used +in <xsl:apply-templates/>, it acts +as a filter to narrow the selection of templates to only +those selected by +the match expression and that +have that mode name. This lets you define two different +templates for the same element match that are applied under +different contexts. For example, there are two templates +defined for +DocBook <listitem> elements: +<xsl:template match="listitem"> + <li><xsl:apply-templates/></li> +</xsl:template> + +<xsl:template match="listitem" mode="xref"> + <xsl:number format="1"/> +</xsl:template> + +The first template is for the normal list item +context where you want to output the +HTML <li> tags. The second template +is called with <xsl:apply-templates +select="$target" mode="xref"/> in the context +of processing <xref> elements. In +this case the select attribute locates +the ID of the specific list item and +the mode attribute selects the second +template, whose effect is to output its item number when it +is in an ordered list. Because there are many such special +needs when +processing <xref> elements, it is +convenient to define a mode name xref to +handle them all. Keep in mind that mode settings +do not automatically get passed down to +other templates +through <xsl:apply-templates/>. + + +Programming features +Although XSL is template-driven, it also has some +features of traditional programming languages. Here are +some examples from the DocBook stylesheets. +Assign a value to a variable: +<xsl:variable name="refelem" select="name($target)"/> + +If statement: +<xsl:if test="$show.comments"> + <i><xsl:call-template name="inline.charseq"/></i> +</xsl:if> + +Case statement: +<xsl:choose> + <xsl:when test="@columns"> + <xsl:value-of select="@columns"/> + </xsl:when> + <xsl:otherwise>1</xsl:otherwise> +</xsl:choose> + +Call a template by name like a subroutine, passing parameter values and accepting a return value: +<xsl:call-template name="xref.xreflabel"> + <xsl:with-param name="target" select="$target"/> +</xsl:call-template> + +However, you can't always use these constructs as you +do in other programming languages. Variables in particular +have very different behavior. + +Using variables and parameters +XSL provides two elements that let you assign a value +to a +name: <xsl:variable> and <xsl:param>. +These share the same name space and syntax for assigning +names and values. Both can be referred to using +the $name syntax. The main difference +between these two elements is that a param's value acts as +a default value that can be overridden when a template is +called using +a <xsl:with-param> element as in the +last example above. +Here are two examples from DocBook: +<xsl:param name="cols">1</xsl:param> +<xsl:variable name="segnum" select="position()"/> + +In both elements, the name of the parameter or +variable is specified with +the name attribute. So the name of +the param here +is cols and the name of +the variable is segnum. +The value of either can be supplied in two ways. The value +of the first example is the text node "1" and is supplied +as the content of the element. The value of the second +example is supplied as the result of the expression in +its select attribute, and the element +itself has no content. +The feature of XSL variables that is odd to new users +is that once you assign a value to a variable, you cannot +assign a new value within the same scope. Doing so will +generate an error. So variables are not used as dynamic +storage bins they way they are in other languages. They +hold a fixed value within their scope of application, and +then disappear when the scope is exited. This feature is a +result of the design of XSL, which is template-driven and +not procedural. This means there is no definite order of +processing, so you can't rely on the values of changing +variables. To use variables in XSL, you need to understand +how their scope is defined. +Variables defined outside of all templates are +considered global variables, and they are readable within +all templates. The value of a global variable is fixed, and +its global value can't be altered from within any template. +However, a template can create a local variable of the same +name and give it a different value. That local value +remains in effect only within the scope of the local +variable. +Variables defined within a template remain in effect +only within their permitted scope, which is defined as all +following siblings and their descendants. To understand +such a scope, you have to remember that XSL instructions +are true XML elements that are embedded in an XML family +hierarchy of XSL elements, often referred to as parents, +children, siblings, ancestors and descendants. Taking the +family analogy a step further, think of a variable +assignment as a piece of advice that you are allowed to +give to certain family members. You can give your advice +only to your younger siblings (those that follow you) and +their descendents. Your older siblings won't listen, +neither will your parents or any of your ancestors. To +stretch the analogy a bit, it is an error to try to give +different advice under the same name to the same group of +listeners (in other words, to redefine the variable). Keep +in mind that this family is not the elements of your +document, but just the XSL instructions in your stylesheet. +To help you keep track of such scopes in hand-written +stylesheets, it helps to indent nested XSL elements. Here +is an edited snippet from the DocBook stylesheet +file pi.xsl that illustrates different +scopes for two variables: + + 1 <xsl:template name="dbhtml-attribute"> + 2 ... + 3 <xsl:choose> + 4 <xsl:when test="$count>count($pis)"> + 5 <!-- not found --> + 6 </xsl:when> + 7 <xsl:otherwise> + 8 <xsl:variable name="pi"> + 9 <xsl:value-of select="$pis[$count]"/> +10 </xsl:variable> +11 <xsl:choose> +12 <xsl:when test="contains($pi,concat($attribute, '='))"> +13 <xsl:variable name="rest" select="substring-after($pi,concat($attribute,'='))"/> +14 <xsl:variable name="quote" select="substring($rest,1,1)"/> +15 <xsl:value-of select="substring-before(substring($rest,2),$quote)"/> +16 </xsl:when> +17 <xsl:otherwise> +18 ... +19 </xsl:otherwise> +20 </xsl:choose> +21 </xsl:otherwise> +22 </xsl:choose> +23 </xsl:template> + + +The scope of the variable pi begins +on line 8 where it is defined in this template, and ends on +line 20 when its last sibling ends.Technically, the scope extends to the end tag of the parent of the <xsl:variable> element. That is effectively the last sibling. The scope of the +variable rest begins on line 13 and ends +on line 15. Fortunately, line 15 outputs an expression +using the value before it goes out of scope. +What happens when +an <xsl:apply-templates/> element +is used within the scope of a local variable? Do the +templates that are applied to the document children get the +variable? The answer is no. The templates that are applied +are not actually within the scope of the variable. They +exist elsewhere in the stylesheet and are not following +siblings or their descendants. +To pass a value to another template, you pass a +parameter using +the <xsl:with-param> element. This +parameter passing is usually done with calls to a specific +named template +using <xsl:call-template>, although +it works +with <xsl:apply-templates> too. +That's because the called template must be expecting the +parameter by defining it using +a <xsl:param> element with the same +parameter name. Any passed parameters whose names are not +defined in the called template are ignored. +Here is an example of parameter passing +from docbook.xsl: +<xsl:call-template name="head.content"> + <xsl:with-param name="node" select="$doc"/> +</xsl:call-template> + +Here a template +named head.content is being called and +passed a parameter named node whose +content is the value of the $doc variable +in the current context. The top of that template looks like +this: +<xsl:template name="head.content"> + <xsl:param name="node" select="."/> + +The template is expecting the parameter because it +has a <xsl:param> defined with the +same name. The value in this definition is the default +value. This would be the parameter value used in the +template if the template was called without passing that +parameter. + + + +Generating HTML output. +You generate HTML from your DocBook XML files by +applying the HTML version of the stylesheets. This is done +by using the HTML driver +file docbook/html/docbook.xsl as your +stylesheet. That is the master stylesheet file that +uses <xsl:include> to pull in the +component files it needs to assemble a complete stylesheet +for producing HTML. +The way the DocBook stylesheet generates HTML is to +apply templates that output a mix of text content and HTML +elements. Starting at the top level in the main +file docbook.xsl: +<xsl:template match="/"> + <xsl:variable name="doc" select="*[1]"/> + <html> + <head> + <xsl:call-template name="head.content"> + <xsl:with-param name="node" select="$doc"/> + </xsl:call-template> + </head> + <body> + <xsl:apply-templates/> + </body> + </html> +</xsl:template> + +This template matches the root element of your input +document, and starts the process of recursively applying +templates. It first defines a variable +named doc and then outputs two literal +HTML elements <html> and <head>. +Then it calls a named +template head.content to process the +content of the HTML <head>, closes +the <head> and starts +the <body>. There it +uses <xsl:apply-templates/> to +recursively process the entire input document. Then it just +closes out the HTML file. +Simple HTML elements can generated as literal +elements as shown here. But if the HTML being output +depends on the context, you need something more powerful to +select the element name and possibly add attributes and +their values. Here is a fragment +from sections.xsl that shows how a +heading tag is generated using +the <xsl:element> and <xsl:attribute> elements: + + 1 <xsl:element name="h{$level}"> + 2 <xsl:attribute name="class">title</xsl:attribute> + 3 <xsl:if test="$level<3"> + 4 <xsl:attribute name="style">clear: all</xsl:attribute> + 5 </xsl:if> + 6 <a> + 7 <xsl:attribute name="name"> + 8 <xsl:call-template name="object.id"/> + 9 </xsl:attribute> +10 <b><xsl:copy-of select="$title"/></b> +11 </a> +12 </xsl:element> + +This whole example is generating a single HTML +heading element. Line 1 begins the HTML element definition +by identifying the name of the element. In this case, the +name is an expression that includes the +variable $level passed as a parameter to +this template. Thus a single template can +generate <h1>, <h2>, +etc. depending on the context in which it is called. Line 2 +defines a class="title" attribute that is +added to this element. Lines 3 to 5 add +a style="clear all" attribute, but only +if the heading level is less than 3. Line 6 opens +an <a> anchor element. Although this +looks like a literal output string, it is actually modified +by lines 7 to 9 that insert +the name attribute into +the <a> element. This illustrates +that XSL is managing output elements as active element +nodes, not just text strings. Line 10 outputs the text of +the heading title, also passed as a parameter to the +template, enclosed in HTML boldface tags. Line 11 closes +the anchor tag with the +literal </a> syntax, while line 12 +closes the heading tag by closing the element definition. +Since the actual element name is a variable, it couldn't +use the literal syntax. +As you follow the sequence of nested templates +processing elements, you might be wondering how the +ordinary text of your input document gets to the output. In +the file docbook.xsl you will find +this template that handles any text not processed by any +other template: +<xsl:template match="text()"> + <xsl:value-of select="."/> +</xsl:template> + +This template's body consists of the "value" of the text node, +which is just its text. In general, all XSL processors have +some built-in templates to handle any content for which +your stylesheet doesn't supply a matching template. This +template serves the same function but appears explicitly in +the stylesheet. + + +Generating formatting objects. +You generate formatting objects from your DocBook XML +files by applying the fo version of the stylesheets. This +is done by using the fo driver +file docbook/fo/docbook.xsl as your +stylesheet. That is the master stylesheet file that +uses <xsl:include> to pull in the +component files it needs to assemble a complete stylesheet +for producing formatting objects. Generating a formatting +objects file is only half the process of producing typeset +output. You also need a formatting object processor such as +the Apache XML Project's FOP as described in an earlier +section. +The DocBook fo stylesheet works in a similar manner +to the HTML stylesheet. Instead of outputting HTML tags, it +outputs text marked up +with <fo:something> tags. +For example, to indicate that some text should be kept +in-line and typeset with a monospace font, it might look +like this: +<fo:inline-sequence font-family="monospace">/usr/man</fo:inline-sequence> +The templates +in docbook/fo/inline.xsl that produce +this output for a +DocBook <filename> element look +like this: +<xsl:template match="filename"> + <xsl:call-template name="inline.monoseq"/> +</xsl:template> + +<xsl:template name="inline.monoseq"> + <xsl:param name="content"> + <xsl:apply-templates/> + </xsl:param> + <fo:inline-sequence font-family="monospace"> + <xsl:copy-of select="$content"/> + </fo:inline-sequence> +</xsl:template> + +There are dozens of fo tags and attributes specified +in the XSL standard. It is beyond the scope of this +document to cover how all of them are used in the DocBook +stylesheets. Fortunately, this is only an intermediate +format that you probably won't have to deal with very much +directly unless you are writing your own +stylesheets. + + + +Customizing DocBook XSL stylesheets +The DocBook XSL stylesheets are written in a modular +fashion. Each of the HTML and FO stylesheets starts with a +driver file that assembles a collection of component files +into a complete stylesheet. This modular design puts similar things together into smaller files that are easier to write and maintain than one big stylesheet. The modular stylesheet files +are distributed among four directories: + + +common/ + +contains code common to both stylesheets, including localization data + + + +fo/ + +a stylesheet that produces XSL FO result trees + + + +html/ + +a stylesheet that produces HTML/XHTML result trees + + + +lib/ + +contains schema-independent functions + + + + + +The driver files for each of HTML and FO stylesheets +are html/docbook.xsl and fo/docbook.xsl, +respectively. A driver file consists mostly of a bunch +of <xsl:include> instructions to +pull in the component templates, and then defines some +top-level templates. For example: +<xsl:include href="../VERSION"/> +<xsl:include href="../lib/lib.xsl"/> +<xsl:include href="../common/l10n.xsl"/> +<xsl:include href="../common/common.xsl"/> +<xsl:include href="autotoc.xsl"/> +<xsl:include href="lists.xsl"/> +<xsl:include href="callout.xsl"/> +... +<xsl:include href="param.xsl"/> +<xsl:include href="pi.xsl"/> + +The first four modules are shared with the FO +stylesheet and are referenced using relative pathnames to +the common directories. Then the long list of component +stylesheets starts. Pathnames in include statements are +always taken to be relative to the including file. Each +included file must be a valid XSL stylesheet, which means +its root element must +be <xsl:stylesheet>. + +Stylesheet inclusion vs. importing +XSL actually provides two inclusion +mechanisms: <xsl:include> and <xsl:import>. +Of the two, <xsl:include> is +the simpler. It treats the included content as if it were +actually typed into the file at that point, and doesn't +give it any more or less precedence relative to the +surrounding text. It is best used when assembling +dissimilar templates that don't overlap what they match. +The DocBook driver files use this instruction to assemble a +set of modules into a stylesheet. +In contrast, <xsl:import> lets +you manage the precedence of templates and variables. It is +the preferred mode of customizing another stylesheet because +it lets you override definitions in the distributed +stylesheet with your own, without altering the distribution +files at all. You simply import the whole stylesheet and +add whatever changes you want. +The precedence rules for import are detailed and +rigorously defined in the XSL standard. The basic rule is +that any templates and variables in the importing +stylesheet have precedence over equivalent templates and +variables in the imported stylesheet. Think of the imported stylesheet elements as a fallback collection, to be used only if a match is not found in the current stylesheet. You can customize the templates you want to change in your stylesheet file, and let the imported stylesheet handle the rest. + +Customizing a DocBook XSL stylesheet is the opposite +of customizing a DocBook DTD. When you customize a DocBook +DTD, the rules of XML and SGML dictate that +the first of any duplicate declarations +wins. Any subsequent declarations of the same element or +entity are ignored. The architecture of the DTD provides +slots for inserting your own custom declarations early +enough in the DTD for them to override the standard +declarations. In contrast, customizing an XSL stylesheet is +simpler because your definitions have precedence over imported ones. + +You can carry modularization to deeper levels because +module files can also include or import other modules. +You'll need to be careful to maintain the precedence that +you want as the modules get rolled up into a complete +stylesheet. + + +Customizing +with <literal><xsl:import></literal> +There is currently one example of customizing +with <xsl:import> in the HTML +version of the DocBook stylesheets. +The xtchunk.xsl stylesheet modifies the +HTML processing to output many smaller HTML files rather +than a single large file per input document. It uses XSL +extensions defined only in the XSL +processor XT. In the driver +file xtchunk.xsl, the first instruction +is <xsl:import +href="docbook.xsl"/>. That instruction imports +the original driver file, which in turn uses +many <xsl:include> instructions to +include all the modules. That single import instruction +gives the new stylesheet the complete set of DocBook +templates to start with. +After the +import, xtchunk.xsl redefines some of +the templates and adds some new ones. Here is one example +of a redefined template: +Original template in autotoc.xsl +<xsl:template name="href.target"> + <xsl:param name="object" select="."/> + <xsl:text>#</xsl:text> + <xsl:call-template name="object.id"> + <xsl:with-param name="object" select="$object"/> + </xsl:call-template> +</xsl:template> + +New template in xtchunk.xsl +<xsl:template name="href.target"> + <xsl:param name="object" select="."/> + <xsl:variable name="ischunk"> + <xsl:call-template name="chunk"> + <xsl:with-param name="node" select="$object"/> + </xsl:call-template> + </xsl:variable> + + <xsl:apply-templates mode="chunk-filename" select="$object"/> + + <xsl:if test="$ischunk='0'"> + <xsl:text>#</xsl:text> + <xsl:call-template name="object.id"> + <xsl:with-param name="object" select="$object"/> + </xsl:call-template> + </xsl:if> +</xsl:template> + +The new template handles the more complex processing +of HREFs when the output is split into many HTML files. +Where the old template could simply +output #object.id, +the new one outputs filename#object.id. + + +Setting stylesheet variables +You may not have to define any new templates, +however. The DocBook stylesheets are parameterized using +XSL variables rather than hard-coded values for many of the +formatting features. Since +the <xsl:import> mechanism also +lets you redefine global variables, this gives you an easy +way to customize many features of the DocBook +stylesheets. Over time, more features will be parameterized to permit customization. If you find hardcoded values in the stylesheets that would be useful to customize, please let the maintainer know. +Near the end of the list of includes in the main +DocBook driver file is the +instruction <xsl:include +href="param.xsl"/>. +The param.xsl file is the most +important module for customizing a DocBook XSL stylesheet. +This module contains no templates, only definitions of +stylesheet variables. Since these variables are defined +outside of any template, they are global variables and +apply to the entire stylesheet. By redefining these +variables in an importing stylesheet, you can change the +behavior of the stylesheet. +To create a customized DocBook stylesheet, you simply +create a new stylesheet file such +as mystyle.xsl that imports the standard +stylesheet and adds your own new variable definitions. Here +is an example of a complete custom stylesheet that changes +the depth of sections listed in the table of contents from +two to three: +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0' + xmlns="http://www.w3.org/TR/xhtml1/transitional" + exclude-result-prefixes="#default"> + +<xsl:import href="docbook.xsl"/> + +<xsl:variable name="toc.section.depth">3</xsl:variable> +<!-- Add other variable definitions here --> + +</xsl:stylesheet> + +Following the opening stylesheet element are the +import instruction and one variable definition. The +variable toc.section.depth was defined +in param.xsl with value "2", and here +it is defined as "3". Since the importing stylesheet takes +precedence, this new value is used. Thus documents +processed with mystyle.xsl instead +of docbook.xsl will have three levels +of sections in the tables of contents, and all other +processing will be the same. +Use the list of variables +in param.xsl as your guide for creating +a custom stylesheet. If the changes you want are controlled +by a variable there, then customizing is easy. + + + +Writing your own templates +If the changes you want are more extensive than what +is supported by variables, you can write new templates. You +can put your new templates directly in your importing +stylesheet, or you can modularize your importing stylesheet +as well. You can write your own stylesheet module +containing a collection of templates for processing lists, +for example, and put them in a file +named mylists.xsl. Then your importing +stylesheet can pull in your list templates with +a <xsl:include +href="mylists.xsl"/> instruction. Since your +included template definitions appear after the main import +instruction, your templates will take precedence. +You'll need to make sure your new templates are +compatible with the remaining modules, which means: + + +Any named templates should use the same name so +calling templates in other modules can find them. + + +Your template set should process the same elements +matched by templates in the original module, to ensure +complete coverage. + + +Include the same set +of <xsl:param> elements in each +template to interface properly with any calling templates, +although you can set different values for your +parameters. + + +Any templates that are used like subroutines to +return a value should return the same data type. + + + + +Writing your own driver +Another approach to customizing the stylesheets is to +write your own driver file. Instead of +using <xsl:import +href="docbook.xsl"/>, you copy that file to a +new name and rewrite any of +the <xsl:include/> instructions to +assemble a custom collection of stylesheet modules. One +reason to do this is to speed up processing by reducing the +size of the stylesheet. If you are using a customized +DocBook DTD that omits many elements you never use, you +might be able to omit those modules of the +stylesheet. + + +Localization +The DocBook stylesheets include features for +localizing generated text, that is, printing any generated +text in a language other than the default English. In +general, the stylesheets will switch to the language +identified by a lang attribute when +processing elements in your documents. If your documents +use the lang attribute, then you don't +need to customize the stylesheets at all for +localization. +As far as the stylesheets go, +a lang attribute is inherited by the +descendents of a document element. The stylesheet searches +for a lang attribute using this XPath +expression: +<xsl:variable name="lang-attr" + select="($target/ancestor-or-self::*/@lang + |$target/ancestor-or-self::*/@xml:lang)[last()]"/> + +This locates the attribute on the current element or +its most recent ancestor. Thus +a lang attribute is in effect for an +element and all of its descendents, unless it is reset in +one of those descendents. If you define it in only your +document root element, then it applies to the whole +document: +<?xml version="1.0"?> +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.0//EN" "docbook.dtd"> +<book lang="fr"> +... +</book> +When text is being generated, the stylesheet checks +the most recent lang attribute and looks +up the generated text strings for that language in a +localization XML file. These are located in +the common directory of the +stylesheets, one file per language. Here is the top of the +file fr.xml: +<localization language="fr"> + +<gentext key="abstract" text="R&#x00E9;sum&#x00E9;"/> +<gentext key="answer" text="R:"/> +<gentext key="appendix" text="Annexe"/> +<gentext key="article" text="Article"/> +<gentext key="bibliography" text="Bibliographie"/> +... + +The stylesheet templates use the gentext key names, +and then the stylesheet looks up the associated text value +when the document is processed with that lang setting. The +file l10n.xml (note +the .xml suffix) lists the filenames of +all the supported languages. +You can also create a custom stylesheet that sets the +language. That might be useful if your documents don't make +appropriate use of the lang attribute. +The module l10n.xsl defines two global +variables that can be overridden with an importing +stylesheet as described above. Here are their default +definitions: +<xsl:variable name="l10n.gentext.language"></xsl:variable> +<xsl:variable name="l10n.gentext.default.language">en</xsl:variable> + +The first one sets the language for all elements, +regardless of an element's lang attribute +value. The second just sets a default language for any +elements that haven't got a lang setting +of their own (or their ancestors). + + + diff --git a/rosdocs/xsl/docsrc/reference.xml b/rosdocs/xsl/docsrc/reference.xml new file mode 100644 index 0000000..354e22e --- /dev/null +++ b/rosdocs/xsl/docsrc/reference.xml @@ -0,0 +1,62 @@ + + + + + + +]> + + +DocBook XSL Stylesheet Reference Documentation + +$Id$ + +Walsh +Norman +19992000 +Norman Walsh + + + +Preface + +This constitutes only the most rudimentary beginnings of +documentation for these stylesheets. + +At present, the only documentation available is the set +of references generated from the stylesheet sources: + + + + + + + + + + + + + + +The reference to the template system is also available, +but at this point it's probably even less useful than the preceding +references. + + + + + + + + + diff --git a/rosdocs/xsl/docsrc/template-example.xml b/rosdocs/xsl/docsrc/template-example.xml new file mode 100644 index 0000000..abb3dbd --- /dev/null +++ b/rosdocs/xsl/docsrc/template-example.xml @@ -0,0 +1,12 @@ + + + + + + <author/> + <edition/> + </t:titlepage-content> +</t:titlepage> +</t:templates> diff --git a/rosdocs/xsl/docsrc/template-example.xsl b/rosdocs/xsl/docsrc/template-example.xsl new file mode 100644 index 0000000..b4bd9d6 --- /dev/null +++ b/rosdocs/xsl/docsrc/template-example.xsl @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + +<!-- This stylesheet was created by titlepage.xsl; do not edit it by hand. --> + +<xsl:import href="/path/to/html/docbook.xsl"/> + +<xsl:template name="article.titlepage.recto"><xsl:apply-templates mode="article.titlepage.recto.mode" select="(articleinfo/title|artheader/title|title)[1]|articleinfo/author|artheader/author|articleinfo/edition|artheader/edition"/> +</xsl:template> + +<xsl:template name="article.titlepage"> + <div class="titlepage"> + <xsl:call-template name="article.titlepage.before.recto"/> + <xsl:call-template name="article.titlepage.recto"/> + <xsl:call-template name="article.titlepage.before.verso"/> + <xsl:call-template name="article.titlepage.verso"/> + <xsl:call-template name="article.titlepage.separator"/> + </div> +</xsl:template> + +</xsl:stylesheet> \ No newline at end of file diff --git a/rosdocs/xsl/docsrc/template/ChangeLog b/rosdocs/xsl/docsrc/template/ChangeLog new file mode 100644 index 0000000..7f961a5 --- /dev/null +++ b/rosdocs/xsl/docsrc/template/ChangeLog @@ -0,0 +1,8 @@ +2001-04-03 Norman Walsh <nwalsh@users.sourceforge.net> + + * Makefile: Documentation fixes + +2001-04-02 Norman Walsh <nwalsh@users.sourceforge.net> + + * .cvsignore, Makefile: New file. + diff --git a/rosdocs/xsl/docsrc/template/titlepage.xml b/rosdocs/xsl/docsrc/template/titlepage.xml new file mode 100644 index 0000000..c7d228c --- /dev/null +++ b/rosdocs/xsl/docsrc/template/titlepage.xml @@ -0,0 +1,493 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE reference + PUBLIC "-//Norman Walsh//DTD JRefEntry V1.1//EN" "http://docbook.sourceforge.net/release/jrefentry/1.1/jrefentry.dtd"> +<reference> +<referenceinfo> +<releaseinfo role="meta"> +$Id$ +</releaseinfo> +<author><surname>Walsh</surname> +<firstname>Norman</firstname></author> +<copyright><year>1999</year><year>2000</year> +<holder>Norman Walsh</holder> +</copyright> +</referenceinfo> +<title>Template Stylesheet Reference + + +
Introduction + + +This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets. + + + +This is not intended to be user documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in how it +works. + + + +Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-) + +
+
+ + + + +t:templates +Construct a stylesheet for the templates provided + + +<xsl:template match="t:templates"/> + + + +The t:templates element is the root of a +set of templates. This template creates an appropriate +xsl:stylesheet for the templates. + + + +If the t:templates element has a +base-stylesheet attribute, an +xsl:import statement is constructed for it. + + + + + +xsl:* +Copy xsl: elements straight through + + +<xsl:template match="xsl:*"/> + + + +This template simply copies the xsl: elements +straight through into the result tree. + + + + + +t:titlepage +Create the templates necessary to construct a title page + + +<xsl:template match="t:titlepage"/> + + + +The t:titlepage element creates a set of +templates for processing the titlepage for an element. The +root of this template set is the template named +wrapper.titlepage. That is the +template that should be called to generate the title page. + + + + +The t:titlepage element has three attributes: + + + +element + +The name of the source document element for which +these templates apply. In other words, to make a title page for the +article element, set the +element attribute to +article. This attribute is required. + + + +wrapper + +The entire title page can be wrapped with an element. +This attribute identifies that element. + + + +class + +If the class attribute +is set, a class attribute with this +value will be added to the wrapper element that surrounds the entire +title page. + + + + + + + + + +Any other attributes are copied through literally to the +wrapper element. + + + +The content of a t:titlepage is one or +more t:titlepage-content, +t:titlepage-separator, and +t:titlepage-before elements. + + + +Each of these elements may be provided for the recto +and verso sides of the title page. + + + + + + +@* (in copy.literal.atts mode) +Copy t:titlepage attributes + + +<xsl:template match="@*" mode="copy.literal.atts"/> + + + +This template copies all of the other attributes +from a t:titlepage element onto the specified +wrapper. + + + + + +t:titlepage-content +Create templates for the content of one side of a title page + + +<xsl:template match="t:titlepage-content"/> + + + +The title page content, that is, the elements from the source +document that are rendered on the title page, can be controlled independently +for the recto and verso sides of the title page. + + + +The t:titlepage-content element has two attributes: + + + +side + +Identifies the side of the page to which this title +page content applies. The +side attribute is required and +must be set to either +recto or +verso. In addition, you must specify +exactly one t:titlepage-content for each side +within each t:titlepage. + + + +order + +Indicates how the order of the elements presented on +the title page is determined. If the +order is +document, the elements are presented +in document order. Otherwise (if the +order is +stylesheet), the elements are presented +in the order that they appear in the template (and consequently in +the stylesheet). + + + + + + + + + +The content of a t:titlepage-content element is +a list of element names. These names should be unqualified. They identify +the elements in the source document that should appear on the title page. + + + + +Each element may have a single attribute: +predicate. The value of this +attribute is used as a predicate for the expression that matches +the element on which it occurs. + + + +In other words, to put only the first three authors on the +recto-side of a title +page, you could specify: + + + <t:titlepage-contents side="recto"> + <!-- other titlepage elements --> + <author predicate="[count(previous-sibling::author)<2]"/> + <!-- other titlepage elements --> + </t:titlepage-contents> + + + + + +Usually, the elements so named are empty. But it is possible to +make one level of selection within them. Suppose that you want to +process authorgroup elements on the title page, but +you want to select only proper authors, editors, or corporate authors, +not collaborators or other credited authors. + + + +In that case, you can put a t:or group inside +the authorgroup element: + + + <t:titlepage-contents side="recto"> + <!-- other titlepage elements --> + <authorgroup> + <t:or> + <author/> + <editor/> + <corpauthor/> + </t:or> + </authorgroup> + <!-- other titlepage elements --> + </t:titlepage-contents> + + + + + +This will have the effect of automatically generating a template +for processing authorgroups in the title page mode, +selecting only the specified children. If you need more complex processing, +you'll have to construct the templates by hand. + + + + + + +t:titlepage-separator +Create templates for the separator + + +<xsl:template match="t:titlepage-separator"/> + + + +The title page is separated from the content which follows it by +the markup specified in the t:titlepage-separator +element. + + + + + +t:titlepage-before +Create templates for what precedes a title page + + +<xsl:template match="t:titlepage-before"/> + + + +Each side of the title page is preceded by the markup specified +in the t:titlepage-before element for that +side. + + + + + +* (in copy mode) +Copy elements + + +<xsl:template match="*" mode="copy"/> + + + +This template simply copies the elements that it applies to +straight through into the result tree. + + + + + +@* (in copy mode) +Copy attributes + + +<xsl:template match="@*" mode="copy"/> + + + +This template simply copies the attributes that it applies to +straight through into the result tree. + + + + + +* (in document.order mode) +Create rules to process titlepage elements in document order + + +<xsl:template match="*" mode="document.order"/> + + + +This template is called to process all of the children of the +t:titlepage-content element. It creates the hairy +select expression necessary to process each of those elements in +the title page. + + + +Note that this template automatically handles the case where +some DocBook elements, like title and subtitle, can occur both inside +the *info elements where metadata is usually stored and outside. + + + + +It also automatically calculates the name for the *info container +and handles elements that have historically had containers with different +names. + + + + + + +* (in document.order mode) +Create rules to process titlepage elements in stylesheet order + + +<xsl:template match="*" mode="document.order"/> + + + +This template is called to process all of the children of the +t:titlepage-content element. It creates the set +of xsl:apply-templates elements necessary +process each of those elements in the title page. + + + +Note that this template automatically handles the case where +some DocBook elements, like title and subtitle, can occur both inside +the *info elements where metadata is usually stored and outside. + + + + +It also automatically calculates the name for the *info container +and handles elements that have historically had containers with different +names. + + + + + + +* (in titlepage.specialrules mode) +Create templates for special rules + + +<xsl:template match="*" mode="titlepage.specialrules"/> + + + +This template is called to process all of the descendants of the +t:titlepage-content element that require special +processing. At present, that's just t:or elements. + + + + + + +* (in titlepage.subrules mode) +Create template for individual special rules + + +<xsl:template match="*" mode="titlepage.subrules"/> + + + +This template is called to process the children of special +template elements. + + + + + + +t:or +Process the t:or special rule + + +<xsl:template match="t:or"/><xsl:template match="t:or" mode="titlepage.subrules"/> + + + +This template processes t:or. + + + + + +t:or (in titlepage.subrules mode) +Process the t:or special rule in +titlepage.subrules mode + + +<xsl:template match="t:or" mode="titlepage.subrules"/> + + + +The titlepage.subrules mode doesn't apply to t:or, so just +reprocess this node in the normal mode. + + + + + +element-or-list +Construct the "or-list" used in the select attribute for +special rules. + + +<xsl:template name="element-or-list"> +<xsl:param name="elements" select="*"/> +<xsl:param name="element.count" select="count($elements)"/> +<xsl:param name="count" select="1"/> +<xsl:param name="orlist"/> + ... +</xsl:template> + + + +Walk through each of the children of t:or, producing the +text of the select attribute. + + + diff --git a/rosdocs/xsl/docsrc/templates.xml b/rosdocs/xsl/docsrc/templates.xml new file mode 100644 index 0000000..2e93637 --- /dev/null +++ b/rosdocs/xsl/docsrc/templates.xml @@ -0,0 +1,104 @@ + + + +$Id$ + +Walsh +Norman +2000Norman Walsh + + +The Template System + +Some parts of the DocBook XSL Stylesheets are actually generated +using XSL Stylesheets. In particular, the formatting of title pages +is generated using a special template system. The same template system +will eventually allow you to easily customize bibliography entries and +perhaps other parts of the system as well. + +FIXME: there needs to be more introductory/explanatory text +here! + +
Changing the Article Title Page + +In order to demonstrate how this system works, let's consider +how we can use it to change the format of article title pages. + +By default, the stylesheets print the following elements on the +article title page, in this order: +title +subtitle +corpauthor +authorgroup +author +releaseinfo +copyright +legalnotice +pubdate +revision +revhistory +abstract +. Suppose we want to put only the +title, author, and +edition elements on the title page, in the order +that they appear in the articleinfo. + + +The hard (and wrong!) way to do it would be to +edit titlepage.templates.xsl and make the changes +by hand. + +The easy and right way is to construct a template document that +describes the order and sequence of elements that you want: + + + + + + + <author/> + <edition/> + </t:titlepage-content> +</t:titlepage> +</t:templates> +]]></screen> + +<para>Then process this document with the +<filename>template/titlepage.xsl</filename> stylesheet. This will +produce the following somewhat cryptic stylesheet:</para> + +<screen><![CDATA[ +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + +<!-- This stylesheet was created by titlepage.xsl; do not edit it by hand. --> + +<xsl:import href="/path/to/html/docbook.xsl"/> + +<xsl:template name="article.titlepage.recto"><xsl:apply-templates mode="article.titlepage.recto.mode" select="(articleinfo/title|artheader/title|title)[1]|articleinfo/author|artheader/author|articleinfo/edition|artheader/edition"/> +</xsl:template> + +<xsl:template name="article.titlepage"> + <div class="titlepage"> + <xsl:call-template name="article.titlepage.before.recto"/> + <xsl:call-template name="article.titlepage.recto"/> + <xsl:call-template name="article.titlepage.before.verso"/> + <xsl:call-template name="article.titlepage.verso"/> + <xsl:call-template name="article.titlepage.separator"/> + </div> +</xsl:template> + +</xsl:stylesheet> +]]></screen> + +<para>Despite its cryptic appearance, it has the desired result. +If you want to change <emphasis>how</emphasis> the titlepage elements +are formatted (as opposed to which ones are formatted), you have to +write your own customization layer that overrides the template for +the element in question in the <quote>titlepage.mode</quote> mode.</para> +</section> + +</chapter> diff --git a/rosdocs/xsl/docsrc/tools/ChangeLog b/rosdocs/xsl/docsrc/tools/ChangeLog new file mode 100644 index 0000000..fded61c --- /dev/null +++ b/rosdocs/xsl/docsrc/tools/ChangeLog @@ -0,0 +1,20 @@ +2002-03-14 Norman Walsh <nwalsh@users.sourceforge.net> + + * profiling.xml: Fix linkend typo + +2002-03-03 Jirka Kosek <kosek@users.sourceforge.net> + + * profiling.xml: Put documentation in sync with new profiling stylesheets. + +2001-10-13 Norman Walsh <nwalsh@users.sourceforge.net> + + * Makefile: Changes to make the documentation work with the new litprog sources + +2001-08-13 Norman Walsh <nwalsh@users.sourceforge.net> + + * Makefile: New file. + +2001-07-31 Jirka Kosek <kosek@users.sourceforge.net> + + * profile-chain.png, profiling.xml: New file. + diff --git a/rosdocs/xsl/docsrc/tools/profile-chain.png b/rosdocs/xsl/docsrc/tools/profile-chain.png new file mode 100644 index 0000000000000000000000000000000000000000..0095fb8cfc2b44f2a0f0ee43fa6413a3d4eee355 GIT binary patch literal 13799 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¥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 T$5HHSEP$GlwqljMRp|c*7+1-5 literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/docsrc/tools/profiling.xml b/rosdocs/xsl/docsrc/tools/profiling.xml new file mode 100644 index 0000000..fe5fee6 --- /dev/null +++ b/rosdocs/xsl/docsrc/tools/profiling.xml @@ -0,0 +1,330 @@ +<?xml version='1.0' encoding='iso-8859-1'?> +<!DOCTYPE article PUBLIC '-//OASIS//DTD DocBook XML V4.1.2//EN' 'http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd'> +<article> +<articleinfo> +<title>Profiling DocBook documents +An easy way to personalize your content for several target audiences + +Jirka +Kosek + +
E-mail: jirka@kosek.cz +Web: http://www.kosek.cz + +
+
+
+ +2001 +Jiří Kosek + + +$Id$ + + + +
+Introduction + +There are many situations when we need to generate several +versions of document with slightly different content from the single +source. User guide for program with both Windows and Linux port will +differ only in several topics related to installation and +configuration. It would be futile to create and maintain two different +documents in sync. Another real world example – in addition to +standard documentation we can have guide enriched with problem +solutions from help-desk. It also may be better to store these +information in one document in order to make them absolutely +synchronized. +Several high-end editing tools have built in support for +profiling. User can easily add target audiences for any part of +document in a simple to use dialog box. User can select desired target +audience before printing or generation of other output formats. +Software will automatically filter out excess parts of document and +pass rest of it to rendering engine. However, if your budget is +limited you can not use commercial solutions. In the following text I +will show you simple but flexible profiling solution based on freely +available technologies. + +
+ +
+$0 solution + +In the document we mark parts targeted for particular platform +or user group. When generating final output version of document we +must do profiling i.e. personalization for particular target audience. +Only some parts of document are processed. DocBook has built in +support for marking document parts – on almost every element you +can use attributes like os, userlevel and arch. We can store identifier of operating +system, user group or hardware architecture here. You can also store +profiling information into some general use attribute like role. +shows how document with profiling information might +look like. + + +Sample DocBook document with profiling information + + + +How to setup SGML catalogs + +Many existing SGML tools are able to map public identifiers to +files on your local file system. Mapping is specified in so called +catalog file. List of catalog files to use is stored in environment +variable SGML_CATALOG_FILES. + +On Unix systems you can set this variable by invoking +command export SGML_CATALOG_FILES=/usr/lib/catalog +on command line. If you want maintain value of the variable between +sessions, place this command into startup file, +e.g. .profile. + +In Windows NT/2000 you can set environment variable by +issuing command Start +Settings Control +Pannel +System. Then select +Advanced card in the dialog box and click on the +Environment Variables... button. Using the +New button you can add new environment variable +into your system. + +]]> + + +DocBook documents are often processed by freely available DSSSL +and XSL stylesheets. Most DocBook users who want profiling starts with +creation of customization layer which filters out some parts of +document. This approach has several serious disadvantages. First, you +must create profiling customization for all output formats as they are +using different stylesheets. This mean that you must maintain same +code on several places or do some dirty tricks with importing several +stylesheets into one stylesheet. +Second drawback is more serious. If you override templates to +filter out documents, you can get almost correct output in a single +run of stylesheet. If you will closely look on generated output, you +will recognize that in the table of contents there are entries for +items which should be completely removed by profiling. Similar +problems are in several other places – e.g. skipped auto +generated numbers for tables, pictures and so on. To correct this one +should change all stylesheet code which generates ToC, +cross-references and so on to ignore filtered content. This is very +complicated task and will disallow you to easily upgrade to new +versions of stylesheets. +Thus we must use different approach. Profiling should be totally +separate step which will filter out some parts of original document +and will create new correct DocBook document. When processed with any +DocBook tool or stylesheet you will get always correct output from the +new standalone document now. Big advantage of this method is +compatibility with all DocBook tools. Filtered document is normal +DocBook document and it does not require any special processing. Of +course, there is also one disadvantage – formating is now two +stage process – first you must filter source document and in +second step you could apply normal stylesheets on result of filtering. +This may be little bit inconvenient for many users, but whole task can +be very easily automated by set of shell scripts or batch files or +whatever else. Starting from version 1.50 of XSL stylesheets you can +do profiling in one step together with normal stylesheet +processing. + +
+Profiling stream + + + + + +
+ +When implementing filter, you can use many different approaches +and tools. I decided to use XSLT stylesheet. Writing necessary filter +is very easy in XSLT and many users have XSLT processor already +installed. Profiling stylesheet is part of standard XSL stylesheets +distribution and can be found in file +profiling/profile.xsl. +
+ +
+Usage + +If you want to generate Unix specific guide from our sample +document () you can do it in the following +way. (We assume, that command saxon is able to run +XSLT processor on your machine. You can use your preffered XSLT +processor instead.) + +saxon unixsample.xml sample.xml profile.xsl "os=unix" + +We are processing source document +sample.xml with profiling stylesheet +profile.xsl. Result of transformation is stored +in file unixsample.xml. By setting parameter +os to value unix, we tell +that only general and Unix specific parts of document should be copied +to the result document. If you will look at generated result, you will +notice that this is correct DocBook document: + + + + +How to setup SGML catalogs + +Many existing SGML tools are able to map public identifiers to +files on your local file system. Mapping is specified in so called +catalog file. List of catalog files to use is stored in environment +variable SGML_CATALOG_FILES. + +On Unix systems you can set this variable by invoking +command export SGML_CATALOG_FILES=/usr/lib/catalog +on command line. If you want maintain value of the variable between +sessions, place this command into startup file, +e.g. .profile. + +]]> + +It is same as the input document, only Windows specific +paragraph is missing. Same procedure can be used to get Windows +specific version of document. The result generated by profiling +stylesheet have correct document type declaration (DOCTYPE). Without +it some tools would not be able to process them further. On the result +of filtering you can run common tools – for example DSSSL or XSL +stylesheets. + +Stylesheet support several attributes for specifying profiling +values. They are summarized in the following list. + + + +profile.os + +This parameter is used for specifying operating system (os attribute) for which you want get +profiled version of document. + + + +profile.userlevel + +This parameter is used for specifying user level (userlevel attribute) for which you want get +profiled version of document. + + + +profile.arch + +This parameter is used for specifying hardware architecture (arch attribute) for which you want get +profiled version of document. + + + +profile.condition +profile.conformance +profile.revision +profile.revisionflag +profile.security +profile.vendor +profile.role +profile.lang + +These parameters can be used to specify target profile for +corresponding attributes. + + + +profile.attribute + +Name of attribute on which profiling should be based. It can be +used if profiling information is stored in other attributes then +os, userlevel and arch. + + + +profile.value + +This parameter is used for specifying value for attribute +selected by attr parameter. +E.g. setting profile.attribute=os and +profile.value=unix is same as setting +os=unix. + + + +profile.separator + +Separator for multiple target audience identifiers. Default is +;. + + + + + +Current implementation is able to handle multiple profiling +targets in one attribute. In that case you must separate identifiers +by semicolon: + +...]]> + +It is possible to use different separator than semicolon by +setting sep parameter. There cann't be spaces +between separator and target names. + +You can also perform profiling based on several profiling +attributes in a single step as stylesheet can handle all parameters +simultaneously. For example to get hypothetical guide for Windows +beginners, you can run profiling like this: + +saxon xsample.xml sample.xml profile.xsl "profile.os=win" "profile.userlevel=beginner" + +As you can see above described profiling process can be used to +substitute SGML marked sections mechanism which is missing in XML. + +
+ +
+Single pass profiling + +If you are using XSL stylesheets version 1.50 and later with +EXSLT enabled XSLT processor (Saxon, xsltproc, Xalan) you can do +profiling and transformation to HTML or FO in a single step. To do this +use stylesheet with prefix profile- instead of +normal one (e.g. profile-docbook.xsl, +profile-chunk.xsl or +profile-htmlhelp.xsl). For example to get HTML +version of profiled document use: + +saxon sample.html sample.xml .../html/profile-docbook.xsl "profile.os=win" "profile.userlevel=beginner" + +No additional processing is necessary. If you want to use +profiling with your customized stylesheets import profiling-able +stylesheet instead of normal one. + +
+ +
+Conclusion + +Profiling is necessary in many larger DocBook applications. It +can be quite easily implemented by simple XSLT stylesheet which is +presented here. This mechanism can also be used to simulate behavior +of marked sections known from SGML. + +
+ + + diff --git a/rosdocs/xsl/docsrc/warranty.xml b/rosdocs/xsl/docsrc/warranty.xml new file mode 100644 index 0000000..eca4aa2 --- /dev/null +++ b/rosdocs/xsl/docsrc/warranty.xml @@ -0,0 +1,14 @@ + + +Warranty +THE SOFTWARE IS PROVIDED AS IS, +WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL NORMAN WALSH OR ANY +OTHER CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT +OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/rosdocs/xsl/docsrc/xsl2jref.xsl b/rosdocs/xsl/docsrc/xsl2jref.xsl new file mode 100644 index 0000000..957ca27 --- /dev/null +++ b/rosdocs/xsl/docsrc/xsl2jref.xsl @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + You must set the output-file parameter! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + =" + + " + + + + + + + + < + + + + + / + > + + + > + + </ + + > + + + + + + <!-- + + --> + + + + <? + + + + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (in + + mode) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mode + + + + + + + + + + + + mode + + + + + + + + + + + + + + + + + + + + + + + < + + + + + / + > + + + > + + + ... + + </ + + > + + + + + + + diff --git a/rosdocs/xsl/extensions/ChangeLog b/rosdocs/xsl/extensions/ChangeLog new file mode 100644 index 0000000..17a3e78 --- /dev/null +++ b/rosdocs/xsl/extensions/ChangeLog @@ -0,0 +1,36 @@ +2002-05-17 Norman Walsh + + * Makefile: Fix bugs in jar creation + +2002-03-21 Norman Walsh + + * Makefile: Abandon support for Saxon 6.4.2 + +2001-11-15 Norman Walsh + + * Makefile: Support saxon 6.5 + +2001-09-26 Norman Walsh + + * Makefile: Bug #465146: use in extensions/Makefile + +2001-09-22 Norman Walsh + + * Makefile: Support Saxon 6.4.4 + +2001-07-16 Norman Walsh + + * Makefile: Produce correct 6.4.2/6.4.3 jar files + +2001-07-07 Norman Walsh + + * Makefile: Remove old versions of Saxon from Makefile; make sure jars are always up-to-date + +2001-05-21 Norman Walsh + + * Makefile: Tweak Makefile for Saxon 6.3 + +2001-04-02 Norman Walsh + + * .cvsignore, Makefile, prj.el: New file. + diff --git a/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/CVS.html b/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/CVS.html new file mode 100644 index 0000000..5eb28fd --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/CVS.html @@ -0,0 +1,241 @@ + + + + + + +: Class CVS + + + + + + +
+ + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +com.nwalsh.saxon +
+Class CVS

+
+java.lang.Object
+  |
+  +--com.nwalsh.saxon.CVS
+
+
+
+
public class CVS
extends java.lang.Object
+ +

+

Saxon extension to convert CVS date strings into local time

+ +

$Id$

+ +

Copyright (C) 2000 Norman Walsh.

+ +

This class provides a + Saxon + extension to turn the CVS date strings, which are UTC:

+ +
$Date: 2000/11/09 02:34:20 $
+ +

into legibly formatted local time:

+ +
Wed Nov 08 18:34:20 PST 2000
+ +

(I happened to be in California when I wrote this documentation.)

+ +

Change Log:

+
+
1.0
+

Initial release.

+
+

+


+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
CVS() + +
+          Constructor for CVS
+  + + + + + + + + + + + +
+Method Summary
+static java.lang.StringlocalTime(java.lang.String cvsDate) + +
+          Convert a CVS date string into local time.
+ + + + + + + +
Methods inherited from class java.lang.Object
equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+CVS

+
+public CVS()
+
+

Constructor for CVS

+ +

All of the methods are static, so the constructor does nothing.

+ + + + + + + + +
+Method Detail
+ +

+localTime

+
+public static java.lang.String localTime(java.lang.String cvsDate)
+
+

Convert a CVS date string into local time.

+
Parameters:
cvsDate - The CVS date string.
Returns:
The date, converted to local time and reformatted.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/Callout.html b/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/Callout.html new file mode 100644 index 0000000..a6635a1 --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/Callout.html @@ -0,0 +1,328 @@ + + + + + + +: Class Callout + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +com.nwalsh.saxon +
+Class Callout

+
+java.lang.Object
+  |
+  +--com.nwalsh.saxon.Callout
+
+
+
+
public class Callout
extends java.lang.Object
implements java.lang.Comparable
+ +

+

Utility class for the Verbatim extension (ignore this).

+ +

$Id$

+ +

Copyright (C) 2000 Norman Walsh.

+ +

This class is just for book keeping in the Verbatim class. + It stores information about the location of callouts.

+ +

Only line/column based callouts are supported. This class + implements the Comparable interface so that callouts can be sorted. + Callouts are sorted so that they occur in left-to-right, + top-to-bottom order based on line/column.

+ +

Change Log:

+
+
1.0
+

Initial release.

+
+

+

+
See Also:
Verbatim
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
Callout(int callout, + com.icl.saxon.om.ElementInfo area, + int line, + int col) + +
+          The constructor; initialize the private data structures.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ intcompareTo(java.lang.Object o) + +
+          The compareTo method compares this Callout with another.
+ com.icl.saxon.om.ElementInfogetArea() + +
+          Access the Callout's area.
+ intgetCallout() + +
+          Access the Callout's callout number.
+ intgetColumn() + +
+          Access the Callout's column.
+ intgetLine() + +
+          Access the Callout's line.
+ + + + + + + +
Methods inherited from class java.lang.Object
equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+Callout

+
+public Callout(int callout,
+               com.icl.saxon.om.ElementInfo area,
+               int line,
+               int col)
+
+
The constructor; initialize the private data structures.
+ + + + + + + + +
+Method Detail
+ +

+compareTo

+
+public int compareTo(java.lang.Object o)
+
+

The compareTo method compares this Callout with another.

+ +

Given two Callouts, A and B, A < B if:

+ +
    +
  1. A.line < B.line, or
  2. +
  3. A.line = B.line && A.col < B.col, or
  4. +
  5. A.line = B.line && A.col = B.col && A.callout < B.callout
  6. +
  7. Otherwise, they're equal.
  8. +
+
Specified by:
compareTo in interface java.lang.Comparable
+
+
+
+ +

+getArea

+
+public com.icl.saxon.om.ElementInfo getArea()
+
+
Access the Callout's area.
+
+
+
+
+ +

+getLine

+
+public int getLine()
+
+
Access the Callout's line.
+
+
+
+
+ +

+getColumn

+
+public int getColumn()
+
+
Access the Callout's column.
+
+
+
+
+ +

+getCallout

+
+public int getCallout()
+
+
Access the Callout's callout number.
+
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/Driver.html b/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/Driver.html new file mode 100644 index 0000000..6f60d4c --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/Driver.html @@ -0,0 +1,164 @@ + + + + + + +: Class Driver + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +com.nwalsh.saxon +
+Class Driver

+
+com.nwalsh.saxon.Driver
+
+
+
+
public class Driver
+ +

+


+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
Driver() + +
+           
+  + + + +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+Driver

+
+public Driver()
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/Text.html b/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/Text.html new file mode 100644 index 0000000..667e206 --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/Text.html @@ -0,0 +1,469 @@ + + + + + + +: Class Text + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +com.nwalsh.saxon +
+Class Text

+
+java.lang.Object
+  |
+  +--com.icl.saxon.tree.NodeImpl
+        |
+        +--com.icl.saxon.tree.ParentNodeImpl
+              |
+              +--com.icl.saxon.tree.ElementImpl
+                    |
+                    +--com.icl.saxon.tree.ElementWithAttributes
+                          |
+                          +--com.icl.saxon.style.StyleElement
+                                |
+                                +--com.nwalsh.saxon.Text
+
+
+
+
public class Text
extends com.icl.saxon.style.StyleElement
+ +

+

Saxon extension element for inserting text + +

$Id$

+ +

Copyright (C) 2000 Norman Walsh.

+ +

This class provides a + Saxon + extension element for inserting text into a result tree.

+ +

Change Log:

+
+
1.0
+

Initial release.

+
+

+


+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
Text() + +
+          Constructor for Text
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidprepareAttributes() + +
+          Validate the arguments
+ voidprocess(com.icl.saxon.Context context) + +
+          Insert the text of the file into the result tree
+ voidvalidate() + +
+          Validate that the element occurs in a reasonable place.
+ + + + + + + +
Methods inherited from class com.icl.saxon.style.StyleElement
allowAttributes, +bindVariable, +checkEmpty, +checkNotTopLevel, +checkTopLevel, +checkWithinTemplate, +expandChildren, +forwardsCompatibleModeIsEnabled, +getPrecedence, +getStyleSheetFunction, +getVariableBinding, +getVariableNames, +getVersion, +isExcludedNamespace, +isExtensionNamespace, +isInstruction, +isTopLevel, +preprocess, +processAllAttributes, +processAttributes, +processChildren, +reportAbsence, +requiresXSLprefix, +substituteFor, +validateSubtree
+ + + + + + + +
Methods inherited from class com.icl.saxon.tree.ElementWithAttributes
addNamespaceNodes, +copy, +getAttribute, +getAttributeList, +getAttributeNode, +getAttributeNodeNS, +getAttributeNS, +getAttributes, +getAttributeValue, +getAttributeValue, +getLength, +getNamedItem, +getNamedItemNS, +getPrefixForURI, +getURIforPrefix, +hasAttribute, +hasAttributeNS, +hasAttributes, +initialise, +item, +makeAttributeNode, +outputNamespaceNodes, +removeAttribute, +removeAttributeNode, +removeAttributeNS, +removeNamedItem, +removeNamedItemNS, +setAttribute, +setAttributeNode, +setAttributeNodeNS, +setAttributeNS, +setNamedItem, +setNamedItemNS, +setNamespaceDeclarations
+ + + + + + + +
Methods inherited from class com.icl.saxon.tree.ElementImpl
getElementsByTagName, +getElementsByTagNameNS, +getExpandedName, +getInheritedAttribute, +getLineNumber, +getNodeType, +getNodeValue, +getPath, +getPrefix, +getSystemId, +getTagName, +getURI, +isFirstChild, +isFirstInGroup, +isLastChild, +isLastInGroup, +makeName, +makePrefixTest, +setLineNumber
+ + + + + + + +
Methods inherited from class com.icl.saxon.tree.ParentNodeImpl
addChild, +compact, +copyStringValue, +defaultAction, +dropChildren, +getAllChildNodes, +getFirstChild, +getLastChild, +getNumberOfChildren, +getSequenceNumber, +getValue, +removeChild, +renumberChildren, +useChildrenArray
+ + + + + + + +
Methods inherited from class com.icl.saxon.tree.NodeImpl
appendChild, +cloneNode, +getAbsoluteName, +getAncestor, +getAncestor, +getChildNodes, +getColumnNumber, +getDisplayName, +getDocumentElement, +getDocumentRoot, +getFirstChild, +getIndex, +getLastChild, +getLocalName, +getNamespaceURI, +getNextInDocument, +getNextSibling, +getNextSibling, +getNodeName, +getNodeTypeName, +getNumberAny, +getNumberMulti, +getNumberSimple, +getNumberSimple, +getNumberSingle, +getOwnerDocument, +getParentNode, +getPreviousInDocument, +getPreviousInDocument, +getPreviousSibling, +getPreviousSibling, +getPublicId, +getSequentialKey, +hasChildNodes, +hasName, +insertBefore, +isa, +isAncestor, +isDocumentElement, +isSameNode, +isSupported, +normalize, +removeChild, +removeNode, +replaceChild, +setNodeValue, +setPrefix, +supports, +toString
+ + + + + + + +
Methods inherited from class java.lang.Object
equals, +getClass, +hashCode, +notify, +notifyAll, +wait, +wait, +wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+Text

+
+public Text()
+
+

Constructor for Text

+ +

Does nothing.

+ + + + + + + + +
+Method Detail
+ +

+prepareAttributes

+
+public void prepareAttributes()
+                       throws org.xml.sax.SAXException
+
+

Validate the arguments

+ +

The element must have an href attribute.

+
Overrides:
prepareAttributes in class com.icl.saxon.style.StyleElement
+
+
+
+ +

+validate

+
+public void validate()
+              throws org.xml.sax.SAXException
+
+
Validate that the element occurs in a reasonable place.
+
Overrides:
validate in class com.icl.saxon.style.StyleElement
+
+
+
+ +

+process

+
+public void process(com.icl.saxon.Context context)
+             throws org.xml.sax.SAXException
+
+

Insert the text of the file into the result tree

+ +

Processing this element inserts the contents of the URL named + by the href attribute into the result tree as plain text.

+
Overrides:
process in class com.icl.saxon.style.StyleElement
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/TextFactory.html b/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/TextFactory.html new file mode 100644 index 0000000..ba48a9f --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/TextFactory.html @@ -0,0 +1,240 @@ + + + + + + +: Class TextFactory + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +com.nwalsh.saxon +
+Class TextFactory

+
+java.lang.Object
+  |
+  +--com.nwalsh.saxon.TextFactory
+
+
+
+
public class TextFactory
extends java.lang.Object
implements com.icl.saxon.style.ExtensionElementFactory
+ +

+

Saxon extension element factory + +

$Id$

+ +

Copyright (C) 2000 Norman Walsh.

+ +

This class provides a + Saxon + extension element factory for the Text extension element + family.

+ +

Change Log:

+
+
1.0
+

Initial release.

+
+

+

+
See Also:
Text
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
TextFactory() + +
+          Constructor for TextFactory
+  + + + + + + + + + + + +
+Method Summary
+ java.lang.ClassgetExtensionClass(java.lang.String localname) + +
+          Return the class that implements a particular extension element.
+ + + + + + + +
Methods inherited from class java.lang.Object
equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+TextFactory

+
+public TextFactory()
+
+

Constructor for TextFactory

+ +

Does nothing.

+ + + + + + + + +
+Method Detail
+ +

+getExtensionClass

+
+public java.lang.Class getExtensionClass(java.lang.String localname)
+                                  throws org.xml.sax.SAXException
+
+

Return the class that implements a particular extension element.

+
Specified by:
getExtensionClass in interface com.icl.saxon.style.ExtensionElementFactory
+
+
+
Parameters:
localname - The local name of the extension element.
Returns:
The class that handles that extension element.
Throws:
SAXException("Unknown - Text extension element")
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/Verbatim.html b/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/Verbatim.html new file mode 100644 index 0000000..43775b0 --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/Verbatim.html @@ -0,0 +1,464 @@ + + + + + + +: Class Verbatim + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +com.nwalsh.saxon +
+Class Verbatim

+
+java.lang.Object
+  |
+  +--com.nwalsh.saxon.Verbatim
+
+
+
+
public class Verbatim
extends java.lang.Object
+ +

+

Saxon extensions supporting DocBook verbatim environments

+ +

$Id$

+ +

Copyright (C) 2000 Norman Walsh.

+ +

This class provides a + Saxon + implementation of two features that would be impractical to + implement directly in XSLT: line numbering and callouts.

+ +

Line Numbering

+

The numberLines family of functions takes a result tree + fragment (assumed to contain the contents of a formatted verbatim + element in DocBook: programlisting, screen, address, literallayout, + or synopsis) and returns a result tree fragment decorated with + line numbers.

+ +

Callouts

+

The insertCallouts family of functions takes an + areaspec and a result tree fragment + (assumed to contain the contents of a formatted verbatim + element in DocBook: programlisting, screen, address, literallayout, + or synopsis) and returns a result tree fragment decorated with + callouts.

+ +

Change Log:

+
+
1.0
+

Initial release.

+
+

+


+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
Verbatim() + +
+          Constructor for Verbatim
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static com.icl.saxon.expr.FragmentValueinsertCallouts(com.icl.saxon.expr.NodeSetIntent areaspecNodeSet, + com.icl.saxon.expr.FragmentValue saxonRTF, + int defaultColumn) + +
+          Insert text callouts into a verbatim environment.
+static com.icl.saxon.expr.FragmentValueinsertCallouts(com.icl.saxon.expr.NodeSetIntent areaspecNodeSet, + com.icl.saxon.expr.FragmentValue saxonRTF, + int defaultColumn, + java.lang.String gPath, + java.lang.String gExt, + int gMax, + boolean useFO) + +
+          Insert graphical callouts into a verbatim environment.
+static com.icl.saxon.expr.FragmentValuenumberLines(com.icl.saxon.expr.FragmentValue saxonRTF) + +
+          Number lines in a verbatim environment using default values for + modulus, width and separator.
+static com.icl.saxon.expr.FragmentValuenumberLines(com.icl.saxon.expr.FragmentValue saxonRTF, + int saxonMod) + +
+          Number lines in a verbatim environment using default values for + width and separator.
+static com.icl.saxon.expr.FragmentValuenumberLines(com.icl.saxon.expr.FragmentValue saxonRTF, + int saxonMod, + int saxonWidth) + +
+          Number lines in a verbatim environment using the default value + separator.
+static com.icl.saxon.expr.FragmentValuenumberLines(com.icl.saxon.expr.FragmentValue saxonRTF, + int saxonMod, + int saxonWidth, + java.lang.String saxonSep) + +
+          Number lines in a verbatim environment.
+ + + + + + + +
Methods inherited from class java.lang.Object
equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+Verbatim

+
+public Verbatim()
+
+

Constructor for Verbatim

+ +

All of the methods are static, so the constructor does nothing.

+ + + + + + + + +
+Method Detail
+ +

+numberLines

+
+public static com.icl.saxon.expr.FragmentValue numberLines(com.icl.saxon.expr.FragmentValue saxonRTF)
+
+

Number lines in a verbatim environment using default values for + modulus, width and separator.

+ +

The default modulus is 1, the default width is 5, and the + default separator is a space.

+
Parameters:
saxonRTF - The result tree fragment of the verbatim environment.
Returns:
The modified result tree fragment.
+
+
+
+ +

+numberLines

+
+public static com.icl.saxon.expr.FragmentValue numberLines(com.icl.saxon.expr.FragmentValue saxonRTF,
+                                                           int saxonMod)
+
+

Number lines in a verbatim environment using default values for + width and separator.

+ +

The default width is 5, and the + default separator is a space.

+
Parameters:
saxonRTF - The result tree fragment of the verbatim environment.
saxonMod - The modulus to use for line numbering.
Returns:
The modified result tree fragment.
+
+
+
+ +

+numberLines

+
+public static com.icl.saxon.expr.FragmentValue numberLines(com.icl.saxon.expr.FragmentValue saxonRTF,
+                                                           int saxonMod,
+                                                           int saxonWidth)
+
+

Number lines in a verbatim environment using the default value + separator.

+ +

The default separator is a space.

+
Parameters:
saxonRTF - The result tree fragment of the verbatim environment.
saxonMod - The modulus to use for line numbering.
saxonWidth - The width of line numbers.
Returns:
The modified result tree fragment.
+
+
+
+ +

+numberLines

+
+public static com.icl.saxon.expr.FragmentValue numberLines(com.icl.saxon.expr.FragmentValue saxonRTF,
+                                                           int saxonMod,
+                                                           int saxonWidth,
+                                                           java.lang.String saxonSep)
+
+

Number lines in a verbatim environment.

+ +

This method adds line numbers to a result tree fragment. Each + newline that occurs in a text node is assumed to start a new line. + The first line is always numbered, every subsequent saxonMod line + is numbered (so if saxonMod=5, lines 1, 5, 10, 15, etc. will be + numbered. If there are fewer than saxonMod lines in the environment, + every line is numbered.

+ +

Every line number will be right justified in a string saxonWidth + characters long. If the line number of the last line in the + environment is too long to fit in the specified width, the width + is automatically increased to the smallest value that can hold the + number of the last line. (In other words, if you specify the value 2 + and attempt to enumerate the lines of an environment that is 100 lines + long, the value 3 will automatically be used for every line in the + environment.)

+ +

The saxonSep string is inserted between the line + number and the original program listing. Lines that aren't numbered + are preceded by a saxonWidth blank string and the separator.

+ +

If inline markup extends across line breaks, markup changes are + required. All the open elements are closed before the line break and + "reopened" afterwards. The reopened elements will have the same + attributes as the originals, except that 'name' and 'id' attributes + are not duplicated.

+
Parameters:
saxonRTF - The result tree fragment of the verbatim environment.
saxonMod - The modulus to use for line numbering.
saxonWidth - The width of line numbers.
saxonSep - The separator between line numbers and lines.
Returns:
The modified result tree fragment.
+
+
+
+ +

+insertCallouts

+
+public static com.icl.saxon.expr.FragmentValue insertCallouts(com.icl.saxon.expr.NodeSetIntent areaspecNodeSet,
+                                                              com.icl.saxon.expr.FragmentValue saxonRTF,
+                                                              int defaultColumn)
+
+

Insert text callouts into a verbatim environment.

+ +

This method examines the areaset and area elements + in the supplied areaspec and decorates the supplied + result tree fragment with appropriate callout markers.

+ +

If a label attribute is supplied on an area, + its content will be used for the label, otherwise the callout + number will be used, surrounded by parenthesis. Callouts are + numbered in document order. All of the areas in an + areaset get the same number.

+ +

Only the linecolumn and linerange units are + supported. If no unit is specifed, linecolumn is assumed. + If only a line is specified, the callout decoration appears in + the defaultColumn. Lines will be padded with blanks to reach the + necessary column, but callouts that are located beyond the last + line of the verbatim environment will be ignored.

+ +

Callouts are inserted before the character at the line/column + where they are to occur.

+
Parameters:
areaspecNodeSet - The source node set that contains the areaspec.
saxonRTF - The result tree fragment of the verbatim environment.
defaultColumn - The column for callouts that specify only a line.
Returns:
The modified result tree fragment.
+
+
+
+ +

+insertCallouts

+
+public static com.icl.saxon.expr.FragmentValue insertCallouts(com.icl.saxon.expr.NodeSetIntent areaspecNodeSet,
+                                                              com.icl.saxon.expr.FragmentValue saxonRTF,
+                                                              int defaultColumn,
+                                                              java.lang.String gPath,
+                                                              java.lang.String gExt,
+                                                              int gMax,
+                                                              boolean useFO)
+
+

Insert graphical callouts into a verbatim environment.

+ +

This method examines the areaset and area elements + in the supplied areaspec and decorates the supplied + result tree fragment with appropriate callout markers.

+ +

If a label attribute is supplied on an area, + its content will be used for the label, otherwise the callout + number will be used. Callouts are + numbered in document order. All of the areas in an + areaset get the same number.

+ +

If the callout number is not greater than gMax, the + callout generated will be:

+ +
+ <img src="$gPath/conumber$gExt" alt="conumber">
+ 
+ +

Otherwise, it will be the callout number surrounded by + parenthesis.

+ +

Only the linecolumn and linerange units are + supported. If no unit is specifed, linecolumn is assumed. + If only a line is specified, the callout decoration appears in + the defaultColumn. Lines will be padded with blanks to reach the + necessary column, but callouts that are located beyond the last + line of the verbatim environment will be ignored.

+ +

Callouts are inserted before the character at the line/column + where they are to occur.

+
Parameters:
areaspecNodeSet - The source node set that contains the areaspec.
saxonRTF - The result tree fragment of the verbatim environment.
defaultColumn - The column for callouts that specify only a line.
gPath - The path to use for callout graphics.
gExt - The extension to use for callout graphics.
gMax - The largest number that can be represented as a graphic.
useFO - Should fo:external-graphics be produced, as opposed to + HTML imgs. This is bogus, the extension should figure it out, but I + haven't figured out how to do that yet.
Returns:
The modified result tree fragment.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/package-frame.html b/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/package-frame.html new file mode 100644 index 0000000..d8f63b5 --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/package-frame.html @@ -0,0 +1,34 @@ + + + + + + +: Package com.nwalsh.saxon + + + + + +com.nwalsh.saxon + + + + +
+Classes  + +
+Callout +
+CVS +
+Text +
+TextFactory +
+Verbatim
+ + + + diff --git a/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/package-summary.html b/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/package-summary.html new file mode 100644 index 0000000..d9eb246 --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/package-summary.html @@ -0,0 +1,176 @@ + + + + + + +: Package com.nwalsh.saxon + + + + + + + + + + + + + + + + + +
+ +
+ + +
+

+Package com.nwalsh.saxon +

+Norman Walsh's Saxon Extensions Package for Saxon 5.* +

+See: +
+          Description +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+Class Summary
CalloutUtility class for the Verbatim extension (ignore this).
CVSSaxon extension to convert CVS date strings into local time
TextSaxon extension element for inserting text + +
TextFactorySaxon extension element factory + +
VerbatimSaxon extensions supporting DocBook verbatim environments
+  + +

+

+Package com.nwalsh.saxon Description +

+ +

+

Norman Walsh's Saxon Extensions Package for Saxon 5.*

+ +

This package implements Saxon extensions for XSLT. Future development +of this package will be limited to bug fixes only. The Saxon 6.0 Extension +Package is a practically complete, and much cleaner, reimplementation.

+ +

Copyright (C) 2000 Norman Walsh

+

Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and 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.

+ +

Except as contained in this notice, the names of individuals +credited with contribution to this software shall not be used in +advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from the +individuals in question.

+ +

Anything derived from this Software that is publically +distributed will be identified with a different name and the +version strings in any derived Software will be changed so that no +possibility of confusion between the derived package and this +Software will exist.

+ + +
+

Warranty

+

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL NORMAN WALSH OR ANY OTHER +CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE.

+
+

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/package-tree.html b/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/package-tree.html new file mode 100644 index 0000000..ea5286e --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon5/com/nwalsh/saxon/package-tree.html @@ -0,0 +1,113 @@ + + + + + + +: com.nwalsh.saxon Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For Package com.nwalsh.saxon +

+
+

+Class Hierarchy +

+
    +
  • class java.lang.Object
      +
    • class com.nwalsh.saxon.Callout (implements java.lang.Comparable) +
    • class com.nwalsh.saxon.CVS
    • class com.icl.saxon.tree.NodeImpl (implements com.icl.saxon.om.NodeInfo) +
        +
      • class com.icl.saxon.tree.ParentNodeImpl
          +
        • class com.icl.saxon.tree.ElementImpl (implements org.w3c.dom.Element, com.icl.saxon.om.ElementInfo, org.w3c.dom.NamedNodeMap) +
            +
          • class com.icl.saxon.tree.ElementWithAttributes (implements org.w3c.dom.Element, com.icl.saxon.om.ElementInfo, org.w3c.dom.NamedNodeMap) +
              +
            • class com.icl.saxon.style.StyleElement (implements org.xml.sax.Locator, com.icl.saxon.expr.StaticContext) +
                +
              • class com.nwalsh.saxon.Text
              +
            +
          +
        +
      +
    • class com.nwalsh.saxon.TextFactory (implements com.icl.saxon.style.ExtensionElementFactory) +
    • class com.nwalsh.saxon.Verbatim
    +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon5/deprecated-list.html b/rosdocs/xsl/extensions/doc/saxon5/deprecated-list.html new file mode 100644 index 0000000..c2855cd --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon5/deprecated-list.html @@ -0,0 +1,89 @@ + + + + + + +: Deprecated List + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Deprecated API

+
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon5/help-doc.html b/rosdocs/xsl/extensions/doc/saxon5/help-doc.html new file mode 100644 index 0000000..37d3b6b --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon5/help-doc.html @@ -0,0 +1,138 @@ + + + + + + +: API Help + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+How This API Document Is Organized

+
+This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.

+Package

+
+ +

+Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:

    +
  • Interfaces (italic)
  • Classes
  • Exceptions
  • Errors
+
+

+Class/Interface

+
+ +

+Each class, interface, inner class and inner interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

    +
  • Class inheritance diagram
  • Direct Subclasses
  • All Known Subinterfaces
  • All Known Implementing Classes
  • Class/interface declaration
  • Class/interface description +

    +

  • Inner Class Summary
  • Field Summary
  • Constructor Summary
  • Method Summary +

    +

  • Field Detail
  • Constructor Detail
  • Method Detail
+Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
+

+Tree (Class Hierarchy)

+
+There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.
    +
  • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
  • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
+
+

+Deprecated API

+
+The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
+

+Index

+
+The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
+

+Prev/Next

+These links take you to the next or previous class, interface, package, or related page.

+Frames/No Frames

+These links show and hide the HTML frames. All pages are available with or without frames. +

+

+Serialized Form

+Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description. +

+ + +This help file applies to API documentation generated using the standard doclet. + +
+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon5/index-all.html b/rosdocs/xsl/extensions/doc/saxon5/index-all.html new file mode 100644 index 0000000..a6c6f90 --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon5/index-all.html @@ -0,0 +1,194 @@ + + + + + + +: Index + + + + + + + + + + + + + + + + + +
+ +
+ + +C G I L N P T V
+

+C

+
+
Callout - class com.nwalsh.saxon.Callout.
Utility class for the Verbatim extension (ignore this).
Callout(int, ElementInfo, int, int) - +Constructor for class com.nwalsh.saxon.Callout +
The constructor; initialize the private data structures. +
com.nwalsh.saxon - package com.nwalsh.saxon
Norman Walsh's Saxon Extensions Package for Saxon 5.*
compareTo(Object) - +Method in class com.nwalsh.saxon.Callout +
The compareTo method compares this Callout with another. +
CVS - class com.nwalsh.saxon.CVS.
Saxon extension to convert CVS date strings into local time
CVS() - +Constructor for class com.nwalsh.saxon.CVS +
Constructor for CVS +
+
+

+G

+
+
getArea() - +Method in class com.nwalsh.saxon.Callout +
Access the Callout's area. +
getCallout() - +Method in class com.nwalsh.saxon.Callout +
Access the Callout's callout number. +
getColumn() - +Method in class com.nwalsh.saxon.Callout +
Access the Callout's column. +
getExtensionClass(String) - +Method in class com.nwalsh.saxon.TextFactory +
Return the class that implements a particular extension element. +
getLine() - +Method in class com.nwalsh.saxon.Callout +
Access the Callout's line. +
+
+

+I

+
+
insertCallouts(NodeSetIntent, FragmentValue, int) - +Static method in class com.nwalsh.saxon.Verbatim +
Insert text callouts into a verbatim environment. +
insertCallouts(NodeSetIntent, FragmentValue, int, String, String, int, boolean) - +Static method in class com.nwalsh.saxon.Verbatim +
Insert graphical callouts into a verbatim environment. +
+
+

+L

+
+
localTime(String) - +Static method in class com.nwalsh.saxon.CVS +
Convert a CVS date string into local time. +
+
+

+N

+
+
numberLines(FragmentValue) - +Static method in class com.nwalsh.saxon.Verbatim +
Number lines in a verbatim environment using default values for + modulus, width and separator. +
numberLines(FragmentValue, int) - +Static method in class com.nwalsh.saxon.Verbatim +
Number lines in a verbatim environment using default values for + width and separator. +
numberLines(FragmentValue, int, int) - +Static method in class com.nwalsh.saxon.Verbatim +
Number lines in a verbatim environment using the default value + separator. +
numberLines(FragmentValue, int, int, String) - +Static method in class com.nwalsh.saxon.Verbatim +
Number lines in a verbatim environment. +
+
+

+P

+
+
prepareAttributes() - +Method in class com.nwalsh.saxon.Text +
Validate the arguments +
process(Context) - +Method in class com.nwalsh.saxon.Text +
Insert the text of the file into the result tree +
+
+

+T

+
+
Text - class com.nwalsh.saxon.Text.
Saxon extension element for inserting text + +
Text() - +Constructor for class com.nwalsh.saxon.Text +
Constructor for Text +
TextFactory - class com.nwalsh.saxon.TextFactory.
Saxon extension element factory + +
TextFactory() - +Constructor for class com.nwalsh.saxon.TextFactory +
Constructor for TextFactory +
+
+

+V

+
+
validate() - +Method in class com.nwalsh.saxon.Text +
Validate that the element occurs in a reasonable place. +
Verbatim - class com.nwalsh.saxon.Verbatim.
Saxon extensions supporting DocBook verbatim environments
Verbatim() - +Constructor for class com.nwalsh.saxon.Verbatim +
Constructor for Verbatim +
+
+C G I L N P T V + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon5/index.html b/rosdocs/xsl/extensions/doc/saxon5/index.html new file mode 100644 index 0000000..c04435f --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon5/index.html @@ -0,0 +1,22 @@ + + + + + + +Generated Documentation (Untitled) + + + + + + + +<H2> +Frame Alert</H2> + +<P> +This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. +<BR> +Link to <A HREF="com/nwalsh/saxon/package-summary.html">Non-frame version.</A> + diff --git a/rosdocs/xsl/extensions/doc/saxon5/overview-tree.html b/rosdocs/xsl/extensions/doc/saxon5/overview-tree.html new file mode 100644 index 0000000..78c8b2b --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon5/overview-tree.html @@ -0,0 +1,115 @@ + + + + + + +: Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For All Packages

+
+
+
Package Hierarchies:
com.nwalsh.saxon
+
+

+Class Hierarchy +

+
    +
  • class java.lang.Object
      +
    • class com.nwalsh.saxon.Callout (implements java.lang.Comparable) +
    • class com.nwalsh.saxon.CVS
    • class com.icl.saxon.tree.NodeImpl (implements com.icl.saxon.om.NodeInfo) +
        +
      • class com.icl.saxon.tree.ParentNodeImpl
          +
        • class com.icl.saxon.tree.ElementImpl (implements org.w3c.dom.Element, com.icl.saxon.om.ElementInfo, org.w3c.dom.NamedNodeMap) +
            +
          • class com.icl.saxon.tree.ElementWithAttributes (implements org.w3c.dom.Element, com.icl.saxon.om.ElementInfo, org.w3c.dom.NamedNodeMap) +
              +
            • class com.icl.saxon.style.StyleElement (implements org.xml.sax.Locator, com.icl.saxon.expr.StaticContext) +
                +
              • class com.nwalsh.saxon.Text
              +
            +
          +
        +
      +
    • class com.nwalsh.saxon.TextFactory (implements com.icl.saxon.style.ExtensionElementFactory) +
    • class com.nwalsh.saxon.Verbatim
    +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon5/package-list b/rosdocs/xsl/extensions/doc/saxon5/package-list new file mode 100644 index 0000000..c7bf3bf --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon5/package-list @@ -0,0 +1 @@ +com.nwalsh.saxon diff --git a/rosdocs/xsl/extensions/doc/saxon5/packages.html b/rosdocs/xsl/extensions/doc/saxon5/packages.html new file mode 100644 index 0000000..9c6ea39 --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon5/packages.html @@ -0,0 +1,26 @@ + + + + + + + + + + + + +
+ +
+ +
+
+The front page has been relocated.Please see: +
+          Frame version +
+          Non-frame version.
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon5/serialized-form.html b/rosdocs/xsl/extensions/doc/saxon5/serialized-form.html new file mode 100644 index 0000000..0319f20 --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon5/serialized-form.html @@ -0,0 +1,89 @@ + + + + + + +Serialized Form + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Serialized Form

+
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon5/stylesheet.css b/rosdocs/xsl/extensions/doc/saxon5/stylesheet.css new file mode 100644 index 0000000..95f5764 --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon5/stylesheet.css @@ -0,0 +1,29 @@ +/* Javadoc style sheet */ + +/* Define colors, fonts and other style attributes here to override the defaults */ + +/* Page background color */ +body { background-color: #FFFFFF } + +/* Table colors */ +.TableHeadingColor { background: #CCCCFF } /* Dark mauve */ +.TableSubHeadingColor { background: #EEEEFF } /* Light mauve */ +.TableRowColor { background: #FFFFFF } /* White */ + +/* Font used in left-hand frame lists */ +.FrameTitleFont { font-size: normal; font-family: normal } +.FrameHeadingFont { font-size: normal; font-family: normal } +.FrameItemFont { font-size: normal; font-family: normal } + +/* Example of smaller, sans-serif font in frames */ +/* .FrameItemFont { font-size: 10pt; font-family: Helvetica, Arial, sans-serif } */ + +/* Navigation bar fonts and colors */ +.NavBarCell1 { background-color:#EEEEFF;}/* Light mauve */ +.NavBarCell1Rev { background-color:#00008B;}/* Dark Blue */ +.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;} +.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;} + +.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;} +.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;} + diff --git a/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/CVS.html b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/CVS.html new file mode 100644 index 0000000..d6b61ce --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/CVS.html @@ -0,0 +1,241 @@ + + + + + + +: Class CVS + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +com.nwalsh.saxon6 +
+Class CVS

+
+java.lang.Object
+  |
+  +--com.nwalsh.saxon6.CVS
+
+
+
+
public class CVS
extends java.lang.Object
+ +

+

Saxon extension to convert CVS date strings into local time

+ +

$Id$

+ +

Copyright (C) 2000 Norman Walsh.

+ +

This class provides a + Saxon + extension to turn the CVS date strings, which are UTC:

+ +
$Date: 2000/11/09 02:34:20 $
+ +

into legibly formatted local time:

+ +
Wed Nov 08 18:34:20 PST 2000
+ +

(I happened to be in California when I wrote this documentation.)

+ +

Change Log:

+
+
1.0
+

Initial release.

+
+

+


+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
CVS() + +
+          Constructor for CVS
+  + + + + + + + + + + + +
+Method Summary
+static java.lang.StringlocalTime(java.lang.String cvsDate) + +
+          Convert a CVS date string into local time.
+ + + + + + + +
Methods inherited from class java.lang.Object
equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+CVS

+
+public CVS()
+
+

Constructor for CVS

+ +

All of the methods are static, so the constructor does nothing.

+ + + + + + + + +
+Method Detail
+ +

+localTime

+
+public static java.lang.String localTime(java.lang.String cvsDate)
+
+

Convert a CVS date string into local time.

+
Parameters:
cvsDate - The CVS date string.
Returns:
The date, converted to local time and reformatted.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/CalloutEmitter.html b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/CalloutEmitter.html new file mode 100644 index 0000000..c182e94 --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/CalloutEmitter.html @@ -0,0 +1,355 @@ + + + + + + +: Class CalloutEmitter + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +com.nwalsh.saxon6 +
+Class CalloutEmitter

+
+java.lang.Object
+  |
+  +--com.nwalsh.saxon6.CopyEmitter
+        |
+        +--com.nwalsh.saxon6.CalloutEmitter
+
+
+
+
public class CalloutEmitter
extends CopyEmitter
+ +

+

Saxon extension to decorate a result tree fragment with callouts.

+ +

$Id$

+ +

Copyright (C) 2000 Norman Walsh.

+ +

This class provides the guts of a + Saxon 6.* + implementation of callouts for verbatim environments. (It is used + by the Verbatim class.)

+ +

The general design is this: the stylesheets construct a result tree + fragment for some verbatim environment. The Verbatim class initializes + a CalloutEmitter with information about the callouts that should be applied + to the verbatim environment in question. Then the result tree fragment + is "replayed" through the CalloutEmitter; the CalloutEmitter builds a + new result tree fragment from this event stream, decorated with callouts, + and that is returned.

+ +

Change Log:

+
+
1.0
+

Initial release.

+
+

+

+
See Also:
Verbatim
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
CalloutEmitter(com.icl.saxon.om.NamePool namePool, + java.lang.String graphicsPath, + java.lang.String graphicsExt, + int graphicsMax, + int defaultColumn, + boolean foStylesheet) + +
+          Constructor for the CalloutEmitter.
+  + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidcharacters(char[] chars, + int start, + int len) + +
+          Process characters.
+ voidendElement(int nameCode) + +
+          Process end element events.
+ voidsetupCallouts(com.icl.saxon.expr.NodeSetIntent areaspecNodeSet) + +
+          Examine the areaspec and determine the number and position of + callouts.
+ voidstartElement(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount) + +
+          Process start element events.
+ + + + + + + +
Methods inherited from class com.nwalsh.saxon6.CopyEmitter
comment, +endDocument, +getResultTreeFragment, +processingInstruction, +setCharacterSet, +setDocumentLocator, +setEscaping, +setNamePool, +setOutputDetails, +setUnparsedEntity, +setWriter, +startDocument
+ + + + + + + +
Methods inherited from class java.lang.Object
equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+CalloutEmitter

+
+public CalloutEmitter(com.icl.saxon.om.NamePool namePool,
+                      java.lang.String graphicsPath,
+                      java.lang.String graphicsExt,
+                      int graphicsMax,
+                      int defaultColumn,
+                      boolean foStylesheet)
+
+

Constructor for the CalloutEmitter.

+
Parameters:
namePool - The name pool to use for constructing elements and attributes.
graphicsPath - The path to callout number graphics.
graphicsExt - The extension for callout number graphics.
graphicsMax - The largest callout number that can be represented as a graphic.
defaultColumn - The default column for callouts.
foStylesheet - Is this an FO stylesheet?
+
+
+ + + + + + + + +
+Method Detail
+ +

+setupCallouts

+
+public void setupCallouts(com.icl.saxon.expr.NodeSetIntent areaspecNodeSet)
+
+

Examine the areaspec and determine the number and position of + callouts.

+ +

The areaspecNodeSet + is examined and a sorted list of the callouts is constructed.

+ +

This data structure is used to augment the result tree fragment + with callout bullets.

+
Parameters:
areaspecNodeSet - The source document <areaspec> element.
+
+
+
+ +

+characters

+
+public void characters(char[] chars,
+                       int start,
+                       int len)
+                throws org.xml.sax.SAXException
+
+
Process characters.
+
Overrides:
characters in class CopyEmitter
+
+
+
+ +

+endElement

+
+public void endElement(int nameCode)
+                throws org.xml.sax.SAXException
+
+
Process end element events.
+
Overrides:
endElement in class CopyEmitter
+
+
+
+ +

+startElement

+
+public void startElement(int nameCode,
+                         org.xml.sax.Attributes attributes,
+                         int[] namespaces,
+                         int nscount)
+                  throws org.xml.sax.SAXException
+
+
Process start element events.
+
Overrides:
startElement in class CopyEmitter
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/CopyEmitter.html b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/CopyEmitter.html new file mode 100644 index 0000000..8d324c9 --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/CopyEmitter.html @@ -0,0 +1,543 @@ + + + + + + +: Class CopyEmitter + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +com.nwalsh.saxon6 +
+Class CopyEmitter

+
+java.lang.Object
+  |
+  +--com.nwalsh.saxon6.CopyEmitter
+
+
+
Direct Known Subclasses:
CalloutEmitter, NumberLinesEmitter
+
+
+
+
public class CopyEmitter
extends java.lang.Object
implements com.icl.saxon.output.Emitter
+ +

+

A Saxon 6.0 Emitter that clones its input.

+ +

$Id$

+ +

Copyright (C) 2000 Norman Walsh.

+ +

This class provides a + Saxon 6.* + implementation of an emitter that manufactures a cloned result + tree fragment.

+ +

The purpose of this emitter is to provide something for + CalloutEmitter and NumberLinesEmitter to extend. + This emitter simply copies all input to a new result tree fragment.

+ +

Change Log:

+
+
1.0
+

Initial release.

+
+

+

+
See Also:
CalloutEmitter, +NumberLinesEmitter
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
CopyEmitter(com.icl.saxon.om.NamePool namePool) + +
+          Constructor for the CopyEmitter.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidcharacters(char[] chars, + int start, + int len) + +
+          Copy characters.
+ voidcomment(char[] chars, + int start, + int length) + +
+          Copy comments.
+ voidendDocument() + +
+          Copy end document events.
+ voidendElement(int nameCode) + +
+          Copy end element events.
+ com.icl.saxon.expr.FragmentValuegetResultTreeFragment() + +
+          Return the result tree fragment constructed by replaying events + through this emitter.
+ voidprocessingInstruction(java.lang.String name, + java.lang.String data) + +
+          Copy processing instructions.
+ voidsetCharacterSet(com.icl.saxon.output.CharacterSet charset) + +
+          Copy set character set events.
+ voidsetDocumentLocator(org.xml.sax.Locator locator) + +
+          Copy set document locator events.
+ voidsetEscaping(boolean escaping) + +
+          Copy set escaping events.
+ voidsetNamePool(com.icl.saxon.om.NamePool namePool) + +
+          Copy set name pool events.
+ voidsetOutputDetails(com.icl.saxon.output.OutputDetails details) + +
+          Copy set output details events.
+ voidsetUnparsedEntity(java.lang.String name, + java.lang.String uri) + +
+          Copy set unparsed entity events.
+ voidsetWriter(java.io.Writer writer) + +
+          Copy set writer events.
+ voidstartDocument() + +
+          Copy start document events.
+ voidstartElement(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount) + +
+          Copy start element events.
+ + + + + + + +
Methods inherited from class java.lang.Object
equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+CopyEmitter

+
+public CopyEmitter(com.icl.saxon.om.NamePool namePool)
+
+

Constructor for the CopyEmitter.

+
Parameters:
namePool - The name pool to use for constructing elements and attributes.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getResultTreeFragment

+
+public com.icl.saxon.expr.FragmentValue getResultTreeFragment()
+
+

Return the result tree fragment constructed by replaying events + through this emitter.

+
+
+
+
+ +

+characters

+
+public void characters(char[] chars,
+                       int start,
+                       int len)
+                throws org.xml.sax.SAXException
+
+
Copy characters.
+
Specified by:
characters in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+comment

+
+public void comment(char[] chars,
+                    int start,
+                    int length)
+             throws org.xml.sax.SAXException
+
+
Copy comments.
+
Specified by:
comment in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+endDocument

+
+public void endDocument()
+                 throws org.xml.sax.SAXException
+
+
Copy end document events.
+
Specified by:
endDocument in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+endElement

+
+public void endElement(int nameCode)
+                throws org.xml.sax.SAXException
+
+
Copy end element events.
+
Specified by:
endElement in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+processingInstruction

+
+public void processingInstruction(java.lang.String name,
+                                  java.lang.String data)
+                           throws org.xml.sax.SAXException
+
+
Copy processing instructions.
+
Specified by:
processingInstruction in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+setCharacterSet

+
+public void setCharacterSet(com.icl.saxon.output.CharacterSet charset)
+                     throws org.xml.sax.SAXException
+
+
Copy set character set events.
+
Specified by:
setCharacterSet in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+setDocumentLocator

+
+public void setDocumentLocator(org.xml.sax.Locator locator)
+
+
Copy set document locator events.
+
Specified by:
setDocumentLocator in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+setEscaping

+
+public void setEscaping(boolean escaping)
+                 throws org.xml.sax.SAXException
+
+
Copy set escaping events.
+
Specified by:
setEscaping in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+setNamePool

+
+public void setNamePool(com.icl.saxon.om.NamePool namePool)
+
+
Copy set name pool events.
+
Specified by:
setNamePool in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+setOutputDetails

+
+public void setOutputDetails(com.icl.saxon.output.OutputDetails details)
+                      throws org.xml.sax.SAXException
+
+
Copy set output details events.
+
Specified by:
setOutputDetails in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+setUnparsedEntity

+
+public void setUnparsedEntity(java.lang.String name,
+                              java.lang.String uri)
+                       throws org.xml.sax.SAXException
+
+
Copy set unparsed entity events.
+
Specified by:
setUnparsedEntity in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+setWriter

+
+public void setWriter(java.io.Writer writer)
+               throws org.xml.sax.SAXException
+
+
Copy set writer events.
+
Specified by:
setWriter in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+startDocument

+
+public void startDocument()
+                   throws org.xml.sax.SAXException
+
+
Copy start document events.
+
Specified by:
startDocument in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+startElement

+
+public void startElement(int nameCode,
+                         org.xml.sax.Attributes attributes,
+                         int[] namespaces,
+                         int nscount)
+                  throws org.xml.sax.SAXException
+
+
Copy start element events.
+
Specified by:
startElement in interface com.icl.saxon.output.Emitter
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/LineCountEmitter.html b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/LineCountEmitter.html new file mode 100644 index 0000000..8bf683b --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/LineCountEmitter.html @@ -0,0 +1,555 @@ + + + + + + +: Class LineCountEmitter + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +com.nwalsh.saxon6 +
+Class LineCountEmitter

+
+java.lang.Object
+  |
+  +--com.nwalsh.saxon6.LineCountEmitter
+
+
+
+
public class LineCountEmitter
extends java.lang.Object
implements com.icl.saxon.output.Emitter
+ +

+

Saxon extension to count the lines in a result tree fragment.

+ +

$Id$

+ +

Copyright (C) 2000 Norman Walsh.

+ +

This class provides a + Saxon 6.* + implementation to count the number of lines in a result tree + fragment.

+ +

The general design is this: the stylesheets construct a result tree + fragment for some verbatim environment. That result tree fragment + is "replayed" through the LineCountEmitter; the LineCountEmitter watches + characters go by and counts the number of line feeds that it sees. + That number is then returned.

+ +

Change Log:

+
+
1.0
+

Initial release.

+
+

+

+
See Also:
Verbatim
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
LineCountEmitter() + +
+          Construct a new LineCountEmitter.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidcharacters(char[] chars, + int start, + int len) + +
+          Process characters.
+ voidcomment(char[] chars, + int start, + int length) + +
+          Discarded.
+ voidendDocument() + +
+          Discarded.
+ voidendElement(int nameCode) + +
+          Discarded.
+ intlineCount() + +
+          Return the number of lines.
+ voidprocessingInstruction(java.lang.String name, + java.lang.String data) + +
+          Discarded.
+ voidreset() + +
+          Reset the number of lines.
+ voidsetCharacterSet(com.icl.saxon.output.CharacterSet charset) + +
+          Discarded.
+ voidsetDocumentLocator(org.xml.sax.Locator locator) + +
+          Discarded.
+ voidsetEscaping(boolean escaping) + +
+          Discarded.
+ voidsetNamePool(com.icl.saxon.om.NamePool namePool) + +
+          Discarded.
+ voidsetOutputDetails(com.icl.saxon.output.OutputDetails details) + +
+          Discarded.
+ voidsetUnparsedEntity(java.lang.String name, + java.lang.String uri) + +
+          Discarded.
+ voidsetWriter(java.io.Writer writer) + +
+          Discarded.
+ voidstartDocument() + +
+          Discarded.
+ voidstartElement(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount) + +
+          Discarded.
+ + + + + + + +
Methods inherited from class java.lang.Object
equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+LineCountEmitter

+
+public LineCountEmitter()
+
+
Construct a new LineCountEmitter.
+ + + + + + + + +
+Method Detail
+ +

+reset

+
+public void reset()
+
+
Reset the number of lines.
+
+
+
+
+ +

+lineCount

+
+public int lineCount()
+
+
Return the number of lines.
+
+
+
+
+ +

+characters

+
+public void characters(char[] chars,
+                       int start,
+                       int len)
+                throws org.xml.sax.SAXException
+
+
Process characters.
+
Specified by:
characters in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+comment

+
+public void comment(char[] chars,
+                    int start,
+                    int length)
+             throws org.xml.sax.SAXException
+
+
Discarded.
+
Specified by:
comment in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+endDocument

+
+public void endDocument()
+                 throws org.xml.sax.SAXException
+
+
Discarded.
+
Specified by:
endDocument in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+endElement

+
+public void endElement(int nameCode)
+                throws org.xml.sax.SAXException
+
+
Discarded.
+
Specified by:
endElement in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+processingInstruction

+
+public void processingInstruction(java.lang.String name,
+                                  java.lang.String data)
+                           throws org.xml.sax.SAXException
+
+
Discarded.
+
Specified by:
processingInstruction in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+setCharacterSet

+
+public void setCharacterSet(com.icl.saxon.output.CharacterSet charset)
+                     throws org.xml.sax.SAXException
+
+
Discarded.
+
Specified by:
setCharacterSet in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+setDocumentLocator

+
+public void setDocumentLocator(org.xml.sax.Locator locator)
+
+
Discarded.
+
Specified by:
setDocumentLocator in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+setEscaping

+
+public void setEscaping(boolean escaping)
+                 throws org.xml.sax.SAXException
+
+
Discarded.
+
Specified by:
setEscaping in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+setNamePool

+
+public void setNamePool(com.icl.saxon.om.NamePool namePool)
+
+
Discarded.
+
Specified by:
setNamePool in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+setOutputDetails

+
+public void setOutputDetails(com.icl.saxon.output.OutputDetails details)
+                      throws org.xml.sax.SAXException
+
+
Discarded.
+
Specified by:
setOutputDetails in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+setUnparsedEntity

+
+public void setUnparsedEntity(java.lang.String name,
+                              java.lang.String uri)
+                       throws org.xml.sax.SAXException
+
+
Discarded.
+
Specified by:
setUnparsedEntity in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+setWriter

+
+public void setWriter(java.io.Writer writer)
+               throws org.xml.sax.SAXException
+
+
Discarded.
+
Specified by:
setWriter in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+startDocument

+
+public void startDocument()
+                   throws org.xml.sax.SAXException
+
+
Discarded.
+
Specified by:
startDocument in interface com.icl.saxon.output.Emitter
+
+
+
+ +

+startElement

+
+public void startElement(int nameCode,
+                         org.xml.sax.Attributes attributes,
+                         int[] namespaces,
+                         int nscount)
+                  throws org.xml.sax.SAXException
+
+
Discarded.
+
Specified by:
startElement in interface com.icl.saxon.output.Emitter
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/NumberLinesEmitter.html b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/NumberLinesEmitter.html new file mode 100644 index 0000000..13038d4 --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/NumberLinesEmitter.html @@ -0,0 +1,328 @@ + + + + + + +: Class NumberLinesEmitter + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +com.nwalsh.saxon6 +
+Class NumberLinesEmitter

+
+java.lang.Object
+  |
+  +--com.nwalsh.saxon6.CopyEmitter
+        |
+        +--com.nwalsh.saxon6.NumberLinesEmitter
+
+
+
+
public class NumberLinesEmitter
extends CopyEmitter
+ +

+

Saxon extension to decorate a result tree fragment with line numbers.

+ +

$Id$

+ +

Copyright (C) 2000 Norman Walsh.

+ +

This class provides the guts of a + Saxon 6.* + implementation of line numbering for verbatim environments. (It is used + by the Verbatim class.)

+ +

The general design is this: the stylesheets construct a result tree + fragment for some verbatim environment. The Verbatim class initializes + a NumberLinesEmitter with information about what lines should be + numbered and how. Then the result tree fragment + is "replayed" through the NumberLinesEmitter; the NumberLinesEmitter + builds a + new result tree fragment from this event stream, decorated with line + numbers, + and that is returned.

+ +

Change Log:

+
+
1.0
+

Initial release.

+
+

+

+
See Also:
Verbatim
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
NumberLinesEmitter(com.icl.saxon.om.NamePool namePool, + int modulus, + int width, + java.lang.String separator, + boolean foStylesheet) + +
+          Constructor for the NumberLinesEmitter.
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidcharacters(char[] chars, + int start, + int len) + +
+          Process characters.
+ voidendElement(int nameCode) + +
+          Process end element events.
+ voidstartElement(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount) + +
+          Process start element events.
+ + + + + + + +
Methods inherited from class com.nwalsh.saxon6.CopyEmitter
comment, +endDocument, +getResultTreeFragment, +processingInstruction, +setCharacterSet, +setDocumentLocator, +setEscaping, +setNamePool, +setOutputDetails, +setUnparsedEntity, +setWriter, +startDocument
+ + + + + + + +
Methods inherited from class java.lang.Object
equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+NumberLinesEmitter

+
+public NumberLinesEmitter(com.icl.saxon.om.NamePool namePool,
+                          int modulus,
+                          int width,
+                          java.lang.String separator,
+                          boolean foStylesheet)
+
+

Constructor for the NumberLinesEmitter.

+
Parameters:
namePool - The name pool to use for constructing elements and attributes.
modulus - The modulus to use for this listing.
width - The width to use for line numbers in this listing.
separator - The separator to use for this listing.
foStylesheet - Is this an FO stylesheet?
+
+
+ + + + + + + + +
+Method Detail
+ +

+characters

+
+public void characters(char[] chars,
+                       int start,
+                       int len)
+                throws org.xml.sax.SAXException
+
+
Process characters.
+
Overrides:
characters in class CopyEmitter
+
+
+
+ +

+endElement

+
+public void endElement(int nameCode)
+                throws org.xml.sax.SAXException
+
+
Process end element events.
+
Overrides:
endElement in class CopyEmitter
+
+
+
+ +

+startElement

+
+public void startElement(int nameCode,
+                         org.xml.sax.Attributes attributes,
+                         int[] namespaces,
+                         int nscount)
+                  throws org.xml.sax.SAXException
+
+
Process start element events.
+
Overrides:
startElement in class CopyEmitter
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/Table.html b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/Table.html new file mode 100644 index 0000000..d84ae43 --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/Table.html @@ -0,0 +1,255 @@ + + + + + + +: Class Table + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +com.nwalsh.saxon6 +
+Class Table

+
+java.lang.Object
+  |
+  +--com.nwalsh.saxon6.Table
+
+
+
+
public class Table
extends java.lang.Object
+ +

+

Saxon extensions supporting Tables

+ +

$Id$

+ +

Copyright (C) 2000 Norman Walsh.

+ +

This class provides a + Saxon + implementation of some code to adjust CALS Tables to HTML + Tables.

+ +

Column Widths

+

The columnWidth method takes a result tree + fragment (assumed to contain the colgroup of an HTML Table) + and returns the result tree fragment with the column widths + adjusted to HTML terms.

+ +

Change Log:

+
+
1.0
+

Initial release.

+
+

+


+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
Table() + +
+          Constructor for Verbatim
+  + + + + + + + + + + + + + + + +
+Method Summary
+static com.icl.saxon.expr.FragmentValueadjustColumnWidths(com.icl.saxon.Context context, + com.icl.saxon.expr.FragmentValue rtf) + +
+           
+static intconvertLength(java.lang.String length) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+Table

+
+public Table()
+
+

Constructor for Verbatim

+ +

All of the methods are static, so the constructor does nothing.

+ + + + + + + + +
+Method Detail
+ +

+convertLength

+
+public static int convertLength(java.lang.String length)
+
+
+
+ +

+adjustColumnWidths

+
+public static com.icl.saxon.expr.FragmentValue adjustColumnWidths(com.icl.saxon.Context context,
+                                                                  com.icl.saxon.expr.FragmentValue rtf)
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/Text.html b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/Text.html new file mode 100644 index 0000000..5966f93 --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/Text.html @@ -0,0 +1,506 @@ + + + + + + +: Class Text + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +com.nwalsh.saxon6 +
+Class Text

+
+java.lang.Object
+  |
+  +--com.icl.saxon.tree.NodeImpl
+        |
+        +--com.icl.saxon.tree.ParentNodeImpl
+              |
+              +--com.icl.saxon.tree.ElementImpl
+                    |
+                    +--com.icl.saxon.tree.ElementWithAttributes
+                          |
+                          +--com.icl.saxon.style.StyleElement
+                                |
+                                +--com.nwalsh.saxon6.Text
+
+
+
+
public class Text
extends com.icl.saxon.style.StyleElement
+ +

+

Saxon extension element for inserting text + +

$Id$

+ +

Copyright (C) 2000 Norman Walsh.

+ +

This class provides a + Saxon + extension element for inserting text into a result tree.

+ +

Change Log:

+
+
1.0
+

Initial release.

+
+

+


+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
Text() + +
+          Constructor for Text
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ booleanisInstruction() + +
+          Is this element an instruction?
+ booleanmayContainTemplateBody() + +
+          Can this element contain a template-body?
+ voidprepareAttributes() + +
+          Validate the arguments
+ voidprocess(com.icl.saxon.Context context) + +
+          Insert the text of the file into the result tree
+ voidvalidate() + +
+          Validate that the element occurs in a reasonable place.
+ + + + + + + +
Methods inherited from class com.icl.saxon.style.StyleElement
bindVariable, +checkEmpty, +checkNotTopLevel, +checkTopLevel, +checkWithinTemplate, +expandChildren, +forwardsCompatibleModeIsEnabled, +getColumnNumber, +getContainingStyleSheet, +getPrecedence, +getPreparedStyleSheet, +getStandardNames, +getStyleSheetFunction, +getVariableBinding, +getVariableNames, +getVersion, +isExcludedNamespace, +isExtensionNamespace, +isTopLevel, +makeAttributeValueTemplate, +makeExpression, +makePattern, +preprocess, +processAllAttributes, +processAttributes, +processChildren, +reportAbsence, +substituteFor, +validateSubtree
+ + + + + + + +
Methods inherited from class com.icl.saxon.tree.ElementWithAttributes
addNamespaceNodes, +copy, +getAttribute, +getAttributeList, +getAttributeNode, +getAttributeNodeNS, +getAttributeNS, +getAttributes, +getAttributeValue, +getAttributeValue, +getAttributeValue, +getLength, +getNamedItem, +getNamedItemNS, +getPrefixForURI, +getURICodeForPrefix, +hasAttribute, +hasAttributeNS, +hasAttributes, +initialise, +item, +makeAttributeNode, +makeAttributeNodeFS, +outputNamespaceNodes, +removeAttribute, +removeAttributeNode, +removeAttributeNS, +removeNamedItem, +removeNamedItemNS, +setAttribute, +setAttributeNode, +setAttributeNodeNS, +setAttributeNS, +setNamedItem, +setNamedItemNS, +setNamespaceDeclarations
+ + + + + + + +
Methods inherited from class com.icl.saxon.tree.ElementImpl
copy, +getAttributeValue, +getDocumentRoot, +getElementsByTagName, +getElementsByTagNameNS, +getLineNumber, +getNameCode, +getNodeType, +getNodeValue, +getPath, +getSystemId, +getTagName, +makeNameCode, +setLineNumber, +setNameCode
+ + + + + + + +
Methods inherited from class com.icl.saxon.tree.ParentNodeImpl
addChild, +compact, +copyStringValue, +defaultAction, +dropChildren, +enumerateChildren, +getAllChildNodes, +getFirstChild, +getLastChild, +getNumberOfChildren, +getSequenceNumber, +getValue, +removeChild, +renumberChildren, +useChildrenArray
+ + + + + + + +
Methods inherited from class com.icl.saxon.tree.NodeImpl
appendChild, +cloneNode, +getChildNodes, +getDisplayName, +getDocumentElement, +getFingerprint, +getIndex, +getLocalName, +getNamePool, +getNamespaceURI, +getNextInDocument, +getNextSibling, +getNodeName, +getOwnerDocument, +getParentNode, +getPrefix, +getPreviousInDocument, +getPreviousSibling, +getPublicId, +getSequentialKey, +getURI, +getURICode, +hasChildNodes, +insertBefore, +isa, +isDocumentElement, +isSameNode, +isSupported, +normalize, +removeChild, +removeNode, +replaceChild, +setNodeValue, +setPrefix, +toString
+ + + + + + + +
Methods inherited from class java.lang.Object
equals, +getClass, +hashCode, +notify, +notifyAll, +wait, +wait, +wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+Text

+
+public Text()
+
+

Constructor for Text

+ +

Does nothing.

+ + + + + + + + +
+Method Detail
+ +

+isInstruction

+
+public boolean isInstruction()
+
+

Is this element an instruction?

+ +

Yes, it is.

+
Overrides:
isInstruction in class com.icl.saxon.style.StyleElement
+
+
+
Returns:
true
+
+
+
+ +

+mayContainTemplateBody

+
+public boolean mayContainTemplateBody()
+
+

Can this element contain a template-body?

+ +

Yes, it can, but only so that it can contain xsl:fallback.

+
Overrides:
mayContainTemplateBody in class com.icl.saxon.style.StyleElement
+
+
+
Returns:
true
+
+
+
+ +

+prepareAttributes

+
+public void prepareAttributes()
+                       throws org.xml.sax.SAXException
+
+

Validate the arguments

+ +

The element must have an href attribute.

+
Overrides:
prepareAttributes in class com.icl.saxon.style.StyleElement
+
+
+
+ +

+validate

+
+public void validate()
+              throws org.xml.sax.SAXException
+
+
Validate that the element occurs in a reasonable place.
+
Overrides:
validate in class com.icl.saxon.style.StyleElement
+
+
+
+ +

+process

+
+public void process(com.icl.saxon.Context context)
+             throws org.xml.sax.SAXException
+
+

Insert the text of the file into the result tree

+ +

Processing this element inserts the contents of the URL named + by the href attribute into the result tree as plain text.

+
Overrides:
process in class com.icl.saxon.style.StyleElement
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/TextFactory.html b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/TextFactory.html new file mode 100644 index 0000000..8760fbc --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/TextFactory.html @@ -0,0 +1,240 @@ + + + + + + +: Class TextFactory + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +com.nwalsh.saxon6 +
+Class TextFactory

+
+java.lang.Object
+  |
+  +--com.nwalsh.saxon6.TextFactory
+
+
+
+
public class TextFactory
extends java.lang.Object
implements com.icl.saxon.style.ExtensionElementFactory
+ +

+

Saxon extension element factory + +

$Id$

+ +

Copyright (C) 2000 Norman Walsh.

+ +

This class provides a + Saxon + extension element factory for the Text extension element + family.

+ +

Change Log:

+
+
1.0
+

Initial release.

+
+

+

+
See Also:
Text
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
TextFactory() + +
+          Constructor for TextFactory
+  + + + + + + + + + + + +
+Method Summary
+ java.lang.ClassgetExtensionClass(java.lang.String localname) + +
+          Return the class that implements a particular extension element.
+ + + + + + + +
Methods inherited from class java.lang.Object
equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+TextFactory

+
+public TextFactory()
+
+

Constructor for TextFactory

+ +

Does nothing.

+ + + + + + + + +
+Method Detail
+ +

+getExtensionClass

+
+public java.lang.Class getExtensionClass(java.lang.String localname)
+                                  throws org.xml.sax.SAXException
+
+

Return the class that implements a particular extension element.

+
Specified by:
getExtensionClass in interface com.icl.saxon.style.ExtensionElementFactory
+
+
+
Parameters:
localname - The local name of the extension element.
Returns:
The class that handles that extension element.
Throws:
SAXException("Unknown - Text extension element")
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/Verbatim.html b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/Verbatim.html new file mode 100644 index 0000000..53f469e --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/Verbatim.html @@ -0,0 +1,347 @@ + + + + + + +: Class Verbatim + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +com.nwalsh.saxon6 +
+Class Verbatim

+
+java.lang.Object
+  |
+  +--com.nwalsh.saxon6.Verbatim
+
+
+
+
public class Verbatim
extends java.lang.Object
+ +

+

Saxon extensions supporting DocBook verbatim environments

+ +

$Id$

+ +

Copyright (C) 2000 Norman Walsh.

+ +

This class provides a + Saxon + implementation of two features that would be impractical to + implement directly in XSLT: line numbering and callouts.

+ +

Line Numbering

+

The numberLines method takes a result tree + fragment (assumed to contain the contents of a formatted verbatim + element in DocBook: programlisting, screen, address, literallayout, + or synopsis) and returns a result tree fragment decorated with + line numbers.

+ +

Callouts

+

The insertCallouts method takes an + areaspec and a result tree fragment + (assumed to contain the contents of a formatted verbatim + element in DocBook: programlisting, screen, address, literallayout, + or synopsis) and returns a result tree fragment decorated with + callouts.

+ +

Change Log:

+
+
1.0
+

Initial release.

+
+

+


+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
Verbatim() + +
+          Constructor for Verbatim
+  + + + + + + + + + + + + + + + +
+Method Summary
+static com.icl.saxon.expr.FragmentValueinsertCallouts(com.icl.saxon.Context context, + com.icl.saxon.expr.NodeSetIntent areaspecNodeSet, + com.icl.saxon.expr.FragmentValue rtf) + +
+          Insert text callouts into a verbatim environment.
+static com.icl.saxon.expr.FragmentValuenumberLines(com.icl.saxon.Context context, + com.icl.saxon.expr.FragmentValue rtf) + +
+          Number lines in a verbatim environment
+ + + + + + + +
Methods inherited from class java.lang.Object
equals, +getClass, +hashCode, +notify, +notifyAll, +toString, +wait, +wait, +wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+Verbatim

+
+public Verbatim()
+
+

Constructor for Verbatim

+ +

All of the methods are static, so the constructor does nothing.

+ + + + + + + + +
+Method Detail
+ +

+numberLines

+
+public static com.icl.saxon.expr.FragmentValue numberLines(com.icl.saxon.Context context,
+                                                           com.icl.saxon.expr.FragmentValue rtf)
+
+

Number lines in a verbatim environment

+ +

The extension function expects the following variables to be + available in the calling context: $linenumbering.everyNth, + $linenumbering.width, $linenumbering.separator, and + $stylesheet.result.type.

+ +

This method adds line numbers to a result tree fragment. Each + newline that occurs in a text node is assumed to start a new line. + The first line is always numbered, every subsequent 'everyNth' line + is numbered (so if everyNth=5, lines 1, 5, 10, 15, etc. will be + numbered. If there are fewer than everyNth lines in the environment, + every line is numbered.

+ +

Every line number will be right justified in a string 'width' + characters long. If the line number of the last line in the + environment is too long to fit in the specified width, the width + is automatically increased to the smallest value that can hold the + number of the last line. (In other words, if you specify the value 2 + and attempt to enumerate the lines of an environment that is 100 lines + long, the value 3 will automatically be used for every line in the + environment.)

+ +

The 'separator' string is inserted between the line + number and the original program listing. Lines that aren't numbered + are preceded by a 'width' blank string and the separator.

+ +

If inline markup extends across line breaks, markup changes are + required. All the open elements are closed before the line break and + "reopened" afterwards. The reopened elements will have the same + attributes as the originals, except that 'name' and 'id' attributes + are not duplicated if the stylesheet.result.type is "html" and + 'id' attributes will not be duplicated if the result type is "fo".

+
Parameters:
rtf - The result tree fragment of the verbatim environment.
Returns:
The modified result tree fragment.
+
+
+
+ +

+insertCallouts

+
+public static com.icl.saxon.expr.FragmentValue insertCallouts(com.icl.saxon.Context context,
+                                                              com.icl.saxon.expr.NodeSetIntent areaspecNodeSet,
+                                                              com.icl.saxon.expr.FragmentValue rtf)
+
+

Insert text callouts into a verbatim environment.

+ +

This method examines the areaset and area elements + in the supplied areaspec and decorates the supplied + result tree fragment with appropriate callout markers.

+ +

If a label attribute is supplied on an area, + its content will be used for the label, otherwise the callout + number will be used, surrounded by parenthesis. Callout numbers may + also be represented as graphics. Callouts are + numbered in document order. All of the areas in an + areaset get the same number.

+ +

Only the linecolumn and linerange units are + supported. If no unit is specifed, linecolumn is assumed. + If only a line is specified, the callout decoration appears in + the defaultColumn. Lines will be padded with blanks to reach the + necessary column, but callouts that are located beyond the last + line of the verbatim environment will be ignored.

+ +

Callouts are inserted before the character at the line/column + where they are to occur.

+ +

If graphical callouts are used, and the callout number is less + than or equal to the $callout.graphics.number.limit, the following image + will be generated for HTML: + +

+ <img src="$callout.graphics.path/999$callout.graphics.ext"
+         alt="conumber">
+ 
+ + If the $stylesheet.result.type is 'fo', the following image will + be generated: + +
+ <fo:external-graphic src="$callout.graphics.path/999$callout.graphics.ext"/>
+ 
+ +

If the callout number exceeds $callout.graphics.number.limit, + the callout will be the callout number surrounded by + parenthesis.

+
Parameters:
context - The stylesheet context.
areaspecNodeSet - The source node set that contains the areaspec.
rtf - The result tree fragment of the verbatim environment.
Returns:
The modified result tree fragment.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/package-frame.html b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/package-frame.html new file mode 100644 index 0000000..83c8b51 --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/package-frame.html @@ -0,0 +1,42 @@ + + + + + + +: Package com.nwalsh.saxon6 + + + + + +com.nwalsh.saxon6 + + + + +
+Classes  + +
+CalloutEmitter +
+CopyEmitter +
+CVS +
+LineCountEmitter +
+NumberLinesEmitter +
+Table +
+Text +
+TextFactory +
+Verbatim
+ + + + diff --git a/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/package-summary.html b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/package-summary.html new file mode 100644 index 0000000..3623f7c --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/package-summary.html @@ -0,0 +1,190 @@ + + + + + + +: Package com.nwalsh.saxon6 + + + + + + + + + + + + + + + + + +
+ +
+ + +
+

+Package com.nwalsh.saxon6 +

+Norman Walsh's Saxon Extensions Package for Saxon 6.* +

+See: +
+          Description +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class Summary
CalloutEmitterSaxon extension to decorate a result tree fragment with callouts.
CopyEmitterA Saxon 6.0 Emitter that clones its input.
CVSSaxon extension to convert CVS date strings into local time
LineCountEmitterSaxon extension to count the lines in a result tree fragment.
NumberLinesEmitterSaxon extension to decorate a result tree fragment with line numbers.
TableSaxon extensions supporting Tables
TextSaxon extension element for inserting text + +
TextFactorySaxon extension element factory + +
VerbatimSaxon extensions supporting DocBook verbatim environments
+  + +

+

+Package com.nwalsh.saxon6 Description +

+ +

+

Norman Walsh's Saxon Extensions Package for Saxon 6.*

+ +

This package implements Saxon extensions for XSLT.

+ +

Copyright (C) 2000 Norman Walsh

+

Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and 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.

+ +

Except as contained in this notice, the names of individuals +credited with contribution to this software shall not be used in +advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from the +individuals in question.

+ +

Anything derived from this Software that is publically +distributed will be identified with a different name and the +version strings in any derived Software will be changed so that no +possibility of confusion between the derived package and this +Software will exist.

+ + +
+

Warranty

+

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL NORMAN WALSH OR ANY OTHER +CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE.

+
+

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/package-tree.html b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/package-tree.html new file mode 100644 index 0000000..5d5a27c --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon6/com/nwalsh/saxon6/package-tree.html @@ -0,0 +1,116 @@ + + + + + + +: com.nwalsh.saxon6 Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For Package com.nwalsh.saxon6 +

+
+

+Class Hierarchy +

+
    +
  • class java.lang.Object
      +
    • class com.nwalsh.saxon6.CopyEmitter (implements com.icl.saxon.output.Emitter) + +
    • class com.nwalsh.saxon6.CVS
    • class com.nwalsh.saxon6.LineCountEmitter (implements com.icl.saxon.output.Emitter) +
    • class com.icl.saxon.tree.NodeImpl (implements com.icl.saxon.om.NodeInfo) +
        +
      • class com.icl.saxon.tree.ParentNodeImpl
          +
        • class com.icl.saxon.tree.ElementImpl (implements org.w3c.dom.Element, com.icl.saxon.om.ElementInfo, org.w3c.dom.NamedNodeMap) +
            +
          • class com.icl.saxon.tree.ElementWithAttributes (implements org.w3c.dom.Element, com.icl.saxon.om.ElementInfo, org.w3c.dom.NamedNodeMap) +
              +
            • class com.icl.saxon.style.StyleElement (implements org.xml.sax.Locator) +
                +
              • class com.nwalsh.saxon6.Text
              +
            +
          +
        +
      +
    • class com.nwalsh.saxon6.Table
    • class com.nwalsh.saxon6.TextFactory (implements com.icl.saxon.style.ExtensionElementFactory) +
    • class com.nwalsh.saxon6.Verbatim
    +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon6/deprecated-list.html b/rosdocs/xsl/extensions/doc/saxon6/deprecated-list.html new file mode 100644 index 0000000..c3aa6bf --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon6/deprecated-list.html @@ -0,0 +1,89 @@ + + + + + + +: Deprecated List + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Deprecated API

+
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon6/help-doc.html b/rosdocs/xsl/extensions/doc/saxon6/help-doc.html new file mode 100644 index 0000000..f7a00fc --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon6/help-doc.html @@ -0,0 +1,138 @@ + + + + + + +: API Help + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+How This API Document Is Organized

+
+This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.

+Package

+
+ +

+Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:

    +
  • Interfaces (italic)
  • Classes
  • Exceptions
  • Errors
+
+

+Class/Interface

+
+ +

+Each class, interface, inner class and inner interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

    +
  • Class inheritance diagram
  • Direct Subclasses
  • All Known Subinterfaces
  • All Known Implementing Classes
  • Class/interface declaration
  • Class/interface description +

    +

  • Inner Class Summary
  • Field Summary
  • Constructor Summary
  • Method Summary +

    +

  • Field Detail
  • Constructor Detail
  • Method Detail
+Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
+

+Tree (Class Hierarchy)

+
+There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.
    +
  • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
  • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
+
+

+Deprecated API

+
+The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
+

+Index

+
+The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
+

+Prev/Next

+These links take you to the next or previous class, interface, package, or related page.

+Frames/No Frames

+These links show and hide the HTML frames. All pages are available with or without frames. +

+

+Serialized Form

+Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description. +

+ + +This help file applies to API documentation generated using the standard doclet. + +
+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon6/index-all.html b/rosdocs/xsl/extensions/doc/saxon6/index-all.html new file mode 100644 index 0000000..5ccb84e --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon6/index-all.html @@ -0,0 +1,329 @@ + + + + + + +: Index + + + + + + + + + + + + + + + + + +
+ +
+ + +A C E G I L M N P R S T V
+

+A

+
+
adjustColumnWidths(Context, FragmentValue) - +Static method in class com.nwalsh.saxon6.Table +
  +
+
+

+C

+
+
CalloutEmitter - class com.nwalsh.saxon6.CalloutEmitter.
Saxon extension to decorate a result tree fragment with callouts.
CalloutEmitter(NamePool, String, String, int, int, boolean) - +Constructor for class com.nwalsh.saxon6.CalloutEmitter +
Constructor for the CalloutEmitter. +
characters(char[], int, int) - +Method in class com.nwalsh.saxon6.CopyEmitter +
Copy characters. +
characters(char[], int, int) - +Method in class com.nwalsh.saxon6.NumberLinesEmitter +
Process characters. +
characters(char[], int, int) - +Method in class com.nwalsh.saxon6.LineCountEmitter +
Process characters. +
characters(char[], int, int) - +Method in class com.nwalsh.saxon6.CalloutEmitter +
Process characters. +
com.nwalsh.saxon6 - package com.nwalsh.saxon6
Norman Walsh's Saxon Extensions Package for Saxon 6.*
comment(char[], int, int) - +Method in class com.nwalsh.saxon6.CopyEmitter +
Copy comments. +
comment(char[], int, int) - +Method in class com.nwalsh.saxon6.LineCountEmitter +
Discarded. +
convertLength(String) - +Static method in class com.nwalsh.saxon6.Table +
  +
CopyEmitter - class com.nwalsh.saxon6.CopyEmitter.
A Saxon 6.0 Emitter that clones its input.
CopyEmitter(NamePool) - +Constructor for class com.nwalsh.saxon6.CopyEmitter +
Constructor for the CopyEmitter. +
CVS - class com.nwalsh.saxon6.CVS.
Saxon extension to convert CVS date strings into local time
CVS() - +Constructor for class com.nwalsh.saxon6.CVS +
Constructor for CVS +
+
+

+E

+
+
endDocument() - +Method in class com.nwalsh.saxon6.CopyEmitter +
Copy end document events. +
endDocument() - +Method in class com.nwalsh.saxon6.LineCountEmitter +
Discarded. +
endElement(int) - +Method in class com.nwalsh.saxon6.CopyEmitter +
Copy end element events. +
endElement(int) - +Method in class com.nwalsh.saxon6.NumberLinesEmitter +
Process end element events. +
endElement(int) - +Method in class com.nwalsh.saxon6.LineCountEmitter +
Discarded. +
endElement(int) - +Method in class com.nwalsh.saxon6.CalloutEmitter +
Process end element events. +
+
+

+G

+
+
getExtensionClass(String) - +Method in class com.nwalsh.saxon6.TextFactory +
Return the class that implements a particular extension element. +
getResultTreeFragment() - +Method in class com.nwalsh.saxon6.CopyEmitter +
Return the result tree fragment constructed by replaying events + through this emitter. +
+
+

+I

+
+
insertCallouts(Context, NodeSetIntent, FragmentValue) - +Static method in class com.nwalsh.saxon6.Verbatim +
Insert text callouts into a verbatim environment. +
isInstruction() - +Method in class com.nwalsh.saxon6.Text +
Is this element an instruction? +
+
+

+L

+
+
lineCount() - +Method in class com.nwalsh.saxon6.LineCountEmitter +
Return the number of lines. +
LineCountEmitter - class com.nwalsh.saxon6.LineCountEmitter.
Saxon extension to count the lines in a result tree fragment.
LineCountEmitter() - +Constructor for class com.nwalsh.saxon6.LineCountEmitter +
Construct a new LineCountEmitter. +
localTime(String) - +Static method in class com.nwalsh.saxon6.CVS +
Convert a CVS date string into local time. +
+
+

+M

+
+
mayContainTemplateBody() - +Method in class com.nwalsh.saxon6.Text +
Can this element contain a template-body? +
+
+

+N

+
+
numberLines(Context, FragmentValue) - +Static method in class com.nwalsh.saxon6.Verbatim +
Number lines in a verbatim environment +
NumberLinesEmitter - class com.nwalsh.saxon6.NumberLinesEmitter.
Saxon extension to decorate a result tree fragment with line numbers.
NumberLinesEmitter(NamePool, int, int, String, boolean) - +Constructor for class com.nwalsh.saxon6.NumberLinesEmitter +
Constructor for the NumberLinesEmitter. +
+
+

+P

+
+
prepareAttributes() - +Method in class com.nwalsh.saxon6.Text +
Validate the arguments +
process(Context) - +Method in class com.nwalsh.saxon6.Text +
Insert the text of the file into the result tree +
processingInstruction(String, String) - +Method in class com.nwalsh.saxon6.CopyEmitter +
Copy processing instructions. +
processingInstruction(String, String) - +Method in class com.nwalsh.saxon6.LineCountEmitter +
Discarded. +
+
+

+R

+
+
reset() - +Method in class com.nwalsh.saxon6.LineCountEmitter +
Reset the number of lines. +
+
+

+S

+
+
setCharacterSet(CharacterSet) - +Method in class com.nwalsh.saxon6.CopyEmitter +
Copy set character set events. +
setCharacterSet(CharacterSet) - +Method in class com.nwalsh.saxon6.LineCountEmitter +
Discarded. +
setDocumentLocator(Locator) - +Method in class com.nwalsh.saxon6.CopyEmitter +
Copy set document locator events. +
setDocumentLocator(Locator) - +Method in class com.nwalsh.saxon6.LineCountEmitter +
Discarded. +
setEscaping(boolean) - +Method in class com.nwalsh.saxon6.CopyEmitter +
Copy set escaping events. +
setEscaping(boolean) - +Method in class com.nwalsh.saxon6.LineCountEmitter +
Discarded. +
setNamePool(NamePool) - +Method in class com.nwalsh.saxon6.CopyEmitter +
Copy set name pool events. +
setNamePool(NamePool) - +Method in class com.nwalsh.saxon6.LineCountEmitter +
Discarded. +
setOutputDetails(OutputDetails) - +Method in class com.nwalsh.saxon6.CopyEmitter +
Copy set output details events. +
setOutputDetails(OutputDetails) - +Method in class com.nwalsh.saxon6.LineCountEmitter +
Discarded. +
setUnparsedEntity(String, String) - +Method in class com.nwalsh.saxon6.CopyEmitter +
Copy set unparsed entity events. +
setUnparsedEntity(String, String) - +Method in class com.nwalsh.saxon6.LineCountEmitter +
Discarded. +
setupCallouts(NodeSetIntent) - +Method in class com.nwalsh.saxon6.CalloutEmitter +
Examine the areaspec and determine the number and position of + callouts. +
setWriter(Writer) - +Method in class com.nwalsh.saxon6.CopyEmitter +
Copy set writer events. +
setWriter(Writer) - +Method in class com.nwalsh.saxon6.LineCountEmitter +
Discarded. +
startDocument() - +Method in class com.nwalsh.saxon6.CopyEmitter +
Copy start document events. +
startDocument() - +Method in class com.nwalsh.saxon6.LineCountEmitter +
Discarded. +
startElement(int, Attributes, int[], int) - +Method in class com.nwalsh.saxon6.CopyEmitter +
Copy start element events. +
startElement(int, Attributes, int[], int) - +Method in class com.nwalsh.saxon6.NumberLinesEmitter +
Process start element events. +
startElement(int, Attributes, int[], int) - +Method in class com.nwalsh.saxon6.LineCountEmitter +
Discarded. +
startElement(int, Attributes, int[], int) - +Method in class com.nwalsh.saxon6.CalloutEmitter +
Process start element events. +
+
+

+T

+
+
Table - class com.nwalsh.saxon6.Table.
Saxon extensions supporting Tables
Table() - +Constructor for class com.nwalsh.saxon6.Table +
Constructor for Verbatim +
Text - class com.nwalsh.saxon6.Text.
Saxon extension element for inserting text + +
Text() - +Constructor for class com.nwalsh.saxon6.Text +
Constructor for Text +
TextFactory - class com.nwalsh.saxon6.TextFactory.
Saxon extension element factory + +
TextFactory() - +Constructor for class com.nwalsh.saxon6.TextFactory +
Constructor for TextFactory +
+
+

+V

+
+
validate() - +Method in class com.nwalsh.saxon6.Text +
Validate that the element occurs in a reasonable place. +
Verbatim - class com.nwalsh.saxon6.Verbatim.
Saxon extensions supporting DocBook verbatim environments
Verbatim() - +Constructor for class com.nwalsh.saxon6.Verbatim +
Constructor for Verbatim +
+
+A C E G I L M N P R S T V + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon6/index.html b/rosdocs/xsl/extensions/doc/saxon6/index.html new file mode 100644 index 0000000..b2e8944 --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon6/index.html @@ -0,0 +1,22 @@ + + + + + + +Generated Documentation (Untitled) + + + + + + + +<H2> +Frame Alert</H2> + +<P> +This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. +<BR> +Link to <A HREF="com/nwalsh/saxon6/package-summary.html">Non-frame version.</A> + diff --git a/rosdocs/xsl/extensions/doc/saxon6/overview-tree.html b/rosdocs/xsl/extensions/doc/saxon6/overview-tree.html new file mode 100644 index 0000000..f193566 --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon6/overview-tree.html @@ -0,0 +1,118 @@ + + + + + + +: Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For All Packages

+
+
+
Package Hierarchies:
com.nwalsh.saxon6
+
+

+Class Hierarchy +

+
    +
  • class java.lang.Object
      +
    • class com.nwalsh.saxon6.CopyEmitter (implements com.icl.saxon.output.Emitter) + +
    • class com.nwalsh.saxon6.CVS
    • class com.nwalsh.saxon6.LineCountEmitter (implements com.icl.saxon.output.Emitter) +
    • class com.icl.saxon.tree.NodeImpl (implements com.icl.saxon.om.NodeInfo) +
        +
      • class com.icl.saxon.tree.ParentNodeImpl
          +
        • class com.icl.saxon.tree.ElementImpl (implements org.w3c.dom.Element, com.icl.saxon.om.ElementInfo, org.w3c.dom.NamedNodeMap) +
            +
          • class com.icl.saxon.tree.ElementWithAttributes (implements org.w3c.dom.Element, com.icl.saxon.om.ElementInfo, org.w3c.dom.NamedNodeMap) +
              +
            • class com.icl.saxon.style.StyleElement (implements org.xml.sax.Locator) +
                +
              • class com.nwalsh.saxon6.Text
              +
            +
          +
        +
      +
    • class com.nwalsh.saxon6.Table
    • class com.nwalsh.saxon6.TextFactory (implements com.icl.saxon.style.ExtensionElementFactory) +
    • class com.nwalsh.saxon6.Verbatim
    +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon6/package-list b/rosdocs/xsl/extensions/doc/saxon6/package-list new file mode 100644 index 0000000..888d0bb --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon6/package-list @@ -0,0 +1 @@ +com.nwalsh.saxon6 diff --git a/rosdocs/xsl/extensions/doc/saxon6/packages.html b/rosdocs/xsl/extensions/doc/saxon6/packages.html new file mode 100644 index 0000000..5b501d9 --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon6/packages.html @@ -0,0 +1,26 @@ + + + + + + + + + + + + +
+ +
+ +
+
+The front page has been relocated.Please see: +
+          Frame version +
+          Non-frame version.
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon6/serialized-form.html b/rosdocs/xsl/extensions/doc/saxon6/serialized-form.html new file mode 100644 index 0000000..5968841 --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon6/serialized-form.html @@ -0,0 +1,89 @@ + + + + + + +Serialized Form + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Serialized Form

+
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/rosdocs/xsl/extensions/doc/saxon6/stylesheet.css b/rosdocs/xsl/extensions/doc/saxon6/stylesheet.css new file mode 100644 index 0000000..95f5764 --- /dev/null +++ b/rosdocs/xsl/extensions/doc/saxon6/stylesheet.css @@ -0,0 +1,29 @@ +/* Javadoc style sheet */ + +/* Define colors, fonts and other style attributes here to override the defaults */ + +/* Page background color */ +body { background-color: #FFFFFF } + +/* Table colors */ +.TableHeadingColor { background: #CCCCFF } /* Dark mauve */ +.TableSubHeadingColor { background: #EEEEFF } /* Light mauve */ +.TableRowColor { background: #FFFFFF } /* White */ + +/* Font used in left-hand frame lists */ +.FrameTitleFont { font-size: normal; font-family: normal } +.FrameHeadingFont { font-size: normal; font-family: normal } +.FrameItemFont { font-size: normal; font-family: normal } + +/* Example of smaller, sans-serif font in frames */ +/* .FrameItemFont { font-size: 10pt; font-family: Helvetica, Arial, sans-serif } */ + +/* Navigation bar fonts and colors */ +.NavBarCell1 { background-color:#EEEEFF;}/* Light mauve */ +.NavBarCell1Rev { background-color:#00008B;}/* Dark Blue */ +.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;} +.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;} + +.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;} +.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;} + diff --git a/rosdocs/xsl/extensions/prj.el b/rosdocs/xsl/extensions/prj.el new file mode 100644 index 0000000..2174d3e --- /dev/null +++ b/rosdocs/xsl/extensions/prj.el @@ -0,0 +1,216 @@ + + + + + + + + +(jde-set-project-name "xalan") +(jde-set-variables + '(jde-gen-session-bean-template (quote ("(jde-import-insert-imports-into-buffer (list \"javax.ejb.*\" +\"java.rmi.RemoteException\"))" "(jde-wiz-update-implements-clause \"SessionBean\")" "'> \"public void ejbActivate() throws RemoteException {\"'>'n \"}\"'>'n +'>'n" "'> \"public void ejbPassivate() throws RemoteException {\"'>'n \"}\"'>'n +'>'n" "'> \"public void ejbRemove() throws RemoteException {\"'>'n \"}\"'>'n '>'n" "'> \"public void setSessionContext(SessionContext ctx) throws +RemoteException {\"" "'>'n \"}\"'>'n '>'n" "'> \"public void unsetSessionContext() throws RemoteException {\"'>'n +\"}\"'>'n '>'n'>"))) + '(jde-gen-beep (quote ("(end-of-line) '&" "\"Toolkit.getDefaultToolkit().beep();\"'>'n'>"))) + '(jde-which-method-format (quote ("[" jde-which-method-current "]"))) + '(jde-run-classic-mode-vm nil) + '(jde-javadoc-gen-nodeprecatedlist nil) + '(jde-which-method-max-length 20) + '(jde-imenu-include-classdef t) + '(jde-javadoc-gen-link-online nil) + '(jde-gen-code-templates (quote (("Get Set Pair" . jde-gen-get-set) ("toString method" . jde-gen-to-string-method) ("Action Listener" . jde-gen-action-listener) ("Window Listener" . jde-gen-window-listener) ("Mouse Listener" . jde-gen-mouse-listener) ("Mouse Motion Listener" . jde-gen-mouse-motion-listener) ("Inner Class" . jde-gen-inner-class) ("println" . jde-gen-println) ("beep" . jde-gen-beep) ("property change support" . jde-gen-property-change-support) ("EJB Entity Bean" . jde-gen-entity-bean) ("EJB Session Bean" . jde-gen-session-bean)))) + '(jde-gen-cflow-else (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"else\")" "'(l '> \"else \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of else\"'>'n'>)" ")"))) + '(jde-make-args "") + '(jde-javadoc-gen-destination-directory "JavaDoc") + '(jde-mode-line-format (quote ("-" mode-line-mule-info mode-line-modified mode-line-frame-identification mode-line-buffer-identification " " global-mode-string " %[(" mode-name mode-line-process minor-mode-alist "%n" ")%]--" (line-number-mode "L%l--") (column-number-mode "C%c--") (-3 . "%p") (jde-which-method-mode ("--" jde-which-method-format "--")) "-%-"))) + '(jde-mode-abbreviations (quote (("ab" . "abstract") ("bo" . "boolean") ("br" . "break") ("by" . "byte") ("byv" . "byvalue") ("cas" . "cast") ("ca" . "catch") ("ch" . "char") ("cl" . "class") ("co" . "const") ("con" . "continue") ("de" . "default") ("dou" . "double") ("el" . "else") ("ex" . "extends") ("fa" . "false") ("fi" . "final") ("fin" . "finally") ("fl" . "float") ("fo" . "for") ("fu" . "future") ("ge" . "generic") ("go" . "goto") ("impl" . "implements") ("impo" . "import") ("ins" . "instanceof") ("in" . "int") ("inte" . "interface") ("lo" . "long") ("na" . "native") ("ne" . "new") ("nu" . "null") ("pa" . "package") ("pri" . "private") ("pro" . "protected") ("pu" . "public") ("re" . "return") ("sh" . "short") ("st" . "static") ("su" . "super") ("sw" . "switch") ("sy" . "synchronized") ("th" . "this") ("thr" . "throw") ("throw" . "throws") ("tra" . "transient") ("tr" . "true") ("vo" . "void") ("vol" . "volatile") ("wh" . "while")))) + '(jde-imenu-enable t) + '(jde-compile-option-verbose nil) + '(jde-db-option-heap-size (quote ((1 . "megabytes") (16 . "megabytes")))) + '(jde-bug-debugger-host-address "localhost" t) + '(jde-make-working-directory "") + '(jde-bug-breakpoint-marker-colors (quote ("red" . "yellow"))) + '(jde-javadoc-gen-use nil) + '(jde-gen-buffer-boilerplate nil) + '(jde-bug-raise-frame-p t) + '(jde-db-option-application-args (quote ("-IN" "/share/xsl/docbook/test/exttest.xml" "-XSL " "/share/xsl/docbook/test/exttest.xsl")) t) + '(jde-javadoc-gen-nonavbar nil) + '(jde-javadoc-gen-nohelp nil) + '(jde-bug-vm-includes-jpda-p nil) + '(jde-gen-jfc-app-buffer-template (quote ("(funcall jde-gen-boilerplate-function) '>'n" "\"import java.awt.Dimension;\" '>'n" "\"import java.awt.Graphics;\" '>'n" "\"import java.awt.Graphics2D;\" '>'n" "\"import java.awt.Color;\" '>'n" "\"import java.awt.geom.Ellipse2D;\" '>'n" "\"import java.awt.event.WindowAdapter;\" '>'n" "\"import java.awt.event.WindowEvent;\" '>'n" "\"import javax.swing.JFrame;\" '>'n" "\"import javax.swing.JPanel;\" '>'n" "\"import javax.swing.JScrollPane;\" '>'n" "\"import javax.swing.JMenuBar;\" '>'n" "\"import javax.swing.JMenu;\" '>'n" "\"import java.awt.event.ActionEvent;\" '>'n" "\"import javax.swing.AbstractAction;\" '>'n '>'n" "\"/**\" '>'n" "\" * \"" "(file-name-nondirectory buffer-file-name) '>'n" "\" *\" '>'n" "\" *\" '>'n" "\" * Created: \" (current-time-string) '>'n" "\" *\" '>'n" "\" * @author \"'>'n" "\" * @version\" '>'n" "\" */\" '>'n" "'>'n" "\"public class \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" extends JFrame\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"class Canvas extends JPanel\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public Canvas () \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"setSize(getPreferredSize());\" '>'n" "\"Canvas.this.setBackground(Color.white);\" '>'n" "\"}\"'>'n '>'n" "\"public Dimension getPreferredSize() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"return new Dimension(600, 600);\" '>'n" "\"}\"'>'n '>'n" "\"public void paintComponent(Graphics g) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"super.paintComponent(g);\" '>'n" "\"Graphics2D g2d = (Graphics2D) g;\" '>'n" "\"Ellipse2D circle = new Ellipse2D.Double(0d, 0d, 100d, 100d);\" '>'n" "\"g2d.setColor(Color.red);\" '>'n" "\"g2d.translate(10, 10);\" '>'n" "\"g2d.draw(circle);\" '>'n" "\"g2d.fill(circle);\" '>'n" "\"}\"'>'n " "\"}\"'>'n '>'n" "\"public \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\"()\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"super(\\\"\" (P \"Enter app title: \") \"\\\");\" '>'n" "\"setSize(300, 300);\" '>'n" "\"addWindowListener(new WindowAdapter() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public void windowClosing(WindowEvent e) {System.exit(0);}\" '>'n" "\"public void windowOpened(WindowEvent e) {}\" '>'n" "\"});\"'>'n" "\"setJMenuBar(createMenu());\" '>'n" "\"getContentPane().add(new JScrollPane(new Canvas()));\" '>'n" "\"}\"'>'n" "'>'n" "\"public static void main(String[] args) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" f = new \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\"();\" '>'n" "\"f.show();\" '>'n" "\"}\"'>'n '>'n" "\"protected JMenuBar createMenu() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"JMenuBar mb = new JMenuBar();\" '>'n" "\"JMenu menu = new JMenu(\\\"File\\\");\" '>'n" "\"menu.add(new AbstractAction(\\\"Exit\\\") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public void actionPerformed(ActionEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"System.exit(0);\" '>'n" "\"}\" '>'n" "\"});\" '>'n" "\"mb.add(menu);\" '>'n" "\"return mb;\" '>'n" "\"}\"'>'n " "\"} // \"'>" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "'>'n"))) + '(jde-bug-key-bindings (quote (("[? ? ?]" . jde-bug-step-over) ("[? ? ?]" . jde-bug-step-into) ("[? ? ?]" . jde-bug-step-into-all) ("[? ? ?]" . jde-bug-step-out) ("[? ? ?]" . jde-bug-continue) ("[? ? ?]" . jde-bug-toggle-breakpoint)))) + '(jde-compile-finish-hook (quote (jde-compile-finish-refresh-speedbar jde-compile-finish-flush-completion-cache))) + '(jde-compile-option-nowarn nil) + '(jde-setnu-mode-threshold 20000) + '(jde-run-java-vm-w "javaw") + '(jde-compile-option-encoding nil) + '(jde-run-option-java-profile (quote (nil . "./java.prof"))) + '(jde-bug-jpda-directory "/usr/local/jdk1.2.2" t) + '(jde-read-compile-args nil) + '(jde-run-java-vm "java") + '(jde-db-option-verbose (quote (nil nil nil))) + '(jde-which-method-class-min-length 4) + '(jde-db-read-app-args nil) + '(jde-javadoc-gen-nodeprecated nil) + '(jde-run-option-heap-profile (quote (nil "./java.hprof" 5 20 "Allocation objects"))) + '(jde-gen-println (quote ("(end-of-line) '&" "\"System.out.println(\" (P \"Print out: \") \");\" '>'n'>"))) + '(jde-enable-abbrev-mode nil) + '(jde-auto-parse-max-buffer-size 50000) + '(jde-gen-cflow-main (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"main\")" "'(l '> \"public static void main (String[] args) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of main ()\"'>'n'>)" ")"))) + '(jde-javadoc-exception-tag-template "\"* @exception \" type \" if an error occurs\"") + '(jde-global-classpath nil t) + '(jde-gen-window-listener-template (quote ("(end-of-line) '& (P \"Window name: \")" "\".addWindowListener(new WindowAdapter() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"public void windowActivated(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"" "'>'n \"public void windowClosed(WindowEvent e)\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"public void windowClosing(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"System.exit(0);\" '>'n \"}\"" "'>'n \"public void windowDeactivated(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"public void windowDeiconified(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"public void windowIconified(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"public void windowOpened(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"});\" '>'n'>"))) + '(jde-run-working-directory "/share/xsl/docbook/extensions" t) + '(jde-gen-property-change-support (quote ("(end-of-line) '&" "\"protected PropertyChangeSupport pcs = new PropertyChangeSupport(this);\" '>'n '>'n" "\"/**\" '>'n" "\"* Adds a PropertyChangeListener to the listener list.\" '>'n" "\"* The listener is registered for all properties.\" '>'n" "\"*\" '>'n" "\"* @param listener The PropertyChangeListener to be added\" '>'n" "\"*/\" '>'n" "\"public void addPropertyChangeListener(PropertyChangeListener listener) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"pcs.addPropertyChangeListener(listener);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n" "\"* Removes a PropertyChangeListener from the listener list.\" '>'n" "\"* This removes a PropertyChangeListener that was registered for all properties.\" '>'n" "\"*\" '>'n " "\"* @param listener The PropertyChangeListener to be removed\" '>'n" "\"*/\" '>'n" "\"public void removePropertyChangeListener(PropertyChangeListener listener) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>\"pcs.removePropertyChangeListener(listener);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Adds a PropertyChangeListener for a specific property.\" '>'n" "\"* The listener will be invoked only when a call on firePropertyChange\" '>'n" "\"* names that specific property.\" '>'n" "\"*\" '>'n \"* @param propertyName The name of the property to listen on\" '>'n" "\"* @param listener The PropertyChangeListener to be added\" '>'n \"*/\" '>'n" "\"public void addPropertyChangeListener(String propertyName,\" '>'n" "\"PropertyChangeListener listener) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.addPropertyChangeListener(propertyName, listener);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Removes a PropertyChangeListener for a specific property.\" '>'n" "\"*\" '>'n \"* @param propertyName The name of the property that was listened on\" '>'n" "\"* @param listener The PropertyChangeListener to be removed\" '>'n \"*/\" '>'n" "\"public void removePropertyChangeListener(String propertyName,\" '>'n" "\"PropertyChangeListener listener) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.removePropertyChangeListener(propertyName, listener);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Reports a bound property update to any registered listeners. \" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"*\" '>'n \"* @param propertyName The programmatic name of the property that was changed\" '>'n" "\"* @param oldValue The old value of the property\" '>'n" "\"* @param newValue The new value of the property.\" '>'n \"*/\" '>'n" "\"public void firePropertyChange(String propertyName, Object oldValue, Object newValue) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.firePropertyChange(propertyName, oldValue, newValue);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Reports a bound property update to any registered listeners. \" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"* This is merely a convenience wrapper around the more general\" '>'n" "\"* firePropertyChange method that takes Object values.\" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"*\" '>'n \"* @param propertyName The programmatic name of the property that was changed\" '>'n" "\"* @param oldValue The old value of the property\" '>'n" "\"* @param newValue The new value of the property.\" '>'n \"*/\" '>'n" "\"public void firePropertyChange(String propertyName, int oldValue, int newValue) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.firePropertyChange(propertyName, oldValue, newValue);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Reports a bound property update to any registered listeners. \" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"* This is merely a convenience wrapper around the more general\" '>'n" "\"* firePropertyChange method that takes Object values.\" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"*\" '>'n \"* @param propertyName The programmatic name of the property that was changed\" '>'n" "\"* @param oldValue The old value of the property\" '>'n" "\"* @param newValue The new value of the property.\" '>'n \"*/\" '>'n" "\"public void firePropertyChange(String propertyName, boolean oldValue, boolean newValue) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.firePropertyChange(propertyName, oldValue, newValue);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Fires an existing PropertyChangeEvent to any registered listeners.\" '>'n" "\"* No event is fired if the given event's old and new values are equal and non-null. \" '>'n" "\"*\" '>'n \"* @param evt The PropertyChangeEvent object.\" '>'n\"*/\" '>'n" "\"public void firePropertyChange(PropertyChangeEvent evt) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.firePropertyChange(evt);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Checks if there are any listeners for a specific property.\" '>'n" "\"*\" '>'n \"* @param evt The PropertyChangeEvent object.\" '>'n" "\"* @return trueif there are one or more listeners for the given property\" '>'n" "\"*/\" '>'n" "\"public boolean hasListeners(String propertyName) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"return pcs.hasListeners(propertyName);\" '>'n \"}\" '>'n '>'n'>"))) + '(jde-javadoc-describe-interface-template "\"* Describe interface \" (jde-javadoc-code name) \" here.\"") + '(jde-imenu-include-signature t) + '(jde-db-marker-regexp "^.*: thread=.*, \\(\\(.*[.]\\)*\\)\\([^$]*\\)\\($.*\\)*[.].+(), line=\\([0-9]*\\),") + '(jde-gen-mouse-motion-listener-template (quote ("(end-of-line) '& (P \"Component name: \")" "\".addMouseMotionListener(new MouseMotionAdapter() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>" "'>'n \"public void mouseDragged(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>" "'>'n \"public void mouseMoved(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>" "'>'n \"});\"'>'n'>"))) + '(jde-key-bindings (quote (("[? ? ?]" . jde-run-menu-run-applet) ("[? ? ?]" . jde-build) ("[? ? ?]" . jde-compile) ("[? ? ?]" . jde-debug) ("[? ? ?]" . jde-wiz-implement-interface) ("[? ? ?j]" . jde-javadoc-generate-javadoc-template) ("[? ? ? ]" . bsh) ("[? ? ? ]" . jde-gen-println) ("[? ? ?]" . jde-browse-jdk-doc) ("[? ? ?]" . jde-save-project) ("[? ? ?]" . jde-wiz-update-class-list) ("[? ? ?]" . jde-run) ("[? ? ?]" . speedbar-frame-mode) ("[? ? ?]" . jde-db-menu-debug-applet) ("[? ? ?]" . jde-help-symbol) ("[? ? ?]" . jde-show-class-source) ("[? ? ?]" . jde-import-find-and-import) ("[(control c) (control v) (control ?.)]" . jde-complete-at-point-menu) ("[(control c) (control v) ?.]" . jde-complete-at-point)))) + '(jde-gen-cflow-for-i (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"fori\")" "'(l '> \"for (int \" (p \"variable: \" var) \" = 0; \"" "(s var)" "\" < \"(p \"upper bound: \" ub)\"; \" (s var) \"++) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of for (int \" (s var) \" = 0; \"" "(s var) \" < \" (s ub) \"; \" (s var) \"++)\"'>'n'>)" ")"))) + '(jde-run-option-classpath (quote ("/share/xsl/docbook/extensions/xalan2/.classes" "/projects/apache/xml-xalan/java/build/classes" "/projects/apache/xml-xalan/java/bin/bsf.jar" "/projects/apache/xml-xalan/java/bin/xerces.jar" "/projects/sun/resolver/.classes" "/projects/apache/xml-xerces/java/build/classes" "/home/ndw/java")) t) + '(jde-javadoc-gen-detail-switch (quote ("-protected"))) + '(jde-bug-sio-connect-delay 1) + '(jde-javadoc-param-tag-template "\"* @param \" name \" \" (jde-javadoc-a type) + \" \" (jde-javadoc-code type) \" value\"") + '(jde-compile-option-verbose-path nil) + '(jde-javadoc-display-doc t) + '(jde-imenu-modifier-abbrev-alist (quote (("public" . 43) ("protected" . 177) ("private" . 172) ("static" . 2215) ("transient" . 35) ("volatile" . 126) ("abstract" . 170) ("final" . 182) ("native" . 36) ("synchronized" . 64) ("strictfp" . 37)))) + '(jde-db-debugger (quote ("JDEbug" "/usr/local/jdk1.2.2/lib/i386" . "Executable")) t) + '(jde-jdk-doc-url "http://www.javasoft.com/products/jdk/1.1/docs/index.html") + '(jde-gen-cflow-enable t) + '(jde-compiler "javac") + '(jde-javadoc-gen-verbose nil) + '(jde-javadoc-describe-method-template "\"* Describe \" (jde-javadoc-code name) \" method here.\"") + '(jde-gen-class-buffer-template (quote ("(funcall jde-gen-boilerplate-function) '>'n" "\"/**\" '>'n" "\" * \"" "(file-name-nondirectory buffer-file-name) '>'n" "\" *\" '>'n" "\" *\" '>'n" "\" * Created: \" (current-time-string) '>'n" "\" *\" '>'n" "\" * @author \"'>'n" "\" * @version\" '>'n" "\" */\" '>'n'" "'>'n" "\"public class \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" \" (jde-gen-get-super-class)" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" ()\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'p'n" "\"}\">" "'>'n" "\"}\">" "\"// \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "'>'n"))) + '(jde-javadoc-checker-level (quote protected)) + '(jde-appletviewer-option-vm-args nil) + '(jde-run-executable-args nil) + '(jde-db-option-garbage-collection (quote (t t))) + '(jde-javadoc-gen-stylesheetfile "") + '(jde-use-font-lock t) + '(jde-compile-option-bootclasspath nil) + '(jde-make-program "make") + '(jde-javadoc-gen-group nil) + '(jde-javadoc-gen-link-offline nil) + '(jde-entering-java-buffer-hook (quote (jde-reload-project-file jde-which-method-update-on-entering-buffer))) + '(jde-javadoc-gen-doc-title "") + '(jde-javadoc-gen-header "") + '(jde-run-option-vm-args nil) + '(jde-javadoc-gen-window-title "") + '(jde-compile-option-directory "" t) + '(jde-imenu-create-index-function (quote semantic-create-imenu-index)) + '(jde-gen-console-buffer-template (quote ("(funcall jde-gen-boilerplate-function) '>'n" "\"/**\" '>'n" "\" * \"" "(file-name-nondirectory buffer-file-name) '>'n" "\" *\" '>'n" "\" *\" '>'n" "\" * Created: \" (current-time-string) '>'n" "\" *\" '>'n" "\" * @author \"'>'n" "\" * @version\" '>'n" "\" */\" '>'n" "'>'n" "\"public class \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" ()\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n" "\"}\"'>'n" "'>'n" "\"public static void main(String[] args)\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'p'n" "\"}\"'>'n" "\"} // \"'>" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "'>'n"))) + '(jde-read-make-args nil) + '(jde-javadoc-gen-noindex nil) + '(jde-gen-mouse-listener-template (quote ("(end-of-line) '& (P \"Component name: \")" "\".addMouseListener(new MouseAdapter() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'> " "'>'n \"public void mouseClicked(MouseEvent e) \" " "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\" '>" "'>'n \"public void mouseEntered(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\" '>" "'>'n \"public void mouseExited(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>" "'>'n \"public void mousePressed(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\" '>" "'>'n \"public void mouseReleased(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>" "'>'n \"});\"'>'n'>"))) + '(jde-run-option-application-args (quote ("-IN" "test.xml" "-XSL" "test.xsl")) t) + '(jde-bug-vm-executable (quote ("java"))) + '(jde-db-set-initial-breakpoint t) + '(jde-bug-debugger-command-timeout 10) + '(jde-db-option-stack-size (quote ((128 . "kilobytes") (400 . "kilobytes")))) + '(jde-db-option-properties nil t) + '(jde-db-source-directories (quote ("/share/xsl/docbook/extensions/xalan2/" "/projects/apache/xml-xalan/java/src/" "/projects/apache/xml-xerces/java/build/src/" "/projects/sun/resolver/" "/home/ndw/java/")) t) + '(jde-run-read-app-args nil) + '(jde-gen-to-string-method-template (quote ("(end-of-line) '&" "\"public String toString() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n'>"))) + '(jde-quote-classpath t) + '(jde-bug-window-message nil) + '(jde-build-use-make nil) + '(jde-javadoc-author-tag-template "\"* @author \" user-full-name \"\"") + '(jde-javadoc-describe-field-template "\"* Describe \" (jde-javadoc-field-type modifiers) + \" \" (jde-javadoc-code name) \" here.\"") + '(jde-javadoc-gen-link-URL nil) + '(jde-compile-option-classpath (quote ("/share/xsl/docbook/extensions/xalan2/.classes" "/projects/apache/xml-xalan/java/build/classes" "/projects/apache/xml-xalan/java/bin/bsf.jar" "/projects/apache/xml-xalan/java/bin/xerces.jar" "/projects/sun/resolver/.classes" "/projects/apache/xml-xerces/java/build/classes" "/home/ndw/java")) t) + '(jde-bug-jdk-directory "/usr/local/jdk1.2.2" t) + '(jde-gen-boilerplate-function (quote jde-gen-create-buffer-boilerplate)) + '(jde-gen-entity-bean-template (quote ("(jde-import-insert-imports-into-buffer (list \"javax.ejb.*\" +\"java.rmi.RemoteException\"))" "'> \"public void ejbActivate() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void ejbPassivate() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void ejbLoad() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void ejbStore() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void ejbRemove() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void setEntityContext(EntityContext ctx) throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void unsetEntityContext() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n'>"))) + '(jde-javadoc-describe-constructor-template "\"* Creates a new \" (jde-javadoc-code name) \" instance.\"") + '(jde-bug-server-shmem-name (quote (t . "JDEbug"))) + '(jde-db-startup-commands nil) + '(jde-javadoc-gen-docletpath nil) + '(jde-javadoc-gen-split-index nil) + '(jde-compile-option-deprecation nil t) + '(jde-import-group-of-rules (quote (("^javax?\\.")))) + '(jde-which-method-mode t) + '(jde-gen-k&r t) + '(jde-javadoc-gen-bottom "") + '(jde-javadoc-gen-footer "") + '(jde-db-option-classpath (quote ("/share/xsl/docbook/extensions/xalan2/.classes" "/projects/apache/xml-xalan/java/build/classes" "/projects/apache/xml-xalan/java/bin/bsf.jar" "/projects/apache/xml-xalan/java/bin/xerces.jar" "/projects/sun/resolver/.classes" "/projects/apache/xml-xerces/java/build/classes" "/home/ndw/java")) t) + '(jde-gen-cflow-for (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"for\")" "'(l '> \"for (\" (p \"for-clause: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of for (\" (s clause) \")\"'>'n'>)" ")"))) + '(jde-run-mode-hook nil) + '(jde-db-option-verify (quote (nil t))) + '(jde-compile-option-extdirs nil) + '(jde-imenu-sort nil) + '(jde-gen-get-set-var-template (quote ("(end-of-line) '&" "(P \"Variable type: \" type) \" \"" "(P \"Variable name: \" name) \";\" '>'n '>'n" "\"/**\" '>'n" "\"* Get the value of \" (s name) \".\" '>'n" "\"* @return value of \" (s name) \".\" '>'n" "\"*/\" '>'n" "'>'\"public \" (s type)" "(if (string= \"boolean\" (jde-gen-lookup-named 'type) ) " "\" is\" " "\" get\" ) " "(jde-gen-init-cap (jde-gen-lookup-named 'name))" "\"() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\" '>'n" "\"return \" (s name) \";\" '>'n \"}\"" "'>'n '>'n" "\"/**\" '>'n" "\"* Set the value of \" (s name) \".\" '>'n" "\"* @param v Value to assign to \" (s name) \".\" '>'n" "\"*/\" '>'n" "'>'\"public void set\" (jde-gen-init-cap (jde-gen-lookup-named 'name))" "\"(\" (s type) \" v) \" " "(if jde-gen-k&r " "()" "'>'n)" "\"{\" '>'n" "'>'\"this.\" (s name) \" = v;\" '>'n \"}\" '>'n'>"))) + '(jde-bug-saved-breakpoints nil) + '(jde-compile-option-sourcepath (quote ("/share/xsl/docbook/extensions/xalan2" "/projects/apache/xml-xalan/java/build/src" "/projects/apache/xml-xerces/java/build/src" "/projects/sun/resolver")) t) + '(jde-gen-cflow-if (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"if\")" "'(l '> \"if (\" (p \"if-clause: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of if (\" (s clause) \")\"'>'n'>)" ")"))) + '(jde-db-option-java-profile (quote (nil . "./java.prof"))) + '(jde-javadoc-gen-author t) + '(jde-compile-option-depend-switch (quote ("-Xdepend"))) + '(jde-setnu-mode-enable nil) + '(jde-run-applet-doc "") + '(jde-compile-option-vm-args nil) + '(jde-javadoc-gen-overview "") + '(jde-javadoc-gen-notree nil) + '(jde-run-option-garbage-collection (quote (t t))) + '(jde-db-mode-hook nil) + '(jde-javadoc-command-path "javadoc") + '(jde-db-option-heap-profile (quote (nil "./java.hprof" 5 20 "Allocation objects"))) + '(jde-import-group-function (quote jde-import-group-of)) + '(jde-db-read-vm-args nil) + '(jde-bug-debug nil) + '(jde-javadoc-end-block-template nil) + '(jde-javadoc-gen-packages nil) + '(jde-gen-cflow-if-else (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"ife\")" "'(l '> \"if (\" (p \"if-clause: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of if (\" (s clause) \")\"'> n" "'> \"else \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of if (\" (s clause) \")else\"'>'n'>)" ")"))) + '(jde-gen-cflow-while (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"while\")" "'(l '> \"while (\" (p \"while-clause: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of while (\" (s clause) \")\"'>'n'>)" ")"))) + '(jde-bug-server-socket (quote (t . "2112"))) + '(jde-imenu-include-modifiers nil) + '(jde-appletviewer-option-encoding "") + '(jde-bug-breakpoint-cursor-colors (quote ("cyan" . "brown"))) + '(jde-compile-option-target (quote ("1.1"))) + '(jde-run-executable "") + '(jde-run-option-heap-size (quote ((1 . "megabytes") (16 . "megabytes")))) + '(jde-gen-cflow-switch (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"switch\")" "'(l '> \"switch (\" (p \"switch-condition: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'" "\"case \" (p \"first value: \") \":\"'>'n'>'p'n" "\"break;\"'>'n'>'p'n" "\"default:\"'>'n'>'p'n" "\"break;\"'>'n" "\"} // end of switch (\" (s clause) \")\"'>'n'>)" ")"))) + '(jde-which-method-abbrev-symbol "~") + '(jde-db-option-vm-args nil) + '(jde-run-application-class "org.apache.xalan.xslt.Process" t) + '(jde-javadoc-gen-doclet "") + '(jde-import-auto-sort nil) + '(jde-run-option-verbose (quote (nil nil nil))) + '(jde-project-file-name "prj.el") + '(jde-compile-option-debug (quote ("selected" (t nil nil))) t) + '(jde-bug-jre-home "") + '(jde-import-sorted-groups nil) + '(jde-run-applet-viewer "") + '(jde-javadoc-return-tag-template "\"* @return \" (jde-javadoc-a type) + \" \" (jde-javadoc-code type) \" value\"") + '(jde-javadoc-gen-version t) + '(jde-javadoc-gen-helpfile "") + '(jde-import-excluded-packages (quote ("bsh.*"))) + '(jde-run-read-vm-args nil) + '(jde-help-docsets nil) + '(jde-gen-inner-class-template (quote ("(end-of-line) '& \"class \" (P \"Class name: \" class)" "(P \"Superclass: \" super t)" "(let ((parent (jde-gen-lookup-named 'super)))" "(if (not (string= parent \"\"))" "(concat \" extends \" parent ))) " "(if jde-gen-k&r " "()" "'>'n)" "\"{\" '>'n" "\"public \" (s class) \"() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n" "\"}\" '>'n'>"))) + '(jde-auto-parse-buffer-interval 180) + '(jde-run-option-verify (quote (nil t))) + '(jde-import-reverse-sort-group nil) + '(jde-compile-option-optimize nil) + '(jde-gen-cflow-case (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"case\")" "'(l 'n \"case \" (p \"value: \") \":\"'>'n'>'p'n" "\"break;\"'>'n'>'p)" ")"))) + '(jde-compile-option-depend nil) + '(jde-javadoc-describe-class-template "\"* Describe class \" (jde-javadoc-code name) \" here.\"") + '(jde-javadoc-gen-serialwarn nil) + '(jde-gen-action-listener-template (quote ("'& (P \"Component name: \")" "\".addActionListener(new ActionListener() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public void actionPerformed(ActionEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n \"});\"'>'n'>"))) + '(jde-auto-parse-enable t) + '(jde-compile-option-command-line-args "") + '(jde-gen-buffer-templates (quote (("Class" . jde-gen-class) ("Console" . jde-gen-console) ("Swing App" . jde-gen-jfc-app)))) + '(jde-project-context-switching-enabled-p t) + '(jde-javadoc-gen-args nil) + '(jde-run-option-stack-size (quote ((128 . "kilobytes") (400 . "kilobytes")))) + '(jde-run-option-properties nil t)) + + diff --git a/rosdocs/xsl/extensions/saxon643.jar b/rosdocs/xsl/extensions/saxon643.jar new file mode 100644 index 0000000000000000000000000000000000000000..e2c09eb3d08f0927765ac19df8bde837a321c862 GIT binary patch literal 33656 zcmagFV{~T0wk{lZ@+Kp;ZQJ%6+qV72-Lc)VZJXV(ZQC|GxqbFIS)j805Z07wPJEL_H=Y$64Ov+G_^B!bq!I|Rh?Ht{#3BeAyQo(d`5-s$b=

Q6DGbQ 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

  • 5o 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 literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/extensions/saxon643/ChangeLog b/rosdocs/xsl/extensions/saxon643/ChangeLog new file mode 100644 index 0000000..170e9be --- /dev/null +++ b/rosdocs/xsl/extensions/saxon643/ChangeLog @@ -0,0 +1,8 @@ +2001-11-11 Norman Walsh + + * .cvsignore: Removed .classes + +2001-07-16 Norman Walsh + + * .cvsignore, prj.el: New file. + diff --git a/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/CVS.java b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/CVS.java new file mode 100644 index 0000000..529546b --- /dev/null +++ b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/CVS.java @@ -0,0 +1,90 @@ +package com.nwalsh.saxon; + +import java.io.*; +import java.util.Calendar; +import java.util.GregorianCalendar; +import java.util.Date; +import java.util.Locale; +import java.util.TimeZone; +import java.text.DateFormat; +import java.text.ParseException; + +/** + *

    Saxon extension to convert CVS date strings into local time

    + * + *

    $Id$

    + * + *

    Copyright (C) 2000 Norman Walsh.

    + * + *

    This class provides a + * Saxon + * extension to turn the CVS date strings, which are UTC:

    + * + *
    $Date: 2000/11/09 02:34:20 $
    + * + *

    into legibly formatted local time:

    + * + *
    Wed Nov 08 18:34:20 PST 2000
    + * + *

    (I happened to be in California when I wrote this documentation.)

    + + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @version $Id$ + * + */ +public class CVS { + /** + *

    Constructor for CVS

    + * + *

    All of the methods are static, so the constructor does nothing.

    + */ + public CVS() { + } + + /** + *

    Convert a CVS date string into local time.

    + * + * @param cvsDate The CVS date string. + * + * @return The date, converted to local time and reformatted. + */ + public static String localTime (String cvsDate) { + // A cvsDate has the following form "$Date$" + if (!cvsDate.startsWith("$Date: ")) { + return cvsDate; + } + + String yrS = cvsDate.substring(7,11); + String moS = cvsDate.substring(12,14); + String daS = cvsDate.substring(15,17); + String hrS = cvsDate.substring(18,20); + String miS = cvsDate.substring(21,23); + String seS = cvsDate.substring(24,26); + + TimeZone tz = TimeZone.getTimeZone("GMT+0"); + GregorianCalendar gmtCal = new GregorianCalendar(tz); + + try { + gmtCal.set(Integer.parseInt(yrS), + Integer.parseInt(moS)-1, + Integer.parseInt(daS), + Integer.parseInt(hrS), + Integer.parseInt(miS), + Integer.parseInt(seS)); + } catch (NumberFormatException e) { + // nop + } + + Date d = gmtCal.getTime(); + + return d.toString(); + } +} diff --git a/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/Callout.java b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/Callout.java new file mode 100644 index 0000000..cffa054 --- /dev/null +++ b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/Callout.java @@ -0,0 +1,90 @@ +package com.nwalsh.saxon; + +import org.w3c.dom.*; + +/** + *

    A class for maintaining information about callouts.

    + * + *

    To make processing callouts easier, they are parsed out of the + * input structure and stored in a sorted array. (The array is sorted + * according to the order in which the callouts occur.)

    + * + *

    This class is just the little record + * that we store in the array for each callout.

    + */ +public class Callout implements Comparable { + /** The callout number. */ + private int callout = 0; + /** The area Element item that generated this callout. */ + private Element area = null; + /** The line on which this callout occurs. */ + private int line = 0; + /** The column in which this callout appears. */ + private int col = 0; + + /** The constructor; initialize the private data structures. */ + public Callout(int callout, Element area, int line, int col) { + this.callout = callout; + this.area = area; + this.line = line; + this.col = col; + } + + /** + *

    The compareTo method compares this Callout with another.

    + * + *

    Given two Callouts, A and B, A < B if:

    + * + *
      + *
    1. A.line < B.line, or
    2. + *
    3. A.line = B.line && A.col < B.col, or
    4. + *
    5. A.line = B.line && A.col = B.col && A.callout < B.callout
    6. + *
    7. Otherwise, they're equal.
    8. + *
    + */ + public int compareTo (Object o) { + Callout c = (Callout) o; + + if (line == c.getLine()) { + if (col > c.getColumn()) { + return 1; + } else if (col < c.getColumn()) { + return -1; + } else { + if (callout < c.getCallout()) { + return -1; + } else if (callout > c.getCallout()) { + return 1; + } else { + return 0; + } + } + } else { + if (line > c.getLine()) { + return 1; + } else { + return -1; + } + } + } + + /** Access the Callout's area. */ + public Element getArea() { + return area; + } + + /** Access the Callout's line. */ + public int getLine() { + return line; + } + + /** Access the Callout's column. */ + public int getColumn() { + return col; + } + + /** Access the Callout's callout number. */ + public int getCallout() { + return callout; + } +} diff --git a/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/CalloutEmitter.java b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/CalloutEmitter.java new file mode 100644 index 0000000..60492b0 --- /dev/null +++ b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/CalloutEmitter.java @@ -0,0 +1,534 @@ +package com.nwalsh.saxon; + +import java.util.Stack; +import java.util.StringTokenizer; +import org.xml.sax.*; +import org.w3c.dom.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.Controller; +import com.icl.saxon.om.NamePool; +import com.icl.saxon.output.Emitter; +import com.icl.saxon.tree.AttributeCollection; + +/** + *

    Saxon extension to decorate a result tree fragment with callouts.

    + * + *

    $Id$

    + * + *

    Copyright (C) 2000 Norman Walsh.

    + * + *

    This class provides the guts of a + * Saxon 6.* + * implementation of callouts for verbatim environments. (It is used + * by the Verbatim class.)

    + * + *

    The general design is this: the stylesheets construct a result tree + * fragment for some verbatim environment. The Verbatim class initializes + * a CalloutEmitter with information about the callouts that should be applied + * to the verbatim environment in question. Then the result tree fragment + * is "replayed" through the CalloutEmitter; the CalloutEmitter builds a + * new result tree fragment from this event stream, decorated with callouts, + * and that is returned.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @see Verbatim + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @version $Id$ + * + */ +public class CalloutEmitter extends CopyEmitter { + /** A stack for the preserving information about open elements. */ + protected Stack elementStack = null; + + /** A stack for holding information about temporarily closed elements. */ + protected Stack tempStack = null; + + /** Is the next element absolutely the first element in the fragment? */ + protected boolean firstElement = false; + + /** The FO namespace name. */ + protected static String foURI = "http://www.w3.org/1999/XSL/Format"; + + /** The XHTML namespace name. */ + protected static String xhURI = "http://www.w3.org/1999/xhtml"; + + /** The default column for callouts that specify only a line. */ + protected int defaultColumn = 60; + + /** Is the stylesheet currently running an FO stylesheet? */ + protected boolean foStylesheet = false; + + /** The current line number. */ + private static int lineNumber = 0; + + /** The current column number. */ + private static int colNumber = 0; + + /** The (sorted) array of callouts obtained from the areaspec. */ + private static Callout callout[] = null; + + /** The number of callouts in the callout array. */ + private static int calloutCount = 0; + + /** A pointer used to keep track of our position in the callout array. */ + private static int calloutPos = 0; + + /** The FormatCallout object to use for formatting callouts. */ + private static FormatCallout fCallout = null; + + /**

    Constructor for the CalloutEmitter.

    + * + * @param namePool The name pool to use for constructing elements and attributes. + * @param graphicsPath The path to callout number graphics. + * @param graphicsExt The extension for callout number graphics. + * @param graphicsMax The largest callout number that can be represented as a graphic. + * @param defaultColumn The default column for callouts. + * @param foStylesheet Is this an FO stylesheet? + */ + public CalloutEmitter(Controller controller, + NamePool namePool, + int defaultColumn, + boolean foStylesheet, + FormatCallout fCallout) { + super(controller, namePool); + elementStack = new Stack(); + firstElement = true; + + this.defaultColumn = defaultColumn; + this.foStylesheet = foStylesheet; + this.fCallout = fCallout; + } + + /** + *

    Examine the areaspec and determine the number and position of + * callouts.

    + * + *

    The areaspecNodeSet + * is examined and a sorted list of the callouts is constructed.

    + * + *

    This data structure is used to augment the result tree fragment + * with callout bullets.

    + * + * @param areaspecNodeSet The source document <areaspec> element. + * + */ + public void setupCallouts (NodeList areaspecNodeList) { + callout = new Callout[10]; + calloutCount = 0; + calloutPos = 0; + lineNumber = 1; + colNumber = 1; + + // First we walk through the areaspec to calculate the position + // of the callouts + // + // + // + // + // + // + // + // + int pos = 0; + int coNum = 0; + boolean inAreaSet = false; + Node areaspec = areaspecNodeList.item(0); + NodeList children = areaspec.getChildNodes(); + + for (int count = 0; count < children.getLength(); count++) { + Node node = children.item(count); + if (node.getNodeType() == Node.ELEMENT_NODE) { + if (node.getNodeName().equalsIgnoreCase("areaset")) { + coNum++; + NodeList areas = node.getChildNodes(); + for (int acount = 0; acount < areas.getLength(); acount++) { + Node area = areas.item(acount); + if (area.getNodeType() == Node.ELEMENT_NODE) { + if (area.getNodeName().equalsIgnoreCase("area")) { + addCallout(coNum, area, defaultColumn); + } else { + System.out.println("Unexpected element in areaset: " + + area.getNodeName()); + } + } + } + } else if (node.getNodeName().equalsIgnoreCase("area")) { + coNum++; + addCallout(coNum, node, defaultColumn); + } else { + System.out.println("Unexpected element in areaspec: " + + node.getNodeName()); + } + } + } + + // Now sort them + java.util.Arrays.sort(callout, 0, calloutCount); + } + + /** Process characters. */ + public void characters(char[] chars, int start, int len) + throws TransformerException { + + // If we hit characters, then there's no first element... + firstElement = false; + + if (lineNumber == 0) { + // if there are any text nodes, there's at least one line + lineNumber++; + colNumber = 1; + } + + // Walk through the text node looking for callout positions + char[] newChars = new char[len]; + int pos = 0; + for (int count = start; count < start+len; count++) { + if (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() == colNumber) { + if (pos > 0) { + rtfEmitter.characters(newChars, 0, pos); + pos = 0; + } + + closeOpenElements(rtfEmitter); + + while (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() == colNumber) { + fCallout.formatCallout(rtfEmitter, callout[calloutPos]); + calloutPos++; + } + + openClosedElements(rtfEmitter); + } + + if (chars[count] == '\n') { + // What if we need to pad this line? + if (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() > colNumber) { + + if (pos > 0) { + rtfEmitter.characters(newChars, 0, pos); + pos = 0; + } + + closeOpenElements(rtfEmitter); + + while (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() > colNumber) { + formatPad(callout[calloutPos].getColumn() - colNumber); + colNumber = callout[calloutPos].getColumn(); + while (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() == colNumber) { + fCallout.formatCallout(rtfEmitter, callout[calloutPos]); + calloutPos++; + } + } + + openClosedElements(rtfEmitter); + } + + lineNumber++; + colNumber = 1; + } else { + colNumber++; + } + newChars[pos++] = chars[count]; + } + + if (pos > 0) { + rtfEmitter.characters(newChars, 0, pos); + } + } + + /** + *

    Add blanks to the result tree fragment.

    + * + *

    This method adds numBlanks to the result tree fragment. + * It's used to pad lines when callouts occur after the last existing + * characater in a line.

    + * + * @param numBlanks The number of blanks to add. + */ + protected void formatPad(int numBlanks) { + char chars[] = new char[numBlanks]; + for (int count = 0; count < numBlanks; count++) { + chars[count] = ' '; + } + + try { + rtfEmitter.characters(chars, 0, numBlanks); + } catch (TransformerException e) { + System.out.println("Transformer Exception in formatPad"); + } + } + + /** + *

    Add a callout to the global callout array

    + * + *

    This method examines a callout area and adds it to + * the global callout array if it can be interpreted.

    + * + *

    Only the linecolumn and linerange units are + * supported. If no unit is specifed, linecolumn is assumed. + * If only a line is specified, the callout decoration appears in + * the defaultColumn.

    + * + * @param coNum The callout number. + * @param node The area. + * @param defaultColumn The default column for callouts. + */ + protected void addCallout (int coNum, + Node node, + int defaultColumn) { + + Element area = (Element) node; + String units = null; + String coords = null; + + if (area.hasAttribute("units")) { + units = area.getAttribute("units"); + } + + if (area.hasAttribute("coords")) { + coords = area.getAttribute("coords"); + } + + if (units != null + && !units.equalsIgnoreCase("linecolumn") + && !units.equalsIgnoreCase("linerange")) { + System.out.println("Only linecolumn and linerange units are supported"); + return; + } + + if (coords == null) { + System.out.println("Coords must be specified"); + return; + } + + // Now let's see if we can interpret the coordinates... + StringTokenizer st = new StringTokenizer(coords); + int tokenCount = 0; + int c1 = 0; + int c2 = 0; + while (st.hasMoreTokens()) { + tokenCount++; + if (tokenCount > 2) { + System.out.println("Unparseable coordinates"); + return; + } + try { + String token = st.nextToken(); + int coord = Integer.parseInt(token); + c2 = coord; + if (tokenCount == 1) { + c1 = coord; + } + } catch (NumberFormatException e) { + System.out.println("Unparseable coordinate"); + return; + } + } + + // Make sure we aren't going to blow past the end of our array + if (calloutCount == callout.length) { + Callout bigger[] = new Callout[calloutCount+10]; + for (int count = 0; count < callout.length; count++) { + bigger[count] = callout[count]; + } + callout = bigger; + } + + // Ok, add the callout + if (tokenCount == 2) { + if (units != null && units.equalsIgnoreCase("linerange")) { + for (int count = c1; count <= c2; count++) { + callout[calloutCount++] = new Callout(coNum, area, + count, defaultColumn); + } + } else { + // assume linecolumn + callout[calloutCount++] = new Callout(coNum, area, c1, c2); + } + } else { + // if there's only one number, assume it's the line + callout[calloutCount++] = new Callout(coNum, area, c1, defaultColumn); + } + } + + /** Process end element events. */ + public void endElement(int nameCode) + throws TransformerException { + + if (!elementStack.empty()) { + // if we didn't push the very first element (an fo:block or + // pre or div surrounding the whole block), then the stack will + // be empty when we get to the end of the first element... + elementStack.pop(); + } + rtfEmitter.endElement(nameCode); + } + + /** Process start element events. */ + public void startElement(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount) + throws TransformerException { + + if (!skipThisElement(nameCode)) { + StartElementInfo sei = new StartElementInfo(nameCode, attributes, + namespaces, nscount); + elementStack.push(sei); + } + + firstElement = false; + + rtfEmitter.startElement(nameCode, attributes, namespaces, nscount); + } + + /** + *

    Protect the outer-most block wrapper.

    + * + *

    Open elements in the result tree fragment are closed and reopened + * around callouts (so that callouts don't appear inside links or other + * environments). But if the result tree fragment is a single block + * (a div or pre in HTML, an fo:block in FO), that outer-most block is + * treated specially.

    + * + *

    This method returns true if the element in question is that + * outermost block.

    + * + * @param nameCode The name code for the element + * + * @return True if the element is the outer-most block, false otherwise. + */ + protected boolean skipThisElement(int nameCode) { + // FIXME: This is such a gross hack... + if (firstElement) { + int thisFingerprint = namePool.getFingerprint(nameCode); + int foBlockFingerprint = namePool.getFingerprint(foURI, "block"); + int htmlPreFingerprint = namePool.getFingerprint("", "pre"); + int htmlDivFingerprint = namePool.getFingerprint("", "div"); + int xhtmlPreFingerprint = namePool.getFingerprint(xhURI, "pre"); + int xhtmlDivFingerprint = namePool.getFingerprint(xhURI, "div"); + + if ((foStylesheet && thisFingerprint == foBlockFingerprint) + || (!foStylesheet && (thisFingerprint == htmlPreFingerprint + || thisFingerprint == htmlDivFingerprint + || thisFingerprint == xhtmlPreFingerprint + || thisFingerprint == xhtmlDivFingerprint))) { + // Don't push the outer-most wrapping div, pre, or fo:block + return true; + } + } + + return false; + } + + private void closeOpenElements(Emitter rtfEmitter) + throws TransformerException { + // Close all the open elements... + tempStack = new Stack(); + while (!elementStack.empty()) { + StartElementInfo elem = (StartElementInfo) elementStack.pop(); + rtfEmitter.endElement(elem.getNameCode()); + tempStack.push(elem); + } + } + + private void openClosedElements(Emitter rtfEmitter) + throws TransformerException { + // Now "reopen" the elements that we closed... + while (!tempStack.empty()) { + StartElementInfo elem = (StartElementInfo) tempStack.pop(); + AttributeCollection attr = (AttributeCollection) elem.getAttributes(); + AttributeCollection newAttr = new AttributeCollection(namePool); + + for (int acount = 0; acount < attr.getLength(); acount++) { + String localName = attr.getLocalName(acount); + int nameCode = attr.getNameCode(acount); + String type = attr.getType(acount); + String value = attr.getValue(acount); + String uri = attr.getURI(acount); + String prefix = ""; + + if (localName.indexOf(':') > 0) { + prefix = localName.substring(0, localName.indexOf(':')); + localName = localName.substring(localName.indexOf(':')+1); + } + + if (uri.equals("") + && ((foStylesheet + && localName.equals("id")) + || (!foStylesheet + && (localName.equals("id") + || localName.equals("name"))))) { + // skip this attribute + } else { + newAttr.addAttribute(prefix, uri, localName, type, value); + } + } + + rtfEmitter.startElement(elem.getNameCode(), + newAttr, + elem.getNamespaces(), + elem.getNSCount()); + + elementStack.push(elem); + } + } + + /** + *

    A private class for maintaining the information required to call + * the startElement method.

    + * + *

    In order to close and reopen elements, information about those + * elements has to be maintained. This class is just the little record + * that we push on the stack to keep track of that info.

    + */ + private class StartElementInfo { + private int _nameCode; + org.xml.sax.Attributes _attributes; + int[] _namespaces; + int _nscount; + + public StartElementInfo(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount) { + _nameCode = nameCode; + _attributes = attributes; + _namespaces = namespaces; + _nscount = nscount; + } + + public int getNameCode() { + return _nameCode; + } + + public org.xml.sax.Attributes getAttributes() { + return _attributes; + } + + public int[] getNamespaces() { + return _namespaces; + } + + public int getNSCount() { + return _nscount; + } + } +} diff --git a/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/ChangeLog b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/ChangeLog new file mode 100644 index 0000000..3dc688a --- /dev/null +++ b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/ChangeLog @@ -0,0 +1,22 @@ +2002-05-08 Norman Walsh + + * ImageIntrinsics.java: New file. + +2002-03-21 Norman Walsh + + * CalloutEmitter.java, NumberLinesEmitter.java: Fix nesting bug in XHTML + +2001-08-05 Norman Walsh + + * FormatDingbatCallout.java, FormatUnicodeCallout.java, Verbatim.java: + Removed the FormatDingbatCallout classes, they were the same as the FormatUnicodeCallout classes but with a font wrapper. Added a callout.unicode.font parameter to wrap Unicode callouts + +2001-07-31 Norman Walsh + + * FormatCallout.java: Fix attribute test + +2001-07-16 Norman Walsh + + * CVS.java, Callout.java, CalloutEmitter.java, ColumnScanEmitter.java, ColumnUpdateEmitter.java, CopyEmitter.java, FormatCallout.java, FormatDingbatCallout.java, FormatGraphicCallout.java, FormatTextCallout.java, FormatUnicodeCallout.java, LineCountEmitter.java, NumberLinesEmitter.java, Table.java, Text.java, TextFactory.java, Verbatim.java, package.html: + New file. + diff --git a/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/ColumnScanEmitter.java b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/ColumnScanEmitter.java new file mode 100644 index 0000000..0b96f8b --- /dev/null +++ b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/ColumnScanEmitter.java @@ -0,0 +1,165 @@ +package com.nwalsh.saxon; + +import org.xml.sax.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.output.*; +import com.icl.saxon.om.*; +import com.icl.saxon.expr.FragmentValue; + +/** + *

    Saxon extension to scan the column widthsin a result tree fragment.

    + * + *

    $Id$

    + * + *

    Copyright (C) 2000 Norman Walsh.

    + * + *

    This class provides a + * Saxon 6.* + * implementation to scan the column widths in a result tree + * fragment.

    + * + *

    The general design is this: the stylesheets construct a result tree + * fragment for some colgroup environment. That result tree fragment + * is "replayed" through the ColumnScanEmitter; the ColumnScanEmitter watches + * the cols go by and extracts the column widths that it sees. These + * widths are then made available.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @version $Id$ + * + */ +public class ColumnScanEmitter extends com.icl.saxon.output.Emitter { + /** The number of columns seen. */ + protected int numColumns = 0; + protected String width[] = new String[5]; + protected NamePool namePool = null; + + /** The FO namespace name. */ + protected static String foURI = "http://www.w3.org/1999/XSL/Format"; + + /** Construct a new ColumnScanEmitter. */ + public ColumnScanEmitter(NamePool namePool) { + numColumns = 0; + this.namePool = namePool; + } + + /** Return the number of columns. */ + public int columnCount() { + return numColumns; + } + + /** Return the number of columns. */ + public String[] columnWidths() { + return width; + } + + /** Discarded. */ + public void characters(char[] chars, int start, int len) + throws TransformerException { + // nop + } + + /** Discarded. */ + public void comment(char[] chars, int start, int length) + throws TransformerException { + // nop + } + + /** Discarded. */ + public void endDocument() + throws TransformerException { + // nop + } + + /** Discarded. */ + public void endElement(int nameCode) + throws TransformerException { + // nop + } + + /** Discarded. */ + public void processingInstruction(java.lang.String name, + java.lang.String data) + throws TransformerException { + // nop + } + + /** Discarded. */ + public void setDocumentLocator(org.xml.sax.Locator locator) { + // nop + } + + /** Discarded. */ + public void setEscaping(boolean escaping) + throws TransformerException { + // nop + } + + /** Discarded. */ + public void setNamePool(NamePool namePool) { + // nop + } + + /** Discarded. */ + public void setUnparsedEntity(java.lang.String name, java.lang.String uri) + throws TransformerException { + // nop + } + + /** Discarded. */ + public void setWriter(java.io.Writer writer) { + // nop + } + + /** Discarded. */ + public void startDocument() + throws TransformerException { + // nop + } + + /** Examine for column info. */ + public void startElement(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, int nscount) + throws TransformerException { + + int thisFingerprint = namePool.getFingerprint(nameCode); + int colFingerprint = namePool.getFingerprint("", "col"); + int foColFingerprint = namePool.getFingerprint(foURI, "table-column"); + + if (thisFingerprint == colFingerprint + || thisFingerprint == foColFingerprint) { + if (numColumns >= width.length) { + String newWidth[] = new String[width.length+10]; + for (int count = 0; count < width.length; count++) { + newWidth[count] = width[count]; + } + width = newWidth; + } + + if (thisFingerprint == colFingerprint) { + if (attributes.getValue("width") == null) { + width[numColumns++] = "1*"; + } else { + width[numColumns++] = attributes.getValue("width"); + } + } else { + if (attributes.getValue("column-width") == null) { + width[numColumns++] = "1*"; + } else { + width[numColumns++] = attributes.getValue("column-width"); + } + } + } + } +} + + diff --git a/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/ColumnUpdateEmitter.java b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/ColumnUpdateEmitter.java new file mode 100644 index 0000000..779a247 --- /dev/null +++ b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/ColumnUpdateEmitter.java @@ -0,0 +1,96 @@ +package com.nwalsh.saxon; + +import org.xml.sax.*; +import com.icl.saxon.output.*; +import com.icl.saxon.Controller; +import com.icl.saxon.om.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.expr.FragmentValue; +import com.icl.saxon.tree.AttributeCollection; + +/** + *

    Saxon extension to scan the column widthsin a result tree fragment.

    + * + *

    $Id$

    + * + *

    Copyright (C) 2000 Norman Walsh.

    + * + *

    This class provides a + * Saxon 6.* + * implementation to scan the column widths in a result tree + * fragment.

    + * + *

    The general design is this: the stylesheets construct a result tree + * fragment for some colgroup environment. That result tree fragment + * is "replayed" through the ColumnUpdateEmitter; the ColumnUpdateEmitter watches + * the cols go by and extracts the column widths that it sees. These + * widths are then made available.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @version $Id$ + * + */ +public class ColumnUpdateEmitter extends CopyEmitter { + /** The number of columns seen. */ + protected int numColumns = 0; + protected String width[] = null; + protected NamePool namePool = null; + + /** The FO namespace name. */ + protected static String foURI = "http://www.w3.org/1999/XSL/Format"; + + /** Construct a new ColumnUpdateEmitter. */ + public ColumnUpdateEmitter(Controller controller, + NamePool namePool, + String width[]) { + super(controller, namePool); + numColumns = 0; + this.width = width; + this.namePool = namePool; + } + + /** Examine for column info. */ + public void startElement(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, int nscount) + throws TransformerException { + + int thisFingerprint = namePool.getFingerprint(nameCode); + int colFingerprint = namePool.getFingerprint("", "col"); + int foColFingerprint = namePool.getFingerprint(foURI, "table-column"); + + if (thisFingerprint == colFingerprint) { + AttributeCollection attr = new AttributeCollection(namePool, attributes); + int widthFingerprint = namePool.getFingerprint("", "width"); + + if (attr.getValueByFingerprint(widthFingerprint) == null) { + attr.addAttribute(widthFingerprint, "CDATA", width[numColumns++]); + } else { + attr.setAttribute(widthFingerprint, "CDATA", width[numColumns++]); + } + attributes = attr; + } else if (thisFingerprint == foColFingerprint) { + AttributeCollection attr = new AttributeCollection(namePool, attributes); + int widthFingerprint = namePool.getFingerprint("", "column-width"); + + if (attr.getValueByFingerprint(widthFingerprint) == null) { + attr.addAttribute(widthFingerprint, "CDATA", width[numColumns++]); + } else { + attr.setAttribute(widthFingerprint, "CDATA", width[numColumns++]); + } + attributes = attr; + } + + rtfEmitter.startElement(nameCode, attributes, namespaces, nscount); + } +} + + diff --git a/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/CopyEmitter.java b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/CopyEmitter.java new file mode 100644 index 0000000..9817796 --- /dev/null +++ b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/CopyEmitter.java @@ -0,0 +1,150 @@ +package com.nwalsh.saxon; + +import java.util.Stack; +import java.util.StringTokenizer; +import org.xml.sax.*; +import org.w3c.dom.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.Context; +import com.icl.saxon.expr.*; +import com.icl.saxon.expr.FragmentValue; +import com.icl.saxon.Controller; +import com.icl.saxon.functions.Extensions; +import com.icl.saxon.om.*; +import com.icl.saxon.output.*; +import com.icl.saxon.pattern.*; +import com.icl.saxon.tree.*; + +/** + *

    A Saxon 6.0 Emitter that clones its input.

    + * + *

    $Id$

    + * + *

    Copyright (C) 2000 Norman Walsh.

    + * + *

    This class provides a + * Saxon 6.* + * implementation of an emitter that manufactures a cloned result + * tree fragment.

    + * + *

    The purpose of this emitter is to provide something for + * CalloutEmitter and NumberLinesEmitter to extend. + * This emitter simply copies all input to a new result tree fragment.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @see CalloutEmitter + * @see NumberLinesEmitter + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @version $Id$ + * + */ +public class CopyEmitter extends com.icl.saxon.output.Emitter { + /** The result tree fragment containing the copied fragment. */ + protected FragmentValue rtf = null; + protected Emitter rtfEmitter = null; + + /**

    The namePool.

    + * + *

    Copied from the caller, it should be the runtime name pool.

    + */ + protected NamePool namePool = null; + + /**

    Constructor for the CopyEmitter.

    + * + * @param namePool The name pool to use for constructing elements and attributes. + */ + public CopyEmitter(Controller controller, NamePool namePool) { + rtf = new FragmentValue(controller); + rtfEmitter = rtf.getEmitter(); + this.namePool = namePool; + } + + /** + *

    Return the result tree fragment constructed by replaying events + * through this emitter.

    + */ + public FragmentValue getResultTreeFragment() { + return rtf; + } + + /** Copy characters. */ + public void characters(char[] chars, int start, int len) + throws TransformerException { + rtfEmitter.characters(chars, start, len); + } + + /** Copy comments. */ + public void comment(char[] chars, int start, int length) + throws TransformerException { + rtfEmitter.comment(chars, start, length); + } + + /** Copy end document events. */ + public void endDocument() + throws TransformerException { + rtfEmitter.endDocument(); + } + + /** Copy end element events. */ + public void endElement(int nameCode) + throws TransformerException { + rtfEmitter.endElement(nameCode); + } + + /** Copy processing instructions. */ + public void processingInstruction(java.lang.String name, + java.lang.String data) + throws TransformerException { + rtfEmitter.processingInstruction(name, data); + } + + /** Copy set document locator events. */ + public void setDocumentLocator(org.xml.sax.Locator locator) { + rtfEmitter.setDocumentLocator(locator); + } + + /** Copy set escaping events. */ + public void setEscaping(boolean escaping) + throws TransformerException { + rtfEmitter.setEscaping(escaping); + } + + /** Copy set name pool events. */ + public void setNamePool(NamePool namePool) { + rtfEmitter.setNamePool(namePool); + } + + /** Copy set unparsed entity events. */ + public void setUnparsedEntity(java.lang.String name, java.lang.String uri) + throws TransformerException { + rtfEmitter.setUnparsedEntity(name, uri); + } + + /** Copy set writer events. */ + public void setWriter(java.io.Writer writer) { + rtfEmitter.setWriter(writer); + } + + /** Copy start document events. */ + public void startDocument() + throws TransformerException { + rtfEmitter.startDocument(); + } + + /** Copy start element events. */ + public void startElement(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount) + throws TransformerException { + rtfEmitter.startElement(nameCode, attributes, namespaces, nscount); + } +} diff --git a/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/FormatCallout.java b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/FormatCallout.java new file mode 100644 index 0000000..256a3b5 --- /dev/null +++ b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/FormatCallout.java @@ -0,0 +1,111 @@ +package com.nwalsh.saxon; + +import org.xml.sax.SAXException; +import org.w3c.dom.*; + +import javax.xml.transform.TransformerException; + +import com.icl.saxon.om.NamePool; +import com.icl.saxon.output.Emitter; +import com.icl.saxon.tree.AttributeCollection; + +import com.nwalsh.saxon.Callout; + +/** + *

    Utility class for the Verbatim extension (ignore this).

    + * + *

    $Id$

    + * + *

    Copyright (C) 2000, 2001 Norman Walsh.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @see Verbatim + * + * @version $Id$ + **/ + +public abstract class FormatCallout { + protected static final String foURI = "http://www.w3.org/1999/XSL/Format"; + protected static final String xhURI = "http://www.w3.org/1999/xhtml"; + protected boolean foStylesheet = false; + protected NamePool namePool = null; + + public FormatCallout(NamePool nPool, boolean fo) { + namePool = nPool; + foStylesheet = fo; + } + + public String areaLabel(Element area) { + String label = null; + + if (area.hasAttribute("label")) { + // If this area has a label, use it + label = area.getAttribute("label"); + } else { + // Otherwise, if its parent is an areaset and it has a label, use that + Element parent = (Element) area.getParentNode(); + if (parent != null + && parent.getLocalName().equalsIgnoreCase("areaset") + && parent.hasAttribute("label")) { + label = parent.getAttribute("label"); + } + } + + return label; + } + + public void startSpan(Emitter rtf) + throws TransformerException { + // no point in doing this for FO, right? + if (!foStylesheet && namePool != null) { + int spanName = namePool.allocate("", "", "span"); + AttributeCollection spanAttr = new AttributeCollection(namePool); + int namespaces[] = new int[1]; + spanAttr.addAttribute("", "", "class", "CDATA", "co"); + rtf.startElement(spanName, spanAttr, namespaces, 0); + } + } + + public void endSpan(Emitter rtf) + throws TransformerException { + // no point in doing this for FO, right? + if (!foStylesheet && namePool != null) { + int spanName = namePool.allocate("", "", "span"); + rtf.endElement(spanName); + } + } + + public void formatTextCallout(Emitter rtfEmitter, + Callout callout) { + Element area = callout.getArea(); + int num = callout.getCallout(); + String userLabel = areaLabel(area); + String label = "(" + num + ")"; + + if (userLabel != null) { + label = userLabel; + } + + char chars[] = label.toCharArray(); + + try { + startSpan(rtfEmitter); + rtfEmitter.characters(chars, 0, label.length()); + endSpan(rtfEmitter); + } catch (TransformerException e) { + System.out.println("Transformer Exception in formatTextCallout"); + } + } + + public abstract void formatCallout(Emitter rtfEmitter, + Callout callout); +} + diff --git a/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/FormatGraphicCallout.java b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/FormatGraphicCallout.java new file mode 100644 index 0000000..3cb3926 --- /dev/null +++ b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/FormatGraphicCallout.java @@ -0,0 +1,88 @@ +package com.nwalsh.saxon; + +import org.xml.sax.SAXException; +import org.w3c.dom.*; + +import javax.xml.transform.TransformerException; + +import com.icl.saxon.om.NamePool; +import com.icl.saxon.output.Emitter; +import com.icl.saxon.tree.AttributeCollection; + +import com.nwalsh.saxon.Callout; + +/** + *

    Utility class for the Verbatim extension (ignore this).

    + * + *

    $Id$

    + * + *

    Copyright (C) 2000, 2001 Norman Walsh.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @see Verbatim + * + * @version $Id$ + **/ + +public class FormatGraphicCallout extends FormatCallout { + String graphicsPath = ""; + String graphicsExt = ""; + int graphicsMax = 0; + + public FormatGraphicCallout(NamePool nPool, String path, String ext, int max, boolean fo) { + super(nPool, fo); + graphicsPath = path; + graphicsExt = ext; + graphicsMax = max; + } + + public void formatCallout(Emitter rtfEmitter, + Callout callout) { + Element area = callout.getArea(); + int num = callout.getCallout(); + String userLabel = areaLabel(area); + String label = "(" + num + ")"; + + if (userLabel != null) { + label = userLabel; + } + + try { + if (userLabel == null && num <= graphicsMax) { + int imgName = 0; + AttributeCollection imgAttr = null; + int namespaces[] = new int[1]; + + if (foStylesheet) { + imgName = namePool.allocate("fo", foURI, "external-graphic"); + imgAttr = new AttributeCollection(namePool); + imgAttr.addAttribute("", "", "src", "CDATA", + graphicsPath + num + graphicsExt); + } else { + imgName = namePool.allocate("", "", "img"); + imgAttr = new AttributeCollection(namePool); + imgAttr.addAttribute("", "", "src", "CDATA", + graphicsPath + num + graphicsExt); + imgAttr.addAttribute("", "", "alt", "CDATA", label); + } + + startSpan(rtfEmitter); + rtfEmitter.startElement(imgName, imgAttr, namespaces, 0); + rtfEmitter.endElement(imgName); + endSpan(rtfEmitter); + } else { + formatTextCallout(rtfEmitter, callout); + } + } catch (TransformerException e) { + System.out.println("Transformer Exception in graphic formatCallout"); + } + } +} diff --git a/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/FormatTextCallout.java b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/FormatTextCallout.java new file mode 100644 index 0000000..6e2d75c --- /dev/null +++ b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/FormatTextCallout.java @@ -0,0 +1,43 @@ +package com.nwalsh.saxon; + +import org.xml.sax.SAXException; +import org.w3c.dom.*; + +import javax.xml.transform.TransformerException; + +import com.icl.saxon.om.NamePool; +import com.icl.saxon.output.Emitter; + +import com.nwalsh.saxon.Callout; + +/** + *

    Utility class for the Verbatim extension (ignore this).

    + * + *

    $Id$

    + * + *

    Copyright (C) 2000, 2001 Norman Walsh.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @see Verbatim + * + * @version $Id$ + **/ + +public class FormatTextCallout extends FormatCallout { + public FormatTextCallout(NamePool nPool, boolean fo) { + super(nPool, fo); + } + + public void formatCallout(Emitter rtfEmitter, + Callout callout) { + formatTextCallout(rtfEmitter, callout); + } +} diff --git a/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/FormatUnicodeCallout.java b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/FormatUnicodeCallout.java new file mode 100644 index 0000000..e51e1c0 --- /dev/null +++ b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/FormatUnicodeCallout.java @@ -0,0 +1,98 @@ +package com.nwalsh.saxon; + +import org.xml.sax.SAXException; +import org.w3c.dom.*; + +import javax.xml.transform.TransformerException; + +import com.icl.saxon.om.NamePool; +import com.icl.saxon.output.Emitter; +import com.icl.saxon.tree.AttributeCollection; + +import com.nwalsh.saxon.Callout; + +/** + *

    Utility class for the Verbatim extension (ignore this).

    + * + *

    $Id$

    + * + *

    Copyright (C) 2000, 2001 Norman Walsh.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @see Verbatim + * + * @version $Id$ + **/ + +public class FormatUnicodeCallout extends FormatCallout { + int unicodeMax = 0; + int unicodeStart = 0; + String unicodeFont = ""; + + public FormatUnicodeCallout(NamePool nPool, + String font, + int start, + int max, + boolean fo) { + super(nPool, fo); + unicodeFont = font; + unicodeMax = max; + unicodeStart = start; + } + + public void formatCallout(Emitter rtfEmitter, + Callout callout) { + Element area = callout.getArea(); + int num = callout.getCallout(); + String userLabel = areaLabel(area); + String label = ""; + + if (userLabel != null) { + label = userLabel; + } + + try { + if (userLabel == null && num <= unicodeMax) { + int inName = 0; + AttributeCollection inAttr = null; + int namespaces[] = new int[1]; + + if (!unicodeFont.equals("")) { + if (foStylesheet) { + inName = namePool.allocate("fo", foURI, "inline"); + inAttr = new AttributeCollection(namePool); + inAttr.addAttribute("", "", "font-family", "CDATA", unicodeFont); + } else { + inName = namePool.allocate("", "", "font"); + inAttr = new AttributeCollection(namePool); + inAttr.addAttribute("", "", "face", "CDATA", unicodeFont); + } + + startSpan(rtfEmitter); + rtfEmitter.startElement(inName, inAttr, namespaces, 0); + } + + char chars[] = new char[1]; + chars[0] = (char) (unicodeStart + num - 1); + rtfEmitter.characters(chars, 0, 1); + + if (!unicodeFont.equals("")) { + rtfEmitter.endElement(inName); + endSpan(rtfEmitter); + } + } else { + formatTextCallout(rtfEmitter, callout); + } + } catch (TransformerException e) { + System.out.println("Transformer Exception in graphic formatCallout"); + } + } +} diff --git a/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/ImageIntrinsics.java b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/ImageIntrinsics.java new file mode 100644 index 0000000..c538ab1 --- /dev/null +++ b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/ImageIntrinsics.java @@ -0,0 +1,157 @@ +package com.nwalsh.saxon; + +import java.io.*; +import java.awt.*; +import java.awt.image.*; +import java.lang.Thread; +import java.util.StringTokenizer; + +/** + *

    Saxon extension to examine intrinsic size of images

    + * + *

    $Id$

    + * + *

    Copyright (C) 2002 Norman Walsh.

    + * + *

    This class provides a + * Saxon + * extension to find the intrinsic size of images.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @version $Id$ + * + */ +public class ImageIntrinsics implements ImageObserver { + boolean imageLoaded = false; + boolean imageFailed = false; + Image image = null; + int width = -1; + int depth = -1; + + /** + *

    Constructor for ImageIntrinsics

    + */ + public ImageIntrinsics(String imageFn) { + image = Toolkit.getDefaultToolkit().getImage (imageFn); + width = image.getWidth(this); + + while (!imageFailed && (width == -1 || depth == -1)) { + try { + java.lang.Thread.currentThread().sleep(50); + } catch (Exception e) { + // nop; + } + width = image.getWidth(this); + depth = image.getHeight(this); + } + + if (imageFailed) { + // Maybe it's an EPS or PDF? + // FIXME: this code is crude + BufferedReader ir = null; + String line = null; + int lineLimit = 100; + + try { + ir = new BufferedReader(new FileReader(new File(imageFn))); + line = ir.readLine(); + + if (line != null && line.startsWith("%PDF-")) { + // We've got a PDF! + while (lineLimit > 0 && line != null) { + lineLimit--; + if (line.startsWith("/CropBox [")) { + line = line.substring(10); + if (line.indexOf("]") >= 0) { + line = line.substring(0, line.indexOf("]")); + } + parseBox(line); + lineLimit = 0; + } + line = ir.readLine(); + } + } else if (line != null && line.startsWith("%!") && line.indexOf(" EPSF-") > 0) { + // We've got an EPS! + while (lineLimit > 0 && line != null) { + lineLimit--; + if (line.startsWith("%%BoundingBox: ")) { + line = line.substring(15); + parseBox(line); + lineLimit = 0; + } + line = ir.readLine(); + } + } + } catch (Exception e) { + // nop; + } + + if (ir != null) { + try { + ir.close(); + } catch (Exception e) { + // nop; + } + } + } + } + + public int getWidth(int defaultWidth) { + if (width >= 0) { + return width; + } else { + return defaultWidth; + } + } + + public int getDepth(int defaultDepth) { + if (depth >= 0) { + return depth; + } else { + return defaultDepth; + } + } + + private void parseBox(String line) { + int [] corners = new int [4]; + int count = 0; + + StringTokenizer st = new StringTokenizer(line); + while (count < 4 && st.hasMoreTokens()) { + try { + corners[count++] = Integer.parseInt(st.nextToken()); + } catch (Exception e) { + // nop; + } + } + + width = corners[2] - corners[0]; + depth = corners[3] - corners[1]; + } + + public boolean imageUpdate(Image img, int infoflags, + int x, int y, int width, int height) { + if ((infoflags & ImageObserver.ERROR) == ImageObserver.ERROR) { + imageFailed = true; + return false; + } + + // I really only care about the width and height, but if I return false as + // soon as those are available, the BufferedInputStream behind the loader + // gets closed too early. + int flags = ImageObserver.ALLBITS; + if ((infoflags & flags) == flags) { + return false; + } else { + return true; + } + } +} diff --git a/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/LineCountEmitter.java b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/LineCountEmitter.java new file mode 100644 index 0000000..5febeda --- /dev/null +++ b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/LineCountEmitter.java @@ -0,0 +1,141 @@ +package com.nwalsh.saxon; + +import org.xml.sax.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.output.*; +import com.icl.saxon.om.*; +import com.icl.saxon.expr.FragmentValue; + +/** + *

    Saxon extension to count the lines in a result tree fragment.

    + * + *

    $Id$

    + * + *

    Copyright (C) 2000 Norman Walsh.

    + * + *

    This class provides a + * Saxon 6.* + * implementation to count the number of lines in a result tree + * fragment.

    + * + *

    The general design is this: the stylesheets construct a result tree + * fragment for some verbatim environment. That result tree fragment + * is "replayed" through the LineCountEmitter; the LineCountEmitter watches + * characters go by and counts the number of line feeds that it sees. + * That number is then returned.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @see Verbatim + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @version $Id$ + * + */ +public class LineCountEmitter extends com.icl.saxon.output.Emitter { + /** The number of lines seen. */ + protected int numLines = 0; + + /** Construct a new LineCountEmitter. */ + public LineCountEmitter() { + numLines = 0; + } + + /** Reset the number of lines. */ + public void reset() { + numLines = 0; + } + + /** Return the number of lines. */ + public int lineCount() { + return numLines; + } + + /** Process characters. */ + public void characters(char[] chars, int start, int len) + throws javax.xml.transform.TransformerException { + + if (numLines == 0) { + // If there are any characters at all, there's at least one line + numLines++; + } + + for (int count = start; count < start+len; count++) { + if (chars[count] == '\n') { + numLines++; + } + } + } + + /** Discarded. */ + public void comment(char[] chars, int start, int length) + throws javax.xml.transform.TransformerException { + // nop + } + + /** Discarded. */ + public void endDocument() + throws javax.xml.transform.TransformerException { + // nop + } + + /** Discarded. */ + public void endElement(int nameCode) + throws javax.xml.transform.TransformerException { + // nop + } + + /** Discarded. */ + public void processingInstruction(java.lang.String name, + java.lang.String data) + throws javax.xml.transform.TransformerException { + // nop + } + + /** Discarded. */ + public void setDocumentLocator(org.xml.sax.Locator locator) { + // nop + } + + /** Discarded. */ + public void setEscaping(boolean escaping) + throws javax.xml.transform.TransformerException { + // nop + } + + /** Discarded. */ + public void setNamePool(NamePool namePool) { + // nop + } + + /** Discarded. */ + public void setUnparsedEntity(java.lang.String name, java.lang.String uri) + throws javax.xml.transform.TransformerException { + // nop + } + + /** Discarded. */ + public void setWriter(java.io.Writer writer) { + // nop + } + + /** Discarded. */ + public void startDocument() + throws javax.xml.transform.TransformerException { + // nop + } + + /** Discarded. */ + public void startElement(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, int nscount) + throws javax.xml.transform.TransformerException { + // nop + } +} diff --git a/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/NumberLinesEmitter.java b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/NumberLinesEmitter.java new file mode 100644 index 0000000..9d7466c --- /dev/null +++ b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/NumberLinesEmitter.java @@ -0,0 +1,332 @@ +package com.nwalsh.saxon; + +import java.util.Stack; +import java.util.StringTokenizer; +import org.xml.sax.*; +import org.w3c.dom.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.output.*; +import com.icl.saxon.om.*; +import com.icl.saxon.Controller; +import com.icl.saxon.tree.AttributeCollection; +import com.icl.saxon.expr.FragmentValue; + +/** + *

    Saxon extension to decorate a result tree fragment with line numbers.

    + * + *

    $Id$

    + * + *

    Copyright (C) 2000 Norman Walsh.

    + * + *

    This class provides the guts of a + * Saxon 6.* + * implementation of line numbering for verbatim environments. (It is used + * by the Verbatim class.)

    + * + *

    The general design is this: the stylesheets construct a result tree + * fragment for some verbatim environment. The Verbatim class initializes + * a NumberLinesEmitter with information about what lines should be + * numbered and how. Then the result tree fragment + * is "replayed" through the NumberLinesEmitter; the NumberLinesEmitter + * builds a + * new result tree fragment from this event stream, decorated with line + * numbers, + * and that is returned.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @see Verbatim + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @version $Id$ + * + */ +public class NumberLinesEmitter extends CopyEmitter { + /** A stack for the preserving information about open elements. */ + protected Stack elementStack = null; + + /** The current line number. */ + protected int lineNumber = 0; + + /** Is the next element absolutely the first element in the fragment? */ + protected boolean firstElement = false; + + /** The FO namespace name. */ + protected static String foURI = "http://www.w3.org/1999/XSL/Format"; + + /** The XHTML namespace name. */ + protected static String xhURI = "http://www.w3.org/1999/xhtml"; + + /** Every modulus line will be numbered. */ + protected int modulus = 5; + + /** Line numbers are width characters wide. */ + protected int width = 3; + + /** Line numbers are separated from the listing by separator. */ + protected String separator = " "; + + /** Is the stylesheet currently running an FO stylesheet? */ + protected boolean foStylesheet = false; + + /**

    Constructor for the NumberLinesEmitter.

    + * + * @param namePool The name pool to use for constructing elements and attributes. + * @param modulus The modulus to use for this listing. + * @param width The width to use for line numbers in this listing. + * @param separator The separator to use for this listing. + * @param foStylesheet Is this an FO stylesheet? + */ + public NumberLinesEmitter(Controller controller, + NamePool namePool, + int modulus, + int width, + String separator, + boolean foStylesheet) { + super(controller,namePool); + elementStack = new Stack(); + firstElement = true; + + this.modulus = modulus; + this.width = width; + this.separator = separator; + this.foStylesheet = foStylesheet; + } + + /** Process characters. */ + public void characters(char[] chars, int start, int len) + throws TransformerException { + + // If we hit characters, then there's no first element... + firstElement = false; + + if (lineNumber == 0) { + // The first line is always numbered + formatLineNumber(++lineNumber); + } + + // Walk through the text node looking for newlines + char[] newChars = new char[len]; + int pos = 0; + for (int count = start; count < start+len; count++) { + if (chars[count] == '\n') { + // This is the tricky bit; if we find a newline, make sure + // it doesn't occur inside any markup. + + if (pos > 0) { + // Output any characters that preceded this newline + rtfEmitter.characters(newChars, 0, pos); + pos = 0; + } + + // Close all the open elements... + Stack tempStack = new Stack(); + while (!elementStack.empty()) { + StartElementInfo elem = (StartElementInfo) elementStack.pop(); + rtfEmitter.endElement(elem.getNameCode()); + tempStack.push(elem); + } + + // Copy the newline to the output + newChars[pos++] = chars[count]; + rtfEmitter.characters(newChars, 0, pos); + pos = 0; + + // Add the line number + formatLineNumber(++lineNumber); + + // Now "reopen" the elements that we closed... + while (!tempStack.empty()) { + StartElementInfo elem = (StartElementInfo) tempStack.pop(); + AttributeCollection attr = (AttributeCollection)elem.getAttributes(); + AttributeCollection newAttr = new AttributeCollection(namePool); + + for (int acount = 0; acount < attr.getLength(); acount++) { + String localName = attr.getLocalName(acount); + int nameCode = attr.getNameCode(acount); + String type = attr.getType(acount); + String value = attr.getValue(acount); + String uri = attr.getURI(acount); + String prefix = ""; + + if (localName.indexOf(':') > 0) { + prefix = localName.substring(0, localName.indexOf(':')); + localName = localName.substring(localName.indexOf(':')+1); + } + + if (uri.equals("") + && ((foStylesheet + && localName.equals("id")) + || (!foStylesheet + && (localName.equals("id") + || localName.equals("name"))))) { + // skip this attribute + } else { + newAttr.addAttribute(prefix, uri, localName, type, value); + } + } + + rtfEmitter.startElement(elem.getNameCode(), + newAttr, + elem.getNamespaces(), + elem.getNSCount()); + + elementStack.push(elem); + } + } else { + newChars[pos++] = chars[count]; + } + } + + if (pos > 0) { + rtfEmitter.characters(newChars, 0, pos); + pos = 0; + } + } + + /** + *

    Add a formatted line number to the result tree fragment.

    + * + * @param lineNumber The number of the current line. + */ + protected void formatLineNumber(int lineNumber) + throws TransformerException { + + char ch = 160; //   + + String lno = ""; + if (lineNumber == 1 + || (modulus >= 1 && (lineNumber % modulus == 0))) { + lno = "" + lineNumber; + } + + while (lno.length() < width) { + lno = ch + lno; + } + + lno += separator; + + char chars[] = new char[lno.length()]; + for (int count = 0; count < lno.length(); count++) { + chars[count] = lno.charAt(count); + } + + characters(chars, 0, lno.length()); + } + + /** Process end element events. */ + public void endElement(int nameCode) + throws TransformerException { + if (!elementStack.empty()) { + // if we didn't push the very first element (an fo:block or + // pre or div surrounding the whole block), then the stack will + // be empty when we get to the end of the first element... + elementStack.pop(); + } + rtfEmitter.endElement(nameCode); + } + + /** Process start element events. */ + public void startElement(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount) + throws TransformerException { + + if (!skipThisElement(nameCode)) { + StartElementInfo sei = new StartElementInfo(nameCode, attributes, + namespaces, nscount); + elementStack.push(sei); + } + + firstElement = false; + + rtfEmitter.startElement(nameCode, attributes, namespaces, nscount); + } + + /** + *

    Protect the outer-most block wrapper.

    + * + *

    Open elements in the result tree fragment are closed and reopened + * around callouts (so that callouts don't appear inside links or other + * environments). But if the result tree fragment is a single block + * (a div or pre in HTML, an fo:block in FO), that outer-most block is + * treated specially.

    + * + *

    This method returns true if the element in question is that + * outermost block.

    + * + * @param nameCode The name code for the element + * + * @return True if the element is the outer-most block, false otherwise. + */ + protected boolean skipThisElement(int nameCode) { + // FIXME: This is such a gross hack... + if (firstElement) { + int thisFingerprint = namePool.getFingerprint(nameCode); + int foBlockFingerprint = namePool.getFingerprint(foURI, "block"); + int htmlPreFingerprint = namePool.getFingerprint("", "pre"); + int htmlDivFingerprint = namePool.getFingerprint("", "div"); + int xhtmlPreFingerprint = namePool.getFingerprint(xhURI, "pre"); + int xhtmlDivFingerprint = namePool.getFingerprint(xhURI, "div"); + + if ((foStylesheet && thisFingerprint == foBlockFingerprint) + || (!foStylesheet && (thisFingerprint == htmlPreFingerprint + || thisFingerprint == htmlDivFingerprint + || thisFingerprint == xhtmlPreFingerprint + || thisFingerprint == xhtmlDivFingerprint))) { + // Don't push the outer-most wrapping div, pre, or fo:block + return true; + } + } + + return false; + } + + /** + *

    A private class for maintaining the information required to call + * the startElement method.

    + * + *

    In order to close and reopen elements, information about those + * elements has to be maintained. This class is just the little record + * that we push on the stack to keep track of that info.

    + */ + private class StartElementInfo { + private int _nameCode; + org.xml.sax.Attributes _attributes; + int[] _namespaces; + int _nscount; + + public StartElementInfo(int nameCode, + org.xml.sax.Attributes attributes, + int[] namespaces, + int nscount) { + _nameCode = nameCode; + _attributes = attributes; + _namespaces = namespaces; + _nscount = nscount; + } + + public int getNameCode() { + return _nameCode; + } + + public org.xml.sax.Attributes getAttributes() { + return _attributes; + } + + public int[] getNamespaces() { + return _namespaces; + } + + public int getNSCount() { + return _nscount; + } + } +} diff --git a/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/Table.java b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/Table.java new file mode 100644 index 0000000..cd9add1 --- /dev/null +++ b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/Table.java @@ -0,0 +1,435 @@ +// Verbatim.java - Saxon extensions supporting DocBook verbatim environments + +package com.nwalsh.saxon; + +import java.util.Hashtable; +import org.xml.sax.*; +import org.w3c.dom.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.Controller; +import com.icl.saxon.expr.*; +import com.icl.saxon.om.*; +import com.icl.saxon.pattern.*; +import com.icl.saxon.Context; +import com.icl.saxon.tree.*; +import com.icl.saxon.functions.Extensions; + +/** + *

    Saxon extensions supporting Tables

    + * + *

    $Id$

    + * + *

    Copyright (C) 2000 Norman Walsh.

    + * + *

    This class provides a + * Saxon + * implementation of some code to adjust CALS Tables to HTML + * Tables.

    + * + *

    Column Widths

    + *

    The adjustColumnWidths method takes a result tree + * fragment (assumed to contain the colgroup of an HTML Table) + * and returns the result tree fragment with the column widths + * adjusted to HTML terms.

    + * + *

    Convert Lengths

    + *

    The convertLength method takes a length specification + * of the form 9999.99xx (where "xx" is a unit) and returns that length + * as an integral number of pixels. For convenience, percentage lengths + * are returned unchanged.

    + *

    The recognized units are: inches (in), centimeters (cm), + * millimeters (mm), picas (pc, 1pc=12pt), points (pt), and pixels (px). + * A number with no units is assumed to be pixels.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @version $Id$ + * + */ +public class Table { + /** The number of pixels per inch */ + private static int pixelsPerInch = 96; + + /** The nominal table width (6in by default). */ + private static int nominalWidth = 6 * pixelsPerInch; + + /** The default table width (100% by default). */ + private static String tableWidth = "100%"; + + /** Is this an FO stylesheet? */ + private static boolean foStylesheet = false; + + /** The hash used to associate units with a length in pixels. */ + protected static Hashtable unitHash = null; + + /** + *

    Constructor for Verbatim

    + * + *

    All of the methods are static, so the constructor does nothing.

    + */ + public Table() { + } + + /** Initialize the internal hash table with proper values. */ + protected static void initializeHash() { + unitHash = new Hashtable(); + unitHash.put("in", new Float(pixelsPerInch)); + unitHash.put("cm", new Float(pixelsPerInch / 2.54)); + unitHash.put("mm", new Float(pixelsPerInch / 25.4)); + unitHash.put("pc", new Float((pixelsPerInch / 72) * 12)); + unitHash.put("pt", new Float(pixelsPerInch / 72)); + unitHash.put("px", new Float(1)); + } + + /** Set the pixels-per-inch value. Only positive values are legal. */ + public static void setPixelsPerInch(int value) { + if (value > 0) { + pixelsPerInch = value; + initializeHash(); + } + } + + /** Return the current pixels-per-inch value. */ + public int getPixelsPerInch() { + return pixelsPerInch; + } + + /** + *

    Convert a length specification to a number of pixels.

    + * + *

    The specified length should be of the form [+/-]999.99xx, + * where xx is a valid unit.

    + */ + public static int convertLength(String length) { + // The format of length should be 999.999xx + int sign = 1; + String digits = ""; + String units = ""; + char lench[] = length.toCharArray(); + float flength = 0; + boolean done = false; + int pos = 0; + float factor = 1; + int pixels = 0; + + if (unitHash == null) { + initializeHash(); + } + + if (lench[pos] == '+' || lench[pos] == '-') { + if (lench[pos] == '-') { + sign = -1; + } + pos++; + } + + while (!done) { + if (pos >= lench.length) { + done = true; + } else { + if ((lench[pos] > '9' || lench[pos] < '0') && lench[pos] != '.') { + done = true; + units = length.substring(pos); + } else { + digits += lench[pos++]; + } + } + } + + try { + flength = Float.parseFloat(digits); + } catch (NumberFormatException e) { + System.out.println(digits + " is not a number; 1 used instead."); + flength = 1; + } + + Float f = null; + + if (!units.equals("")) { + f = (Float) unitHash.get(units); + if (f == null) { + System.out.println(units + " is not a known unit; 1 used instead."); + factor = 1; + } else { + factor = f.floatValue(); + } + } else { + factor = 1; + } + + f = new Float(flength * factor); + + pixels = f.intValue() * sign; + + return pixels; + } + + /** + *

    Find the string value of a stylesheet variable or parameter

    + * + *

    Returns the string value of varName in the current + * context. Returns the empty string if the variable is + * not defined.

    + * + * @param context The current stylesheet context + * @param varName The name of the variable (without the dollar sign) + * + * @return The string value of the variable + */ + protected static String getVariable(Context context, String varName) + throws TransformerException { + Value variable = null; + String varString = null; + + try { + variable = Extensions.evaluate(context, "$" + varName); + varString = variable.asString(); + return varString; + } catch (IllegalArgumentException e) { + System.out.println("Undefined variable: " + varName); + return ""; + } + } + + /** + *

    Setup the parameters associated with column width calculations

    + * + *

    This method queries the stylesheet for the variables + * associated with table column widths. It is called automatically before + * column widths are adjusted. The context is used to retrieve the values, + * this allows templates to redefine these variables.

    + * + *

    The following variables are queried. If the variables do not + * exist, builtin defaults will be used (but you may also get a bunch + * of messages from the Java interpreter).

    + * + *
    + *
    nominal.table.width
    + *
    The "normal" width for tables. This must be an absolute length.
    + *
    table.width
    + *
    The width for tables. This may be either an absolute + * length or a percentage.
    + *
    + * + * @param context The current stylesheet context + * + */ + private static void setupColumnWidths(Context context) { + // Hardcoded defaults + nominalWidth = 6 * pixelsPerInch; + tableWidth = "100%"; + + String varString = null; + + try { + // Get the stylesheet type + varString = getVariable(context, "stylesheet.result.type"); + foStylesheet = varString.equals("fo"); + + // Get the nominal table width + varString = getVariable(context, "nominal.table.width"); + nominalWidth = convertLength(varString); + + // Get the table width + varString = getVariable(context, "table.width"); + tableWidth = varString; + } catch (TransformerException e) { + //nop, can't happen + } + } + + /** + *

    Adjust column widths in an HTML table.

    + * + *

    The specification of column widths in CALS (a relative width + * plus an optional absolute width) are incompatible with HTML column + * widths. This method adjusts CALS column width specifiers in an + * attempt to produce equivalent HTML specifiers.

    + * + *

    In order for this method to work, the CALS width specifications + * should be placed in the "width" attribute of the <col>s within + * a <colgroup>. Then the colgroup result tree fragment is passed + * to this method.

    + * + *

    This method makes use of two parameters from the XSL stylesheet + * that calls it: nominal.table.width and + * table.width. The value of nominal.table.width + * must be an absolute distance. The value of table.width + * can be either absolute or relative.

    + * + *

    Presented with a mixture of relative and + * absolute lengths, the table width is used to calculate + * appropriate values. If the table.width is relative, + * the nominal width is used for this calculation.

    + * + *

    There are three possible combinations of values:

    + * + *
      + *
    1. There are no relative widths; in this case the absolute widths + * are used in the HTML table.
    2. + *
    3. There are no absolute widths; in this case the relative widths + * are used in the HTML table.
    4. + *
    5. There are a mixture of absolute and relative widths: + *
        + *
      1. If the table width is absolute, all widths become absolute.
      2. + *
      3. If the table width is relative, make all the widths absolute + * relative to the nominal table width then turn them all + * back into relative widths.
      4. + *
      + *
    6. + *
    + * + * @param context The stylesheet context; supplied automatically by Saxon + * @param rtf The result tree fragment containing the colgroup. + * + * @return The result tree fragment containing the adjusted colgroup. + * + */ + public static NodeSetValue adjustColumnWidths (Context context, + NodeSetValue rtf_ns) { + + FragmentValue rtf = (FragmentValue) rtf_ns; + + setupColumnWidths(context); + + try { + Controller controller = context.getController(); + NamePool namePool = controller.getNamePool(); + + ColumnScanEmitter csEmitter = new ColumnScanEmitter(namePool); + rtf.replay(csEmitter); + + int numColumns = csEmitter.columnCount(); + String widths[] = csEmitter.columnWidths(); + + float relTotal = 0; + float relParts[] = new float[numColumns]; + + float absTotal = 0; + float absParts[] = new float[numColumns]; + + for (int count = 0; count < numColumns; count++) { + String width = widths[count]; + + int pos = width.indexOf("*"); + if (pos >= 0) { + String relPart = width.substring(0, pos); + String absPart = width.substring(pos+1); + + try { + float rel = Float.parseFloat(relPart); + relTotal += rel; + relParts[count] = rel; + } catch (NumberFormatException e) { + System.out.println(relPart + " is not a valid relative unit."); + } + + int pixels = 0; + if (absPart != null && !absPart.equals("")) { + pixels = convertLength(absPart); + } + + absTotal += pixels; + absParts[count] = pixels; + } else { + relParts[count] = 0; + + int pixels = 0; + if (width != null && !width.equals("")) { + pixels = convertLength(width); + } + + absTotal += pixels; + absParts[count] = pixels; + } + } + + // Ok, now we have the relative widths and absolute widths in + // two parallel arrays. + // + // - If there are no relative widths, output the absolute widths + // - If there are no absolute widths, output the relative widths + // - If there are a mixture of relative and absolute widths, + // - If the table width is absolute, turn these all into absolute + // widths. + // - If the table width is relative, turn these all into absolute + // widths in the nominalWidth and then turn them back into + // percentages. + + if (relTotal == 0) { + for (int count = 0; count < numColumns; count++) { + Float f = new Float(absParts[count]); + if (foStylesheet) { + int pixels = f.intValue(); + float inches = (float) pixels / pixelsPerInch; + widths[count] = inches + "in"; + } else { + widths[count] = Integer.toString(f.intValue()); + } + } + } else if (absTotal == 0) { + for (int count = 0; count < numColumns; count++) { + float rel = relParts[count] / relTotal * 100; + Float f = new Float(rel); + widths[count] = Integer.toString(f.intValue()) + "%"; + } + } else { + int pixelWidth = nominalWidth; + + if (tableWidth.indexOf("%") <= 0) { + pixelWidth = convertLength(tableWidth); + } + + if (pixelWidth <= absTotal) { + System.out.println("Table is wider than table width."); + } else { + pixelWidth -= absTotal; + } + + absTotal = 0; + for (int count = 0; count < numColumns; count++) { + float rel = relParts[count] / relTotal * pixelWidth; + relParts[count] = rel + absParts[count]; + absTotal += rel + absParts[count]; + } + + if (tableWidth.indexOf("%") <= 0) { + for (int count = 0; count < numColumns; count++) { + Float f = new Float(relParts[count]); + if (foStylesheet) { + int pixels = f.intValue(); + float inches = (float) pixels / pixelsPerInch; + widths[count] = inches + "in"; + } else { + widths[count] = Integer.toString(f.intValue()); + } + } + } else { + for (int count = 0; count < numColumns; count++) { + float rel = relParts[count] / absTotal * 100; + Float f = new Float(rel); + widths[count] = Integer.toString(f.intValue()) + "%"; + } + } + } + + ColumnUpdateEmitter cuEmitter = new ColumnUpdateEmitter(controller, + namePool, + widths); + + rtf.replay(cuEmitter); + return cuEmitter.getResultTreeFragment(); + } catch (TransformerException e) { + // This "can't" happen. + System.out.println("Transformer Exception in adjustColumnWidths"); + return rtf; + } + } +} diff --git a/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/Text.java b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/Text.java new file mode 100644 index 0000000..f5a95d7 --- /dev/null +++ b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/Text.java @@ -0,0 +1,132 @@ +// Text - Saxon extension element for inserting text + +package com.nwalsh.saxon; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.io.InputStream; +import java.io.IOException; +import java.io.FileNotFoundException; +import java.net.URL; +import java.net.MalformedURLException; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerConfigurationException; +import com.icl.saxon.*; +import com.icl.saxon.style.*; +import com.icl.saxon.expr.*; +import com.icl.saxon.output.*; +import org.xml.sax.AttributeList; + +/** + *

    Saxon extension element for inserting text + * + *

    $Id$

    + * + *

    Copyright (C) 2000 Norman Walsh.

    + * + *

    This class provides a + * Saxon + * extension element for inserting text into a result tree.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @version $Id$ + * + */ +public class Text extends StyleElement { + /** + *

    Constructor for Text

    + * + *

    Does nothing.

    + */ + public Text() { + } + + /** + *

    Is this element an instruction?

    + * + *

    Yes, it is.

    + * + * @return true + */ + public boolean isInstruction() { + return true; + } + + /** + *

    Can this element contain a template-body?

    + * + *

    Yes, it can, but only so that it can contain xsl:fallback.

    + * + * @return true + */ + public boolean mayContainTemplateBody() { + return true; + } + + /** + *

    Validate the arguments

    + * + *

    The element must have an href attribute.

    + */ + public void prepareAttributes() throws TransformerConfigurationException { + // Get mandatory href attribute + String fnAtt = getAttribute("href"); + if (fnAtt == null) { + reportAbsence("href"); + } + } + + /** Validate that the element occurs in a reasonable place. */ + public void validate() throws TransformerConfigurationException { + checkWithinTemplate(); + } + + /** + *

    Insert the text of the file into the result tree

    + * + *

    Processing this element inserts the contents of the URL named + * by the href attribute into the result tree as plain text.

    + * + */ + public void process( Context context ) throws TransformerException { + Outputter out = context.getOutputter(); + + String hrefAtt = getAttribute("href"); + Expression hrefExpr = makeAttributeValueTemplate(hrefAtt); + String href = hrefExpr.evaluateAsString(context); + URL fileURL = null; + + try { + try { + fileURL = new URL(href); + } catch (MalformedURLException e1) { + try { + fileURL = new URL("file:" + href); + } catch (MalformedURLException e2) { + System.out.println("Cannot open " + href); + return; + } + } + + InputStreamReader isr = new InputStreamReader(fileURL.openStream()); + BufferedReader is = new BufferedReader(isr); + + char chars[] = new char[4096]; + int len = 0; + while ((len = is.read(chars)) > 0) { + out.writeContent(chars, 0, len); + } + is.close(); + } catch (Exception e) { + System.out.println("Cannot read " + href); + } + } +} diff --git a/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/TextFactory.java b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/TextFactory.java new file mode 100644 index 0000000..ccf5001 --- /dev/null +++ b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/TextFactory.java @@ -0,0 +1,67 @@ +// TextFactory - Saxon extension element factory + +package com.nwalsh.saxon; + +import com.icl.saxon.style.ExtensionElementFactory; +import org.xml.sax.SAXException; + +/** + *

    Saxon extension element factory + * + *

    $Id$

    + * + *

    Copyright (C) 2000 Norman Walsh.

    + * + *

    This class provides a + * Saxon + * extension element factory for the Text extension element + * family.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @version $Id$ + * + * @see Text + * + */ +public class TextFactory implements ExtensionElementFactory { + /** + *

    Constructor for TextFactory

    + * + *

    Does nothing.

    + */ + public TextFactory() { + } + + /** + *

    Return the class that implements a particular extension element.

    + * + * @param localname The local name of the extension element. + * + * @return The class that handles that extension element. + * + * @exception SAXException("Unknown Text extension element") + */ + public Class getExtensionClass(String localname) { + if (localname.equals("insertfile")) { + try { + return Class.forName("com.nwalsh.saxon.Text"); + } catch (ClassNotFoundException e) { + return null; + } + } + return null; + } +} + + + + + diff --git a/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/Verbatim.java b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/Verbatim.java new file mode 100644 index 0000000..1ba7532 --- /dev/null +++ b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/Verbatim.java @@ -0,0 +1,476 @@ +// Verbatim.java - Saxon extensions supporting DocBook verbatim environments + +package com.nwalsh.saxon; + +import java.util.Stack; +import java.util.StringTokenizer; +import org.xml.sax.*; +import org.w3c.dom.*; +import javax.xml.transform.TransformerException; +import com.icl.saxon.Controller; +import com.icl.saxon.expr.*; +import com.icl.saxon.om.*; +import com.icl.saxon.pattern.*; +import com.icl.saxon.Context; +import com.icl.saxon.tree.*; +import com.icl.saxon.functions.Extensions; +import com.nwalsh.saxon.NumberLinesEmitter; +import com.nwalsh.saxon.CalloutEmitter; + +/** + *

    Saxon extensions supporting DocBook verbatim environments

    + * + *

    $Id$

    + * + *

    Copyright (C) 2000 Norman Walsh.

    + * + *

    This class provides a + * Saxon + * implementation of two features that would be impractical to + * implement directly in XSLT: line numbering and callouts.

    + * + *

    Line Numbering

    + *

    The numberLines method takes a result tree + * fragment (assumed to contain the contents of a formatted verbatim + * element in DocBook: programlisting, screen, address, literallayout, + * or synopsis) and returns a result tree fragment decorated with + * line numbers.

    + * + *

    Callouts

    + *

    The insertCallouts method takes an + * areaspec and a result tree fragment + * (assumed to contain the contents of a formatted verbatim + * element in DocBook: programlisting, screen, address, literallayout, + * or synopsis) and returns a result tree fragment decorated with + * callouts.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @version $Id$ + * + */ +public class Verbatim { + /** True if the stylesheet is producing formatting objects */ + private static boolean foStylesheet = false; + /** The modulus for line numbering (every 'modulus' line is numbered). */ + private static int modulus = 0; + /** The width (in characters) of line numbers (for padding). */ + private static int width = 0; + /** The separator between the line number and the verbatim text. */ + private static String separator = ""; + + /** True if callouts have been setup */ + private static boolean calloutsSetup = false; + /** The default column for callouts that have only a line or line range */ + private static int defaultColumn = 60; + /** The path to use for graphical callout decorations. */ + private static String graphicsPath = null; + /** The extension to use for graphical callout decorations. */ + private static String graphicsExt = null; + /** The largest callout number that can be represented graphically. */ + private static int graphicsMax = 10; + + /** The FormatCallout object to use for formatting callouts. */ + private static FormatCallout fCallout = null; + + /** + *

    Constructor for Verbatim

    + * + *

    All of the methods are static, so the constructor does nothing.

    + */ + public Verbatim() { + } + + /** + *

    Find the string value of a stylesheet variable or parameter

    + * + *

    Returns the string value of varName in the current + * context. Returns the empty string if the variable is + * not defined.

    + * + * @param context The current stylesheet context + * @param varName The name of the variable (without the dollar sign) + * + * @return The string value of the variable + */ + protected static String getVariable(Context context, String varName) { + Value variable = null; + String varString = null; + + try { + variable = Extensions.evaluate(context, "$" + varName); + varString = variable.asString(); + return varString; + } catch (TransformerException te) { + System.out.println("Undefined variable: " + varName); + return ""; + } catch (IllegalArgumentException iae) { + System.out.println("Undefined variable: " + varName); + return ""; + } + } + + /** + *

    Setup the parameters associated with line numbering

    + * + *

    This method queries the stylesheet for the variables + * associated with line numbering. It is called automatically before + * lines are numbered. The context is used to retrieve the values, + * this allows templates to redefine these variables.

    + * + *

    The following variables are queried. If the variables do not + * exist, builtin defaults will be used (but you may also get a bunch + * of messages from the Java interpreter).

    + * + *
    + *
    linenumbering.everyNth
    + *
    Specifies the lines that will be numbered. The first line is + * always numbered. (builtin default: 5).
    + *
    linenumbering.width
    + *
    Specifies the width of the numbers. If the specified width is too + * narrow for the largest number needed, it will automatically be made + * wider. (builtin default: 3).
    + *
    linenumbering.separator
    + *
    Specifies the string that separates line numbers from lines + * in the program listing. (builtin default: " ").
    + *
    stylesheet.result.type
    + *
    Specifies the stylesheet result type. The value is either 'fo' + * (for XSL Formatting Objects) or it isn't. (builtin default: html).
    + *
    + * + * @param context The current stylesheet context + * + */ + private static void setupLineNumbering(Context context) { + // Hardcoded defaults + modulus = 5; + width = 3; + separator = " "; + foStylesheet = false; + + String varString = null; + + // Get the modulus + varString = getVariable(context, "linenumbering.everyNth"); + try { + modulus = Integer.parseInt(varString); + } catch (NumberFormatException nfe) { + System.out.println("$linenumbering.everyNth is not a number: " + varString); + } + + // Get the width + varString = getVariable(context, "linenumbering.width"); + try { + width = Integer.parseInt(varString); + } catch (NumberFormatException nfe) { + System.out.println("$linenumbering.width is not a number: " + varString); + } + + // Get the separator + varString = getVariable(context, "linenumbering.separator"); + separator = varString; + + // Get the stylesheet type + varString = getVariable(context, "stylesheet.result.type"); + foStylesheet = (varString.equals("fo")); + } + + /** + *

    Number lines in a verbatim environment

    + * + *

    The extension function expects the following variables to be + * available in the calling context: $linenumbering.everyNth, + * $linenumbering.width, $linenumbering.separator, and + * $stylesheet.result.type.

    + * + *

    This method adds line numbers to a result tree fragment. Each + * newline that occurs in a text node is assumed to start a new line. + * The first line is always numbered, every subsequent 'everyNth' line + * is numbered (so if everyNth=5, lines 1, 5, 10, 15, etc. will be + * numbered. If there are fewer than everyNth lines in the environment, + * every line is numbered.

    + * + *

    Every line number will be right justified in a string 'width' + * characters long. If the line number of the last line in the + * environment is too long to fit in the specified width, the width + * is automatically increased to the smallest value that can hold the + * number of the last line. (In other words, if you specify the value 2 + * and attempt to enumerate the lines of an environment that is 100 lines + * long, the value 3 will automatically be used for every line in the + * environment.)

    + * + *

    The 'separator' string is inserted between the line + * number and the original program listing. Lines that aren't numbered + * are preceded by a 'width' blank string and the separator.

    + * + *

    If inline markup extends across line breaks, markup changes are + * required. All the open elements are closed before the line break and + * "reopened" afterwards. The reopened elements will have the same + * attributes as the originals, except that 'name' and 'id' attributes + * are not duplicated if the stylesheet.result.type is "html" and + * 'id' attributes will not be duplicated if the result type is "fo".

    + * + * @param rtf The result tree fragment of the verbatim environment. + * + * @return The modified result tree fragment. + */ + public static NodeSetValue numberLines (Context context, + NodeSetValue rtf_ns) { + + FragmentValue rtf = (FragmentValue) rtf_ns; + + setupLineNumbering(context); + + try { + LineCountEmitter lcEmitter = new LineCountEmitter(); + rtf.replay(lcEmitter); + int numLines = lcEmitter.lineCount(); + + int listingModulus = numLines < modulus ? 1 : modulus; + + double log10numLines = Math.log(numLines) / Math.log(10); + + int listingWidth = width < log10numLines+1 + ? (int) Math.floor(log10numLines + 1) + : width; + + Controller controller = context.getController(); + NamePool namePool = controller.getNamePool(); + NumberLinesEmitter nlEmitter = new NumberLinesEmitter(controller, + namePool, + listingModulus, + listingWidth, + separator, + foStylesheet); + rtf.replay(nlEmitter); + return nlEmitter.getResultTreeFragment(); + } catch (TransformerException e) { + // This "can't" happen. + System.out.println("Transformer Exception in numberLines"); + return rtf; + } + } + + /** + *

    Setup the parameters associated with callouts

    + * + *

    This method queries the stylesheet for the variables + * associated with line numbering. It is called automatically before + * callouts are processed. The context is used to retrieve the values, + * this allows templates to redefine these variables.

    + * + *

    The following variables are queried. If the variables do not + * exist, builtin defaults will be used (but you may also get a bunch + * of messages from the Java interpreter).

    + * + *
    + *
    callout.graphics
    + *
    Are we using callout graphics? A value of 0 or "" is false, + * any other value is true. If callout graphics are not used, the + * parameters related to graphis are not queried.
    + *
    callout.graphics.path
    + *
    Specifies the path to callout graphics.
    + *
    callout.graphics.extension
    + *
    Specifies the extension ot use for callout graphics.
    + *
    callout.graphics.number.limit
    + *
    Identifies the largest number that can be represented as a + * graphic. Larger callout numbers will be represented using text.
    + *
    callout.defaultcolumn
    + *
    Specifies the default column for callout bullets that do not + * specify a column.
    + *
    stylesheet.result.type
    + *
    Specifies the stylesheet result type. The value is either 'fo' + * (for XSL Formatting Objects) or it isn't. (builtin default: html).
    + *
    + * + * @param context The current stylesheet context + * + */ + private static void setupCallouts(Context context) { + NamePool namePool = context.getController().getNamePool(); + + boolean useGraphics = false; + boolean useUnicode = false; + + int unicodeStart = 49; + int unicodeMax = 0; + + String unicodeFont = ""; + + // Hardcoded defaults + defaultColumn = 60; + graphicsPath = null; + graphicsExt = null; + graphicsMax = 0; + foStylesheet = false; + calloutsSetup = true; + + Value variable = null; + String varString = null; + + // Get the stylesheet type + varString = getVariable(context, "stylesheet.result.type"); + foStylesheet = (varString.equals("fo")); + + // Get the default column + varString = getVariable(context, "callout.defaultcolumn"); + try { + defaultColumn = Integer.parseInt(varString); + } catch (NumberFormatException nfe) { + System.out.println("$callout.defaultcolumn is not a number: " + + varString); + } + + // Use graphics at all? + varString = getVariable(context, "callout.graphics"); + useGraphics = !(varString.equals("0") || varString.equals("")); + + // Use unicode at all? + varString = getVariable(context, "callout.unicode"); + useUnicode = !(varString.equals("0") || varString.equals("")); + + if (useGraphics) { + // Get the graphics path + varString = getVariable(context, "callout.graphics.path"); + graphicsPath = varString; + + // Get the graphics extension + varString = getVariable(context, "callout.graphics.extension"); + graphicsExt = varString; + + // Get the number limit + varString = getVariable(context, "callout.graphics.number.limit"); + try { + graphicsMax = Integer.parseInt(varString); + } catch (NumberFormatException nfe) { + System.out.println("$callout.graphics.number.limit is not a number: " + + varString); + graphicsMax = 0; + } + + fCallout = new FormatGraphicCallout(namePool, + graphicsPath, + graphicsExt, + graphicsMax, + foStylesheet); + } else if (useUnicode) { + // Get the starting character + varString = getVariable(context, "callout.unicode.start.character"); + try { + unicodeStart = Integer.parseInt(varString); + } catch (NumberFormatException nfe) { + System.out.println("$callout.unicode.start.character is not a number: " + + varString); + unicodeStart = 48; + } + + // Get the number limit + varString = getVariable(context, "callout.unicode.number.limit"); + try { + unicodeMax = Integer.parseInt(varString); + } catch (NumberFormatException nfe) { + System.out.println("$callout.unicode.number.limit is not a number: " + + varString); + unicodeStart = 0; + } + + // Get the font + unicodeFont = getVariable(context, "callout.unicode.font"); + if (unicodeFont == null) { + unicodeFont = ""; + } + + fCallout = new FormatUnicodeCallout(namePool, + unicodeFont, + unicodeStart, + unicodeMax, + foStylesheet); + } else { + fCallout = new FormatTextCallout(namePool, foStylesheet); + } + } + + /** + *

    Insert text callouts into a verbatim environment.

    + * + *

    This method examines the areaset and area elements + * in the supplied areaspec and decorates the supplied + * result tree fragment with appropriate callout markers.

    + * + *

    If a label attribute is supplied on an area, + * its content will be used for the label, otherwise the callout + * number will be used, surrounded by parenthesis. Callout numbers may + * also be represented as graphics. Callouts are + * numbered in document order. All of the areas in an + * areaset get the same number.

    + * + *

    Only the linecolumn and linerange units are + * supported. If no unit is specifed, linecolumn is assumed. + * If only a line is specified, the callout decoration appears in + * the defaultColumn. Lines will be padded with blanks to reach the + * necessary column, but callouts that are located beyond the last + * line of the verbatim environment will be ignored.

    + * + *

    Callouts are inserted before the character at the line/column + * where they are to occur.

    + * + *

    If graphical callouts are used, and the callout number is less + * than or equal to the $callout.graphics.number.limit, the following image + * will be generated for HTML: + * + *

    +   * <img src="$callout.graphics.path/999$callout.graphics.ext"
    +   *         alt="conumber">
    +   * 
    + * + * If the $stylesheet.result.type is 'fo', the following image will + * be generated: + * + *
    +   * <fo:external-graphic src="$callout.graphics.path/999$callout.graphics.ext"/>
    +   * 
    + * + *

    If the callout number exceeds $callout.graphics.number.limit, + * the callout will be the callout number surrounded by + * parenthesis.

    + * + * @param context The stylesheet context. + * @param areaspecNodeSet The source node set that contains the areaspec. + * @param rtf The result tree fragment of the verbatim environment. + * + * @return The modified result tree fragment. + */ + + public static NodeSetValue insertCallouts (Context context, + NodeList areaspecNodeList, + NodeSetValue rtf_ns) { + + FragmentValue rtf = (FragmentValue) rtf_ns; + + setupCallouts(context); + + try { + Controller controller = context.getController(); + NamePool namePool = controller.getNamePool(); + CalloutEmitter cEmitter = new CalloutEmitter(controller, + namePool, + defaultColumn, + foStylesheet, + fCallout); + cEmitter.setupCallouts(areaspecNodeList); + rtf.replay(cEmitter); + return cEmitter.getResultTreeFragment(); + } catch (TransformerException e) { + // This "can't" happen. + System.out.println("Transformer Exception in insertCallouts"); + return rtf; + } + } +} diff --git a/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/package.html b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/package.html new file mode 100644 index 0000000..b05a467 --- /dev/null +++ b/rosdocs/xsl/extensions/saxon643/com/nwalsh/saxon/package.html @@ -0,0 +1,48 @@ + + +Norman Walsh's Saxon Extensions Package + + +

    Norman Walsh's Saxon Extensions Package for Saxon 6.*

    + +

    This package implements Saxon extensions for XSLT.

    + +

    Copyright (C) 2000 Norman Walsh

    +

    Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and 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.

    + +

    Except as contained in this notice, the names of individuals +credited with contribution to this software shall not be used in +advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from the +individuals in question.

    + +

    Anything derived from this Software that is publically +distributed will be identified with a different name and the +version strings in any derived Software will be changed so that no +possibility of confusion between the derived package and this +Software will exist.

    + + +
    +

    Warranty

    +

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL NORMAN WALSH OR ANY OTHER +CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE.

    +
    + + + diff --git a/rosdocs/xsl/extensions/saxon643/prj.el b/rosdocs/xsl/extensions/saxon643/prj.el new file mode 100644 index 0000000..0aeb9a8 --- /dev/null +++ b/rosdocs/xsl/extensions/saxon643/prj.el @@ -0,0 +1,218 @@ + + + + + + + + + + +(jde-set-project-name "saxon") +(jde-set-variables + '(jde-gen-session-bean-template (quote ("(jde-import-insert-imports-into-buffer (list \"javax.ejb.*\" +\"java.rmi.RemoteException\"))" "(jde-wiz-update-implements-clause \"SessionBean\")" "'> \"public void ejbActivate() throws RemoteException {\"'>'n \"}\"'>'n +'>'n" "'> \"public void ejbPassivate() throws RemoteException {\"'>'n \"}\"'>'n +'>'n" "'> \"public void ejbRemove() throws RemoteException {\"'>'n \"}\"'>'n '>'n" "'> \"public void setSessionContext(SessionContext ctx) throws +RemoteException {\"" "'>'n \"}\"'>'n '>'n" "'> \"public void unsetSessionContext() throws RemoteException {\"'>'n +\"}\"'>'n '>'n'>"))) + '(jde-gen-beep (quote ("(end-of-line) '&" "\"Toolkit.getDefaultToolkit().beep();\"'>'n'>"))) + '(jde-which-method-format (quote ("[" jde-which-method-current "]"))) + '(jde-run-classic-mode-vm nil) + '(jde-javadoc-gen-nodeprecatedlist nil) + '(jde-which-method-max-length 20) + '(jde-imenu-include-classdef t) + '(jde-javadoc-gen-link-online nil) + '(jde-gen-code-templates (quote (("Get Set Pair" . jde-gen-get-set) ("toString method" . jde-gen-to-string-method) ("Action Listener" . jde-gen-action-listener) ("Window Listener" . jde-gen-window-listener) ("Mouse Listener" . jde-gen-mouse-listener) ("Mouse Motion Listener" . jde-gen-mouse-motion-listener) ("Inner Class" . jde-gen-inner-class) ("println" . jde-gen-println) ("beep" . jde-gen-beep) ("property change support" . jde-gen-property-change-support) ("EJB Entity Bean" . jde-gen-entity-bean) ("EJB Session Bean" . jde-gen-session-bean)))) + '(jde-gen-cflow-else (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"else\")" "'(l '> \"else \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of else\"'>'n'>)" ")"))) + '(jde-make-args "") + '(jde-javadoc-gen-destination-directory "JavaDoc") + '(jde-mode-line-format (quote ("-" mode-line-mule-info mode-line-modified mode-line-frame-identification mode-line-buffer-identification " " global-mode-string " %[(" mode-name mode-line-process minor-mode-alist "%n" ")%]--" (line-number-mode "L%l--") (column-number-mode "C%c--") (-3 . "%p") (jde-which-method-mode ("--" jde-which-method-format "--")) "-%-"))) + '(jde-mode-abbreviations (quote (("ab" . "abstract") ("bo" . "boolean") ("br" . "break") ("by" . "byte") ("byv" . "byvalue") ("cas" . "cast") ("ca" . "catch") ("ch" . "char") ("cl" . "class") ("co" . "const") ("con" . "continue") ("de" . "default") ("dou" . "double") ("el" . "else") ("ex" . "extends") ("fa" . "false") ("fi" . "final") ("fin" . "finally") ("fl" . "float") ("fo" . "for") ("fu" . "future") ("ge" . "generic") ("go" . "goto") ("impl" . "implements") ("impo" . "import") ("ins" . "instanceof") ("in" . "int") ("inte" . "interface") ("lo" . "long") ("na" . "native") ("ne" . "new") ("nu" . "null") ("pa" . "package") ("pri" . "private") ("pro" . "protected") ("pu" . "public") ("re" . "return") ("sh" . "short") ("st" . "static") ("su" . "super") ("sw" . "switch") ("sy" . "synchronized") ("th" . "this") ("thr" . "throw") ("throw" . "throws") ("tra" . "transient") ("tr" . "true") ("vo" . "void") ("vol" . "volatile") ("wh" . "while")))) + '(jde-imenu-enable t) + '(jde-compile-option-verbose nil) + '(jde-db-option-heap-size (quote ((1 . "megabytes") (16 . "megabytes")))) + '(jde-bug-debugger-host-address "localhost" t) + '(jde-make-working-directory "") + '(jde-bug-breakpoint-marker-colors (quote ("red" . "yellow"))) + '(jde-javadoc-gen-use nil) + '(jde-gen-buffer-boilerplate nil) + '(jde-bug-raise-frame-p t) + '(jde-db-option-application-args (quote ("-IN" "/share/xsl/docbook/test/exttest.xml" "-XSL " "/share/xsl/docbook/test/exttest.xsl")) t) + '(jde-javadoc-gen-nonavbar nil) + '(jde-javadoc-gen-nohelp nil) + '(jde-bug-vm-includes-jpda-p nil) + '(jde-gen-jfc-app-buffer-template (quote ("(funcall jde-gen-boilerplate-function) '>'n" "\"import java.awt.Dimension;\" '>'n" "\"import java.awt.Graphics;\" '>'n" "\"import java.awt.Graphics2D;\" '>'n" "\"import java.awt.Color;\" '>'n" "\"import java.awt.geom.Ellipse2D;\" '>'n" "\"import java.awt.event.WindowAdapter;\" '>'n" "\"import java.awt.event.WindowEvent;\" '>'n" "\"import javax.swing.JFrame;\" '>'n" "\"import javax.swing.JPanel;\" '>'n" "\"import javax.swing.JScrollPane;\" '>'n" "\"import javax.swing.JMenuBar;\" '>'n" "\"import javax.swing.JMenu;\" '>'n" "\"import java.awt.event.ActionEvent;\" '>'n" "\"import javax.swing.AbstractAction;\" '>'n '>'n" "\"/**\" '>'n" "\" * \"" "(file-name-nondirectory buffer-file-name) '>'n" "\" *\" '>'n" "\" *\" '>'n" "\" * Created: \" (current-time-string) '>'n" "\" *\" '>'n" "\" * @author \"'>'n" "\" * @version\" '>'n" "\" */\" '>'n" "'>'n" "\"public class \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" extends JFrame\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"class Canvas extends JPanel\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public Canvas () \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"setSize(getPreferredSize());\" '>'n" "\"Canvas.this.setBackground(Color.white);\" '>'n" "\"}\"'>'n '>'n" "\"public Dimension getPreferredSize() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"return new Dimension(600, 600);\" '>'n" "\"}\"'>'n '>'n" "\"public void paintComponent(Graphics g) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"super.paintComponent(g);\" '>'n" "\"Graphics2D g2d = (Graphics2D) g;\" '>'n" "\"Ellipse2D circle = new Ellipse2D.Double(0d, 0d, 100d, 100d);\" '>'n" "\"g2d.setColor(Color.red);\" '>'n" "\"g2d.translate(10, 10);\" '>'n" "\"g2d.draw(circle);\" '>'n" "\"g2d.fill(circle);\" '>'n" "\"}\"'>'n " "\"}\"'>'n '>'n" "\"public \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\"()\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"super(\\\"\" (P \"Enter app title: \") \"\\\");\" '>'n" "\"setSize(300, 300);\" '>'n" "\"addWindowListener(new WindowAdapter() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public void windowClosing(WindowEvent e) {System.exit(0);}\" '>'n" "\"public void windowOpened(WindowEvent e) {}\" '>'n" "\"});\"'>'n" "\"setJMenuBar(createMenu());\" '>'n" "\"getContentPane().add(new JScrollPane(new Canvas()));\" '>'n" "\"}\"'>'n" "'>'n" "\"public static void main(String[] args) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" f = new \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\"();\" '>'n" "\"f.show();\" '>'n" "\"}\"'>'n '>'n" "\"protected JMenuBar createMenu() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"JMenuBar mb = new JMenuBar();\" '>'n" "\"JMenu menu = new JMenu(\\\"File\\\");\" '>'n" "\"menu.add(new AbstractAction(\\\"Exit\\\") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public void actionPerformed(ActionEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"System.exit(0);\" '>'n" "\"}\" '>'n" "\"});\" '>'n" "\"mb.add(menu);\" '>'n" "\"return mb;\" '>'n" "\"}\"'>'n " "\"} // \"'>" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "'>'n"))) + '(jde-bug-key-bindings (quote (("[? ? ?]" . jde-bug-step-over) ("[? ? ?]" . jde-bug-step-into) ("[? ? ?]" . jde-bug-step-into-all) ("[? ? ?]" . jde-bug-step-out) ("[? ? ?]" . jde-bug-continue) ("[? ? ?]" . jde-bug-toggle-breakpoint)))) + '(jde-compile-finish-hook (quote (jde-compile-finish-refresh-speedbar jde-compile-finish-flush-completion-cache))) + '(jde-compile-option-nowarn nil) + '(jde-setnu-mode-threshold 20000) + '(jde-run-java-vm-w "javaw") + '(jde-compile-option-encoding nil) + '(jde-run-option-java-profile (quote (nil . "./java.prof"))) + '(jde-bug-jpda-directory "/usr/local/jdk1.2.2" t) + '(jde-read-compile-args nil) + '(jde-run-java-vm "java") + '(jde-db-option-verbose (quote (nil nil nil))) + '(jde-which-method-class-min-length 4) + '(jde-db-read-app-args nil) + '(jde-javadoc-gen-nodeprecated nil) + '(jde-run-option-heap-profile (quote (nil "./java.hprof" 5 20 "Allocation objects"))) + '(jde-gen-println (quote ("(end-of-line) '&" "\"System.out.println(\" (P \"Print out: \") \");\" '>'n'>"))) + '(jde-enable-abbrev-mode nil) + '(jde-auto-parse-max-buffer-size 50000) + '(jde-gen-cflow-main (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"main\")" "'(l '> \"public static void main (String[] args) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of main ()\"'>'n'>)" ")"))) + '(jde-javadoc-exception-tag-template "\"* @exception \" type \" if an error occurs\"") + '(jde-global-classpath nil t) + '(jde-gen-window-listener-template (quote ("(end-of-line) '& (P \"Window name: \")" "\".addWindowListener(new WindowAdapter() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"public void windowActivated(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"" "'>'n \"public void windowClosed(WindowEvent e)\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"public void windowClosing(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"System.exit(0);\" '>'n \"}\"" "'>'n \"public void windowDeactivated(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"public void windowDeiconified(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"public void windowIconified(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"public void windowOpened(WindowEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n \"}\"" "'>'n \"});\" '>'n'>"))) + '(jde-run-working-directory "/share/xsl/docbook/extensions" t) + '(jde-gen-property-change-support (quote ("(end-of-line) '&" "\"protected PropertyChangeSupport pcs = new PropertyChangeSupport(this);\" '>'n '>'n" "\"/**\" '>'n" "\"* Adds a PropertyChangeListener to the listener list.\" '>'n" "\"* The listener is registered for all properties.\" '>'n" "\"*\" '>'n" "\"* @param listener The PropertyChangeListener to be added\" '>'n" "\"*/\" '>'n" "\"public void addPropertyChangeListener(PropertyChangeListener listener) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"pcs.addPropertyChangeListener(listener);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n" "\"* Removes a PropertyChangeListener from the listener list.\" '>'n" "\"* This removes a PropertyChangeListener that was registered for all properties.\" '>'n" "\"*\" '>'n " "\"* @param listener The PropertyChangeListener to be removed\" '>'n" "\"*/\" '>'n" "\"public void removePropertyChangeListener(PropertyChangeListener listener) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>\"pcs.removePropertyChangeListener(listener);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Adds a PropertyChangeListener for a specific property.\" '>'n" "\"* The listener will be invoked only when a call on firePropertyChange\" '>'n" "\"* names that specific property.\" '>'n" "\"*\" '>'n \"* @param propertyName The name of the property to listen on\" '>'n" "\"* @param listener The PropertyChangeListener to be added\" '>'n \"*/\" '>'n" "\"public void addPropertyChangeListener(String propertyName,\" '>'n" "\"PropertyChangeListener listener) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.addPropertyChangeListener(propertyName, listener);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Removes a PropertyChangeListener for a specific property.\" '>'n" "\"*\" '>'n \"* @param propertyName The name of the property that was listened on\" '>'n" "\"* @param listener The PropertyChangeListener to be removed\" '>'n \"*/\" '>'n" "\"public void removePropertyChangeListener(String propertyName,\" '>'n" "\"PropertyChangeListener listener) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.removePropertyChangeListener(propertyName, listener);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Reports a bound property update to any registered listeners. \" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"*\" '>'n \"* @param propertyName The programmatic name of the property that was changed\" '>'n" "\"* @param oldValue The old value of the property\" '>'n" "\"* @param newValue The new value of the property.\" '>'n \"*/\" '>'n" "\"public void firePropertyChange(String propertyName, Object oldValue, Object newValue) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.firePropertyChange(propertyName, oldValue, newValue);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Reports a bound property update to any registered listeners. \" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"* This is merely a convenience wrapper around the more general\" '>'n" "\"* firePropertyChange method that takes Object values.\" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"*\" '>'n \"* @param propertyName The programmatic name of the property that was changed\" '>'n" "\"* @param oldValue The old value of the property\" '>'n" "\"* @param newValue The new value of the property.\" '>'n \"*/\" '>'n" "\"public void firePropertyChange(String propertyName, int oldValue, int newValue) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.firePropertyChange(propertyName, oldValue, newValue);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Reports a bound property update to any registered listeners. \" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"* This is merely a convenience wrapper around the more general\" '>'n" "\"* firePropertyChange method that takes Object values.\" '>'n" "\"* No event is fired if old and new are equal and non-null.\" '>'n" "\"*\" '>'n \"* @param propertyName The programmatic name of the property that was changed\" '>'n" "\"* @param oldValue The old value of the property\" '>'n" "\"* @param newValue The new value of the property.\" '>'n \"*/\" '>'n" "\"public void firePropertyChange(String propertyName, boolean oldValue, boolean newValue) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.firePropertyChange(propertyName, oldValue, newValue);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Fires an existing PropertyChangeEvent to any registered listeners.\" '>'n" "\"* No event is fired if the given event's old and new values are equal and non-null. \" '>'n" "\"*\" '>'n \"* @param evt The PropertyChangeEvent object.\" '>'n\"*/\" '>'n" "\"public void firePropertyChange(PropertyChangeEvent evt) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"pcs.firePropertyChange(evt);\" '>'n \"}\" '>'n '>'n" "\"/**\" '>'n\"* Checks if there are any listeners for a specific property.\" '>'n" "\"*\" '>'n \"* @param evt The PropertyChangeEvent object.\" '>'n" "\"* @return trueif there are one or more listeners for the given property\" '>'n" "\"*/\" '>'n" "\"public boolean hasListeners(String propertyName) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'> \"return pcs.hasListeners(propertyName);\" '>'n \"}\" '>'n '>'n'>"))) + '(jde-javadoc-describe-interface-template "\"* Describe interface \" (jde-javadoc-code name) \" here.\"") + '(jde-imenu-include-signature t) + '(jde-db-marker-regexp "^.*: thread=.*, \\(\\(.*[.]\\)*\\)\\([^$]*\\)\\($.*\\)*[.].+(), line=\\([0-9]*\\),") + '(jde-gen-mouse-motion-listener-template (quote ("(end-of-line) '& (P \"Component name: \")" "\".addMouseMotionListener(new MouseMotionAdapter() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>" "'>'n \"public void mouseDragged(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>" "'>'n \"public void mouseMoved(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>" "'>'n \"});\"'>'n'>"))) + '(jde-key-bindings (quote (("[? ? ?]" . jde-run-menu-run-applet) ("[? ? ?]" . jde-build) ("[? ? ?]" . jde-compile) ("[? ? ?]" . jde-debug) ("[? ? ?]" . jde-wiz-implement-interface) ("[? ? ?j]" . jde-javadoc-generate-javadoc-template) ("[? ? ? ]" . bsh) ("[? ? ? ]" . jde-gen-println) ("[? ? ?]" . jde-browse-jdk-doc) ("[? ? ?]" . jde-save-project) ("[? ? ?]" . jde-wiz-update-class-list) ("[? ? ?]" . jde-run) ("[? ? ?]" . speedbar-frame-mode) ("[? ? ?]" . jde-db-menu-debug-applet) ("[? ? ?]" . jde-help-symbol) ("[? ? ?]" . jde-show-class-source) ("[? ? ?]" . jde-import-find-and-import) ("[(control c) (control v) (control ?.)]" . jde-complete-at-point-menu) ("[(control c) (control v) ?.]" . jde-complete-at-point)))) + '(jde-gen-cflow-for-i (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"fori\")" "'(l '> \"for (int \" (p \"variable: \" var) \" = 0; \"" "(s var)" "\" < \"(p \"upper bound: \" ub)\"; \" (s var) \"++) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of for (int \" (s var) \" = 0; \"" "(s var) \" < \" (s ub) \"; \" (s var) \"++)\"'>'n'>)" ")"))) + '(jde-run-option-classpath (quote ("/share/xsl/docbook/extensions/xalan2/.classes" "/projects/apache/xml-xalan/java/build/classes" "/projects/apache/xml-xalan/java/bin/bsf.jar" "/projects/apache/xml-xalan/java/bin/xerces.jar" "/projects/sun/resolver/.classes" "/projects/apache/xml-xerces/java/build/classes" "/home/ndw/java")) t) + '(jde-javadoc-gen-detail-switch (quote ("-protected"))) + '(jde-bug-sio-connect-delay 1) + '(jde-javadoc-param-tag-template "\"* @param \" name \" \" (jde-javadoc-a type) + \" \" (jde-javadoc-code type) \" value\"") + '(jde-compile-option-verbose-path nil) + '(jde-javadoc-display-doc t) + '(jde-imenu-modifier-abbrev-alist (quote (("public" . 43) ("protected" . 177) ("private" . 172) ("static" . 2215) ("transient" . 35) ("volatile" . 126) ("abstract" . 170) ("final" . 182) ("native" . 36) ("synchronized" . 64) ("strictfp" . 37)))) + '(jde-db-debugger (quote ("JDEbug" "/usr/local/jdk1.2.2/lib/i386" . "Executable")) t) + '(jde-jdk-doc-url "http://www.javasoft.com/products/jdk/1.1/docs/index.html") + '(jde-gen-cflow-enable t) + '(jde-compiler "javac") + '(jde-javadoc-gen-verbose nil) + '(jde-javadoc-describe-method-template "\"* Describe \" (jde-javadoc-code name) \" method here.\"") + '(jde-gen-class-buffer-template (quote ("(funcall jde-gen-boilerplate-function) '>'n" "\"/**\" '>'n" "\" * \"" "(file-name-nondirectory buffer-file-name) '>'n" "\" *\" '>'n" "\" *\" '>'n" "\" * Created: \" (current-time-string) '>'n" "\" *\" '>'n" "\" * @author \"'>'n" "\" * @version\" '>'n" "\" */\" '>'n'" "'>'n" "\"public class \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" \" (jde-gen-get-super-class)" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" ()\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'p'n" "\"}\">" "'>'n" "\"}\">" "\"// \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "'>'n"))) + '(jde-javadoc-checker-level (quote protected)) + '(jde-appletviewer-option-vm-args nil) + '(jde-run-executable-args nil) + '(jde-db-option-garbage-collection (quote (t t))) + '(jde-javadoc-gen-stylesheetfile "") + '(jde-use-font-lock t) + '(jde-compile-option-bootclasspath nil) + '(jde-make-program "make") + '(jde-javadoc-gen-group nil) + '(jde-javadoc-gen-link-offline nil) + '(jde-entering-java-buffer-hook (quote (jde-reload-project-file jde-which-method-update-on-entering-buffer))) + '(jde-javadoc-gen-doc-title "") + '(jde-javadoc-gen-header "") + '(jde-run-option-vm-args nil) + '(jde-javadoc-gen-window-title "") + '(jde-compile-option-directory "/sourceforge/docbook/xsl/extensions/saxon64/.classes" t) + '(jde-imenu-create-index-function (quote semantic-create-imenu-index)) + '(jde-gen-console-buffer-template (quote ("(funcall jde-gen-boilerplate-function) '>'n" "\"/**\" '>'n" "\" * \"" "(file-name-nondirectory buffer-file-name) '>'n" "\" *\" '>'n" "\" *\" '>'n" "\" * Created: \" (current-time-string) '>'n" "\" *\" '>'n" "\" * @author \"'>'n" "\" * @version\" '>'n" "\" */\" '>'n" "'>'n" "\"public class \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public \"" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "\" ()\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'n" "\"}\"'>'n" "'>'n" "\"public static void main(String[] args)\"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "'>'p'n" "\"}\"'>'n" "\"} // \"'>" "(file-name-sans-extension (file-name-nondirectory buffer-file-name))" "'>'n"))) + '(jde-read-make-args nil) + '(jde-javadoc-gen-noindex nil) + '(jde-gen-mouse-listener-template (quote ("(end-of-line) '& (P \"Component name: \")" "\".addMouseListener(new MouseAdapter() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'> " "'>'n \"public void mouseClicked(MouseEvent e) \" " "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\" '>" "'>'n \"public void mouseEntered(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\" '>" "'>'n \"public void mouseExited(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>" "'>'n \"public void mousePressed(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\" '>" "'>'n \"public void mouseReleased(MouseEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>" "'>'n \"});\"'>'n'>"))) + '(jde-run-option-application-args (quote ("-IN" "test.xml" "-XSL" "test.xsl")) t) + '(jde-bug-vm-executable (quote ("java"))) + '(jde-db-set-initial-breakpoint t) + '(jde-bug-debugger-command-timeout 10) + '(jde-db-option-stack-size (quote ((128 . "kilobytes") (400 . "kilobytes")))) + '(jde-db-option-properties nil t) + '(jde-db-source-directories (quote ("/share/xsl/docbook/extensions/xalan2/" "/projects/apache/xml-xalan/java/src/" "/projects/apache/xml-xerces/java/build/src/" "/projects/sun/resolver/" "/home/ndw/java/")) t) + '(jde-run-read-app-args nil) + '(jde-gen-to-string-method-template (quote ("(end-of-line) '&" "\"public String toString() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n'>"))) + '(jde-quote-classpath t) + '(jde-bug-window-message nil) + '(jde-build-use-make nil) + '(jde-javadoc-author-tag-template "\"* @author \" user-full-name \"\"") + '(jde-javadoc-describe-field-template "\"* Describe \" (jde-javadoc-field-type modifiers) + \" \" (jde-javadoc-code name) \" here.\"") + '(jde-javadoc-gen-link-URL nil) + '(jde-compile-option-classpath (quote ("/sourceforge/docbook/xsl/extensions/saxon64/.classes" "/usr/local/java/saxon-6.4.3/saxon.jar" "/usr/local/jaxp-1.1/jaxp.jar" "/usr/local/jaxp-1.1/crimson.jar")) t) + '(jde-bug-jdk-directory "/usr/local/jdk1.2.2" t) + '(jde-gen-boilerplate-function (quote jde-gen-create-buffer-boilerplate)) + '(jde-gen-entity-bean-template (quote ("(jde-import-insert-imports-into-buffer (list \"javax.ejb.*\" +\"java.rmi.RemoteException\"))" "'> \"public void ejbActivate() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void ejbPassivate() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void ejbLoad() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void ejbStore() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void ejbRemove() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void setEntityContext(EntityContext ctx) throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n" "'> \"public void unsetEntityContext() throws RemoteException \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n '>'n'>"))) + '(jde-javadoc-describe-constructor-template "\"* Creates a new \" (jde-javadoc-code name) \" instance.\"") + '(jde-bug-server-shmem-name (quote (t . "JDEbug"))) + '(jde-db-startup-commands nil) + '(jde-javadoc-gen-docletpath nil) + '(jde-javadoc-gen-split-index nil) + '(jde-compile-option-deprecation nil t) + '(jde-import-group-of-rules (quote (("^javax?\\.")))) + '(jde-which-method-mode t) + '(jde-gen-k&r t) + '(jde-javadoc-gen-bottom "") + '(jde-javadoc-gen-footer "") + '(jde-db-option-classpath (quote ("/share/xsl/docbook/extensions/xalan2/.classes" "/projects/apache/xml-xalan/java/build/classes" "/projects/apache/xml-xalan/java/bin/bsf.jar" "/projects/apache/xml-xalan/java/bin/xerces.jar" "/projects/sun/resolver/.classes" "/projects/apache/xml-xerces/java/build/classes" "/home/ndw/java")) t) + '(jde-gen-cflow-for (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"for\")" "'(l '> \"for (\" (p \"for-clause: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of for (\" (s clause) \")\"'>'n'>)" ")"))) + '(jde-run-mode-hook nil) + '(jde-db-option-verify (quote (nil t))) + '(jde-compile-option-extdirs nil) + '(jde-imenu-sort nil) + '(jde-gen-get-set-var-template (quote ("(end-of-line) '&" "(P \"Variable type: \" type) \" \"" "(P \"Variable name: \" name) \";\" '>'n '>'n" "\"/**\" '>'n" "\"* Get the value of \" (s name) \".\" '>'n" "\"* @return value of \" (s name) \".\" '>'n" "\"*/\" '>'n" "'>'\"public \" (s type)" "(if (string= \"boolean\" (jde-gen-lookup-named 'type) ) " "\" is\" " "\" get\" ) " "(jde-gen-init-cap (jde-gen-lookup-named 'name))" "\"() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\" '>'n" "\"return \" (s name) \";\" '>'n \"}\"" "'>'n '>'n" "\"/**\" '>'n" "\"* Set the value of \" (s name) \".\" '>'n" "\"* @param v Value to assign to \" (s name) \".\" '>'n" "\"*/\" '>'n" "'>'\"public void set\" (jde-gen-init-cap (jde-gen-lookup-named 'name))" "\"(\" (s type) \" v) \" " "(if jde-gen-k&r " "()" "'>'n)" "\"{\" '>'n" "'>'\"this.\" (s name) \" = v;\" '>'n \"}\" '>'n'>"))) + '(jde-bug-saved-breakpoints nil) + '(jde-compile-option-sourcepath (quote ("/share/xsl/docbook/extensions/xalan2" "/projects/apache/xml-xalan/java/build/src" "/projects/apache/xml-xerces/java/build/src" "/projects/sun/resolver")) t) + '(jde-gen-cflow-if (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"if\")" "'(l '> \"if (\" (p \"if-clause: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of if (\" (s clause) \")\"'>'n'>)" ")"))) + '(jde-db-option-java-profile (quote (nil . "./java.prof"))) + '(jde-javadoc-gen-author t) + '(jde-compile-option-depend-switch (quote ("-Xdepend"))) + '(jde-setnu-mode-enable nil) + '(jde-run-applet-doc "") + '(jde-compile-option-vm-args nil) + '(jde-javadoc-gen-overview "") + '(jde-javadoc-gen-notree nil) + '(jde-run-option-garbage-collection (quote (t t))) + '(jde-db-mode-hook nil) + '(jde-javadoc-command-path "javadoc") + '(jde-db-option-heap-profile (quote (nil "./java.hprof" 5 20 "Allocation objects"))) + '(jde-import-group-function (quote jde-import-group-of)) + '(jde-db-read-vm-args nil) + '(jde-bug-debug nil) + '(jde-javadoc-end-block-template nil) + '(jde-javadoc-gen-packages nil) + '(jde-gen-cflow-if-else (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"ife\")" "'(l '> \"if (\" (p \"if-clause: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of if (\" (s clause) \")\"'> n" "'> \"else \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of if (\" (s clause) \")else\"'>'n'>)" ")"))) + '(jde-gen-cflow-while (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"while\")" "'(l '> \"while (\" (p \"while-clause: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'>'r'n" "\"} // end of while (\" (s clause) \")\"'>'n'>)" ")"))) + '(jde-bug-server-socket (quote (t . "2112"))) + '(jde-imenu-include-modifiers nil) + '(jde-appletviewer-option-encoding "") + '(jde-bug-breakpoint-cursor-colors (quote ("cyan" . "brown"))) + '(jde-compile-option-target (quote ("1.1"))) + '(jde-run-executable "") + '(jde-run-option-heap-size (quote ((1 . "megabytes") (16 . "megabytes")))) + '(jde-gen-cflow-switch (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"switch\")" "'(l '> \"switch (\" (p \"switch-condition: \" clause) \") \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n'" "\"case \" (p \"first value: \") \":\"'>'n'>'p'n" "\"break;\"'>'n'>'p'n" "\"default:\"'>'n'>'p'n" "\"break;\"'>'n" "\"} // end of switch (\" (s clause) \")\"'>'n'>)" ")"))) + '(jde-which-method-abbrev-symbol "~") + '(jde-db-option-vm-args nil) + '(jde-run-application-class "org.apache.xalan.xslt.Process" t) + '(jde-javadoc-gen-doclet "") + '(jde-import-auto-sort nil) + '(jde-run-option-verbose (quote (nil nil nil))) + '(jde-project-file-name "prj.el") + '(jde-compile-option-debug (quote ("selected" (t nil nil))) t) + '(jde-bug-jre-home "") + '(jde-import-sorted-groups nil) + '(jde-run-applet-viewer "") + '(jde-javadoc-return-tag-template "\"* @return \" (jde-javadoc-a type) + \" \" (jde-javadoc-code type) \" value\"") + '(jde-javadoc-gen-version t) + '(jde-javadoc-gen-helpfile "") + '(jde-import-excluded-packages (quote ("bsh.*"))) + '(jde-run-read-vm-args nil) + '(jde-help-docsets nil) + '(jde-gen-inner-class-template (quote ("(end-of-line) '& \"class \" (P \"Class name: \" class)" "(P \"Superclass: \" super t)" "(let ((parent (jde-gen-lookup-named 'super)))" "(if (not (string= parent \"\"))" "(concat \" extends \" parent ))) " "(if jde-gen-k&r " "()" "'>'n)" "\"{\" '>'n" "\"public \" (s class) \"() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n" "\"}\" '>'n'>"))) + '(jde-auto-parse-buffer-interval 180) + '(jde-run-option-verify (quote (nil t))) + '(jde-import-reverse-sort-group nil) + '(jde-compile-option-optimize nil) + '(jde-gen-cflow-case (quote ("(if (jde-parse-comment-or-quoted-p)" "'(l \"case\")" "'(l 'n \"case \" (p \"value: \") \":\"'>'n'>'p'n" "\"break;\"'>'n'>'p)" ")"))) + '(jde-compile-option-depend nil) + '(jde-javadoc-describe-class-template "\"* Describe class \" (jde-javadoc-code name) \" here.\"") + '(jde-javadoc-gen-serialwarn nil) + '(jde-gen-action-listener-template (quote ("'& (P \"Component name: \")" "\".addActionListener(new ActionListener() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"public void actionPerformed(ActionEvent e) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\"'>'n \"});\"'>'n'>"))) + '(jde-auto-parse-enable t) + '(jde-compile-option-command-line-args "") + '(jde-gen-buffer-templates (quote (("Class" . jde-gen-class) ("Console" . jde-gen-console) ("Swing App" . jde-gen-jfc-app)))) + '(jde-project-context-switching-enabled-p t) + '(jde-javadoc-gen-args nil) + '(jde-run-option-stack-size (quote ((128 . "kilobytes") (400 . "kilobytes")))) + '(jde-run-option-properties nil t)) + + diff --git a/rosdocs/xsl/extensions/saxon644.jar b/rosdocs/xsl/extensions/saxon644.jar new file mode 100644 index 0000000000000000000000000000000000000000..e2c09eb3d08f0927765ac19df8bde837a321c862 GIT binary patch literal 33656 zcmagFV{~T0wk{lZ@+Kp;ZQJ%6+qV72-Lc)VZJXV(ZQC|GxqbFIS)j805Z07wPJEL_H=Y$64Ov+G_^B!bq!I|Rh?Ht{#3BeAyQo(d`5-s$b=

    Q6DGbQ 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

  • 5o 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 literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/extensions/saxon65.jar b/rosdocs/xsl/extensions/saxon65.jar new file mode 100644 index 0000000000000000000000000000000000000000..e2c09eb3d08f0927765ac19df8bde837a321c862 GIT binary patch literal 33656 zcmagFV{~T0wk{lZ@+Kp;ZQJ%6+qV72-Lc)VZJXV(ZQC|GxqbFIS)j805Z07wPJEL_H=Y$64Ov+G_^B!bq!I|Rh?Ht{#3BeAyQo(d`5-s$b=

    Q6DGbQ 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

  • 5o z>O{+GTv%n7Rh8xtaWLbu;Z)@pTEao)`WyXcIy9okfUCSKle^@Sl_&HtWhmu$wI}F^ z7<*g`nYVEi`nm>^{yZdU4L9`PPiNS9)k!@xD zOBRDygN#|tjf}#{rvF|RGDD+U!>2OU$2^nq>G|0fbnLR$wvXxV;(SCML@}d$taWNU znf=q(?oDi`y+hx?)Xo00-K>M754z^FwN<92_)&=~%yRSLNl}({eKLSA_2b!A>v-^B zv?u7df!z0%XrLBciNQj3B+s1_Q6Ln`LZ_CRKyGaaG068m7Q$J%r?KR@FNtMYx3W3! zp791Ul5#lgotV_m3!fHs{QB+iRBrL>YaQVKC9%3=8^chRpr>H zCqNoHC!d5OhlDtFCpII+25FJWs}9`JMF0?DOVr0b9rf#*{6{RgQwU8htBlZ;(U0%M z&1hM_8h|JD*vT(BIPS51*_n2uRfV!RPnH|J>X4G=rBl)S@*c z!Htt)NQ9;6i!<_#GX>7|iY|bgKY!5Oi8rash_^a@NV&<-Y)M-ZH$R{Qo&)LVZ|5*G z2n+X_w=1j17EG(y9?L$!6`px=iQa zVv+w_oI&?*fJOJ80PDYX87UWICo5~yf01X3HP-*equ5{BdL5aU8b-jpd_91Q^xQZ= zx|t@g7#%jWWlqJRz+pbg&AAbe3s0wO`X(kW$bl>Cmzi@T^yg8Nr@o=oUO&rdsr&fp2&nii}64(jNLpo9x$byeyriYE6 z|5xhxYFg9DRdVYOnuR?-?~Y{;MF4(Ld4en@25U*UxllMIOCj$PzhzSom~ zGc(B|Vc(H+2{p%=KN36ag8~gl!$n1%WK|i*;MLF^WUwB{r&EMh3pNSZYZaH{zWEO` zU~dK3v_XcN^O(oY!L5@LhAv42QnX6^A{JqELBtfV3CI$I%Qdqad(E+B#Cbb9(0__F zS0tiO%NgG6Y0qCQL^-9cNv+gotuov|3;J1ISfjnd5aQUjVH9qG&sD2f5EGna3e9~1SM1!ZJ*)zl^D$$_cKO7oSC}Eb_TI&8&q{-yN@}fTysf)Oz%1B zbv;#2V+97lFr3NN$e~Y#OM}DI`2(fY`9p`*`2(nMG&Z@de8$`HK_OwK)W6#zOK+oz zrxV2;a{BLS4TNO}qgF=ioX74XY4me*a;|c=W*KNZs#{w%g#xwK3UFC1yycY1dXi>=j;o;41PN- z8TFeuhJN8U(X$`17kFJgz6bU2=4cr$U^Ju)AV*VKk(2GYEF1}<qjnSLZ@Ez3fqq>8YN40_fI7}%%{t3ur-E`B{W^loTv7RX{Kl}R%_HF7)JyD-c(KS zUb;D9e4IkNR$(tNJIAt3DvPv{QO1L(AN| zG&`82qdb>#c9G&}L%@=F0~u})AY}nU6ZyfK8mBAJsX=u_Uo<*Yy62*^E#!o9WRIBK zP7-ZxR&Is?swMUZCyH8@QA@&L4lP)VX&8|tM5_r^FMLgyKX`6ujK4^3XZBR6Zw(er z@Mr^4XT>he5^4rS9YZz-I|53Ax9DgM;6UvKmz1hTbQYIRsW2aq(UcipX{232g850P zLQkJYbOU7n`GLASedAguWkSRA(3}_Mo|VvFQFy%0 z=e;hJCHn1vUr+CNfiu6FjHgewmN`2cJSwapx=^VVLtsP9zI1-(fVfN>vs&;SKxzN9Bd}>JtA= z1#0G=|0>gmBupyw2_p}GK@QRe!qU?2STdu0oIoykk|d@fn~?7QwlB9Yv+gXhOJ2S! zi15C$1UA<%lYagNHRCC=_N>p+RbkI0_JMw!N=}oM6SFaaP*Mw80MU%HZVen zc80R(V?5=F9<;szNC5;hs;M~HCPE#(r1PuF?WUlz zwIG+&QiY|pAQGiKhG5Xay+_GFEv9)?PYlbR2q5|P+pX`ijzw@83N~1#h`|7P7L>^G zzkX5iY~au4=2=Z*?n?W22i_D38;e=1<7|%k>UcMMY508WmJBqvZk&U3r{V97>>~Ia zGxO)@D;ptUBH6VEgur&jnxOi8hAz;zkkn7|te|q5Tu`=<+VNCu{dYcDz`_?p7aR<% z_iz2d|K)DRf7`JCg}c=qtW6!w%>RYEvo*9`(f^({yi*?JO0`+Jf7ii4v8Kn%nGnar z6|j(F zGJF_x{GkNq=0Z_?cw;HpVKHnq=3q2d1zN4xFfne7KI?oNlBQs0`VEVj~=FA90~FdD(bxiZTqbp+$U6QFrqdQ(b(CIm;$j zowSTlzAkJ>95CZp!?-{rW{(cS9?v?lU}C z7^@$smBLBiT^oNv<)R(l#H>|~<^@v}8eGUK!4Wia>NrsW92)p6 z+iI@dCSbTir0leuH)bPCg8}eTiNuzr4K?XP^jvv79h4*)E!p*E^&FY_`HrpS$8JEm z_i9lE(YE;I>?Y2tMnaLsk1AGrjUoq& zU*Q-k8>xCo=BUyLmhl~D2G>~Z`fNYUTv#nx6DWY|XIaigw z(XVt{WzRImi_PS8xXHcrw>Ws^ms;JCpp$N=) z<1Q?Gl*3^iv=*DV>9MHcKAh<-tTP#RDA+Spj<;5nXj8}f*;vKfnc*p14lASnS8In` z?hI0ARcZYblI<2#o9VWiBj(eHdAE-atI*9#s=@hpNehS{~6y~t@&PqL0?Xl%p zg~QZ}$-dO~QUwd4!0CxG*XxH{32QCSdk;p<2)E;qj7g3}Gdhgm4jG0}R*5CLPEITa zUOueo#wt!zB1vT3Pfjp4VS2yvUouMG`smO#|0uoutpIhp8me#J)Pp-z0Yh%>1E=nX z?xIUPt0hW}5e=oHUcbW?Zz_`S8%0zQFkpG(7hU_uzTqbT+JUy5nc;z+%tC3RSd;i2&{)Gg^E@bqW4z+-S&6`sG;lG*@Eb6lluoD zf{D(}ZRve-Q;{Qha~SVQN)bjA9xjO9Ie zahQSZPf;V^{CoWyR7$Ir6**#c)vKrp0>H#Kk&EX@?eHa!8l5!pA zZ0SzvhRwFKd;l7d4COkk?*hQ`Jf}$NATkR1^^Zz>`~5?@w!aJx{x1y9^lyYf^`8!N za@G#!Vvg<(ZvP@Zg{Y3Zph=;3GsKYVuB`A6kg*trkt4Vmd9F-}1*gWV%9c}C$YlX6 zM0_^tLvbI=EWCf)Y1L0)nL*QWt|}#~RWyuzI}p0VlTmn%9ttv(h&pZeBRbA`Kl%0f zy01t(N1;=jC;=)V*{)V<6n(~)A8lK{Eegl3=PbMfD0-h!78dw9CnYQ*ct92MTsjL~ z*+<=wY(M4mtikDBIo{38KdV`n*L=&mC*V5ax#M{*tU$DI>yZwM5$wX3%ggvSHy=m#+(F=| zmxUN1pTgPG^gC+0;}D>_92@KmMRY{!j$@4uHpu7DjQWt4cP=48YKkXNf!0}7j4y2L zB(W~0R6nEn1XDYwLIK8((Kd3B9BB^A;TSChHQaVq{XY_}DgdIAr56gwSG+y~hM*al zN0^2^q%50nZ+Vi$Eu^W>2~w$#BR?rv0X{!pHomof6WL+owarZTs>ww}NDXLC;Gnqu zbMsvfhXDKv)DR~Vk)5KJ;~hXUm>(w6f9H2%TooN#40wQ`Qcfp7JTCY0Um3GnLh$|W z!giE1d6l*4UyB1m@8}|+L*Zyid@R3{3werl4b81#KXcVg)9)A5Fk@e-jUh(VufICA zuLUqYn#+5K(z0`iQP8sKWV|3^GazuVY5dXRNnc$`^9d~nv`70R^yS<;5l1lVdg}C5 zwuHk%F0YbIiooDx&9^m|fx)f4T@RcMZkHLw{!Mu=HNGC`5 z(uVxb9i%5iGA<^q{?XhlUda>e63Q%fPZJpQt0npDm&$G`LZ01E!=pf;_6-U$L)y-A zSzGW|2I6PB#ktUqqX2kv2*)`?wn2?H-TmUSS3h0UVpRy6;?~Fev*2dq3F@qU7ARor z|1|d2L2<0x`f%`MpddKGo#5^k+}+(>f-}M0CAd2b?(WWD!Ciy9CrE(sgL6*Z&E7ZX z`|jeOrl@(k>FRlB*1I0bjjNLl{{fgKs+?*J>X(eAG|4G2a#~@~%EP|Jh;V{bME*sl zA3r&$G@*IU6?x_#;ksy(nPyW3&U?Zlif}h<1&i=O1llBjBHP@fk23cntLlcLW6~gg9tHXa0SZ63L+dd1d zd5<{Q=i4U~-Et;AX^CrVVt(AwEw&6drldj=@H`Nz`yYWd{q1}FPsD#Y(>N@mGLl=!8O@+^VMnI5Q&3z_l6 zYk)7Y`x%WvM2#!!K`yip2`gNc4bHlg9&#fwMmdOXA=1r)iqVR;d$>*=+Re8mqOE}6 zb!;Q(o;r!L^Df*%WtuZ#o)^RuD5DRp;9r#9U>oU;%*c1zH3|VHM$iqB3K5G~!3ki` zpl?r;0W)(at6xWqZcMh6Z>eb&_HnDa$|Uzql1AKlL_3opeuxK)p5 zfi+9uh;iY;2}zFQw$vCqgIPVGSHqlStE}FD%h41^!;EWL^b~#;t4YvBcfJ*^_F9Qs<=`RJRPI$EM2}mL9~{H zL`^d)2R#lI1`kNxGoxy`VOH%C*sEFISbLp9ogqNe8=1V}SVmeSc-z7H)ukeLF385~t!QQ`w^80DR1j`ubav!~!Kw&)l95xv_XU^h_1b$ySvjO^J{L z*~Ae^WOe2sz~;0YG<}dh&71BO?>R1mElC*_o%QJGwU;^1ySL&v*50{Fz<-Hlog9Y5 z%ke>vwjWoU{yQv$9;#iQ&rjPG()Bc$mCc@Ve4t%gaQL!Rv1>4#&OXLc2Hnbz089s6 zJV0>qqki0koAzyx`1*+eSqJ5JEyz>k3F_~<5I4;iHb|#nQ;2osa~%kzrVCzne6-MD zXlvwfEg0*#atAu=8$v=pnDZ*1GkBnI7viM1a+mBylUA2e?p+gH>p9fBgJ4@8qHu!d z3nO+f;{2?Zi+mip=BnkuLUgLsa`7e0h_n;a9sq@A96*#KhG80TAx>^&+Qf1t4G>kM zM6haMsNq5x)vN}}#~q^cT&VY?C)wy3fY6nbxyq}ZK;u*rQs}tlLn82lm%Bf=V)`Tx z3yne(SibLDPfM%0*O1|iJE)0?mGxUHJ=4~U#kma0rVUvat;<8xQrM>RRrVyRg-28K z>=HXEQ>~E(axe7Br&6S$abn+5XGDO%IX%8X#JnOt*R3O95kyN%2R%XH`UZ+5v zC@tSB(zt6$W|lvm)0D66M@vfT&E{ey6Gi|&6z3VKq)m%bpiE%XGRlw^H!_=%4xNmE zAFmqJiaWRtnVqSWJn_oNi~VRN%_^>oLgN{oVos@A9&>;h*MsHVM46)d;n;dU2KOzI zQYTH8om{@SBFCX!PkbB)Q?dBWOd*ML)*#wuy@|A_Vx|VV6s@rix+|vlqR5V-bz!yQ zH>WTdsh~#IF9657Lw&=vS$uwO8+=I~)`nk%o9AQQ!dElCHK%d87lI>;4_x1OjoI)D zN`7@{!1?r~XzqDmDY)!|5eD%JIK;ao)l08gyjVu`H(|Z*#TntLib~URLXFe`< zeLfGvdMNi@e|PN;;oU_IurtW=*T&lw(DTj4+9RYj0^!l>cFA{w_ z0dt|OfCMPBY0AYpRc4#-HV-mg+|MLCR~Yy4E`H&YtlK1CYP$lC>(7{L?B@iF4+vFV zxYYTg0hhjY&)YO0vWBIulpef!Q;lMIhK0#V#&V-yER-u-rr%Q0c^aE3fvL85fvLTN z`;rP+-p~{RB*EgWq)Jv{)}4JT#c2bQVkjRhmcRG#jY?xKYi{((v0pjQg39MM6Z7Bz zX64Fr0Q}^6)~vqyE#?A-9{%EW9VYMoz%tas#B!GMFa0U~nFbXn#nwU0X1P!DfdV!h z9AC>>HPasX12Fck)0py_E)4cY_kB6Bli&Hzr6P{15txnYH`b2ge^89qEdp1hEo?q) zJEP31x%Ph&q3T1SHQjqqZSJq7W`eOS;ODtzlfBBNp%!|;B4tNd3#qF^gHq;L_by6! z!W5}dqFQ7`rQZ3#ly4X7`Am1nB6VCQ+1?F$*mn_Cq+BBaD8bqvPlQ}Ojy9FTNx8=y zHN<+}@iYyGeJQk99#VK_|-6 z$uGer-pLa^@UPSKg9&hymj&XdC;KvuZujy)6BvEye>*VI`0fXb&y_tS9ibWLR^-GL zdIX6if!2id3G=0{ArS@ywpN5AmcM?Re^Z=3O0$d+N~?|$O1qE|N@pBb8yn^LzRkOe zcAurVXcubh)pJ-#sgQ*vdJ_x>21^3xfa3-(F`0~7wNx|*#eBM-oNV$=)IrLN zHhf};LX?W)(u1?%7sd(O@*VK#M2#4Zdki#ipA)32HukpfNLsGX%4_a%k8mYv=&|+f ze5l)RtA=OIlt*t}a+s7`pc15tI2^d60AH+~P1>6pOJ>v(g;WLyN%9VZwqp(_CU_K4 zsm4j_a{y=i6IE1s#PPk!0FIX7Ds&9a2y{^c6TQq{4(xm&qL}Lj&{ktf#1(J`L}|JB zK;&ek9K#T_z^FO5IMT(d(py4hZu_i_Kt!EOpw!b)u|Pz1zow@l4-tI8rS8h=C6!R* z(?Ma6GdU9Z^5jwONR?F!a``e2uI@(M{siC)BHW--73Ah73$-+6z`z(F371fh+_Gn+ zzCuymDJUDJUL>+Ac15Rlz@zJ%^>8gGyTSH=ncu|F4qmp0I_-8_2~MkmVK<^EZnekB zBr&5u?c)1g+YxHZCw|%|)+9w~EpM_=Bx(=`_-VAE483PclD-Z-E;qIXTY1T7=q~ zRb7=slvYNnDaF>fx|&tIR)umugpAM+PO)PSYlL5r<(t&3j%7Au&kC^V;{jsO6N|1g ziO%;&1f=wPHpP6f>3c8w%cM^NXBbFt6x4fs8=breT@4uULT1JvV95W08(XiVTXRRJ zjN0T7JI#uaX6i0BUfS@v?`>v&@0x#$rGVmUatjm$+q`jc2jwiM^f!a0HeF?mK~_#^ ziBw``uL6t=-g`Y-yFj6^)~ruCrS2MzWrf9xj9^+r4P=T&vnMTxxtMHDT<`3NLoAwe zG(4}=A$Qn%kMQv>cwCzCxF?jjpG^KMy?#q0#7q81cQhSPmHS(1aY!{BJuN>7_gMR; zs*}r5G_~cvF+|hDbn_s>354#LcB{{ZKCXAt6gY>46J>RwE(_ghN~$e z#aK+BYn>~`1(&-4a%><8y=s;j=e=s`-tf4PtIUZgZU#YMJu6>gP36GeLdYd{mLrLz zl}CjP&GEN}Z~fBH`^?Im+9iJ9m=NlR!+o%$QY@jp;XTb&N$gWf`q3@Z$431;p!-M5 zXpKRBjFq!S*@@pg6Y!xRbmNYkOigPlD(0MLLfkwgqJ2%JO}5xBIaYD4=g~5u_OU7PIM5vx94ETbFXgZLZOs`MlL+A>ASGe<{i)Vm^BJJkvFL+S6leUZB8xJVGFI~4oKO^zcvCAvfMBaUBcFN1Tz*4?j7-{G zes#mZ3`=Nny-mrTr|T)7K3w%Z*tHY<#beL4<0{$nqMahs@7Z8%?Gp~7`vn{<3+}Z6 zNe9TNE1X|>8jJuucXoCV1}lt9-hi?^-Ij{KS>E7q{T{5nyrjFA1G78hPG2+$fVQ|~ zv2KkXLa|}nIV|*v5lc7Xv41NA9KD$EkvtC6}`fZX0revVir; zi#A`(^F3JIKG*i!%&1QJBzFn0Udfr>0Z`-M(F)HyZ_c}P>)!Iwl}q$kJu%WOZJ|>lo@gFepgnAy zHWNh~rJY&uVTuN`>2TKuy-DjTBayI)D6V#CxShMa2ScPtd3U<_cutupZ*C0KIul0; zAh#9Yb5C<{S6nodQ(~OW8fUe!?}Ll~Ax)LmJXEqmqFg6=Vy1Oep;f6oe=KVfY6#*6JDY*Hl{R^;&~Oi>Ajwph*Qm~2 z05Kz)HBP&ZZT_Y7a$It1R64_$9L2Z6q&#Vil2$Oe^>>1wOX@)UHa`=X?r^^)(g^_3 zR+p^#R5rb6ZE$+ztIEb;>Egz?it2YA$x1ux^22myc}`{2_F<~8-V%R1RnDQEm9qJD zYS14yM%4K09w4KI{;+)>Q;{pk;2yv9bFpkTW4MCKDapNjMPnDc7v2yJ6g=WterMgx zZq})GD#MjkFnsZ|A@(=u_nNg*@z-JW))2Gl#GDirta7T@!xa^}#4(J{$F@(Z)wPlI zZ9>fgDcom%Xg|DiW}N+NtOtS#U1HQ3YO!~g1WUAt*o7@W-k@Iw)HBSHmG_$E&p7_j zcjwDOm*xwO3TNAszoXO9o=&4oi0@l8%B%6y6yr*8ESjNp*jXFyaJz8F6$aZ>UVs1L zm#`X3Ur>`^;a-y6Be6WzHL1iME+m%DCB}N-!3n<6s4a|bYD2^{LyQp|C61%${aQC@ zxKO=I%B9!BV?Dldwdm-qXI5eysh&?SW0sL`>a;x)SXa-Mr`v8oQ6OrP6dG-SQ(hK} zDr4Qx%0ksUip)ddC!-zc(tmG-`V{Iao^Yx%^0Zmjm?Wg92_R$rk=7(|;DdRVdi(hy zI`pakGc@X0zq505=?GQwEq_~K(2WcTiBSYKN&gp&Vx-y%XeK21Gjj|jxx<|zal+tY zyc7y1#jr>zbIcIBlxj)sB(<)R(?yD*c)0|?t2-UJLT>xg-QisV5!fyjBG!x6 zrf<}!(xF4bm3=ZPq;c=M0!bprg+a+oDxef5ybKVjG3;a+y9s&AEsJrY{!$3LIy`g6 zJ5kY+_(hvVTZ`=@`Tg+?C

    m-SeL7I8|$wIVw^~-eT>Z20jC=^+A?%gIv*7+X^*0 zrUKdBce~Mk6pRr_>q5Dj*BSEdziMNn+rmp-PHU#fRF39L;?EAL9VdBOeAGTBMy#f= zyGRW+3l6=@z>yxlyPL~YHc-j=x>UNqTTFaLo#={z=l5|r(sJlq+~HBJgU2Rd_E#9A zRzelo`gY4463496T~1nLWogO$z7%>`Vus$>^mG~T@Q_$($$Z)16krFlN_&_PVz}yT zzi9mXx~P&>rNc257uBDcz>Zo;{slJe<-({KM;GTTmx`Zx(a#!yvW_yhYvuv@L@9)3 zP!4f%h}Enc_=J!!~ zveDl)9*cU36kaEMetHDLtT?!pJC=-{xwl7hg7|yFy)J1ITTRHefX*?~hEO|RKHExL zER1tpZ^@F*@vNYR6H;x8?|g`^`MWGU%Tc|pPozHtZYvbrgKAyDz?ogS9{xH4tVN`# zH6-r)9OuQai_Dse#@og}t~u&$xNwHCsv}b@^z4}<54%`$V@UCBg!6)d9%1S$LPj17 zzVSv=mT;(!Q$h^n89p~?1JR#Qi9Qm(w-wAm4bi-e{A6rc7}-G>DJ!O%M-tryj7A)} zSa6^FsM`otDd!A8*FDiZom14#bGIOEVMMVhCFl#laJ6xaq&~1GYd5VumHcJ?aCLs3 zYVSJZE@A##;Fh`;1}V=BsG3K+x|aZ99qG1pT8P-aC+h}VRpH=umnXynPtct|Ty{Yy zm|q<228V2g(={`lEKUH%fu%-^cNroiM=~59DBAmd6U~y|GqaltF>1~jW%TRgrnn!} z5G-S_bwvz@kpL-IND7kvhtD1Q?`t!C3;RQG#*KF0Zb9~QxTEFq`N*$e_2IH!*_E&0 zm4+U)?mP7Jg*3;x$95E*eVpWusNBN&;RrkijSftDAC5NvI!0Un0o6xQ7aoF_v^~Ugi3}xj1@>E<2l-sh!-3DUm<%8TWAWwT; z?fG?kAlm$%$I3h*?C0-sru;YiiQa8hMS$Pnl!1-;q82hcLpusxCvCtbt!-H;&h_SI08B|6Fj5^qMeV{;@~Kbm?XHyv zSLM}@LJzjj#J-Jo$X;VtdYg(5VYr{KD$W*M$f(%uj{ye0HvV5l&3jMck9+y}i0*eY zHFFsd?O^u!{YTj5vILp)9xvHo1*O98SrVU8t#BNDvc>#WmN$^)sKoEw4n;^Jp&Gi*1vwb)4IO*dK*V{^l zhE#G60RK=2n$_aphV-$I%(}KWzG(}-N=SFSd$C5k2r$Xuj zf-Vg7E7A*kWkv#yD3Kc@gYg6%<{sv985q7DI1P>)Vi8wf_gDfk+xC|(SRj{Sh7CSV~xl`^f~X(OBphbuE6f!;WH<9v*FWWj^<$YaHQ4i>=X|)hsq^u=bHlO@8*|BBASX(um-6 zpu{E(?VpOsXZULJPIXYREM})kQB}XTtj9%ifv9|eOf8#+pqsV^v2nz0g;tG8tZ}1A zJ8*g`ih0Tx(*(YQUh6{W4of$|1}Ih0U%BJ<`|`1=$)p*YltN+XYR{FxyJqd9jN;dP zG?Rk(ZLUSy51A*4?UxeG61GWcJNV5ah;~1r=f_9NFL|3~bT@{gjXT?jTnCpO3LixI zNX|x9H6uM#aVWB;Q5>Qhe2zx8!?57j?(h+tsC=vyj`Q-d1_CH8+*u@(uo+cho^vjd<)= zx{$c7NkZksYHw}H%k zdR;Lw;rrA)k|F>Xm*7%uR8-Y9T{(Y9@P=!#tsFWmrad>yig9J_vc0~fIo$GO?GZNj zsYp+Sd;WTcFu%{L6ktT&rx80?6{Dm+d6c)C#0Box{^x)7yTHRze-PrEH_SM%`(5UL z^t;c0{ND~LFXY63x4V(5TCUG($=@IurXhxST^|&xf^0)K-?wiiKh>4PP#5THg~5ED z-pk*ekOkQv~BSBV5o#c08>rgrJGV<_n2MnwFkfkBVPNP}Az{NI9{vD)DyW%3*R^pR9 zz{p~k_MA$UXF^6c3ti*es4fePufuh+X^9-nO!?V4$)&Vy9P=|psP1GwVL$Q>3h>xT z6jv(bzaO2DXfuPWY(#9PLy?xC#fJl8J|K$@i)m7f+enEN&}YfQtL0POcW>8iC>ET0 z@Z)LvnH3^j${Dh&;Pp9Jqkq2O5Y1>yLjy}|;38{4x#w3zAs)+b91eC*$AHVC!WEec zjqsD4+9F4&D)xbJYUum3%~I1EFef+T>16dS9AO`ZE{T!@qFn7|!0t^In?X^9=X_f~ za2ig4c(SSscvO577dZ&%?G!d#d_7>435p${RdQS_yNXB27BfxJtu`35sbEX$Sbjp$ zzrh3zA?}c{nUy=#tg|M_VXciUnKBD1aqw*#6V^hSZY$>>ZfkF%j(*DS24uv~ zs*Zg1T#il082a$R`3{A0vJn&*ZcY_hqHk7q)%~rF)o7GvU3e=f0dvIndVX|IAhP46 z0|3B=IjiJ>`mr0vhwij~by?D{J2+UAsswPu4?8own4&x8-0{INV&!F59oluw98{)* zWb3w|O3>V~Yo1UGd%RDk4%e`(*&5!Qb7)Gy6JyshWMzNo)mx)lRaac{dLl7F*LIST zyM-POQZU-Phl49H>6QH47GuJFd6_M`m)!=SrJ$&SI`N<#(R&-#HhsG?H0u=w0PD}A z#B--VTc`1{Ms?{zS0P2)gD?}$Ib7_O&!G*;;CRX4oPC$kkG|4#Dw=4hRUdmiJ7=-d zw!Uo{YsB67c){w*I*%^TKl8{<{F|jJU4XgTKZ}H_e%=60hGWZpRlAPni%N<`W3(~5 z8bp-)ZL}IO?X=P-J62v)77jK4OiMMnSmE`AOLmi^rYkj9h@3c)?OvT$czIM`bDthN z;v!N(SLBos*raSS!SH>lA_q^*UwtTZ?CfY&MA+MTJ_E6$V#E(nsl$M8Dgc&i5Ly(7mg^5UaxB`P zmWdlEW=h^HtHOMr*XNF|3r;!deuv;_4Yu(J7L$~YJhws=k4aAjS!g+V3Tq zRd@_LQjh5wziO=TV++PBmu|xC4Okt9X?zP9<0u>C~VDJ%Pc^rA(I3Lhv z{f)lH@{iU1kN#LMtGlRyk<({~FaKWT1OMaoznt&P5QHXlM?*%7hC;OoCHS^rQ<1Fj zJz}}rzRi}cqS_eU0*<&h;E7oKjs17H^St-t1b#(?Uw1Mx7E{=Bjb>pA1WXM2JaUcw4 zB=K4gVB(9Hh`%$bvXskJ*3TnImB?Nn;oyCz$jQvbA(GB-_nRIGP)`}>;u=-jsopsJ3Htsf0_|v)mk;g{YLT1Y0)+vqh zXPQ=~$yN4gQswrKc^xfXRT=2+cJ?t6F|sO#V$u%hUA=7hfHM0I7e+nqtjY`(Zs2y# zJH70S&Qr*vr`QlDFOoL=%#sPfu`#*=R?6+|f^bgDe zy6@cOBx{$POORuOq)?KPG8`V<$^=~~wDlW@lkSq#=1BzJLAS{SdYgw+ewNCUJtn7Z z#P6KTrY_%g(L;!imQCm`UnKG6TtZ~(J^Jn3Q8Qv*wV7nBONJhyA_E8Z9Yysf*1uig zz=(!som5=zNk>#}xXJz!9Xs8XdwD{D=4AC#&y4r?&qSub_Pg2s@q`fk>GNOJ#KF+O z$-?H}k4L#WJW$KzgI6c{0p~Z_MmnuV6Q{CeK%K?>F(gb&IfEozhRp}3c%4r?QgW@I zQscLckD#9yHDbb$k5IyNo5G(ORa*qm-^)Wo(EIqg3V%%t0RV-5Jj%%~)yb%x+k0N> zbw1s99^HGJMYp@2d7kT6LqBpr%v&xTh(T1$+GiYAs(k}^c_6d@x*%K0-`FKy@zZkl zSd3miN5^Yr@u+`m)1--hHqTa3T6^(;XZCA`g50W=nww zv;}uK3|6@cu*_8chNN;ug2z91fr=-00MrCCb9t3K?_OulUZe+Q-B$xT<()cbE~xQ3 z=Pq#YI%hB1g4XXQ129=0)}pu0b7L>a0N&?Dw7RO_sJV1!&r^fuVMNt(SJ#kh6}4zb zFb2te=i>II!BdoDsW2TUld|rm*&j`Qrb z_;rlFRj!yYF0V-{M4!wHK{92{9A{&S^m)1wpvU8i&^$YzhTxi9UDuB)l0TwN^s!0; z&*AhG{^n<2kIPgRM%^3*+_UP~F98)RUtfWTuW)*|1$iXr^XR>uth|Ys@|LDOa&kEtXh>`cS#* zT~so$!$H=Xb*yOt{nf%ZQ)DF24m6HKWL#u%XG}0ej9sB(FoLFe(UV+Ve6qxd^iRzg z8m;cKhxy4-5{N4OwhL`uhm}qy6i3F<^-OUJlDX6($=gjD*x8ak#&d)8F)6U%Fylc5 zopYQr)-A~z!#TyXA>BCaZ@*4U;7HdpP)YvIYw}a?Gw&m)6W%lvmm+8yoUxDp|F0R(0 zDrCJa%zJxkpW(1JoI3=a*n(sH0Yr@+G2YhnF+cGG^`0f&!nR~?+l+JlekIwyQJlt< z=4LjG0s&|#s%xpQa^L;QKPqV-J1XgZa0B@&*<(YwN6^(%2Kv{>lp_>}K;ey0krNG3 zh%YWM=c&L)Z*iuWGK2B=9T>h42kHRF6`JBX7$Gj)xX6MX5`E>0&$Ia78B;AS<|lCa z36UerRY!~3^`Jywu=z1jSabG<$#)CZHqM8+0xYT4p~H=Y z)HwhO52XXxO@!j74(He){feoYK}d>rr-j1l%#-+^nUyqh9Hl2aNKCZqqQI2>Qq1!r zs2k4tbrPRbO1Ls(%u>*;D^vTEZ3^y=!MS#BV_O2AEh>XY&@=I~Wso#y)w`3I&Ck&S zW(5axjAl$x+6wg&DsHNuM^^;&@vI~*=h7N_7aP@wRM18Y%daH5sSBeRY@8?hds8FU z5fi|w)mT@~{V0d;K7KnQ?bv*9Gasd#7^VWdSty6HndP>Rx{5E`L9l8ZJ@W8cuqsPI3x6!eE{Uz5!B743hdj2yUx4cZ;Z!E ze<1o0fc$Yy=WKbM4(8Gj`6(>jixt$8i$994Pi>}f+9w}`uSqYPs>@PUrWuLG+K9)B z&6Jy)_QOt8VJV~^o7NF_%;|JN8Xr&D5?M7?DV@61o)BewH%~(yWP+ANXu-36A>sLE z8UQDclFaAhWA=tQpA0RzIl4)s9jUgd8U9MsQ8|rSvRl?TVjvrq#bRz;&af1%xuRjw=#^{I7!oZ zHG{|Fj0va-F1eo8cipl^*c3c=mc}H8qdH2pg#{oxN~;ObQ7U4dJGm$aurxHAa>X@b z^VmE8gi2n=UJAY>qRDoEU$(?RGDP-9cV1J39jMdFe)b>wn#ZMAe6#7vVNQ-{n#K`p zMTR*}nU2wX4J)nk$fvBk@ilSgAV)xX7852M7P+Kwql6tc-0!!dUh!J=Cw|jo5t+yM zRKhKb7)y*Z+dNOGdKR;9wqfc4QnzZ`*rgED3mu>2ItS~MEQ-_^;47Ixx?sb$?hs&{ z#0AFHo(-srn*;7_)5EJ$yXUwm%(;VUMvVCo5xg+F5XHB)-HX1^y$b2DDm$IoyHA;i zJZ|FRHss07HxLu;TK9eH7MjEvD)Bo{#X%c=pF3T)G{)AYU`zM-6)as(f3o1+EWNCk zmx`DP!Wm~!%4s1KzA9|4y(Uj74}eVSs4bIAFT1Iu%6R8Z50eks1Fgvdol?#bUYA4h ze7^3uuzEZGOf4e@0QazhqZ)fH@b0GwXSW*`6l>9*u$4|?_lB_@9>`JoI3hl)JyRv8 z3;Dj#{Nr*cv!E}D4%IL=Ut*Cj5~4taPmPiapsGVuaSf7t&71%5o)9nsXSbi3LL;cF#3~{ zEtcT)z@ffDapTNhNbLZ!*{}CeN`4L-K)PdtfHET}C z*&DbI%wMVY6#<6#Hqm|J5pFt?G1`b|I_c0n)$J1b zOXt)lQInpmCM+~#-{qj5YHm>-n68m;w-tsj zI6yUY9{>`vC z`wE*!_H5>}_2G5Lp(pCBn28dewB$6)r>j+e*};3wFutrn$P%dOz8 zyIPPY^Tm}4H?tXKmhu%X(yk5k$YtWL4ep_?F(Y{Qbh#yn%wrtJ&K}0jc=k9u8;|&Z z->`QIy_a|p6v7-hdJmRz;2;a0cHkfhuC(L`uN>Mq!tQ_&>V>W$y7lJXp(^Z&*NUUM zqyj0cV;gc58jy@xh2#WkdvdFTYfQ2rc%Xq zGd~=x=7tkMz>hMVW@F-<59uaa1&@$2_D`R>tFDSCW33kN)+*v4hlwb}ngAb0*n&r< zQ9<0M(r87YCh27g92QN9+G+`s7Q<8k>k;FOgZO6xN|;h{F5}(;UuYezZ@6lMI9JK| za-w{+woGDxm1aF7LlT+ENOd!2mA0?UZ_rNuui>~jkkxKf+K;di&w@`4kj@Un>eH$c zgt6>WTfgrUfGy$Av&G$f1-hBKsqA%ENt?o!h*2!t$z#XeLC&M5hJ(vcU*@TBjY4Zw z9{KI6{yil+jle_df%GeoP5Y+8WuB8Exmo<6wbH}JdH#+bX77hO&{e+eV%(T<_uv&( zcXJ&n#DaG#5TT4DqhCASq(XB+oiUOukS*mEI1&s&lz*CSW9H)PV{O?ei#lo|QsbY!Aa?XactF4V@9Gbl6X{=NMk2BC$-BssI+M}KoKks2S^gVL&p_o59n&dHpDbtfunkS`r=r2d)h^Uq86i13zMW}UWb(%J_3lq#Ss)dpD(xQWDHL9)H znCDb=s(BR3@XZY|)#0`3kJCBXneMRAS_(Ncb??nTYT1R=oGt8X4~;PJx%Wri8SR=- z-2%vHxt|p{c^unKATymGHQOvpw+8!upCB*edN+UaaSt7iqFkG*RzGoG?!G_KP{PfE zfyB%qMhNlkLlGth!a;CCqi!O`3x7uxba+c~D!8gEAWVgtWml9P1R?uSsyeILO0B98y%1)m2RqHo~o6WlP0PH z2FO?d&T11p>21+@LkpNx3r+xfI{h>B9Ra3>MJ>LJ2upMidyWswiUK15YjIf5YQOT{ z&~22=x2LK+U&(jKnTE#kJz9JqAn~OKGJm|kCO0at>kOTNT;knklOvE4Wf$KT`=spm z;0clAnR9wSQM|TG%eRXZ#LE%lHB*~(j5eOD`y&ifm|z~_7<5IAfQUsGm{Z!zcDOw0 zgJ>;C(ZJ+mA7qOO)fg;rWYz@R#5M3Kqo5+79f;okFvlM}0>r=K=)!P)-)Q$XyzT)V z_QI;6#hoL9pD>bt^8ssjff)@6oMIZwgSw1BqsgrCxeoN;bg<< zPA}N1;ez%>5=R|#2{7*7fRSTD1u^sz7lkbd7T;c?8UNtX10rV`@atwfeaMQ{p?_qI zUXR;C{MZKox)9~6l4Tx~xYMH#CGw^^woAw1gbZ5Pj}WtVoE?V3q9s>NPu$gtJ6K-J z&2T8h>KfheY0dWl?wdBm?4|l>QC+VYoBZ)@KY2-(GsKPtb+A_9@8K$T`}ND;o2*5MceOh+y)5q3POg!-{~RoAt8eN= zvnK_K4W0*1i>x`PbUx@7_NUb)gO%d5y0w1XE=OFeMBjL2O){O4=%Ou{9z^%n0qmaM z*K^ zw`OygVqf@t?-SnI2I|@l`dJ<_0Yg21U!3&Z4$CHq720xgDy1%EK^`f_dAQY&H*ZZaNHBr%idfV%(l|pv#n{vzjkjSAkp6ZJ*)g#zxA(r z$twSQ{ZIJ#OLDoq)ZbtFIz9X)sr;|veLno3m%hp^e~s{xGX6Rj`6Xriuj+k1{O_6L zuW?>dlwZfwzN9GsRn*V_(f`JIZCL&q>m|_kb!_NMpzU9E{Co@l8`l4~`tqOWcpW!E z_SXrXkFwwW|DNOD-&S5jzT{LizjASZ*@yqDMxTeS|NFB4nOgBryw_H^qy7xa^;U5ikU!%U5H@EuhBki{qQxKZ{yxHa4ffKH nz5e`p>Bs&mALl=S{jocfmx6g-e&4)7fBtEDJ}U8e`R)G!mskEP literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/extensions/saxon651.jar b/rosdocs/xsl/extensions/saxon651.jar new file mode 100644 index 0000000000000000000000000000000000000000..e2c09eb3d08f0927765ac19df8bde837a321c862 GIT binary patch literal 33656 zcmagFV{~T0wk{lZ@+Kp;ZQJ%6+qV72-Lc)VZJXV(ZQC|GxqbFIS)j805Z07wPJEL_H=Y$64Ov+G_^B!bq!I|Rh?Ht{#3BeAyQo(d`5-s$b=

    Q6DGbQ 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

  • 5o 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 literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/extensions/xalan2.jar b/rosdocs/xsl/extensions/xalan2.jar new file mode 100644 index 0000000000000000000000000000000000000000..40138f639d37d19af872f15226bafcf8713b1c3e GIT binary patch literal 27528 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 literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/extensions/xalan2/ChangeLog b/rosdocs/xsl/extensions/xalan2/ChangeLog new file mode 100644 index 0000000..c3a62dc --- /dev/null +++ b/rosdocs/xsl/extensions/xalan2/ChangeLog @@ -0,0 +1,8 @@ +2001-11-13 Norman Walsh + + * .cvsignore: Added infrastructure for building classes + +2001-04-02 Norman Walsh + + * .cvsignore: New file. + diff --git a/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/CVS.java b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/CVS.java new file mode 100644 index 0000000..acf1d05 --- /dev/null +++ b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/CVS.java @@ -0,0 +1,90 @@ +package com.nwalsh.xalan; + +import java.io.*; +import java.util.Calendar; +import java.util.GregorianCalendar; +import java.util.Date; +import java.util.Locale; +import java.util.TimeZone; +import java.text.DateFormat; +import java.text.ParseException; + +/** + *

    Saxon extension to convert CVS date strings into local time

    + * + *

    $Id$

    + * + *

    Copyright (C) 2000 Norman Walsh.

    + * + *

    This class provides a + * Saxon + * extension to turn the CVS date strings, which are UTC:

    + * + *
    $Date: 2000/11/09 02:34:20 $
    + * + *

    into legibly formatted local time:

    + * + *
    Wed Nov 08 18:34:20 PST 2000
    + * + *

    (I happened to be in California when I wrote this documentation.)

    + + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @version $Id$ + * + */ +public class CVS { + /** + *

    Constructor for CVS

    + * + *

    All of the methods are static, so the constructor does nothing.

    + */ + public CVS() { + } + + /** + *

    Convert a CVS date string into local time.

    + * + * @param cvsDate The CVS date string. + * + * @return The date, converted to local time and reformatted. + */ + public String localTime (String cvsDate) { + // A cvsDate has the following form "$Date$" + if (!cvsDate.startsWith("$Date: ")) { + return cvsDate; + } + + String yrS = cvsDate.substring(7,11); + String moS = cvsDate.substring(12,14); + String daS = cvsDate.substring(15,17); + String hrS = cvsDate.substring(18,20); + String miS = cvsDate.substring(21,23); + String seS = cvsDate.substring(24,26); + + TimeZone tz = TimeZone.getTimeZone("GMT+0"); + GregorianCalendar gmtCal = new GregorianCalendar(tz); + + try { + gmtCal.set(Integer.parseInt(yrS), + Integer.parseInt(moS)-1, + Integer.parseInt(daS), + Integer.parseInt(hrS), + Integer.parseInt(miS), + Integer.parseInt(seS)); + } catch (NumberFormatException e) { + // nop + } + + Date d = gmtCal.getTime(); + + return d.toString(); + } +} diff --git a/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Callout.java b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Callout.java new file mode 100644 index 0000000..920cfc3 --- /dev/null +++ b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Callout.java @@ -0,0 +1,143 @@ +package com.nwalsh.xalan; + +import org.w3c.dom.*; + +/** + *

    Utility class for the Verbatim extension (ignore this).

    + * + *

    $Id$

    + * + *

    Copyright (C) 2000 Norman Walsh.

    + * + *

    This class is just for book keeping in the Verbatim class. + * It stores information about the location of callouts.

    + * + *

    Only line/column based callouts are supported. This class + * implements the Comparable interface so that callouts can be sorted. + * Callouts are sorted so that they occur in left-to-right, + * top-to-bottom order based on line/column.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @see Verbatim + * + * @version $Id$ + * */ +public class Callout implements Comparable { + /** The callout number. */ + private int callout = 0; + /** The area Element item that generated this callout. */ + private Element area = null; + /** The line on which this callout occurs. */ + private int line = 0; + /** The column in which this callout appears. */ + private int col = 0; + /** The type of callout. */ + private int type = 0; + /** The other type of callout. */ + private String otherType = null; + + public static final int CALS_PAIR = 1; + public static final int LINE_COLUMN = 2; + public static final int LINE_COLUMN_PAIR = 3; + public static final int LINE_RANGE = 4; + public static final int OTHER = 5; + + /** The constructor; initialize the private data structures. */ + public Callout(int callout, Element area, int line, int col, int type) { + this.callout = callout; + this.area = area; + this.line = line; + this.col = col; + this.type = type; + this.otherType = null; + } + + /** The constructor; initialize the private data structures. */ + public Callout(int callout, Element area, int line, int col, String otherType) { + this.callout = callout; + this.area = area; + this.line = line; + this.col = col; + this.type = Callout.OTHER; + this.otherType = otherType; + } + + /** + *

    The compareTo method compares this Callout with another.

    + * + *

    Given two Callouts, A and B, A < B if:

    + * + *
      + *
    1. A.line < B.line, or
    2. + *
    3. A.line = B.line && A.col < B.col, or
    4. + *
    5. A.line = B.line && A.col = B.col && A.callout < B.callout
    6. + *
    7. Otherwise, they're equal.
    8. + *
    + */ + public int compareTo (Object o) { + Callout c = (Callout) o; + + if (line == c.getLine()) { + if (col > c.getColumn()) { + return 1; + } else if (col < c.getColumn()) { + return -1; + } else { + if (callout < c.getCallout()) { + return -1; + } else if (callout > c.getCallout()) { + return 1; + } else { + return 0; + } + } + } else { + if (line > c.getLine()) { + return 1; + } else { + return -1; + } + } + } + + /** Access the Callout's area. */ + public Element getArea() { + return area; + } + + /** Access the Callout's line. */ + public int getLine() { + return line; + } + + /** Access the Callout's column. */ + public int getColumn() { + return col; + } + + /** Access the Callout's callout number. */ + public int getCallout() { + return callout; + } + + /** Access the Callout's type. */ + public int getType() { + return type; + } + + /** Access the Callout's otherType. */ + public String getOtherType() { + return otherType; + } + + +} + diff --git a/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/ChangeLog b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/ChangeLog new file mode 100644 index 0000000..e1df7d2 --- /dev/null +++ b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/ChangeLog @@ -0,0 +1,28 @@ +2002-05-08 Norman Walsh + + * ImageIntrinsics.java: New file. + +2001-07-15 Norman Walsh + + * Verbatim.java: New Xalan code sometimes (always?) returns DOCUMENT_NODE where DOCUMENT_FRAGMENT_NODE used to be returned: handle it + +2001-07-10 Norman Walsh + + * Params.java: Use new getVariableOrParam method + + * Table.java: Remove redundant get... methods (now centralized in Param) + +2001-07-07 Norman Walsh + + * FormatDingbatCallout.java, Table.java, Verbatim.java: + Working towards Xalan 2.2 support (this code is BROKEN) + +2001-05-21 Norman Walsh + + * FormatCallout.java, Table.java, Verbatim.java: Updates for Xalan 2.0.x API as released by Apache + +2001-04-02 Norman Walsh + + * CVS.java, Callout.java, FormatCallout.java, FormatGraphicCallout.java, FormatTextCallout.java, FormatUnicodeCallout.java, Func.java, Params.java, Table.java, Text.java, Verbatim.java, package.html: + New file. + diff --git a/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/FormatCallout.java b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/FormatCallout.java new file mode 100644 index 0000000..0c179a1 --- /dev/null +++ b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/FormatCallout.java @@ -0,0 +1,108 @@ +package com.nwalsh.xalan; + +import org.xml.sax.SAXException; +import org.xml.sax.helpers.AttributesImpl; +import org.w3c.dom.*; +import org.apache.xpath.DOMHelper; +import org.apache.xml.utils.DOMBuilder; +import org.apache.xml.utils.AttList; +import com.nwalsh.xalan.Callout; + +/** + *

    Utility class for the Verbatim extension (ignore this).

    + * + *

    $Id$

    + * + *

    Copyright (C) 2000, 2001 Norman Walsh.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @see Verbatim + * + * @version $Id$ + **/ + +public abstract class FormatCallout { + protected static final String foURI = "http://www.w3.org/1999/XSL/Format"; + protected static final String xhURI = "http://www.w3.org/1999/xhtml"; + protected boolean stylesheetFO = false; + protected DOMHelper dh = null; + + public FormatCallout() { + //nop; + } + + public String areaLabel(Element area) { + NamedNodeMap domAttr = area.getAttributes(); + AttList attr = new AttList(domAttr, dh); + String label = null; + + if (attr.getValue("label") != null) { + // If this area has a label, use it + label = attr.getValue("label"); + } else { + // Otherwise, if its parent is an areaset and it has a label, use that + Element parent = (Element) area.getParentNode(); + NamedNodeMap pdomAttr = parent.getAttributes(); + AttList pAttr = new AttList(pdomAttr, dh); + if (parent != null + && parent.getNodeName().equals("areaset") + && pAttr.getValue("label") != null) { + label = pAttr.getValue("label"); + } + } + + return label; + } + + public void startSpan(DOMBuilder rtf) + throws SAXException { + // no point in doing this for FO, right? + if (!stylesheetFO) { + AttributesImpl spanAttr = new AttributesImpl(); + spanAttr.addAttribute("", "class", "class", "CDATA", "co"); + rtf.startElement("", "span", "span", spanAttr); + } + } + + public void endSpan(DOMBuilder rtf) + throws SAXException { + // no point in doing this for FO, right? + if (!stylesheetFO) { + rtf.endElement("", "span", "span"); + } + } + + public void formatTextCallout(DOMBuilder rtf, + Callout callout) { + Element area = callout.getArea(); + int num = callout.getCallout(); + String userLabel = areaLabel(area); + String label = "(" + num + ")"; + + if (userLabel != null) { + label = userLabel; + } + + char chars[] = label.toCharArray(); + + try { + startSpan(rtf); + rtf.characters(chars, 0, label.length()); + endSpan(rtf); + } catch (SAXException e) { + System.out.println("SAX Exception in text formatCallout"); + } + } + + public abstract void formatCallout(DOMBuilder rtf, + Callout callout); +} + diff --git a/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/FormatDingbatCallout.java b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/FormatDingbatCallout.java new file mode 100644 index 0000000..e78d3cc --- /dev/null +++ b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/FormatDingbatCallout.java @@ -0,0 +1,82 @@ +package com.nwalsh.xalan; + +import org.xml.sax.helpers.AttributesImpl; +import org.xml.sax.SAXException; +import org.w3c.dom.*; +import org.apache.xml.utils.DOMBuilder; +import com.nwalsh.xalan.Callout; +import org.apache.xml.utils.AttList; + +/** + *

    Utility class for the Verbatim extension (ignore this).

    + * + *

    $Id$

    + * + *

    Copyright (C) 2000, 2001 Norman Walsh.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @see Verbatim + * + * @version $Id$ + **/ + +public class FormatDingbatCallout extends FormatCallout { + int graphicsMax = 0; + + public FormatDingbatCallout(int max, boolean fo) { + graphicsMax = max; + stylesheetFO = fo; + } + + public void formatCallout(DOMBuilder rtf, + Callout callout) { + Element area = callout.getArea(); + int num = callout.getCallout(); + String label = areaLabel(area); + + try { + if (label == null && num <= graphicsMax) { + AttributesImpl imgAttr = new AttributesImpl(); + String ns = ""; + String prefix = ""; + String imgName = ""; + + if (stylesheetFO) { + ns = foURI; + prefix = "fo:"; // FIXME: this could be a problem... + imgName = "inline"; + imgAttr.addAttribute("", "font-family", "font-family", "CDATA", + "ZapfDingbats"); + } else { + ns = ""; + prefix = ""; + imgName = "font"; + imgAttr.addAttribute("", "face", "face", "CDATA", + "ZapfDingbats"); + } + + startSpan(rtf); + rtf.startElement(ns, imgName, prefix+imgName, imgAttr); + + char chars[] = new char[1]; + chars[0] = (char) (0x2775 + num); + rtf.characters(chars, 0, 1); + + rtf.endElement(ns, imgName, prefix+imgName); + endSpan(rtf); + } else { + formatTextCallout(rtf, callout); + } + } catch (SAXException e) { + System.out.println("SAX Exception in graphics formatCallout"); + } + } +} diff --git a/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/FormatGraphicCallout.java b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/FormatGraphicCallout.java new file mode 100644 index 0000000..a4f83bd --- /dev/null +++ b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/FormatGraphicCallout.java @@ -0,0 +1,83 @@ +package com.nwalsh.xalan; + +import org.xml.sax.helpers.AttributesImpl; +import org.xml.sax.SAXException; +import org.w3c.dom.*; +import org.apache.xml.utils.DOMBuilder; +import com.nwalsh.xalan.Callout; +import org.apache.xml.utils.AttList; + +/** + *

    Utility class for the Verbatim extension (ignore this).

    + * + *

    $Id$

    + * + *

    Copyright (C) 2000, 2001 Norman Walsh.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @see Verbatim + * + * @version $Id$ + **/ + +public class FormatGraphicCallout extends FormatCallout { + String graphicsPath = ""; + String graphicsExt = ""; + int graphicsMax = 0; + + public FormatGraphicCallout(String path, String ext, int max, boolean fo) { + graphicsPath = path; + graphicsExt = ext; + graphicsMax = max; + stylesheetFO = fo; + } + + public void formatCallout(DOMBuilder rtf, + Callout callout) { + Element area = callout.getArea(); + int num = callout.getCallout(); + String label = areaLabel(area); + + try { + if (label == null && num <= graphicsMax) { + AttributesImpl imgAttr = new AttributesImpl(); + String ns = ""; + String prefix = ""; + String imgName = ""; + + if (stylesheetFO) { + ns = foURI; + prefix = "fo:"; // FIXME: this could be a problem... + imgName = "external-graphic"; + imgAttr.addAttribute("", "src", "src", "CDATA", + graphicsPath + num + graphicsExt); + imgAttr.addAttribute("", "alt", "alt", "CDATA", label); + } else { + ns = ""; + prefix = ""; + imgName = "img"; + imgAttr.addAttribute("", "src", "src", "CDATA", + graphicsPath + num + graphicsExt); + imgAttr.addAttribute("", "alt", "alt", "CDATA", label); + } + + startSpan(rtf); + rtf.startElement(ns, imgName, prefix+imgName, imgAttr); + rtf.endElement(ns, imgName, prefix+imgName); + endSpan(rtf); + } else { + formatTextCallout(rtf, callout); + } + } catch (SAXException e) { + System.out.println("SAX Exception in graphics formatCallout"); + } + } +} diff --git a/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/FormatTextCallout.java b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/FormatTextCallout.java new file mode 100644 index 0000000..8cdbef5 --- /dev/null +++ b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/FormatTextCallout.java @@ -0,0 +1,38 @@ +package com.nwalsh.xalan; + +import org.w3c.dom.*; +import org.apache.xml.utils.DOMBuilder; +import com.nwalsh.xalan.Callout; +import org.apache.xml.utils.AttList; + +/** + *

    Utility class for the Verbatim extension (ignore this).

    + * + *

    $Id$

    + * + *

    Copyright (C) 2000, 2001 Norman Walsh.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @see Verbatim + * + * @version $Id$ + **/ + +public class FormatTextCallout extends FormatCallout { + public FormatTextCallout(boolean fo) { + stylesheetFO = fo; + } + + public void formatCallout(DOMBuilder rtf, + Callout callout) { + formatTextCallout(rtf, callout); + } +} diff --git a/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/FormatUnicodeCallout.java b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/FormatUnicodeCallout.java new file mode 100644 index 0000000..ef8f352 --- /dev/null +++ b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/FormatUnicodeCallout.java @@ -0,0 +1,61 @@ +package com.nwalsh.xalan; + +import org.xml.sax.SAXException; +import org.w3c.dom.*; +import org.apache.xml.utils.DOMBuilder; +import com.nwalsh.xalan.Callout; +import org.apache.xml.utils.AttList; + +/** + *

    Utility class for the Verbatim extension (ignore this).

    + * + *

    $Id$

    + * + *

    Copyright (C) 2000, 2001 Norman Walsh.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @see Verbatim + * + * @version $Id$ + **/ + +public class FormatUnicodeCallout extends FormatCallout { + int unicodeMax = 0; + int unicodeStart = 0; + + public FormatUnicodeCallout(int start, int max, boolean fo) { + unicodeMax = max; + unicodeStart = start; + stylesheetFO = fo; + } + + public void formatCallout(DOMBuilder rtf, + Callout callout) { + Element area = callout.getArea(); + int num = callout.getCallout(); + String label = areaLabel(area); + + try { + if (label == null && num <= unicodeMax) { + char chars[] = new char[1]; + chars[0] = (char) (unicodeStart + num - 1); + + startSpan(rtf); + rtf.characters(chars, 0, 1); + endSpan(rtf); + } else { + formatTextCallout(rtf, callout); + } + } catch (SAXException e) { + System.out.println("SAX Exception in unicode formatCallout"); + } + } +} diff --git a/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Func.java b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Func.java new file mode 100644 index 0000000..e03ae6b --- /dev/null +++ b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Func.java @@ -0,0 +1,59 @@ +// Func - Xalann extension function test + +package com.nwalsh.xalan; + +import org.xml.sax.SAXException; +import org.xml.sax.AttributeList; +import org.xml.sax.ContentHandler; + +import org.w3c.dom.*; +import org.w3c.dom.traversal.NodeIterator; +import org.apache.xerces.dom.*; + +import org.apache.xpath.objects.XObject; +import org.apache.xpath.objects.XRTreeFrag; +import org.apache.xpath.XPath; +import org.apache.xpath.NodeSet; +import org.apache.xalan.extensions.XSLProcessorContext; +import org.apache.xalan.extensions.ExpressionContext; +import org.apache.xalan.transformer.TransformerImpl; +import org.apache.xalan.templates.StylesheetRoot; +import org.apache.xalan.templates.ElemExtensionCall; +import org.apache.xalan.templates.OutputProperties; +import org.apache.xalan.res.XSLTErrorResources; + +import javax.xml.transform.stream.StreamResult; +import javax.xml.transform.TransformerException; + +public class Func { + public Func() { + } + + public DocumentFragment doSomething(NodeIterator rtf) { + System.out.println("Got here 2: " + rtf); + + DocumentFragment df = (DocumentFragment) rtf.nextNode(); + Element node = (Element) df.getFirstChild(); + + System.out.println("node=" + node); + System.out.println("namesp uri: " + node.getNamespaceURI()); + System.out.println("local name: " + node.getLocalName()); + + return df; + } + + public DocumentFragment doSomething(DocumentFragment rtf) { + System.out.println("Got here: " + rtf); + + return rtf; + /* + Element node = (Element) rtf.getFirstChild(); + + System.out.println("node=" + node); + System.out.println("namesp uri: " + node.getNamespaceURI()); + System.out.println("local name: " + node.getLocalName()); + + return rtf; + */ + } +} diff --git a/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/ImageIntrinsics.java b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/ImageIntrinsics.java new file mode 100644 index 0000000..e4dca71 --- /dev/null +++ b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/ImageIntrinsics.java @@ -0,0 +1,159 @@ +package com.nwalsh.xalan; + +import java.io.*; +import java.awt.*; +import java.awt.image.*; +import java.lang.Thread; +import java.util.StringTokenizer; + +import org.apache.xalan.extensions.ExpressionContext; + +/** + *

    Saxon extension to examine intrinsic size of images

    + * + *

    $Id$

    + * + *

    Copyright (C) 2002 Norman Walsh.

    + * + *

    This class provides a + * Xalan + * extension to find the intrinsic size of images.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @version $Id$ + * + */ +public class ImageIntrinsics implements ImageObserver { + boolean imageLoaded = false; + boolean imageFailed = false; + Image image = null; + int width = -1; + int depth = -1; + + /** + *

    Constructor for ImageIntrinsics

    + */ + public ImageIntrinsics(ExpressionContext context, String imageFn) { + image = Toolkit.getDefaultToolkit().getImage (imageFn); + width = image.getWidth(this); + + while (!imageFailed && (width == -1 || depth == -1)) { + try { + java.lang.Thread.currentThread().sleep(50); + } catch (Exception e) { + // nop; + } + width = image.getWidth(this); + depth = image.getHeight(this); + } + + if (imageFailed) { + // Maybe it's an EPS or PDF? + // FIXME: this code is crude + BufferedReader ir = null; + String line = null; + int lineLimit = 100; + + try { + ir = new BufferedReader(new FileReader(new File(imageFn))); + line = ir.readLine(); + + if (line != null && line.startsWith("%PDF-")) { + // We've got a PDF! + while (lineLimit > 0 && line != null) { + lineLimit--; + if (line.startsWith("/CropBox [")) { + line = line.substring(10); + if (line.indexOf("]") >= 0) { + line = line.substring(0, line.indexOf("]")); + } + parseBox(line); + lineLimit = 0; + } + line = ir.readLine(); + } + } else if (line != null && line.startsWith("%!") && line.indexOf(" EPSF-") > 0) { + // We've got an EPS! + while (lineLimit > 0 && line != null) { + lineLimit--; + if (line.startsWith("%%BoundingBox: ")) { + line = line.substring(15); + parseBox(line); + lineLimit = 0; + } + line = ir.readLine(); + } + } + } catch (Exception e) { + // nop; + } + + if (ir != null) { + try { + ir.close(); + } catch (Exception e) { + // nop; + } + } + } + } + + public int getWidth(ExpressionContext context, int defaultWidth) { + if (width >= 0) { + return width; + } else { + return defaultWidth; + } + } + + public int getDepth(ExpressionContext context, int defaultDepth) { + if (depth >= 0) { + return depth; + } else { + return defaultDepth; + } + } + + private void parseBox(String line) { + int [] corners = new int [4]; + int count = 0; + + StringTokenizer st = new StringTokenizer(line); + while (count < 4 && st.hasMoreTokens()) { + try { + corners[count++] = Integer.parseInt(st.nextToken()); + } catch (Exception e) { + // nop; + } + } + + width = corners[2] - corners[0]; + depth = corners[3] - corners[1]; + } + + public boolean imageUpdate(Image img, int infoflags, + int x, int y, int width, int height) { + if ((infoflags & ImageObserver.ERROR) == ImageObserver.ERROR) { + imageFailed = true; + return false; + } + + // I really only care about the width and height, but if I return false as + // soon as those are available, the BufferedInputStream behind the loader + // gets closed too early. + int flags = ImageObserver.ALLBITS; + if ((infoflags & flags) == flags) { + return false; + } else { + return true; + } + } +} diff --git a/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Params.java b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Params.java new file mode 100644 index 0000000..fd6c97a --- /dev/null +++ b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Params.java @@ -0,0 +1,57 @@ +// Params.java - Read stylesheet parameters in Xalan + +package com.nwalsh.xalan; + +import org.apache.xpath.objects.XObject; +import org.apache.xpath.XPathContext; +import org.apache.xalan.extensions.ExpressionContext; +import org.apache.xml.utils.QName; + +import javax.xml.transform.TransformerException; + +public class Params { + + public static String getString(ExpressionContext context, + String varName) { + try { + XObject var = context.getVariableOrParam(new QName(varName)); + if (var != null) { + return var.toString(); + } else { + System.out.println("$" + varName + " is not a defined parameter."); + return ""; + } + } catch (TransformerException te) { + System.out.println("Transformer exception getting value of $" + varName); + return ""; + } + } + + public static int getInt(ExpressionContext context, + String varName) { + String stringValue = getString(context, varName); + if (stringValue != null) { + try { + int value = Integer.parseInt(stringValue); + return value; + } catch (NumberFormatException e) { + System.out.println("$" + varName + " is not an integer."); + } + } + return 0; + } + + public static boolean getBoolean(ExpressionContext context, + String varName) { + String stringValue = getString(context, varName); + if (stringValue != null) { + if (stringValue.equals("0") || stringValue.equals("")) { + return false; + } else { + return true; + } + } else { + return false; + } + } +} diff --git a/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Table.java b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Table.java new file mode 100644 index 0000000..bad7039 --- /dev/null +++ b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Table.java @@ -0,0 +1,489 @@ +// Verbatim.java - Xalan extensions supporting DocBook verbatim environments + +package com.nwalsh.xalan; + +import java.util.Hashtable; +import org.xml.sax.*; +import org.xml.sax.helpers.AttributesImpl; +import org.w3c.dom.*; +import org.w3c.dom.traversal.NodeIterator; + +import javax.xml.transform.TransformerException; + +import org.apache.xpath.objects.XObject; +import org.apache.xpath.XPathContext; +import org.apache.xalan.extensions.ExpressionContext; +import org.apache.xml.utils.DOMBuilder; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import org.apache.xml.utils.QName; +import org.apache.xpath.DOMHelper; +import org.apache.xml.utils.AttList; + +/** + *

    Xalan extensions supporting Tables

    + * + *

    $Id$

    + * + *

    Copyright (C) 2000 Norman Walsh.

    + * + *

    This class provides a + * Xalan + * implementation of some code to adjust CALS Tables to HTML + * Tables.

    + * + *

    Column Widths

    + *

    The adjustColumnWidths method takes a result tree + * fragment (assumed to contain the colgroup of an HTML Table) + * and returns the result tree fragment with the column widths + * adjusted to HTML terms.

    + * + *

    Convert Lengths

    + *

    The convertLength method takes a length specification + * of the form 9999.99xx (where "xx" is a unit) and returns that length + * as an integral number of pixels. For convenience, percentage lengths + * are returned unchanged.

    + *

    The recognized units are: inches (in), centimeters (cm), + * millimeters (mm), picas (pc, 1pc=12pt), points (pt), and pixels (px). + * A number with no units is assumed to be pixels.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @version $Id$ + * + */ +public class Table { + /** The number of pixels per inch */ + private static int pixelsPerInch = 96; + + /** The hash used to associate units with a length in pixels. */ + protected static Hashtable unitHash = null; + + /** The FO namespace name. */ + protected static String foURI = "http://www.w3.org/1999/XSL/Format"; + + /** + *

    Constructor for Verbatim

    + * + *

    All of the methods are static, so the constructor does nothing.

    + */ + public Table() { + } + + /** Initialize the internal hash table with proper values. */ + protected static void initializeHash() { + unitHash = new Hashtable(); + unitHash.put("in", new Float(pixelsPerInch)); + unitHash.put("cm", new Float(pixelsPerInch / 2.54)); + unitHash.put("mm", new Float(pixelsPerInch / 25.4)); + unitHash.put("pc", new Float((pixelsPerInch / 72) * 12)); + unitHash.put("pt", new Float(pixelsPerInch / 72)); + unitHash.put("px", new Float(1)); + } + + /** Set the pixels-per-inch value. Only positive values are legal. */ + public static void setPixelsPerInch(int value) { + if (value > 0) { + pixelsPerInch = value; + initializeHash(); + } + } + + /** Return the current pixels-per-inch value. */ + public int getPixelsPerInch() { + return pixelsPerInch; + } + + /** + *

    Convert a length specification to a number of pixels.

    + * + *

    The specified length should be of the form [+/-]999.99xx, + * where xx is a valid unit.

    + */ + public static int convertLength(String length) { + // The format of length should be 999.999xx + int sign = 1; + String digits = ""; + String units = ""; + char lench[] = length.toCharArray(); + float flength = 0; + boolean done = false; + int pos = 0; + float factor = 1; + int pixels = 0; + + if (unitHash == null) { + initializeHash(); + } + + if (lench[pos] == '+' || lench[pos] == '-') { + if (lench[pos] == '-') { + sign = -1; + } + pos++; + } + + while (!done) { + if (pos >= lench.length) { + done = true; + } else { + if ((lench[pos] > '9' || lench[pos] < '0') && lench[pos] != '.') { + done = true; + units = length.substring(pos); + } else { + digits += lench[pos++]; + } + } + } + + try { + flength = Float.parseFloat(digits); + } catch (NumberFormatException e) { + System.out.println(digits + " is not a number; 1 used instead."); + flength = 1; + } + + Float f = null; + + if (!units.equals("")) { + f = (Float) unitHash.get(units); + if (f == null) { + System.out.println(units + " is not a known unit; 1 used instead."); + factor = 1; + } else { + factor = f.floatValue(); + } + } else { + factor = 1; + } + + f = new Float(flength * factor); + + pixels = f.intValue() * sign; + + return pixels; + } + + /** + *

    Adjust column widths in an HTML table.

    + * + *

    The specification of column widths in CALS (a relative width + * plus an optional absolute width) are incompatible with HTML column + * widths. This method adjusts CALS column width specifiers in an + * attempt to produce equivalent HTML specifiers.

    + * + *

    In order for this method to work, the CALS width specifications + * should be placed in the "width" attribute of the <col>s within + * a <colgroup>. Then the colgroup result tree fragment is passed + * to this method.

    + * + *

    This method makes use of two parameters from the XSL stylesheet + * that calls it: nominal.table.width and + * table.width. The value of nominal.table.width + * must be an absolute distance. The value of table.width + * can be either absolute or relative.

    + * + *

    Presented with a mixture of relative and + * absolute lengths, the table width is used to calculate + * appropriate values. If the table.width is relative, + * the nominal width is used for this calculation.

    + * + *

    There are three possible combinations of values:

    + * + *
      + *
    1. There are no relative widths; in this case the absolute widths + * are used in the HTML table.
    2. + *
    3. There are no absolute widths; in this case the relative widths + * are used in the HTML table.
    4. + *
    5. There are a mixture of absolute and relative widths: + *
        + *
      1. If the table width is absolute, all widths become absolute.
      2. + *
      3. If the table width is relative, make all the widths absolute + * relative to the nominal table width then turn them all + * back into relative widths.
      4. + *
      + *
    6. + *
    + * + * @param context The stylesheet context; supplied automatically by Xalan + * @param rtf The result tree fragment containing the colgroup. + * + * @return The result tree fragment containing the adjusted colgroup. + * + */ + + public DocumentFragment adjustColumnWidths (ExpressionContext context, + NodeIterator xalanNI) { + + int nominalWidth = convertLength(Params.getString(context, + "nominal.table.width")); + String tableWidth = Params.getString(context, "table.width"); + String styleType = Params.getString(context, "stylesheet.result.type"); + boolean foStylesheet = styleType.equals("fo"); + + DocumentFragment xalanRTF = (DocumentFragment) xalanNI.nextNode(); + Element colgroup = (Element) xalanRTF.getFirstChild(); + + // N.B. ...stree.ElementImpl doesn't implement getElementsByTagName() + + Node firstCol = null; + // If this is an FO tree, there might be no colgroup... + if (colgroup.getLocalName().equals("colgroup")) { + firstCol = colgroup.getFirstChild(); + } else { + firstCol = colgroup; + } + + // Count the number of columns... + Node child = firstCol; + int numColumns = 0; + while (child != null) { + if (child.getNodeType() == Node.ELEMENT_NODE + && (child.getNodeName().equals("col") + || (child.getNamespaceURI().equals(foURI) + && child.getLocalName().equals("table-column")))) { + numColumns++; + } + + child = child.getNextSibling(); + } + + String widths[] = new String[numColumns]; + Element columns[] = new Element[numColumns]; + int colnum = 0; + + child = firstCol; + while (child != null) { + if (child.getNodeType() == Node.ELEMENT_NODE + && (child.getNodeName().equals("col") + || (child.getNamespaceURI().equals(foURI) + && child.getLocalName().equals("table-column")))) { + Element col = (Element) child; + + columns[colnum] = col; + + if (foStylesheet) { + if (col.getAttribute("column-width") == null) { + widths[colnum] = "1*"; + } else { + widths[colnum] = col.getAttribute("column-width"); + } + } else { + if (col.getAttribute("width") == null) { + widths[colnum] = "1*"; + } else { + widths[colnum] = col.getAttribute("width"); + } + } + + colnum++; + } + child = child.getNextSibling(); + } + + float relTotal = 0; + float relParts[] = new float[numColumns]; + + float absTotal = 0; + float absParts[] = new float[numColumns]; + + for (int count = 0; count < numColumns; count++) { + String width = widths[count]; + int pos = width.indexOf("*"); + if (pos >= 0) { + String relPart = width.substring(0, pos); + String absPart = width.substring(pos+1); + + try { + float rel = Float.parseFloat(relPart); + relTotal += rel; + relParts[count] = rel; + } catch (NumberFormatException e) { + System.out.println(relPart + " is not a valid relative unit."); + } + + int pixels = 0; + if (absPart != null && !absPart.equals("")) { + pixels = convertLength(absPart); + } + + absTotal += pixels; + absParts[count] = pixels; + } else { + relParts[count] = 0; + + int pixels = 0; + if (width != null && !width.equals("")) { + pixels = convertLength(width); + } + + absTotal += pixels; + absParts[count] = pixels; + } + } + + // Ok, now we have the relative widths and absolute widths in + // two parallel arrays. + // + // - If there are no relative widths, output the absolute widths + // - If there are no absolute widths, output the relative widths + // - If there are a mixture of relative and absolute widths, + // - If the table width is absolute, turn these all into absolute + // widths. + // - If the table width is relative, turn these all into absolute + // widths in the nominalWidth and then turn them back into + // percentages. + + if (relTotal == 0) { + for (int count = 0; count < numColumns; count++) { + Float f = new Float(absParts[count]); + if (foStylesheet) { + int pixels = f.intValue(); + float inches = (float) pixels / pixelsPerInch; + widths[count] = inches + "in"; + } else { + widths[count] = Integer.toString(f.intValue()); + } + } + } else if (absTotal == 0) { + for (int count = 0; count < numColumns; count++) { + float rel = relParts[count] / relTotal * 100; + Float f = new Float(rel); + widths[count] = Integer.toString(f.intValue()) + "%"; + } + } else { + int pixelWidth = nominalWidth; + + if (tableWidth.indexOf("%") <= 0) { + pixelWidth = convertLength(tableWidth); + } + + if (pixelWidth <= absTotal) { + System.out.println("Table is wider than table width."); + } else { + pixelWidth -= absTotal; + } + + absTotal = 0; + for (int count = 0; count < numColumns; count++) { + float rel = relParts[count] / relTotal * pixelWidth; + relParts[count] = rel + absParts[count]; + absTotal += rel + absParts[count]; + } + + if (tableWidth.indexOf("%") <= 0) { + for (int count = 0; count < numColumns; count++) { + Float f = new Float(relParts[count]); + if (foStylesheet) { + int pixels = f.intValue(); + float inches = (float) pixels / pixelsPerInch; + widths[count] = inches + "in"; + } else { + widths[count] = Integer.toString(f.intValue()); + } + } + } else { + for (int count = 0; count < numColumns; count++) { + float rel = relParts[count] / absTotal * 100; + Float f = new Float(rel); + widths[count] = Integer.toString(f.intValue()) + "%"; + } + } + } + + // Now rebuild the colgroup with the right widths + + DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); + DocumentBuilder docBuilder = null; + + try { + docBuilder = docFactory.newDocumentBuilder(); + } catch (ParserConfigurationException e) { + System.out.println("PCE!"); + return xalanRTF; + } + Document doc = docBuilder.newDocument(); + DocumentFragment df = doc.createDocumentFragment(); + DOMBuilder rtf = new DOMBuilder(doc, df); + + try { + String ns = colgroup.getNamespaceURI(); + String localName = colgroup.getLocalName(); + String name = colgroup.getTagName(); + + if (colgroup.getLocalName().equals("colgroup")) { + rtf.startElement(ns, localName, name, + copyAttributes(colgroup)); + } + + for (colnum = 0; colnum < numColumns; colnum++) { + Element col = columns[colnum]; + + NamedNodeMap domAttr = col.getAttributes(); + + AttributesImpl attr = new AttributesImpl(); + for (int acount = 0; acount < domAttr.getLength(); acount++) { + Node a = domAttr.item(acount); + String a_ns = a.getNamespaceURI(); + String a_localName = a.getLocalName(); + + if ((foStylesheet && !a_localName.equals("column-width")) + || !a_localName.equalsIgnoreCase("width")) { + attr.addAttribute(a.getNamespaceURI(), + a.getLocalName(), + a.getNodeName(), + "CDATA", + a.getNodeValue()); + } + } + + if (foStylesheet) { + attr.addAttribute("", "column-width", "column-width", "CDATA", widths[colnum]); + } else { + attr.addAttribute("", "width", "width", "CDATA", widths[colnum]); + } + + rtf.startElement(col.getNamespaceURI(), + col.getLocalName(), + col.getTagName(), + attr); + rtf.endElement(col.getNamespaceURI(), + col.getLocalName(), + col.getTagName()); + } + + if (colgroup.getLocalName().equals("colgroup")) { + rtf.endElement(ns, localName, name); + } + } catch (SAXException se) { + System.out.println("SE!"); + return xalanRTF; + } + + return df; + } + + private Attributes copyAttributes(Element node) { + AttributesImpl attrs = new AttributesImpl(); + NamedNodeMap nnm = node.getAttributes(); + for (int count = 0; count < nnm.getLength(); count++) { + Attr attr = (Attr) nnm.item(count); + String name = attr.getName(); + if (name.startsWith("xmlns:") || name.equals("xmlns")) { + // Skip it; (don't ya just love it!!) + } else { + attrs.addAttribute(attr.getNamespaceURI(), attr.getName(), + attr.getName(), "CDATA", attr.getValue()); + } + } + return attrs; + } +} diff --git a/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Text.java b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Text.java new file mode 100644 index 0000000..4ca3234 --- /dev/null +++ b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Text.java @@ -0,0 +1,128 @@ +// Text - Xalan extension element for inserting text + +package com.nwalsh.xalan; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.io.InputStream; +import java.io.IOException; +import java.io.FileNotFoundException; +import java.net.URL; +import java.net.MalformedURLException; + +import org.xml.sax.SAXException; +import org.xml.sax.AttributeList; +import org.xml.sax.ContentHandler; + +import org.w3c.dom.*; +import org.apache.xerces.dom.*; + +import org.apache.xpath.objects.XObject; +import org.apache.xpath.XPath; +import org.apache.xpath.NodeSet; +import org.apache.xalan.extensions.XSLProcessorContext; +import org.apache.xalan.transformer.TransformerImpl; +import org.apache.xalan.templates.StylesheetRoot; +import org.apache.xalan.templates.ElemExtensionCall; +import org.apache.xalan.templates.OutputProperties; +import org.apache.xalan.res.XSLTErrorResources; + +import javax.xml.transform.stream.StreamResult; +import javax.xml.transform.TransformerException; + +/** + *

    Xalan extension element for inserting text + * + *

    $Id$

    + * + *

    Copyright (C) 2001 Norman Walsh.

    + * + *

    This class provides a + * Xalan + * extension element for inserting text into a result tree.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @version $Id$ + * + */ +public class Text { + /** + *

    Constructor for Text

    + * + *

    Does nothing.

    + */ + public Text() { + } + + public NodeList insertfile(XSLProcessorContext context, + ElemExtensionCall elem) + throws MalformedURLException, + FileNotFoundException, + IOException, + TransformerException { + String href = getFilename(context, elem); + + NodeSet textNodes = new NodeSet(); + Document textDoc = DOMImplementationImpl.getDOMImplementation().createDocument(null, "tmpDoc", null); + + URL fileURL = null; + + try { + try { + fileURL = new URL(href); + } catch (MalformedURLException e1) { + try { + fileURL = new URL("file:" + href); + } catch (MalformedURLException e2) { + System.out.println("Cannot open " + href); + return null; + } + } + + InputStreamReader isr = new InputStreamReader(fileURL.openStream()); + BufferedReader is = new BufferedReader(isr); + + char chars[] = new char[4096]; + int len = 0; + while ((len = is.read(chars)) > 0) { + String s = new String(chars, 0, len); + // Does it matter that this produces multiple, adjacent text + // nodes? I don't think so... + textNodes.addNode(textDoc.createTextNode(s)); + } + is.close(); + } catch (Exception e) { + System.out.println("Cannot read " + href); + } + + return textNodes; + } + + private String getFilename(XSLProcessorContext context, ElemExtensionCall elem) + throws java.net.MalformedURLException, + java.io.FileNotFoundException, + java.io.IOException, + javax.xml.transform.TransformerException { + + String fileName; + + fileName = ((ElemExtensionCall)elem).getAttribute ("href", + context.getContextNode(), + context.getTransformer()); + + if(fileName == null) { + context.getTransformer().getMsgMgr().error(elem, + "No 'href' on text, or not a filename"); + } + + return fileName; + } +} diff --git a/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Verbatim.java b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Verbatim.java new file mode 100644 index 0000000..43425d5 --- /dev/null +++ b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/Verbatim.java @@ -0,0 +1,929 @@ +// Verbatim.java - Xalan extensions supporting DocBook verbatim environments + +package com.nwalsh.xalan; + +import java.util.Stack; +import java.util.StringTokenizer; + +import org.xml.sax.*; +import org.xml.sax.helpers.AttributesImpl; +import org.w3c.dom.*; +import org.w3c.dom.traversal.NodeIterator; +import org.apache.xerces.dom.*; + +import org.apache.xpath.objects.XObject; +import org.apache.xpath.XPath; +import org.apache.xpath.XPathContext; +import org.apache.xpath.NodeSet; +import org.apache.xpath.DOMHelper; +import org.apache.xalan.extensions.XSLProcessorContext; +import org.apache.xalan.extensions.ExpressionContext; +import org.apache.xalan.transformer.TransformerImpl; +import org.apache.xalan.templates.StylesheetRoot; +import org.apache.xalan.templates.ElemExtensionCall; +import org.apache.xalan.templates.OutputProperties; +import org.apache.xalan.res.XSLTErrorResources; +import org.apache.xml.utils.DOMBuilder; +import org.apache.xml.utils.AttList; +import org.apache.xml.utils.QName; + +import javax.xml.transform.stream.StreamResult; +import javax.xml.transform.TransformerException; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; + +import com.nwalsh.xalan.Callout; +import com.nwalsh.xalan.Params; + +/** + *

    Xalan extensions supporting DocBook verbatim environments

    + * + *

    $Id$

    + * + *

    Copyright (C) 2001 Norman Walsh.

    + * + *

    This class provides a + * Xalan + * implementation of two features that would be impractical to + * implement directly in XSLT: line numbering and callouts.

    + * + *

    Line Numbering

    + *

    The numberLines family of functions takes a result tree + * fragment (assumed to contain the contents of a formatted verbatim + * element in DocBook: programlisting, screen, address, literallayout, + * or synopsis) and returns a result tree fragment decorated with + * line numbers.

    + * + *

    Callouts

    + *

    The insertCallouts family of functions takes an + * areaspec and a result tree fragment + * (assumed to contain the contents of a formatted verbatim + * element in DocBook: programlisting, screen, address, literallayout, + * or synopsis) and returns a result tree fragment decorated with + * callouts.

    + * + *

    Change Log:

    + *
    + *
    1.0
    + *

    Initial release.

    + *
    + * + * @author Norman Walsh + * ndw@nwalsh.com + * + * @version $Id$ + * + */ +public class Verbatim { + /** A stack to hold the open elements while walking through a RTF. */ + private Stack elementStack = null; + /** A stack to hold the temporarily closed elements. */ + private Stack tempStack = null; + /** The current line number. */ + private int lineNumber = 0; + /** The current column number. */ + private int colNumber = 0; + /** The modulus for line numbering (every 'modulus' line is numbered). */ + private int modulus = 0; + /** The width (in characters) of line numbers (for padding). */ + private int width = 0; + /** The separator between the line number and the verbatim text. */ + private String separator = ""; + /** The (sorted) array of callouts obtained from the areaspec. */ + private Callout callout[] = null; + /** The number of callouts in the callout array. */ + private int calloutCount = 0; + /** A pointer used to keep track of our position in the callout array. */ + private int calloutPos = 0; + /** The path to use for graphical callout decorations. */ + private String graphicsPath = null; + /** The extension to use for graphical callout decorations. */ + private String graphicsExt = null; + /** The largest callout number that can be represented graphically. */ + private int graphicsMax = 10; + /** Should graphic callouts use fo:external-graphics or imgs. */ + private boolean graphicsFO = false; + + private static final String foURI = "http://www.w3.org/1999/XSL/Format"; + private static final String xhURI = "http://www.w3.org/1999/xhtml"; + + /** + *

    Constructor for Verbatim

    + * + *

    All of the methods are static, so the constructor does nothing.

    + */ + public Verbatim() { + } + + /** + *

    Number lines in a verbatim environment.

    + * + *

    This method adds line numbers to a result tree fragment. Each + * newline that occurs in a text node is assumed to start a new line. + * The first line is always numbered, every subsequent xalanMod line + * is numbered (so if xalanMod=5, lines 1, 5, 10, 15, etc. will be + * numbered. If there are fewer than xalanMod lines in the environment, + * every line is numbered.

    + * + *

    xalanMod is taken from the $linenumbering.everyNth parameter.

    + * + *

    Every line number will be right justified in a string xalanWidth + * characters long. If the line number of the last line in the + * environment is too long to fit in the specified width, the width + * is automatically increased to the smallest value that can hold the + * number of the last line. (In other words, if you specify the value 2 + * and attempt to enumerate the lines of an environment that is 100 lines + * long, the value 3 will automatically be used for every line in the + * environment.)

    + * + *

    xalanWidth is taken from the $linenumbering.width parameter.

    + * + *

    The xalanSep string is inserted between the line + * number and the original program listing. Lines that aren't numbered + * are preceded by a xalanWidth blank string and the separator.

    + * + *

    xalanSep is taken from the $linenumbering.separator parameter.

    + * + *

    If inline markup extends across line breaks, markup changes are + * required. All the open elements are closed before the line break and + * "reopened" afterwards. The reopened elements will have the same + * attributes as the originals, except that 'name' and 'id' attributes + * are not duplicated.

    + * + * @param xalanRTF The result tree fragment of the verbatim environment. + * + * @return The modified result tree fragment. + */ + public DocumentFragment numberLines (ExpressionContext context, + NodeIterator xalanNI) { + + int xalanMod = Params.getInt(context, "linenumbering.everyNth"); + int xalanWidth = Params.getInt(context, "linenumbering.width"); + String xalanSep = Params.getString(context, "linenumbering.separator"); + + DocumentFragment xalanRTF = (DocumentFragment) xalanNI.nextNode(); + int numLines = countLineBreaks(xalanRTF) + 1; + + DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); + DocumentBuilder docBuilder = null; + + try { + docBuilder = docFactory.newDocumentBuilder(); + } catch (ParserConfigurationException e) { + System.out.println("PCE!"); + return xalanRTF; + } + Document doc = docBuilder.newDocument(); + DocumentFragment df = doc.createDocumentFragment(); + DOMBuilder db = new DOMBuilder(doc, df); + + elementStack = new Stack(); + lineNumber = 0; + modulus = numLines < xalanMod ? 1 : xalanMod; + width = xalanWidth; + separator = xalanSep; + + double log10numLines = Math.log(numLines) / Math.log(10); + + if (width < log10numLines + 1) { + width = (int) Math.floor(log10numLines + 1); + } + + lineNumberFragment(db, xalanRTF); + return df; + } + + /** + *

    Count the number of lines in a verbatim environment.

    + * + *

    This method walks over the nodes of a DocumentFragment and + * returns the number of lines breaks that it contains.

    + * + * @param node The root of the tree walk over. + */ + private int countLineBreaks(Node node) { + int numLines = 0; + + if (node.getNodeType() == Node.DOCUMENT_FRAGMENT_NODE + || node.getNodeType() == Node.DOCUMENT_NODE + || node.getNodeType() == Node.ELEMENT_NODE) { + Node child = node.getFirstChild(); + while (child != null) { + numLines += countLineBreaks(child); + child = child.getNextSibling(); + } + } else if (node.getNodeType() == Node.TEXT_NODE) { + String text = node.getNodeValue(); + + // Walk through the text node looking for newlines + int pos = 0; + for (int count = 0; count < text.length(); count++) { + if (text.charAt(count) == '\n') { + numLines++; + } + } + } else { + // nop + } + + return numLines; + } + + /** + *

    Build a DocumentFragment with numbered lines.

    + * + *

    This is the method that actually does the work of numbering + * lines in a verbatim environment. It recursively walks through a + * tree of nodes, copying the structure into the rtf. Text nodes + * are examined for new lines and modified as requested by the + * global line numbering parameters.

    + * + *

    When called, rtf should be an empty DocumentFragment and node + * should be the first child of the result tree fragment that contains + * the existing, formatted verbatim text.

    + * + * @param rtf The resulting verbatim environment with numbered lines. + * @param node The root of the tree to copy. + */ + private void lineNumberFragment(DOMBuilder rtf, + Node node) { + try { + if (node.getNodeType() == Node.DOCUMENT_FRAGMENT_NODE + || node.getNodeType() == Node.DOCUMENT_NODE) { + Node child = node.getFirstChild(); + while (child != null) { + lineNumberFragment(rtf, child); + child = child.getNextSibling(); + } + } else if (node.getNodeType() == Node.ELEMENT_NODE) { + String ns = node.getNamespaceURI(); + String localName = node.getLocalName(); + String name = ((Element) node).getTagName(); + + rtf.startElement(ns, localName, name, + copyAttributes((Element) node)); + + elementStack.push(node); + + Node child = node.getFirstChild(); + while (child != null) { + lineNumberFragment(rtf, child); + child = child.getNextSibling(); + } + } else if (node.getNodeType() == Node.TEXT_NODE) { + String text = node.getNodeValue(); + + if (lineNumber == 0) { + // The first line is always numbered + formatLineNumber(rtf, ++lineNumber); + } + + // Walk through the text node looking for newlines + char chars[] = text.toCharArray(); + int pos = 0; + for (int count = 0; count < text.length(); count++) { + if (text.charAt(count) == '\n') { + // This is the tricky bit; if we find a newline, make sure + // it doesn't occur inside any markup. + + if (pos > 0) { + rtf.characters(chars, 0, pos); + pos = 0; + } + + closeOpenElements(rtf); + + // Copy the newline to the output + chars[pos++] = text.charAt(count); + rtf.characters(chars, 0, pos); + pos = 0; + + // Add the line number + formatLineNumber(rtf, ++lineNumber); + + openClosedElements(rtf); + } else { + chars[pos++] = text.charAt(count); + } + } + + if (pos > 0) { + rtf.characters(chars, 0, pos); + } + } else if (node.getNodeType() == Node.COMMENT_NODE) { + String text = node.getNodeValue(); + char chars[] = text.toCharArray(); + rtf.comment(chars, 0, text.length()); + } else if (node.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE) { + rtf.processingInstruction(node.getNodeName(), node.getNodeValue()); + } else { + System.out.println("Warning: unexpected node type in lineNumberFragment"); + } + + if (node.getNodeType() == Node.ELEMENT_NODE) { + String ns = node.getNamespaceURI(); + String localName = node.getLocalName(); + String name = ((Element) node).getTagName(); + rtf.endElement(ns, localName, name); + elementStack.pop(); + } + } catch (SAXException e) { + System.out.println("SAX Exception in lineNumberFragment"); + } + } + + /** + *

    Add a formatted line number to the result tree fragment.

    + * + *

    This method examines the global parameters that control line + * number presentation (modulus, width, and separator) and adds + * the appropriate text to the result tree fragment.

    + * + * @param rtf The resulting verbatim environment with numbered lines. + * @param lineNumber The number of the current line. + */ + private void formatLineNumber(DOMBuilder rtf, + int lineNumber) { + char ch = 160; + String lno = ""; + if (lineNumber == 1 + || (modulus >= 1 && (lineNumber % modulus == 0))) { + lno = "" + lineNumber; + } + + while (lno.length() < width) { + lno = ch + lno; + } + + lno += separator; + + char chars[] = lno.toCharArray(); + try { + rtf.characters(chars, 0, lno.length()); + } catch (SAXException e) { + System.out.println("SAX Exception in formatLineNumber"); + } + } + + /** + *

    Insert text callouts into a verbatim environment.

    + * + *

    This method examines the areaset and area elements + * in the supplied areaspec and decorates the supplied + * result tree fragment with appropriate callout markers.

    + * + *

    If a label attribute is supplied on an area, + * its content will be used for the label, otherwise the callout + * number will be used, surrounded by parenthesis. Callouts are + * numbered in document order. All of the areas in an + * areaset get the same number.

    + * + *

    Only the linecolumn and linerange units are + * supported. If no unit is specifed, linecolumn is assumed. + * If only a line is specified, the callout decoration appears in + * the defaultColumn. Lines will be padded with blanks to reach the + * necessary column, but callouts that are located beyond the last + * line of the verbatim environment will be ignored.

    + * + *

    Callouts are inserted before the character at the line/column + * where they are to occur.

    + * + * @param areaspecNodeSet The source node set that contains the areaspec. + * @param xalanRTF The result tree fragment of the verbatim environment. + * @param defaultColumn The column for callouts that specify only a line. + * + * @return The modified result tree fragment. */ + + /** + *

    Insert graphical callouts into a verbatim environment.

    + * + *

    This method examines the areaset and area elements + * in the supplied areaspec and decorates the supplied + * result tree fragment with appropriate callout markers.

    + * + *

    If a label attribute is supplied on an area, + * its content will be used for the label, otherwise the callout + * number will be used. Callouts are + * numbered in document order. All of the areas in an + * areaset get the same number.

    + * + *

    If the callout number is not greater than gMax, the + * callout generated will be:

    + * + *
    +   * <img src="$gPath/conumber$gExt" alt="conumber">
    +   * 
    + * + *

    Otherwise, it will be the callout number surrounded by + * parenthesis.

    + * + *

    Only the linecolumn and linerange units are + * supported. If no unit is specifed, linecolumn is assumed. + * If only a line is specified, the callout decoration appears in + * the defaultColumn. Lines will be padded with blanks to reach the + * necessary column, but callouts that are located beyond the last + * line of the verbatim environment will be ignored.

    + * + *

    Callouts are inserted before the character at the line/column + * where they are to occur.

    + * + * @param areaspecNodeSet The source node set that contains the areaspec. + * @param xalanRTF The result tree fragment of the verbatim environment. + * @param defaultColumn The column for callouts that specify only a line. + * @param gPath The path to use for callout graphics. + * @param gExt The extension to use for callout graphics. + * @param gMax The largest number that can be represented as a graphic. + * @param useFO Should fo:external-graphics be produced, as opposed to + * HTML imgs. This is bogus, the extension should figure it out, but I + * haven't figured out how to do that yet. + * + * @return The modified result tree fragment. + */ + + public DocumentFragment insertCallouts (ExpressionContext context, + NodeIterator areaspecNodeSet, + NodeIterator xalanNI) { + String type = Params.getString(context, "stylesheet.result.type"); + boolean useFO = type.equals("fo"); + int defaultColumn = Params.getInt(context, "callout.defaultcolumn"); + + if (Params.getBoolean(context, "callout.graphics")) { + String gPath = Params.getString(context, "callout.graphics.path"); + String gExt = Params.getString(context, "callout.graphics.extension"); + int gMax = Params.getInt(context, "callout.graphics.number.limit"); + return insertGraphicCallouts(areaspecNodeSet, xalanNI, defaultColumn, + gPath, gExt, gMax, useFO); + } else if (Params.getBoolean(context, "callout.unicode")) { + int uStart = Params.getInt(context, "callout.unicode.start.character"); + int uMax = Params.getInt(context, "callout.unicode.number.limit"); + return insertUnicodeCallouts(areaspecNodeSet, xalanNI, defaultColumn, + uStart, uMax, useFO); + } else if (Params.getBoolean(context, "callout.dingbats")) { + int dMax = 10; + return insertDingbatCallouts(areaspecNodeSet, xalanNI, defaultColumn, + dMax, useFO); + } else { + return insertTextCallouts(areaspecNodeSet, xalanNI, defaultColumn, useFO); + } + } + + public DocumentFragment insertGraphicCallouts (NodeIterator areaspecNodeSet, + NodeIterator xalanNI, + int defaultColumn, + String gPath, + String gExt, + int gMax, + boolean useFO) { + FormatGraphicCallout fgc = new FormatGraphicCallout(gPath,gExt,gMax,useFO); + return insertCallouts(areaspecNodeSet, xalanNI, defaultColumn, fgc); + } + + public DocumentFragment insertUnicodeCallouts (NodeIterator areaspecNodeSet, + NodeIterator xalanNI, + int defaultColumn, + int uStart, + int uMax, + boolean useFO) { + FormatUnicodeCallout fuc = new FormatUnicodeCallout(uStart, uMax, useFO); + return insertCallouts(areaspecNodeSet, xalanNI, defaultColumn, fuc); + } + + public DocumentFragment insertDingbatCallouts (NodeIterator areaspecNodeSet, + NodeIterator xalanNI, + int defaultColumn, + int gMax, + boolean useFO) { + FormatDingbatCallout fdc = new FormatDingbatCallout(gMax,useFO); + return insertCallouts(areaspecNodeSet, xalanNI, defaultColumn, fdc); + } + + public DocumentFragment insertTextCallouts (NodeIterator areaspecNodeSet, + NodeIterator xalanNI, + int defaultColumn, + boolean useFO) { + FormatTextCallout ftc = new FormatTextCallout(useFO); + return insertCallouts(areaspecNodeSet, xalanNI, defaultColumn, ftc); + } + + public DocumentFragment insertCallouts (NodeIterator areaspecNodeSet, + NodeIterator xalanNI, + int defaultColumn, + FormatCallout fCallout) { + + DocumentFragment xalanRTF = (DocumentFragment) xalanNI.nextNode(); + + callout = new Callout[10]; + calloutCount = 0; + calloutPos = 0; + lineNumber = 1; + colNumber = 1; + + // First we walk through the areaspec to calculate the position + // of the callouts + // + // + // + // + // + // + // + // + int pos = 0; + int coNum = 0; + boolean inAreaSet = false; + Node node = areaspecNodeSet.nextNode(); + node = node.getFirstChild(); + while (node != null) { + if (node.getNodeType() == Node.ELEMENT_NODE) { + if (node.getNodeName().equals("areaset")) { + coNum++; + Node area = node.getFirstChild(); + while (area != null) { + if (area.getNodeType() == Node.ELEMENT_NODE) { + if (area.getNodeName().equals("area")) { + addCallout(coNum, area, defaultColumn); + } else { + System.out.println("Unexpected element in areaset: " + + area.getNodeName()); + } + } + area = area.getNextSibling(); + } + } else if (node.getNodeName().equalsIgnoreCase("area")) { + coNum++; + addCallout(coNum, node, defaultColumn); + } else { + System.out.println("Unexpected element in areaspec: " + + node.getNodeName()); + } + } + + node = node.getNextSibling(); + } + + // Now sort them + java.util.Arrays.sort(callout, 0, calloutCount); + + DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); + DocumentBuilder docBuilder = null; + + try { + docBuilder = docFactory.newDocumentBuilder(); + } catch (ParserConfigurationException e) { + System.out.println("PCE 2!"); + return xalanRTF; + } + Document doc = docBuilder.newDocument(); + DocumentFragment df = doc.createDocumentFragment(); + DOMBuilder db = new DOMBuilder(doc, df); + + elementStack = new Stack(); + calloutFragment(db, xalanRTF, fCallout); + return df; + } + + /** + *

    Build a FragmentValue with callout decorations.

    + * + *

    This is the method that actually does the work of adding + * callouts to a verbatim environment. It recursively walks through a + * tree of nodes, copying the structure into the rtf. Text nodes + * are examined for the position of callouts as described by the + * global callout parameters.

    + * + *

    When called, rtf should be an empty FragmentValue and node + * should be the first child of the result tree fragment that contains + * the existing, formatted verbatim text.

    + * + * @param rtf The resulting verbatim environment with numbered lines. + * @param node The root of the tree to copy. + */ + private void calloutFragment(DOMBuilder rtf, + Node node, + FormatCallout fCallout) { + try { + if (node.getNodeType() == Node.DOCUMENT_FRAGMENT_NODE + || node.getNodeType() == Node.DOCUMENT_NODE) { + Node child = node.getFirstChild(); + while (child != null) { + calloutFragment(rtf, child, fCallout); + child = child.getNextSibling(); + } + } else if (node.getNodeType() == Node.ELEMENT_NODE) { + String ns = node.getNamespaceURI(); + String localName = node.getLocalName(); + String name = ((Element) node).getTagName(); + + rtf.startElement(ns, localName, name, + copyAttributes((Element) node)); + + elementStack.push(node); + + Node child = node.getFirstChild(); + while (child != null) { + calloutFragment(rtf, child, fCallout); + child = child.getNextSibling(); + } + } else if (node.getNodeType() == Node.TEXT_NODE) { + String text = node.getNodeValue(); + + char chars[] = text.toCharArray(); + int pos = 0; + for (int count = 0; count < text.length(); count++) { + if (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() == colNumber) { + if (pos > 0) { + rtf.characters(chars, 0, pos); + pos = 0; + } + + closeOpenElements(rtf); + + while (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() == colNumber) { + fCallout.formatCallout(rtf, callout[calloutPos]); + calloutPos++; + } + + openClosedElements(rtf); + } + + if (text.charAt(count) == '\n') { + // What if we need to pad this line? + if (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() > colNumber) { + + if (pos > 0) { + rtf.characters(chars, 0, pos); + pos = 0; + } + + closeOpenElements(rtf); + + while (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() > colNumber) { + formatPad(rtf, callout[calloutPos].getColumn() - colNumber); + colNumber = callout[calloutPos].getColumn(); + while (calloutPos < calloutCount + && callout[calloutPos].getLine() == lineNumber + && callout[calloutPos].getColumn() == colNumber) { + fCallout.formatCallout(rtf, callout[calloutPos]); + calloutPos++; + } + } + + openClosedElements(rtf); + } + + lineNumber++; + colNumber = 1; + } else { + colNumber++; + } + chars[pos++] = text.charAt(count); + } + + if (pos > 0) { + rtf.characters(chars, 0, pos); + } + } else if (node.getNodeType() == Node.COMMENT_NODE) { + String text = node.getNodeValue(); + char chars[] = text.toCharArray(); + rtf.comment(chars, 0, text.length()); + } else if (node.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE) { + rtf.processingInstruction(node.getNodeName(), node.getNodeValue()); + } else { + System.out.println("Warning: unexpected node type in calloutFragment: " + node.getNodeType() + ": " + node.getNodeName()); + } + + if (node.getNodeType() == Node.ELEMENT_NODE) { + String ns = node.getNamespaceURI(); + String localName = node.getLocalName(); + String name = ((Element) node).getTagName(); + rtf.endElement(ns, localName, name); + elementStack.pop(); + } else { + // nop + } + } catch (SAXException e) { + System.out.println("SAX Exception in calloutFragment"); + } + } + + /** + *

    Add a callout to the global callout array

    + * + *

    This method examines a callout area and adds it to + * the global callout array if it can be interpreted.

    + * + *

    Only the linecolumn and linerange units are + * supported. If no unit is specifed, linecolumn is assumed. + * If only a line is specified, the callout decoration appears in + * the defaultColumn.

    + * + * @param coNum The callout number. + * @param node The area. + * @param defaultColumn The default column for callouts. + */ + private void addCallout (int coNum, + Node node, + int defaultColumn) { + Element area = (Element) node; + + String units = area.getAttribute("units"); + String otherUnits = area.getAttribute("otherunits"); + String coords = area.getAttribute("coords"); + int type = 0; + String otherType = null; + + if (units == null || units.equals("linecolumn")) { + type = Callout.LINE_COLUMN; // the default + } else if (units.equals("linerange")) { + type = Callout.LINE_RANGE; + } else if (units.equals("linecolumnpair")) { + type = Callout.LINE_COLUMN_PAIR; + } else if (units.equals("calspair")) { + type = Callout.CALS_PAIR; + } else { + type = Callout.OTHER; + otherType = otherUnits; + } + + if (type != Callout.LINE_COLUMN + && type != Callout.LINE_RANGE) { + System.out.println("Only linecolumn and linerange units are supported"); + return; + } + + if (coords == null) { + System.out.println("Coords must be specified"); + return; + } + + // Now let's see if we can interpret the coordinates... + StringTokenizer st = new StringTokenizer(coords); + int tokenCount = 0; + int c1 = 0; + int c2 = 0; + while (st.hasMoreTokens()) { + tokenCount++; + if (tokenCount > 2) { + System.out.println("Unparseable coordinates"); + return; + } + try { + String token = st.nextToken(); + int coord = Integer.parseInt(token); + c2 = coord; + if (tokenCount == 1) { + c1 = coord; + } + } catch (NumberFormatException e) { + System.out.println("Unparseable coordinate"); + return; + } + } + + // Make sure we aren't going to blow past the end of our array + if (calloutCount == callout.length) { + Callout bigger[] = new Callout[calloutCount+10]; + for (int count = 0; count < callout.length; count++) { + bigger[count] = callout[count]; + } + callout = bigger; + } + + // Ok, add the callout + if (tokenCount == 2) { + if (type == Callout.LINE_RANGE) { + for (int count = c1; count <= c2; count++) { + callout[calloutCount++] = new Callout(coNum, area, + count, defaultColumn, + type); + } + } else { + // assume linecolumn + callout[calloutCount++] = new Callout(coNum, area, c1, c2, type); + } + } else { + // if there's only one number, assume it's the line + callout[calloutCount++] = new Callout(coNum, area, c1, defaultColumn, type); + } + } + + /** + *

    Add blanks to the result tree fragment.

    + * + *

    This method adds numBlanks to the result tree fragment. + * It's used to pad lines when callouts occur after the last existing + * characater in a line.

    + * + * @param rtf The resulting verbatim environment with numbered lines. + * @param numBlanks The number of blanks to add. + */ + private void formatPad(DOMBuilder rtf, + int numBlanks) { + char chars[] = new char[numBlanks]; + for (int count = 0; count < numBlanks; count++) { + chars[count] = ' '; + } + + try { + rtf.characters(chars, 0, numBlanks); + } catch (SAXException e) { + System.out.println("SAX Exception in formatCallout"); + } + } + + private void closeOpenElements(DOMBuilder rtf) + throws SAXException { + // Close all the open elements... + tempStack = new Stack(); + while (!elementStack.empty()) { + Node elem = (Node) elementStack.pop(); + + String ns = elem.getNamespaceURI(); + String localName = elem.getLocalName(); + String name = ((Element) elem).getTagName(); + + // If this is the bottom of the stack and it's an fo:block + // or an HTML pre or div, don't duplicate it... + if (elementStack.empty() + && (((ns != null) + && ns.equals(foURI) + && localName.equals("block")) + || (((ns == null) + && localName.equalsIgnoreCase("pre")) + || ((ns != null) + && ns.equals(xhURI) + && localName.equals("pre"))) + || (((ns == null) + && localName.equalsIgnoreCase("div")) + || ((ns != null) + && ns.equals(xhURI) + && localName.equals("div"))))) { + elementStack.push(elem); + break; + } else { + rtf.endElement(ns, localName, name); + tempStack.push(elem); + } + } + } + + private void openClosedElements(DOMBuilder rtf) + throws SAXException { + // Now "reopen" the elements that we closed... + while (!tempStack.empty()) { + Node elem = (Node) tempStack.pop(); + + String ns = elem.getNamespaceURI(); + String localName = elem.getLocalName(); + String name = ((Element) elem).getTagName(); + NamedNodeMap domAttr = elem.getAttributes(); + + AttributesImpl attr = new AttributesImpl(); + for (int acount = 0; acount < domAttr.getLength(); acount++) { + Node a = domAttr.item(acount); + + if (((ns == null || ns == "http://www.w3.org/1999/xhtml") + && localName.equalsIgnoreCase("a")) + || (a.getLocalName().equalsIgnoreCase("id"))) { + // skip this attribute + } else { + attr.addAttribute(a.getNamespaceURI(), + a.getLocalName(), + a.getNodeName(), + "CDATA", + a.getNodeValue()); + } + } + + rtf.startElement(ns, localName, name, attr); + elementStack.push(elem); + } + + tempStack = null; + } + + private Attributes copyAttributes(Element node) { + AttributesImpl attrs = new AttributesImpl(); + NamedNodeMap nnm = node.getAttributes(); + for (int count = 0; count < nnm.getLength(); count++) { + Attr attr = (Attr) nnm.item(count); + String name = attr.getName(); + if (name.startsWith("xmlns:") || name.equals("xmlns")) { + // Skip it; (don't ya just love it!!) + } else { + attrs.addAttribute(attr.getNamespaceURI(), attr.getName(), + attr.getName(), "CDATA", attr.getValue()); + } + } + return attrs; + } +} diff --git a/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/package.html b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/package.html new file mode 100644 index 0000000..92224fa --- /dev/null +++ b/rosdocs/xsl/extensions/xalan2/com/nwalsh/xalan/package.html @@ -0,0 +1,48 @@ + + +Norman Walsh's Xalan Extensions Package + + +

    Norman Walsh's Xalan Extensions Package for Xalan2

    + +

    This package implements Xalan extensions for XSLT.

    + +

    Copyright (C) 2000 Norman Walsh

    +

    Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and 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.

    + +

    Except as contained in this notice, the names of individuals +credited with contribution to this software shall not be used in +advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from the +individuals in question.

    + +

    Anything derived from this Software that is publically +distributed will be identified with a different name and the +version strings in any derived Software will be changed so that no +possibility of confusion between the derived package and this +Software will exist.

    + + +
    +

    Warranty

    +

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL NORMAN WALSH OR ANY OTHER +CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE.

    +
    + + + diff --git a/rosdocs/xsl/fo/ChangeLog b/rosdocs/xsl/fo/ChangeLog new file mode 100644 index 0000000..8875e0e --- /dev/null +++ b/rosdocs/xsl/fo/ChangeLog @@ -0,0 +1,679 @@ +2002-06-02 Norman Walsh + + * lists.xsl: Support title on step in procedure + +2002-06-01 Norman Walsh + + * inline.xsl: Bug #560808 make systemitem formatting consistent + +2002-05-23 Norman Walsh + + * param.ent, param.xweb: Support for SVG in HTML + +2002-05-21 Norman Walsh + + * qandaset.xsl: Output '. ' in some contexts (this is a hack) + +2002-05-14 Norman Walsh + + * footnote.xsl: Format footnotes with format.footnote.mark named template for easy customization + +2002-05-13 Norman Walsh + + * lists.xsl, param.ent, param.xweb: Support spacing=compact on itemizedlist and orderedlist (Bug #501063) + +2002-05-12 Norman Walsh + + * block.xsl: Make sure IDs get generated for blockquote and epigraph + + * formal.xsl, table.xsl: Make border-collapse='collapse' explicitly (that's the only model that works for CALS tables) + + * graphics.xsl: Reworked support for graphic attributes; now support DocBook 4.2CR1 attributes + + * lists.xsl: Bug #511965: add formal.title.properties to calloutlist titles + + * math.xsl: Support MathML by passing it silently through to the FO result + + * sections.xsl: Allow anchors in section titles; improve efforts to prevent page/column breaks immediately after section titles + + * xref.xsl: Support xref to refnamediv and all elements with titles (at least when they have titles) + +2002-05-06 Norman Walsh + + * admon.xsl: Fix url() in admonition graphics + + * callout.xsl: Fix url() in callout graphics + +2002-04-30 Norman Walsh + + * biblio.xsl: Use title.font.family in bibliodiv + +2002-04-20 Norman Walsh + + * param.ent, param.xweb, verbatim.xsl: Support shade.verbatim in FO; stop using vendor test to decide what extension function to call for line numbering + +2002-03-28 Norman Walsh + + * autotoc.xsl: Attempt to fix duplicate-id problem in ToC generation + + * xep.xsl: Make XEP point to ToC pages for books, parts, etc. from PDF bookmarks + +2002-03-26 Norman Walsh + + * lists.xsl: Set maxlength of termlength to 12 + + * param.xweb: Documentation fix + +2002-03-25 Norman Walsh + + * component.xsl: Handle prefaceinfo + + * formal.xsl: Handle textobject in tables + + * graphics.xsl: Add template for mediaobjectco + + * inline.xsl: Support personname + + * math.xsl: Handle alt + + * xref.xsl: Support xrefs to editor, othercredit, and personname + +2002-03-22 Norman Walsh + + * titlepage.xsl: Output blocks instead of wrappers around authors + +2002-03-21 Norman Walsh + + * biblio.xsl, titlepage.xsl: Support biblioid + +2002-03-20 Norman Walsh + + * xep.xsl: Don't output a link to the book title if the book has no title + +2002-03-19 Norman Walsh + + * autotoc.xsl: Make sure ToC elements have IDs for links from the PDF ToC + +2002-03-18 Norman Walsh + + * Makefile, component.xsl, division.xsl, fop.xsl, param.ent, param.xweb, xep.xsl: + Replace generate.*.toc and generate.*.lot with single generate.toc parameter. + + * block.xsl: Support RevHistory in content; support AckNo in article + + * fop.xsl, xep.xsl: Don't generate ToC links if there's nothing to go in the ToC + +2002-03-15 Norman Walsh + + * synop.xsl, verbatim.xsl: Support classsynopsis and friends + +2002-03-14 Norman Walsh + + * .cvsignore: Ignore profiling stylesheets + + * admon.xsl, autoidx.xsl, autotoc.xsl, biblio.xsl, block.xsl, callout.xsl, component.xsl, division.xsl, docbook.xsl, ebnf.xsl, fo-patch-for-fop.xsl, fo-rtf.xsl, fo.xsl, footnote.xsl, fop.xsl, formal.xsl, glossary.xsl, graphics.xsl, index.xsl, info.xsl, inline.xsl, keywords.xsl, lists.xsl, math.xsl, pagesetup.xsl, param.ent, param.xweb, passivetex.xsl, pi.xsl, qandaset.xsl, refentry.xsl, sections.xsl, synop.xsl, table.xsl, titlepage.templates.xml, titlepage.xsl, toc.xsl, verbatim.xsl, xep.xsl, xref.xsl: + Whitespace only: change CR/LF back to LF. Norm was a total moron. + + * admon.xsl, autoidx.xsl, autotoc.xsl, biblio.xsl, block.xsl, callout.xsl, component.xsl, division.xsl, docbook.xsl, ebnf.xsl, fo-patch-for-fop.xsl, fo-rtf.xsl, fo.xsl, footnote.xsl, fop.xsl, formal.xsl, glossary.xsl, graphics.xsl, index.xsl, info.xsl, inline.xsl, keywords.xsl, lists.xsl, math.xsl, pagesetup.xsl, param.ent, param.xweb, passivetex.xsl, pi.xsl, qandaset.xsl, refentry.xsl, sections.xsl, synop.xsl, table.xsl, titlepage.templates.xml, titlepage.xsl, toc.xsl, verbatim.xsl, xep.xsl, xref.xsl: + Whitespace changes only: use PC-style CR/LF because Unix clients choke on this far less often than PC clients choke on the reverse. Grrr. + + * docbook.xsl, fo-rtf.xsl, footnote.xsl, formal.xsl: Improve formatting of table footnotes and fix numeration of table/non-table footnotes + + * formal.xsl, lists.xsl, param.ent, param.xweb: Support formal.title.placement + +2002-03-13 Norman Walsh + + * formal.xsl: Fix FO markup for rotated tables + + * inline.xsl: Support other roles on emphasis; support nested emphasis + + * sections.xsl: Give wrapped section titles a hanging indent + + * titlepage.templates.xml: Don't shift the margin on article titles; they're supposed to be centered + + * verbatim.xsl: Don't force verbatim environments to be start aligned; they should inherit the current text alignment + +2002-03-11 Jirka Kosek + + * inline.xsl: Fixed bug #522900. Content of is not outputted twice. + +2002-03-03 Jirka Kosek + + * param.ent, param.xweb: Added new stylesheet parameters for profiling. + +2002-03-01 Jirka Kosek + + * Makefile: First portion of new profiling code. New stylesheet parameters will come later. + +2002-03-01 Norman Walsh + + * autotoc.xsl: Use alternate TOC format for FOP + + * docbook.xsl: Move stylesheet.result.type out of param and put it explicitly in each stylesheet because it has to be different + + * footnote.xsl: Make footnote numbers smaller and superscripted + + * formal.xsl, table.xsl: Improve table border handling + + * graphics.xsl: Handle the case where graphics in inlineequations are inline + + * graphics.xsl: Support TIFF images + + * pagesetup.xsl: Don't put watermarks on FOP; FOP doesn't understand them + + * param.ent, param.xweb: Renamed table.border.padding and removed stylesheet.result.type + +2002-02-21 Jirka Kosek + + * math.xsl, param.ent, param.xweb: Better control over delimiters for TeX equations. Added parameter tex.math.delims, when is set to 0, no delimiters (like $ and $$) are output. Same can be done for single equation by . + +2002-02-20 Norman Walsh + + * formal.xsl: Bug #429331: center figure title if image is centered + + * lists.xsl: Commented out a debugging message + +2002-02-11 Norman Walsh + + * component.xsl, index.xsl, pagesetup.xsl, param.ent, param.xweb, titlepage.templates.xml: + Patch #510996: add support for two-colum indexes + + * inline.xsl: Patch #514007: prevent hyphenation of email addresses + +2002-02-07 Norman Walsh + + * autotoc.xsl: Make title a link + + * docbook.xsl: Reworked FOP outline mode + + * fop.xsl: Reworked outline mode + + * formal.xsl, param.ent, param.xweb: Added informal.object.properties + +2002-01-29 Norman Walsh + + * pagesetup.xsl, param.ent, param.xweb: Support 'draft' watermark + +2002-01-28 Norman Walsh + + * biblio.xsl: Allow bibliography to be a root element + + * formal.xsl: Make landscape tables actually landscape---if your FO processor supports changes to the reference-orientation + + * param.ent, param.xweb, xref.xsl: Provide option to allow URLs to be conditionally hyphenated + +2002-01-25 Norman Walsh + + * table.xsl: Fix bug that caused rowsep and colsep to be ignored on empty cells + +2002-01-10 Norman Walsh + + * fo-patch-for-fop.xsl: Allow the fox: prefix; this isn't the right fix, but it's easy and this file is only a workaround for FOP + + * inline.xsl: Support emphasis role=bold in FO + + * pagesetup.xsl: Set display-alignment on region-before and -after; output warning if the master-references is unrecognized when calculating the page header + + * param.ent, param.xweb: Added documentation about page layout and ulink.footnotes and ulink.show + + * xref.xsl: Use the ulink.show parameter when rendering ulinks + +2002-01-09 Norman Walsh + + * glossary.xsl: Bug fix: don't generate duplicate IDs on glossentrys + +2002-01-04 Norman Walsh + + * glossary.xsl: Make glossary.collection (usually) work when chunking is used; allow the use of glossdivs to be toggled in the document + + * glossary.xsl, inline.xsl, param.ent, param.xweb: First cut at supporting a glossary.collection file + +2002-01-03 Norman Walsh + + * lists.xsl: Rework variablelist formatting; support lists vs. blocks with new parameters and calculate term-width reasonably + + * param.ent, param.xweb: Replace format.variablelist.as.list with variablelist.as.blocks + +2002-01-01 Norman Walsh + + * .cvsignore: Added Makefile.param + + * Makefile.param: Autogenerated + + * block.xsl: Use blockquote.properties + + * lists.xsl: Attempt to support alternate symbols on itemizedlists + + * param.ent, param.xweb: Use new parameters: refentry.generate.title and blockquote.properties + + * refentry.xsl: Improve formatting of reference pages + + * titlepage.xsl: Simplify match pattern; add space in editor formatting + +2001-12-15 Jirka Kosek + + * math.xsl: Improved support for TeX math inside equations. + +2001-12-06 Jirka Kosek + + * Makefile.param, math.xsl, param.ent, param.xweb: Added support for TeX math in alt element. When using PassiveTeX, TeX equations can be directly passed to TeX. When using HTML, TeX file with code necessary to produce image equivalents of equations is generated. + +2001-12-04 Norman Walsh + + * Makefile: Fix chunking parameter errors + + * Makefile, Makefile.param, param.ent, param.xweb: New parameters; reorganized xweb file; and some checking for consistent param files + + * admon.xsl: Feature #454323: customizable font in admonitions + + * autotoc.xsl: Feature #445713 TOC customization + + * division.xsl: Added set TOC and moved book TOC after dedication + + * docbook.xsl: Features #457872 and #479011 language and line-height + + * glossary.xsl, inline.xsl: Support glossterm.auto.link + + * refentry.xsl, xref.xsl: Feature #481793: support xref to refentry + + * xep.xsl: Add bookmark for TOC + +2001-12-02 Norman Walsh + + * component.xsl: Allow inlines and anchors in titles + +2001-12-01 Norman Walsh + + * autoidx.xsl: Patch #468462: hot page numbers in the index + + * division.xsl: Patch #470480: make part title formatting obey localization rules + + * docbook.xsl, xep.xsl: Make sure bookmarks are never empty + + * formal.xsl, table.xsl: Bug #487576: table/indexterm problems + + * synop.xsl: Patch #462556: Improve func synopsis + + * titlepage.templates.xml: Don't offset margin when using 'center' alignment + + * xep.xsl: Fix bug in TOC title formatting + +2001-11-30 Norman Walsh + + * component.xsl, division.xsl: Bug #451265: page number of first part is wrong + +2001-11-29 Norman Walsh + + * fo-patch-for-fop.xsl: New file. + + * lists.xsl: Patch #482482: margin-start should be margin-left + + * lists.xsl: Patch #478068: procedures with one step + + * xep.xsl: Patch #479140: bookmarks w/xep missing + + * xep.xsl: Fix it the right way: always test for top-level elements + + * xep.xsl: Patch #479145: top-level bookmarks in xep + +2001-11-28 Norman Walsh + + * lists.xsl, param.ent, param.xweb: Support formatting segmented lists as tables + + * pagesetup.xsl: Bug #483364: wrong inner/outer margins + + * param.ent, param.xweb: Added punct.honorific parameter + + * pi.xsl: Use common pi-attribute template + +2001-11-21 Norman Walsh + + * biblio.xsl, component.xsl, division.xsl, glossary.xsl, index.xsl, pagesetup.xsl, refentry.xsl, sections.xsl, toc.xsl: + Updated master-name/master-reference per the XSL 1.0 Recommendation + +2001-11-15 Jirka Kosek + + * docbook.xsl, passivetex.xsl: When passivetex.extensions=1 character ​ is inserted between all occurences of --. This stops TeX ligature mechanism which converted all -- to endash and --- to emdash (this is ill especially in source code listings containing XML comments or decrementation operator). Performance cost of evaluating condition for each text node is under 5 %. This shouldn't annoy anyone. + +2001-11-12 Norman Walsh + + * docbook.xsl, ebnf.xsl, footnote.xsl, lists.xsl, synop.xsl, xref.xsl: + Support well-formed documents, use key() instead of id() + +2001-11-10 Norman Walsh + + * formal.xsl: Moved table frame code to a common named template; handle frame=none + + * pagesetup.xsl: Added message if the master-name is unrecognized + +2001-11-09 Norman Walsh + + * param.xweb: Move the obvious ID value from the src:fragment to the refentry in parameter reference pages + +2001-11-03 Norman Walsh + + * biblio.xsl, inline.xsl: Support pubwork=article on citetitle + + * formal.xsl, table.xsl: Table updates + + * synop.xsl: Added block wrapper around paramdef in kr mode + + * xref.xsl: Remove anchor name on anchor; it erroneously duplicates the html anchor template + +2001-10-16 Norman Walsh + + * table.xsl: Table support improvements + +2001-10-15 Norman Walsh + + * inline.xsl: Fix formatting of keycombo + + * param.ent, param.xweb, table.xsl: Fix calculation of rowsep and colsep; added experimental support for table.borders.with.css in HTML; calculation of alignments needs to be added along the same lines + +2001-10-14 Norman Walsh + + * table.xsl: Fixed a number of significant outstanding table problems; I think HTML and FO now format all combinations of spans and missing cells correctly. But the border drawing isn't perfect on FO tables yet. + +2001-10-12 Norman Walsh + + * biblio.xsl: Tweaked bibliography formatting to include the labels + + * block.xsl: Improve formatting of block quotes + + * param.xweb: Fixed bogus attribute name + +2001-10-11 Norman Walsh + + * autoidx.xsl, docbook.xsl, index.xsl: Always use automatic indexing + +2001-10-09 Norman Walsh + + * Makefile: Fix typo + + * titlepage.templates.xml, titlepage.xsl: Make sure authorgroup doesn't output IDs on both recto and verso pages + +2001-10-08 Norman Walsh + + * .cvsignore, Makefile, param.ent, param.xsl, param.xweb: + Removed param.xsl; it's now generated from param.xweb + + * fo.xsl: Added an anchor named template + + * table.xsl: Moved several params to param.xsl; also changed hyphens to periods for consistency + + * titlepage.templates.xml: Made margin-left a parameter so it's easier to tweak along with page.margin.outer + + * titlepage.xsl: Keep section titles together with their sections + + * xref.xsl: Added names to the link templates + +2001-09-25 Norman Walsh + + * param.xsl, titlepage.xsl: Support automatic collation of year ranges in copyright + +2001-09-24 Norman Walsh + + * lists.xsl: Whitespace changes + +2001-09-23 Norman Walsh + + * lists.xsl: Patch #460123, fix for s 2 ff. in + +2001-09-22 Norman Walsh + + * xref.xsl: Bug #462830: allow %p in templates + + * xref.xsl: Bug #463033: allow xref to list items (in orderedlists) and varlistentrys + +2001-09-09 Norman Walsh + + * formal.xsl: Added keep-together.within-column + +2001-08-29 Norman Walsh + + * lists.xsl: Fix orderedlist numerations + +2001-08-09 Norman Walsh + + * component.xsl, titlepage.templates.xml, titlepage.xsl: + Support colophon + + * graphics.xsl: Forgot curly braces in AVT for height/width + + * inline.xsl: Remark|comment must be formatted as a block in case it appears at the paragraph-level in a component + +2001-08-05 Norman Walsh + + * callout.xsl, param.xsl: Removed the FormatDingbatCallout classes, they were the same as the FormatUnicodeCallout classes but with a font wrapper. Added a callout.unicode.font parameter to wrap Unicode callouts + +2001-08-02 Robert Stayton + + * xref.xsl: Changed with endterm to process the children nodes + and not just the text by calling a new mode="endterm" template. + + Also changed to process its endterm if the element content + is empty. + + Also changed the first use of name() to local-name() to + match the others in the file and in html/xref.xsl. + +2001-08-01 Norman Walsh + + * graphics.xsl: Use mediaobject.filename to calculate graphic reference + + * inline.xsl: Changed vertical-align to baseline-shift; vertical-align is a shortcut + + * sections.xsl: Added templates to suppress titleabbrev + + * table.xsl: Support table widths + + * titlepage.templates.xml, titlepage.xsl: Present othercredit on titlepages + +2001-07-31 Norman Walsh + + * fop.xsl, xep.xsl: Fixes for PDF bookmarks by Pavel Zampach + +2001-07-21 Norman Walsh + + * block.xsl, param.xsl: Fix title-end punctuation problems on formalparas + +2001-07-16 Norman Walsh + + * table.xsl: Add template for tfoot + + * table.xsl: Process thead/tbody/tfoot in the right order (thead/tfoot/tbody) + +2001-07-15 Norman Walsh + + * graphics.xsl: Fixed graphic height/width calculations + + * table.xsl: Output column number when namest is used + + * titlepage.xsl: Fix duplicate template bug + +2001-07-08 Norman Walsh + + * qandaset.xsl: Improve QandA formatting; make question bold if defaultlabel=none (FR #419315) + + * sections.xsl, xref.xsl: Support xref to bridgehead + +2001-07-05 Norman Walsh + + * lists.xsl, param.xsl: Added format.variablelist.as.list parameter + +2001-07-04 + + * biblio.xsl, param.xsl, xref.xsl: Support an external bibliography collection + + * docbook.xsl: Turn of indentation + + * fo.xsl, param.xsl: Added dingbat.font.family + + * qandaset.xsl: Bug #426166, fix duplicate id on qandaentry formatting + + * qandaset.xsl, xref.xsl: Bug #429011, fix xref to qandset elements + + * sections.xsl: Removed debugging messages; added prio for section title template + + * titlepage.templates.xml, titlepage.xsl: Remove internal references to *.titlepage.recto.mode and *.titlepage.verso.mode + +2001-06-22 Norman Walsh + + * docbook.xsl, ebnf.xsl: Support EBNF + + * docbook.xsl, xep.xsl: Fix XEP support for pdf bookmarks + + * inline.xsl: Support linkend to glossentry on glossterm + + * param.xsl, xep.xsl: Initial cut at bookmark and info support for RenderX's XEP--doesn't work yet + + * synop.xsl: Support SBR + + * xref.xsl: Support anchor + +2001-06-21 Norman Walsh + + * lists.xsl, param.xsl, xref.xsl: Use common code to calculate step numbers; support xref to procedures and steps; added formal.procedures parameter + +2001-06-20 Norman Walsh + + * refentry.xsl: Bug 434102: fix refentry inside of chapter and fix refsynopsisdiv formatting in both FO and HTML + + * titlepage.xsl, xref.xsl: Use person.name.list to generate author lists; put IDs on authors and author groups if appropriate; support xref to authorgroup + +2001-06-19 Norman Walsh + + * formal.xsl, param.xsl: Fix formatting of formal object titles. + +2001-06-15 Norman Walsh + + * graphics.xsl: Remove file:; why was I doing this? + +2001-06-14 Norman Walsh + + * sections.xsl: Bug fix: section autolabelling wasn't working in division bodies + + * titlepage.templates.xml: Changed text-alignment on centered titles to be 'center' rather than 'justify' + + * xref.xsl: Added anchor template + +2001-06-13 Norman Walsh + + * graphics.xsl, param.xsl: Support Arbortext extensions--at the moment, just to turn off the url() stuff in external graphic references + + * titlepage.xsl: Bug fix: make a single author in an authorgroup work correctly + +2001-06-08 Norman Walsh + + * callout.xsl, inline.xsl, synop.xsl: Fixed some unparameterized references to specific font families + +2001-06-04 Norman Walsh + + * block.xsl: Made blockquote indent more reasonable + + * graphics.xsl: Omit the url() wrapper around external-graphic srcs for FOP and PT + +2001-05-23 Norman Walsh + + * graphics.xsl: Fix dup. template bug with is.graphic.* + + * titlepage.xsl: Add template for publisher + +2001-05-21 Norman Walsh + + * callout.xsl, verbatim.xsl: Move calculation of linenumber.* parameters into the number.rtf.lines template + + * titlepage.templates.xml: Reworked titlepage template processing to support use of more interesting + predicates. + + Note: in previous versions, at most one title, subtitle, or titleabbrev + element would be processed for each title page. In the new design, if you + have multiple title, subtitle, or titleabbrev elements inside an info + wrapper (you shouldn't!), they will all be processed. + +2001-05-18 Norman Walsh + + * sections.xsl: Fix subtitle bug + +2001-05-12 Norman Walsh + + * sections.xsl: Calculate the heading level for bridgeheads + +2001-05-04 Norman Walsh + + * docbook.xsl: Replace hardcoded values on fo:root with parameters + +2001-05-03 Norman Walsh + + * biblio.xsl: Render author names correctly in bibliomixed mode + + * graphics.xsl: Tweak available graphics formats + +2001-05-03 Jirka Kosek + + * inline.xsl: Added support for class="xmlpi" and "emptytag". + Rendering of attributes is in sync with HTML stylesheet (monospace instead of normal). + +2001-05-03 Norman Walsh + + * param.xsl, verbatim.xsl: Created verbatim and monospace.verbatim property sets + + * table.xsl: Process head/body/foot in the right order + +2001-04-26 Norman Walsh + + * lists.xsl: Improve procedure step/substep enumeration + +2001-04-21 Norman Walsh + + * qandaset.xsl: My first crude attempts at support for qandaset + +2001-04-20 Norman Walsh + + * autoidx.xsl: Remove variable references from key functions; use entities instead. + +2001-04-19 Norman Walsh + + * inline.xsl: Add template for constant + +2001-04-17 Norman Walsh + + * component.xsl, division.xsl: Add templates for partinfo, chapterinfo, and appendixinfo + + * component.xsl, pagesetup.xsl: Use the new gentext scheme for component titles and running headers + + * docbook.xsl: Print warning message when an unhandled tag is encountered + + * docbook.xsl, param.xsl: Move label.from.part parameter into param.xsl; default it to 0 so that chapters and appendixes are numbered monotonically throughout a book by default. Moved param.xsl up in the include list, just for good measure + +2001-04-16 Norman Walsh + + * glossary.xsl: Improve formatting of glossseealso + + * table.xsl: Fix typo: used xsl:param where xsl:variable was required + +2001-04-15 Norman Walsh + + * division.xsl: Use new toc/lot parameters + + * docbook.xsl: Removed unused variable declaration + + * formal.xsl: Fixed typo + + * param.xsl: Added some new parameters + + * toc.xsl: Support DocBook toc markup + +2001-04-03 Norman Walsh + + * callout.xsl: Fix bug 412487, make XSL-generated callout marks honor callout mark parameters + + * param.xsl: Documentation fixes + +2001-04-02 Norman Walsh + + * .cvsignore, Makefile, admon.xsl, autoidx.xsl, autotoc.xsl, biblio.xsl, block.xsl, callout.xsl, component.xsl, division.xsl, docbook.xsl, fo.xsl, footnote.xsl, fop.xsl, formal.xsl, glossary.xsl, graphics.xsl, index.xsl, info.xsl, inline.xsl, keywords.xsl, lists.xsl, math.xsl, pagesetup.xsl, param.xsl, pi.xsl, qandaset.xsl, refentry.xsl, sections.xsl, synop.xsl, table.xsl, titlepage.templates.xml, titlepage.xsl, toc.xsl, verbatim.xsl, xref.xsl: + New file. + + * Makefile: Use the cvstools version of saxon + diff --git a/rosdocs/xsl/fo/admon.xsl b/rosdocs/xsl/fo/admon.xsl new file mode 100644 index 0000000..63f4199 --- /dev/null +++ b/rosdocs/xsl/fo/admon.xsl @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + 36pt + + + + + + + + + note + warning + caution + tip + important + note + + + + + + + + + + url( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/autoidx.xsl b/rosdocs/xsl/fo/autoidx.xsl new file mode 100644 index 0000000..bad70ca --- /dev/null +++ b/rosdocs/xsl/fo/autoidx.xsl @@ -0,0 +1,336 @@ + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/autotoc.xsl b/rosdocs/xsl/fo/autotoc.xsl new file mode 100644 index 0000000..2230aaf --- /dev/null +++ b/rosdocs/xsl/fo/autotoc.xsl @@ -0,0 +1,468 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/biblio.xsl b/rosdocs/xsl/fo/biblio.xsl new file mode 100644 index 0000000..df94f37 --- /dev/null +++ b/rosdocs/xsl/fo/biblio.xsl @@ -0,0 +1,1060 @@ + + + + + + + + + + + + + + + + + + + + + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No bibliography entry: + + found in + + + + Error: no bibliography entry: + + found in + + + + + + + + + + + + + + + + + + + + + + + + + + + No bibliography entry: + + found in + + + + Error: no bibliography entry: + + found in + + + + + + + + + + + + + + + + + + [ + + + + + + + + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + copyright + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/block.xsl b/rosdocs/xsl/fo/block.xsl new file mode 100644 index 0000000..7680d51 --- /dev/null +++ b/rosdocs/xsl/fo/block.xsl @@ -0,0 +1,328 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/callout.xsl b/rosdocs/xsl/fo/callout.xsl new file mode 100644 index 0000000..e6f9935 --- /dev/null +++ b/rosdocs/xsl/fo/callout.xsl @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Don't know how to do callouts with + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + url( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + Don't know how to generate Unicode callouts + when $callout.unicode.start.character is + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/component.xsl b/rosdocs/xsl/fo/component.xsl new file mode 100644 index 0000000..1584ddf --- /dev/null +++ b/rosdocs/xsl/fo/component.xsl @@ -0,0 +1,434 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + all + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + + + + + + + + + + + + + + + + + + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/division.xsl b/rosdocs/xsl/fo/division.xsl new file mode 100644 index 0000000..2512818 --- /dev/null +++ b/rosdocs/xsl/fo/division.xsl @@ -0,0 +1,399 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/docbook.xsl b/rosdocs/xsl/fo/docbook.xsl new file mode 100644 index 0000000..2a24fe5 --- /dev/null +++ b/rosdocs/xsl/fo/docbook.xsl @@ -0,0 +1,184 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + encountered, but no template matches. + + + < + + > + + </ + + > + + + + + + Making + + pages on + + paper ( + + x + + ) + + + + + + + + + [could not find document title] + + + + + + + + + + + + + + + + + + + + ID ' + + ' not found in document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/ebnf.xsl b/rosdocs/xsl/fo/ebnf.xsl new file mode 100644 index 0000000..43e9d49 --- /dev/null +++ b/rosdocs/xsl/fo/ebnf.xsl @@ -0,0 +1,318 @@ + + + + + + + + +$Id$ + +Walsh +Norman +199920002001 +Norman Walsh + + +HTML EBNF Reference + + +
    Introduction + +This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets. + +This reference describes the templates and parameters relevant +to formatting EBNF markup. + +This is not intended to be user documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in how it +works. + +Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-) +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [ + + ] + + + + + + + + + + + + + + + + + + + + + + ::= + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + Error: no ID for productionrecap linkend: + + . + + + + + + Warning: multiple "IDs" for productionrecap linkend: + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + production + + + + + + + + + Non-terminals with no content must point to + production elements in the current document. + + + Invalid xpointer for empty nt: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + + + + + + + + + /*  + +  */ + + + + + + + + + + constraintdef + + + + + + + + + + + + + + + + + + + : + + + + + + + : + + + + + + + + + +  ] + + + + + + + + + + + + + + + + + +
    diff --git a/rosdocs/xsl/fo/fo-patch-for-fop.xsl b/rosdocs/xsl/fo/fo-patch-for-fop.xsl new file mode 100644 index 0000000..9737c9f --- /dev/null +++ b/rosdocs/xsl/fo/fo-patch-for-fop.xsl @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % + + + + + + + + diff --git a/rosdocs/xsl/fo/fo-rtf.xsl b/rosdocs/xsl/fo/fo-rtf.xsl new file mode 100644 index 0000000..8a01bcf --- /dev/null +++ b/rosdocs/xsl/fo/fo-rtf.xsl @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/fo.xsl b/rosdocs/xsl/fo/fo.xsl new file mode 100644 index 0000000..828e2b4 --- /dev/null +++ b/rosdocs/xsl/fo/fo.xsl @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + bullet + + + o + © + + + ® + (SM) + " + " + ' + ' + -- + - + o + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/footnote.xsl b/rosdocs/xsl/fo/footnote.xsl new file mode 100644 index 0000000..be9ef8f --- /dev/null +++ b/rosdocs/xsl/fo/footnote.xsl @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: footnote number may not be generated + correctly; + + unexpected as first child of footnote. + + + + + + + + + diff --git a/rosdocs/xsl/fo/fop.xsl b/rosdocs/xsl/fo/fop.xsl new file mode 100644 index 0000000..545998f --- /dev/null +++ b/rosdocs/xsl/fo/fop.xsl @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/formal.xsl b/rosdocs/xsl/fo/formal.xsl new file mode 100644 index 0000000..1f36827 --- /dev/null +++ b/rosdocs/xsl/fo/formal.xsl @@ -0,0 +1,398 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + all + + + + + + solid + solid + solid + solid + + + + + + + + + + + + + + + none + none + none + solid + + + + + + solid + solid + none + none + + + + + + + + + none + none + solid + none + + + + + + none + none + solid + solid + + + + + + + + + none + none + none + none + + + + Impossible frame on table: + + + none + none + none + none + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + fixed + + + + + + + + + + + + + + + + + + + + + + + + + all + none + + + + + + + + + + + + all + none + + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + fixed + + + + + + + + + + + + + + + + + + + + all + none + + + + + + + + + + + + all + none + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/glossary.xsl b/rosdocs/xsl/fo/glossary.xsl new file mode 100644 index 0000000..8697efa --- /dev/null +++ b/rosdocs/xsl/fo/glossary.xsl @@ -0,0 +1,502 @@ + + + + + + + +2in +0.25in + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: processing automatic glossary + without a glossary.collection file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: processing automatic glossary + without a glossary.collection file. + + + + + + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/graphics.xsl b/rosdocs/xsl/fo/graphics.xsl new file mode 100644 index 0000000..333daaa --- /dev/null +++ b/rosdocs/xsl/fo/graphics.xsl @@ -0,0 +1,510 @@ + + + + + + + + + + + + + 1 + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % + auto + + + + + + + + + + + + auto + + + + + + + + + + + + auto + + + + + + + + + + + 0 + + + + + + + + + + + scale-to-fit + auto + + + + + + + + + scale-to-fit + auto + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + + 1 + 0 + + + + + + 1.0 + + + + 1.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + auto + + + + + + + + + + + + + + + auto + + + + + + + + + + + + + + + + + % + + auto + + + + + + + + + + + + + + + + + % + + auto + + + + + + + + + + + + + + + + + + + before + center + after + auto + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Don't know how to insert files with + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Don't know how to insert files with + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/index.xsl b/rosdocs/xsl/fo/index.xsl new file mode 100644 index 0000000..c2ca705 --- /dev/null +++ b/rosdocs/xsl/fo/index.xsl @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + , + + + + + + + + + + diff --git a/rosdocs/xsl/fo/info.xsl b/rosdocs/xsl/fo/info.xsl new file mode 100644 index 0000000..bca6ce0 --- /dev/null +++ b/rosdocs/xsl/fo/info.xsl @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/inline.xsl b/rosdocs/xsl/fo/inline.xsl new file mode 100644 index 0000000..79bf3ba --- /dev/null +++ b/rosdocs/xsl/fo/inline.xsl @@ -0,0 +1,845 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + XLink to nonexistent id: + + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + , + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + There's no entry for + + in + + + + + + + gl. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error: no glossentry for glossterm: + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + element + + + + + + + + + + + + + + + + + </ + + > + + + + + + + & + + ; + + + + + + + &# + + ; + + + + + + + % + + ; + + + + + + + <? + + > + + + + + + + <? + + ?> + + + + + + + < + + > + + + + + + + < + + /> + + + + + + + <!-- + + --> + + + + + + + + + + + + + + < + + > + + + + + + + + + + + + + - + - + - + + - + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + -> + + + + + + + + + + + + + + + + + + + + + + + + [ + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/keywords.xsl b/rosdocs/xsl/fo/keywords.xsl new file mode 100644 index 0000000..2303b35 --- /dev/null +++ b/rosdocs/xsl/fo/keywords.xsl @@ -0,0 +1,21 @@ + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/lists.xsl b/rosdocs/xsl/fo/lists.xsl new file mode 100644 index 0000000..61814d7 --- /dev/null +++ b/rosdocs/xsl/fo/lists.xsl @@ -0,0 +1,849 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1. + a. + i. + A. + I. + + + + Unexpected numeration: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + em + + + + + + + + + + em + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + 1 + + + + + + + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + 1 + 1 + + 1 + + + + + + + + + + + + + + + + + + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + : ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + + + + diff --git a/rosdocs/xsl/fo/math.xsl b/rosdocs/xsl/fo/math.xsl new file mode 100644 index 0000000..8f2afaf --- /dev/null +++ b/rosdocs/xsl/fo/math.xsl @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $ + + + + $ + + + + + + + + + + + + + $$ + + + + $$ + + + + + + + + + Your equation is misplaced. It should be in inlineequation, equation or informalequation. + + + + + + + + + + + + + + 0 + 0 + 1 + + + + + + diff --git a/rosdocs/xsl/fo/pagesetup.xsl b/rosdocs/xsl/fo/pagesetup.xsl new file mode 100644 index 0000000..cacbed8 --- /dev/null +++ b/rosdocs/xsl/fo/pagesetup.xsl @@ -0,0 +1,522 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + fixed + no-repeat + center + center + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + titlepage2 + + twoside2 + + + + + + + + titlepage1 + + twoside1 + + + + + + + + titlepage2 + + oneside2 + + + + + + + + onesidedraft1 + + + titlepage1 + + oneside1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unexpected master-reference ( + + ) in running.head.mode for + + . No header generated. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unexpected master-reference ( + + ) in running.foot.mode for + + . No footer generated. + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/param.ent b/rosdocs/xsl/fo/param.ent new file mode 100644 index 0000000..4cadd79 --- /dev/null +++ b/rosdocs/xsl/fo/param.ent @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/param.xml b/rosdocs/xsl/fo/param.xml new file mode 100644 index 0000000..d8c8ea7 --- /dev/null +++ b/rosdocs/xsl/fo/param.xml @@ -0,0 +1,4264 @@ + + + + + + +FO Parameter Reference + +$Id$ + + + Walsh + Norman + + + 1999 + 2000 + 2001 + Norman Walsh + + + +Introduction + +This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets. + +This reference describes each of the HTML Stylesheet parameters. +These are the easily customizable parts of the stylesheet. +If you want to specify an alternate value for one or more of these +parameters, you can do so in a driver stylesheet. + +For example, if you want to change the html.stylesheet +to reference.css, you might create a driver +stylesheet like this: + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + + <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"/> + + <xsl:param name="html.stylesheet">reference.css</xsl:param> + +</xsl:stylesheet> + +Naturally, you have to change the +href attribute on +<xsl:import> to point to +docbook.xsl on your system. (Or +chunk.xsl, if you're using chunking.) + +This is not intended to be user documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in how it +works. + +Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-) + + +Admonitions + + +admon.graphics +boolean + + +admon.graphics +Use graphics in admonitions? + + + +<xsl:param name="admon.graphics" + select="0"/> + + +Description + +If true (non-zero), admonitions are presented in an alternate style that uses +a graphic. Default graphics are provided in the distribution. + + + + + + + +admon.graphics.extension +string + + +admon.graphics.extension +Extension for admonition graphics + + + +<xsl:param name="admon.graphics.extension" + select="'.png'"/> + + +Description + +Sets the extension to use on admonition graphics. + + + + + + +admon.graphics.path +string + + +admon.graphics.path +Path to admonition graphics + + + +<xsl:param name="admon.graphics.path">images/</xsl:param> + + +Description + +Sets the path, probably relative to the directory where the HTML +files are created, to the admonition graphics. + + + + + + + +admonition.title.properties +To set the style for admonitions titles. + + + +<xsl:attribute-set name="admonition.title.properties"> + <xsl:attribute name="font-size">14pt</xsl:attribute> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="hyphenate">false</xsl:attribute> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> +</xsl:attribute-set> + +Description +How do you want admonitions titles styled? +Set the font-size, weight etc to the style required + + + + + + +admonition.properties +To set the style for admonitions. + + + +<xsl:attribute-set name="admonition.properties"/> + +Description +How do you want admonitions styled? +Set the font-size, weight etc to the style required + + + + + + +Callouts + + +callout.defaultcolumn +integer + + +callout.defaultcolumn +Indicates what column callouts appear in by default + + + +<xsl:param name="callout.defaultcolumn" + select="'60'"/> + + +Description + +If a callout does not identify a column (for example, if it uses +the linerange unit), +it will appear in the default column. + + + + + + + +callout.graphics +boolean + + +callout.graphics +Use graphics for callouts? + + + +<xsl:param name="callout.graphics" + select="'1'"/> + + +Description + +If non-zero, callouts are presented with graphics (e.g., reverse-video +circled numbers instead of "(1)", "(2)", etc.). +Default graphics are provided in the distribution. + + + + + + + +callout.graphics.extension +string + + +callout.graphics.extension +Extension for callout graphics + + + +<xsl:param name="callout.graphics.extension" + select="'.png'"/> + + +Description + +Sets the extension to use on callout graphics. + + + + + + +callout.graphics.number.limit +integer + + +callout.graphics.number.limit +Number of the largest callout graphic + + + +<xsl:param name="callout.graphics.number.limit" + select="'10'"/> + + +Description + +If callout.graphics +is non-zero, graphics are used to represent +callout numbers. The value of +callout.graphics.number.limit +is +the largest number for which a graphic exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. + + + + + + + +callout.graphics.path +string + + +callout.graphics.path +Path to callout graphics + + + +<xsl:param name="callout.graphics.path" + select="'images/callouts/'"/> + + +Description + +Sets the path, probably relative to the directory where the HTML +files are created, to the callout graphics. + + + + + + + +callout.unicode +boolean + + +callout.unicode +Use Unicode characters rather than images for callouts. + + + +<xsl:param name="callout.unicode" + select="0"/> + + +Description + +The stylesheets can use either an image of the numbers one to ten, or the single Unicode character which represents the numeral, in white on a black background. Use this to select the Unicode character option. + + + + + + + +callout.unicode.font + + + +callout.unicode.font +Specify a font for Unicode glyphs + + + +<xsl:param name="callout.unicode.font" + select="'ZapfDingbats'"/> + + +Description + +The name of the font to specify around Unicode callout glyphs. +If set to the empty string, no font change will occur. + + + + + + + +callout.unicode.number.limit +integer + + +callout.unicode.number.limit +Number of the largest callout graphic + + + +<xsl:param name="callout.unicode.number.limit" + select="'10'"/> + + +Description + +If callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.number.limit +is +the largest number for which a unicode character exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. + + + + + + + +callout.unicode.start.character +integer + + +callout.unicode.start.character +First Unicode character to use, decimal value. + + + +<xsl:param name="callout.unicode.start.character" + select="10102"/> + + +Description + +If callout.graphics is zero and callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.start.character +is the decimal unicode value used for callout number one. Currently, +only 10102 is supported in the stylesheets for this parameter. + + + + + + + +callouts.extension +boolean + + +callouts.extension +Enable the callout extension + + + +<xsl:param name="callouts.extension" + select="'1'"/> + + +Description + +The callouts extension processes areaset +elements in ProgramListingCO and other text-based +callout elements. + + + + + + + +ToC/LoT/Index Generation + + +autotoc.label.separator +string + + +autotoc.label.separator +Separator between labels and titles in the ToC + + + +<xsl:param name="autotoc.label.separator" + select="'. '"/> + + +Description + +String to use to seperate labels and title in a table of contents. + + + + + + +process.empty.source.toc +boolean + + +process.empty.source.toc +FIXME: + + + +<xsl:param name="process.empty.source.toc" + select="0"/> + + +Description + +FIXME: + + + + + + + +process.source.toc +boolean + + +process.source.toc +FIXME: + + + +<xsl:param name="process.source.toc" + select="0"/> + + +Description + +FIXME: + + + + + + + +generate.toc +table + + +generate.toc +Control generation of ToCs and LoTs + + + + +<xsl:param name="generate.toc"> +/appendix toc +/article toc +book toc,figure,table,example,equation +/chapter toc +part toc +/preface toc +qandadiv toc +qandaset toc +reference toc +/section toc +set toc +</xsl:param> + + +Description + +This parameter has a structured value. It is a table of space-delimited +path/value pairs. Each path identifies some element in the source document +using a restricted subset of XPath (only the implicit child axis, no wildcards, +no predicates). Paths can be either relative or absolute. + +When processing a particular element, the stylesheets consult this table to +determine if a ToC (or LoT(s)) should be generated. + +For example, consider the entry: + +book toc,figure + +This indicates that whenever a book is formatted, a +Table Of Contents and a List of Figures should be generated. Similarly, + +/chapter toc + +indicates that whenever a document that has a root +of chapter is formatted, a Table of +Contents should be generated. The entry chapter would match +all chapters, but /chapter matches only chapter +document elements. + +Generally, the longest match wins. So, for example, if you want to distinguish +articles in books from articles in parts, you could use these two entries: + +book/article toc,figure +part/article toc + +Note that an article in a part can never match a book/article, +so if you want nothing to be generated for articles in parts, you can simply leave +that rule out. + +If you want to leave the rule in, to make it explicit that you're turning +something off, use the value nop. For example, the following +entry disables ToCs and LoTs for articles: + +article nop + +Do not simply leave the word article in the file +without a matching value. That'd be just begging the silly little +path/value parser to get confused. + + + + + + +generate.index +boolean + + +generate.index +Do you want an index? + + + +<xsl:param name="generate.index" + select="1"/> + + +Description + +Specify if an index should be generated. + + + + + + +toc.section.depth +integer + + +toc.section.depth +How deep should recursive sections appear +in the TOC? + + + +<xsl:param name="toc.section.depth">2</xsl:param> + + +Description + +Specifies the depth to which recursive sections should appear in the +TOC. + + + + + + + +toc.indent.width +float + + +toc.indent.width +Amount of indentation for TOC entries + + + +<xsl:param name="toc.indent.width" + select="24"/> + + +Description + +Specifies, in points, the distance by which each level of the +TOC is indented from its parent. + +This value is expressed in points, without +a unit (in other words, it is a bare number). Using a bare number allows the stylesheet +to perform calculations that would otherwise have to be performed by the FO processor +because not all processors support expressions. + + + + + + +toc.margin.properties +FIXME: + + + +<xsl:attribute-set name="toc.margin.properties"> + <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.maximum">2em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-after.optimum">1em</xsl:attribute> + <xsl:attribute name="space-after.maximum">2em</xsl:attribute> +</xsl:attribute-set> + +Description +FIXME: + + + + + + + + +Processor Extensions + + +arbortext.extensions +boolean + + +arbortext.extensions +Enable Arbortext extensions? + + + +<xsl:param name="arbortext.extensions" + select="0"/> + + +Description + +If non-zero, +Arbortext +extensions will be used. + + + + + + + +fop.extensions +boolean + + +fop.extensions +Enable FOP extensions? + + + +<xsl:param name="fop.extensions" + select="0"/> + + +Description + +If non-zero, +FOP +extensions will be used. At present, this consists of PDF bookmarks. + + + + + + + +passivetex.extensions +boolean + + +passivetex.extensions +Enable PassiveTeX extensions? + + + +<xsl:param name="passivetex.extensions" + select="0"/> + + +Description + +If non-zero, +PassiveTeX +extensions will be used. At present, this consists of PDF bookmarks +and sorted index terms. + + + + + + + +tex.math.in.alt +string + + +tex.math.in.alt +TeX notation used for equations + + + +<xsl:param name="tex.math.in.alt" + select="''"/> + + +Description + +If you want type math directly in TeX notation in equations, +this parameter specifies notation used. Currently are supported two +values -- plain and latex. Empty +value means that you are not using TeX math at all. + +Preferred way for including TeX alternative of math is inside of +textobject element. Eg.: + +<inlineequation> +<inlinemediaobject> +<imageobject> +<imagedata fileref="eq1.gif"/> +</imageobject> +<textobject><phrase>E=mc squared</phrase></textobject> +<textobject role="tex"><phrase>E=mc^2</phrase></textobject> +</inlinemediaobject> +</inlineequation> + +If you are using graphic element, you can +store TeX inside alt element: + +<inlineequation> +<alt role="tex">a^2+b^2=c^2</alt> +<graphic fileref="a2b2c2.gif"/> +</inlineequation> + +If you want use this feature, you should process your FO with +PassiveTeX, which only supports TeX math notation. When calling +stylsheet, don't forget to specify also +passivetex.extensions=1. + +If you want equations in HTML, just process generated file +tex-math-equations.tex by TeX or LaTeX. Then run +dvi2bitmap program on result DVI file. You will get images for +equations in your document. + + + + + + +tex.math.delims +boolean + + +tex.math.delims +Should be equations outputed for processing by TeX +automatically surrounded by math mode delimiters + + + +<xsl:param name="tex.math.delims" + select="'1'"/> + + +Description + +For compatibility with DSSSL based DBTeXMath from Allin Cottrell +you should set this parameter to 0. + + + + + + +xep.extensions +boolean + + +xep.extensions +Enable XEP extensions? + + + +<xsl:param name="xep.extensions" + select="0"/> + + +Description + +If non-zero, +XEP +extensions will be used. XEP extensions consists of PDF bookmarks and document information. + + + + + + + +Stylesheet Extensions + + +linenumbering.everyNth +integer + + +linenumbering.everyNth +Indicate which lines should be numbered + + + +<xsl:param name="linenumbering.everyNth" + select="'5'"/> + + +Description + +If line numbering is enabled, everyNth line will be numbered. + + + + + + + +linenumbering.extension +boolean + + +linenumbering.extension +Enable the line numbering extension + + + +<xsl:param name="linenumbering.extension" + select="'1'"/> + + +Description + +If true, verbatim environments (elements that have the +format='linespecific' notation attribute: address, literallayout, +programlisting, screen, synopsis) that specify line numbering will +have, surprise, line numbers. + + + + + + + +linenumbering.separator +string + + +linenumbering.separator +Specify a separator between line numbers and lines + + + +<xsl:param name="linenumbering.separator" + select="' '"/> + + +Description + +The separator is inserted between line numbers and lines in +the verbatim environment. + + + + + + + +linenumbering.width +integer + + +linenumbering.width +Indicates the width of line numbers + + + +<xsl:param name="linenumbering.width" + select="'3'"/> + + +Description + +If line numbering is enabled, line numbers will appear right +justified in a field "width" characters wide. + + + + + + + +tablecolumns.extension +boolean + + +tablecolumns.extension +Enable the table columns extension function + + + +<xsl:param name="tablecolumns.extension" + select="'1'"/> + + +Description + +The table columns extension function adjusts the widths of table +columns in the HTML result to more accurately reflect the specifications +in the CALS table. + + + + + + + +textinsert.extension +boolean + + +textinsert.extension +Enable the textinsert extension element + + + +<xsl:param name="textinsert.extension" + select="'1'"/> + + +Description + +The textinsert extension element inserts the contents of a +a file into the result tree (as text). + + + + + + + +use.extensions +boolean + + +use.extensions +Enable extensions + + + +<xsl:param name="use.extensions" + select="'0'"/> + + +Description + +If non-zero, extensions may be used. Each extension is +further controlled by its own parameter. But if +use.extensions is zero, no extensions will +be used. + + + + + + + +Automatic labelling + + +appendix.autolabel +boolean + + +appendix.autolabel +Are Appendixes automatically enumerated? + + + +<xsl:param name="appendix.autolabel" + select="1"/> + + +Description + +If true (non-zero), unlabeled appendixes will be +enumerated. + + + + + + + +chapter.autolabel +boolean + + +chapter.autolabel +Are chapters automatically enumerated? + + + +<xsl:param name="chapter.autolabel" + select="1"/> + + +Description + +If true (non-zero), unlabeled chapters will be enumerated. + + + + + + + +part.autolabel +boolean + + +part.autolabel +Are parts and references enumerated? + + + +<xsl:param name="part.autolabel" + select="1"/> + + +Description + +If true (non-zero), unlabeled parts and references will be enumerated. + + + + + + + +preface.autolabel +boolean + + +preface.autolabel +Are prefaces enumerated? + + + +<xsl:param name="preface.autolabel" + select="0"/> + + +Description + +If true (non-zero), unlabeled prefaces will be enumerated. + + + + + + + +section.autolabel +boolean + + +section.autolabel +Are sections enumerated? + + + +<xsl:param name="section.autolabel" + select="0"/> + + +Description + +If true (non-zero), unlabeled sections will be enumerated. + + + + + + + +section.label.includes.component.label +boolean + + +section.label.includes.component.label +Do section labels include the component label? + + + +<xsl:param name="section.label.includes.component.label" + select="0"/> + + +Description + +If true (non-zero), section labels are prefixed with the label of the +component that contains them. + + + + + + + +label.from.part +boolean + + +label.from.part +Renumber chapters in each part? + + + +<xsl:param name="label.from.part" + select="'0'"/> + + +Description + +If label.from.part is non-zero, components +(chapters, appendixes, etc.) +will be numbered from 1 in each part. Otherwise, +they will be numbered monotonically throughout each +book. + + + + + + + +XSLT Processing + + +rootid +string + + +rootid +Specify the root element to format + + + +<xsl:param name="rootid" + select="''"/> + + +Description + +If rootid is specified, it must be the +value of an ID that occurs in the document being formatted. The entire +document will be loaded and parsed, but formatting will begin at the +element identified, rather than at the root. For example, this allows +you to process only chapter 4 of a book. +Because the entire document is available to the processor, automatic +numbering, cross references, and other dependencies are correctly +resolved. + + + + + + +Meta/*Info + + +make.single.year.ranges +boolean + + +make.single.year.ranges +Print single-year ranges (e.g., 1998-1999) + + + +<xsl:param name="make.single.year.ranges" + select="0"/> + + +Description + +If non-zero, year ranges that span a single year will be printed +in range notation (1998-1999) instead of discrete notation +(1998, 1999). + + + + + + +make.year.ranges +boolean + + +make.year.ranges +Collate copyright years into ranges? + + + +<xsl:param name="make.year.ranges" + select="0"/> + + +Description + +If non-zero, copyright years will be collated into ranges. + + + + + + +author.othername.in.middle +boolean + + +author.othername.in.middle +Is othername in author a +middle name? + + + +<xsl:param name="author.othername.in.middle" + select="1"/> + + +Description + +If true (non-zero), the othername of an author +appears between the firstname and +surname. Otherwise, othername +is suppressed. + + + + + + + +Reference Pages + + +funcsynopsis.decoration +boolean + + +funcsynopsis.decoration +Decorate elements of a FuncSynopsis? + + + +<xsl:param name="funcsynopsis.decoration" + select="1"/> + + +Description + +If true (non-zero), elements of the FuncSynopsis will be decorated (e.g. bold or +italic). The decoration is controlled by functions that can be redefined +in a customization layer. + + + + + + + +funcsynopsis.style +list +ansi +kr + + +funcsynopsis.style +What style of 'FuncSynopsis' should be generated? + + + +<xsl:param name="funcsynopsis.style">kr</xsl:param> + + +Description + +If funcsynopsis.style is ansi, +ANSI-style function synopses are generated for a +funcsynopsis, otherwise K&R-style +function synopses are generated. + + + + + + + +function.parens +boolean + + +function.parens +Generate parens after a function? + + + +<xsl:param name="function.parens">0</xsl:param> + + +Description + +If not 0, the formatting of +a function element will include +generated parenthesis. + + + + + + + +refentry.generate.name +boolean + + +refentry.generate.name +Output NAME header before 'RefName'(s)? + + + +<xsl:param name="refentry.generate.name" + select="1"/> + + +Description + +If true (non-zero), a "NAME" section title is output before the list +of 'RefName's. This parameter and +refentry.generate.title are mutually exclusive. + + + + + + + +refentry.generate.title +boolean + + +refentry.generate.title +Output title before 'RefName'(s)? + + + +<xsl:param name="refentry.generate.title" + select="0"/> + + +Description + +If true (non-zero), the reference page title or first name is +output before the list of 'RefName's. This parameter and +refentry.generate.name are mutually exclusive. + + + + + + + + +refentry.xref.manvolnum +boolean + + +refentry.xref.manvolnum +Output manvolnum as part of +refentry cross-reference? + + + +<xsl:param name="refentry.xref.manvolnum" + select="1"/> + + +Description + +if true (non-zero), the manvolnum is used when cross-referencing +refentrys, either with xref +or citerefentry. + + + + + + + +Tables + + +default.table.width +length + + +default.table.width +The default width of tables + + + +<xsl:param name="default.table.width" + select="''"/> + + +Description + +If specified, this value will be used for the WIDTH attribute on +tables that do not specify an alternate width (with the dbhtml processing +instruction). + + + + + + +nominal.table.width +length + + +nominal.table.width +The (absolute) nominal width of tables + + + +<xsl:param name="nominal.table.width" + select="'6in'"/> + + +Description + +In order to convert CALS column widths into HTML column widths, it +is sometimes necessary to have an absolute table width to use for conversion +of mixed absolute and relative widths. This value must be an absolute +length (not a percentag). + + + + + + +table.border.thickness + + + +table.border.thickness + + + + +<xsl:param name="table.border.thickness" + select="'0.5pt'"/> + + +Description + +FIXME: + + + + + + +table.cell.padding + + + +table.cell.padding + + + + +<xsl:attribute-set name="table.cell.padding"> + <xsl:attribute name="padding-left">2pt</xsl:attribute> + <xsl:attribute name="padding-right">2pt</xsl:attribute> + <xsl:attribute name="padding-top">2pt</xsl:attribute> + <xsl:attribute name="padding-bottom">2pt</xsl:attribute> +</xsl:attribute-set> + + +Description + +FIXME: + + + + + + +table.border.style + + + +table.border.style + + + + +<xsl:param name="table.border.style" + select="'solid'"/> + + +Description + +FIXME: + + + + + + +table.border.color + + + +table.border.color + + + + +<xsl:param name="table.border.color" + select="'black'"/> + + +Description + +FIXME: + + + + + + +table.entry.padding + + + +table.entry.padding + + + + +<xsl:param name="table.entry.padding" + select="'2pt'"/> + + +Description + +FIXME: + + + + + + +QAndASet + + +qandadiv.autolabel +boolean + + +qandadiv.autolabel +Are divisions in QAndASets enumerated? + + + +<xsl:param name="qandadiv.autolabel" + select="1"/> + + +Description + +If true (non-zero), unlabeled qandadivs will be enumerated. + + + + + + + +qanda.inherit.numeration +boolean + + +qanda.inherit.numeration +Does enumeration of QandASet components inherit the numeration of parent elements? + + + +<xsl:param name="qanda.inherit.numeration" + select="1"/> + + +Description + +If true (non-zero), numbered QandADiv elements and Questions and Answers inherit +the numeration of the ancestors of the QandASet. + + + + + + + +Bibliography + + +biblioentry.item.separator +string + + +biblioentry.item.separator +Text to separate bibliography entries + + + +<xsl:param name="biblioentry.item.separator">. </xsl:param> + + +Description + +Text to separate bibliography entries + + + + + + + +bibliography.collection +string + + +bibliography.collection +Name of the bibliography collection file + + + +<xsl:param name="bibliography.collection" + select="'http://docbook.sourceforge.net/release/bibliography/bibliography.xml'"/> + + +Description + +Maintaining bibliography entries across a set of documents is tedious, time +consuming, and error prone. It makes much more sense, usually, to store all of +the bibliography entries in a single place and simply extract +the ones you need in each document. + +That's the purpose of the +bibliography.collection parameter. To setup a global +bibliography database, follow these steps: + +First, create a stand-alone bibliography document that contains all of +the documents that you wish to reference. Make sure that each bibliography +entry (whether you use biblioentry or bibliomixed) +has an ID. + +My global bibliography, ~/bibliography.xml begins +like this: + + +<!DOCTYPE bibliography + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> +<bibliography><title>References</title> + +<bibliomixed id="xml-rec"><abbrev>XML 1.0</abbrev>Tim Bray, +Jean Paoli, C. M. Sperberg-McQueen, and Eve Maler, editors. +<citetitle><ulink url="http://www.w3.org/TR/REC-xml">Extensible Markup +Language (XML) 1.0 Second Edition</ulink></citetitle>. +World Wide Web Consortium, 2000. +</bibliomixed> + +<bibliomixed id="xml-names"><abbrev>Namespaces</abbrev>Tim Bray, +Dave Hollander, +and Andrew Layman, editors. +<citetitle><ulink url="http://www.w3.org/TR/REC-xml-names/">Namespaces in +XML</ulink></citetitle>. +World Wide Web Consortium, 1999. +</bibliomixed> + +<!-- ... --> +</bibliography> + + + +When you create a bibliography in your document, simply +provide empty bibliomixed +entries for each document that you wish to cite. Make sure that these +elements have the same ID as the corresponding real +entry in your global bibliography. + +For example: + + +<bibliography><title>Bibliography</title> + +<bibliomixed id="xml-rec"/> +<bibliomixed id="xml-names"/> +<bibliomixed id="DKnuth86">Donald E. Knuth. <citetitle>Computers and +Typesetting: Volume B, TeX: The Program</citetitle>. Addison-Wesley, +1986. ISBN 0-201-13437-3. +</bibliomixed> +<bibliomixed id="relaxng"/> + +</bibliography> + + +Note that it's perfectly acceptable to mix entries from your +global bibliography with normal entries. You can use +xref or other elements to cross-reference your +bibliography entries in exactly the same way you do now. + +Finally, when you are ready to format your document, simply set the +bibliography.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global bibliography. + +The stylesheets will format the bibliography in your document as if +all of the entries referenced appeared there literally. + + + + + + +Glossary + + +glossterm.auto.link +boolean + + +glossterm.auto.link +Generate links from glossterm to glossentry automaticaly? + + + +<xsl:param name="glossterm.auto.link" + select="'0'"/> + + +Description + +If true, a link will be automatically created from glossterm +to glossentry for that glossary term. This is usefull when your +glossterm names are consistent and you don't want to add links +manually. +If there is linkend on +glossterm then is used instead of autogeneration of +link. + + + + + + +firstterm.only.link +boolean + + +firstterm.only.link +Does automatic glossterm linking only apply to firstterms? + + + +<xsl:param name="firstterm.only.link" + select="0"/> + + +Description + +If true, only firstterms will be automatically linked +to the glossary. If glossary linking is not enabled, this parameter +has no effect. + + + + + + +glossary.collection +string + + +glossary.collection +Name of the glossary collection file + + + +<xsl:param name="glossary.collection" + select="''"/> + + +Description + +Glossaries maintained independently across a set of documents +are likely to become inconsistent unless considerable effort is +expended to keep them in sync. It makes much more sense, usually, to +store all of the glossary entries in a single place and simply +extract the ones you need in each document. + +That's the purpose of the +glossary.collection parameter. To setup a global +glossary database, follow these steps: + +Setting Up the Glossary Database + +First, create a stand-alone glossary document that contains all of +the entries that you wish to reference. Make sure that each glossary +entry has an ID. + +Here's an example glossary: + + + +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE glossary + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> +<glossary> +<glossaryinfo> +<editor><firstname>Eric</firstname><surname>Raymond</surname></editor> +<title>Jargon File 4.2.3 (abridged)</title> +<releaseinfo>Just some test data</releaseinfo> +</glossaryinfo> + +<glossdiv><title>0</title> + +<glossentry> +<glossterm>0</glossterm> +<glossdef> +<para>Numeric zero, as opposed to the letter `O' (the 15th letter of +the English alphabet). In their unmodified forms they look a lot +alike, and various kluges invented to make them visually distinct have +compounded the confusion. If your zero is center-dotted and letter-O +is not, or if letter-O looks almost rectangular but zero looks more +like an American football stood on end (or the reverse), you're +probably looking at a modern character display (though the dotted zero +seems to have originated as an option on IBM 3270 controllers). If +your zero is slashed but letter-O is not, you're probably looking at +an old-style ASCII graphic set descended from the default typewheel on +the venerable ASR-33 Teletype (Scandinavians, for whom /O is a letter, +curse this arrangement). (Interestingly, the slashed zero long +predates computers; Florian Cajori's monumental "A History of +Mathematical Notations" notes that it was used in the twelfth and +thirteenth centuries.) If letter-O has a slash across it and the zero +does not, your display is tuned for a very old convention used at IBM +and a few other early mainframe makers (Scandinavians curse <emphasis>this</emphasis> +arrangement even more, because it means two of their letters collide). +Some Burroughs/Unisys equipment displays a zero with a <emphasis>reversed</emphasis> +slash. Old CDC computers rendered letter O as an unbroken oval and 0 +as an oval broken at upper right and lower left. And yet another +convention common on early line printers left zero unornamented but +added a tail or hook to the letter-O so that it resembled an inverted +Q or cursive capital letter-O (this was endorsed by a draft ANSI +standard for how to draw ASCII characters, but the final standard +changed the distinguisher to a tick-mark in the upper-left corner). +Are we sufficiently confused yet?</para> +</glossdef> +</glossentry> + +<glossentry> +<glossterm>1TBS</glossterm> +<glossdef> +<para role="accidence"> +<phrase role="pronounce"></phrase> +<phrase role="partsofspeach">n</phrase> +</para> +<para>The "One True Brace Style"</para> +<glossseealso>indent style</glossseealso> +</glossdef> +</glossentry> + +<!-- ... --> + +</glossdiv> + +<!-- ... --> + +</glossary> + + + + +Marking Up Glossary Terms + +That takes care of the glossary database, now you have to get the entries +into your document. Unlike bibliography entries, which can be empty, creating +placeholder glossary entries would be very tedious. So instead, +support for glossary.collection relies on implicit linking. + +In your source document, simply use firstterm and +glossterm to identify the terms you wish to have included +in the glossary. The stylesheets assume that you will either set the +baseform attribute correctly, or that the +content of the element exactly matches a term in your glossary. + +If you're using a glossary.collection, don't +make explicit links on the terms in your document. + +So, in your document, you might write things like this: + + +<para>This is dummy text, without any real meaning. +The point is simply to reference glossary terms like <glossterm>0</glossterm> +and the <firstterm baseform="1TBS">One True Brace Style (1TBS)</firstterm>. +The <glossterm>1TBS</glossterm>, as you can probably imagine, is a nearly +religious issue.</para> + + +If you set the firstterm.only.link parameter, +only the terms marked with firstterm will be links. +Otherwise, all the terms will be linked. + + + +Marking Up the Glossary + +The glossary itself has to be identified for the stylesheets. For lack +of a better choice, the role is used. +To identify the glossary as the target for automatic processing, set +the role to auto. The title of this +glossary (and any other information from the glossaryinfo +that's rendered by your stylesheet) will be displayed, but the entries will +come from the database. + + +Unfortunately, the glossary can't be empty, so you must put in +at least one glossentry. The content of this entry +is irrelevant, it will not be rendered: + + +<glossary role="auto"> +<glossentry> +<glossterm>Irrelevant</glossterm> +<glossdef> +<para>If you can see this, the document was processed incorrectly. Use +the <parameter>glossary.collection</parameter> parameter.</para> +</glossdef> +</glossentry> +</glossary> + + +What about glossary divisions? If your glossary database has glossary +divisions and your automatic glossary contains at least +one glossdiv, the automic glossary will have divisions. +If the glossdiv is missing from either location, no divisions +will be rendered. + +Glossary entries (and divisions, if appropriate) in the glossary will +occur in precisely the order they occur in your database. + + + +Formatting the Document + +Finally, when you are ready to format your document, simply set the +glossary.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global glossary. + +The stylesheets will format the glossary in your document as if +all of the entries implicilty referenced appeared there literally. + + + + + + +Miscellaneous + + +graphic.default.extension +string + + +graphic.default.extension +Default extension for graphic filenames + + + +<xsl:param name="graphic.default.extension"/> + + +Description + +If a graphic or mediaobject +includes a reference to a filename that does not include an extension, +and the format attribute is +unspecified, the default extension will be used. + + + + + + + +formal.procedures +boolean + + +formal.procedures +Selects formal or informal procedures + + + +<xsl:param name="formal.procedures" + select="1"/> + + +Description + +Formal procedures are numbered and always have a title. + + + + + + + +formal.title.placement + + + +formal.title.placement + + + + +<xsl:param name="formal.title.placement"> +figure before +example before +equation before +table before +procedure before +</xsl:param> + + +Description + +Specifies where formal object titles should occur. For each formal object +type (figure, +example, +equation, +table, and procedure) +you can specify either the keyword +before or +after. + + + + + + +runinhead.default.title.end.punct +string + + +runinhead.default.title.end.punct +Default punctuation character on a run-in-head + + + +<xsl:param name="runinhead.default.title.end.punct" + select="'.'"/> + + +Description + +FIXME: + + + + + + + +runinhead.title.end.punct +string + + +runinhead.title.end.punct +Characters that count as punctuation on a run-in-head + + + +<xsl:param name="runinhead.title.end.punct" + select="'.!?:'"/> + + +Description + +FIXME: + + + + + + + +show.comments +boolean + + +show.comments +Display comment elements? + + + +<xsl:param name="show.comments">1</xsl:param> + + +Description + +If true (non-zero), comments will be displayed, otherwise they are suppressed. +Comments here refers to the comment element, +which will be renamed remark in DocBook V4.0, +not XML comments (<-- like this -->) which are unavailable. + + + + + + + +punct.honorific +string + + +punct.honorific +Punctuation after an honorific in a personal name. + + + +<xsl:param name="punct.honorific" + select="'.'"/> + + +Description + +This parameter specifies the punctuation that should be added after an +honorific in a personal name. + + + + + + +segmentedlist.as.table +boolean + + +segmentedlist.as.table +Format segmented lists as tables? + + + +<xsl:param name="segmentedlist.as.table" + select="0"/> + + +Description + +If non-zero, segmentedlists will be formatted as +tables. + + + + + + +variablelist.as.blocks +boolean + + +variablelist.as.blocks +Format variablelists lists as blocks? + + + +<xsl:param name="variablelist.as.blocks" + select="0"/> + + +Description + +If non-zero, variablelists will be formatted as +blocks. + +If you have long terms, proper list markup in the FO case may produce +unattractive lists. By setting this parameter, you can force the stylesheets +to produce block markup instead of proper lists. + + + + + + +blockquote.properties +To set the style for block quotations. + + + +<xsl:attribute-set name="blockquote.properties"> +<xsl:attribute name="start-indent">0.5in</xsl:attribute> +<xsl:attribute name="end-indent">0.5in</xsl:attribute> +<xsl:attribute name="space-after.minimum">0.5em</xsl:attribute> +<xsl:attribute name="space-after.optimum">1em</xsl:attribute> +<xsl:attribute name="space-after.maximum">2em</xsl:attribute> +</xsl:attribute-set> + + +Description + +The blockquote.properties attribute set specifies +the formating properties of block quotations. + + + + + + +ulink.show +boolean + + +ulink.show +Display URLs after ulinks? + + + +<xsl:param name="ulink.show" + select="1"/> + + +Description + +If non-zero, the URL of each ULink will +appear after the text of the link. If the text of the link and the URL +are identical, the URL is suppressed. + + + + + + +ulink.footnotes +boolean + + +ulink.footnotes +Generate footnotes for ULinks? + + + +<xsl:param name="ulink.footnotes" + select="0"/> + + +Description + +If non-zero, the URL of each ULink will +appear as a footnote. Not yet implemented! + + + + + + + +ulink.hyphenate +string + + +ulink.hyphenate +Allow URLs to be automatically hyphenated + + + +<xsl:param name="ulink.hyphenate" + select="''"/> + + +Description + +If not empty, the specified character (or more generally, content) is +added to URLs after every /. If the character specified is a +Unicode soft hyphen (0x00AD) or Unicode zero-width space (0x200B), some FO +processors will be able to reasonably hyphenate long URLs. + +As of 28 Jan 2002, discretionary hyphens are more widely and correctly +supported than zero-width spaces for this purpose. + + + + + + +shade.verbatim +boolean + + +shade.verbatim +Should verbatim environments be shaded? + + + +<xsl:param name="shade.verbatim" + select="0"/> + + +Description + +FIXME: + + + + + + +shade.verbatim.style + + + +shade.verbatim.style +Properties that specify the style of shaded verbatim listings + + + + +<xsl:attribute-set name="shade.verbatim.style"> + <xsl:attribute name="background-color">#E0E0E0</xsl:attribute> +</xsl:attribute-set> + + +Description + +FIXME: + + + + + + +use.svg +boolean + + +use.svg +Allow SVG in the result tree? + + + +<xsl:param name="use.svg" + select="1"/> + + +Description + +If non-zero, SVG will be considered an acceptable image format. SVG +is passed through to the result tree, so correct rendering of the resulting +diagram depends on the formatter (FO processor or web browser) that is used +to process the output from the stylesheet. + + + + + + +Pagination and General Styles + +
    Understanding XSL FO Margins + +In order for the parameters in this section to make sense, it is useful to +consider . + +
    + + + + +Figure showing page margins + +This figure shows the physical page with the various FO page regions +identified. + + +
    + +First, let's consider the regions on the page. + +The white region is the physical page. Its dimensions are determined by +the page.height and page.width +parameters. + +The yellow region is the region-body. The size and placement of +the region body is constrained by the dimensions labelled in the +figure. + +The pink region at the top of the page is the region-before. The +darker area inside the region-before is the header text. In XSL, the default +display alignment for the region-before is before, but +the DocBook stylesheets explicitly make it after. That's +why the darker area is at the bottom. + +The pink region at the bottom of the page is the region-after. +The darker area is the footer text. In XSL, the default display +alignment for the region-after is before (really!), +but the DocBook stylesheets explicitly make it +after. That's why the darker area is at the bottom. + +The dimensions in the figure are: + + +The page-master margin-top. + +The region-before extent. + +The region-body margin-top. + +The region-after extent. + +The page-master margin-bottom. + +The region-body margin-bottom. + +The sum of the page-master margin-left and the +region-body margin-left. In DocBook, the region-body margin-left is +zero by default, so this is simply the page-master region-left. + +The sum of the page-master margin-right and the +region-body margin-right. In DocBook, the region-body margin-right is +zero by default, so this is simply the page-master region-left. + + + +
    +
    + + + +page.height + + + +page.height +The height of the physical page + + + +<xsl:param name="page.height"> + <xsl:choose> + <xsl:when test="$page.orientation = 'portrait'"> + <xsl:value-of select="$page.height.portrait"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$page.width.portrait"/> + </xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The page height is generally calculated from the +paper.type and +page.orientation. + + + + + + + +page.height.portrait + + + +page.height.portrait +Specify the physical size of the long edge of the page + + + +<xsl:param name="page.height.portrait"> + <xsl:choose> + <xsl:when test="$paper.type = 'A4landscape'">210mm</xsl:when> + <xsl:when test="$paper.type = 'USletter'">11in</xsl:when> + <xsl:when test="$paper.type = 'USlandscape'">8.5in</xsl:when> + <xsl:when test="$paper.type = '4A0'">2378mm</xsl:when> + <xsl:when test="$paper.type = '2A0'">1682mm</xsl:when> + <xsl:when test="$paper.type = 'A0'">1189mm</xsl:when> + <xsl:when test="$paper.type = 'A1'">841mm</xsl:when> + <xsl:when test="$paper.type = 'A2'">594mm</xsl:when> + <xsl:when test="$paper.type = 'A3'">420mm</xsl:when> + <xsl:when test="$paper.type = 'A4'">297mm</xsl:when> + <xsl:when test="$paper.type = 'A5'">210mm</xsl:when> + <xsl:when test="$paper.type = 'A6'">148mm</xsl:when> + <xsl:when test="$paper.type = 'A7'">105mm</xsl:when> + <xsl:when test="$paper.type = 'A8'">74mm</xsl:when> + <xsl:when test="$paper.type = 'A9'">52mm</xsl:when> + <xsl:when test="$paper.type = 'A10'">37mm</xsl:when> + <xsl:when test="$paper.type = 'B0'">1414mm</xsl:when> + <xsl:when test="$paper.type = 'B1'">1000mm</xsl:when> + <xsl:when test="$paper.type = 'B2'">707mm</xsl:when> + <xsl:when test="$paper.type = 'B3'">500mm</xsl:when> + <xsl:when test="$paper.type = 'B4'">353mm</xsl:when> + <xsl:when test="$paper.type = 'B5'">250mm</xsl:when> + <xsl:when test="$paper.type = 'B6'">176mm</xsl:when> + <xsl:when test="$paper.type = 'B7'">125mm</xsl:when> + <xsl:when test="$paper.type = 'B8'">88mm</xsl:when> + <xsl:when test="$paper.type = 'B9'">62mm</xsl:when> + <xsl:when test="$paper.type = 'B10'">44mm</xsl:when> + <xsl:when test="$paper.type = 'C0'">1297mm</xsl:when> + <xsl:when test="$paper.type = 'C1'">917mm</xsl:when> + <xsl:when test="$paper.type = 'C2'">648mm</xsl:when> + <xsl:when test="$paper.type = 'C3'">458mm</xsl:when> + <xsl:when test="$paper.type = 'C4'">324mm</xsl:when> + <xsl:when test="$paper.type = 'C5'">229mm</xsl:when> + <xsl:when test="$paper.type = 'C6'">162mm</xsl:when> + <xsl:when test="$paper.type = 'C7'">114mm</xsl:when> + <xsl:when test="$paper.type = 'C8'">81mm</xsl:when> + <xsl:when test="$paper.type = 'C9'">57mm</xsl:when> + <xsl:when test="$paper.type = 'C10'">40mm</xsl:when> + <xsl:otherwise>11in</xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The portrait page height is the length of the long +edge of the physical page. + + + + + + + +page.margin.bottom + + + +page.margin.bottom +The bottom margin of the page + + + +<xsl:param name="page.margin.bottom">0.5in</xsl:param> + + +Description + +The bottom page margin is the distance from the bottom of the region-after +to the physical bottom of the page. + + + + + + + +page.margin.inner + + + +page.margin.inner +The inner page margin + + + +<xsl:param name="page.margin.inner"> + <xsl:choose> + <xsl:when test="$double.sided != 0">1.25in</xsl:when> + <xsl:otherwise>1in</xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The inner page margin is the distance from binding edge of the +page to the first column of text. In the left-to-right, top-to-bottom writing +direction, this is the left margin of recto pages. +The inner and outer margins are usually the same unless the output +is double-sided. + + + + + + + +page.margin.outer + + + +page.margin.outer +The outer page margin + + + +<xsl:param name="page.margin.outer"> + <xsl:choose> + <xsl:when test="$double.sided != 0">0.75in</xsl:when> + <xsl:otherwise>1in</xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The outer page margin is the distance from non-binding edge of the +page to the last column of text. In the left-to-right, top-to-bottom writing +direction, this is the right margin of recto pages. +The inner and outer margins are usually the same unless the output +is double-sided. + + + + + + + +page.margin.top + + + +page.margin.top +The top margin of the page + + + +<xsl:param name="page.margin.top">0in</xsl:param> + + +Description + +The top page margin is the distance from the physical top of the +page to the top of the region-before. + + + + + + +page.orientation + + + +page.orientation +Select the page orientation + + + +<xsl:param name="page.orientation" + select="'portrait'"/> + + +Description + +In portrait orientation, the short edge is horizontal; in +landscape orientation, it is vertical. + + + + + + + +page.width + + + +page.width +The width of the physical page + + + +<xsl:param name="page.width"> + <xsl:choose> + <xsl:when test="$page.orientation = 'portrait'"> + <xsl:value-of select="$page.width.portrait"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$page.height.portrait"/> + </xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The page width is generally calculated from the +paper.type and page.orientation. + + + + + + + +page.width.portrait + + + +page.width.portrait +Specify the physical size of the short edge of the page + + + +<xsl:param name="page.width.portrait"> + <xsl:choose> + <xsl:when test="$paper.type = 'USletter'">8.5in</xsl:when> + <xsl:when test="$paper.type = '4A0'">1682mm</xsl:when> + <xsl:when test="$paper.type = '2A0'">1189mm</xsl:when> + <xsl:when test="$paper.type = 'A0'">841mm</xsl:when> + <xsl:when test="$paper.type = 'A1'">594mm</xsl:when> + <xsl:when test="$paper.type = 'A2'">420mm</xsl:when> + <xsl:when test="$paper.type = 'A3'">297mm</xsl:when> + <xsl:when test="$paper.type = 'A4'">210mm</xsl:when> + <xsl:when test="$paper.type = 'A5'">148mm</xsl:when> + <xsl:when test="$paper.type = 'A6'">105mm</xsl:when> + <xsl:when test="$paper.type = 'A7'">74mm</xsl:when> + <xsl:when test="$paper.type = 'A8'">52mm</xsl:when> + <xsl:when test="$paper.type = 'A9'">37mm</xsl:when> + <xsl:when test="$paper.type = 'A10'">26mm</xsl:when> + <xsl:when test="$paper.type = 'B0'">1000mm</xsl:when> + <xsl:when test="$paper.type = 'B1'">707mm</xsl:when> + <xsl:when test="$paper.type = 'B2'">500mm</xsl:when> + <xsl:when test="$paper.type = 'B3'">353mm</xsl:when> + <xsl:when test="$paper.type = 'B4'">250mm</xsl:when> + <xsl:when test="$paper.type = 'B5'">176mm</xsl:when> + <xsl:when test="$paper.type = 'B6'">125mm</xsl:when> + <xsl:when test="$paper.type = 'B7'">88mm</xsl:when> + <xsl:when test="$paper.type = 'B8'">62mm</xsl:when> + <xsl:when test="$paper.type = 'B9'">44mm</xsl:when> + <xsl:when test="$paper.type = 'B10'">31mm</xsl:when> + <xsl:when test="$paper.type = 'C0'">917mm</xsl:when> + <xsl:when test="$paper.type = 'C1'">648mm</xsl:when> + <xsl:when test="$paper.type = 'C2'">458mm</xsl:when> + <xsl:when test="$paper.type = 'C3'">324mm</xsl:when> + <xsl:when test="$paper.type = 'C4'">229mm</xsl:when> + <xsl:when test="$paper.type = 'C5'">162mm</xsl:when> + <xsl:when test="$paper.type = 'C6'">114mm</xsl:when> + <xsl:when test="$paper.type = 'C7'">81mm</xsl:when> + <xsl:when test="$paper.type = 'C8'">57mm</xsl:when> + <xsl:when test="$paper.type = 'C9'">40mm</xsl:when> + <xsl:when test="$paper.type = 'C10'">28mm</xsl:when> + <xsl:otherwise>8.5in</xsl:otherwise> + </xsl:choose> +</xsl:param> + + +Description + +The portrait page width is the length of the short +edge of the physical page. + + + + + + + +paper.type + + + +paper.type +Select the paper type + + + +<xsl:param name="paper.type" + select="'USletter'"/> + + +Description + +The paper type is a convenient way to specify the paper size. +The list of known paper sizes includes USletter and most of the A, +B, and C sizes. See page.width.portrait, for example. + + + + + + + +double.sided + + + +double.sided +Is the document to be printed double sided? + + + +<xsl:param name="double.sided" + select="'0'"/> + + +Description + +Double-sided documents are printed with a slightly wider margin +on the binding edge of the page. + +FIXME: The current set of parameters does not take writing direction +into account. + + + + + + +body.margin.bottom + + + +body.margin.bottom +The bottom margin of the body text + + + +<xsl:param name="body.margin.bottom">0.5in</xsl:param> + + +Description + +The body bottom margin is the distance from the last line of text +in the page body to the bottom of the region-after. + + + + + + + +body.margin.top + + + +body.margin.top +To specify the size of the top margin of a page + + + +<xsl:param name="body.margin.top">1in</xsl:param> + + +Description + +The body top margin is the distance from the top of the region-before +to the first line of text in the page body. + + + + + + + +alignment + + + +alignment +Specify the default text alignment + + + +<xsl:param name="alignment">justify</xsl:param> + + +Description + +The default text alignment is used for most body text. + + + + + + + +hyphenate + + + +hyphenate +Specify hyphenation behavior + + + +<xsl:param name="hyphenate">true</xsl:param> + + +Description + +If true, words may be hyphenated. Otherwise, they may not. + + + + + + + +line-height +string + + +line-height +Specify the line-height property + + + +<xsl:param name="line-height" + select="'normal'"/> + + +Description + +Sets the line-height property. + + + + + + +column.count + + + +column.count +Specifies the number of columns of text on the page + + + +<xsl:param name="column.count" + select="'1'"/> + + +Description + +The specified number of columns of text will appear on each page. + + + + + + + +column.count.of.index +integer + + +column.count.of.index +Number of columns in the index + + + +<xsl:param name="column.count.of.index" + select="$column.count"/> + + +Description + +This parameter specifies the number of columns on pages in the index. +The default is the same as the column.count. + + + + + + +region.after.extent + + + +region.after.extent +Specifies the height of the footer. + + + +<xsl:param name="region.after.extent" + select="'0.5in'"/> + + +Description + +The region after extent is the height of the area where footers +are printed. + + + + + + + +region.before.extent + + + +region.before.extent +Specifies the height of the header + + + +<xsl:param name="region.before.extent" + select="'0.5in'"/> + + +Description + +The region before extent is the height of the area where headers +are printed. + + + + + + + +default.units +list +cm +mm +in +pt +pc +px +em + + +default.units +Default units for an unqualified dimension + + + +<xsl:param name="default.units" + select="'pt'"/> + + +Description + +If an unqualified dimension is encountered (for example, in a +graphic width), the default-units will be used for the +units. Unqualified dimensions are not allowed in XSL Formatting Objects. + + + + + + + +normal.para.spacing +What space do you want between normal paragraphs + + + +<xsl:attribute-set name="normal.para.spacing"> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> +</xsl:attribute-set> + +Description +Specify the spacing required between normal paragraphs + + + + + +body.font.master + + + +body.font.master +Specifies the default point size for body text + + + +<xsl:param name="body.font.master">10</xsl:param> + + +Description + +The body font size is specified in two parameters +(body.font.master and body.font.size) +so that math can be performed on the font size by XSLT. + + + + + + + +body.font.size + + + +body.font.size +Specifies the default font size for body text + + + +<xsl:param name="body.font.size"> + <xsl:value-of select="$body.font.master"/><xsl:text>pt</xsl:text> +</xsl:param> + + +Description + +The body font size is specified in two parameters +(body.font.master and body.font.size) +so that math can be performed on the font size by XSLT. + + + + + + + +footnote.font.size + + + +footnote.font.size +The font size for footnotes + + + +<xsl:param name="footnote.font.size"> + <xsl:value-of select="$body.font.master * 0.8"/><xsl:text>pt</xsl:text> +</xsl:param> + + +Description + +The footnote font size is used for...footnotes! + + + + + + + +title.margin.left + + + +title.margin.left +Adjust the left margin for titles + + + +<xsl:param name="title.margin.left" + select="'-4pc'"/> + + +Description + +This parameter adjusts the left margin for titles. + + + + + + + +draft.watermark.image +uri + + +draft.watermark.image +The URI of the image to be used for draft watermarks + + + +<xsl:param name="draft.watermark.image" + select="'http://docbook.sourceforge.net/release/images/draft.png'"/> + + +Description + +The image to be used for draft watermarks. + + + + +
    + +Font Families + + +body.font.family + + + +body.font.family +The default font family for body text + + + +<xsl:param name="body.font.family">Times Roman</xsl:param> + + +Description + +The body font family is the default font used for text in the page body. + + + + + + + +dingbat.font.family + + + +dingbat.font.family +The font family for copyright, quotes, and other symbols + + + +<xsl:param name="dingbat.font.family">Times Roman</xsl:param> + + +Description + +The dingbat font family is used for dingbats. If it is defined +as the empty string, no font change is effected around dingbats. + + + + + + + +monospace.font.family + + + +monospace.font.family +The default font family for monospace environments + + + +<xsl:param name="monospace.font.family">Courier</xsl:param> + + +Description + +The monospace font family is used for verbatim environments +(program listings, screens, etc.). + + + + + + + +sans.font.family + + + +sans.font.family +The default sans-serif font family + + + +<xsl:param name="sans.font.family">Helvetica</xsl:param> + + +Description + +The default sans-serif font family. At the present, this isn't +actually used by the stylesheets. + + + + + + + +title.font.family + + + +title.font.family +The default font family for titles + + + +<xsl:param name="title.font.family">Helvetica</xsl:param> + + +Description + +The title font family is used for titles (chapter, section, figure, +etc.) + + + + + + + +Lists + + +list.block.spacing +What spacing do you want before lists? + + + +<xsl:attribute-set name="list.block.spacing"> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> +</xsl:attribute-set> + +Description +Specify the spacing required before a list. + + + + + +list.item.spacing +What space do you want between list items? + + + +<xsl:attribute-set name="list.item.spacing"> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> +</xsl:attribute-set> + +Description +Specify what spacing you want between each list item. + + + + + +compact.list.item.spacing +What space do you want between list items (when spacing=compact)? + + + +<xsl:attribute-set name="compact.list.item.spacing"> + <xsl:attribute name="space-before.optimum">0em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0em</xsl:attribute> + <xsl:attribute name="space-before.maximum">0.2em</xsl:attribute> +</xsl:attribute-set> + +Description +Specify what spacing you want between each list item when +spacing is +compact. + + + + + +Cross References + + +insert.xref.page.number +boolean + + +insert.xref.page.number +Turns page numbers in xrefs on and off + + + +<xsl:param name="insert.xref.page.number" + select="0"/> + + +Description + +When equal to 1, this parameter triggers generation of page +number citations after xrefs. + + + + + + + +xref.properties +FIXME: + + + +<xsl:attribute-set name="xref.properties"> + +</xsl:attribute-set> + +Description +FIXME: + + + + + +Property Sets + + +component.title.properties +Specify the styling for the title elements of a component. + + + +<xsl:attribute-set name="component.title.properties"> + <xsl:attribute name="space-before.optimum">2em</xsl:attribute> + <xsl:attribute name="space-before.minimum">1.8em</xsl:attribute> + <xsl:attribute name="space-before.maximum">2.2em</xsl:attribute> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="font-size">18pt</xsl:attribute> + <xsl:attribute name="space-after.optimum">1.5em</xsl:attribute> + <xsl:attribute name="space-after.minimum">1.3em</xsl:attribute> + <xsl:attribute name="space-after.maximum">1.8em</xsl:attribute> + <xsl:attribute name="hyphenate">false</xsl:attribute> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> +</xsl:attribute-set> + +Description + +A set of attributes are used to style the title of a +component (chapters, appendixes, articles, etc.). Components are usually +printed in the title.font.family. +Spacing before and after, font size etc are specified +using this parameter. + + + + + + +formal.object.properties +Properties associated with a formal object such as a figure, or other component that has a title + + + +<xsl:attribute-set name="formal.object.properties"> + <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.maximum">2em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-after.optimum">1em</xsl:attribute> + <xsl:attribute name="space-after.maximum">2em</xsl:attribute> +</xsl:attribute-set> + +Description +The styling for formal objects in docbook. Specify the spacing before and after the object. + + + + + +formal.title.properties +Style the title element of formal object such as a figure. + + + +<xsl:attribute-set name="formal.title.properties" + use-attribute-sets="normal.para.spacing"> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="font-size">12pt</xsl:attribute> + <xsl:attribute name="hyphenate">false</xsl:attribute> + <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.4em</xsl:attribute> + <xsl:attribute name="space-after.optimum">0.6em</xsl:attribute> + <xsl:attribute name="space-after.maximum">0.8em</xsl:attribute> +</xsl:attribute-set> + +Description +Specify how the title should be styled. Specify the font size and weight of the title of the formal object. + + + + + +informal.object.properties +Properties associated with a formal object such as a figure, or other component that has a title + + + +<xsl:attribute-set name="informal.object.properties"> + <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.maximum">2em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-after.optimum">1em</xsl:attribute> + <xsl:attribute name="space-after.maximum">2em</xsl:attribute> +</xsl:attribute-set> + +Description +The styling for informal objects in docbook. Specify the spacing before and after the object. + + + + + +monospace.verbatim.properties +What font and size do you want for monospaced content? + + + +<xsl:attribute-set name="monospace.verbatim.properties" + use-attribute-sets="verbatim.properties"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$monospace.font.family"/> + </xsl:attribute> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 0.9"/> + <xsl:text>pt</xsl:text> + </xsl:attribute> +</xsl:attribute-set> + +Description +Specify the font name and size you want for monospaced output + + + + + +verbatim.properties +FIXME: + + + +<xsl:attribute-set name="verbatim.properties"> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> +</xsl:attribute-set> + +Description +FIXME: + + + + + +Profiling + +Following parameters can be used for attribute value based +profiling of your document. For more info about profiling look at +http://docbook.sourceforge.net/projects/xsl/doc/tools/profiling.html. + + + +profile.arch +string + + +profile.arch +Target profile for arch +attribute + + + +<xsl:param name="profile.arch" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.condition +string + + +profile.condition +Target profile for condition +attribute + + + +<xsl:param name="profile.condition" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.conformance +string + + +profile.conformance +Target profile for conformance +attribute + + + +<xsl:param name="profile.conformance" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.lang +string + + +profile.lang +Target profile for lang +attribute + + + +<xsl:param name="profile.lang" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.os +string + + +profile.os +Target profile for os +attribute + + + +<xsl:param name="profile.os" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.revision +string + + +profile.revision +Target profile for revision +attribute + + + +<xsl:param name="profile.revision" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.revisionflag +string + + +profile.revisionflag +Target profile for revisionflag +attribute + + + +<xsl:param name="profile.revisionflag" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.role +string + + +profile.role +Target profile for role +attribute + + + +<xsl:param name="profile.role" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.security +string + + +profile.security +Target profile for security +attribute + + + +<xsl:param name="profile.security" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.userlevel +string + + +profile.userlevel +Target profile for userlevel +attribute + + + +<xsl:param name="profile.userlevel" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.vendor +string + + +profile.vendor +Target profile for vendor +attribute + + + +<xsl:param name="profile.vendor" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.attribute +string + + +profile.attribute +Name of user-specified profiling attribute + + + +<xsl:param name="profile.attribute" + select="''"/> + + +Description + +This parameter is used in conjuction with profile.value. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.value +string + + +profile.value +Target profile for user-specified attribute + + + +<xsl:param name="profile.value" + select="''"/> + + +Description + +When you are using this parameter you must also specify name of +profiling attribute with parameter profile.attribute. + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.separator +string + + +profile.separator +Separator character for compound profile values + + + +<xsl:param name="profile.separator" + select="';'"/> + + +Description + +Separator character for compound profile values. + + + + + + + + +The Stylesheet + +The param.xsl stylesheet is just a wrapper +around all these parameters. + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="src" + version="1.0"> + +<!-- This file is generated from param.xweb; do not edit this file! --> + +<!-- ******************************************************************** + $Id$ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://nwalsh.com/docbook/xsl/ for copyright + and other information. + + ******************************************************************** --> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</xsl:stylesheet> + + + +
    \ No newline at end of file diff --git a/rosdocs/xsl/fo/param.xsl b/rosdocs/xsl/fo/param.xsl new file mode 100644 index 0000000..9d0f431 --- /dev/null +++ b/rosdocs/xsl/fo/param.xsl @@ -0,0 +1,477 @@ + + + + + + + + + +images/ + + + + 14pt + bold + false + always + +justify + + + + +. + + + +0.5in +0.5in +0.5em +1em +2em + + +Times Roman +10 + + pt + + +0.5in + + +1in + + + + + + + + + + + + + + + + + + 0em + 0em + 0.2em + + + 2em + 1.8em + 2.2em + bold + 18pt + 1.5em + 1.3em + 1.8em + false + always + + + +Times Roman + + + + + + + + + pt + + + + 0.5em + 1em + 2em + 0.5em + 1em + 2em + + + + + + +figure before +example before +equation before +table before +procedure before + + + + + bold + 12pt + false + always + 0.4em + 0.6em + 0.8em + + + +kr +0 + + + + +/appendix toc +/article toc +book toc,figure,table,example,equation +/chapter toc +part toc +/preface toc +qandadiv toc +qandaset toc +reference toc +/section toc +set toc + + + + + + + +true + + 0.5em + 1em + 2em + 0.5em + 1em + 2em + + + + + + + + + + + + 1em + 0.8em + 1.2em + + + 1em + 0.8em + 1.2em + + + +Courier + + + + + + + pt + + + + + 1em + 0.8em + 1.2em + + + + + + + + + + + + + + 210mm + 11in + 8.5in + 2378mm + 1682mm + 1189mm + 841mm + 594mm + 420mm + 297mm + 210mm + 148mm + 105mm + 74mm + 52mm + 37mm + 1414mm + 1000mm + 707mm + 500mm + 353mm + 250mm + 176mm + 125mm + 88mm + 62mm + 44mm + 1297mm + 917mm + 648mm + 458mm + 324mm + 229mm + 162mm + 114mm + 81mm + 57mm + 40mm + 11in + + + +0.5in + + + + 1.25in + 1in + + + + + 0.75in + 1in + + + +0in + + + + + + + + + + + + + + + 8.5in + 1682mm + 1189mm + 841mm + 594mm + 420mm + 297mm + 210mm + 148mm + 105mm + 74mm + 52mm + 37mm + 26mm + 1000mm + 707mm + 500mm + 353mm + 250mm + 176mm + 125mm + 88mm + 62mm + 44mm + 31mm + 917mm + 648mm + 458mm + 324mm + 229mm + 162mm + 114mm + 81mm + 57mm + 40mm + 28mm + 8.5in + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Helvetica + + + + + + + + + + #E0E0E0 + + +1 + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + +Helvetica + + + + + + + + 0.5em + 1em + 2em + 0.5em + 1em + 2em + +2 + + + + + + + + + + + + + + + + + + + 0.8em + 1em + 1.2em + + + + + + + diff --git a/rosdocs/xsl/fo/param.xweb b/rosdocs/xsl/fo/param.xweb new file mode 100644 index 0000000..f7cd65f --- /dev/null +++ b/rosdocs/xsl/fo/param.xweb @@ -0,0 +1,519 @@ + +%param.ent; +]> + + +FO Parameter Reference + +$Id$ + + + Walsh + Norman + + + 1999 + 2000 + 2001 + Norman Walsh + + + +Introduction + +This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets. + +This reference describes each of the HTML Stylesheet parameters. +These are the easily customizable parts of the stylesheet. +If you want to specify an alternate value for one or more of these +parameters, you can do so in a driver stylesheet. + +For example, if you want to change the html.stylesheet +to reference.css, you might create a driver +stylesheet like this: + + + + + + reference.css + +]]> + +Naturally, you have to change the +href attribute on +<xsl:import> to point to +docbook.xsl on your system. (Or +chunk.xsl, if you're using chunking.) + +This is not intended to be user documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in how it +works. + +Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-) + + +Admonitions +&admon.graphics; +&admon.graphics.extension; +&admon.graphics.path; +&admonition.title.properties; +&admonition.properties; + + +Callouts +&callout.defaultcolumn; +&callout.graphics; +&callout.graphics.extension; +&callout.graphics.number.limit; +&callout.graphics.path; +&callout.unicode; +&callout.unicode.font; +&callout.unicode.number.limit; +&callout.unicode.start.character; +&callouts.extension; + + +ToC/LoT/Index Generation +&autotoc.label.separator; +&process.empty.source.toc; +&process.source.toc; +&generate.toc; +&generate.index; +&toc.section.depth; +&toc.indent.width; +&toc.margin.properties; + + + + + +Processor Extensions +&arbortext.extensions; +&fop.extensions; +&passivetex.extensions; +&tex.math.in.alt; +&tex.math.delims; +&xep.extensions; + + +Stylesheet Extensions +&linenumbering.everyNth; +&linenumbering.extension; +&linenumbering.separator; +&linenumbering.width; +&tablecolumns.extension; +&textinsert.extension; +&use.extensions; + + +Automatic labelling +&appendix.autolabel; +&chapter.autolabel; +&part.autolabel; +&preface.autolabel; +§ion.autolabel; +§ion.label.includes.component.label; +&label.from.part; + + +XSLT Processing +&rootid; + + +Meta/*Info +&make.single.year.ranges; +&make.year.ranges; +&author.othername.in.middle; + + +Reference Pages +&funcsynopsis.decoration; +&funcsynopsis.style; +&function.parens; +&refentry.generate.name; +&refentry.generate.title; +&refentry.xref.manvolnum; + + +Tables +&default.table.width; +&nominal.table.width; +&table.border.thickness; +&table.cell.padding; +&table.border.style; +&table.border.color; +&table.entry.padding; + + +QAndASet +&qandadiv.autolabel; +&qanda.inherit.numeration; + + +Bibliography +&biblioentry.item.separator; +&bibliography.collection; + + +Glossary +&glossterm.auto.link; +&firstterm.only.link; +&glossary.collection; + + +Miscellaneous +&graphic.default.extension; +&formal.procedures; +&formal.title.placement; +&runinhead.default.title.end.punct; +&runinhead.title.end.punct; +&show.comments; +&punct.honorific; +&segmentedlist.as.table; +&variablelist.as.blocks; +&blockquote.properties; +&ulink.show; +&ulink.footnotes; +&ulink.hyphenate; +&shade.verbatim; +&shade.verbatim.style; +&use.svg; + + +Pagination and General Styles + +
    Understanding XSL FO Margins + +In order for the parameters in this section to make sense, it is useful to +consider . + +
    + + + + +Figure showing page margins + +This figure shows the physical page with the various FO page regions +identified. + + +
    + +First, let's consider the regions on the page. + +The white region is the physical page. Its dimensions are determined by +the page.height and page.width +parameters. + +The yellow region is the region-body. The size and placement of +the region body is constrained by the dimensions labelled in the +figure. + +The pink region at the top of the page is the region-before. The +darker area inside the region-before is the header text. In XSL, the default +display alignment for the region-before is before, but +the DocBook stylesheets explicitly make it after. That's +why the darker area is at the bottom. + +The pink region at the bottom of the page is the region-after. +The darker area is the footer text. In XSL, the default display +alignment for the region-after is before (really!), +but the DocBook stylesheets explicitly make it +after. That's why the darker area is at the bottom. + +The dimensions in the figure are: + + +The page-master margin-top. + +The region-before extent. + +The region-body margin-top. + +The region-after extent. + +The page-master margin-bottom. + +The region-body margin-bottom. + +The sum of the page-master margin-left and the +region-body margin-left. In DocBook, the region-body margin-left is +zero by default, so this is simply the page-master region-left. + +The sum of the page-master margin-right and the +region-body margin-right. In DocBook, the region-body margin-right is +zero by default, so this is simply the page-master region-left. + + + +
    +
    + +&page.height; +&page.height.portrait; +&page.margin.bottom; +&page.margin.inner; +&page.margin.outer; +&page.margin.top; +&page.orientation; +&page.width; +&page.width.portrait; +&paper.type; +&double.sided; +&body.margin.bottom; +&body.margin.top; +&alignment; +&hyphenate; +&line-height; +&column.count; +&column.count.of.index; +®ion.after.extent; +®ion.before.extent; +&default.units; +&normal.para.spacing; +&body.font.master; +&body.font.size; +&footnote.font.size; +&title.margin.left; +&draft.watermark.image; +
    + +Font Families +&body.font.family; +&dingbat.font.family; +&monospace.font.family; +&sans.font.family; +&title.font.family; + + +Lists +&list.block.spacing; +&list.item.spacing; +&compact.list.item.spacing; + + +Cross References +&insert.xref.page.number; +&xref.properties; + + +Property Sets +&component.title.properties; +&formal.object.properties; +&formal.title.properties; +&informal.object.properties; +&monospace.verbatim.properties; +&verbatim.properties; + + +Profiling + +Following parameters can be used for attribute value based +profiling of your document. For more info about profiling look at +http://docbook.sourceforge.net/projects/xsl/doc/tools/profiling.html. + +&profile.arch; +&profile.condition; +&profile.conformance; +&profile.lang; +&profile.os; +&profile.revision; +&profile.revisionflag; +&profile.role; +&profile.security; +&profile.userlevel; +&profile.vendor; +&profile.attribute; +&profile.value; +&profile.separator; + + + + +The Stylesheet + +The param.xsl stylesheet is just a wrapper +around all these parameters. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/rosdocs/xsl/fo/passivetex.xsl b/rosdocs/xsl/fo/passivetex.xsl new file mode 100644 index 0000000..a8e14bf --- /dev/null +++ b/rosdocs/xsl/fo/passivetex.xsl @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/pi.xsl b/rosdocs/xsl/fo/pi.xsl new file mode 100644 index 0000000..77fb593 --- /dev/null +++ b/rosdocs/xsl/fo/pi.xsl @@ -0,0 +1,162 @@ + + + + + + + + + + + + + filename + + + + + + + + + + + + filename + + + + + + + + dir + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + No cmdsynopsis elements matched dbcmdlist PI, perhaps it's nested too deep? + + + +
    + + + +
    +
    + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +
    +
    + + + + + + No funcsynopsis elements matched dbfunclist PI, perhaps it's nested too deep? + + + +
    + + + +
    +
    + + + + diff --git a/rosdocs/xsl/fo/profile-docbook.xsl b/rosdocs/xsl/fo/profile-docbook.xsl new file mode 100644 index 0000000..d7a7290 --- /dev/null +++ b/rosdocs/xsl/fo/profile-docbook.xsl @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + encountered, but no template matches. + + + < + + > + + </ + + > + + + + + + Making + + pages on + + paper ( + + x + + ) + + + + + + + + + [could not find document title] + + + + + + + + + + + + + + + + + + + + ID ' + + ' not found in document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/qandaset.xsl b/rosdocs/xsl/fo/qandaset.xsl new file mode 100644 index 0000000..d4ccb4a --- /dev/null +++ b/rosdocs/xsl/fo/qandaset.xsl @@ -0,0 +1,230 @@ + + + + + +number + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/refentry.xsl b/rosdocs/xsl/fo/refentry.xsl new file mode 100644 index 0000000..dddefcc --- /dev/null +++ b/rosdocs/xsl/fo/refentry.xsl @@ -0,0 +1,299 @@ + + + + + + + + + + + + + + + + + + + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + + em-dash + + + + + + + + + + + + + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/sections.xsl b/rosdocs/xsl/fo/sections.xsl new file mode 100644 index 0000000..e98e7e5 --- /dev/null +++ b/rosdocs/xsl/fo/sections.xsl @@ -0,0 +1,357 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + end-on-even + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + 18 + 16 + 14 + 12 + 12 + 10 + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + 2 + + + + + + 2 + 3 + 4 + 5 + 6 + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/fo/synop.xsl b/rosdocs/xsl/fo/synop.xsl new file mode 100644 index 0000000..f315b43 --- /dev/null +++ b/rosdocs/xsl/fo/synop.xsl @@ -0,0 +1,898 @@ + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (void); + + + (); + + + + + + (...); + + + + + + + ( + + + + + + + + + + + , + + + ); + + + + + + + + + + + + + + + , + + + + + + + ; + + + + + ( + + ) + + + + +java + + + + + + + + + + + + + + process in + + + + + + + + + + + + + + + + + Unrecognized language on + + : + + + + + + + + + + + + &RE; + + + + + + + + + + extends + + + &RE;     + + + + implements + + + &RE;     + + + + throws + + +  {&RE; + + } + + + + + + + + + + + , + + + + + + + + + + +   + + + + + , + + + + + + + , + + + + + + + , + + + + + + +    + + ; + + + + + + +   + + + + +   + + + + + + + + + void  + + + + + + + + 0 + + ,&RE; + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ( + + + + ) + + &RE;    throws  + + + ; + + + + + + + + + + + : + + + &RE;     + + + + implements + + + &RE;     + + + + throws + + +  {&RE; + + } + + + + + + + + + + , + + + + + + +   + + + + + , + + + + + + + , + + + + + + + , + + + + + + +    + + ; + + + + + + +   + + + + +   + + + + + + + + + void  + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + &RE;    throws  + + + ; + + + + + + + + + interface + + + : + + + &RE;     + + + + implements + + + &RE;     + + + + throws + + +  {&RE; + + } + + + + + + + + + + , + + + + + + +   + + + + + , + + + + + + + , + + + + + + + , + + + + + + +    + + ; + + + + + + +   + + + + +   + + + + + + + + + void  + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + &RE;    raises( + + ) + + ; + + + + + + + + + package + + ;&RE; + + + @ISA = ( + + );&RE; + + + + + + + + + + + + + , + + + + + + +   + + + + + , + + + + + + + , + + + + + + + , + + + + + + +    + + ; + + + + + + +   + + + + +   + + + + + + + + + void  + + + + + + + + + , + + + + + + + + + + + + + + sub + + + { ... }; + + + + + + + diff --git a/rosdocs/xsl/fo/table.xsl b/rosdocs/xsl/fo/table.xsl new file mode 100644 index 0000000..5827f8b --- /dev/null +++ b/rosdocs/xsl/fo/table.xsl @@ -0,0 +1,876 @@ + + + + + + + + + + +$Id$ + +Walsh +Norman +19992000 +Norman Walsh + + +Formatting Object Table Reference + + +
    Introduction + +This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets. + +This is not intended to be user documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in how it +works. + +Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-) +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 100% + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No adjustColumnWidths function available. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + before + center + after + + + Unexpected valign value: + + , center used. + + center + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + : + + + + + + + + 0: + + + + + + + + + + + + + + + 0 + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + 1* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Calculate an XSL FO table column width specification from a +CALS table column width specification. + + +CALS expresses table column widths in the following basic +forms: + + + +99.99units, a fixed length specifier. + + +99.99, a fixed length specifier without any units. + + +99.99*, a relative length specifier. + + +99.99*+99.99units, a combination of both. + + + +The CALS units are points (pt), picas (pi), centimeters (cm), +millimeters (mm), and inches (in). These are the same units as XSL, +except that XSL abbreviates picas "pc" instead of "pi". If a length +specifier has no units, the CALS default unit (pt) is assumed. + +Relative length specifiers are represented in XSL with the +proportional-column-width() function. + +Here are some examples: + + + +"36pt" becomes "36pt" + + +"3pi" becomes "3pc" + + +"36" becomes "36pt" + + +"3*" becomes "proportional-column-width(3)" + + +"3*+2pi" becomes "proportional-column-width(3)+2pc" + + +"1*+2" becomes "proportional-column-width(1)+2pt" + + + + + + +colwidth + +The CALS column width specification. + + + + + + +The XSL column width specification. + + + + + 1* + + + + + + + + + + + proportional-column-width( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pc + pt + + + + + + +
    diff --git a/rosdocs/xsl/fo/titlepage.templates.xml b/rosdocs/xsl/fo/titlepage.templates.xml new file mode 100644 index 0000000..55f104e --- /dev/null +++ b/rosdocs/xsl/fo/titlepage.templates.xml @@ -0,0 +1,933 @@ + + + + + + + + + + + + +]> + + + + + + + + <subtitle fo:font-family="{$title.font.family}" + fo:text-align="center"/> + <corpauthor fo:text-align="center"/> + <authorgroup fo:text-align="center"/> + <author fo:text-align="center" + fo:font-size="&hsize2;" + fo:font-weight="bold"/> + <othercredit fo:text-align="center"/> + <releaseinfo fo:text-align="center"/> + <copyright fo:text-align="center"/> + <legalnotice/> + <pubdate fo:text-align="center"/> + <revision fo:text-align="center"/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="set" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + named-template="division.title" + param:node="ancestor-or-self::set[1]" + fo:text-align="center" + fo:font-size="&hsize5;" + fo:space-before="&hsize5space;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:font-family="{$title.font.family}" + fo:text-align="center"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage element="book" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + named-template="division.title" + param:node="ancestor-or-self::book[1]" + fo:text-align="center" + fo:font-size="&hsize5;" + fo:space-before="&hsize5space;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:text-align="center" + fo:font-size="&hsize4;" + fo:space-before="&hsize4space;" + fo:font-family="{$title.font.family}"/> + <corpauthor fo:font-size="&hsize3;" + fo:keep-with-next="always" + fo:space-before="2in"/> + <authorgroup fo:space-before="2in"/> + <author fo:font-size="&hsize3;" + fo:space-before="&hsize2space;" + fo:keep-with-next="always"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + <title + named-template="book.verso.title" + fo:font-size="&hsize2;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup named-template="verso.authorgroup"/> + <author/> + <othercredit/> + <pubdate fo:space-before="1em"/> + <copyright/> + <abstract/> + <legalnotice fo:font-size="8pt"/> + </t:titlepage-content> + + <t:titlepage-separator> + <fo:block break-after="page"/> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + <fo:block break-after="page"/> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="part" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + named-template="division.title" + param:node="ancestor-or-self::part[1]" + fo:text-align="center" + fo:font-size="&hsize5;" + fo:space-before="&hsize5space;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:text-align="center" + fo:font-size="&hsize4;" + fo:space-before="&hsize4space;" + fo:font-weight='bold' + fo:font-style='italic' + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="partintro" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + fo:text-align="center" + fo:font-size="&hsize3;" + fo:font-weight="bold" + fo:space-before="1em" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:text-align="center" + fo:font-size="&hsize2;" + fo:font-weight="bold" + fo:font-style="italic" + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="reference" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + named-template="division.title" + param:node="ancestor-or-self::reference[1]" + fo:text-align="center" + fo:font-size="&hsize5;" + fo:space-before="&hsize5space;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:font-family="{$title.font.family}" + fo:text-align="center"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage element="dedication" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="component.title" + param:node="ancestor-or-self::dedication[1]" + fo:margin-left="{$title.margin.left}" + fo:font-size="&hsize3;" + fo:font-family="{$title.font.family}" + fo:font-weight="bold"/> + <subtitle + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage element="preface" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="component.title" + param:node="ancestor-or-self::preface[1]" + fo:margin-left="{$title.margin.left}" + fo:font-size="&hsize3;" + fo:font-family="{$title.font.family}" + fo:font-weight="bold"/> + <subtitle + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage element="chapter" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + named-template="component.title" + param:node="ancestor-or-self::chapter[1]" + fo:margin-left="{$title.margin.left}" + fo:font-size="&hsize3;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:space-before="0.5em" + fo:margin-left="{$title.margin.left}" + fo:font-style="italic" + fo:font-size="&hsize2;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage element="appendix" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + named-template="component.title" + param:node="ancestor-or-self::appendix[1]" + fo:margin-left="{$title.margin.left}" + fo:font-size="&hsize3;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="section" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + fo:margin-left="{$title.margin.left}" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="sect1" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + fo:margin-left="{$title.margin.left}" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="sect2" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + fo:margin-left="{$title.margin.left}" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="sect3" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + fo:margin-left="{$title.margin.left}" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="sect4" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + fo:margin-left="{$title.margin.left}" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="sect5" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + fo:margin-left="{$title.margin.left}" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="simplesect" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + fo:margin-left="{$title.margin.left}" + fo:font-family="{$title.font.family}"/> + <subtitle + fo:font-family="{$title.font.family}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage element="bibliography" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="component.title" + param:node="ancestor-or-self::bibliography[1]" + fo:margin-left="{$title.margin.left}" + fo:font-size="&hsize3;" + fo:font-family="{$title.font.family}" + fo:font-weight="bold"/> + <subtitle + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage element="glossary" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="component.title" + param:node="ancestor-or-self::glossary[1]" + fo:margin-left="{$title.margin.left}" + fo:font-size="&hsize3;" + fo:font-family="{$title.font.family}" + fo:font-weight="bold"/> + <subtitle + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage element="index" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="component.title" + param:node="ancestor-or-self::index[1]" + param:pagewide="1" + fo:margin-left="{$title.margin.left}" + fo:font-size="&hsize3;" + fo:font-family="{$title.font.family}" + fo:font-weight="bold"/> + <subtitle + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage element="colophon" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="component.title" + param:node="ancestor-or-self::colophon[1]" + fo:margin-left="{$title.margin.left}" + fo:font-size="&hsize3;" + fo:font-family="{$title.font.family}" + fo:font-weight="bold"/> + <subtitle + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage element="table.of.contents" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="gentext" + param:key="'TableofContents'" + fo:space-after="1em" + fo:margin-left="{$title.margin.left}" + fo:font-size="&hsize3;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage element="list.of.tables" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="gentext" + param:key="'ListofTables'" + fo:space-after="1em" + fo:margin-left="{$title.margin.left}" + fo:font-size="&hsize3;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage element="list.of.figures" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="gentext" + param:key="'ListofFigures'" + fo:space-after="1em" + fo:margin-left="{$title.margin.left}" + fo:font-size="&hsize3;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage element="list.of.examples" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="gentext" + param:key="'ListofExamples'" + fo:space-after="1em" + fo:margin-left="{$title.margin.left}" + fo:font-size="&hsize3;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage element="list.of.equations" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="gentext" + param:key="'ListofEquations'" + fo:space-after="1em" + fo:margin-left="{$title.margin.left}" + fo:font-size="&hsize3;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage element="list.of.unknowns" wrapper="fo:block"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="gentext" + param:key="'ListofUnknown'" + fo:space-after="1em" + fo:margin-left="{$title.margin.left}" + fo:font-size="&hsize3;" + fo:font-weight="bold" + fo:font-family="{$title.font.family}"/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + +</t:templates> diff --git a/rosdocs/xsl/fo/titlepage.templates.xsl b/rosdocs/xsl/fo/titlepage.templates.xsl new file mode 100644 index 0000000..53c227b --- /dev/null +++ b/rosdocs/xsl/fo/titlepage.templates.xsl @@ -0,0 +1,2916 @@ +<?xml version="1.0" encoding="utf-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + +<!-- This stylesheet was created by template/titlepage.xsl; do not edit it by hand. --> + +<xsl:template name="article.titlepage.recto"> + <xsl:choose> + <xsl:when test="articleinfo/title"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/title"/> + </xsl:when> + <xsl:when test="artheader/title"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="articleinfo/subtitle"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/subtitle"/> + </xsl:when> + <xsl:when test="artheader/subtitle"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/corpauthor"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/corpauthor"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/authorgroup"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/authorgroup"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/author"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/author"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/othercredit"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/othercredit"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/releaseinfo"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/releaseinfo"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/copyright"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/copyright"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/legalnotice"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/legalnotice"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/pubdate"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/pubdate"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revision"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revision"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revhistory"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revhistory"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/abstract"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/abstract"/> +</xsl:template> + +<xsl:template name="article.titlepage.verso"> +</xsl:template> + +<xsl:template name="article.titlepage.separator"> +</xsl:template> + +<xsl:template name="article.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="article.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="article.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="article.titlepage.before.recto"/> + <xsl:call-template name="article.titlepage.recto"/> + <xsl:call-template name="article.titlepage.before.verso"/> + <xsl:call-template name="article.titlepage.verso"/> + <xsl:call-template name="article.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="article.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="article.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" text-align="center" keep-with-next="always" font-size="24.8832pt" font-weight="bold" font-family="{$title.font.family}"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::article[1]"/> +</xsl:call-template> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" font-family="{$title.font.family}" text-align="center"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" text-align="center"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" text-align="center"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" text-align="center" font-size="14.4pt" font-weight="bold"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" text-align="center"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" text-align="center"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" text-align="center"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" text-align="center"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" text-align="center"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="article.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="set.titlepage.recto"> + <xsl:choose> + <xsl:when test="setinfo/title"> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="setinfo/subtitle"> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/corpauthor"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/authorgroup"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/author"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/othercredit"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/releaseinfo"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/copyright"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/legalnotice"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/pubdate"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revision"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revhistory"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/abstract"/> +</xsl:template> + +<xsl:template name="set.titlepage.verso"> +</xsl:template> + +<xsl:template name="set.titlepage.separator"> +</xsl:template> + +<xsl:template name="set.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="set.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="set.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="set.titlepage.before.recto"/> + <xsl:call-template name="set.titlepage.recto"/> + <xsl:call-template name="set.titlepage.before.verso"/> + <xsl:call-template name="set.titlepage.verso"/> + <xsl:call-template name="set.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="set.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="set.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.font.family}"> +<xsl:call-template name="division.title"> +<xsl:with-param name="node" select="ancestor-or-self::set[1]"/> +</xsl:call-template> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style" font-family="{$title.font.family}" text-align="center"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="set.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="book.titlepage.recto"> + <xsl:choose> + <xsl:when test="bookinfo/title"> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="bookinfo/subtitle"> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/corpauthor"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/authorgroup"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/author"/> +</xsl:template> + +<xsl:template name="book.titlepage.verso"> + <xsl:choose> + <xsl:when test="bookinfo/title"> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/corpauthor"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/authorgroup"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/author"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/othercredit"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/pubdate"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/copyright"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/abstract"/> + <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/legalnotice"/> +</xsl:template> + +<xsl:template name="book.titlepage.separator"><fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" break-after="page"/> +</xsl:template> + +<xsl:template name="book.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="book.titlepage.before.verso"><fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" break-after="page"/> +</xsl:template> + +<xsl:template name="book.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="book.titlepage.before.recto"/> + <xsl:call-template name="book.titlepage.recto"/> + <xsl:call-template name="book.titlepage.before.verso"/> + <xsl:call-template name="book.titlepage.verso"/> + <xsl:call-template name="book.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="book.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="book.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="book.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.font.family}"> +<xsl:call-template name="division.title"> +<xsl:with-param name="node" select="ancestor-or-self::book[1]"/> +</xsl:call-template> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="book.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="20.736pt" space-before="15.552pt" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="book.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" font-size="17.28pt" keep-with-next="always" space-before="2in"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="book.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" space-before="2in"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="book.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" font-size="17.28pt" space-before="10.8pt" keep-with-next="always"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="title" mode="book.titlepage.verso.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" font-size="14.4pt" font-weight="bold" font-family="{$title.font.family}"> +<xsl:call-template name="book.verso.title"> +</xsl:call-template> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="book.titlepage.verso.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style"> +<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="book.titlepage.verso.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style"> +<xsl:call-template name="verso.authorgroup"> +</xsl:call-template> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="book.titlepage.verso.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style"> +<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="book.titlepage.verso.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style"> +<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="book.titlepage.verso.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" space-before="1em"> +<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="book.titlepage.verso.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style"> +<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="book.titlepage.verso.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style"> +<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="book.titlepage.verso.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" font-size="8pt"> +<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="part.titlepage.recto"> + <xsl:choose> + <xsl:when test="partinfo/title"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="partinfo/subtitle"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="part.titlepage.verso"> +</xsl:template> + +<xsl:template name="part.titlepage.separator"> +</xsl:template> + +<xsl:template name="part.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="part.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="part.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="part.titlepage.before.recto"/> + <xsl:call-template name="part.titlepage.recto"/> + <xsl:call-template name="part.titlepage.before.verso"/> + <xsl:call-template name="part.titlepage.verso"/> + <xsl:call-template name="part.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="part.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="part.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="part.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="part.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.font.family}"> +<xsl:call-template name="division.title"> +<xsl:with-param name="node" select="ancestor-or-self::part[1]"/> +</xsl:call-template> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="part.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="part.titlepage.recto.style" text-align="center" font-size="20.736pt" space-before="15.552pt" font-weight="bold" font-style="italic" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="partintro.titlepage.recto"> + <xsl:choose> + <xsl:when test="partintroinfo/title"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="partintroinfo/subtitle"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/corpauthor"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/authorgroup"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/author"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/othercredit"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/releaseinfo"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/copyright"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/legalnotice"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/pubdate"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revision"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revhistory"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/abstract"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/abstract"/> +</xsl:template> + +<xsl:template name="partintro.titlepage.verso"> +</xsl:template> + +<xsl:template name="partintro.titlepage.separator"> +</xsl:template> + +<xsl:template name="partintro.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="partintro.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="partintro.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="partintro.titlepage.before.recto"/> + <xsl:call-template name="partintro.titlepage.recto"/> + <xsl:call-template name="partintro.titlepage.before.verso"/> + <xsl:call-template name="partintro.titlepage.verso"/> + <xsl:call-template name="partintro.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="partintro.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="partintro.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style" text-align="center" font-size="17.28pt" font-weight="bold" space-before="1em" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style" text-align="center" font-size="14.4pt" font-weight="bold" font-style="italic" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="partintro.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="reference.titlepage.recto"> + <xsl:choose> + <xsl:when test="referenceinfo/title"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="referenceinfo/subtitle"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/corpauthor"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/authorgroup"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/author"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/othercredit"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/releaseinfo"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/copyright"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/legalnotice"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/pubdate"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revision"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revhistory"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/abstract"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/abstract"/> +</xsl:template> + +<xsl:template name="reference.titlepage.verso"> +</xsl:template> + +<xsl:template name="reference.titlepage.separator"> +</xsl:template> + +<xsl:template name="reference.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="reference.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="reference.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="reference.titlepage.before.recto"/> + <xsl:call-template name="reference.titlepage.recto"/> + <xsl:call-template name="reference.titlepage.before.verso"/> + <xsl:call-template name="reference.titlepage.verso"/> + <xsl:call-template name="reference.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="reference.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="reference.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.font.family}"> +<xsl:call-template name="division.title"> +<xsl:with-param name="node" select="ancestor-or-self::reference[1]"/> +</xsl:call-template> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style" font-family="{$title.font.family}" text-align="center"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="reference.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="dedication.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="dedication.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="17.28pt" font-family="{$title.font.family}" font-weight="bold"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::dedication[1]"/> +</xsl:call-template></fo:block> + <xsl:choose> + <xsl:when test="dedicationinfo/subtitle"> + <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="dedicationinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="dedication.titlepage.verso"> +</xsl:template> + +<xsl:template name="dedication.titlepage.separator"> +</xsl:template> + +<xsl:template name="dedication.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="dedication.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="dedication.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="dedication.titlepage.before.recto"/> + <xsl:call-template name="dedication.titlepage.recto"/> + <xsl:call-template name="dedication.titlepage.before.verso"/> + <xsl:call-template name="dedication.titlepage.verso"/> + <xsl:call-template name="dedication.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="dedication.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="dedication.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="dedication.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="dedication.titlepage.recto.style" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="dedication.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="preface.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="17.28pt" font-family="{$title.font.family}" font-weight="bold"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::preface[1]"/> +</xsl:call-template></fo:block> + <xsl:choose> + <xsl:when test="prefaceinfo/subtitle"> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/corpauthor"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/authorgroup"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/author"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/othercredit"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/releaseinfo"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/copyright"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/legalnotice"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/pubdate"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revision"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revhistory"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/abstract"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/abstract"/> +</xsl:template> + +<xsl:template name="preface.titlepage.verso"> +</xsl:template> + +<xsl:template name="preface.titlepage.separator"> +</xsl:template> + +<xsl:template name="preface.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="preface.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="preface.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="preface.titlepage.before.recto"/> + <xsl:call-template name="preface.titlepage.recto"/> + <xsl:call-template name="preface.titlepage.before.verso"/> + <xsl:call-template name="preface.titlepage.verso"/> + <xsl:call-template name="preface.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="preface.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="preface.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="preface.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="chapter.titlepage.recto"> + <xsl:choose> + <xsl:when test="chapterinfo/title"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="chapterinfo/subtitle"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/corpauthor"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/authorgroup"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/author"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/othercredit"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/releaseinfo"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/copyright"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/legalnotice"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/pubdate"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revision"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revhistory"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/abstract"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/abstract"/> +</xsl:template> + +<xsl:template name="chapter.titlepage.verso"> +</xsl:template> + +<xsl:template name="chapter.titlepage.separator"> +</xsl:template> + +<xsl:template name="chapter.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="chapter.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="chapter.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="chapter.titlepage.before.recto"/> + <xsl:call-template name="chapter.titlepage.recto"/> + <xsl:call-template name="chapter.titlepage.before.verso"/> + <xsl:call-template name="chapter.titlepage.verso"/> + <xsl:call-template name="chapter.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="chapter.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="chapter.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.font.family}"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::chapter[1]"/> +</xsl:call-template> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" margin-left="{$title.margin.left}" font-style="italic" font-size="14.4pt" font-weight="bold" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="chapter.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="appendix.titlepage.recto"> + <xsl:choose> + <xsl:when test="appendixinfo/title"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="appendixinfo/subtitle"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/corpauthor"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/authorgroup"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/author"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/othercredit"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/releaseinfo"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/copyright"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/legalnotice"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/pubdate"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revision"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revhistory"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/abstract"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/abstract"/> +</xsl:template> + +<xsl:template name="appendix.titlepage.verso"> +</xsl:template> + +<xsl:template name="appendix.titlepage.separator"> +</xsl:template> + +<xsl:template name="appendix.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="appendix.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="appendix.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="appendix.titlepage.before.recto"/> + <xsl:call-template name="appendix.titlepage.recto"/> + <xsl:call-template name="appendix.titlepage.before.verso"/> + <xsl:call-template name="appendix.titlepage.verso"/> + <xsl:call-template name="appendix.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="appendix.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="appendix.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.font.family}"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::appendix[1]"/> +</xsl:call-template> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="appendix.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="section.titlepage.recto"> + <xsl:choose> + <xsl:when test="sectioninfo/title"> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sectioninfo/subtitle"> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/corpauthor"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/authorgroup"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/author"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/othercredit"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/releaseinfo"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/copyright"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/legalnotice"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/pubdate"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revision"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revhistory"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/abstract"/> +</xsl:template> + +<xsl:template name="section.titlepage.verso"> +</xsl:template> + +<xsl:template name="section.titlepage.separator"> +</xsl:template> + +<xsl:template name="section.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="section.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="section.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="section.titlepage.before.recto"/> + <xsl:call-template name="section.titlepage.recto"/> + <xsl:call-template name="section.titlepage.before.verso"/> + <xsl:call-template name="section.titlepage.verso"/> + <xsl:call-template name="section.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="section.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="section.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="section.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="sect1.titlepage.recto"> + <xsl:choose> + <xsl:when test="sect1info/title"> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sect1info/subtitle"> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/corpauthor"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/authorgroup"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/author"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/othercredit"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/releaseinfo"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/copyright"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/legalnotice"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/pubdate"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revision"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revhistory"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/abstract"/> +</xsl:template> + +<xsl:template name="sect1.titlepage.verso"> +</xsl:template> + +<xsl:template name="sect1.titlepage.separator"> +</xsl:template> + +<xsl:template name="sect1.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="sect1.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="sect1.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="sect1.titlepage.before.recto"/> + <xsl:call-template name="sect1.titlepage.recto"/> + <xsl:call-template name="sect1.titlepage.before.verso"/> + <xsl:call-template name="sect1.titlepage.verso"/> + <xsl:call-template name="sect1.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="sect1.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="sect1.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="sect1.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="sect2.titlepage.recto"> + <xsl:choose> + <xsl:when test="sect2info/title"> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sect2info/subtitle"> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/corpauthor"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/authorgroup"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/author"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/othercredit"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/releaseinfo"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/copyright"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/legalnotice"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/pubdate"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revision"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revhistory"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/abstract"/> +</xsl:template> + +<xsl:template name="sect2.titlepage.verso"> +</xsl:template> + +<xsl:template name="sect2.titlepage.separator"> +</xsl:template> + +<xsl:template name="sect2.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="sect2.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="sect2.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="sect2.titlepage.before.recto"/> + <xsl:call-template name="sect2.titlepage.recto"/> + <xsl:call-template name="sect2.titlepage.before.verso"/> + <xsl:call-template name="sect2.titlepage.verso"/> + <xsl:call-template name="sect2.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="sect2.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="sect2.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="sect2.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="sect3.titlepage.recto"> + <xsl:choose> + <xsl:when test="sect3info/title"> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sect3info/subtitle"> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/corpauthor"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/authorgroup"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/author"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/othercredit"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/releaseinfo"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/copyright"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/legalnotice"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/pubdate"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revision"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revhistory"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/abstract"/> +</xsl:template> + +<xsl:template name="sect3.titlepage.verso"> +</xsl:template> + +<xsl:template name="sect3.titlepage.separator"> +</xsl:template> + +<xsl:template name="sect3.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="sect3.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="sect3.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="sect3.titlepage.before.recto"/> + <xsl:call-template name="sect3.titlepage.recto"/> + <xsl:call-template name="sect3.titlepage.before.verso"/> + <xsl:call-template name="sect3.titlepage.verso"/> + <xsl:call-template name="sect3.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="sect3.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="sect3.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="sect3.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="sect4.titlepage.recto"> + <xsl:choose> + <xsl:when test="sect4info/title"> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sect4info/subtitle"> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/corpauthor"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/authorgroup"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/author"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/othercredit"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/releaseinfo"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/copyright"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/legalnotice"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/pubdate"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revision"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revhistory"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/abstract"/> +</xsl:template> + +<xsl:template name="sect4.titlepage.verso"> +</xsl:template> + +<xsl:template name="sect4.titlepage.separator"> +</xsl:template> + +<xsl:template name="sect4.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="sect4.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="sect4.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="sect4.titlepage.before.recto"/> + <xsl:call-template name="sect4.titlepage.recto"/> + <xsl:call-template name="sect4.titlepage.before.verso"/> + <xsl:call-template name="sect4.titlepage.verso"/> + <xsl:call-template name="sect4.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="sect4.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="sect4.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="sect4.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="sect5.titlepage.recto"> + <xsl:choose> + <xsl:when test="sect5info/title"> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sect5info/subtitle"> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/corpauthor"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/authorgroup"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/author"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/othercredit"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/releaseinfo"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/copyright"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/legalnotice"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/pubdate"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revision"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revhistory"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/abstract"/> +</xsl:template> + +<xsl:template name="sect5.titlepage.verso"> +</xsl:template> + +<xsl:template name="sect5.titlepage.separator"> +</xsl:template> + +<xsl:template name="sect5.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="sect5.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="sect5.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="sect5.titlepage.before.recto"/> + <xsl:call-template name="sect5.titlepage.recto"/> + <xsl:call-template name="sect5.titlepage.before.verso"/> + <xsl:call-template name="sect5.titlepage.verso"/> + <xsl:call-template name="sect5.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="sect5.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="sect5.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="sect5.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="simplesect.titlepage.recto"> + <xsl:choose> + <xsl:when test="simplesectinfo/title"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="simplesectinfo/subtitle"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/corpauthor"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/authorgroup"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/author"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/othercredit"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/releaseinfo"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/copyright"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/legalnotice"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/pubdate"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revision"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revhistory"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/abstract"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/abstract"/> +</xsl:template> + +<xsl:template name="simplesect.titlepage.verso"> +</xsl:template> + +<xsl:template name="simplesect.titlepage.separator"> +</xsl:template> + +<xsl:template name="simplesect.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="simplesect.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="simplesect.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="simplesect.titlepage.before.recto"/> + <xsl:call-template name="simplesect.titlepage.recto"/> + <xsl:call-template name="simplesect.titlepage.before.verso"/> + <xsl:call-template name="simplesect.titlepage.verso"/> + <xsl:call-template name="simplesect.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="simplesect.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="simplesect.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="corpauthor" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="authorgroup" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="author" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="releaseinfo" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="copyright" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="legalnotice" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="pubdate" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revision" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="revhistory" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template match="abstract" mode="simplesect.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="bibliography.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliography.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="17.28pt" font-family="{$title.font.family}" font-weight="bold"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::bibliography[1]"/> +</xsl:call-template></fo:block> + <xsl:choose> + <xsl:when test="bibliographyinfo/subtitle"> + <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="bibliographyinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="bibliography.titlepage.verso"> +</xsl:template> + +<xsl:template name="bibliography.titlepage.separator"> +</xsl:template> + +<xsl:template name="bibliography.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="bibliography.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="bibliography.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="bibliography.titlepage.before.recto"/> + <xsl:call-template name="bibliography.titlepage.recto"/> + <xsl:call-template name="bibliography.titlepage.before.verso"/> + <xsl:call-template name="bibliography.titlepage.verso"/> + <xsl:call-template name="bibliography.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="bibliography.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="bibliography.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="bibliography.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliography.titlepage.recto.style" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="bibliography.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="glossary.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossary.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="17.28pt" font-family="{$title.font.family}" font-weight="bold"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::glossary[1]"/> +</xsl:call-template></fo:block> + <xsl:choose> + <xsl:when test="glossaryinfo/subtitle"> + <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="glossaryinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="glossary.titlepage.verso"> +</xsl:template> + +<xsl:template name="glossary.titlepage.separator"> +</xsl:template> + +<xsl:template name="glossary.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="glossary.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="glossary.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="glossary.titlepage.before.recto"/> + <xsl:call-template name="glossary.titlepage.recto"/> + <xsl:call-template name="glossary.titlepage.before.verso"/> + <xsl:call-template name="glossary.titlepage.verso"/> + <xsl:call-template name="glossary.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="glossary.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="glossary.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="glossary.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossary.titlepage.recto.style" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="glossary.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="index.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="index.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="17.28pt" font-family="{$title.font.family}" font-weight="bold"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::index[1]"/> +<xsl:with-param name="pagewide" select="1"/> +</xsl:call-template></fo:block> + <xsl:choose> + <xsl:when test="indexinfo/subtitle"> + <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="indexinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="index.titlepage.verso"> +</xsl:template> + +<xsl:template name="index.titlepage.separator"> +</xsl:template> + +<xsl:template name="index.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="index.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="index.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="index.titlepage.before.recto"/> + <xsl:call-template name="index.titlepage.recto"/> + <xsl:call-template name="index.titlepage.before.verso"/> + <xsl:call-template name="index.titlepage.verso"/> + <xsl:call-template name="index.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="index.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="index.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="index.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="index.titlepage.recto.style" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="index.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="colophon.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="colophon.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="17.28pt" font-family="{$title.font.family}" font-weight="bold"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::colophon[1]"/> +</xsl:call-template></fo:block> + <xsl:choose> + <xsl:when test="colophoninfo/subtitle"> + <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="colophoninfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="colophon.titlepage.verso"> +</xsl:template> + +<xsl:template name="colophon.titlepage.separator"> +</xsl:template> + +<xsl:template name="colophon.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="colophon.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="colophon.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="colophon.titlepage.before.recto"/> + <xsl:call-template name="colophon.titlepage.recto"/> + <xsl:call-template name="colophon.titlepage.before.verso"/> + <xsl:call-template name="colophon.titlepage.verso"/> + <xsl:call-template name="colophon.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="colophon.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="colophon.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="colophon.titlepage.recto.auto.mode"> +<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="colophon.titlepage.recto.style" font-family="{$title.font.family}"> +<xsl:apply-templates select="." mode="colophon.titlepage.recto.mode"/> +</fo:block> +</xsl:template> + +<xsl:template name="table.of.contents.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="table.of.contents.titlepage.recto.style" space-after="1em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.font.family}"> +<xsl:call-template name="gentext"> +<xsl:with-param name="key" select="'TableofContents'"/> +</xsl:call-template></fo:block> +</xsl:template> + +<xsl:template name="table.of.contents.titlepage.verso"> +</xsl:template> + +<xsl:template name="table.of.contents.titlepage.separator"> +</xsl:template> + +<xsl:template name="table.of.contents.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="table.of.contents.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="table.of.contents.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="table.of.contents.titlepage.before.recto"/> + <xsl:call-template name="table.of.contents.titlepage.recto"/> + <xsl:call-template name="table.of.contents.titlepage.before.verso"/> + <xsl:call-template name="table.of.contents.titlepage.verso"/> + <xsl:call-template name="table.of.contents.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="table.of.contents.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="table.of.contents.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template name="list.of.tables.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.tables.titlepage.recto.style" space-after="1em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.font.family}"> +<xsl:call-template name="gentext"> +<xsl:with-param name="key" select="'ListofTables'"/> +</xsl:call-template></fo:block> +</xsl:template> + +<xsl:template name="list.of.tables.titlepage.verso"> +</xsl:template> + +<xsl:template name="list.of.tables.titlepage.separator"> +</xsl:template> + +<xsl:template name="list.of.tables.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="list.of.tables.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="list.of.tables.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="list.of.tables.titlepage.before.recto"/> + <xsl:call-template name="list.of.tables.titlepage.recto"/> + <xsl:call-template name="list.of.tables.titlepage.before.verso"/> + <xsl:call-template name="list.of.tables.titlepage.verso"/> + <xsl:call-template name="list.of.tables.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="list.of.tables.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="list.of.tables.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template name="list.of.figures.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.figures.titlepage.recto.style" space-after="1em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.font.family}"> +<xsl:call-template name="gentext"> +<xsl:with-param name="key" select="'ListofFigures'"/> +</xsl:call-template></fo:block> +</xsl:template> + +<xsl:template name="list.of.figures.titlepage.verso"> +</xsl:template> + +<xsl:template name="list.of.figures.titlepage.separator"> +</xsl:template> + +<xsl:template name="list.of.figures.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="list.of.figures.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="list.of.figures.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="list.of.figures.titlepage.before.recto"/> + <xsl:call-template name="list.of.figures.titlepage.recto"/> + <xsl:call-template name="list.of.figures.titlepage.before.verso"/> + <xsl:call-template name="list.of.figures.titlepage.verso"/> + <xsl:call-template name="list.of.figures.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="list.of.figures.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="list.of.figures.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template name="list.of.examples.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.examples.titlepage.recto.style" space-after="1em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.font.family}"> +<xsl:call-template name="gentext"> +<xsl:with-param name="key" select="'ListofExamples'"/> +</xsl:call-template></fo:block> +</xsl:template> + +<xsl:template name="list.of.examples.titlepage.verso"> +</xsl:template> + +<xsl:template name="list.of.examples.titlepage.separator"> +</xsl:template> + +<xsl:template name="list.of.examples.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="list.of.examples.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="list.of.examples.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="list.of.examples.titlepage.before.recto"/> + <xsl:call-template name="list.of.examples.titlepage.recto"/> + <xsl:call-template name="list.of.examples.titlepage.before.verso"/> + <xsl:call-template name="list.of.examples.titlepage.verso"/> + <xsl:call-template name="list.of.examples.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="list.of.examples.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="list.of.examples.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template name="list.of.equations.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.equations.titlepage.recto.style" space-after="1em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.font.family}"> +<xsl:call-template name="gentext"> +<xsl:with-param name="key" select="'ListofEquations'"/> +</xsl:call-template></fo:block> +</xsl:template> + +<xsl:template name="list.of.equations.titlepage.verso"> +</xsl:template> + +<xsl:template name="list.of.equations.titlepage.separator"> +</xsl:template> + +<xsl:template name="list.of.equations.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="list.of.equations.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="list.of.equations.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="list.of.equations.titlepage.before.recto"/> + <xsl:call-template name="list.of.equations.titlepage.recto"/> + <xsl:call-template name="list.of.equations.titlepage.before.verso"/> + <xsl:call-template name="list.of.equations.titlepage.verso"/> + <xsl:call-template name="list.of.equations.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="list.of.equations.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="list.of.equations.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template name="list.of.unknowns.titlepage.recto"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.unknowns.titlepage.recto.style" space-after="1em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.font.family}"> +<xsl:call-template name="gentext"> +<xsl:with-param name="key" select="'ListofUnknown'"/> +</xsl:call-template></fo:block> +</xsl:template> + +<xsl:template name="list.of.unknowns.titlepage.verso"> +</xsl:template> + +<xsl:template name="list.of.unknowns.titlepage.separator"> +</xsl:template> + +<xsl:template name="list.of.unknowns.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="list.of.unknowns.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="list.of.unknowns.titlepage"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <xsl:call-template name="list.of.unknowns.titlepage.before.recto"/> + <xsl:call-template name="list.of.unknowns.titlepage.recto"/> + <xsl:call-template name="list.of.unknowns.titlepage.before.verso"/> + <xsl:call-template name="list.of.unknowns.titlepage.verso"/> + <xsl:call-template name="list.of.unknowns.titlepage.separator"/> + </fo:block> +</xsl:template> + +<xsl:template match="*" mode="list.of.unknowns.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="list.of.unknowns.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +</xsl:stylesheet> \ No newline at end of file diff --git a/rosdocs/xsl/fo/titlepage.xsl b/rosdocs/xsl/fo/titlepage.xsl new file mode 100644 index 0000000..0131011 --- /dev/null +++ b/rosdocs/xsl/fo/titlepage.xsl @@ -0,0 +1,657 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:fo="http://www.w3.org/1999/XSL/Format" + version='1.0'> + +<!-- ******************************************************************** + $Id$ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://nwalsh.com/docbook/xsl/ for copyright + and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<xsl:attribute-set name="book.titlepage.recto.style"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$title.font.family"/> + </xsl:attribute> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="font-size">12pt</xsl:attribute> + <xsl:attribute name="text-align">center</xsl:attribute> +</xsl:attribute-set> + +<xsl:attribute-set name="book.titlepage.verso.style"> + <xsl:attribute name="font-size">10pt</xsl:attribute> +</xsl:attribute-set> + +<xsl:attribute-set name="article.titlepage.recto.style"/> +<xsl:attribute-set name="article.titlepage.verso.style"/> + +<xsl:attribute-set name="set.titlepage.recto.style"/> +<xsl:attribute-set name="set.titlepage.verso.style"/> + +<xsl:attribute-set name="part.titlepage.recto.style"> + <xsl:attribute name="text-align">center</xsl:attribute> +</xsl:attribute-set> + +<xsl:attribute-set name="part.titlepage.verso.style"/> + +<xsl:attribute-set name="partintro.titlepage.recto.style"/> +<xsl:attribute-set name="partintro.titlepage.verso.style"/> + +<xsl:attribute-set name="reference.titlepage.recto.style"/> +<xsl:attribute-set name="reference.titlepage.verso.style"/> + +<xsl:attribute-set name="dedication.titlepage.recto.style"/> +<xsl:attribute-set name="dedication.titlepage.verso.style"/> + +<xsl:attribute-set name="preface.titlepage.recto.style"/> +<xsl:attribute-set name="preface.titlepage.verso.style"/> + +<xsl:attribute-set name="chapter.titlepage.recto.style"/> +<xsl:attribute-set name="chapter.titlepage.verso.style"/> + +<xsl:attribute-set name="appendix.titlepage.recto.style"/> +<xsl:attribute-set name="appendix.titlepage.verso.style"/> + +<xsl:attribute-set name="bibliography.titlepage.recto.style"/> +<xsl:attribute-set name="bibliography.titlepage.verso.style"/> + +<xsl:attribute-set name="glossary.titlepage.recto.style"/> +<xsl:attribute-set name="glossary.titlepage.verso.style"/> + +<xsl:attribute-set name="index.titlepage.recto.style"/> +<xsl:attribute-set name="index.titlepage.verso.style"/> + +<xsl:attribute-set name="colophon.titlepage.recto.style"/> +<xsl:attribute-set name="colophon.titlepage.verso.style"/> + +<xsl:attribute-set name="section.titlepage.recto.style"> + <xsl:attribute name="keep-together">always</xsl:attribute> +</xsl:attribute-set> + +<xsl:attribute-set name="section.titlepage.verso.style"> + <xsl:attribute name="keep-together">always</xsl:attribute> + <xsl:attribute name="keep-with-next">always</xsl:attribute> +</xsl:attribute-set> + +<xsl:attribute-set name="sect1.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="sect1.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="sect2.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="sect2.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="sect3.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="sect3.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="sect4.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="sect4.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="sect5.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="sect5.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="simplesect.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="simplesect.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="table.of.contents.titlepage.recto.style"/> +<xsl:attribute-set name="table.of.contents.titlepage.verso.style"/> + +<xsl:attribute-set name="list.of.tables.titlepage.recto.style"/> +<xsl:attribute-set name="list.of.tables.contents.titlepage.verso.style"/> + +<xsl:attribute-set name="list.of.figures.titlepage.recto.style"/> +<xsl:attribute-set name="list.of.figures.contents.titlepage.verso.style"/> + +<xsl:attribute-set name="list.of.equations.titlepage.recto.style"/> +<xsl:attribute-set name="list.of.equations.contents.titlepage.verso.style"/> + +<xsl:attribute-set name="list.of.examples.titlepage.recto.style"/> +<xsl:attribute-set name="list.of.examples.contents.titlepage.verso.style"/> + +<xsl:attribute-set name="list.of.unknowns.titlepage.recto.style"/> +<xsl:attribute-set name="list.of.unknowns.contents.titlepage.verso.style"/> + +<!-- ==================================================================== --> + +<xsl:template match="*" mode="titlepage.mode"> + <!-- if an element isn't found in this mode, try the default mode --> + <xsl:apply-templates select="."/> +</xsl:template> + +<xsl:template match="abbrev" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="abstract" mode="titlepage.mode"> + <fo:block> + <xsl:if test="title"> <!-- FIXME: add param for using default title? --> + <xsl:call-template name="formal.object.heading"> + <xsl:with-param name="title"> + <xsl:apply-templates select="." mode="title.markup"/> + </xsl:with-param> + </xsl:call-template> + </xsl:if> + <xsl:apply-templates mode="titlepage.mode"/> + </fo:block> +</xsl:template> + +<xsl:template match="abstract/title" mode="titlepage.mode"/> + +<xsl:template match="abstract/title" mode="titlepage.abstract.title.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="address" mode="titlepage.mode"> + <!-- use the normal address handling code --> + <xsl:apply-templates select="."/> +</xsl:template> + +<xsl:template match="affiliation" mode="titlepage.mode"> + <fo:block> + <xsl:apply-templates mode="titlepage.mode"/> + </fo:block> +</xsl:template> + +<xsl:template match="artpagenums" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="author" mode="titlepage.mode"> + <fo:block> + <xsl:call-template name="anchor"/> + <xsl:call-template name="person.name"/> + <xsl:apply-templates select="affiliation" mode="titlepage.mode"/> + </fo:block> +</xsl:template> + +<xsl:template match="authorblurb" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="authorgroup" mode="titlepage.mode"> + <fo:wrapper> + <xsl:if test="@id"> + <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute> + </xsl:if> + <xsl:apply-templates mode="titlepage.mode"/> + </fo:wrapper> +</xsl:template> + +<xsl:template match="authorinitials" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="bibliomisc" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="bibliomset" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="collab" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="confgroup" mode="titlepage.mode"> + <fo:block> + <xsl:apply-templates mode="titlepage.mode"/> + </fo:block> +</xsl:template> + +<xsl:template match="confdates" mode="titlepage.mode"> + <fo:block> + <xsl:apply-templates mode="titlepage.mode"/> + </fo:block> +</xsl:template> + +<xsl:template match="conftitle" mode="titlepage.mode"> + <fo:block> + <xsl:apply-templates mode="titlepage.mode"/> + </fo:block> +</xsl:template> + +<xsl:template match="confnum" mode="titlepage.mode"> + <!-- suppress --> +</xsl:template> + +<xsl:template match="contractnum" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="contractsponsor" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="contrib" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="copyright" mode="titlepage.mode"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'Copyright'"/> + </xsl:call-template> + <xsl:call-template name="gentext.space"/> + <xsl:call-template name="dingbat"> + <xsl:with-param name="dingbat">copyright</xsl:with-param> + </xsl:call-template> + <xsl:call-template name="gentext.space"/> + <xsl:call-template name="copyright.years"> + <xsl:with-param name="years" select="year"/> + <xsl:with-param name="print.ranges" select="$make.year.ranges"/> + <xsl:with-param name="single.year.ranges" + select="$make.single.year.ranges"/> + </xsl:call-template> + <xsl:call-template name="gentext.space"/> + <xsl:apply-templates select="holder" mode="titlepage.mode"/> +</xsl:template> + + +<xsl:template match="year" mode="titlepage.mode"> + <xsl:apply-templates/><xsl:text>, </xsl:text> +</xsl:template> + +<xsl:template match="year[position()=last()]" mode="titlepage.mode"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="holder" mode="titlepage.mode"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="corpauthor" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="corpname" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="date" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="edition" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> + <xsl:call-template name="gentext.space"/> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'Edition'"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="editor" mode="titlepage.mode"> + <xsl:call-template name="person.name"/> +</xsl:template> + +<xsl:template match="editor[1]" priority="2" mode="titlepage.mode"> + <xsl:call-template name="gentext.edited.by"/> + <xsl:call-template name="gentext.space"/> + <xsl:call-template name="person.name"/> +</xsl:template> + +<xsl:template match="firstname" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="graphic" mode="titlepage.mode"> + <!-- use the normal graphic handling code --> + <xsl:apply-templates select="."/> +</xsl:template> + +<xsl:template match="honorific" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="isbn" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="issn" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="biblioid" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="itermset" mode="titlepage.mode"> + <!-- discard --> +</xsl:template> + +<xsl:template match="invpartnumber" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="issuenum" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="jobtitle" mode="titlepage.mode"> + <fo:block> + <xsl:apply-templates mode="titlepage.mode"/> + </fo:block> +</xsl:template> + +<xsl:template match="keywordset" mode="titlepage.mode"> +</xsl:template> + +<xsl:template match="legalnotice" mode="titlepage.mode"> + <fo:block> + <xsl:if test="title"> <!-- FIXME: add param for using default title? --> + <xsl:call-template name="formal.object.heading"> + <xsl:with-param name="title"> + <xsl:apply-templates select="." mode="title.markup"/> + </xsl:with-param> + </xsl:call-template> + </xsl:if> + <xsl:apply-templates mode="titlepage.mode"/> + </fo:block> +</xsl:template> + +<xsl:template match="legalnotice/title" mode="titlepage.mode"> +</xsl:template> + +<xsl:template match="legalnotice/title" mode="titlepage.legalnotice.title.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="lineage" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="modespec" mode="titlepage.mode"> + <!-- discard --> +</xsl:template> + +<xsl:template match="orgdiv" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="orgname" mode="titlepage.mode"> + <fo:block> + <xsl:apply-templates mode="titlepage.mode"/> + </fo:block> +</xsl:template> + +<xsl:template match="othercredit" mode="titlepage.mode"> + <xsl:variable name="contrib" select="string(contrib)"/> + <xsl:choose> + <xsl:when test="contrib"> + <xsl:if test="not(preceding-sibling::othercredit[string(contrib)=$contrib])"> + <fo:block> + <xsl:apply-templates mode="titlepage.mode" select="contrib"/> + <xsl:text>: </xsl:text> + <xsl:call-template name="person.name"/> + <xsl:apply-templates mode="titlepage.mode" select="affiliation"/> + <xsl:apply-templates select="following-sibling::othercredit[string(contrib)=$contrib]" mode="titlepage.othercredits"/> + </fo:block> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <fo:block><xsl:call-template name="person.name"/></fo:block> + <xsl:apply-templates mode="titlepage.mode" select="./affiliation"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="othercredit" mode="titlepage.othercredits"> + <xsl:text>, </xsl:text> + <xsl:call-template name="person.name"/> +</xsl:template> + +<xsl:template match="othername" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="pagenums" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="printhistory" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="productname" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="productnumber" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="pubdate" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="publisher" mode="titlepage.mode"> + <fo:block> + <xsl:apply-templates mode="titlepage.mode"/> + </fo:block> +</xsl:template> + +<xsl:template match="publishername" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="pubsnumber" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="releaseinfo" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="revhistory" mode="titlepage.mode"> + <fo:table table-layout="fixed"> + <fo:table-column column-number="1" column-width="33%"/> + <fo:table-column column-number="2" column-width="33%"/> + <fo:table-column column-number="3" column-width="33%"/> + <fo:table-body> + <fo:table-row> + <fo:table-cell number-columns-spanned="3"> + <fo:block> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'RevHistory'"/> + </xsl:call-template> + </fo:block> + </fo:table-cell> + </fo:table-row> + <xsl:apply-templates mode="titlepage.mode"/> + </fo:table-body> + </fo:table> +</xsl:template> + +<xsl:template match="revhistory/revision" mode="titlepage.mode"> + <xsl:variable name="revnumber" select=".//revnumber"/> + <xsl:variable name="revdate" select=".//date"/> + <xsl:variable name="revauthor" select=".//authorinitials"/> + <xsl:variable name="revremark" select=".//revremark"/> + <fo:table-row> + <fo:table-cell> + <fo:block> + <xsl:if test="$revnumber"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'Revision'"/> + </xsl:call-template> + <xsl:call-template name="gentext.space"/> + <xsl:apply-templates select="$revnumber[1]" mode="titlepage.mode"/> + </xsl:if> + </fo:block> + </fo:table-cell> + <fo:table-cell> + <fo:block> + <xsl:apply-templates select="$revdate[1]" mode="titlepage.mode"/> + </fo:block> + </fo:table-cell> + <fo:table-cell> + <fo:block> + <xsl:apply-templates select="$revauthor[1]" mode="titlepage.mode"/> + </fo:block> + </fo:table-cell> + </fo:table-row> + <xsl:if test="$revremark"> + <fo:table-row> + <fo:table-cell number-columns-spanned="3"> + <fo:block> + <xsl:apply-templates select="$revremark[1]" mode="titlepage.mode"/> + </fo:block> + </fo:table-cell> + </fo:table-row> + </xsl:if> +</xsl:template> + +<xsl:template match="revision/revnumber" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="revision/date" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="revision/authorinitials" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="revision/revremark" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="seriesvolnums" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="shortaffil" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subjectset" mode="titlepage.mode"> + <!-- discard --> +</xsl:template> + +<xsl:template match="subtitle" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="surname" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="titleabbrev" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="volumenum" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<!-- ==================================================================== --> +<!-- Book templates --> + +<!-- Note: these templates cannot use *.titlepage.recto.mode or + *.titlepage.verso.mode. If they do then subsequent use of a custom + titlepage.templates.xml file will not work correctly. --> + +<!-- book recto --> + +<xsl:template match="bookinfo/authorgroup" mode="titlepage.mode" priority="2"> + <fo:block> + <xsl:if test="@id"> + <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute> + </xsl:if> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'by'"/> + </xsl:call-template> + <xsl:text> </xsl:text> + <xsl:call-template name="person.name.list"/> + </fo:block> +</xsl:template> + +<!-- book verso --> + +<xsl:template name="book.verso.title"> + <fo:block> + <xsl:apply-templates mode="titlepage.mode"/> + + <xsl:if test="following-sibling::subtitle + |following-sibling::bookinfo/subtitle"> + <xsl:text>: </xsl:text> + + <xsl:apply-templates select="(following-sibling::subtitle + |following-sibling::bookinfo/subtitle)[1]" + mode="book.verso.subtitle.mode"/> + </xsl:if> + </fo:block> +</xsl:template> + +<xsl:template match="subtitle" mode="book.verso.subtitle.mode"> + <xsl:apply-templates mode="titlepage.mode"/> + <xsl:if test="following-sibling::subtitle"> + <xsl:text>: </xsl:text> + <xsl:apply-templates select="following-sibling::subtitle[1]" + mode="book.verso.subtitle.mode"/> + </xsl:if> +</xsl:template> + +<xsl:template name="verso.authorgroup"> + <fo:block> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'by'"/> + </xsl:call-template> + <xsl:text> </xsl:text> + <xsl:call-template name="person.name.list"/> + </fo:block> +</xsl:template> + +<xsl:template match="bookinfo/author" mode="titlepage.mode" priority="2"> + <fo:block> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'by'"/> + </xsl:call-template> + <xsl:text> </xsl:text> + <xsl:call-template name="person.name"/> + </fo:block> +</xsl:template> + +<xsl:template match="bookinfo/corpauthor" mode="titlepage.mode" priority="2"> + <fo:block> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'by'"/> + </xsl:call-template> + <xsl:text> </xsl:text> + <xsl:apply-templates/> + </fo:block> +</xsl:template> + +<xsl:template match="bookinfo/pubdate" mode="titlepage.mode" priority="2"> + <fo:block> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'published'"/> + </xsl:call-template> + <xsl:text> </xsl:text> + <xsl:apply-templates mode="titlepage.mode"/> + </fo:block> +</xsl:template> + +<!-- ==================================================================== --> + +</xsl:stylesheet> diff --git a/rosdocs/xsl/fo/toc.xsl b/rosdocs/xsl/fo/toc.xsl new file mode 100644 index 0000000..d913540 --- /dev/null +++ b/rosdocs/xsl/fo/toc.xsl @@ -0,0 +1,211 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:fo="http://www.w3.org/1999/XSL/Format" + version='1.0'> + +<!-- ******************************************************************** + $Id$ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://nwalsh.com/docbook/xsl/ for copyright + and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<!-- FIXME: in the contexts where <toc> can occur, I think it's always + the case that a page-sequence is required. Is that true? --> + +<xsl:template match="toc"> + <xsl:variable name="master-reference"> + <xsl:call-template name="select.pagemaster"/> + </xsl:variable> + + <xsl:choose> + <xsl:when test="*"> + <xsl:if test="$process.source.toc != 0"> + <!-- if the toc isn't empty, process it --> + <fo:page-sequence hyphenate="{$hyphenate}" + master-reference="{$master-reference}"> + <xsl:attribute name="language"> + <xsl:call-template name="l10n.language"/> + </xsl:attribute> + <xsl:if test="$double.sided != 0"> + <xsl:attribute name="force-page-count">end-on-even</xsl:attribute> + </xsl:if> + + <xsl:apply-templates select="." mode="running.head.mode"> + <xsl:with-param name="master-reference" select="$master-reference"/> + </xsl:apply-templates> + <xsl:apply-templates select="." mode="running.foot.mode"> + <xsl:with-param name="master-reference" select="$master-reference"/> + </xsl:apply-templates> + + <fo:flow flow-name="xsl-region-body"> + <fo:block xsl:use-attribute-sets="toc.margin.properties"> + <xsl:call-template name="table.of.contents.titlepage"/> + <xsl:apply-templates/> + </fo:block> + </fo:flow> + </fo:page-sequence> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <xsl:if test="$process.empty.source.toc != 0"> + <fo:page-sequence hyphenate="{$hyphenate}" + master-reference="{$master-reference}"> + <xsl:attribute name="language"> + <xsl:call-template name="l10n.language"/> + </xsl:attribute> + <xsl:if test="$double.sided != 0"> + <xsl:attribute name="force-page-count">end-on-even</xsl:attribute> + </xsl:if> + + <xsl:apply-templates select="." mode="running.head.mode"> + <xsl:with-param name="master-reference" select="$master-reference"/> + </xsl:apply-templates> + <xsl:apply-templates select="." mode="running.foot.mode"> + <xsl:with-param name="master-reference" select="$master-reference"/> + </xsl:apply-templates> + + <fo:flow flow-name="xsl-region-body"> + <xsl:choose> + <xsl:when test="parent::section + or parent::sect1 + or parent::sect2 + or parent::sect3 + or parent::sect4 + or parent::sect5"> + <xsl:apply-templates select="parent::*" + mode="toc.for.section"/> + </xsl:when> + <xsl:when test="parent::article"> + <xsl:apply-templates select="parent::*" + mode="toc.for.component"/> + </xsl:when> + <xsl:when test="parent::book + or parent::part"> + <xsl:apply-templates select="parent::*" + mode="toc.for.division"/> + </xsl:when> + <xsl:when test="parent::set"> + <xsl:apply-templates select="parent::*" + mode="toc.for.set"/> + </xsl:when> + <!-- there aren't any other contexts that allow toc --> + <xsl:otherwise> + <xsl:message> + <xsl:text>I don't know how to make a TOC in this context!</xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> + </fo:flow> + </fo:page-sequence> + </xsl:if> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="tocpart|tocchap + |toclevel1|toclevel2|toclevel3|toclevel4|toclevel5"> + <xsl:apply-templates select="tocentry"/> + <xsl:if test="tocchap|toclevel1|toclevel2|toclevel3|toclevel4|toclevel5"> + <fo:block start-indent="{count(ancestor::*)*2}pc"> + <xsl:apply-templates select="tocchap|toclevel1|toclevel2|toclevel3|toclevel4|toclevel5"/> + </fo:block> + </xsl:if> +</xsl:template> + +<xsl:template match="tocentry|tocfront|tocback"> + <fo:block text-align-last="justify" + end-indent="2pc" + last-line-end-indent="-2pc"> + <fo:inline keep-with-next.within-line="always"> + <xsl:choose> + <xsl:when test="@linkend"> + <fo:basic-link internal-destination="{@linkend}"> + <xsl:apply-templates/> + </fo:basic-link> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> + </fo:inline> + + <xsl:choose> + <xsl:when test="@linkend"> + <fo:inline keep-together.within-line="always"> + <xsl:text> </xsl:text> + <fo:leader leader-pattern="dots" + keep-with-next.within-line="always"/> + <xsl:text> </xsl:text> + <fo:basic-link internal-destination="{@linkend}"> + <xsl:choose> + <xsl:when test="@pagenum"> + <xsl:value-of select="@pagenum"/> + </xsl:when> + <xsl:otherwise> + <fo:page-number-citation ref-id="{@linkend}"/> + </xsl:otherwise> + </xsl:choose> + </fo:basic-link> + </fo:inline> + </xsl:when> + <xsl:when test="@pagenum"> + <fo:inline keep-together.within-line="always"> + <xsl:text> </xsl:text> + <fo:leader leader-pattern="dots" + keep-with-next.within-line="always"/> + <xsl:text> </xsl:text> + <xsl:value-of select="@pagenum"/> + </fo:inline> + </xsl:when> + <xsl:otherwise> + <!-- just the leaders, what else can I do? --> + <fo:inline keep-together.within-line="always"> + <xsl:text> </xsl:text> + <fo:leader leader-pattern="space" + keep-with-next.within-line="always"/> + </fo:inline> + </xsl:otherwise> + </xsl:choose> + </fo:block> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="*" mode="toc.for.section"> +<!-- + <xsl:call-template name="section.toc"/> +--> +</xsl:template> + +<xsl:template match="*" mode="toc.for.component"> + <xsl:call-template name="component.toc"/> +</xsl:template> + +<xsl:template match="*" mode="toc.for.section"> +<!-- + <xsl:call-template name="section.toc"/> +--> +</xsl:template> + +<xsl:template match="*" mode="toc.for.division"> + <xsl:call-template name="division.toc"/> +</xsl:template> + +<xsl:template match="*" mode="toc.for.set"> +<!-- + <xsl:call-template name="set.toc"/> +--> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="lot|lotentry"> +</xsl:template> + +</xsl:stylesheet> diff --git a/rosdocs/xsl/fo/verbatim.xsl b/rosdocs/xsl/fo/verbatim.xsl new file mode 100644 index 0000000..234e527 --- /dev/null +++ b/rosdocs/xsl/fo/verbatim.xsl @@ -0,0 +1,235 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:fo="http://www.w3.org/1999/XSL/Format" + xmlns:sverb="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.Verbatim" + xmlns:xverb="com.nwalsh.xalan.Verbatim" + xmlns:lxslt="http://xml.apache.org/xslt" + exclude-result-prefixes="sverb xverb lxslt" + version='1.0'> + +<!-- ******************************************************************** + $Id$ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://nwalsh.com/docbook/xsl/ for copyright + and other information. + + ******************************************************************** --> + +<lxslt:component prefix="xverb" + functions="numberLines"/> + +<xsl:template match="programlisting|screen|synopsis"> + <xsl:param name="suppress-numbers" select="'0'"/> + <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable> + + <xsl:variable name="content"> + <xsl:choose> + <xsl:when test="$suppress-numbers = '0' + and @linenumbering = 'numbered' + and $use.extensions != '0' + and $linenumbering.extension != '0'"> + <xsl:call-template name="number.rtf.lines"> + <xsl:with-param name="rtf"> + <xsl:apply-templates/> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <fo:block wrap-option='no-wrap' + white-space-collapse='false' + linefeed-treatment="preserve" + xsl:use-attribute-sets="monospace.verbatim.properties"> + <xsl:choose> + <xsl:when test="$shade.verbatim != 0"> + <fo:block space-before="0pt" space-after="0pt" + xsl:use-attribute-sets="shade.verbatim.style"> + <xsl:copy-of select="$content"/> + </fo:block> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$content"/> + </xsl:otherwise> + </xsl:choose> + </fo:block> +</xsl:template> + +<xsl:template match="literallayout"> + <xsl:param name="suppress-numbers" select="'0'"/> + + <xsl:variable name="raw.content"> + <xsl:choose> + <xsl:when test="$suppress-numbers = '0' + and @linenumbering = 'numbered' + and $use.extensions != '0' + and $linenumbering.extension != '0'"> + <xsl:call-template name="number.rtf.lines"> + <xsl:with-param name="rtf"> + <xsl:apply-templates/> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="content"> + <xsl:choose> + <xsl:when test="@class='monospaced' and $shade.verbatim != 0"> + <fo:block space-before="0pt" space-after="0pt" + xsl:use-attribute-sets="shade.verbatim.style"> + <xsl:copy-of select="$raw.content"/> + </fo:block> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$raw.content"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="@class='monospaced'"> + <fo:block wrap-option='no-wrap' + linefeed-treatment="preserve" + white-space-collapse='false' + xsl:use-attribute-sets="monospace.verbatim.properties"> + <xsl:copy-of select="$content"/> + </fo:block> + </xsl:when> + <xsl:otherwise> + <fo:block wrap-option='no-wrap' + linefeed-treatment="preserve" + white-space-collapse='false' + xsl:use-attribute-sets="verbatim.properties"> + <xsl:copy-of select="$content"/> + </fo:block> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="address"> + <xsl:param name="suppress-numbers" select="'0'"/> + + <xsl:variable name="content"> + <xsl:choose> + <xsl:when test="$suppress-numbers = '0' + and @linenumbering = 'numbered' + and $use.extensions != '0' + and $linenumbering.extension != '0'"> + <xsl:call-template name="number.rtf.lines"> + <xsl:with-param name="rtf"> + <xsl:apply-templates/> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <fo:block wrap-option='no-wrap' + white-space-collapse='false' + linefeed-treatment="preserve" + xsl:use-attribute-sets="verbatim.properties"> + <xsl:copy-of select="$content"/> + </fo:block> +</xsl:template> + +<xsl:template name="number.rtf.lines"> + <xsl:param name="rtf" select="''"/> + <xsl:param name="pi.context" select="."/> + + <!-- Save the global values --> + <xsl:variable name="global.linenumbering.everyNth" + select="$linenumbering.everyNth"/> + + <xsl:variable name="global.linenumbering.separator" + select="$linenumbering.separator"/> + + <xsl:variable name="global.linenumbering.width" + select="$linenumbering.width"/> + + <!-- Extract the <?dbfo linenumbering.*?> PI values --> + <xsl:variable name="pi.linenumbering.everyNth"> + <xsl:call-template name="dbfo-attribute"> + <xsl:with-param name="pis" + select="$pi.context/processing-instruction('dbfo')"/> + <xsl:with-param name="attribute" select="'linenumbering.everyNth'"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="pi.linenumbering.separator"> + <xsl:call-template name="dbfo-attribute"> + <xsl:with-param name="pis" + select="$pi.context/processing-instruction('dbfo')"/> + <xsl:with-param name="attribute" select="'linenumbering.separator'"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="pi.linenumbering.width"> + <xsl:call-template name="dbfo-attribute"> + <xsl:with-param name="pis" + select="$pi.context/processing-instruction('dbfo')"/> + <xsl:with-param name="attribute" select="'linenumbering.width'"/> + </xsl:call-template> + </xsl:variable> + + <!-- Construct the 'in-context' values --> + <xsl:variable name="linenumbering.everyNth"> + <xsl:choose> + <xsl:when test="$pi.linenumbering.everyNth != ''"> + <xsl:value-of select="$pi.linenumbering.everyNth"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$global.linenumbering.everyNth"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="linenumbering.separator"> + <xsl:choose> + <xsl:when test="$pi.linenumbering.separator != ''"> + <xsl:value-of select="$pi.linenumbering.separator"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$global.linenumbering.separator"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="linenumbering.width"> + <xsl:choose> + <xsl:when test="$pi.linenumbering.width != ''"> + <xsl:value-of select="$pi.linenumbering.width"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$global.linenumbering.width"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="function-available('sverb:numberLines')"> + <xsl:copy-of select="sverb:numberLines($rtf)"/> + </xsl:when> + <xsl:when test="function-available('xverb:numberLines')"> + <xsl:copy-of select="xverb:numberLines($rtf)"/> + </xsl:when> + <xsl:otherwise> + <xsl:message terminate="yes"> + <xsl:text>No numberLines function available.</xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +</xsl:stylesheet> diff --git a/rosdocs/xsl/fo/xep.xsl b/rosdocs/xsl/fo/xep.xsl new file mode 100644 index 0000000..322c4e6 --- /dev/null +++ b/rosdocs/xsl/fo/xep.xsl @@ -0,0 +1,118 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:fo="http://www.w3.org/1999/XSL/Format" + xmlns:rx="http://www.renderx.com/XSL/Extensions" + version='1.0'> + +<!-- ******************************************************************** + $Id$ + ******************************************************************** + (c) Stephane Bline Peregrine Systems 2001 + Implementation of xep extensions: + * Pdf bookmarks (based on the XEP 2.5 implementation) + * Document information (XEP 2.5 meta information extensions) + ******************************************************************** --> + +<!-- ******************************************************************** + Document information + In PDF bookmarks can't be used characters with code>255. This version of file + translates characters with code>255 back to ASCII. + + Pavel Zampach (zampach@volny.cz) + + ********************************************************************--> + +<!-- FIXME: Norm, I changed things so that the top-level element (book or set) + does not appear in the TOC. Is this the right thing? --> + +<xsl:template name="xep-document-information"> + <rx:meta-info> + <xsl:if test="//author[1]"> + <xsl:element name="rx:meta-field"> + <xsl:attribute name="name">author</xsl:attribute> + <xsl:attribute name="value"> + <xsl:call-template name="person.name"> + <xsl:with-param name="node" select="//author[1]"/> + </xsl:call-template> + </xsl:attribute> + </xsl:element> + </xsl:if> + + <xsl:variable name="title"> + <xsl:apply-templates select="/*[1]" mode="label.markup"/> + <xsl:apply-templates select="/*[1]" mode="title.markup"/> + </xsl:variable> + + <xsl:element name="rx:meta-field"> + <xsl:attribute name="name">title</xsl:attribute> + <xsl:attribute name="value"> + <xsl:value-of select="$title"/> + </xsl:attribute> + </xsl:element> + </rx:meta-info> +</xsl:template> + +<!-- ******************************************************************** + Pdf bookmarks + ******************************************************************** --> + +<xsl:template match="*" mode="xep.outline"> + <xsl:apply-templates select="*" mode="xep.outline"/> +</xsl:template> + +<xsl:template match="set|book|part|reference|preface|chapter|appendix|article + |glossary|bibliography|index|setindex + |refentry + |sect1|sect2|sect3|sect4|sect5|section" + mode="xep.outline"> + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + <xsl:variable name="bookmark-label"> + <xsl:apply-templates select="." mode="object.title.markup"/> + </xsl:variable> + + <!-- Put the root element bookmark at the same level as its children --> + <!-- If the object is a set or book, generate a bookmark for the toc --> + + <xsl:choose> + <xsl:when test="parent::*"> + <rx:bookmark internal-destination="{$id}"> + <rx:bookmark-label> + <xsl:value-of select="translate($bookmark-label, $a-dia, $a-asc)"/> + </rx:bookmark-label> + <xsl:apply-templates select="*" mode="xep.outline"/> + </rx:bookmark> + </xsl:when> + <xsl:otherwise> + <xsl:if test="$bookmark-label != ''"> + <rx:bookmark internal-destination="{$id}"> + <rx:bookmark-label> + <xsl:value-of select="translate($bookmark-label, $a-dia, $a-asc)"/> + </rx:bookmark-label> + </rx:bookmark> + </xsl:if> + + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + <xsl:if test="contains($toc.params, 'toc') + and set|book|part|reference|section|sect1|refentry + |article|bibliography|glossary + |appendix"> + <rx:bookmark internal-destination="toc...{$id}"> + <rx:bookmark-label> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'TableofContents'"/> + </xsl:call-template> + </rx:bookmark-label> + </rx:bookmark> + </xsl:if> + <xsl:apply-templates select="*" mode="xep.outline"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +</xsl:stylesheet> diff --git a/rosdocs/xsl/fo/xref.xsl b/rosdocs/xsl/fo/xref.xsl new file mode 100644 index 0000000..5cc8e07 --- /dev/null +++ b/rosdocs/xsl/fo/xref.xsl @@ -0,0 +1,503 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:fo="http://www.w3.org/1999/XSL/Format" + version='1.0'> + +<!-- ******************************************************************** + $Id$ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://nwalsh.com/docbook/xsl/ for copyright + and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<xsl:template match="anchor"> + <fo:wrapper id="{@id}"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="xref" name="xref"> + <xsl:variable name="targets" select="key('id',@linkend)"/> + <xsl:variable name="target" select="$targets[1]"/> + <xsl:variable name="refelem" select="local-name($target)"/> + + <xsl:call-template name="check.id.unique"> + <xsl:with-param name="linkend" select="@linkend"/> + </xsl:call-template> + + <xsl:choose> + <xsl:when test="$refelem=''"> + <xsl:message> + <xsl:text>XRef to nonexistent id: </xsl:text> + <xsl:value-of select="@linkend"/> + </xsl:message> + <xsl:text>???</xsl:text> + </xsl:when> + + <xsl:when test="$target/@xreflabel"> + <fo:basic-link internal-destination="{@linkend}" + xsl:use-attribute-sets="xref.properties"> + <xsl:call-template name="xref.xreflabel"> + <xsl:with-param name="target" select="$target"/> + </xsl:call-template> + </fo:basic-link> + </xsl:when> + + <xsl:otherwise> + <fo:basic-link internal-destination="{@linkend}" + xsl:use-attribute-sets="xref.properties"> + <xsl:choose> + <xsl:when test="@endterm"> + <xsl:variable name="etargets" select="key('id',@endterm)"/> + <xsl:variable name="etarget" select="$etargets[1]"/> + <xsl:choose> + <xsl:when test="count($etarget) = 0"> + <xsl:message> + <xsl:value-of select="count($etargets)"/> + <xsl:text>Endterm points to nonexistent ID: </xsl:text> + <xsl:value-of select="@endterm"/> + </xsl:message> + <xsl:text>???</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$etarget" mode="endterm"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + + <xsl:otherwise> + <xsl:apply-templates select="$target" mode="xref-to"/> + </xsl:otherwise> + </xsl:choose> + </fo:basic-link> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="*" mode="endterm"> + <!-- Process the children of the endterm element --> + <xsl:apply-templates select="child::node()"/> +</xsl:template> + +<!--- ==================================================================== --> + +<xsl:template match="*" mode="xref-to"> + <xsl:param name="target" select="."/> + <xsl:param name="refelem" select="local-name($target)"/> + + <xsl:message> + <xsl:text>Don't know what gentext to create for xref to: "</xsl:text> + <xsl:value-of select="$refelem"/> + <xsl:text>"</xsl:text> + </xsl:message> + <xsl:text>???</xsl:text> +</xsl:template> + +<xsl:template match="title" mode="xref-to"> + <!-- if you xref to a title, xref to the parent... --> + <xsl:choose> + <!-- FIXME: how reliable is this? --> + <xsl:when test="contains(local-name(parent::*), 'info')"> + <xsl:apply-templates select="parent::*[2]" mode="xref-to"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="parent::*" mode="xref-to"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="abstract|article|authorblurb|bibliodiv|bibliomset + |biblioset|blockquote|calloutlist|caution|colophon + |constraintdef|formalpara|glossdiv|important|indexdiv + |itemizedlist|legalnotice|lot|msg|msgexplan|msgmain + |msgrel|msgset|msgsub|note|orderedlist|partintro + |productionset|qandadiv|refsynopsisdiv|segmentedlist + |set|setindex|sidebar|tip|toc|variablelist|warning" + mode="xref-to"> + <!-- catch-all for things with (possibly optional) titles --> + <xsl:apply-templates select="." mode="object.xref.markup"/> +</xsl:template> + +<xsl:template match="author|editor|othercredit|personname" mode="xref-to"> + <xsl:call-template name="person.name"/> +</xsl:template> + +<xsl:template match="authorgroup" mode="xref-to"> + <xsl:call-template name="person.name.list"/> +</xsl:template> + +<xsl:template match="figure" mode="xref-to"> + <xsl:apply-templates select="." mode="object.xref.markup"/> +</xsl:template> + +<xsl:template match="example" mode="xref-to"> + <xsl:apply-templates select="." mode="object.xref.markup"/> +</xsl:template> + +<xsl:template match="table" mode="xref-to"> + <xsl:apply-templates select="." mode="object.xref.markup"/> +</xsl:template> + +<xsl:template match="equation" mode="xref-to"> + <xsl:apply-templates select="." mode="object.xref.markup"/> +</xsl:template> + +<xsl:template match="procedure" mode="xref-to"> + <xsl:apply-templates select="." mode="object.xref.markup"/> +</xsl:template> + +<xsl:template match="cmdsynopsis" mode="xref-to"> + <xsl:apply-templates select="(.//command)[1]" mode="xref"/> +</xsl:template> + +<xsl:template match="funcsynopsis" mode="xref-to"> + <xsl:apply-templates select="(.//function)[1]" mode="xref"/> +</xsl:template> + +<xsl:template match="dedication" mode="xref-to"> + <xsl:apply-templates select="." mode="object.xref.markup"/> +</xsl:template> + +<xsl:template match="preface" mode="xref-to"> + <xsl:apply-templates select="." mode="object.xref.markup"/> +</xsl:template> + +<xsl:template match="chapter" mode="xref-to"> + <xsl:apply-templates select="." mode="object.xref.markup"/> +</xsl:template> + +<xsl:template match="appendix" mode="xref-to"> + <xsl:apply-templates select="." mode="object.xref.markup"/> +</xsl:template> + +<xsl:template match="bibliography" mode="xref-to"> + <xsl:apply-templates select="." mode="object.xref.markup"/> +</xsl:template> + +<xsl:template match="biblioentry|bibliomixed" mode="xref-to"> + <!-- handles both biblioentry and bibliomixed --> + <xsl:text>[</xsl:text> + <xsl:choose> + <xsl:when test="string(.) = ''"> + <xsl:variable name="bib" select="document($bibliography.collection)"/> + <xsl:variable name="id" select="@id"/> + <xsl:variable name="entry" select="$bib/bibliography/*[@id=$id][1]"/> + <xsl:choose> + <xsl:when test="$entry"> + <xsl:choose> + <xsl:when test="local-name($entry/*[1]) = 'abbrev'"> + <xsl:apply-templates select="$entry/*[1]"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@id"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>No bibliography entry: </xsl:text> + <xsl:value-of select="$id"/> + <xsl:text> found in </xsl:text> + <xsl:value-of select="$bibliography.collection"/> + </xsl:message> + <xsl:value-of select="@id"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="local-name(*[1]) = 'abbrev'"> + <xsl:apply-templates select="*[1]"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@id"/> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + <xsl:text>]</xsl:text> +</xsl:template> + +<xsl:template match="glossary" mode="xref-to"> + <xsl:apply-templates select="." mode="object.xref.markup"/> +</xsl:template> + +<xsl:template match="index" mode="xref-to"> + <xsl:apply-templates select="." mode="object.xref.markup"/> +</xsl:template> + +<xsl:template match="listitem" mode="xref-to"> + <xsl:apply-templates select="." mode="object.xref.markup"/> +</xsl:template> + +<xsl:template match="section|simplesect + |sect1|sect2|sect3|sect4|sect5 + |refsect1|refsect2|refsect3" mode="xref-to"> + <xsl:apply-templates select="." mode="object.xref.markup"/> + <!-- What about "in Chapter X"? --> +</xsl:template> + +<xsl:template match="bridgehead" mode="xref-to"> + <xsl:apply-templates select="." mode="object.xref.markup"/> + <!-- What about "in Chapter X"? --> +</xsl:template> + +<xsl:template match="qandaset" mode="xref-to"> + <xsl:apply-templates select="." mode="object.xref.markup"/> +</xsl:template> + +<xsl:template match="qandadiv" mode="xref-to"> + <xsl:apply-templates select="." mode="object.xref.markup"/> +</xsl:template> + +<xsl:template match="qandaentry" mode="xref-to"> + <xsl:apply-templates select="question[1]" mode="object.xref.markup"/> +</xsl:template> + +<xsl:template match="question" mode="xref-to"> + <xsl:apply-templates select="." mode="object.xref.markup"/> +</xsl:template> + +<xsl:template match="answer" mode="xref-to"> + <xsl:apply-templates select="." mode="object.xref.markup"/> +</xsl:template> + +<xsl:template match="part" mode="xref-to"> + <xsl:apply-templates select="." mode="object.xref.markup"/> +</xsl:template> + +<xsl:template match="reference" mode="xref-to"> + <xsl:apply-templates select="." mode="object.xref.markup"/> +</xsl:template> + +<xsl:template match="refentry" mode="xref-to"> + <xsl:choose> + <xsl:when test="refmeta/refentrytitle"> + <xsl:apply-templates select="refmeta/refentrytitle"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="refnamediv/refname[1]"/> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates select="refmeta/manvolnum"/> +</xsl:template> + +<xsl:template match="refnamediv" mode="xref-to"> + <xsl:apply-templates select="refname[1]" mode="xref-to"/> +</xsl:template> + +<xsl:template match="refname" mode="xref-to"> + <xsl:apply-templates mode="xref-to"/> +</xsl:template> + +<xsl:template match="step" mode="xref-to"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'Step'"/> + </xsl:call-template> + <xsl:text> </xsl:text> + <xsl:apply-templates select="." mode="number"/> +</xsl:template> + +<xsl:template match="varlistentry" mode="xref-to"> + <xsl:apply-templates select="term[1]" mode="xref-to"/> +</xsl:template> + +<xsl:template match="varlistentry/term" mode="xref-to"> + <!-- to avoid the comma that will be generated if there are several terms --> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="co" mode="xref-to"> + <xsl:apply-templates select="." mode="callout-bug"/> +</xsl:template> + +<xsl:template match="book" mode="xref-to"> + <xsl:apply-templates select="." mode="object.xref.markup"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="link" name="link"> + <xsl:variable name="targets" select="key('id',@linkend)"/> + <xsl:variable name="target" select="$targets[1]"/> + + <xsl:call-template name="check.id.unique"> + <xsl:with-param name="linkend" select="@linkend"/> + </xsl:call-template> + + <fo:basic-link internal-destination="{@linkend}" + xsl:use-attribute-sets="xref.properties"> + <xsl:choose> + <xsl:when test="count(child::node()) > 0"> + <!-- If it has content, use it --> + <xsl:apply-templates/> + </xsl:when> + <xsl:otherwise> + <!-- else look for an endterm --> + <xsl:choose> + <xsl:when test="@endterm"> + <xsl:variable name="etargets" select="key('id',@endterm)"/> + <xsl:variable name="etarget" select="$etargets[1]"/> + <xsl:choose> + <xsl:when test="count($etarget) = 0"> + <xsl:message> + <xsl:value-of select="count($etargets)"/> + <xsl:text>Endterm points to nonexistent ID: </xsl:text> + <xsl:value-of select="@endterm"/> + </xsl:message> + <xsl:text>???</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$etarget" mode="endterm"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + + <xsl:otherwise> + <xsl:message> + <xsl:text>Link element has no content and no Endterm. </xsl:text> + <xsl:text>Nothing to show in the link to </xsl:text> + <xsl:value-of select="$target"/> + </xsl:message> + <xsl:text>???</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </fo:basic-link> +</xsl:template> + +<xsl:template match="ulink" name="ulink"> + <fo:basic-link external-destination="{@url}" + xsl:use-attribute-sets="xref.properties"> + <xsl:choose> + <xsl:when test="count(child::node())=0"> + <xsl:call-template name="hyphenate-url"> + <xsl:with-param name="url" select="@url"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> + </fo:basic-link> + <xsl:if test="count(child::node()) != 0 + and string(.) != @url + and $ulink.show != 0"> + <fo:inline hyphenate="false"> + <xsl:text> [</xsl:text> + <xsl:call-template name="hyphenate-url"> + <xsl:with-param name="url" select="@url"/> + </xsl:call-template> + <xsl:text>]</xsl:text> + </fo:inline> + </xsl:if> +</xsl:template> + +<xsl:template name="hyphenate-url"> + <xsl:param name="url" select="''"/> + <xsl:choose> + <xsl:when test="$ulink.hyphenate = ''"> + <xsl:value-of select="$url"/> + </xsl:when> + <xsl:when test="contains($url, '/')"> + <xsl:value-of select="substring-before($url, '/')"/> + <xsl:text>/</xsl:text> + <xsl:copy-of select="$ulink.hyphenate"/> + <xsl:call-template name="hyphenate-url"> + <xsl:with-param name="url" select="substring-after($url, '/')"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$url"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="olink" name="olink"> + <xsl:apply-templates/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="title.xref"> + <xsl:param name="target" select="."/> + <xsl:choose> + <xsl:when test="local-name($target) = 'figure' + or local-name($target) = 'example' + or local-name($target) = 'equation' + or local-name($target) = 'table' + or local-name($target) = 'dedication' + or local-name($target) = 'preface' + or local-name($target) = 'bibliography' + or local-name($target) = 'glossary' + or local-name($target) = 'index' + or local-name($target) = 'setindex' + or local-name($target) = 'colophon'"> + <xsl:call-template name="gentext.startquote"/> + <xsl:apply-templates select="$target" mode="title.markup"/> + <xsl:call-template name="gentext.endquote"/> + </xsl:when> + <xsl:otherwise> + <fo:inline font-style="italic"> + <xsl:apply-templates select="$target" mode="title.markup"/> + </fo:inline> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="number.xref"> + <xsl:param name="target" select="."/> + <xsl:apply-templates select="$target" mode="label.markup"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="xref.xreflabel"> + <!-- called to process an xreflabel...you might use this to make --> + <!-- xreflabels come out in the right font for different targets, --> + <!-- for example. --> + <xsl:param name="target" select="."/> + <xsl:value-of select="$target/@xreflabel"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="title" mode="xref"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="command" mode="xref"> + <xsl:call-template name="inline.boldseq"/> +</xsl:template> + +<xsl:template match="function" mode="xref"> + <xsl:call-template name="inline.monoseq"/> +</xsl:template> + +<xsl:template name="insert.page.citation"> + <xsl:param name="id" select="'???'"/> + <xsl:if test="$insert.xref.page.number"> + <xsl:text> </xsl:text> + <fo:inline keep-together.within-line="always"> + <xsl:text>[</xsl:text> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'page.citation'"/> + </xsl:call-template> + <xsl:text> </xsl:text> + <fo:page-number-citation ref-id="{$id}"/> + <xsl:text>]</xsl:text> + </fo:inline> + </xsl:if> +</xsl:template> + +<xsl:template match="*" mode="pagenumber.markup"> + <fo:page-number-citation ref-id="{@id}"/> +</xsl:template> + +</xsl:stylesheet> diff --git a/rosdocs/xsl/html/ChangeLog b/rosdocs/xsl/html/ChangeLog new file mode 100644 index 0000000..bcf77c4 --- /dev/null +++ b/rosdocs/xsl/html/ChangeLog @@ -0,0 +1,916 @@ +2002-05-23 Norman Walsh <nwalsh@users.sourceforge.net> + + * graphics.xsl, param.ent, param.xweb: Support for SVG in HTML + + * html-rtf.xsl: Protect calls to extension functions behind function-available tests + +2002-05-21 Norman Walsh <nwalsh@users.sourceforge.net> + + * qandaset.xsl: Fix anchors for references to QandAEntrys. Output '. ' in some contexts (this is a hack) + +2002-05-17 Norman Walsh <nwalsh@users.sourceforge.net> + + * onechunk.xsl: Make TOC (and other internal references) all just fragment identifiers...we're making one chunk after all + +2002-05-16 Norman Walsh <nwalsh@users.sourceforge.net> + + * autotoc.xsl, html.xsl: Moved href.target to html.xsl; added href.target.uri (which is functionally equivalent to href.target in the non-chunking case) + +2002-05-15 Norman Walsh <nwalsh@users.sourceforge.net> + + * chunk.xsl, onechunk.xsl: Fix bugs in onechunk---it wasn't working at all + +2002-05-14 Norman Walsh <nwalsh@users.sourceforge.net> + + * graphics.xsl: Bug #555809: make sure that a longdesc, if written, gets the correct relative URI + +2002-05-13 Norman Walsh <nwalsh@users.sourceforge.net> + + * chunk-common.xsl: Fix inherited directory naming problems when using dbhtml. Add context to site navigation link calls + + * chunk-common.xsl, param.ent, param.xweb: Add extra LINK elements to the HTML HEAD of chunked output (for enhanced site navigation as per Mozilla 1.0) + + * chunker.xsl: Work around relative filename bug in libxslt + + * pi.xsl: Try to avoid x//y in inherited dbhtml dir settings + +2002-05-12 Norman Walsh <nwalsh@users.sourceforge.net> + + * block.xsl: Support title on blockquote + + * chunk.xsl: Turn off refentry.separator by default when chunking + + * chunk.xsl: Fix ugly prev/next bug introduced by my attempt to work around Xalan problems + + * graphics.xsl: Reworked support for graphic attributes; now support DocBook 4.2CR1 attributes + + * html.xsl: Remove reference to obsolete using.chunker parameter + + * math.xsl: Support MathML by passing it through unchanged + + * param.ent, param.xweb: Added points.per.em; removed obsolete using.chunker + + * table.xsl: Improve support for table borders drawn with CSS (get the semantics right); add support for entry-bgcolor PI + + * verbatim.xsl: Format literal layout elements correctly when linenumbering + + * xref.xsl: Support xref to refnamediv and all elements with titles (at least when they have titles) + +2002-05-10 Jirka Kosek <kosek@users.sourceforge.net> + + * chunk.xsl: Added support for manifest file as requested by Nik in #552945 + +2002-05-10 Norman Walsh <nwalsh@users.sourceforge.net> + + * lists.xsl: Remove reference to obsolete using.chunker parameter + +2002-05-10 Jirka Kosek <kosek@users.sourceforge.net> + + * manifest.xsl, param.ent, param.xweb: Added support for manifest file as requested by Nik in #552945 + +2002-05-10 Norman Walsh <nwalsh@users.sourceforge.net> + + * pi.xsl: Remove reference to obsolete using.chunker parameter + +2002-05-07 Robert Stayton <bobstayton@users.sourceforge.net> + + * chunk.xsl: The call to write.chunk did not have the $chunk.quietly parameter set. + I think I failed to commit that change after testing it in Feb. + + * xref.xsl: Added a template for article in mode="xref-to" that is similar + to the one for chapter. Now you can use <xref> with a linkend + pointing to an article. + +2002-05-06 Norman Walsh <nwalsh@users.sourceforge.net> + + * chunk.xsl, onechunk.xsl: Fix bug #551966 applying onechunk to book + +2002-04-30 Norman Walsh <nwalsh@users.sourceforge.net> + + * chunk.xsl: First attempt to workaround Xalan array-out-of-bounds bug + +2002-03-25 Norman Walsh <nwalsh@users.sourceforge.net> + + * autotoc.xsl, chunk-common.xsl, pi.xsl: Handle links across dbhtml-specified relative directories correctly + + * formal.xsl: Support longdesc on tables + + * table.xsl: Use the textobject/phrase for the table summary attribute, if one is present + +2002-03-24 Norman Walsh <nwalsh@users.sourceforge.net> + + * graphics.xsl: Remove style from longdesc link; added support for textdata in textobject + + * inline.xsl: Support personname + + * xref.xsl: Handle xref to editor, othercredit, and personname + +2002-03-21 Norman Walsh <nwalsh@users.sourceforge.net> + + * biblio.xsl, titlepage.xsl: Support biblioid + +2002-03-18 Norman Walsh <nwalsh@users.sourceforge.net> + + * Makefile, autotoc.xsl, component.xsl, division.xsl, param.ent, param.xweb, qandaset.xsl, refentry.xsl, sections.xsl: + Replace generate.*.toc and generate.*.lot with single generate.toc parameter. + + * autotoc.xsl: Fix ToC section depth calculation + +2002-03-15 Norman Walsh <nwalsh@users.sourceforge.net> + + * synop.xsl: Improve appearance of classsynopsis elements + +2002-03-14 Norman Walsh <nwalsh@users.sourceforge.net> + + * .cvsignore: Ignore profiling stylesheets + + * Makefile: Make profiling onechunk + + * admon.xsl, autoidx.xsl, autotoc.xsl, biblio.xsl, block.xsl, callout.xsl, changebars.xsl, chunk-common.xsl, chunk.xsl, chunker.xsl, chunktoc.xsl, component.xsl, division.xsl, docbook.xsl, ebnf.xsl, footnote.xsl, formal.xsl, glossary.xsl, graphics.xsl, html-rtf.xsl, html.xsl, index.xsl, info.xsl, inline.xsl, keywords.xsl, lists.xsl, maketoc.xsl, math.xsl, oldchunker.xsl, onechunk.xsl, param.ent, param.xweb, pi.xsl, qandaset.xsl, refentry.xsl, sections.xsl, synop.xsl, table.xsl, titlepage.templates.xml, titlepage.xsl, toc.xsl, verbatim.xsl, xref.xsl: + Whitespace only: change CR/LF back to LF. Norm was a total moron. + + * admon.xsl, autoidx.xsl, autotoc.xsl, biblio.xsl, block.xsl, callout.xsl, changebars.xsl, chunk-common.xsl, chunk.xsl, chunker.xsl, chunktoc.xsl, component.xsl, division.xsl, docbook.xsl, ebnf.xsl, footnote.xsl, formal.xsl, glossary.xsl, graphics.xsl, html-rtf.xsl, html.xsl, index.xsl, info.xsl, inline.xsl, keywords.xsl, lists.xsl, maketoc.xsl, math.xsl, oldchunker.xsl, onechunk.xsl, param.ent, param.xweb, pi.xsl, qandaset.xsl, refentry.xsl, sections.xsl, synop.xsl, table.xsl, titlepage.templates.xml, titlepage.xsl, toc.xsl, verbatim.xsl, xref.xsl: + Whitespace changes only: use PC-style CR/LF because Unix clients choke on this far less often than PC clients choke on the reverse. Grrr. + + * block.xsl: Generate anchors before the formal.object.heading, not within it; support formal.title.placement + + * formal.xsl, lists.xsl, param.ent, param.xweb: Support formal.title.placement + + * lists.xsl, titlepage.xsl: Handle revisionflag a little better on copyrights + + * titlepage.xsl: Generate anchors before the formal.object.heading, not within it + +2002-03-13 Norman Walsh <nwalsh@users.sourceforge.net> + + * footnote.xsl: Fix debugging error + + * footnote.xsl: Numerate footnotes and table footnotes correctly + + * lists.xsl: Bug #516227: segmentedlist/titles + + * refentry.xsl: Process refsynopsisdiv titles in their own template so they don't get default title processing + + * table.xsl: Make tfoot come out before tbody; even in HTML it's supposed to be that way + + * verbatim.xsl: Improve efficiency of make-verbatim; thanks to Paul Grosso, John Dreystadt, et. al. + +2002-03-12 Robert Stayton <bobstayton@users.sourceforge.net> + + * callout.xsl: Modified match="co" template to use its linkends attribute + to form a hotlink to the callout element, forming the + two-ways links as described in + The Definitive Guide. At this time, only a single linkend + value is supported, since HTML doesn't handle multiply-targeted + links. + +2002-03-11 Jirka Kosek <kosek@users.sourceforge.net> + + * footnote.xsl: Fixed bug #520995. Removed duplicated footnote numbers. + +2002-03-10 Norman Walsh <nwalsh@users.sourceforge.net> + + * biblio.xsl: Support the new generate.id.attributes parameter to prevent generating both div ID and a NAME attributes; also suppress revhistory in bibliographies + + * component.xsl, division.xsl, glossary.xsl, index.xsl, param.ent, param.xweb: + Support the new generate.id.attributes parameter to prevent generating both div ID and a NAME attributes + + * inline.xsl: Use em instead of i for emphasis + + * onechunk.xsl: Update onechunk to the new chunking scheme + +2002-03-07 Robert Stayton <bobstayton@users.sourceforge.net> + + * autotoc.xsl: Modified refentry to use mode=title.markup rather than mode=title + so indexterms are not included in the TOC entries for refentry. + +2002-03-03 Jirka Kosek <kosek@users.sourceforge.net> + + * Makefile.param, param.ent, param.xweb: Added new stylesheet parameters for profiling. + +2002-03-01 Jirka Kosek <kosek@users.sourceforge.net> + + * Makefile, Makefile.param: First portion of new profiling code. New stylesheet parameters will come later. + +2002-03-01 Norman Walsh <nwalsh@users.sourceforge.net> + + * docbook.xsl: Move stylesheet.result.type out of param and put it explicitly in each stylesheet because it has to be different + + * graphics.xsl: Handle the case where graphics in inlineequations are inline + + * param.ent: Removed stylesheet.result.type reference + + * param.xweb: Added fragref for chunk.quietly + + * titlepage.xsl: Added DIV wrappers to author and authorgroup for CSS styling + +2002-02-25 Robert Stayton <bobstayton@users.sourceforge.net> + + * chunker.xsl, chunktoc.xsl, graphics.xsl, param.ent, param.xweb, titlepage.xsl: + Added chunk.quietly parameter and altered the calls + to write.chunk to set the 'quiet' param to that value. + +2002-02-21 Jirka Kosek <kosek@users.sourceforge.net> + + * Makefile.param, math.xsl, param.ent, param.xweb: Better control over delimiters for TeX equations. Added parameter tex.math.delims, when is set to 0, no delimiters (like $ and $$) are output. Same can be done for single equation by <?dbtex delims="no"?>. + +2002-02-20 Norman Walsh <nwalsh@users.sourceforge.net> + + * autotoc.xsl: Fix toc-depth bug in recursive sections + +2002-02-10 Jirka Kosek <kosek@users.sourceforge.net> + + * Makefile.param, param.ent, param.xweb: Added parameter htmlhelp.default.topic for overriding default topic to display. + +2002-02-09 Jirka Kosek <kosek@users.sourceforge.net> + + * Makefile.param, param.ent, param.xweb: Added parameter which controls appearance of root element in HTML Help ToC. + +2002-02-07 Norman Walsh <nwalsh@users.sourceforge.net> + + * autotoc.xsl, chunk-common.xsl, chunk.xsl, chunktoc.xsl, maketoc.xsl, param.ent, param.xweb: + Added experimental manual TOC processing for chunking and TOC generation + + * calc-chunks.xsl, chunk-experimental.xsl, expchunk.xsl: + Deleting old experiments + + * docbook.xsl: Tweaked rendering of 'draft' watermark + +2002-02-03 Jirka Kosek <kosek@users.sourceforge.net> + + * Makefile.param, param.ent, param.xweb: Added parameter htmlhelp.title for manual control over HTML Help title. Improved code for automatic extraction of title from document. + +2002-01-29 Norman Walsh <nwalsh@users.sourceforge.net> + + * docbook.xsl, param.ent, param.xweb: Support 'draft' watermark + +2002-01-28 Norman Walsh <nwalsh@users.sourceforge.net> + + * biblio.xsl, block.xsl, docbook.xsl, footnote.xsl: Bug #503271: output biblioentry.item.separator after citetitle + + * block.xsl, footnote.xsl, html-rtf.xsl, param.ent, param.xweb: + Added html.cleanup parameter; if non-zero, do some post-processing of RTFs to improve formatting + +2002-01-22 Jirka Kosek <kosek@users.sourceforge.net> + + * param.ent, param.xweb: Feature request #507087. Added parameter for controling appearance of icons in HTML Help ToC. + +2002-01-21 Jirka Kosek <kosek@users.sourceforge.net> + + * biblio.xsl: Fixed bug #505683. Changed <I> to <i> to make output compatible with XHTML. + +2002-01-10 Norman Walsh <nwalsh@users.sourceforge.net> + + * graphics.xsl, param.ent, param.xweb: Use the pixels.per.inch parameter + +2002-01-09 Norman Walsh <nwalsh@users.sourceforge.net> + + * graphics.xsl: Convert graphic widths/depths to pixels + +2002-01-08 Norman Walsh <nwalsh@users.sourceforge.net> + + * chunk.xsl: Make root.filename supercede use.id.as.filename + + * titlepage.xsl: Added template for confsponsor + +2002-01-04 Norman Walsh <nwalsh@users.sourceforge.net> + + * glossary.xsl, inline.xsl: Make glossary.collection (usually) work when chunking is used; allow the use of glossdivs to be toggled in the document + + * glossary.xsl, inline.xsl, param.ent, param.xweb: First cut at supporting a glossary.collection file + +2002-01-03 Norman Walsh <nwalsh@users.sourceforge.net> + + * .cvsignore, Makefile.param: Makefile.param is auto generated + + * lists.xsl, param.ent, param.xweb: Use global parameter variablelist.as.table + +2002-01-01 Norman Walsh <nwalsh@users.sourceforge.net> + + * changebars.xsl: Fix typo + + * chunker.xsl: Use output.method parameter + + * footnote.xsl: Number footnotes in refentrys individually; add priority to match on first para of a footnote + + * lists.xsl: Improve list formatting + + * param.ent, param.xweb: Added new parameters: make.valid.html, refentry.generate.title, and output.method; removed unused parameter callout.unicode.font + + * refentry.xsl: Improve refentry formatting + + * synop.xsl: Made several synopsis elements inline and reworked the formatting code accordingly + + * titlepage.xsl: Fix formatting of copyright with multiple holders + + * xref.xsl: Added target parameter to link + +2001-12-15 Jirka Kosek <kosek@users.sourceforge.net> + + * graphics.xsl, math.xsl: Improved support for TeX math inside equations. + +2001-12-06 Jirka Kosek <kosek@users.sourceforge.net> + + * Makefile.param, docbook.xsl, math.xsl, param.ent, param.xweb: + Added support for TeX math in alt element. When using PassiveTeX, TeX equations can be directly passed to TeX. When using HTML, TeX file with code necessary to produce image equivalents of equations is generated. + + * chunk.xsl, chunker.xsl: Template write.text.chunk moved to common place. + +2001-12-04 Norman Walsh <nwalsh@users.sourceforge.net> + + * Makefile, Makefile.param, chunk.xsl, param.ent, param.xweb: + Fix chunking parameter errors + + * Makefile, Makefile.param, param.ent, param.xweb: Updated parameters and parameter consistency checking + + * changebars.xsl: Feature #481981: support simpara and formalpara in changebars.xsl + + * chunk-experimental.xsl: More hacking + + * chunk.xsl: Feature #477348: support chunk.section.depth (lots and lots of changes here: danger will robinson) + + * xref.xsl: Feature #481793: support xref to refentry + +2001-12-02 Norman Walsh <nwalsh@users.sourceforge.net> + + * component.xsl: Allow inlines and anchors in titles + +2001-12-01 Norman Walsh <nwalsh@users.sourceforge.net> + + * changebars.xsl, table.xsl: Bug #472836: @revisionflag and table entries + + * qandaset.xsl: Improve FAQ labeling + +2001-11-29 Norman Walsh <nwalsh@users.sourceforge.net> + + * lists.xsl: Patch #478068: procedures with one step + +2001-11-28 Norman Walsh <nwalsh@users.sourceforge.net> + + * lists.xsl, param.ent: Support formatting segmented lists as tables + + * param.ent: Added punct.honorific parameter + +2001-11-28 Jirka Kosek <kosek@users.sourceforge.net> + + * param.ent: Added parameter htmlhelp.hhc.section.depth for controlling depth of sections in a TOC in a left pane of HTML Help viewer. + + * param.ent, param.xweb: Added support for automatic generation of map and context files for HTML Help. Topic names and IDs are marked by special PI <?dbhh topicname="..." topicid="..."?>. + +2001-11-28 Norman Walsh <nwalsh@users.sourceforge.net> + + * param.xweb: Added punct.honorific parameter + + * param.xweb: Support formatting segmented lists as tables + +2001-11-28 Jirka Kosek <kosek@users.sourceforge.net> + + * param.xweb: Added parameter htmlhelp.hhc.section.depth for controlling depth of sections in a TOC in a left pane of HTML Help viewer. + +2001-11-28 Norman Walsh <nwalsh@users.sourceforge.net> + + * pi.xsl: Use common pi-attribute template + +2001-11-27 Norman Walsh <nwalsh@users.sourceforge.net> + + * lists.xsl: Support tabular presentation of variablelists + + * qandaset.xsl: Format QandASet as a table; there's just no other way to get the formatting right without resorting to absurd hackery + + * refentry.xsl: Fixed typo in refentry separator test + +2001-11-18 Jirka Kosek <kosek@users.sourceforge.net> + + * Makefile, glossary.xsl, inline.xsl, param.ent, param.xweb: + Added parameter glossterm.auto.link. When set to 1 links from glossterm to glossentry are created automatically even if there is no linkend attribute on glossterm and id attribute on glossentry. + + * inline.xsl: Baseform attribute is taken into account when autogenerating links for glossterms. + +2001-11-15 Norman Walsh <nwalsh@users.sourceforge.net> + + * graphics.xsl: Only output a longdesc link if there's actually a longdesc + + * inline.xsl: Support experimental XLink support + +2001-11-12 Norman Walsh <nwalsh@users.sourceforge.net> + + * chunk-experimental.xsl, chunk.xsl, docbook.xsl, ebnf.xsl, footnote.xsl, inline.xsl, lists.xsl, param.xweb, synop.xsl, toc.xsl, xref.xsl: + Support well-formed documents, use key() instead of id() + + * param.xweb: Added fragref for navig.* params + +2001-11-10 Norman Walsh <nwalsh@users.sourceforge.net> + + * titlepage.xsl: Fixed formatting of addresses in affiliations in author names + +2001-11-09 Norman Walsh <nwalsh@users.sourceforge.net> + + * param.xweb: Move the obvious ID value from the src:fragment to the refentry in parameter reference pages + +2001-11-06 Robert Stayton <bobstayton@users.sourceforge.net> + + * chunk.xsl: Modified header and footer templates to support option + to use graphical icons for navigation. + + * param.ent, param.xweb: Added new parameters supporting the option for graphical + icons in navigational headers and footers of chunked html. + +2001-11-05 Jirka Kosek <kosek@users.sourceforge.net> + + * param.ent: Parameters moved to params subdirectory. + +2001-11-05 Norman Walsh <nwalsh@users.sourceforge.net> + + * param.ent: Added newline at eof + +2001-11-05 Jirka Kosek <kosek@users.sourceforge.net> + + * param.xweb: Parameters moved to params subdirectory. + +2001-11-03 Norman Walsh <nwalsh@users.sourceforge.net> + + * biblio.xsl, inline.xsl: Support pubwork=article on citetitle + + * xref.xsl: Remove anchor name on anchor; it erroneously duplicates the html anchor template + +2001-10-16 Norman Walsh <nwalsh@users.sourceforge.net> + + * Makefile, graphics.xsl, param.ent, param.xweb: Support HTML longdesc using textobject content + + * table.xsl: Table support improvements + +2001-10-15 Norman Walsh <nwalsh@users.sourceforge.net> + + * inline.xsl: Fix formatting of keycombo + + * param.ent, param.xweb, table.xsl: Fix calculation of rowsep and colsep; added experimental support for table.borders.with.css in HTML; calculation of alignments needs to be added along the same lines + +2001-10-14 Norman Walsh <nwalsh@users.sourceforge.net> + + * table.xsl: Fixed a number of significant outstanding table problems; I think HTML and FO now format all combinations of spans and missing cells correctly. But the border drawing isn't perfect on FO tables yet. + +2001-10-12 Norman Walsh <nwalsh@users.sourceforge.net> + + * biblio.xsl: Tweaked bibliography formatting to include the labels + + * param.ent, param.xweb: Fixed some missing references + + * xref.xsl: Tweaked cross reference stuff to prevent square brackets on biblio xrefs from being underlined (it just looks ugly) + +2001-10-11 Norman Walsh <nwalsh@users.sourceforge.net> + + * autoidx.xsl, docbook.xsl: Moved autoidx.xsl (and chunker.xsl) directly into docbook.xsl + + * chunk-common.xsl, chunk.xsl: Moved chunk-common into chunk; there's no need for a separate common file anymore + + * chunker.xsl: Removed some out-of-date comments + + * index.xsl: Removed empty generate-index function; we're now using autoidx all the time + + * titlepage.xsl: Moved support for generate.legalnotice.link directly into titlepage.xsl + +2001-10-08 Norman Walsh <nwalsh@users.sourceforge.net> + + * param.xweb: Added fragrefs for new params + +2001-10-07 Norman Walsh <nwalsh@users.sourceforge.net> + + * .cvsignore: Added param.html to ignore list + + * .cvsignore, Makefile, param.ent, param.xsl, param.xweb: + Generate params from an xweb file + + * autotoc.xsl, calc-chunks.xsl, chunk-common.xsl, chunk-experimental.xsl, chunker.xsl, ebnf.xsl: + Removed all top-level parameters; they're now all in param.xsl + +2001-10-06 Norman Walsh <nwalsh@users.sourceforge.net> + + * callout.xsl: Use function-available to select callout extension function + + * component.xsl: Make component ids unconditional + + * graphics.xsl: Use function-available to select text-insert extension function + + * inline.xsl: Make sure all the variants of sgmltag have a class attribute + + * refentry.xsl: Make anchors unconditional, support a separator between refentrys + + * table.xsl: Use function-available to select extension functions + + * titlepage.templates.xml: Added refentry titlepages, but note that refentrys don't usually have one, they usually begin with the Name section + + * titlepage.xsl: Added refentry.titlepage.{recto,verso}.style properties + + * verbatim.xsl: Use function-available to select verbatim extension function + + * xref.xsl: Added names to the link templates so that they can be called that way + + * xtchunk.xsl, xtchunker.xsl: No point keeping the XT files now that I'm using function-available + +2001-09-26 Norman Walsh <nwalsh@users.sourceforge.net> + + * admon.xsl, biblio.xsl, block.xsl, callout.xsl, component.xsl, division.xsl, ebnf.xsl, formal.xsl, glossary.xsl, graphics.xsl, html.xsl, index.xsl, inline.xsl, lists.xsl, qandaset.xsl, refentry.xsl, sections.xsl, synop.xsl, table.xsl, verbatim.xsl, xref.xsl: + Bug #464487: use (new) anchor template to consistently generate HTML anchors (usually conditionally, in other words, only for elements that actually have an ID) + +2001-09-25 Norman Walsh <nwalsh@users.sourceforge.net> + + * chunk-common.xsl: Fix gentext.nav.* templates + + * param.xsl, titlepage.xsl: Support automatic collation of year ranges in copyright + +2001-09-24 Norman Walsh <nwalsh@users.sourceforge.net> + + * refentry.xsl, synop.xsl: Added some paras to improve spacing + + * verbatim.xsl: Implemented changes suggested by Paul Winder, Sam Brow, and John Dreystadt of Arbortext to make 'make-verbatim' less memory intensive; also added paras to literallayout and address divs for better spacing in NS6 + +2001-09-22 Norman Walsh <nwalsh@users.sourceforge.net> + + * changebars.xsl: sgmltag is an inline + + * chunk-common.xsl: Feature request #439053: support generate.legalnotice.link + + * xref.xsl: Bug #462830: allow %p in templates + + * xref.xsl: Bug #463033: allow xref to list items (in orderedlists) and varlistentrys + +2001-09-09 Norman Walsh <nwalsh@users.sourceforge.net> + + * onechunk.xsl: New file. + +2001-08-29 Norman Walsh <nwalsh@users.sourceforge.net> + + * lists.xsl: Fix orderedlist numerations + +2001-08-25 Norman Walsh <nwalsh@users.sourceforge.net> + + * sections.xsl: Bug #451005: no id anchor for bridgehead + +2001-08-14 Norman Walsh <nwalsh@users.sourceforge.net> + + * xref.xsl: Display the ID when gentext cannot be created + +2001-08-11 Robert Stayton <bobstayton@users.sourceforge.net> + + * param.xsl: Removed the '?' from olink resolver parameter because + the olink template will add that (or not, depending on + how that template is customized). + +2001-08-08 Norman Walsh <nwalsh@users.sourceforge.net> + + * param.xsl, verbatim.xsl: Support shade.verbatim parameter + +2001-08-05 Norman Walsh <nwalsh@users.sourceforge.net> + + * param.xsl: Removed the FormatDingbatCallout classes, they were the same as the FormatUnicodeCallout classes but with a font wrapper. Added a callout.unicode.font parameter to wrap Unicode callouts + +2001-08-04 Norman Walsh <nwalsh@users.sourceforge.net> + + * autotoc.xsl: Add '.' to the autotoc.label.separator; suppress the separator if there is no label + + * chunker.xsl: Added a quiet parameter to suppress the Writing... message + + * refentry.xsl: Don't output anchor for refsect*, the anchor is output as part of the title processing + +2001-08-02 Norman Walsh <nwalsh@users.sourceforge.net> + + * sections.xsl: Allow anchors in section titles + +2001-08-02 Robert Stayton <bobstayton@users.sourceforge.net> + + * xref.xsl: Changed <link> to process its endterm if the element content + is empty. + +2001-08-01 Norman Walsh <nwalsh@users.sourceforge.net> + + * component.xsl: Don't calculate ids where they aren't used; don't put ids on divs because anchors will be output in the component title + + * footnote.xsl: Process simpara in footnote; warn if something unexpected turns up in a footnote + + * formal.xsl: Allow anchors in formal object titles + + * graphics.xsl: Output anchors for images that have IDs + + * lists.xsl: Output anchors for list elements with IDs + + * param.xsl: Leave ../ out of graphics paths by default; that doesn't make sense anymore + + * param.xsl, xref.xsl: First crude beginnings of olink support + + * qandaset.xsl: Remove unnecessary spaces + + * titlepage.templates.xml: Don't suppress othercredit on titlepages + + * titlepage.xsl: Handle othercredits on title pages + +2001-07-21 Norman Walsh <nwalsh@users.sourceforge.net> + + * block.xsl, param.xsl: Fix title-end punctuation problems on formalparas + +2001-07-17 Jirka Kosek <kosek@users.sourceforge.net> + + * graphics.xsl: Fixed bug #442160. Parameter graphic.default.extension is now used also for <graphic> and <inlinegraphic> not only for <imagedata>. + +2001-07-17 Robert Stayton <bobstayton@users.sourceforge.net> + + * xref.xsl: xref element with endterm attribute now uses normal templates + to process the children of the element pointed to by the endterm + ID. Formerly it just used the built-in template and rendered + just the text nodes. + +2001-07-16 Norman Walsh <nwalsh@users.sourceforge.net> + + * inline.xsl, param.xsl: Added phrase.propagates.style and emphasis.propagates.style: if true, wrap a span around phrase and emphasis elements with the role attribute propagated to the class attribute + +2001-07-16 Robert Stayton <bobstayton@users.sourceforge.net> + + * sections.xsl: added null templates for section titleabbrev in normal mode + +2001-07-16 Norman Walsh <nwalsh@users.sourceforge.net> + + * table.xsl: Wrap tbody around table footnotes (so that the HTML table model is not broken) + +2001-07-15 Norman Walsh <nwalsh@users.sourceforge.net> + + * param.xsl: Make generate.section.toc.level 0 by default + +2001-07-10 Norman Walsh <nwalsh@users.sourceforge.net> + + * chunk.xsl: Remove extension namespace declarations; they aren't actually used in this module + + * chunker.xsl: Make exsl:document the first choice + + * chunker.xsl: Fix EXSLT namespace name for exsl:document element + + * chunker.xsl, oldchunker.xsl, param.xsl: Move declaration for default.encoding and saxon.character.representation from param.xsl to (old)chunker.xsl so that chunker.xsl can be used by any stylesheet (indepedent of docbook.xsl). Maybe this should get moved to lib... + + * pi.xsl: Irrelevant encoding change + +2001-07-09 Norman Walsh <nwalsh@users.sourceforge.net> + + * autotoc.xsl: Fixed typo in reference to annotate.toc variable + +2001-07-08 Norman Walsh <nwalsh@users.sourceforge.net> + + * calc-chunks.xsl, chunk-experimental.xsl: Break chunk calculation and chunking into two tasks; *requires* every chunk to have an ID + + * chunker.xsl: Use element-available function not vendor to find chunking elements + + * exsltchunk.xsl, exsltchunker.xsl: These have been integrated into the regular chunker now that it's based on extension-available() + + * keywords.xsl: Tweaked handling of keywords to avoid multiple templates + + * oldchunker.xsl: New file. + + * qandaset.xsl: Improve QandA formatting; make question bold if defaultlabel=none (FR #419315) + + * xref.xsl: Support xref to bridgehead + +2001-07-07 Norman Walsh <nwalsh@users.sourceforge.net> + + * param.xsl: Added callout.dingbats parameter (for extension support; not really used in HTML) + +2001-07-06 Norman Walsh <nwalsh@users.sourceforge.net> + + * chunk-experimental.xsl, expchunk.xsl: New file. + +2001-07-05 Norman Walsh <nwalsh@users.sourceforge.net> + + * block.xsl: Whitespace + + * block.xsl, lists.xsl: FR #422097, make a listitem containing a single simpara output an li with only inline content + + * chunk-common.xsl: Patch #428987, use the id of the root element if use.id.as.filename is non-zero; also chunk a /section properly + + * chunk-common.xsl: Patch #418401, add accesskey attributes to HTML navigation + + * param.xsl, sections.xsl: Change semantics of generate.section.toc.level; 0 no longer means ignored it now means less than 1 :-) + + * param.xsl, sections.xsl: SR #431040, added generate.section.toc.level parameter to control depth of sections which get a TOC + + * titlepage.xsl: Patch #415865, output contrib for authors and othercontribs + +2001-07-04 <uid48421@users.sourceforge.net> + + * autotoc.xsl: Support annotated TOCs + + * biblio.xsl, param.xsl, xref.xsl: Support an external bibliography collection + + * chunk-common.xsl, docbook.xsl, param.xsl: Bug #418968: replaced body.attrs attribute-set with body.attributes template + + * component.xsl, sections.xsl: Remove internal references to *.titlepage.recto.mode and *.titlepage.verso.mode + + * ebnf.xsl: Minor presentation bug fixes + + * xref.xsl: Bug #429011, fix xref to qandset elements + +2001-06-22 Norman Walsh <nwalsh@users.sourceforge.net> + + * docbook.xsl, ebnf.xsl: Support EBNF + + * param.xsl: Remove unused parameter: check.idref + +2001-06-21 Norman Walsh <nwalsh@users.sourceforge.net> + + * lists.xsl, param.xsl, xref.xsl: Use common code to calculate step numbers; support xref to procedures and steps; added formal.procedures parameter + +2001-06-20 Norman Walsh <nwalsh@users.sourceforge.net> + + * formal.xsl: Generate formal titles correctly + + * graphics.xsl: Don't put span around inlinemediaobject in programlistings or screens (causes problems with line numbering and callouts) + + * refentry.xsl: Bug 434102: fix refentry inside of chapter and fix refsynopsisdiv formatting in both FO and HTML + + * xref.xsl: Support xref to authorgroup + +2001-06-18 Norman Walsh <nwalsh@users.sourceforge.net> + + * chunk-common.xsl: Reordered erroneous test: only link to top-level sections, even if the first one is a chunk + +2001-06-17 Norman Walsh <nwalsh@users.sourceforge.net> + + * exsltchunk.xsl, exsltchunker.xsl: New file. + +2001-06-15 Norman Walsh <nwalsh@users.sourceforge.net> + + * component.xsl: Handle subtitle in articleinfo + +2001-06-13 Norman Walsh <nwalsh@users.sourceforge.net> + + * chunk-common.xsl: Make sure the root element gets processed correctly so that it generates the right titlepage + + * component.xsl: Don't output ID attributes on DIVs with required titles since they conflict with the NAME attributes on the subsequently output A tags. + + * docbook.xsl: Pass the current node to user.head.content + + * index.xsl: Updated comment + +2001-06-07 Jirka Kosek <kosek@users.sourceforge.net> + + * lists.xsl: Things preceding steps in procedure are placed before OL list. + +2001-06-04 Norman Walsh <nwalsh@users.sourceforge.net> + + * lists.xsl: Fixed typo in compact list support; backed out procedure step changes + + * sections.xsl: Fixed CSS typo; clear: all should be clear: both + +2001-06-02 Jirka Kosek <kosek@users.sourceforge.net> + + * lists.xsl: Fixed bug #424926. Things preceding steps in procedure are not placed inside OL list. + +2001-05-23 Norman Walsh <nwalsh@users.sourceforge.net> + + * component.xsl: Reorganized templates for clarity + + * graphics.xsl: Fix dup. template bug with is.graphic.* + + * titlepage.xsl: Added template for publisher + +2001-05-21 Norman Walsh <nwalsh@users.sourceforge.net> + + * autotoc.xsl: Make the TOC label/title separator a parameter + + * callout.xsl, verbatim.xsl: Move calculation of linenumber.* parameters into the number.rtf.lines template + + * changebars.xsl: Add link and member as inlines + + * sections.xsl: Refactor the section title code + + * titlepage.templates.xml: Reworked titlepage template processing to support use of more interesting + predicates. + + Note: in previous versions, at most one title, subtitle, or titleabbrev + element would be processed for each title page. In the new design, if you + have multiple title, subtitle, or titleabbrev elements inside an info + wrapper (you shouldn't!), they will all be processed. + +2001-05-13 Norman Walsh <nwalsh@users.sourceforge.net> + + * param.xsl: Fixed ID typo + + * synop.xsl: Fixed synopfragmentref link (suggested by Philippe Martin) + +2001-05-12 Norman Walsh <nwalsh@users.sourceforge.net> + + * autotoc.xsl, param.xsl: Mostly failed attempt to add bridgeheads to the automatic TOC; this option is turned off by default and you should leave it that way. + + * sections.xsl: Calculate the heading level for bridgeheads + +2001-05-03 Norman Walsh <nwalsh@users.sourceforge.net> + + * lists.xsl: Output anchors for procedures and steps + + * table.xsl: Process head/body/foot in the right order + +2001-04-29 Norman Walsh <nwalsh@users.sourceforge.net> + + * chunk-common.xsl, chunk.xsl, xtchunk.xsl: Automatically make an index when chunking with a processor other than XT + +2001-04-26 Norman Walsh <nwalsh@users.sourceforge.net> + + * changebars.xsl: Support a few more elements + + * inline.xsl: Make glossterms hot if they're links. And make them italic. + + * lists.xsl: Improve procedure step/substep enumeration + +2001-04-24 Norman Walsh <nwalsh@users.sourceforge.net> + + * chunk-common.xsl: Fix chunking bug + + * chunk-common.xsl: Feature request 416507: added chunk.sections and chunk.first.sections to provide greater chunking flexibility + + * chunker.xsl: Output ID in message + + * glossary.xsl: Fix bug that caused duplicated glossary entries + + * qandaset.xsl: Bug #418100: fix qandaentry anchors; also fixed formatting bug in questions with indexterms + +2001-04-21 Jirka Kosek <kosek@users.sourceforge.net> + + * chunker.xsl: Added parameters for changing output encoding in chunked HTML + +2001-04-21 Norman Walsh <nwalsh@users.sourceforge.net> + + * inline.xsl: Improve processing of trademarks + +2001-04-21 Jirka Kosek <kosek@users.sourceforge.net> + + * param.xsl: Added parameters for changing output encoding in chunked HTML + +2001-04-20 Norman Walsh <nwalsh@users.sourceforge.net> + + * inline.xsl: Restoring accidentally deleted citetitle template + +2001-04-18 Norman Walsh <nwalsh@users.sourceforge.net> + + * autoidx.xsl: Fix bug: lowercase and uppercase need to be strings (not element names :-) + + * inline.xsl, param.xsl: Bug #413982, easy support for man page CGI links on citerefentry + +2001-04-17 Norman Walsh <nwalsh@users.sourceforge.net> + + * docbook.xsl, param.xsl: Move label.from.part parameter into param.xsl; default it to 0 so that chapters and appendixes are numbered monotonically throughout a book by default. Moved param.xsl up in the include list, just for good measure + +2001-04-16 Norman Walsh <nwalsh@users.sourceforge.net> + + * component.xsl: Fix bug in processing of subtitle content on components + + * glossary.xsl, titlepage.templates.xml: Fix formatting of glossarys--things were really broken + + * xref.xsl: Patches Tracker #415439: support title attribute on HTML anchors associated with xrefs + +2001-04-15 Norman Walsh <nwalsh@users.sourceforge.net> + + * chunk-common.xsl: Process footnotes correctly when chunking; add summary attribute to navigation tables + + * docbook.xsl: Support inheriting of *info keywords + + * footnote.xsl, sections.xsl: Process footnotes correctly when chunking + + * formal.xsl: Use gentext templates for formal object titles + + * param.xsl: Added new parameters: inherit.keywords, process.source.toc, and process.empty.source.toc; changed the default for spacing.paras to 0 + + * table.xsl: Improve support for align attribute on tgroup + + * toc.xsl: Support DocBook toc markup + + * xref.xsl: Make a title attribute on HTML anchors for links to things with titles + +2001-04-05 Norman Walsh <nwalsh@users.sourceforge.net> + + * table.xsl: Don't translate tgroup align into HTML table align--they don't mean the same thing + + * titlepage.xsl: Suppress titleabbrev on the title page + +2001-04-04 Norman Walsh <nwalsh@users.sourceforge.net> + + * chunk-common.xsl: Move xsl:message about chunks into the chunker modules + + * chunker.xsl: Support indent and doctype public/system on chunks (for Saxon, anyway, Xalan's multiple-document extension doesn't seem to support this) + + * xtchunker.xsl: Use xsl:choose to support xml, html, and text output methods + +2001-04-03 Norman Walsh <nwalsh@users.sourceforge.net> + + * callout.xsl: Fix bug 412487, make XSL-generated callout marks honor callout mark parameters + + * chunk-common.xsl: Remove unnecessary xmlns declarations + + * chunker.xsl: Patch to make saxon not produce xml version=1.1 documents + + * param.xsl: Documentation fixes + + * qandaset.xsl: Apply patch 412510 by Jon Willeke, make xref to Question work correctly + + * xref.xsl: Remove unnecessary parameter assignment + +2001-04-02 Norman Walsh <nwalsh@users.sourceforge.net> + + * .cvsignore, Makefile, admon.xsl, autoidx.xsl, autotoc.xsl, biblio.xsl, block.xsl, callout.xsl, changebars.xsl, chunk-common.xsl, chunk.xsl, chunker.xsl, component.xsl, division.xsl, docbook.xsl, ebnf.xsl, footnote.xsl, formal.xsl, glossary.xsl, graphics.xsl, html.xsl, index.xsl, info.xsl, inline.xsl, keywords.xsl, lists.xsl, math.xsl, param.xsl, pi.xsl, qandaset.xsl, refentry.xsl, sections.xsl, synop.xsl, table.xsl, titlepage.templates.xml, titlepage.xsl, toc.xsl, verbatim.xsl, xref.xsl, xtchunk.xsl, xtchunker.xsl: + New file. + + * Makefile: Use the cvstools version of saxon + diff --git a/rosdocs/xsl/html/admon.xsl b/rosdocs/xsl/html/admon.xsl new file mode 100644 index 0000000..c3f8e60 --- /dev/null +++ b/rosdocs/xsl/html/admon.xsl @@ -0,0 +1,101 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + +<!-- ******************************************************************** + $Id$ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://nwalsh.com/docbook/xsl/ for copyright + and other information. + + ******************************************************************** --> + +<xsl:template name="admon.graphic.width"> + <xsl:param name="node" select="."/> + <xsl:text>25</xsl:text> +</xsl:template> + +<xsl:template match="note|important|warning|caution|tip"> + <xsl:choose> + <xsl:when test="$admon.graphics != 0"> + <xsl:call-template name="graphical.admonition"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="nongraphical.admonition"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="admon.graphic"> + <xsl:param name="node" select="."/> + <xsl:value-of select="$admon.graphics.path"/> + <xsl:choose> + <xsl:when test="name($node)='note'">note</xsl:when> + <xsl:when test="name($node)='warning'">warning</xsl:when> + <xsl:when test="name($node)='caution'">caution</xsl:when> + <xsl:when test="name($node)='tip'">tip</xsl:when> + <xsl:when test="name($node)='important'">important</xsl:when> + <xsl:otherwise>note</xsl:otherwise> + </xsl:choose> + <xsl:value-of select="$admon.graphics.extension"/> +</xsl:template> + +<xsl:template name="graphical.admonition"> + <div class="{name(.)}"> + <xsl:if test="$admon.style != ''"> + <xsl:attribute name="style"> + <xsl:value-of select="$admon.style"/> + </xsl:attribute> + </xsl:if> + <table border="0"> + <tr> + <td rowspan="2" align="center" valign="top"> + <xsl:attribute name="width"> + <xsl:call-template name="admon.graphic.width"/> + </xsl:attribute> + <img> + <xsl:attribute name="src"> + <xsl:call-template name="admon.graphic"/> + </xsl:attribute> + </img> + </td> + <th> + <xsl:call-template name="anchor"/> + <xsl:apply-templates select="." mode="object.title.markup"/> + </th> + </tr> + <tr> + <td colspan="2" align="left" valign="top"> + <xsl:apply-templates/> + </td> + </tr> + </table> + </div> +</xsl:template> + +<xsl:template name="nongraphical.admonition"> + <div class="{name(.)}"> + <xsl:if test="$admon.style"> + <xsl:attribute name="style"> + <xsl:value-of select="$admon.style"/> + </xsl:attribute> + </xsl:if> + + <h3 class="title"> + <xsl:call-template name="anchor"/> + <xsl:apply-templates select="." mode="object.title.markup"/> + </h3> + + <xsl:apply-templates/> + </div> +</xsl:template> + +<xsl:template match="note/title"></xsl:template> +<xsl:template match="important/title"></xsl:template> +<xsl:template match="warning/title"></xsl:template> +<xsl:template match="caution/title"></xsl:template> +<xsl:template match="tip/title"></xsl:template> + +</xsl:stylesheet> diff --git a/rosdocs/xsl/html/autoidx.xsl b/rosdocs/xsl/html/autoidx.xsl new file mode 100644 index 0000000..1b1ad70 --- /dev/null +++ b/rosdocs/xsl/html/autoidx.xsl @@ -0,0 +1,294 @@ +<?xml version="1.0"?> +<!DOCTYPE xsl:stylesheet [ + +<!ENTITY lowercase "'abcdefghijklmnopqrstuvwxyz'"> +<!ENTITY uppercase "'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"> + +<!ENTITY primary 'concat(primary/@sortas, primary[not(@sortas)])'> +<!ENTITY secondary 'concat(secondary/@sortas, secondary[not(@sortas)])'> +<!ENTITY tertiary 'concat(tertiary/@sortas, tertiary[not(@sortas)])'> + +<!ENTITY section '(ancestor-or-self::set + |ancestor-or-self::book + |ancestor-or-self::part + |ancestor-or-self::reference + |ancestor-or-self::partintro + |ancestor-or-self::chapter + |ancestor-or-self::appendix + |ancestor-or-self::preface + |ancestor-or-self::section + |ancestor-or-self::sect1 + |ancestor-or-self::sect2 + |ancestor-or-self::sect3 + |ancestor-or-self::sect4 + |ancestor-or-self::sect5 + |ancestor-or-self::refsect1 + |ancestor-or-self::refsect2 + |ancestor-or-self::refsect3 + |ancestor-or-self::simplesect + |ancestor-or-self::bibliography + |ancestor-or-self::glossary + |ancestor-or-self::index)[last()]'> + +<!ENTITY section.id 'generate-id(§ion;)'> +<!ENTITY sep '" "'> +]> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + +<!-- ==================================================================== --> +<!-- Jeni Tennison gets all the credit for what follows. + I think I understand it :-) Anyway, I've hacked it a bit, so the + bugs are mine. --> + +<xsl:key name="letter" + match="indexterm" + use="translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;)"/> + +<xsl:key name="primary" + match="indexterm" + use="&primary;"/> + +<xsl:key name="secondary" + match="indexterm" + use="concat(&primary;, &sep;, &secondary;)"/> + +<xsl:key name="tertiary" + match="indexterm" + use="concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;)"/> + +<xsl:key name="primary-section" + match="indexterm[not(secondary) and not(see)]" + use="concat(&primary;, &sep;, §ion.id;)"/> + +<xsl:key name="secondary-section" + match="indexterm[not(tertiary) and not(see)]" + use="concat(&primary;, &sep;, &secondary;, &sep;, §ion.id;)"/> + +<xsl:key name="tertiary-section" + match="indexterm[not(see)]" + use="concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;, &sep;, §ion.id;)"/> + +<xsl:key name="see-also" + match="indexterm[seealso]" + use="concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;, &sep;, seealso)"/> + +<xsl:key name="see" + match="indexterm[see]" + use="concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;, &sep;, see)"/> + +<xsl:key name="sections" match="*[@id]" use="@id"/> + +<xsl:template name="generate-index"> + <xsl:variable name="terms" select="//indexterm[count(.|key('letter', + translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;))[1]) = 1]"/> + + <xsl:variable name="alphabetical" + select="$terms[contains(concat(&lowercase;, &uppercase;), + substring(&primary;, 1, 1))]"/> + <xsl:variable name="others" select="$terms[not(contains(concat(&lowercase;, + &uppercase;), + substring(&primary;, 1, 1)))]"/> + <div class="index"> + <xsl:if test="$others"> + <div class="indexdiv"> + <h3> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'index symbols'"/> + </xsl:call-template> + </h3> + <dl> + <xsl:apply-templates select="$others[count(.|key('primary', + &primary;)[1]) = 1]" + mode="index-primary"> + <xsl:sort select="&primary;"/> + </xsl:apply-templates> + </dl> + </div> + </xsl:if> + <xsl:apply-templates select="$alphabetical[count(.|key('letter', + translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;))[1]) = 1]" + mode="index-div"> + <xsl:sort select="&primary;"/> + </xsl:apply-templates> + </div> +</xsl:template> + +<xsl:template match="indexterm" mode="index-div"> + <xsl:variable name="key" select="translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;)"/> + <div class="indexdiv"> + <h3> + <xsl:value-of select="translate($key, &lowercase;, &uppercase;)"/> + </h3> + <dl> + <xsl:apply-templates select="key('letter', $key)[count(.|key('primary', &primary;)[1]) = 1]" + mode="index-primary"> + <xsl:sort select="&primary;"/> + </xsl:apply-templates> + </dl> + </div> +</xsl:template> + +<xsl:template match="indexterm" mode="index-primary"> + <xsl:variable name="key" select="&primary;"/> + <xsl:variable name="refs" select="key('primary', $key)"/> + <dt> + <xsl:value-of select="primary"/> + <xsl:for-each select="$refs[generate-id() = generate-id(key('primary-section', concat($key, &sep;, §ion.id;))[1])]"> + <xsl:apply-templates select="." mode="reference"/> + </xsl:for-each> + </dt> + <xsl:if test="$refs/secondary or $refs[not(secondary)]/*[self::see or self::seealso]"> + <dd> + <dl> + <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see', concat(&primary;, &sep;, &sep;, &sep;, see))[1])]" + mode="index-see"> + <xsl:sort select="see"/> + </xsl:apply-templates> + <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see-also', concat(&primary;, &sep;, &sep;, &sep;, seealso))[1])]" + mode="index-seealso"> + <xsl:sort select="seealso"/> + </xsl:apply-templates> + <xsl:apply-templates select="$refs[secondary and count(.|key('secondary', concat($key, &sep;, &secondary;))[1]) = 1]" + mode="index-secondary"> + <xsl:sort select="&secondary;"/> + </xsl:apply-templates> + </dl> + </dd> + </xsl:if> +</xsl:template> + +<xsl:template match="indexterm" mode="index-secondary"> + <xsl:variable name="key" select="concat(&primary;, &sep;, &secondary;)"/> + <xsl:variable name="refs" select="key('secondary', $key)"/> + <dt> + <xsl:value-of select="secondary"/> + <xsl:for-each select="$refs[generate-id() = generate-id(key('secondary-section', concat($key, &sep;, §ion.id;))[1])]"> + <xsl:apply-templates select="." mode="reference"/> + </xsl:for-each> + </dt> + <xsl:if test="$refs/tertiary or $refs[not(tertiary)]/*[self::see or self::seealso]"> + <dd> + <dl> + <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see', concat(&primary;, &sep;, &secondary;, &sep;, &sep;, see))[1])]" + mode="index-see"> + <xsl:sort select="see"/> + </xsl:apply-templates> + <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see-also', concat(&primary;, &sep;, &secondary;, &sep;, &sep;, seealso))[1])]" + mode="index-seealso"> + <xsl:sort select="seealso"/> + </xsl:apply-templates> + <xsl:apply-templates select="$refs[tertiary and count(.|key('tertiary', concat($key, &sep;, &tertiary;))[1]) = 1]" + mode="index-tertiary"> + <xsl:sort select="&tertiary;"/> + </xsl:apply-templates> + </dl> + </dd> + </xsl:if> +</xsl:template> + +<xsl:template match="indexterm" mode="index-tertiary"> + <xsl:variable name="key" select="concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;)"/> + <xsl:variable name="refs" select="key('tertiary', $key)"/> + <dt> + <xsl:value-of select="tertiary"/> + <xsl:for-each select="$refs[generate-id() = generate-id(key('tertiary-section', concat($key, &sep;, §ion.id;))[1])]"> + <xsl:apply-templates select="." mode="reference"/> + </xsl:for-each> + </dt> + <xsl:variable name="see" select="$refs/see | $refs/seealso"/> + <xsl:if test="$see"> + <dd> + <dl> + <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see', concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;, &sep;, see))[1])]" + mode="index-see"> + <xsl:sort select="see"/> + </xsl:apply-templates> + <xsl:apply-templates select="$refs[generate-id() = generate-id(key('see-also', concat(&primary;, &sep;, &secondary;, &sep;, &tertiary;, &sep;, seealso))[1])]" + mode="index-seealso"> + <xsl:sort select="seealso"/> + </xsl:apply-templates> + </dl> + </dd> + </xsl:if> +</xsl:template> + +<xsl:template match="indexterm" mode="reference"> + <xsl:text>, </xsl:text> + <xsl:choose> + <xsl:when test="@zone and string(@zone)"> + <xsl:call-template name="reference"> + <xsl:with-param name="zones" select="normalize-space(@zone)"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <a> + <xsl:variable name="title"> + <xsl:apply-templates select="§ion;" mode="title.markup"/> + </xsl:variable> + + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="§ion;"/> + </xsl:call-template> + </xsl:attribute> + + <xsl:value-of select="$title"/> <!-- text only --> + </a> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="reference"> + <xsl:param name="zones"/> + <xsl:choose> + <xsl:when test="contains($zones, ' ')"> + <xsl:variable name="zone" select="substring-before($zones, ' ')"/> + <xsl:variable name="target" select="key('sections', $zone)"/> + + <a> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$target[1]"/> + </xsl:call-template> + </xsl:attribute> + <xsl:apply-templates select="$target[1]" mode="index-title-content"/> + </a> + <xsl:text>, </xsl:text> + <xsl:call-template name="reference"> + <xsl:with-param name="zones" select="substring-after($zones, ' ')"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:variable name="zone" select="$zones"/> + <xsl:variable name="target" select="key('sections', $zone)"/> + + <a> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$target[1]"/> + </xsl:call-template> + </xsl:attribute> + <xsl:apply-templates select="$target[1]" mode="index-title-content"/> + </a> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="indexterm" mode="index-see"> + <dt><xsl:value-of select="see"/></dt> +</xsl:template> + +<xsl:template match="indexterm" mode="index-seealso"> + <dt><xsl:value-of select="seealso"/></dt> +</xsl:template> + +<xsl:template match="*" mode="index-title-content"> + <xsl:variable name="title"> + <xsl:apply-templates select="§ion;" mode="title.markup"/> + </xsl:variable> + + <xsl:value-of select="$title"/> +</xsl:template> + +</xsl:stylesheet> diff --git a/rosdocs/xsl/html/autotoc.xsl b/rosdocs/xsl/html/autotoc.xsl new file mode 100644 index 0000000..d43e339 --- /dev/null +++ b/rosdocs/xsl/html/autotoc.xsl @@ -0,0 +1,578 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + +<!-- ******************************************************************** + $Id$ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://nwalsh.com/docbook/xsl/ for copyright + and other information. + + ******************************************************************** --> + +<xsl:variable name="toc.listitem.type"> + <xsl:choose> + <xsl:when test="$toc.list.type = 'dl'">dt</xsl:when> + <xsl:otherwise>li</xsl:otherwise> + </xsl:choose> +</xsl:variable> + +<!-- this is just hack because dl and ul aren't completely isomorphic --> +<xsl:variable name="toc.dd.type"> + <xsl:choose> + <xsl:when test="$toc.list.type = 'dl'">dd</xsl:when> + <xsl:otherwise></xsl:otherwise> + </xsl:choose> +</xsl:variable> + +<xsl:template name="set.toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:variable name="toc.title"> + <p> + <b> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">TableofContents</xsl:with-param> + </xsl:call-template> + </b> + </p> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$manual.toc != ''"> + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + <xsl:variable name="toc" select="document($manual.toc, .)"/> + <xsl:variable name="tocentry" select="$toc//tocentry[@linkend=$id]"/> + <xsl:if test="$tocentry and $tocentry/*"> + <div class="toc"> + <xsl:copy-of select="$toc.title"/> + <xsl:element name="{$toc.list.type}"> + <xsl:call-template name="manual-toc"> + <xsl:with-param name="tocentry" select="$tocentry/*[1]"/> + </xsl:call-template> + </xsl:element> + </div> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <xsl:variable name="nodes" select="book|setindex"/> + + <xsl:if test="$nodes"> + <div class="toc"> + <xsl:copy-of select="$toc.title"/> + <xsl:element name="{$toc.list.type}"> + <xsl:apply-templates select="$nodes" mode="toc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:apply-templates> + </xsl:element> + </div> + </xsl:if> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="division.toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:variable name="toc.title"> + <p> + <b> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">TableofContents</xsl:with-param> + </xsl:call-template> + </b> + </p> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$manual.toc != ''"> + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + <xsl:variable name="toc" select="document($manual.toc, .)"/> + <xsl:variable name="tocentry" select="$toc//tocentry[@linkend=$id]"/> + <xsl:if test="$tocentry and $tocentry/*"> + <div class="toc"> + <xsl:copy-of select="$toc.title"/> + <xsl:element name="{$toc.list.type}"> + <xsl:call-template name="manual-toc"> + <xsl:with-param name="tocentry" select="$tocentry/*[1]"/> + </xsl:call-template> + </xsl:element> + </div> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <xsl:variable name="nodes" select="part|reference + |preface|chapter|appendix + |article + |bibliography|glossary|index + |refentry + |bridgehead"/> + <xsl:if test="$nodes"> + <div class="toc"> + <xsl:copy-of select="$toc.title"/> + <xsl:element name="{$toc.list.type}"> + <xsl:apply-templates select="$nodes" mode="toc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:apply-templates> + </xsl:element> + </div> + </xsl:if> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="component.toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:variable name="toc.title"> + <p> + <b> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">TableofContents</xsl:with-param> + </xsl:call-template> + </b> + </p> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$manual.toc != ''"> + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + <xsl:variable name="toc" select="document($manual.toc, .)"/> + <xsl:variable name="tocentry" select="$toc//tocentry[@linkend=$id]"/> + <xsl:if test="$tocentry and $tocentry/*"> + <div class="toc"> + <xsl:copy-of select="$toc.title"/> + <xsl:element name="{$toc.list.type}"> + <xsl:call-template name="manual-toc"> + <xsl:with-param name="tocentry" select="$tocentry/*[1]"/> + </xsl:call-template> + </xsl:element> + </div> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <xsl:variable name="nodes" select="section|sect1|refentry + |article|bibliography|glossary + |appendix|bridgehead[not(@renderas)] + |.//bridgehead[@renderas='sect1']"/> + <xsl:if test="$nodes"> + <div class="toc"> + <xsl:copy-of select="$toc.title"/> + <xsl:element name="{$toc.list.type}"> + <xsl:apply-templates select="$nodes" mode="toc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:apply-templates> + </xsl:element> + </div> + </xsl:if> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="section.toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:variable name="toc.title"> + <p> + <b> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">TableofContents</xsl:with-param> + </xsl:call-template> + </b> + </p> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$manual.toc != ''"> + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + <xsl:variable name="toc" select="document($manual.toc, .)"/> + <xsl:variable name="tocentry" select="$toc//tocentry[@linkend=$id]"/> + <xsl:if test="$tocentry and $tocentry/*"> + <div class="toc"> + <xsl:copy-of select="$toc.title"/> + <xsl:element name="{$toc.list.type}"> + <xsl:call-template name="manual-toc"> + <xsl:with-param name="tocentry" select="$tocentry/*[1]"/> + </xsl:call-template> + </xsl:element> + </div> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <xsl:variable name="nodes" + select="section|sect1|sect2|sect3|sect4|sect5|refentry + |bridgehead"/> + <xsl:if test="$nodes"> + <div class="toc"> + <xsl:copy-of select="$toc.title"/> + <xsl:element name="{$toc.list.type}"> + <xsl:apply-templates select="$nodes" mode="toc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:apply-templates> + </xsl:element> + </div> + </xsl:if> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="subtoc"> + <xsl:param name="toc-context" select="."/> + <xsl:param name="nodes" select="NOT-AN-ELEMENT"/> + + <xsl:variable name="subtoc"> + <xsl:element name="{$toc.list.type}"> + <xsl:apply-templates mode="toc" select="$nodes"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:apply-templates> + </xsl:element> + </xsl:variable> + + <xsl:variable name="depth"> + <xsl:choose> + <xsl:when test="local-name(.) = 'section'"> + <xsl:value-of select="count(ancestor::section) + 1"/> + </xsl:when> + <xsl:when test="local-name(.) = 'sect1'">1</xsl:when> + <xsl:when test="local-name(.) = 'sect2'">2</xsl:when> + <xsl:when test="local-name(.) = 'sect3'">3</xsl:when> + <xsl:when test="local-name(.) = 'sect4'">4</xsl:when> + <xsl:when test="local-name(.) = 'sect5'">5</xsl:when> + <xsl:when test="local-name(.) = 'refsect1'">1</xsl:when> + <xsl:when test="local-name(.) = 'refsect2'">2</xsl:when> + <xsl:when test="local-name(.) = 'refsect3'">3</xsl:when> + <xsl:when test="local-name(.) = 'simplesect'"> + <!-- sigh... --> + <xsl:choose> + <xsl:when test="local-name(..) = 'section'"> + <xsl:value-of select="count(ancestor::section)"/> + </xsl:when> + <xsl:when test="local-name(..) = 'sect1'">2</xsl:when> + <xsl:when test="local-name(..) = 'sect2'">3</xsl:when> + <xsl:when test="local-name(..) = 'sect3'">4</xsl:when> + <xsl:when test="local-name(..) = 'sect4'">5</xsl:when> + <xsl:when test="local-name(..) = 'sect5'">6</xsl:when> + <xsl:when test="local-name(..) = 'refsect1'">2</xsl:when> + <xsl:when test="local-name(..) = 'refsect2'">3</xsl:when> + <xsl:when test="local-name(..) = 'refsect3'">4</xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="subtoc.list"> + <xsl:choose> + <xsl:when test="$toc.dd.type = ''"> + <xsl:copy-of select="$subtoc"/> + </xsl:when> + <xsl:otherwise> + <xsl:element name="{$toc.dd.type}"> + <xsl:copy-of select="$subtoc"/> + </xsl:element> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:element name="{$toc.listitem.type}"> + <xsl:variable name="label"> + <xsl:apply-templates select="." mode="label.markup"/> + </xsl:variable> + <xsl:copy-of select="$label"/> + <xsl:if test="$label != ''"> + <xsl:value-of select="$autotoc.label.separator"/> + </xsl:if> + + <a> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="context" select="$toc-context"/> + </xsl:call-template> + </xsl:attribute> + <xsl:apply-templates select="." mode="title.markup"/> + </a> + <xsl:if test="$toc.listitem.type = 'li' + and $toc.section.depth > $depth and count($nodes)>0"> + <xsl:copy-of select="$subtoc.list"/> + </xsl:if> + </xsl:element> + <xsl:if test="$toc.listitem.type != 'li' + and $toc.section.depth > $depth and count($nodes)>0"> + <xsl:copy-of select="$subtoc.list"/> + </xsl:if> +</xsl:template> + +<xsl:template match="book|setindex" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + <xsl:with-param name="nodes" select="part|reference + |preface|chapter|appendix + |article + |bibliography|glossary|index + |refentry + |bridgehead"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="part|reference" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + <xsl:with-param name="nodes" select="appendix|chapter|article + |index|glossary|bibliography + |preface|reference|refentry + |bridgehead"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="preface|chapter|appendix|article" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + <xsl:with-param name="nodes" select="section|sect1|bridgehead"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="sect1" mode="toc"> + <xsl:param name="toc-context" select="."/> + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + <xsl:with-param name="nodes" select="sect2|bridgehead"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="sect2" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + <xsl:with-param name="nodes" select="sect3|bridgehead"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="sect3" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + <xsl:with-param name="nodes" select="sect4|bridgehead"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="sect4" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + <xsl:with-param name="nodes" select="sect5|bridgehead"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="sect5" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="section" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + <xsl:with-param name="nodes" select="section|bridgehead"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="bridgehead" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:if test="$bridgehead.in.toc != 0"> + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:call-template> + </xsl:if> +</xsl:template> + +<xsl:template match="bibliography|glossary" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="index" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <!-- If the index tag is empty, don't point at it from the TOC --> + <xsl:if test="* or $generate.index"> + <xsl:call-template name="subtoc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:call-template> + </xsl:if> +</xsl:template> + +<xsl:template match="refentry" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:variable name="refmeta" select=".//refmeta"/> + <xsl:variable name="refentrytitle" select="$refmeta//refentrytitle"/> + <xsl:variable name="refnamediv" select=".//refnamediv"/> + <xsl:variable name="refname" select="$refnamediv//refname"/> + <xsl:variable name="title"> + <xsl:choose> + <xsl:when test="$refentrytitle"> + <xsl:apply-templates select="$refentrytitle[1]" mode="title.markup"/> + </xsl:when> + <xsl:when test="$refname"> + <xsl:apply-templates select="$refname[1]" mode="title.markup"/> + </xsl:when> + <xsl:otherwise></xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:element name="{$toc.listitem.type}"> + <a> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"/> + </xsl:attribute> + <xsl:copy-of select="$title"/> + </a> + <xsl:if test="$annotate.toc != 0"> + <xsl:text> - </xsl:text> + <xsl:value-of select="refnamediv/refpurpose"/> + </xsl:if> + </xsl:element> +</xsl:template> + +<xsl:template match="title" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <a> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select=".."/> + </xsl:call-template> + </xsl:attribute> + <xsl:apply-templates/> + </a> +</xsl:template> + +<xsl:template name="manual-toc"> + <xsl:param name="toc-context" select="."/> + <xsl:param name="tocentry"/> + + <!-- be careful, we don't want to change the current document to the other tree! --> + + <xsl:if test="$tocentry"> + <xsl:variable name="node" select="key('id', $tocentry/@linkend)"/> + + <xsl:element name="{$toc.listitem.type}"> + <xsl:variable name="label"> + <xsl:apply-templates select="$node" mode="label.markup"/> + </xsl:variable> + <xsl:copy-of select="$label"/> + <xsl:if test="$label != ''"> + <xsl:value-of select="$autotoc.label.separator"/> + </xsl:if> + <a> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$node"/> + </xsl:call-template> + </xsl:attribute> + <xsl:apply-templates select="$node" mode="title.markup"/> + </a> + </xsl:element> + + <xsl:if test="$tocentry/*"> + <xsl:element name="{$toc.list.type}"> + <xsl:call-template name="manual-toc"> + <xsl:with-param name="tocentry" select="$tocentry/*[1]"/> + </xsl:call-template> + </xsl:element> + </xsl:if> + + <xsl:if test="$tocentry/following-sibling::*"> + <xsl:call-template name="manual-toc"> + <xsl:with-param name="tocentry" select="$tocentry/following-sibling::*[1]"/> + </xsl:call-template> + </xsl:if> + </xsl:if> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="list.of.titles"> + <xsl:param name="toc-context" select="."/> + <xsl:param name="titles" select="'table'"/> + <xsl:param name="nodes" select=".//table"/> + + <xsl:if test="$nodes"> + <div class="list-of-{$titles}s"> + <p> + <b> + <xsl:call-template name="gentext"> + <xsl:with-param name="key"> + <xsl:choose> + <xsl:when test="$titles='table'">ListofTables</xsl:when> + <xsl:when test="$titles='figure'">ListofFigures</xsl:when> + <xsl:when test="$titles='equation'">ListofEquations</xsl:when> + <xsl:when test="$titles='example'">ListofExamples</xsl:when> + <xsl:otherwise>ListofUnknowns</xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:call-template> + </b> + </p> + + <xsl:element name="{$toc.list.type}"> + <xsl:apply-templates select="$nodes" mode="toc"> + <xsl:with-param name="toc-context" select="$toc-context"/> + </xsl:apply-templates> + </xsl:element> + </div> + </xsl:if> +</xsl:template> + +<xsl:template match="figure|table|example|equation" mode="toc"> + <xsl:param name="toc-context" select="."/> + + <xsl:element name="{$toc.listitem.type}"> + <xsl:variable name="label"> + <xsl:apply-templates select="." mode="label.markup"/> + </xsl:variable> + <xsl:copy-of select="$label"/> + <xsl:if test="$label != ''"> + <xsl:value-of select="$autotoc.label.separator"/> + </xsl:if> + <a> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"/> + </xsl:attribute> + <xsl:apply-templates select="." mode="title.markup"/> + </a> + </xsl:element> +</xsl:template> + +</xsl:stylesheet> + diff --git a/rosdocs/xsl/html/biblio.xsl b/rosdocs/xsl/html/biblio.xsl new file mode 100644 index 0000000..c01d864 --- /dev/null +++ b/rosdocs/xsl/html/biblio.xsl @@ -0,0 +1,1024 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + +<!-- ******************************************************************** + $Id$ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://nwalsh.com/docbook/xsl/ for copyright + and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<xsl:template match="bibliography"> + <div class="{name(.)}"> + <xsl:if test="$generate.id.attributes != 0"> + <xsl:attribute name="id"> + <xsl:call-template name="object.id"/> + </xsl:attribute> + </xsl:if> + + <xsl:call-template name="bibliography.titlepage"/> + + <xsl:apply-templates/> + + <xsl:call-template name="process.footnotes"/> + </div> +</xsl:template> + +<xsl:template match="bibliography/bibliographyinfo"></xsl:template> +<xsl:template match="bibliography/title"></xsl:template> +<xsl:template match="bibliography/subtitle"></xsl:template> +<xsl:template match="bibliography/titleabbrev"></xsl:template> + +<xsl:template match="bibliography/title" mode="component.title.mode"> + <h2 class="title"> + <xsl:call-template name="anchor"> + <xsl:with-param name="node" select=".."/> + </xsl:call-template> + <xsl:apply-templates/> + </h2> +</xsl:template> + +<xsl:template match="bibliography/subtitle" mode="component.title.mode"> + <h3> + <i><xsl:apply-templates/></i> + </h3> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="bibliodiv"> + <div class="{name(.)}"> + <xsl:apply-templates/> + </div> +</xsl:template> + +<xsl:template match="bibliodiv/title"> + <h3 class="{name(.)}"> + <xsl:call-template name="anchor"> + <xsl:with-param name="node" select=".."/> + </xsl:call-template> + <xsl:apply-templates/> + </h3> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="biblioentry"> + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + + <xsl:choose> + <xsl:when test="string(.) = ''"> + <xsl:variable name="bib" select="document($bibliography.collection)"/> + <xsl:variable name="entry" select="$bib/bibliography/*[@id=$id][1]"/> + <xsl:choose> + <xsl:when test="$entry"> + <xsl:apply-templates select="$entry"/> + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>No bibliography entry: </xsl:text> + <xsl:value-of select="$id"/> + <xsl:text> found in </xsl:text> + <xsl:value-of select="$bibliography.collection"/> + </xsl:message> + <div class="{name(.)}"> + <xsl:call-template name="anchor"/> + <p> + <xsl:call-template name="biblioentry.label"/> + <xsl:text>Error: no bibliography entry: </xsl:text> + <xsl:value-of select="$id"/> + <xsl:text> found in </xsl:text> + <xsl:value-of select="$bibliography.collection"/> + </p> + </div> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <div class="{name(.)}"> + <xsl:call-template name="anchor"/> + <p> + <xsl:call-template name="biblioentry.label"/> + <xsl:apply-templates mode="bibliography.mode"/> + </p> + </div> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="bibliomixed"> + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + + <xsl:choose> + <xsl:when test="string(.) = ''"> + <xsl:variable name="bib" select="document($bibliography.collection)"/> + <xsl:variable name="entry" select="$bib/bibliography/*[@id=$id][1]"/> + <xsl:choose> + <xsl:when test="$entry"> + <xsl:apply-templates select="$entry"/> + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>No bibliography entry: </xsl:text> + <xsl:value-of select="$id"/> + <xsl:text> found in </xsl:text> + <xsl:value-of select="$bibliography.collection"/> + </xsl:message> + <div class="{name(.)}"> + <xsl:call-template name="anchor"/> + <p> + <xsl:call-template name="biblioentry.label"/> + <xsl:text>Error: no bibliography entry: </xsl:text> + <xsl:value-of select="$id"/> + <xsl:text> found in </xsl:text> + <xsl:value-of select="$bibliography.collection"/> + </p> + </div> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <div class="{name(.)}"> + <xsl:call-template name="anchor"/> + <p class="{name(.)}"> + <xsl:call-template name="biblioentry.label"/> + <xsl:apply-templates mode="bibliomixed.mode"/> + </p> + </div> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="biblioentry.label"> + <xsl:param name="node" select="."/> + + <xsl:text>[</xsl:text> + <xsl:choose> + <xsl:when test="local-name($node/child::*[1]) = 'abbrev'"> + <xsl:apply-templates select="$node/abbrev[1]"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$node/@id"/> + </xsl:otherwise> + </xsl:choose> + <xsl:text>] </xsl:text> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="*" mode="bibliography.mode"> + <xsl:apply-templates select="."/><!-- try the default mode --> +</xsl:template> + +<xsl:template match="abbrev" mode="bibliography.mode"> + <xsl:if test="preceding-sibling::*"> + <xsl:apply-templates mode="bibliography.mode"/> + </xsl:if> +</xsl:template> + +<xsl:template match="abstract" mode="bibliography.mode"> + <!-- suppressed --> +</xsl:template> + +<xsl:template match="address" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="affiliation" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="shortaffil" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="jobtitle" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="artheader|articleinfo" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="artpagenums" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="author" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:call-template name="person.name"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="authorblurb" mode="bibliography.mode"> + <!-- suppressed --> +</xsl:template> + +<xsl:template match="authorgroup" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:call-template name="person.name.list"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="authorinitials" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="bibliomisc" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="bibliomset" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<!-- ================================================== --> + +<xsl:template match="biblioset" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + </span> +</xsl:template> + +<xsl:template match="biblioset/title|biblioset/citetitle" + mode="bibliography.mode"> + <xsl:variable name="relation" select="../@relation"/> + <xsl:choose> + <xsl:when test="$relation='article' or @pubwork='article'"> + <xsl:call-template name="gentext.startquote"/> + <xsl:apply-templates/> + <xsl:call-template name="gentext.endquote"/> + </xsl:when> + <xsl:otherwise> + <i><xsl:apply-templates/></i> + </xsl:otherwise> + </xsl:choose> + <xsl:value-of select="$biblioentry.item.separator"/> +</xsl:template> + +<!-- ================================================== --> + +<xsl:template match="bookbiblio" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="citetitle" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:choose> + <xsl:when test="@pubwork = 'article'"> + <xsl:call-template name="gentext.startquote"/> + <xsl:call-template name="inline.charseq"/> + <xsl:call-template name="gentext.endquote"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="inline.italicseq"/> + </xsl:otherwise> + </xsl:choose> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="collab" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="collabname" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="confgroup" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="confdates" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="conftitle" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="confnum" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="confsponsor" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="contractnum" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="contractsponsor" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="contrib" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<!-- ================================================== --> + +<xsl:template match="copyright" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'Copyright'"/> + </xsl:call-template> + <xsl:call-template name="gentext.space"/> + <xsl:call-template name="dingbat"> + <xsl:with-param name="dingbat">copyright</xsl:with-param> + </xsl:call-template> + <xsl:call-template name="gentext.space"/> + <xsl:apply-templates select="year" mode="bibliography.mode"/> + <xsl:if test="holder"> + <xsl:call-template name="gentext.space"/> + <xsl:apply-templates select="holder" mode="bibliography.mode"/> + </xsl:if> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="year" mode="bibliography.mode"> + <xsl:apply-templates/><xsl:text>, </xsl:text> +</xsl:template> + +<xsl:template match="year[position()=last()]" mode="bibliography.mode"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="holder" mode="bibliography.mode"> + <xsl:apply-templates/> +</xsl:template> + +<!-- ================================================== --> + +<xsl:template match="corpauthor" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="corpname" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="date" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="edition" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="editor" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:call-template name="person.name"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="firstname" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="honorific" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="indexterm" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="invpartnumber" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="isbn" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="issn" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="biblioid" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="issuenum" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="lineage" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="orgname" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="orgdiv" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="othercredit" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="othername" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="pagenums" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="printhistory" mode="bibliography.mode"> + <!-- suppressed --> +</xsl:template> + +<xsl:template match="productname" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="productnumber" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="pubdate" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="publisher" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + </span> +</xsl:template> + +<xsl:template match="publishername" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="pubsnumber" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="releaseinfo" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="revhistory" mode="bibliography.mode"> + <!-- suppressed; how could this be represented? --> +</xsl:template> + +<xsl:template match="seriesinfo" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + </span> +</xsl:template> + +<xsl:template match="seriesvolnums" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="subtitle" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="surname" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="title" mode="bibliography.mode"> + <span class="{name(.)}"> + <i><xsl:apply-templates mode="bibliography.mode"/></i> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="titleabbrev" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<xsl:template match="volumenum" mode="bibliography.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliography.mode"/> + <xsl:value-of select="$biblioentry.item.separator"/> + </span> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="*" mode="bibliomixed.mode"> + <xsl:apply-templates select="."/><!-- try the default mode --> +</xsl:template> + +<xsl:template match="abbrev" mode="bibliomixed.mode"> + <xsl:if test="preceding-sibling::*"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </xsl:if> +</xsl:template> + +<xsl:template match="abstract" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="address" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="affiliation" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="shortaffil" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="jobtitle" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="artpagenums" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="author" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="authorblurb" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="authorgroup" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="authorinitials" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="bibliomisc" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<!-- ================================================== --> + +<xsl:template match="bibliomset" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="bibliomset/title|bibliomset/citetitle" + mode="bibliomixed.mode"> + <xsl:variable name="relation" select="../@relation"/> + <xsl:choose> + <xsl:when test="$relation='article' or @pubwork='article'"> + <xsl:call-template name="gentext.startquote"/> + <xsl:apply-templates/> + <xsl:call-template name="gentext.endquote"/> + </xsl:when> + <xsl:otherwise> + <i><xsl:apply-templates/></i> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ================================================== --> + +<xsl:template match="biblioset" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="citetitle" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:choose> + <xsl:when test="@pubwork = 'article'"> + <xsl:call-template name="gentext.startquote"/> + <xsl:call-template name="inline.charseq"/> + <xsl:call-template name="gentext.endquote"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="inline.italicseq"/> + </xsl:otherwise> + </xsl:choose> + </span> +</xsl:template> + + +<xsl:template match="collab" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="confgroup" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="contractnum" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="contractsponsor" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="contrib" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="copyright" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="corpauthor" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="corpname" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="date" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="edition" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="editor" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="firstname" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="honorific" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="indexterm" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="invpartnumber" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="isbn" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="issn" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="biblioid" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="issuenum" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="lineage" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="orgname" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="othercredit" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="othername" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="pagenums" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="printhistory" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="productname" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="productnumber" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="pubdate" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="publisher" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="publishername" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="pubsnumber" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="releaseinfo" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="revhistory" mode="bibliomixed.mode"> + <!-- suppressed; how could this be represented? --> +</xsl:template> + +<xsl:template match="seriesvolnums" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="subtitle" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="surname" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="title" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="titleabbrev" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<xsl:template match="volumenum" mode="bibliomixed.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="bibliomixed.mode"/> + </span> +</xsl:template> + +<!-- ==================================================================== --> + +</xsl:stylesheet> diff --git a/rosdocs/xsl/html/block.xsl b/rosdocs/xsl/html/block.xsl new file mode 100644 index 0000000..720d81e --- /dev/null +++ b/rosdocs/xsl/html/block.xsl @@ -0,0 +1,374 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + +<!-- ******************************************************************** + $Id$ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://nwalsh.com/docbook/xsl/ for copyright + and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<xsl:template name="block.object"> + <div class="{name(.)}"> + <xsl:call-template name="anchor"/> + <xsl:apply-templates/> + </div> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="para"> + <xsl:variable name="p"> + <p> + <xsl:if test="position() = 1 and parent::listitem"> + <xsl:call-template name="anchor"> + <xsl:with-param name="node" select="parent::listitem"/> + </xsl:call-template> + </xsl:if> + + <xsl:call-template name="anchor"/> + <xsl:apply-templates/> + </p> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$html.cleanup != 0"> + <xsl:call-template name="unwrap.p"> + <xsl:with-param name="p" select="$p"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$p"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="simpara"> + <!-- see also listitem/simpara in lists.xsl --> + <p> + <xsl:call-template name="anchor"/> + <xsl:apply-templates/> + </p> +</xsl:template> + +<xsl:template match="formalpara"> + <p> + <xsl:call-template name="anchor"/> + <xsl:apply-templates/> + </p> +</xsl:template> + +<xsl:template match="formalpara/title"> + <xsl:variable name="titleStr" select="."/> + <xsl:variable name="lastChar"> + <xsl:if test="$titleStr != ''"> + <xsl:value-of select="substring($titleStr,string-length($titleStr),1)"/> + </xsl:if> + </xsl:variable> + + <b> + <xsl:apply-templates/> + <xsl:if test="$lastChar != '' + and not(contains($runinhead.title.end.punct, $lastChar))"> + <xsl:value-of select="$runinhead.default.title.end.punct"/> + </xsl:if> + <xsl:text> </xsl:text> + </b> +</xsl:template> + +<xsl:template match="formalpara/para"> + <xsl:apply-templates/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="blockquote"> + <xsl:call-template name="anchor"/> + <xsl:choose> + <xsl:when test="attribution"> + <table border="0" width="100%" + cellspacing="0" cellpadding="0" class="blockquote" + summary="Block quote"> + <tr> + <td width="10%" valign="top"> </td> + <td width="80%" valign="top"> + <xsl:apply-templates + select="child::*[local-name(.)!='attribution']"/> + </td> + <td width="10%" valign="top"> </td> + </tr> + <tr> + <td colspan="2" align="right" valign="top"> + <xsl:text>--</xsl:text> + <xsl:apply-templates select="attribution"/> + </td> + <td width="10%" valign="top"> </td> + </tr> + </table> + </xsl:when> + <xsl:otherwise> + <blockquote class="blockquote"> + <xsl:apply-templates/> + </blockquote> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="blockquote/title"> + <div class="blockquote-title"> + <p> + <b> + <xsl:apply-templates/> + </b> + </p> + </div> +</xsl:template> + +<xsl:template match="epigraph"> + <div class="{name(.)}"> + <xsl:apply-templates select="para"/> + <span>--<xsl:apply-templates select="attribution"/></span> + </div> +</xsl:template> + +<xsl:template match="attribution"> + <span class="{name(.)}"><xsl:apply-templates/></span> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="sidebar"> + <div class="{name(.)}"> + <xsl:call-template name="anchor"/> + <xsl:apply-templates/> + </div> +</xsl:template> + +<xsl:template match="sidebar/title"> + <p class="title"> + <b><xsl:apply-templates/></b> + </p> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="abstract"> + <div class="{name(.)}"> + <xsl:call-template name="anchor"/> + <xsl:call-template name="formal.object.heading"> + <xsl:with-param name="title"> + <xsl:apply-templates select="." mode="title.markup"> + <xsl:with-param name="allow-anchors" select="'1'"/> + </xsl:apply-templates> + </xsl:with-param> + </xsl:call-template> + <xsl:apply-templates/> + </div> +</xsl:template> + +<xsl:template match="abstract/title"> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="msgset"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="msgentry"> + <xsl:call-template name="block.object"/> +</xsl:template> + +<xsl:template match="simplemsgentry"> + <xsl:call-template name="block.object"/> +</xsl:template> + +<xsl:template match="msg"> + <xsl:call-template name="block.object"/> +</xsl:template> + +<xsl:template match="msgmain"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="msgmain/title"> + <b><xsl:apply-templates/></b> +</xsl:template> + +<xsl:template match="msgsub"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="msgsub/title"> + <b><xsl:apply-templates/></b> +</xsl:template> + +<xsl:template match="msgrel"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="msgrel/title"> + <b><xsl:apply-templates/></b> +</xsl:template> + +<xsl:template match="msgtext"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="msginfo"> + <xsl:call-template name="block.object"/> +</xsl:template> + +<xsl:template match="msglevel"> + <p> + <b> + <xsl:call-template name="gentext.template"> + <xsl:with-param name="context" select="'msgset'"/> + <xsl:with-param name="name" select="'MsgLevel'"/> + </xsl:call-template> + </b> + <xsl:apply-templates/> + </p> +</xsl:template> + +<xsl:template match="msgorig"> + <p> + <b> + <xsl:call-template name="gentext.template"> + <xsl:with-param name="context" select="'msgset'"/> + <xsl:with-param name="name" select="'MsgOrig'"/> + </xsl:call-template> + </b> + <xsl:apply-templates/> + </p> +</xsl:template> + +<xsl:template match="msgaud"> + <p> + <b> + <xsl:call-template name="gentext.template"> + <xsl:with-param name="context" select="'msgset'"/> + <xsl:with-param name="name" select="'MsgAud'"/> + </xsl:call-template> + </b> + <xsl:apply-templates/> + </p> +</xsl:template> + +<xsl:template match="msgexplan"> + <xsl:call-template name="block.object"/> +</xsl:template> + +<xsl:template match="msgexplan/title"> + <p><b><xsl:apply-templates/></b></p> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="revhistory"> + <div class="{name(.)}"> + <table border="0" width="100%" summary="Revision history"> + <tr> + <th align="left" valign="top" colspan="3"> + <b> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'RevHistory'"/> + </xsl:call-template> + </b> + </th> + </tr> + <xsl:apply-templates/> + </table> + </div> +</xsl:template> + +<xsl:template match="revhistory/revision"> + <xsl:variable name="revnumber" select=".//revnumber"/> + <xsl:variable name="revdate" select=".//date"/> + <xsl:variable name="revauthor" select=".//authorinitials"/> + <xsl:variable name="revremark" select=".//revremark|../revdescription"/> + <tr> + <td align="left"> + <xsl:if test="$revnumber"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'Revision'"/> + </xsl:call-template> + <xsl:call-template name="gentext.space"/> + <xsl:apply-templates select="$revnumber"/> + </xsl:if> + </td> + <td align="left"> + <xsl:apply-templates select="$revdate"/> + </td> + <xsl:choose> + <xsl:when test="count($revauthor)=0"> + <td align="left"> + <xsl:call-template name="dingbat"> + <xsl:with-param name="dingbat">nbsp</xsl:with-param> + </xsl:call-template> + </td> + </xsl:when> + <xsl:otherwise> + <td align="left"> + <xsl:apply-templates select="$revauthor"/> + </td> + </xsl:otherwise> + </xsl:choose> + </tr> + <xsl:if test="$revremark"> + <tr> + <td align="left" colspan="3"> + <xsl:apply-templates select="$revremark"/> + </td> + </tr> + </xsl:if> +</xsl:template> + +<xsl:template match="revision/revnumber"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="revision/date"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="revision/authorinitials"> + <xsl:text>, </xsl:text> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="revision/authorinitials[1]" priority="2"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="revision/revremark"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="revision/revdescription"> + <xsl:apply-templates/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="ackno"> + <p class="{name(.)}"> + <xsl:apply-templates/> + </p> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="highlights"> + <xsl:call-template name="block.object"/> +</xsl:template> + +<!-- ==================================================================== --> + +</xsl:stylesheet> diff --git a/rosdocs/xsl/html/callout.xsl b/rosdocs/xsl/html/callout.xsl new file mode 100644 index 0000000..eadd803 --- /dev/null +++ b/rosdocs/xsl/html/callout.xsl @@ -0,0 +1,173 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:sverb="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.Verbatim" + xmlns:xverb="com.nwalsh.xalan.Verbatim" + xmlns:lxslt="http://xml.apache.org/xslt" + exclude-result-prefixes="sverb xverb lxslt" + version='1.0'> + +<!-- ******************************************************************** + $Id$ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://nwalsh.com/docbook/xsl/ for copyright + and other information. + + ******************************************************************** --> + +<lxslt:component prefix="xverb" + functions="insertCallouts"/> + +<xsl:template match="programlistingco|screenco"> + <xsl:variable name="verbatim" select="programlisting|screen"/> + + <xsl:choose> + <xsl:when test="$use.extensions != '0' + and $callouts.extension != '0'"> + <xsl:variable name="rtf"> + <xsl:apply-templates select="$verbatim"> + <xsl:with-param name="suppress-numbers" select="'1'"/> + </xsl:apply-templates> + </xsl:variable> + + <xsl:variable name="rtf-with-callouts"> + <xsl:choose> + <xsl:when test="function-available('sverb:insertCallouts')"> + <xsl:copy-of select="sverb:insertCallouts(areaspec,$rtf)"/> + </xsl:when> + <xsl:when test="function-available('xverb:insertCallouts')"> + <xsl:copy-of select="xverb:insertCallouts(areaspec,$rtf)"/> + </xsl:when> + <xsl:otherwise> + <xsl:message terminate="yes"> + <xsl:text>No insertCallouts function is available.</xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$verbatim/@linenumbering = 'numbered' + and $linenumbering.extension != '0'"> + <div class="{name(.)}"> + <xsl:call-template name="number.rtf.lines"> + <xsl:with-param name="rtf" select="$rtf-with-callouts"/> + <xsl:with-param name="pi.context" + select="programlisting|screen"/> + </xsl:call-template> + <xsl:apply-templates select="calloutlist"/> + </div> + </xsl:when> + <xsl:otherwise> + <div class="{name(.)}"> + <xsl:copy-of select="$rtf-with-callouts"/> + <xsl:apply-templates select="calloutlist"/> + </div> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <div class="{name(.)}"> + <xsl:apply-templates/> + </div> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="areaspec|areaset|area"> +</xsl:template> + +<xsl:template match="areaset" mode="conumber"> + <xsl:number count="area|areaset" format="1"/> +</xsl:template> + +<xsl:template match="area" mode="conumber"> + <xsl:number count="area|areaset" format="1"/> +</xsl:template> + +<xsl:template match="co"> + <!-- 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"> + <xsl:attribute name="name"> + <xsl:value-of select="@id"/> + </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:template> + + + + +<xsl:template match="co" mode="callout-bug"> + <xsl:call-template name="callout-bug"> + <xsl:with-param name="conum"> + <xsl:number count="co" format="1"/> + </xsl:with-param> + </xsl:call-template> +</xsl:template> + +<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"/> + </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> + +</xsl:stylesheet> diff --git a/rosdocs/xsl/html/changebars.xsl b/rosdocs/xsl/html/changebars.xsl new file mode 100644 index 0000000..801a378 --- /dev/null +++ b/rosdocs/xsl/html/changebars.xsl @@ -0,0 +1,85 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + +<xsl:import href="docbook.xsl"/> + +<xsl:param name="show.revisionflag" select="'1'"/> + +<xsl:template name="user.head.content"> +<style type="text/css"> +<xsl:text> +div.added { background-color: yellow; } +div.deleted { text-decoration: line-through; + background-color: #FF7F7F; } +div.changed { background-color: lime; } +div.off { } + +span.added { background-color: yellow; } +span.deleted { text-decoration: line-through; + background-color: #FF7F7F; } +span.changed { background-color: lime; } +span.off { } +</xsl:text> +</style> +</xsl:template> + +<xsl:template match="*[@revisionflag]"> + <xsl:choose> + <xsl:when test="local-name(.) = 'para' + or local-name(.) = 'simpara' + or local-name(.) = 'formalpara' + or local-name(.) = 'section' + or local-name(.) = 'sect1' + or local-name(.) = 'sect2' + or local-name(.) = 'sect3' + or local-name(.) = 'sect4' + or local-name(.) = 'sect5' + or local-name(.) = 'chapter' + or local-name(.) = 'preface' + or local-name(.) = 'itemizedlist' + or local-name(.) = 'varlistentry' + or local-name(.) = 'glossary' + or local-name(.) = 'bibliography' + or local-name(.) = 'index' + or local-name(.) = 'appendix'"> + <div class='{@revisionflag}'> + <xsl:apply-imports/> + </div> + </xsl:when> + <xsl:when test="local-name(.) = 'phrase' + or local-name(.) = 'ulink' + or local-name(.) = 'link' + or local-name(.) = 'filename' + or local-name(.) = 'literal' + or local-name(.) = 'member' + or local-name(.) = 'glossterm' + or local-name(.) = 'sgmltag' + or local-name(.) = 'quote' + or local-name(.) = 'emphasis' + or local-name(.) = 'command' + or local-name(.) = 'xref'"> + <span class='{@revisionflag}'> + <xsl:apply-imports/> + </span> + </xsl:when> + <xsl:when test="local-name(.) = 'listitem' + or local-name(.) = 'entry' + or local-name(.) = 'title'"> + <!-- nop; these are handled directly in the stylesheet --> + <xsl:apply-imports/> + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>Revisionflag on unexpected element: </xsl:text> + <xsl:value-of select="local-name(.)"/> + <xsl:text> (Assuming block)</xsl:text> + </xsl:message> + <div class='{@revisionflag}'> + <xsl:apply-imports/> + </div> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +</xsl:stylesheet> diff --git a/rosdocs/xsl/html/chunk-common.xsl b/rosdocs/xsl/html/chunk-common.xsl new file mode 100644 index 0000000..2209e69 --- /dev/null +++ b/rosdocs/xsl/html/chunk-common.xsl @@ -0,0 +1,905 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + +<xsl:template name="chunk"> + <xsl:param name="node" select="."/> + <!-- returns 1 if $node is a chunk --> + + <!-- ==================================================================== --> + <!-- What's a chunk? + + The root element + appendix + article + bibliography in article or book + book + chapter + colophon + glossary in article or book + index in article or book + part + preface + refentry + reference + sect{1,2,3,4,5} if position()>1 && depth < chunk.section.depth + section if position()>1 && depth < chunk.section.depth + set + setindex + --> + <!-- ==================================================================== --> + +<!-- + <xsl:message> + <xsl:text>chunk: </xsl:text> + <xsl:value-of select="name($node)"/> + <xsl:text>(</xsl:text> + <xsl:value-of select="$node/@id"/> + <xsl:text>)</xsl:text> + <xsl:text> csd: </xsl:text> + <xsl:value-of select="$chunk.section.depth"/> + <xsl:text> cfs: </xsl:text> + <xsl:value-of select="$chunk.first.sections"/> + <xsl:text> ps: </xsl:text> + <xsl:value-of select="count($node/parent::section)"/> + <xsl:text> prs: </xsl:text> + <xsl:value-of select="count($node/preceding-sibling::section)"/> + </xsl:message> +--> + + <xsl:choose> + <xsl:when test="not($node/parent::*)">1</xsl:when> + + <xsl:when test="local-name($node) = 'sect1' + and $chunk.section.depth >= 1 + and ($chunk.first.sections != 0 + or count($node/preceding-sibling::sect1) > 0)"> + <xsl:text>1</xsl:text> + </xsl:when> + <xsl:when test="local-name($node) = 'sect2' + and $chunk.section.depth >= 2 + and ($chunk.first.sections != 0 + or count($node/preceding-sibling::sect2) > 0)"> + <xsl:call-template name="chunk"> + <xsl:with-param name="node" select="$node/parent::*"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="local-name($node) = 'sect3' + and $chunk.section.depth >= 3 + and ($chunk.first.sections != 0 + or count($node/preceding-sibling::sect3) > 0)"> + <xsl:call-template name="chunk"> + <xsl:with-param name="node" select="$node/parent::*"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="local-name($node) = 'sect4' + and $chunk.section.depth >= 4 + and ($chunk.first.sections != 0 + or count($node/preceding-sibling::sect4) > 0)"> + <xsl:call-template name="chunk"> + <xsl:with-param name="node" select="$node/parent::*"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="local-name($node) = 'sect5' + and $chunk.section.depth >= 5 + and ($chunk.first.sections != 0 + or count($node/preceding-sibling::sect5) > 0)"> + <xsl:call-template name="chunk"> + <xsl:with-param name="node" select="$node/parent::*"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="local-name($node) = 'section' + and $chunk.section.depth >= count(ancestor::section)+1 + and ($chunk.first.sections != 0 + or count($node/preceding-sibling::section) > 0)"> + <xsl:call-template name="chunk"> + <xsl:with-param name="node" select="$node/parent::*"/> + </xsl:call-template> + </xsl:when> + + <xsl:when test="name($node)='preface'">1</xsl:when> + <xsl:when test="name($node)='chapter'">1</xsl:when> + <xsl:when test="name($node)='appendix'">1</xsl:when> + <xsl:when test="name($node)='article'">1</xsl:when> + <xsl:when test="name($node)='part'">1</xsl:when> + <xsl:when test="name($node)='reference'">1</xsl:when> + <xsl:when test="name($node)='refentry'">1</xsl:when> + <xsl:when test="name($node)='index' + and (name($node/parent::*) = 'article' + or name($node/parent::*) = 'book')">1</xsl:when> + <xsl:when test="name($node)='bibliography' + and (name($node/parent::*) = 'article' + or name($node/parent::*) = 'book')">1</xsl:when> + <xsl:when test="name($node)='glossary' + and (name($node/parent::*) = 'article' + or name($node/parent::*) = 'book')">1</xsl:when> + <xsl:when test="name($node)='colophon'">1</xsl:when> + <xsl:when test="name($node)='book'">1</xsl:when> + <xsl:when test="name($node)='set'">1</xsl:when> + <xsl:when test="name($node)='setindex'">1</xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="*" mode="chunk-filename"> + <xsl:variable name="fn"> + <xsl:apply-templates select="." mode="recursive-chunk-filename"/> + </xsl:variable> + + <xsl:if test="$fn != ''"> + <xsl:call-template name="dbhtml-dir"/> + </xsl:if> + + <xsl:value-of select="$fn"/> +</xsl:template> + +<xsl:template match="*" mode="recursive-chunk-filename"> + <xsl:param name="recursive" select="false()"/> + + <!-- returns the filename of a chunk --> + <xsl:variable name="ischunk"> + <xsl:call-template name="chunk"/> + </xsl:variable> + + <xsl:variable name="dbhtml-filename"> + <xsl:call-template name="dbhtml-filename"/> + </xsl:variable> + + <xsl:variable name="filename"> + <xsl:choose> + <xsl:when test="$dbhtml-filename != ''"> + <xsl:value-of select="$dbhtml-filename"/> + </xsl:when> + <!-- if this is the root element, use the root.filename --> + <xsl:when test="not(parent::*) and $root.filename != ''"> + <xsl:value-of select="$root.filename"/> + <xsl:value-of select="$html.ext"/> + </xsl:when> + <!-- if there's no dbhtml filename, and if we're to use IDs as --> + <!-- filenames, then use the ID to generate the filename. --> + <xsl:when test="@id and $use.id.as.filename != 0"> + <xsl:value-of select="@id"/> + <xsl:value-of select="$html.ext"/> + </xsl:when> + <xsl:otherwise></xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$ischunk='0'"> + <!-- if called on something that isn't a chunk, walk up... --> + <xsl:choose> + <xsl:when test="count(parent::*)>0"> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="$recursive"/> + </xsl:apply-templates> + </xsl:when> + <!-- unless there is no up, in which case return "" --> + <xsl:otherwise></xsl:otherwise> + </xsl:choose> + </xsl:when> + + <xsl:when test="not($recursive) and $filename != ''"> + <!-- if this chunk has an explicit name, use it --> + <xsl:value-of select="$filename"/> + </xsl:when> + + <xsl:when test="name(.)='set'"> + <xsl:value-of select="$root.filename"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="name(.)='book'"> + <xsl:text>bk</xsl:text> + <xsl:number level="any" format="01"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="name(.)='article'"> + <xsl:if test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:if> + + <xsl:text>ar</xsl:text> + <xsl:number level="any" format="01" from="book"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="name(.)='preface'"> + <xsl:if test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:if> + + <xsl:text>pr</xsl:text> + <xsl:number level="any" format="01" from="book"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="name(.)='chapter'"> + <xsl:if test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:if> + + <xsl:text>ch</xsl:text> + <xsl:number level="any" format="01" from="book"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="name(.)='appendix'"> + <xsl:if test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:if> + + <xsl:text>ap</xsl:text> + <xsl:number level="any" format="a" from="book"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="name(.)='part'"> + <xsl:choose> + <xsl:when test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + </xsl:otherwise> + </xsl:choose> + + <xsl:text>pt</xsl:text> + <xsl:number level="any" format="01" from="book"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="name(.)='reference'"> + <xsl:choose> + <xsl:when test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + </xsl:otherwise> + </xsl:choose> + + <xsl:text>rn</xsl:text> + <xsl:number level="any" format="01" from="book"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="name(.)='refentry'"> + <xsl:choose> + <xsl:when test="parent::reference"> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + </xsl:otherwise> + </xsl:choose> + + <xsl:text>re</xsl:text> + <xsl:number level="any" format="01" from="book"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="name(.)='colophon'"> + <xsl:choose> + <xsl:when test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + </xsl:otherwise> + </xsl:choose> + + <xsl:text>co</xsl:text> + <xsl:number level="any" format="01" from="book"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="local-name(.) = 'sect1' + or local-name(.) = 'sect2' + or local-name(.) = 'sect3' + or local-name(.) = 'sect4' + or local-name(.) = 'sect5' + or local-name(.) = 'section'"> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + <xsl:text>s</xsl:text> + <xsl:number format="01"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="name(.)='sect1' or name(.)='section'"> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + <xsl:text>s</xsl:text> + <xsl:number level="any" format="01" from="preface|chapter|appendix"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="name(.)='bibliography'"> + <xsl:choose> + <xsl:when test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + </xsl:otherwise> + </xsl:choose> + + <xsl:text>bi</xsl:text> + <xsl:number level="any" format="01" from="book"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="name(.)='glossary'"> + <xsl:choose> + <xsl:when test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + </xsl:otherwise> + </xsl:choose> + + <xsl:text>go</xsl:text> + <xsl:number level="any" format="01" from="book"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="name(.)='index'"> + <xsl:choose> + <xsl:when test="/set"> + <!-- in a set, make sure we inherit the right book info... --> + <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*"> + <xsl:with-param name="recursive" select="true()"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + </xsl:otherwise> + </xsl:choose> + + <xsl:text>ix</xsl:text> + <xsl:number level="any" format="01" from="book"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:when test="name(.)='setindex'"> + <xsl:text>si</xsl:text> + <xsl:number level="any" format="01" from="set"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:when> + + <xsl:otherwise> + <xsl:text>chunk-filename-error-</xsl:text> + <xsl:value-of select="name(.)"/> + <xsl:number level="any" format="01" from="set"/> + <xsl:if test="not($recursive)"> + <xsl:value-of select="$html.ext"/> + </xsl:if> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="href.target.uri"> + <xsl:param name="object" select="."/> + <xsl:variable name="ischunk"> + <xsl:call-template name="chunk"> + <xsl:with-param name="node" select="$object"/> + </xsl:call-template> + </xsl:variable> + + <xsl:apply-templates mode="chunk-filename" select="$object"/> + + <xsl:if test="$ischunk='0'"> + <xsl:text>#</xsl:text> + <xsl:call-template name="object.id"> + <xsl:with-param name="object" select="$object"/> + </xsl:call-template> + </xsl:if> +</xsl:template> + +<xsl:template name="href.target"> + <xsl:param name="context" select="."/> + <xsl:param name="object" select="."/> + + <xsl:variable name="href.to.uri"> + <xsl:call-template name="href.target.uri"> + <xsl:with-param name="object" select="$object"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="href.from.uri"> + <xsl:call-template name="href.target.uri"> + <xsl:with-param name="object" select="$context"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="href.to"> + <xsl:call-template name="trim.common.uri.paths"> + <xsl:with-param name="uriA" select="$href.to.uri"/> + <xsl:with-param name="uriB" select="$href.from.uri"/> + <xsl:with-param name="return" select="'A'"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="href.from"> + <xsl:call-template name="trim.common.uri.paths"> + <xsl:with-param name="uriA" select="$href.to.uri"/> + <xsl:with-param name="uriB" select="$href.from.uri"/> + <xsl:with-param name="return" select="'B'"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="depth"> + <xsl:call-template name="count.uri.path.depth"> + <xsl:with-param name="filename" select="$href.from"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="href"> + <xsl:call-template name="copy-string"> + <xsl:with-param name="string" select="'../'"/> + <xsl:with-param name="count" select="$depth"/> + </xsl:call-template> + <xsl:value-of select="$href.to"/> + </xsl:variable> + +<!-- + <xsl:message> + <xsl:text>In </xsl:text> + <xsl:value-of select="name(.)"/> + <xsl:text> (</xsl:text> + <xsl:value-of select="$href.from"/> + <xsl:text>,</xsl:text> + <xsl:value-of select="$depth"/> + <xsl:text>) </xsl:text> + <xsl:value-of select="name($object)"/> + <xsl:text> href=</xsl:text> + <xsl:value-of select="$href"/> + </xsl:message> +--> + + <xsl:value-of select="$href"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="html.head"> + <xsl:param name="prev" select="/foo"/> + <xsl:param name="next" select="/foo"/> + <xsl:variable name="this" select="."/> + <xsl:variable name="home" select="/*[1]"/> + <xsl:variable name="up" select="parent::*"/> + + <head> + <xsl:call-template name="head.content"/> + <xsl:call-template name="user.head.content"/> + + <xsl:if test="$home"> + <link rel="home"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$home"/> + </xsl:call-template> + </xsl:attribute> + <xsl:attribute name="title"> + <xsl:apply-templates select="$home" + mode="object.title.markup.textonly"/> + </xsl:attribute> + </link> + </xsl:if> + + <xsl:if test="$up"> + <link rel="up"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$up"/> + </xsl:call-template> + </xsl:attribute> + <xsl:attribute name="title"> + <xsl:apply-templates select="$up" mode="object.title.markup.textonly"/> + </xsl:attribute> + </link> + </xsl:if> + + <xsl:if test="$prev"> + <link rel="previous"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$prev"/> + </xsl:call-template> + </xsl:attribute> + <xsl:attribute name="title"> + <xsl:apply-templates select="$prev" mode="object.title.markup.textonly"/> + </xsl:attribute> + </link> + </xsl:if> + + <xsl:if test="$next"> + <link rel="next"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$next"/> + </xsl:call-template> + </xsl:attribute> + <xsl:attribute name="title"> + <xsl:apply-templates select="$next" mode="object.title.markup.textonly"/> + </xsl:attribute> + </link> + </xsl:if> + + <xsl:if test="$html.extra.head.links != 0"> + <xsl:for-each select="//part + |//reference + |//preface + |//chapter + |//article + |//refentry + |//appendix[not(parent::article)]|appendix + |//glossary[not(parent::article)]|glossary + |//index[not(parent::article)]|index"> + <link rel="{local-name(.)}"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="context" select="$this"/> + <xsl:with-param name="object" select="."/> + </xsl:call-template> + </xsl:attribute> + <xsl:attribute name="title"> + <xsl:apply-templates select="." mode="object.title.markup.textonly"/> + </xsl:attribute> + </link> + </xsl:for-each> + + <xsl:for-each select="section|sect1|refsection|refsect1"> + <link> + <xsl:attribute name="rel"> + <xsl:choose> + <xsl:when test="local-name($this) = 'section' + or local-name($this) = 'refsection'"> + <xsl:value-of select="'subsection'"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="'section'"/> + </xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="context" select="$this"/> + <xsl:with-param name="object" select="."/> + </xsl:call-template> + </xsl:attribute> + <xsl:attribute name="title"> + <xsl:apply-templates select="." mode="object.title.markup.textonly"/> + </xsl:attribute> + </link> + </xsl:for-each> + + <xsl:for-each select="sect2|sect3|sect4|sect5|refsect2|refsect3"> + <link rel="subsection"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="context" select="$this"/> + <xsl:with-param name="object" select="."/> + </xsl:call-template> + </xsl:attribute> + <xsl:attribute name="title"> + <xsl:apply-templates select="." mode="object.title.markup.textonly"/> + </xsl:attribute> + </link> + </xsl:for-each> + </xsl:if> + </head> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="header.navigation"> + <xsl:param name="prev" select="/foo"/> + <xsl:param name="next" select="/foo"/> + <xsl:variable name="home" select="/*[1]"/> + <xsl:variable name="up" select="parent::*"/> + + <xsl:if test="$suppress.navigation = '0'"> + <div class="navheader"> + <table width="100%" summary="Navigation header"> + <xsl:if test="$navig.showtitles != 0"> + <tr> + <th colspan="3" align="center"> + <xsl:apply-templates select="." mode="object.title.markup"/> + </th> + </tr> + </xsl:if> + <tr> + <td width="20%" align="left"> + <xsl:if test="count($prev)>0"> + <a accesskey="p"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$prev"/> + </xsl:call-template> + </xsl:attribute> + <xsl:call-template name="navig.content"> + <xsl:with-param name="direction" select="'prev'"/> + </xsl:call-template> + </a> + </xsl:if> + <xsl:text> </xsl:text> + </td> + <th width="60%" align="center"> + <xsl:choose> + <xsl:when test="count($up) > 0 and $up != $home and $navig.showtitles != 0"> + <xsl:apply-templates select="$up" mode="object.title.markup"/> + </xsl:when> + <xsl:otherwise> </xsl:otherwise> + </xsl:choose> + </th> + <td width="20%" align="right"> + <xsl:text> </xsl:text> + <xsl:if test="count($next)>0"> + <a accesskey="n"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$next"/> + </xsl:call-template> + </xsl:attribute> + <xsl:call-template name="navig.content"> + <xsl:with-param name="direction" select="'next'"/> + </xsl:call-template> + </a> + </xsl:if> + </td> + </tr> + </table> + <hr/> + </div> + </xsl:if> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="footer.navigation"> + <xsl:param name="prev" select="/foo"/> + <xsl:param name="next" select="/foo"/> + <xsl:variable name="home" select="/*[1]"/> + <xsl:variable name="up" select="parent::*"/> + + <xsl:if test="$suppress.navigation = '0'"> + <div class="navfooter"> + <hr/> + <table width="100%" summary="Navigation footer"> + <tr> + <td width="40%" align="left"> + <xsl:if test="count($prev)>0"> + <a accesskey="p"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$prev"/> + </xsl:call-template> + </xsl:attribute> + <xsl:call-template name="navig.content"> + <xsl:with-param name="direction" select="'prev'"/> + </xsl:call-template> + </a> + </xsl:if> + <xsl:text> </xsl:text> + </td> + <td width="20%" align="center"> + <xsl:choose> + <xsl:when test="count($up)>0"> + <a accesskey="u"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$up"/> + </xsl:call-template> + </xsl:attribute> + <xsl:call-template name="navig.content"> + <xsl:with-param name="direction" select="'up'"/> + </xsl:call-template> + </a> + </xsl:when> + <xsl:otherwise> </xsl:otherwise> + </xsl:choose> + </td> + <td width="40%" align="right"> + <xsl:text> </xsl:text> + <xsl:if test="count($next)>0"> + <a accesskey="n"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$next"/> + </xsl:call-template> + </xsl:attribute> + <xsl:call-template name="navig.content"> + <xsl:with-param name="direction" select="'next'"/> + </xsl:call-template> + </a> + </xsl:if> + </td> + </tr> + + <tr> + <td width="40%" align="left" valign="top"> + <xsl:if test="$navig.showtitles != 0"> + <xsl:apply-templates select="$prev" mode="object.title.markup"/> + </xsl:if> + <xsl:text> </xsl:text> + </td> + <td width="20%" align="center"> + <xsl:choose> + <xsl:when test="$home != ."> + <a accesskey="h"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$home"/> + </xsl:call-template> + </xsl:attribute> + <xsl:call-template name="navig.content"> + <xsl:with-param name="direction" select="'home'"/> + </xsl:call-template> + </a> + </xsl:when> + <xsl:otherwise> </xsl:otherwise> + </xsl:choose> + </td> + <td width="40%" align="right" valign="top"> + <xsl:text> </xsl:text> + <xsl:if test="$navig.showtitles != 0"> + <xsl:apply-templates select="$next" mode="object.title.markup"/> + </xsl:if> + </td> + </tr> + </table> + </div> + </xsl:if> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="navig.content"> + <xsl:param name="direction" select="next"/> + <xsl:variable name="navtext"> + <xsl:choose> + <xsl:when test="$direction = 'prev'"> + <xsl:call-template name="gentext.nav.prev"/> + </xsl:when> + <xsl:when test="$direction = 'next'"> + <xsl:call-template name="gentext.nav.next"/> + </xsl:when> + <xsl:when test="$direction = 'up'"> + <xsl:call-template name="gentext.nav.up"/> + </xsl:when> + <xsl:when test="$direction = 'home'"> + <xsl:call-template name="gentext.nav.home"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>xxx</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$navig.graphics != 0"> + <img> + <xsl:attribute name="src"> + <xsl:value-of select="$navig.graphics.path"/> + <xsl:value-of select="$direction"/> + <xsl:value-of select="$navig.graphics.extension"/> + </xsl:attribute> + <xsl:attribute name="alt"> + <xsl:value-of select="$navtext"/> + </xsl:attribute> + </img> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$navtext"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="processing-instruction('dbhtml')"> + <!-- nop --> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="chunk-element-content"> + <xsl:param name="prev"></xsl:param> + <xsl:param name="next"></xsl:param> + + <html> + <xsl:call-template name="html.head"> + <xsl:with-param name="prev" select="$prev"/> + <xsl:with-param name="next" select="$next"/> + </xsl:call-template> + + <body> + <xsl:call-template name="body.attributes"/> + <xsl:call-template name="user.header.navigation"/> + + <xsl:call-template name="header.navigation"> + <xsl:with-param name="prev" select="$prev"/> + <xsl:with-param name="next" select="$next"/> + </xsl:call-template> + + <xsl:call-template name="user.header.content"/> + + <xsl:apply-imports/> + + <xsl:call-template name="user.footer.content"/> + + <xsl:call-template name="footer.navigation"> + <xsl:with-param name="prev" select="$prev"/> + <xsl:with-param name="next" select="$next"/> + </xsl:call-template> + + <xsl:call-template name="user.footer.navigation"/> + </body> + </html> +</xsl:template> + +</xsl:stylesheet> diff --git a/rosdocs/xsl/html/chunk.xsl b/rosdocs/xsl/html/chunk.xsl new file mode 100644 index 0000000..60cbd81 --- /dev/null +++ b/rosdocs/xsl/html/chunk.xsl @@ -0,0 +1,624 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" + version="1.0" + exclude-result-prefixes="doc"> + +<xsl:import href="docbook.xsl"/> +<xsl:import href="chunk-common.xsl"/> +<xsl:include href="manifest.xsl"/> + +<xsl:param name="onechunk" select="0"/> +<xsl:param name="refentry.separator" select="0"/> + +<!-- ==================================================================== --> + +<xsl:template name="process-chunk-element"> + <xsl:choose> + <xsl:when test="$onechunk != 0 and not(parent::*)"> + <xsl:call-template name="chunk-all-sections"/> + </xsl:when> + <xsl:when test="$onechunk != 0"> + <xsl:apply-imports/> + </xsl:when> + <xsl:when test="$chunk.first.sections = 0"> + <xsl:call-template name="chunk-first-section-with-parent"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="chunk-all-sections"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="process-chunk"> + <xsl:param name="prev" select="."/> + <xsl:param name="next" select="."/> + + <xsl:variable name="ischunk"> + <xsl:call-template name="chunk"/> + </xsl:variable> + + <xsl:variable name="chunkfn"> + <xsl:if test="$ischunk='1'"> + <xsl:apply-templates mode="chunk-filename" select="."/> + </xsl:if> + </xsl:variable> + + <xsl:if test="$ischunk='0'"> + <xsl:message> + <xsl:text>Error </xsl:text> + <xsl:value-of select="name(.)"/> + <xsl:text> is not a chunk!</xsl:text> + </xsl:message> + </xsl:if> + + <xsl:variable name="filename"> + <xsl:call-template name="make-relative-filename"> + <xsl:with-param name="base.dir" select="$base.dir"/> + <xsl:with-param name="base.name" select="$chunkfn"/> + </xsl:call-template> + </xsl:variable> + + <xsl:call-template name="write.chunk"> + <xsl:with-param name="filename" select="$filename"/> + <xsl:with-param name="content"> + <xsl:call-template name="chunk-element-content"> + <xsl:with-param name="prev" select="$prev"/> + <xsl:with-param name="next" select="$next"/> + </xsl:call-template> + </xsl:with-param> + <xsl:with-param name="quiet" select="$chunk.quietly"/> + </xsl:call-template> +</xsl:template> + +<xsl:template name="chunk-first-section-with-parent"> + <!-- These xpath expressions are really hairy. The trick is to pick sections --> + <!-- that are not first children and are not the children of first children --> + + <!-- Break these variables into pieces to work around + http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6063 --> + + <xsl:variable name="prev-v1" + select="(ancestor::sect1[$chunk.section.depth > 0 + and preceding-sibling::sect1][1] + + |ancestor::sect2[$chunk.section.depth > 1 + and preceding-sibling::sect2 + and parent::sect1[preceding-sibling::sect1]][1] + + |ancestor::sect3[$chunk.section.depth > 2 + and preceding-sibling::sect3 + and parent::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |ancestor::sect4[$chunk.section.depth > 3 + and preceding-sibling::sect4 + and parent::sect3[preceding-sibling::sect2] + and ancestor::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |ancestor::sect5[$chunk.section.depth > 4 + and preceding-sibling::sect5 + and parent::sect4[preceding-sibling::sect4] + and ancestor::sect3[preceding-sibling::sect3] + and ancestor::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |ancestor::section[$chunk.section.depth > count(ancestor::section) + and not(ancestor::section[not(preceding-sibling::section)])][1])[last()]"/> + + <xsl:variable name="prev-v2" + select="(preceding::sect1[$chunk.section.depth > 0 + and preceding-sibling::sect1][1] + + |preceding::sect2[$chunk.section.depth > 1 + and preceding-sibling::sect2 + and parent::sect1[preceding-sibling::sect1]][1] + + |preceding::sect3[$chunk.section.depth > 2 + and preceding-sibling::sect3 + and parent::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |preceding::sect4[$chunk.section.depth > 3 + and preceding-sibling::sect4 + and parent::sect3[preceding-sibling::sect2] + and ancestor::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |preceding::sect5[$chunk.section.depth > 4 + and preceding-sibling::sect5 + and parent::sect4[preceding-sibling::sect4] + and ancestor::sect3[preceding-sibling::sect3] + and ancestor::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |preceding::section[$chunk.section.depth > count(ancestor::section) + and preceding-sibling::section + and not(ancestor::section[not(preceding-sibling::section)])][1])[last()]"/> + + <xsl:variable name="prev" + select="(preceding::book[1] + |preceding::preface[1] + |preceding::chapter[1] + |preceding::appendix[1] + |preceding::part[1] + |preceding::reference[1] + |preceding::refentry[1] + |preceding::colophon[1] + |preceding::article[1] + |preceding::bibliography[1] + |preceding::glossary[1] + |preceding::index[1] + |preceding::setindex[1] + |ancestor::set + |ancestor::book[1] + |ancestor::preface[1] + |ancestor::chapter[1] + |ancestor::appendix[1] + |ancestor::part[1] + |ancestor::reference[1] + |ancestor::article[1] + |$prev-v1 + |$prev-v2)[last()]"/> + + <xsl:variable name="next-v1" + select="(following::sect1[$chunk.section.depth > 0 + and preceding-sibling::sect1][1] + + |following::sect2[$chunk.section.depth > 1 + and preceding-sibling::sect2 + and parent::sect1[preceding-sibling::sect1]][1] + + |following::sect3[$chunk.section.depth > 2 + and preceding-sibling::sect3 + and parent::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |following::sect4[$chunk.section.depth > 3 + and preceding-sibling::sect4 + and parent::sect3[preceding-sibling::sect2] + and ancestor::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |following::sect5[$chunk.section.depth > 4 + and preceding-sibling::sect5 + and parent::sect4[preceding-sibling::sect4] + and ancestor::sect3[preceding-sibling::sect3] + and ancestor::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |following::section[$chunk.section.depth > count(ancestor::section) + and preceding-sibling::section + and not(ancestor::section[not(preceding-sibling::section)])][1])[1]"/> + + <xsl:variable name="next-v2" + select="(descendant::sect1[$chunk.section.depth > 0 + and preceding-sibling::sect1][1] + + |descendant::sect2[$chunk.section.depth > 1 + and preceding-sibling::sect2 + and parent::sect1[preceding-sibling::sect1]][1] + + |descendant::sect3[$chunk.section.depth > 2 + and preceding-sibling::sect3 + and parent::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |descendant::sect4[$chunk.section.depth > 3 + and preceding-sibling::sect4 + and parent::sect3[preceding-sibling::sect2] + and ancestor::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |descendant::sect5[$chunk.section.depth > 4 + and preceding-sibling::sect5 + and parent::sect4[preceding-sibling::sect4] + and ancestor::sect3[preceding-sibling::sect3] + and ancestor::sect2[preceding-sibling::sect2] + and ancestor::sect1[preceding-sibling::sect1]][1] + + |descendant::section[$chunk.section.depth > count(ancestor::section) + and preceding-sibling::section + and not(ancestor::section[not(preceding-sibling::section)])])[1]"/> + + <xsl:variable name="next" + select="(following::book[1] + |following::preface[1] + |following::chapter[1] + |following::appendix[1] + |following::part[1] + |following::reference[1] + |following::refentry[1] + |following::colophon[1] + |following::bibliography[1] + |following::glossary[1] + |following::index[1] + |following::article[1] + |following::setindex[1] + |descendant::book[1] + |descendant::preface[1] + |descendant::chapter[1] + |descendant::appendix[1] + |descendant::article[1] + |descendant::bibliography[1] + |descendant::glossary[1] + |descendant::index[1] + |descendant::colophon[1] + |descendant::setindex[1] + |descendant::part[1] + |descendant::reference[1] + |descendant::refentry[1] + |$next-v1 + |$next-v2)[1]"/> + + <xsl:call-template name="process-chunk"> + <xsl:with-param name="prev" select="$prev"/> + <xsl:with-param name="next" select="$next"/> + </xsl:call-template> +</xsl:template> + +<xsl:template name="chunk-all-sections"> + <xsl:variable name="prev-v1" + select="(preceding::sect1[$chunk.section.depth > 0][1] + |preceding::sect2[$chunk.section.depth > 1][1] + |preceding::sect3[$chunk.section.depth > 2][1] + |preceding::sect4[$chunk.section.depth > 3][1] + |preceding::sect5[$chunk.section.depth > 4][1] + |preceding::section[$chunk.section.depth > count(ancestor::section)][1])[last()]"/> + + <xsl:variable name="prev-v2" + select="(ancestor::sect1[$chunk.section.depth > 0][1] + |ancestor::sect2[$chunk.section.depth > 1][1] + |ancestor::sect3[$chunk.section.depth > 2][1] + |ancestor::sect4[$chunk.section.depth > 3][1] + |ancestor::sect5[$chunk.section.depth > 4][1] + |ancestor::section[$chunk.section.depth > count(ancestor::section)][1])[last()]"/> + + <xsl:variable name="prev" + select="(preceding::book[1] + |preceding::preface[1] + |preceding::chapter[1] + |preceding::appendix[1] + |preceding::part[1] + |preceding::reference[1] + |preceding::refentry[1] + |preceding::colophon[1] + |preceding::article[1] + |preceding::bibliography[1] + |preceding::glossary[1] + |preceding::index[1] + |preceding::setindex[1] + |ancestor::set + |ancestor::book[1] + |ancestor::preface[1] + |ancestor::chapter[1] + |ancestor::appendix[1] + |ancestor::part[1] + |ancestor::reference[1] + |ancestor::article[1] + |$prev-v1 + |$prev-v2)[last()]"/> + + <xsl:variable name="next-v1" + select="(following::sect1[$chunk.section.depth > 0][1] + |following::sect2[$chunk.section.depth > 1][1] + |following::sect3[$chunk.section.depth > 2][1] + |following::sect4[$chunk.section.depth > 3][1] + |following::sect5[$chunk.section.depth > 4][1] + |following::section[$chunk.section.depth > count(ancestor::section)][1])[1]"/> + + <xsl:variable name="next-v2" + select="(descendant::sect1[$chunk.section.depth > 0][1] + |descendant::sect2[$chunk.section.depth > 1][1] + |descendant::sect3[$chunk.section.depth > 2][1] + |descendant::sect4[$chunk.section.depth > 3][1] + |descendant::sect5[$chunk.section.depth > 4][1] + |descendant::section[$chunk.section.depth + > count(ancestor::section)][1])[1]"/> + + <xsl:variable name="next" + select="(following::book[1] + |following::preface[1] + |following::chapter[1] + |following::appendix[1] + |following::part[1] + |following::reference[1] + |following::refentry[1] + |following::colophon[1] + |following::bibliography[1] + |following::glossary[1] + |following::index[1] + |following::article[1] + |following::setindex[1] + |descendant::book[1] + |descendant::preface[1] + |descendant::chapter[1] + |descendant::appendix[1] + |descendant::article[1] + |descendant::bibliography[1] + |descendant::glossary[1] + |descendant::index[1] + |descendant::colophon[1] + |descendant::setindex[1] + |descendant::part[1] + |descendant::reference[1] + |descendant::refentry[1] + |$next-v1 + |$next-v2)[1]"/> + + <xsl:call-template name="process-chunk"> + <xsl:with-param name="prev" select="$prev"/> + <xsl:with-param name="next" select="$next"/> + </xsl:call-template> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="/"> + <xsl:choose> + <xsl:when test="$rootid != ''"> + <xsl:choose> + <xsl:when test="count(key('id',$rootid)) = 0"> + <xsl:message terminate="yes"> + <xsl:text>ID '</xsl:text> + <xsl:value-of select="$rootid"/> + <xsl:text>' not found in document.</xsl:text> + </xsl:message> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="key('id',$rootid)"/> + <xsl:if test="$tex.math.in.alt != ''"> + <xsl:apply-templates select="key('id',$rootid)" mode="collect.tex.math"/> + </xsl:if> + <xsl:if test="$generate.manifest != 0"> + <xsl:call-template name="generate.manifest"> + <xsl:with-param name="node" select="key('id',$rootid)"/> + </xsl:call-template> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="/" mode="process.root"/> + <xsl:if test="$tex.math.in.alt != ''"> + <xsl:apply-templates select="/" mode="collect.tex.math"/> + </xsl:if> + <xsl:if test="$generate.manifest != 0"> + <xsl:call-template name="generate.manifest"/> + </xsl:if> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="*" mode="process.root"> + <xsl:apply-templates select="."/> +</xsl:template> + +<xsl:template match="set|book|part|preface|chapter|appendix + |article + |reference|refentry + |book/glossary|article/glossary + |book/bibliography|article/bibliography + |colophon"> + <xsl:choose> + <xsl:when test="$onechunk != 0 and parent::*"> + <xsl:apply-imports/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="process-chunk-element"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="sect1|sect2|sect3|sect4|sect5|section"> + <xsl:variable name="ischunk"> + <xsl:call-template name="chunk"/> + </xsl:variable> + + <xsl:choose> + <xsl:when test="not(parent::*)"> + <xsl:call-template name="process-chunk-element"/> + </xsl:when> + <xsl:when test="$ischunk = 0"> + <xsl:apply-imports/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="process-chunk-element"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="setindex + |book/index + |article/index"> + <!-- some implementations use completely empty index tags to indicate --> + <!-- where an automatically generated index should be inserted. so --> + <!-- if the index is completely empty, skip it. --> + <xsl:if test="count(*)>0 or $generate.index != '0'"> + <xsl:call-template name="process-chunk-element"/> + </xsl:if> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="in.other.chunk"> + <xsl:param name="chunk" select="."/> + <xsl:param name="node" select="."/> + + <xsl:variable name="is.chunk"> + <xsl:call-template name="chunk"> + <xsl:with-param name="node" select="$node"/> + </xsl:call-template> + </xsl:variable> + +<!-- + <xsl:message> + <xsl:text>in.other.chunk: </xsl:text> + <xsl:value-of select="name($chunk)"/> + <xsl:text> </xsl:text> + <xsl:value-of select="name($node)"/> + <xsl:text> </xsl:text> + <xsl:value-of select="$chunk = $node"/> + <xsl:text> </xsl:text> + <xsl:value-of select="$is.chunk"/> + </xsl:message> +--> + + <xsl:choose> + <xsl:when test="$chunk = $node">0</xsl:when> + <xsl:when test="$is.chunk = 1">1</xsl:when> + <xsl:when test="count($node) = 0">0</xsl:when> + <xsl:otherwise> + <xsl:call-template name="in.other.chunk"> + <xsl:with-param name="chunk" select="$chunk"/> + <xsl:with-param name="node" select="$node/parent::*"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="count.footnotes.in.this.chunk"> + <xsl:param name="node" select="."/> + <xsl:param name="footnotes" select="$node//footnote"/> + <xsl:param name="count" select="0"/> + +<!-- + <xsl:message> + <xsl:text>count.footnotes.in.this.chunk: </xsl:text> + <xsl:value-of select="name($node)"/> + </xsl:message> +--> + + <xsl:variable name="in.other.chunk"> + <xsl:call-template name="in.other.chunk"> + <xsl:with-param name="chunk" select="$node"/> + <xsl:with-param name="node" select="$footnotes[1]"/> + </xsl:call-template> + </xsl:variable> + + <xsl:choose> + <xsl:when test="count($footnotes) = 0"> + <xsl:value-of select="$count"/> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="$in.other.chunk != 0"> + <xsl:call-template name="count.footnotes.in.this.chunk"> + <xsl:with-param name="node" select="$node"/> + <xsl:with-param name="footnotes" + select="$footnotes[position() > 1]"/> + <xsl:with-param name="count" select="$count"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$footnotes[1]/ancestor::table + |$footnotes[1]/ancestor::informaltable"> + <xsl:call-template name="count.footnotes.in.this.chunk"> + <xsl:with-param name="node" select="$node"/> + <xsl:with-param name="footnotes" + select="$footnotes[position() > 1]"/> + <xsl:with-param name="count" select="$count"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="count.footnotes.in.this.chunk"> + <xsl:with-param name="node" select="$node"/> + <xsl:with-param name="footnotes" + select="$footnotes[position() > 1]"/> + <xsl:with-param name="count" select="$count + 1"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="process.footnotes.in.this.chunk"> + <xsl:param name="node" select="."/> + <xsl:param name="footnotes" select="$node//footnote"/> + +<!-- + <xsl:message>process.footnotes.in.this.chunk</xsl:message> +--> + + <xsl:variable name="in.other.chunk"> + <xsl:call-template name="in.other.chunk"> + <xsl:with-param name="chunk" select="$node"/> + <xsl:with-param name="node" select="$footnotes[1]"/> + </xsl:call-template> + </xsl:variable> + + <xsl:choose> + <xsl:when test="count($footnotes) = 0"> + <!-- nop --> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="$in.other.chunk != 0"> + <xsl:call-template name="process.footnotes.in.this.chunk"> + <xsl:with-param name="node" select="$node"/> + <xsl:with-param name="footnotes" + select="$footnotes[position() > 1]"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$footnotes[1]/ancestor::table + |$footnotes[1]/ancestor::informaltable"> + <xsl:call-template name="process.footnotes.in.this.chunk"> + <xsl:with-param name="node" select="$node"/> + <xsl:with-param name="footnotes" + select="$footnotes[position() > 1]"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$footnotes[1]" + mode="process.footnote.mode"/> + <xsl:call-template name="process.footnotes.in.this.chunk"> + <xsl:with-param name="node" select="$node"/> + <xsl:with-param name="footnotes" + select="$footnotes[position() > 1]"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="process.footnotes"> + <xsl:variable name="footnotes" select=".//footnote"/> + <xsl:variable name="fcount"> + <xsl:call-template name="count.footnotes.in.this.chunk"> + <xsl:with-param name="node" select="."/> + <xsl:with-param name="footnotes" select="$footnotes"/> + </xsl:call-template> + </xsl:variable> + +<!-- + <xsl:message> + <xsl:value-of select="name(.)"/> + <xsl:text> fcount: </xsl:text> + <xsl:value-of select="$fcount"/> + </xsl:message> +--> + + <!-- Only bother to do this if there's at least one non-table footnote --> + <xsl:if test="$fcount > 0"> + <div class="footnotes"> + <br/> + <hr width="100" align="left"/> + <xsl:call-template name="process.footnotes.in.this.chunk"> + <xsl:with-param name="node" select="."/> + <xsl:with-param name="footnotes" select="$footnotes"/> + </xsl:call-template> + </div> + </xsl:if> +</xsl:template> + +<xsl:template name="process.chunk.footnotes"> + <xsl:variable name="is.chunk"> + <xsl:call-template name="chunk"/> + </xsl:variable> + <xsl:if test="$is.chunk = 1"> + <xsl:call-template name="process.footnotes"/> + </xsl:if> +</xsl:template> + +</xsl:stylesheet> diff --git a/rosdocs/xsl/html/chunker.xsl b/rosdocs/xsl/html/chunker.xsl new file mode 100644 index 0000000..f591c0d --- /dev/null +++ b/rosdocs/xsl/html/chunker.xsl @@ -0,0 +1,186 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:saxon="http://icl.com/saxon" + xmlns:lxslt="http://xml.apache.org/xslt" + xmlns:xalanredirect="org.apache.xalan.xslt.extensions.Redirect" + xmlns:exsl="http://exslt.org/common" + xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" + version="1.1" + exclude-result-prefixes="doc" + extension-element-prefixes="saxon xalanredirect lxslt exsl"> + +<!-- This stylesheet works with XSLT implementations that support --> +<!-- exsl:document, saxon:output, or xalanredirect:write --> +<!-- Note: Only Saxon 6.4.2 or later is supported. --> + +<!-- ==================================================================== --> + +<xsl:template name="make-relative-filename"> + <xsl:param name="base.dir" select="'./'"/> + <xsl:param name="base.name" select="''"/> + + <xsl:choose> + <!-- put Saxon first to work around a bug in libxslt --> + <xsl:when test="element-available('saxon:output')"> + <!-- Saxon doesn't make the chunks relative --> + <xsl:value-of select="concat($base.dir,$base.name)"/> + </xsl:when> + <xsl:when test="element-available('exsl:document')"> + <!-- EXSL document does make the chunks relative, I think --> + <xsl:choose> + <xsl:when test="count(parent::*) = 0"> + <xsl:value-of select="concat($base.dir,$base.name)"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$base.name"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:when test="element-available('xalanredirect:write')"> + <!-- Xalan doesn't make the chunks relative --> + <xsl:value-of select="concat($base.dir,$base.name)"/> + </xsl:when> + <xsl:otherwise> + <xsl:message terminate="yes"> + <xsl:text>Don't know how to chunk with </xsl:text> + <xsl:value-of select="system-property('xsl:vendor')"/> + </xsl:message> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="write.chunk"> + <xsl:param name="filename" select="''"/> + <xsl:param name="method" select="$output.method"/> + <xsl:param name="encoding" select="$default.encoding"/> + <xsl:param name="indent" select="'no'"/> + <xsl:param name="content" select="''"/> + <xsl:param name="quiet" select="0"/> + + <xsl:if test="$quiet = 0"> + <xsl:message> + <xsl:text>Writing </xsl:text> + <xsl:value-of select="$filename"/> + <xsl:if test="name(.) != ''"> + <xsl:text> for </xsl:text> + <xsl:value-of select="name(.)"/> + <xsl:if test="@id"> + <xsl:text>(</xsl:text> + <xsl:value-of select="@id"/> + <xsl:text>)</xsl:text> + </xsl:if> + </xsl:if> + </xsl:message> + </xsl:if> + + <xsl:choose> + <xsl:when test="element-available('exsl:document')"> + <exsl:document href="{$filename}" + method="{$method}" + encoding="{$encoding}" + indent="{$indent}"> + <xsl:copy-of select="$content"/> + </exsl:document> + </xsl:when> + <xsl:when test="element-available('saxon:output')"> + <saxon:output href="{$filename}" + method="{$method}" + encoding="{$encoding}" + indent="{$indent}" + saxon:character-representation="{$saxon.character.representation}"> + <xsl:copy-of select="$content"/> + </saxon:output> + </xsl:when> + <xsl:when test="element-available('xalanredirect:write')"> + <!-- Xalan uses xalanredirect --> + <xalanredirect:write file="{$filename}"> + <xsl:copy-of select="$content"/> + </xalanredirect:write> + </xsl:when> + <xsl:otherwise> + <!-- it doesn't matter since we won't be making chunks... --> + <xsl:message terminate="yes"> + <xsl:text>Can't make chunks with </xsl:text> + <xsl:value-of select="system-property('xsl:vendor')"/> + <xsl:text>'s processor.</xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="write.chunk.with.doctype"> + <xsl:param name="filename" select="''"/> + <xsl:param name="method" select="$output.method"/> + <xsl:param name="encoding" select="$default.encoding"/> + <xsl:param name="indent" select="'no'"/> + <xsl:param name="doctype-public" select="''"/> + <xsl:param name="doctype-system" select="''"/> + <xsl:param name="content" select="''"/> + <xsl:param name="quiet" select="0"/> + + <xsl:if test="$quiet = 0"> + <xsl:message> + <xsl:text>Writing </xsl:text> + <xsl:value-of select="$filename"/> + <xsl:if test="name(.) != ''"> + <xsl:text> for </xsl:text> + <xsl:value-of select="name(.)"/> + </xsl:if> + </xsl:message> + </xsl:if> + + + <xsl:choose> + <xsl:when test="element-available('exsl:document')"> + <exsl:document href="{$filename}" + method="{$method}" + encoding="{$encoding}" + indent="{$indent}" + doctype-public="{$doctype-public}" + doctype-system="{$doctype-system}"> + <xsl:copy-of select="$content"/> + </exsl:document> + </xsl:when> + <xsl:when test="element-available('saxon:output')"> + <!-- Saxon uses saxon:output --> + <saxon:output href="{$filename}" + method="{$method}" + encoding="{$encoding}" + indent="{$indent}" + doctype-public="{$doctype-public}" + doctype-system="{$doctype-system}" + saxon:character-representation="{$saxon.character.representation}"> + <xsl:copy-of select="$content"/> + </saxon:output> + </xsl:when> + <xsl:when test="element-available('xalanredirect:write')"> + <!-- Xalan uses xalanredirect --> + <xalanredirect:write file="{$filename}"> + <xsl:copy-of select="$content"/> + </xalanredirect:write> + </xsl:when> + <xsl:otherwise> + <!-- it doesn't matter since we won't be making chunks... --> + <xsl:message terminate="yes"> + <xsl:text>Can't make chunks with </xsl:text> + <xsl:value-of select="system-property('xsl:vendor')"/> + <xsl:text>'s processor.</xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="write.text.chunk"> + <xsl:param name="filename" select="''"/> + <xsl:param name="method" select="'text'"/> + <xsl:param name="content" select="''"/> + <xsl:param name="encoding" select="'iso-8859-1'"/> + <xsl:call-template name="write.chunk"> + <xsl:with-param name="filename" select="$filename"/> + <xsl:with-param name="method" select="$method"/> + <xsl:with-param name="content" select="$content"/> + <xsl:with-param name="encoding" select="$encoding"/> + <xsl:with-param name="quiet" select="$chunk.quietly"/> + </xsl:call-template> +</xsl:template> + +</xsl:stylesheet> diff --git a/rosdocs/xsl/html/chunktoc.xsl b/rosdocs/xsl/html/chunktoc.xsl new file mode 100644 index 0000000..97d068b --- /dev/null +++ b/rosdocs/xsl/html/chunktoc.xsl @@ -0,0 +1,231 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" + version="1.0" + exclude-result-prefixes="doc"> + +<xsl:import href="docbook.xsl"/> +<xsl:import href="chunk-common.xsl"/> + +<xsl:template name="chunk"> + <xsl:param name="node" select="."/> + <!-- returns 1 if $node is a chunk --> + + <xsl:variable name="id"> + <xsl:call-template name="object.id"> + <xsl:with-param name="object" select="$node"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="chunks" select="document($chunk.toc,$node)"/> + + <xsl:choose> + <xsl:when test="$chunks//tocentry[@linkend=$id]">1</xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="*" mode="chunk-filename"> + <!-- returns the filename of a chunk --> + + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + + <xsl:variable name="chunks" select="document($chunk.toc,.)"/> + + <xsl:variable name="chunk" select="$chunks//tocentry[@linkend=$id]"/> + <xsl:variable name="filename"> + <xsl:call-template name="dbhtml-filename"> + <xsl:with-param name="pis" select="$chunk/processing-instruction('dbhtml')"/> + </xsl:call-template> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$chunk"> + <xsl:value-of select="$filename"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="parent::*" mode="chunk-filename"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="process-chunk"> + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + + <xsl:variable name="chunks" select="document($chunk.toc,.)"/> + + <xsl:variable name="chunk" select="$chunks//tocentry[@linkend=$id]"/> + <xsl:variable name="prev-id" + select="($chunk/preceding::tocentry + |$chunk/ancestor::tocentry)[last()]/@linkend"/> + <xsl:variable name="next-id" + select="($chunk/following::tocentry + |$chunk/child::tocentry)[1]/@linkend"/> + + <xsl:variable name="prev" select="key('id',$prev-id)"/> + <xsl:variable name="next" select="key('id',$next-id)"/> + + <xsl:variable name="ischunk"> + <xsl:call-template name="chunk"/> + </xsl:variable> + + <xsl:variable name="chunkfn"> + <xsl:if test="$ischunk='1'"> + <xsl:apply-templates mode="chunk-filename" select="."/> + </xsl:if> + </xsl:variable> + + <xsl:variable name="filename"> + <xsl:call-template name="make-relative-filename"> + <xsl:with-param name="base.dir" select="$base.dir"/> + <xsl:with-param name="base.name" select="$chunkfn"/> + </xsl:call-template> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$ischunk = 0"> + <xsl:apply-imports/> + </xsl:when> + + <xsl:otherwise> + <xsl:call-template name="write.chunk"> + <xsl:with-param name="filename" select="$filename"/> + <xsl:with-param name="content"> + <xsl:call-template name="chunk-element-content"> + <xsl:with-param name="prev" select="$prev"/> + <xsl:with-param name="next" select="$next"/> + </xsl:call-template> + </xsl:with-param> + <xsl:with-param name="quiet" select="$chunk.quietly"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="set"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="book"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="book/appendix"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="book/glossary"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="book/bibliography"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="dedication" mode="dedication"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="preface|chapter"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="part|reference"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="refentry"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="colophon"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="article"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="article/appendix"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="article/glossary"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="article/bibliography"> + <xsl:call-template name="process-chunk"/> +</xsl:template> + +<xsl:template match="sect1|sect2|sect3|sect4|sect5|section"> + <xsl:variable name="ischunk"> + <xsl:call-template name="chunk"/> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$ischunk != 0"> + <xsl:call-template name="process-chunk"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-imports/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="setindex + |book/index + |article/index"> + <!-- some implementations use completely empty index tags to indicate --> + <!-- where an automatically generated index should be inserted. so --> + <!-- if the index is completely empty, skip it. --> + <xsl:if test="count(*)>0 or $generate.index != '0'"> + <xsl:call-template name="process-chunk"/> + </xsl:if> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="/"> + <xsl:choose> + <xsl:when test="$chunk.toc = ''"> + <xsl:message terminate="yes"> + <xsl:text>The chunk.toc file is not set.</xsl:text> + </xsl:message> + </xsl:when> + + <xsl:when test="$rootid != ''"> + <xsl:choose> + <xsl:when test="count(key('id',$rootid)) = 0"> + <xsl:message terminate="yes"> + <xsl:text>ID '</xsl:text> + <xsl:value-of select="$rootid"/> + <xsl:text>' not found in document.</xsl:text> + </xsl:message> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="key('id',$rootid)"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + + <xsl:otherwise> + <xsl:apply-templates select="/" mode="process.root"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="*" mode="process.root"> + <xsl:apply-templates select="."/> +</xsl:template> + +</xsl:stylesheet> diff --git a/rosdocs/xsl/html/component.xsl b/rosdocs/xsl/html/component.xsl new file mode 100644 index 0000000..107b2f2 --- /dev/null +++ b/rosdocs/xsl/html/component.xsl @@ -0,0 +1,375 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + +<!-- ******************************************************************** + $Id$ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://nwalsh.com/docbook/xsl/ for copyright + and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<xsl:template name="component.title"> + <xsl:param name="node" select="."/> + <h2 class="title"> + <xsl:call-template name="anchor"> + <xsl:with-param name="node" select="$node"/> + <xsl:with-param name="conditional" select="0"/> + </xsl:call-template> + <xsl:apply-templates select="$node" mode="object.title.markup"> + <xsl:with-param name="allow-anchors" select="1"/> + </xsl:apply-templates> + </h2> +</xsl:template> + +<xsl:template name="component.subtitle"> + <xsl:param name="node" select="."/> + <xsl:variable name="subtitle" + select="($node/docinfo/subtitle + |$node/prefaceinfo/subtitle + |$node/chapterinfo/subtitle + |$node/appendixinfo/subtitle + |$node/articleinfo/subtitle + |$node/artheader/subtitle + |$node/subtitle)[1]"/> + + <xsl:if test="$subtitle"> + <h3 class="subtitle"> + <i> + <xsl:apply-templates select="$node" mode="object.subtitle.markup"/> + </i> + </h3> + </xsl:if> +</xsl:template> + +<xsl:template name="component.separator"> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="dedication" mode="dedication"> + <div class="{name(.)}"> + <xsl:call-template name="dedication.titlepage"/> + <xsl:apply-templates/> + <xsl:call-template name="process.footnotes"/> + </div> +</xsl:template> + +<xsl:template match="dedication/title" mode="titlepage.mode" priority="2"> + <xsl:call-template name="component.title"> + <xsl:with-param name="node" select="ancestor::dedication[1]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="dedication/subtitle" mode="titlepage.mode" priority="2"> + <xsl:call-template name="component.subtitle"> + <xsl:with-param name="node" select="ancestor::dedication[1]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="dedication"></xsl:template> <!-- see mode="dedication" --> +<xsl:template match="dedication/title"></xsl:template> +<xsl:template match="dedication/subtitle"></xsl:template> +<xsl:template match="dedication/titleabbrev"></xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="colophon"> + <div class="{name(.)}"> + <xsl:if test="$generate.id.attributes != 0"> + <xsl:attribute name="id"> + <xsl:call-template name="object.id"/> + </xsl:attribute> + </xsl:if> + + <xsl:call-template name="component.separator"/> + <xsl:call-template name="component.title"/> + <xsl:call-template name="component.subtitle"/> + + <xsl:apply-templates/> + <xsl:call-template name="process.footnotes"/> + </div> +</xsl:template> + +<xsl:template match="colophon/title"></xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="preface"> + <div class="{name(.)}"> + <xsl:if test="$generate.id.attributes != 0"> + <xsl:attribute name="id"> + <xsl:call-template name="object.id"/> + </xsl:attribute> + </xsl:if> + + <xsl:call-template name="component.separator"/> + <xsl:call-template name="preface.titlepage"/> + + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + + <xsl:if test="contains($toc.params, 'toc')"> + <xsl:call-template name="component.toc"/> + </xsl:if> + <xsl:apply-templates/> + <xsl:call-template name="process.footnotes"/> + </div> +</xsl:template> + +<xsl:template match="preface/title" mode="titlepage.mode" priority="2"> + <xsl:call-template name="component.title"> + <xsl:with-param name="node" select="ancestor::preface[1]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="preface/subtitle + |preface/prefaceinfo/subtitle + |preface/docinfo/subtitle" + mode="titlepage.mode" priority="2"> + <xsl:call-template name="component.subtitle"> + <xsl:with-param name="node" select="ancestor::preface[1]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="preface/docinfo|prefaceinfo"></xsl:template> +<xsl:template match="preface/title"></xsl:template> +<xsl:template match="preface/titleabbrev"></xsl:template> +<xsl:template match="preface/subtitle"></xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="chapter"> + <div class="{name(.)}"> + <xsl:if test="$generate.id.attributes != 0"> + <xsl:attribute name="id"> + <xsl:call-template name="object.id"/> + </xsl:attribute> + </xsl:if> + + <xsl:call-template name="component.separator"/> + <xsl:call-template name="chapter.titlepage"/> + + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + <xsl:if test="contains($toc.params, 'toc')"> + <xsl:call-template name="component.toc"/> + </xsl:if> + <xsl:apply-templates/> + <xsl:call-template name="process.footnotes"/> + </div> +</xsl:template> + +<xsl:template match="chapter/title" mode="titlepage.mode" priority="2"> + <xsl:call-template name="component.title"> + <xsl:with-param name="node" select="ancestor::chapter[1]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="chapter/subtitle + |chapter/chapterinfo/subtitle + |chapter/docinfo/subtitle" + mode="titlepage.mode" priority="2"> + <xsl:call-template name="component.subtitle"> + <xsl:with-param name="node" select="ancestor::chapter[1]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="chapter/docinfo|chapterinfo"></xsl:template> +<xsl:template match="chapter/title"></xsl:template> +<xsl:template match="chapter/titleabbrev"></xsl:template> +<xsl:template match="chapter/subtitle"></xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="appendix"> + <div class="{name(.)}"> + <xsl:if test="$generate.id.attributes != 0"> + <xsl:attribute name="id"> + <xsl:call-template name="object.id"/> + </xsl:attribute> + </xsl:if> + + <xsl:call-template name="component.separator"/> + <xsl:call-template name="appendix.titlepage"/> + + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + <xsl:if test="contains($toc.params, 'toc')"> + <xsl:call-template name="component.toc"/> + </xsl:if> + <xsl:apply-templates/> + <xsl:call-template name="process.footnotes"/> + </div> +</xsl:template> + +<xsl:template match="article/appendix"> + <div class="{name(.)}"> + <xsl:if test="$generate.id.attributes != 0"> + <xsl:attribute name="id"> + <xsl:call-template name="object.id"/> + </xsl:attribute> + </xsl:if> + + <xsl:call-template name="section.heading"> + <xsl:with-param name="level" select="2"/> + <xsl:with-param name="title"> + <xsl:apply-templates select="." mode="object.title.markup"/> + </xsl:with-param> + </xsl:call-template> + + <xsl:apply-templates/> + </div> +</xsl:template> + +<xsl:template match="appendix/title" mode="titlepage.mode" priority="2"> + <xsl:call-template name="component.title"> + <xsl:with-param name="node" select="ancestor::appendix[1]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="appendix/subtitle + |appendix/appendixinfo/subtitle + |appendix/docinfo/subtitle" + mode="titlepage.mode" priority="2"> + <xsl:call-template name="component.subtitle"> + <xsl:with-param name="node" select="ancestor::appendix[1]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="appendix/docinfo|appendixinfo"></xsl:template> +<xsl:template match="appendix/title"></xsl:template> +<xsl:template match="appendix/titleabbrev"></xsl:template> +<xsl:template match="appendix/subtitle"></xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="dedication" mode="component.number"> + <xsl:param name="add.space" select="false()"/> +</xsl:template> + +<xsl:template match="preface" mode="component.number"> + <xsl:param name="add.space" select="false()"/> +</xsl:template> + +<xsl:template match="chapter" mode="component.number"> + <xsl:param name="add.space" select="false()"/> + + <xsl:choose> + <xsl:when test="@label"> + <xsl:value-of select="@label"/> + <xsl:text>.</xsl:text> + <xsl:if test="$add.space"> + <xsl:call-template name="gentext.space"/> + </xsl:if> + </xsl:when> + <xsl:when test="$chapter.autolabel"> + <xsl:number from="book" count="chapter" format="1."/> + <xsl:if test="$add.space"> + <xsl:call-template name="gentext.space"/> + </xsl:if> + </xsl:when> + <xsl:otherwise></xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="appendix" mode="component.number"> + <xsl:param name="add.space" select="false()"/> + + <xsl:choose> + <xsl:when test="@label"> + <xsl:value-of select="@label"/> + <xsl:text>.</xsl:text> + <xsl:if test="$add.space"> + <xsl:call-template name="gentext.space"/> + </xsl:if> + </xsl:when> + <xsl:when test="$chapter.autolabel"> + <xsl:number from="book" count="appendix" format="A."/> + <xsl:if test="$add.space"> + <xsl:call-template name="gentext.space"/> + </xsl:if> + </xsl:when> + <xsl:otherwise></xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="article" mode="component.number"> + <xsl:param name="add.space" select="false()"/> +</xsl:template> + +<xsl:template match="bibliography" mode="component.number"> + <xsl:param name="add.space" select="false()"/> +</xsl:template> + +<xsl:template match="glossary" mode="component.number"> + <xsl:param name="add.space" select="false()"/> +</xsl:template> + +<xsl:template match="index" mode="component.number"> + <xsl:param name="add.space" select="false()"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="article"> + <div class="{name(.)}"> + <xsl:if test="$generate.id.attributes != 0"> + <xsl:attribute name="id"> + <xsl:call-template name="object.id"/> + </xsl:attribute> + </xsl:if> + + <xsl:call-template name="article.titlepage"/> + + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + <xsl:if test="contains($toc.params, 'toc')"> + <xsl:call-template name="component.toc"/> + </xsl:if> + <xsl:apply-templates/> + <xsl:call-template name="process.footnotes"/> + </div> +</xsl:template> + +<xsl:template match="article/title" mode="titlepage.mode" priority="2"> + <xsl:call-template name="component.title"> + <xsl:with-param name="node" select="ancestor::article[1]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="article/subtitle + |article/articleinfo/subtitle + |article/artheader/subtitle" + mode="titlepage.mode" priority="2"> + <xsl:call-template name="component.subtitle"> + <xsl:with-param name="node" select="ancestor::article[1]"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="article/artheader|article/articleinfo"></xsl:template> +<xsl:template match="article/title"></xsl:template> +<xsl:template match="article/titleabbrev"></xsl:template> +<xsl:template match="article/subtitle"></xsl:template> + +<!-- ==================================================================== --> + +</xsl:stylesheet> + diff --git a/rosdocs/xsl/html/division.xsl b/rosdocs/xsl/html/division.xsl new file mode 100644 index 0000000..6e5270e --- /dev/null +++ b/rosdocs/xsl/html/division.xsl @@ -0,0 +1,194 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + +<!-- ******************************************************************** + $Id$ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://nwalsh.com/docbook/xsl/ for copyright + and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<xsl:template match="set"> + <div class="{name(.)}"> + <xsl:if test="$generate.id.attributes != 0"> + <xsl:attribute name="id"> + <xsl:call-template name="object.id"/> + </xsl:attribute> + </xsl:if> + + <xsl:call-template name="set.titlepage"/> + + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + <xsl:if test="contains($toc.params, 'toc')"> + <xsl:call-template name="set.toc"/> + </xsl:if> + <xsl:apply-templates/> + </div> +</xsl:template> + +<xsl:template match="set/setinfo"></xsl:template> +<xsl:template match="set/title"></xsl:template> +<xsl:template match="set/titleabbrev"></xsl:template> +<xsl:template match="set/subtitle"></xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="book"> + <div class="{name(.)}"> + <xsl:if test="$generate.id.attributes != 0"> + <xsl:attribute name="id"> + <xsl:call-template name="object.id"/> + </xsl:attribute> + </xsl:if> + + <xsl:call-template name="book.titlepage"/> + <xsl:apply-templates select="dedication" mode="dedication"/> + + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + + <xsl:if test="contains($toc.params, 'toc')"> + <xsl:call-template name="division.toc"/> + </xsl:if> + + <xsl:if test="contains($toc.params, 'figure')"> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'figure'"/> + <xsl:with-param name="nodes" select=".//figure"/> + </xsl:call-template> + </xsl:if> + + <xsl:if test="contains($toc.params, 'table')"> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'table'"/> + <xsl:with-param name="nodes" select=".//table"/> + </xsl:call-template> + </xsl:if> + + <xsl:if test="contains($toc.params, 'example')"> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'example'"/> + <xsl:with-param name="nodes" select=".//example"/> + </xsl:call-template> + </xsl:if> + + <xsl:if test="contains($toc.params, 'equation')"> + <xsl:call-template name="list.of.titles"> + <xsl:with-param name="titles" select="'equation'"/> + <xsl:with-param name="nodes" select=".//equation[title]"/> + </xsl:call-template> + </xsl:if> + + <xsl:apply-templates/> + </div> +</xsl:template> + +<xsl:template match="book/bookinfo"></xsl:template> +<xsl:template match="book/title"></xsl:template> +<xsl:template match="book/titleabbrev"></xsl:template> +<xsl:template match="book/subtitle"></xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="part"> + <div class="{name(.)}"> + <xsl:if test="$generate.id.attributes != 0"> + <xsl:attribute name="id"> + <xsl:call-template name="object.id"/> + </xsl:attribute> + </xsl:if> + + <xsl:call-template name="part.titlepage"/> + + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + <xsl:if test="not(partintro) and contains($toc.params, 'toc')"> + <xsl:call-template name="division.toc"/> + </xsl:if> + <xsl:apply-templates/> + </div> +</xsl:template> + +<xsl:template match="part" mode="make.part.toc"> + <xsl:call-template name="division.toc"/> +</xsl:template> + +<xsl:template match="reference" mode="make.part.toc"> + <xsl:call-template name="division.toc"/> +</xsl:template> + +<xsl:template match="part/docinfo"></xsl:template> +<xsl:template match="part/partinfo"></xsl:template> +<xsl:template match="part/title"></xsl:template> +<xsl:template match="part/titleabbrev"></xsl:template> +<xsl:template match="part/subtitle"></xsl:template> + +<xsl:template match="partintro"> + <div class="{name(.)}"> + <xsl:if test="$generate.id.attributes != 0"> + <xsl:attribute name="id"> + <xsl:call-template name="object.id"/> + </xsl:attribute> + </xsl:if> + + <xsl:call-template name="partintro.titlepage"/> + <xsl:apply-templates/> + + <xsl:variable name="toc.params"> + <xsl:call-template name="find.path.params"> + <xsl:with-param name="node" select="parent::*"/> + <xsl:with-param name="table" select="normalize-space($generate.toc)"/> + </xsl:call-template> + </xsl:variable> + <xsl:if test="contains($toc.params, 'toc')"> + <!-- not ancestor::part because partintro appears in reference --> + <xsl:apply-templates select="parent::*" mode="make.part.toc"/> + </xsl:if> + <xsl:call-template name="process.footnotes"/> + </div> +</xsl:template> + +<xsl:template match="partintro/title"></xsl:template> +<xsl:template match="partintro/titleabbrev"></xsl:template> +<xsl:template match="partintro/subtitle"></xsl:template> + +<xsl:template match="partintro/title" mode="partintro.title.mode"> + <h2> + <xsl:apply-templates/> + </h2> +</xsl:template> + +<xsl:template match="partintro/subtitle" mode="partintro.title.mode"> + <h3> + <i><xsl:apply-templates/></i> + </h3> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="book" mode="division.number"> + <xsl:number from="set" count="book" format="1."/> +</xsl:template> + +<xsl:template match="part" mode="division.number"> + <xsl:number from="book" count="part" format="I."/> +</xsl:template> + +</xsl:stylesheet> + diff --git a/rosdocs/xsl/html/docbook.xsl b/rosdocs/xsl/html/docbook.xsl new file mode 100644 index 0000000..9938655 --- /dev/null +++ b/rosdocs/xsl/html/docbook.xsl @@ -0,0 +1,253 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" + exclude-result-prefixes="doc" + version='1.0'> + +<xsl:output method="html" + encoding="ISO-8859-1" + indent="no"/> + +<!-- ******************************************************************** + $Id$ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://nwalsh.com/docbook/xsl/ for copyright + and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<xsl:include href="../VERSION"/> +<xsl:include href="param.xsl"/> +<xsl:include href="../lib/lib.xsl"/> +<xsl:include href="../common/l10n.xsl"/> +<xsl:include href="../common/common.xsl"/> +<xsl:include href="../common/labels.xsl"/> +<xsl:include href="../common/titles.xsl"/> +<xsl:include href="../common/subtitles.xsl"/> +<xsl:include href="../common/gentext.xsl"/> +<xsl:include href="autotoc.xsl"/> +<xsl:include href="autoidx.xsl"/> +<xsl:include href="lists.xsl"/> +<xsl:include href="callout.xsl"/> +<xsl:include href="verbatim.xsl"/> +<xsl:include href="graphics.xsl"/> +<xsl:include href="xref.xsl"/> +<xsl:include href="formal.xsl"/> +<xsl:include href="table.xsl"/> +<xsl:include href="sections.xsl"/> +<xsl:include href="inline.xsl"/> +<xsl:include href="footnote.xsl"/> +<xsl:include href="html.xsl"/> +<xsl:include href="info.xsl"/> +<xsl:include href="keywords.xsl"/> +<xsl:include href="division.xsl"/> +<xsl:include href="toc.xsl"/> +<xsl:include href="index.xsl"/> +<xsl:include href="refentry.xsl"/> +<xsl:include href="math.xsl"/> +<xsl:include href="admon.xsl"/> +<xsl:include href="component.xsl"/> +<xsl:include href="biblio.xsl"/> +<xsl:include href="glossary.xsl"/> +<xsl:include href="block.xsl"/> +<xsl:include href="qandaset.xsl"/> +<xsl:include href="synop.xsl"/> +<xsl:include href="titlepage.xsl"/> +<xsl:include href="titlepage.templates.xsl"/> +<xsl:include href="pi.xsl"/> +<xsl:include href="ebnf.xsl"/> +<xsl:include href="chunker.xsl"/> +<xsl:include href="html-rtf.xsl"/> + +<xsl:param name="stylesheet.result.type" select="'html'"/> + +<!-- ==================================================================== --> + +<xsl:key name="id" match="*" use="@id"/> + +<!-- ==================================================================== --> + +<xsl:template match="*"> + <xsl:message> + <xsl:text>No template matches </xsl:text> + <xsl:value-of select="name(.)"/> + <xsl:text>.</xsl:text> + </xsl:message> + + <font color="red"> + <xsl:text><</xsl:text> + <xsl:value-of select="name(.)"/> + <xsl:text>></xsl:text> + <xsl:apply-templates/> + <xsl:text></</xsl:text> + <xsl:value-of select="name(.)"/> + <xsl:text>></xsl:text> + </font> +</xsl:template> + +<xsl:template match="text()"> + <xsl:value-of select="."/> +</xsl:template> + +<xsl:template name="body.attributes"> + <xsl:attribute name="bgcolor">white</xsl:attribute> + <xsl:attribute name="text">black</xsl:attribute> + <xsl:attribute name="link">#0000FF</xsl:attribute> + <xsl:attribute name="vlink">#840084</xsl:attribute> + <xsl:attribute name="alink">#0000FF</xsl:attribute> +</xsl:template> + +<xsl:template name="head.content"> + <xsl:param name="node" select="."/> + + <title> + <xsl:apply-templates select="$node" mode="object.title.markup.textonly"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID ' + + ' not found in document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/html/ebnf.xsl b/rosdocs/xsl/html/ebnf.xsl new file mode 100644 index 0000000..897192c --- /dev/null +++ b/rosdocs/xsl/html/ebnf.xsl @@ -0,0 +1,324 @@ + + + + + + + + +$Id$ + +Walsh +Norman +19992000 +Norman Walsh + + +HTML EBNF Reference + + +
    Introduction + +This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets. + +This reference describes the templates and parameters relevant +to formatting EBNF markup. + +This is not intended to be user documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in how it +works. + +Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-) +
    +
    +
    + + + + + + + + + + + + 1 + + + + + + EBNF + + for + + + + + + + + + + + + +
    + +
    + + + + + + + + + + EBNF productions + +
    +
    +
    + + + + + + + + + + [ + + ] + + + + + + + + + + + + + + + + + + + + ::= + + + + + + + + + + +   + + + + + + + + + + + + + Error: no ID for productionrecap linkend: + + . + + + + + + Warning: multiple "IDs" for productionrecap linkend: + + . + + + + + + + + + + + + + + + + | +
    +
    +
    + + + + + + + + + + + + + + + production + + + + + + + + + Non-terminals with no content must point to + production elements in the current document. + + + Invalid xpointer for empty nt: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + + + + + + + + + /*  + +  */ +
    +
    + + + + + + + + + constraintdef + + + + + + + + + + + + + + + + : + + + + + + + : + + + + + + + + + +  ] + +
    +
    +
    + + +
    + + +
    +
    + + +

    +
    + + + +
    diff --git a/rosdocs/xsl/html/footnote.xsl b/rosdocs/xsl/html/footnote.xsl new file mode 100644 index 0000000..d7dd3aa --- /dev/null +++ b/rosdocs/xsl/html/footnote.xsl @@ -0,0 +1,240 @@ + + + + + + + + + + + #ftn. + + + + + + + [ + + + + ] + + + + + [ + + + + ] + + + + + + + + + + #ftn. + + + + + + [ + + + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + ftn. + + + + + + # + + + + +

    + + [ + + + + ] + + +

    +
    + + + + + + ftn. + + + + + + # + + + + + + + [ + + + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    +
    +
    + + + + + + + + +
    + +
    +
    + + +
    + + +
    +
    + + + + Warning: footnote number may not be generated + correctly; + + unexpected as first child of footnote. + +
    + +
    +
    +
    +
    + + + + + + + + +
    diff --git a/rosdocs/xsl/html/formal.xsl b/rosdocs/xsl/html/formal.xsl new file mode 100644 index 0000000..ad67c99 --- /dev/null +++ b/rosdocs/xsl/html/formal.xsl @@ -0,0 +1,181 @@ + + + + + + + + +
    + + + + + + + + + + + + +

    + + +

    + + + + + + + + + + + +

    +
    + + +

    + + + + + +

    +
    + + +
    +

    + + + + + + + + + +

    +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/rosdocs/xsl/html/glossary.xsl b/rosdocs/xsl/html/glossary.xsl new file mode 100644 index 0000000..1357229 --- /dev/null +++ b/rosdocs/xsl/html/glossary.xsl @@ -0,0 +1,319 @@ + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    +
    + + + + + + + +

    + +

    +
    + + +

    + +

    +
    + + + + +
    + +
    + +
    +
    +
    + + + + +
    + + +
    + +
    +
    +
    + + +

    + +

    +
    + + + + + + + + + + +
    + +
    +
    + + +
    + + + + + 0 + 1 + + + + +
    +
    + + + + + + + + + + + + + + +
    +

    + + + + + + + + + + + + + + + . +

    +
    +
    + + +
    + + +

    + + + + + +

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + . + + + , + + + + + + + + + + + + + + + + + + + + + + + + + Warning: processing automatic glossary + without a glossary.collection file. + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + +
    +
    +
    + + +
    +
    + + + + + + + + + +
    + + +
    + + + + + + +
    +
    +
    + + + + + + + + gl. + + + + + +
    + + +
    +
    + + + +
    diff --git a/rosdocs/xsl/html/graphics.xsl b/rosdocs/xsl/html/graphics.xsl new file mode 100644 index 0000000..0a6e8a1 --- /dev/null +++ b/rosdocs/xsl/html/graphics.xsl @@ -0,0 +1,1004 @@ + + + + + + + + + + + + + + + 1 + + + + + 1 + + + + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + + 1 + 0 + + + + + + 1.0 + + + + 1.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + px + + + + + + + + + + + px + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + px + + + + + + + + + + + px + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + +

    +
    +
    +
    + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + No insertfile extension available. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No insertfile extension available. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Long Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No insertfile extension available. + + + + + + + + + + + + + +
    + +
    +
    + + + + + + + + + + + + diff --git a/rosdocs/xsl/html/html-rtf.xsl b/rosdocs/xsl/html/html-rtf.xsl new file mode 100644 index 0000000..caad729 --- /dev/null +++ b/rosdocs/xsl/html/html-rtf.xsl @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/html/html.xsl b/rosdocs/xsl/html/html.xsl new file mode 100644 index 0000000..996d53c --- /dev/null +++ b/rosdocs/xsl/html/html.xsl @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + +
    + + + + + + + # + + + + + + + + + # + + + + + + + bullet + + + + + + + + + bullet + + + © + + + ® + (SM) +   + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/html/index.xsl b/rosdocs/xsl/html/index.xsl new file mode 100644 index 0000000..879aab8 --- /dev/null +++ b/rosdocs/xsl/html/index.xsl @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    +
    +
    + + + + + + +

    + +

    +
    + + +

    + +

    +
    + + + + +
    + + + + + + + + +
    + +
    +
    +
    + + + + + + +

    + +

    +
    + + + + + + + + + +
    + + + + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    + + +
    + +
    + +
    +
    + +
    +
    +
    +
    + + +
    + +
    +
    + + diff --git a/rosdocs/xsl/html/info.xsl b/rosdocs/xsl/html/info.xsl new file mode 100644 index 0000000..b1d6649 --- /dev/null +++ b/rosdocs/xsl/html/info.xsl @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/html/inline.xsl b/rosdocs/xsl/html/inline.xsl new file mode 100644 index 0000000..19b5744 --- /dev/null +++ b/rosdocs/xsl/html/inline.xsl @@ -0,0 +1,993 @@ + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + XLink to nonexistent id: + + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + , + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://example.com/cgi-bin/man.cgi? + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + emphasis + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SM + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: glossary.collection specified, but there are + + automatic glossaries + + + + + + + + + + + + + + + + + + + + + + + + There's no entry for + + in + + + + + + + gl. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error: no glossentry for glossterm: + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + element + + + + + + + + + + + + + + + + </ + + > + + + & + + ; + + + &# + + ; + + + % + + ; + + + <? + + > + + + <? + + ?> + + + < + + > + + + < + + /> + + + <!-- + + --> + + + + + + + + + + + + < + + mailto: + + + > + + + + + + + + + + + + - + - + - + + - + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + -> + + + + + + + + + + + + + + + + + + + + + + + + [ + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/html/keywords.xsl b/rosdocs/xsl/html/keywords.xsl new file mode 100644 index 0000000..013858e --- /dev/null +++ b/rosdocs/xsl/html/keywords.xsl @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + , + + + + + diff --git a/rosdocs/xsl/html/lists.xsl b/rosdocs/xsl/html/lists.xsl new file mode 100644 index 0000000..9c5d9bf --- /dev/null +++ b/rosdocs/xsl/html/lists.xsl @@ -0,0 +1,954 @@ + + + + + + + + + + + + +
    + + + + +
      + + + + + + +
    +
    +
    + + +

    +
    + + + + + + + + + + + + + + + + + + + disc + square + + + + + + +
  • + + + list-style-type: + + + + + + + + + + + +
    + +
    +
    + + + +
    +
  • + + + + + + 1 + + + + 2 + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + 1 + a + i + A + I + + + + Unexpected numeration: + + + + + + + +
    + + + + +
      + + + + + + + + + + + + + + + + +
    +
    +
    + + +

    +
    + + +
  • + + + + + + + + + + + + + +
    + +
    +
    + + + +
    +
  • +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    + +
    +
    +
    +
    +
    + + +

    +
    + + + + + + + + + + + + + +

    + + +

    +
    +
    +
    + + +
    + + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + +
    + +
    +
    + + + +
    +
    + + + + + + + + + + + + + + 1 + + + +
    +
    + + + + + + + + + + + + + + + + + + 1 + + + +
    +
    + + + + + + + + + + + 1 + + + +
    +
    + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + 1 + 1 + + 1 + + + + + + + + +   + + + + + + + + + + + + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + + 1 + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + before + + + + + + + + +
    + + + + + + + + + + + + + + + + + +
      + +
    +
    + +
      + + + + +
    +
    +
    + + + + + + + + + + + +
    +
    + + +

    + + + +

    +
    + + +

    + + + +

    +
    + + + + + + + + +
      + +
    +
    + + +
  • + + +
  • +
    + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + +
    +
    + + +

    +
    + + + + + + + + + + + + + + + + + + + +

    + + + : + + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + +
    + + +

    + + + +

    +
    + + + + +
    +
    + +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + + + + diff --git a/rosdocs/xsl/html/maketoc.xsl b/rosdocs/xsl/html/maketoc.xsl new file mode 100644 index 0000000..baa2838 --- /dev/null +++ b/rosdocs/xsl/html/maketoc.xsl @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + filename=" + + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/html/manifest.xsl b/rosdocs/xsl/html/manifest.xsl new file mode 100644 index 0000000..0c9e3ed --- /dev/null +++ b/rosdocs/xsl/html/manifest.xsl @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/html/math.xsl b/rosdocs/xsl/html/math.xsl new file mode 100644 index 0000000..2af155f --- /dev/null +++ b/rosdocs/xsl/html/math.xsl @@ -0,0 +1,300 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unsupported TeX math notation: + + + + + + + + + + + + + \nopagenumbers + + + + \bye + + + + + + + + + + + + + + + + + + + + + + + \special{dvi2bitmap outputfile + + } + + $ + + + + $ + + \vfill\eject + + + + + + + + + + + + + + + + + + + + + + + + \special{dvi2bitmap outputfile + + } + + $$ + + + + $$ + + \vfill\eject + + + + + + + + + \documentclass{article} + \pagestyle{empty} + \begin{document} + + + + \end{document} + + + + + + + + + + + + + + + + + + + + + + + \special{dvi2bitmap outputfile + + } + + $ + + + + $ + + \newpage + + + + + + + + + + + + + + + + + + + + + + + + \special{dvi2bitmap outputfile + + } + + $$ + + + + $$ + + \newpage + + + + + + + + + + 1 + + + + + + + + + 0 + + + + 0 + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + + + + + + diff --git a/rosdocs/xsl/html/oldchunker.xsl b/rosdocs/xsl/html/oldchunker.xsl new file mode 100644 index 0000000..9f9f2ba --- /dev/null +++ b/rosdocs/xsl/html/oldchunker.xsl @@ -0,0 +1,190 @@ + + + + + + + + + +Encoding used in generated HTML pages + +This encoding is used in files generated by chunking stylesheet. Currently +only Saxon is able to change output encoding. + + + + + + + + + +Saxon character representation used in generated HTML pages + +This character representation is used in files generated by chunking stylesheet. If +you want to suppress entity references for characters with direct representation +in default.encoding, set this parameter to value native. + + + + + + + + + + + + + + + + + + + + + + + + Chunking isn't supported with + + + + + + + + + + + + + + + Writing + + + for + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Can't make chunks with + + 's processor. + + + + + + + + + + + + + + + + Writing + + + for + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Can't make chunks with + + 's processor. + + + + + + diff --git a/rosdocs/xsl/html/onechunk.xsl b/rosdocs/xsl/html/onechunk.xsl new file mode 100644 index 0000000..d4d17d9 --- /dev/null +++ b/rosdocs/xsl/html/onechunk.xsl @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + # + + + + + + diff --git a/rosdocs/xsl/html/param.ent b/rosdocs/xsl/html/param.ent new file mode 100644 index 0000000..0112fbc --- /dev/null +++ b/rosdocs/xsl/html/param.ent @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/html/param.xml b/rosdocs/xsl/html/param.xml new file mode 100644 index 0000000..769e236 --- /dev/null +++ b/rosdocs/xsl/html/param.xml @@ -0,0 +1,4592 @@ + + + + + + +HTML Parameter Reference + +$Id$ + + + Walsh + Norman + + + 1999 + 2000 + 2001 + Norman Walsh + + + +Introduction + +This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets. + +This reference describes each of the HTML Stylesheet parameters. +These are the easily customizable parts of the stylesheet. +If you want to specify an alternate value for one or more of these +parameters, you can do so in a driver stylesheet. + +For example, if you want to change the html.stylesheet +to reference.css, you might create a driver +stylesheet like this: + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + + <xsl:import href="http://docbook.sourceforge.net/release/xsl/snapshot/html/docbook.xsl"/> + + <xsl:param name="html.stylesheet">reference.css</xsl:param> + +</xsl:stylesheet> + +Naturally, you have to change the +href attribute on +<xsl:import> to point to +docbook.xsl on your system. (Or +chunk.xsl, if you're using chunking.) + +This is not intended to be user documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in how it +works. + +Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-) + + +Admonitions + + +admon.graphics.extension +string + + +admon.graphics.extension +Extension for admonition graphics + + + +<xsl:param name="admon.graphics.extension" + select="'.png'"/> + + +Description + +Sets the extension to use on admonition graphics. + + + + + + +admon.graphics.path +string + + +admon.graphics.path +Path to admonition graphics + + + +<xsl:param name="admon.graphics.path">images/</xsl:param> + + +Description + +Sets the path, probably relative to the directory where the HTML +files are created, to the admonition graphics. + + + + + + + +admon.graphics +boolean + + +admon.graphics +Use graphics in admonitions? + + + +<xsl:param name="admon.graphics" + select="0"/> + + +Description + +If true (non-zero), admonitions are presented in an alternate style that uses +a graphic. Default graphics are provided in the distribution. + + + + + + + +admon.style +string + + +admon.style +CSS style attributes for admonitions + + + +<xsl:param name="admon.style"> + <xsl:text>margin-left: 0.5in; margin-right: 0.5in;</xsl:text> +</xsl:param> + + +Description + +Specifies the value of the STYLE +attribute that should be added to admonitions. + + + + + + + +Callouts + + +callout.defaultcolumn +integer + + +callout.defaultcolumn +Indicates what column callouts appear in by default + + + +<xsl:param name="callout.defaultcolumn" + select="'60'"/> + + +Description + +If a callout does not identify a column (for example, if it uses +the linerange unit), +it will appear in the default column. + + + + + + + +callout.graphics.extension +string + + +callout.graphics.extension +Extension for callout graphics + + + +<xsl:param name="callout.graphics.extension" + select="'.png'"/> + + +Description + +Sets the extension to use on callout graphics. + + + + + + +callout.graphics.number.limit +integer + + +callout.graphics.number.limit +Number of the largest callout graphic + + + +<xsl:param name="callout.graphics.number.limit" + select="'10'"/> + + +Description + +If callout.graphics +is non-zero, graphics are used to represent +callout numbers. The value of +callout.graphics.number.limit +is +the largest number for which a graphic exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. + + + + + + + +callout.graphics.path +string + + +callout.graphics.path +Path to callout graphics + + + +<xsl:param name="callout.graphics.path" + select="'images/callouts/'"/> + + +Description + +Sets the path, probably relative to the directory where the HTML +files are created, to the callout graphics. + + + + + + + +callout.graphics +boolean + + +callout.graphics +Use graphics for callouts? + + + +<xsl:param name="callout.graphics" + select="'1'"/> + + +Description + +If non-zero, callouts are presented with graphics (e.g., reverse-video +circled numbers instead of "(1)", "(2)", etc.). +Default graphics are provided in the distribution. + + + + + + + +callout.list.table +boolean + + +callout.list.table +Present callout lists using a table? + + + +<xsl:param name="callout.list.table" + select="'1'"/> + + +Description + +The default presentation of CalloutLists uses +an HTML DL. Some browsers don't align DLs very well +if callout.graphics are used. With this option +turned on, CalloutLists are presented in an HTML +TABLE, which usually results in better alignment +of the callout number with the callout description. + + + + + + +callout.unicode.number.limit +integer + + +callout.unicode.number.limit +Number of the largest callout graphic + + + +<xsl:param name="callout.unicode.number.limit" + select="'10'"/> + + +Description + +If callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.number.limit +is +the largest number for which a unicode character exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. + + + + + + + +callout.unicode.start.character +integer + + +callout.unicode.start.character +First Unicode character to use, decimal value. + + + +<xsl:param name="callout.unicode.start.character" + select="10102"/> + + +Description + +If callout.graphics is zero and callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.start.character +is the decimal unicode value used for callout number one. Currently, +only 10102 is supported in the stylesheets for this parameter. + + + + + + + +callout.unicode +boolean + + +callout.unicode +Use Unicode characters rather than images for callouts. + + + +<xsl:param name="callout.unicode" + select="0"/> + + +Description + +The stylesheets can use either an image of the numbers one to ten, or the single Unicode character which represents the numeral, in white on a black background. Use this to select the Unicode character option. + + + + + + + +callouts.extension +boolean + + +callouts.extension +Enable the callout extension + + + +<xsl:param name="callouts.extension" + select="'1'"/> + + +Description + +The callouts extension processes areaset +elements in ProgramListingCO and other text-based +callout elements. + + + + + + + +EBNF + + +ebnf.table.bgcolor +string + + +ebnf.table.bgcolor +Background color for EBNF tables + + + +<xsl:param name="ebnf.table.bgcolor" + select="'#F5DCB3'"/> + + +Description + +Sets the background color for EBNF tables. No bgcolor +attribute is output if ebnf.table.bgcolor is set to +the null string. The default value matches the value used in recent +online versions of the W3C's XML Spec productions. + + + + + + +ebnf.table.border + + + +ebnf.table.border +Selects border on EBNF tables + + + +<xsl:param name="ebnf.table.border" + select="1"/> + + +Description + +Selects the border on EBNF tables. If non-zero, the tables have +borders, otherwise they don't. + + + + + + +ToC/LoT/Index Generation + + +annotate.toc +boolean + + +annotate.toc +Annotate the Table of Contents? + + + +<xsl:param name="annotate.toc" + select="1"/> + + +Description + +If true, TOCs will be annotated. At present, this just means +that the RefPurpose of RefEntry +TOC entries will be displayed. + + + + + + + +autotoc.label.separator +string + + +autotoc.label.separator +Separator between labels and titles in the ToC + + + +<xsl:param name="autotoc.label.separator" + select="'. '"/> + + +Description + +String to use to seperate labels and title in a table of contents. + + + + + + +process.source.toc +boolean + + +process.source.toc +FIXME: + + + +<xsl:param name="process.source.toc" + select="0"/> + + +Description + +FIXME: + + + + + + + +process.empty.source.toc +boolean + + +process.empty.source.toc +FIXME: + + + +<xsl:param name="process.empty.source.toc" + select="0"/> + + +Description + +FIXME: + + + + + + + +bridgehead.in.toc +boolean + + +bridgehead.in.toc +Should bridgehead elements appear in the TOC? + + + +<xsl:param name="bridgehead.in.toc" + select="0"/> + + +Description + +If non-zero, bridgeheads appear in the TOC. Note that this option +is not fully supported and may be removed in a future version of the +stylesheets. + + + + + + + +manual.toc +string + + +manual.toc +An explicit TOC to be used for the TOC + + + +<xsl:param name="manual.toc" + select="''"/> + + +Description + +The manual.toc identifies an explicit TOC that +will be used for building the printed TOC. + + + + + + + +toc.list.type +list +dl +ul +ol + + +toc.list.type +Type of HTML list element to use for Tables of Contents + + + +<xsl:param name="toc.list.type">dl</xsl:param> + + +Description + +When an automatically generated Table of Contents (or List of Titles) +is produced, this HTML element will be used to make the list. + + + + + + + +toc.section.depth +integer + + +toc.section.depth +How deep should recursive sections appear +in the TOC? + + + +<xsl:param name="toc.section.depth">2</xsl:param> + + +Description + +Specifies the depth to which recursive sections should appear in the +TOC. + + + + + + + +generate.toc +table + + +generate.toc +Control generation of ToCs and LoTs + + + +<xsl:param name="generate.toc"> +appendix toc +article toc +book toc,figure,table,example,equation +chapter toc +part toc +preface toc +qandadiv toc +qandaset toc +reference toc +section toc +set toc +</xsl:param> + + + +Description + +This parameter has a structured value. It is a table of space-delimited +path/value pairs. Each path identifies some element in the source document +using a restricted subset of XPath (only the implicit child axis, no wildcards, +no predicates). Paths can be either relative or absolute. + +When processing a particular element, the stylesheets consult this table to +determine if a ToC (or LoT(s)) should be generated. + +For example, consider the entry: + +book toc,figure + +This indicates that whenever a book is formatted, a +Table Of Contents and a List of Figures should be generated. Similarly, + +/chapter toc + +indicates that whenever a document that has a root +of chapter is formatted, a Table of +Contents should be generated. The entry chapter would match +all chapters, but /chapter matches only chapter +document elements. + +Generally, the longest match wins. So, for example, if you want to distinguish +articles in books from articles in parts, you could use these two entries: + +book/article toc,figure +part/article toc + +Note that an article in a part can never match a book/article, +so if you want nothing to be generated for articles in parts, you can simply leave +that rule out. + +If you want to leave the rule in, to make it explicit that you're turning +something off, use the value nop. For example, the following +entry disables ToCs and LoTs for articles: + +article nop + +Do not simply leave the word article in the file +without a matching value. That'd be just begging the silly little +path/value parser to get confused. + + + + + + +generate.section.toc.level +integer + + +generate.section.toc.level +Control depth of TOC generation in sections + + + +<xsl:param name="generate.section.toc.level" + select="0"/> + + +Description + +The generate.section.toc.level parameter +controls the depth of section in which TOCs will be generated. Note +that this is related to, but not the same as +toc.section.depth, which controls the depth to +which TOC entries will be generated in a given TOC. +If, for example, generate.section.toc.level +is 3, TOCs will be generated in first, second, and third +level sections, but not in fourth level sections. + + + + + + + +generate.index +boolean + + +generate.index +Do you want an index? + + + +<xsl:param name="generate.index" + select="1"/> + + +Description + +Specify if an index should be generated. + + + + + + +Extensions + + +linenumbering.everyNth +integer + + +linenumbering.everyNth +Indicate which lines should be numbered + + + +<xsl:param name="linenumbering.everyNth" + select="'5'"/> + + +Description + +If line numbering is enabled, everyNth line will be numbered. + + + + + + + +linenumbering.extension +boolean + + +linenumbering.extension +Enable the line numbering extension + + + +<xsl:param name="linenumbering.extension" + select="'1'"/> + + +Description + +If true, verbatim environments (elements that have the +format='linespecific' notation attribute: address, literallayout, +programlisting, screen, synopsis) that specify line numbering will +have, surprise, line numbers. + + + + + + + +linenumbering.separator +string + + +linenumbering.separator +Specify a separator between line numbers and lines + + + +<xsl:param name="linenumbering.separator" + select="' '"/> + + +Description + +The separator is inserted between line numbers and lines in +the verbatim environment. + + + + + + + +linenumbering.width +integer + + +linenumbering.width +Indicates the width of line numbers + + + +<xsl:param name="linenumbering.width" + select="'3'"/> + + +Description + +If line numbering is enabled, line numbers will appear right +justified in a field "width" characters wide. + + + + + + + +tablecolumns.extension +boolean + + +tablecolumns.extension +Enable the table columns extension function + + + +<xsl:param name="tablecolumns.extension" + select="'1'"/> + + +Description + +The table columns extension function adjusts the widths of table +columns in the HTML result to more accurately reflect the specifications +in the CALS table. + + + + + + + +textinsert.extension +boolean + + +textinsert.extension +Enable the textinsert extension element + + + +<xsl:param name="textinsert.extension" + select="'1'"/> + + +Description + +The textinsert extension element inserts the contents of a +a file into the result tree (as text). + + + + + + + +use.extensions +boolean + + +use.extensions +Enable extensions + + + +<xsl:param name="use.extensions" + select="'0'"/> + + +Description + +If non-zero, extensions may be used. Each extension is +further controlled by its own parameter. But if +use.extensions is zero, no extensions will +be used. + + + + + + + +Automatic labelling + + +chapter.autolabel +boolean + + +chapter.autolabel +Are chapters automatically enumerated? + + + +<xsl:param name="chapter.autolabel" + select="1"/> + + +Description + +If true (non-zero), unlabeled chapters will be enumerated. + + + + + + + +appendix.autolabel +boolean + + +appendix.autolabel +Are Appendixes automatically enumerated? + + + +<xsl:param name="appendix.autolabel" + select="1"/> + + +Description + +If true (non-zero), unlabeled appendixes will be +enumerated. + + + + + + + +part.autolabel +boolean + + +part.autolabel +Are parts and references enumerated? + + + +<xsl:param name="part.autolabel" + select="1"/> + + +Description + +If true (non-zero), unlabeled parts and references will be enumerated. + + + + + + + +preface.autolabel +boolean + + +preface.autolabel +Are prefaces enumerated? + + + +<xsl:param name="preface.autolabel" + select="0"/> + + +Description + +If true (non-zero), unlabeled prefaces will be enumerated. + + + + + + + +qandadiv.autolabel +boolean + + +qandadiv.autolabel +Are divisions in QAndASets enumerated? + + + +<xsl:param name="qandadiv.autolabel" + select="1"/> + + +Description + +If true (non-zero), unlabeled qandadivs will be enumerated. + + + + + + + +section.autolabel +boolean + + +section.autolabel +Are sections enumerated? + + + +<xsl:param name="section.autolabel" + select="0"/> + + +Description + +If true (non-zero), unlabeled sections will be enumerated. + + + + + + + +section.label.includes.component.label +boolean + + +section.label.includes.component.label +Do section labels include the component label? + + + +<xsl:param name="section.label.includes.component.label" + select="0"/> + + +Description + +If true (non-zero), section labels are prefixed with the label of the +component that contains them. + + + + + + + +label.from.part +boolean + + +label.from.part +Renumber chapters in each part? + + + +<xsl:param name="label.from.part" + select="'0'"/> + + +Description + +If label.from.part is non-zero, components +(chapters, appendixes, etc.) +will be numbered from 1 in each part. Otherwise, +they will be numbered monotonically throughout each +book. + + + + + + + + + +HTML + + +html.base +uri + + +html.base +An HTML base URI + + + +<xsl:param name="html.base"/> + + +Description + +If html.base is set, it is used for the BASE +element in the HEAD of the HTML documents. +This is useful for dynamically served HTML where the base URI needs +to be shifted. + + + + + + +html.stylesheet.type +string + + +html.stylesheet.type +The type of the stylesheet used in the generated HTML + + + +<xsl:param name="html.stylesheet.type">text/css</xsl:param> + + +Description + +The type of the stylesheet to place in the HTML link tag. + + + + + + + +html.stylesheet +string + + +html.stylesheet +Name of the stylesheet to use in the generated HTML + + + +<xsl:param name="html.stylesheet" + select="''"/> + + +Description + +The name of the stylesheet to place in the HTML LINK +tag, or the empty string to suppress the stylesheet LINK. + + + + + + + +use.id.as.filename +boolean + + +use.id.as.filename +Use ID value of chunk elements as the filename? + + + +<xsl:param name="use.id.as.filename" + select="'0'"/> + + +Description + +If use.id.as.filename +is non-zero, the filename of chunk elements that have IDs will be +derived from the ID value. + + + + + + + +css.decoration +boolean + + +css.decoration +Enable CSS decoration of elements + + + +<xsl:param name="css.decoration">1</xsl:param> + + +Description + + +If css.decoration is turned on, then HTML elements +produced by the +stylesheet may be decorated with STYLE attributes. For example, the +LI tags produced for list items may include a fragment of CSS in the +STYLE attribute which sets the CSS property "list-style-type". + + + + + + + +spacing.paras +boolean + + +spacing.paras +Insert additional <p> elements for spacing? + + + +<xsl:param name="spacing.paras" + select="'0'"/> + + +Description + +When non-zero, additional, empty paragraphs are inserted in +several contexts (for example, around informal figures), to create a +more pleasing visual appearance in many browsers. + + + + + + + +emphasis.propagates.style +boolean + + +emphasis.propagates.style +Pass emphasis role attribute through to HTML? + + + +<xsl:param name="emphasis.propagates.style" + select="1"/> + + +Description + +If true, the role attribute of emphasis elements +will be passed through to the HTML as a class attribute on a +span that surrounds the emphasis. + + + + + + +phrase.propagates.style +boolean + + +phrase.propagates.style +Pass phrase role attribute through to HTML? + + + +<xsl:param name="phrase.propagates.style" + select="1"/> + + +Description + +If true, the role attribute of phrase elements +will be passed through to the HTML as a class attribute on a +span that surrounds the phrase. + + + + + + +html.longdesc +boolean + + +html.longdesc +Should longdesc URIs be created? + + + +<xsl:param name="html.longdesc" + select="1"/> + + +Description + +If non-zero, HTML files will be created for the +longdesc attribute. These files +are created from the textobjects in +mediaobjects and +inlinemediaobject. + + + + + + + +html.longdesc.link +boolean + + +html.longdesc.link +Should a link to the longdesc be included in the HTML? + + + +<xsl:param name="html.longdesc.link" + select="$html.longdesc"/> + + +Description + +If non-zero, links will be created to the +HTML files created for the +longdesc attribute. It makes no +sense to turn enable this option without also enabling the +$html.longdesc parameter. + +The longdesc.link named template is called +to construct the link. + + + + + + +make.valid.html +boolean + + +make.valid.html +Attempt to make sure the HTML output is valid HTML + + + +<xsl:param name="make.valid.html" + select="0"/> + + +Description + +If make.valid.html is true, the stylesheets take +extra effort to ensure that the resulting HTML is valid. This may mean that some +para tags are translated into HTML divs or +that other substitutions occur. + +This parameter is different from html.cleanup +because it changes the resulting markup; it does not use extension functions +to manipulate result-tree-fragments and is therefore applicable to any +XSLT processor. + + + + + + +html.cleanup +boolean + + +html.cleanup +Attempt to clean up the resulting HTML? + + + +<xsl:param name="html.cleanup" + select="1"/> + + +Description + +If non-zero, and if the EXSLT +extensions are supported by your processor, the resulting HTML will be +cleaned up. This improves the chances that the +resulting HTML will be valid. It may also improve the formatting of +some elements. + +This parameter is different from make.valid.html +because it uses extension functions to manipulate result-tree-fragments. + + + + + + +draft.watermark.image +uri + + +draft.watermark.image +The URI of the image to be used for draft watermarks + + + +<xsl:param name="draft.watermark.image" + select="'http://docbook.sourceforge.net/release/images/draft.png'"/> + + +Description + +The image to be used for draft watermarks. + + + + + + +generate.id.attributes + + + +generate.id.attributes + + + + +<xsl:param name="generate.id.attributes" + select="0"/> + + +Description + +If non-zero, the HTML stylesheet will generate ID attributes on +containers. For example, the markup: + +<section id="foo"><title>Some Title</title> +<para>Some para.</para> +</section> + +might produce: + +<div class="section" id="foo"> +<h2>Some Title</h2> +<p>Some para.</p> +</div> + +The alternative is to generate anchors: + +<div class="section"> +<h2><a name="foo"></a>Some Title</h2> +<p>Some para.</p> +</div> + +Because the name attribute of +the a element and the id +attribute of other tags are both of type ID, producing both +generates invalid documents. + +As of version 1.50, you can use this switch to control which type of +identifier is generated. For backwards-compatibility, generating +a anchors is preferred. + +Note: at present, this switch is incompletely implemented. +Disabling ID attributes will suppress them, but enabling ID attributes +will not suppress the anchors. + + + + + + +XSLT Processing + + +rootid +string + + +rootid +Specify the root element to format + + + +<xsl:param name="rootid" + select="''"/> + + +Description + +If rootid is specified, it must be the +value of an ID that occurs in the document being formatted. The entire +document will be loaded and parsed, but formatting will begin at the +element identified, rather than at the root. For example, this allows +you to process only chapter 4 of a book. +Because the entire document is available to the processor, automatic +numbering, cross references, and other dependencies are correctly +resolved. + + + + + + +suppress.navigation +boolean + + +suppress.navigation +Disable header and footer navigation + + + +<xsl:param name="suppress.navigation">0</xsl:param> + + +Description + + +If suppress.navigation is turned on, header and +footer navigation will be suppressed. + + + + + + +Meta/*Info + + +inherit.keywords +boolean + + +inherit.keywords +Inherit keywords from ancestor elements? + + + +<xsl:param name="inherit.keywords" + select="'1'"/> + + +Description + +If inherit.keywords +is non-zero, the keyword META for each HTML +HEAD element will include all of the keywords from +ancestral elements. Otherwise, only the keywords from the current section +will be used. + + + + + + + +make.single.year.ranges +boolean + + +make.single.year.ranges +Print single-year ranges (e.g., 1998-1999) + + + +<xsl:param name="make.single.year.ranges" + select="0"/> + + +Description + +If non-zero, year ranges that span a single year will be printed +in range notation (1998-1999) instead of discrete notation +(1998, 1999). + + + + + + +make.year.ranges +boolean + + +make.year.ranges +Collate copyright years into ranges? + + + +<xsl:param name="make.year.ranges" + select="0"/> + + +Description + +If non-zero, copyright years will be collated into ranges. + + + + + + +author.othername.in.middle +boolean + + +author.othername.in.middle +Is othername in author a +middle name? + + + +<xsl:param name="author.othername.in.middle" + select="1"/> + + +Description + +If true (non-zero), the othername of an author +appears between the firstname and +surname. Otherwise, othername +is suppressed. + + + + + + + +generate.legalnotice.link +boolean + + +generate.legalnotice.link +TBD + + + +<xsl:param name="generate.legalnotice.link" + select="0"/> + + +Description + +TBD + + + + + + +Reference Pages + + +funcsynopsis.decoration +boolean + + +funcsynopsis.decoration +Decorate elements of a FuncSynopsis? + + + +<xsl:param name="funcsynopsis.decoration" + select="1"/> + + +Description + +If true (non-zero), elements of the FuncSynopsis will be decorated (e.g. bold or +italic). The decoration is controlled by functions that can be redefined +in a customization layer. + + + + + + + +funcsynopsis.style +list +ansi +kr + + +funcsynopsis.style +What style of 'FuncSynopsis' should be generated? + + + +<xsl:param name="funcsynopsis.style">kr</xsl:param> + + +Description + +If funcsynopsis.style is ansi, +ANSI-style function synopses are generated for a +funcsynopsis, otherwise K&R-style +function synopses are generated. + + + + + + + +function.parens +boolean + + +function.parens +Generate parens after a function? + + + +<xsl:param name="function.parens">0</xsl:param> + + +Description + +If not 0, the formatting of +a function element will include +generated parenthesis. + + + + + + + +refentry.generate.name +boolean + + +refentry.generate.name +Output NAME header before 'RefName'(s)? + + + +<xsl:param name="refentry.generate.name" + select="1"/> + + +Description + +If true (non-zero), a "NAME" section title is output before the list +of 'RefName's. This parameter and +refentry.generate.title are mutually exclusive. + + + + + + + +refentry.generate.title +boolean + + +refentry.generate.title +Output title before 'RefName'(s)? + + + +<xsl:param name="refentry.generate.title" + select="0"/> + + +Description + +If true (non-zero), the reference page title or first name is +output before the list of 'RefName's. This parameter and +refentry.generate.name are mutually exclusive. + + + + + + + + +refentry.xref.manvolnum +boolean + + +refentry.xref.manvolnum +Output manvolnum as part of +refentry cross-reference? + + + +<xsl:param name="refentry.xref.manvolnum" + select="1"/> + + +Description + +if true (non-zero), the manvolnum is used when cross-referencing +refentrys, either with xref +or citerefentry. + + + + + + + +citerefentry.link +boolean + + +citerefentry.link +Generate URL links when cross-referencing RefEntrys? + + + +<xsl:param name="citerefentry.link" + select="'0'"/> + + +Description + +If true, a web link will be generated, presumably +to an online man->HTML gateway. The text of the link is +generated by the generate.citerefentry.link template. + + + + + + + +refentry.separator +boolean + + +refentry.separator +Generate a separator between consecutive RefEntry elements? + + + +<xsl:param name="refentry.separator" + select="'1'"/> + + +Description + +If true, a separator will be generated between consecutive +reference pages. + + + + + + + +Tables + + +default.table.width +length + + +default.table.width +The default width of tables + + + +<xsl:param name="default.table.width" + select="''"/> + + +Description + +If specified, this value will be used for the WIDTH attribute on +tables that do not specify an alternate width (with the dbhtml processing +instruction). + + + + + + +nominal.table.width +length + + +nominal.table.width +The (absolute) nominal width of tables + + + +<xsl:param name="nominal.table.width" + select="'6in'"/> + + +Description + +In order to convert CALS column widths into HTML column widths, it +is sometimes necessary to have an absolute table width to use for conversion +of mixed absolute and relative widths. This value must be an absolute +length (not a percentag). + + + + + + +table.borders.with.css +boolean + + +table.borders.with.css +Use CSS to specify table, row, and cell borders? + + + +<xsl:param name="table.borders.with.css" + select="0"/> + + +Description + +If true (non-zero), CSS will be used to draw table borders. + + + + + + + +table.border.style + + + +table.border.style + + + + +<xsl:param name="table.border.style" + select="'solid'"/> + + +Description + +FIXME: + + + + + + +table.border.thickness + + + +table.border.thickness + + + + +<xsl:param name="table.border.thickness" + select="'0.5pt'"/> + + +Description + +FIXME: + + + + + + +table.border.color + + + +table.border.color + + + + +<xsl:param name="table.border.color" + select="'black'"/> + + +Description + +FIXME: + + + + + + +QAndASet + + +qanda.defaultlabel +boolean + + +qanda.defaultlabel +Sets the default for defaultlabel on QandASet. + + + +<xsl:param name="qanda.defaultlabel">number</xsl:param> + + +Description + +If no defaultlabel attribute is specified on a QandASet, this +value is used. It must be one of the legal values for the defaultlabel +attribute. + + + + + + + +qanda.inherit.numeration +boolean + + +qanda.inherit.numeration +Does enumeration of QandASet components inherit the numeration of parent elements? + + + +<xsl:param name="qanda.inherit.numeration" + select="1"/> + + +Description + +If true (non-zero), numbered QandADiv elements and Questions and Answers inherit +the numeration of the ancestors of the QandASet. + + + + + + + +Linking + + +link.mailto.url +string + + +link.mailto.url +Mailto URL for the LINK REL=made HTML HEAD element + + + +<xsl:param name="link.mailto.url"/> + + +Description + +If not the empty string, this address will be used for the +REL=made LINK element in the HTML HEAD. + + + + + + + +ulink.target +string + + +ulink.target +The HTML anchor target for ULinks + + + +<xsl:param name="ulink.target" + select="'_top'"/> + + +Description + +If ulink.target is set, its value will +be used for the target attribute +on anchors generated for ulinks. + + + + + + +olink.fragid +string + + +olink.fragid +Names the fragment identifier portion of an OLink resolver query + + + +<xsl:param name="olink.fragid" + select="'fragid='"/> + + +Description + +FIXME: + + + + + + +olink.outline.ext +string + + +olink.outline.ext +The extension of OLink outline files + + + +<xsl:param name="olink.outline.ext" + select="'.olink'"/> + + +Description + +FIXME: + + + + + + +olink.pubid +string + + +olink.pubid +Names the public identifier portion of an OLink resolver query + + + +<xsl:param name="olink.pubid" + select="'pubid='"/> + + +Description + +FIXME: + + + + + + +olink.sysid +string + + +olink.sysid +Names the system identifier portion of an OLink resolver query + + + +<xsl:param name="olink.sysid" + select="'sysid='"/> + + +Description + +FIXME: + + + + + + +olink.resolver + + + +olink.resolver +The root name of the OLink resolver (usually a script) + + + +<xsl:param name="olink.resolver" + select="'/cgi-bin/olink'"/> + + +Description + +FIXME: + + + + + + +Bibliography + + +biblioentry.item.separator +string + + +biblioentry.item.separator +Text to separate bibliography entries + + + +<xsl:param name="biblioentry.item.separator">. </xsl:param> + + +Description + +Text to separate bibliography entries + + + + + + + +bibliography.collection +string + + +bibliography.collection +Name of the bibliography collection file + + + +<xsl:param name="bibliography.collection" + select="'http://docbook.sourceforge.net/release/bibliography/bibliography.xml'"/> + + +Description + +Maintaining bibliography entries across a set of documents is tedious, time +consuming, and error prone. It makes much more sense, usually, to store all of +the bibliography entries in a single place and simply extract +the ones you need in each document. + +That's the purpose of the +bibliography.collection parameter. To setup a global +bibliography database, follow these steps: + +First, create a stand-alone bibliography document that contains all of +the documents that you wish to reference. Make sure that each bibliography +entry (whether you use biblioentry or bibliomixed) +has an ID. + +My global bibliography, ~/bibliography.xml begins +like this: + + +<!DOCTYPE bibliography + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> +<bibliography><title>References</title> + +<bibliomixed id="xml-rec"><abbrev>XML 1.0</abbrev>Tim Bray, +Jean Paoli, C. M. Sperberg-McQueen, and Eve Maler, editors. +<citetitle><ulink url="http://www.w3.org/TR/REC-xml">Extensible Markup +Language (XML) 1.0 Second Edition</ulink></citetitle>. +World Wide Web Consortium, 2000. +</bibliomixed> + +<bibliomixed id="xml-names"><abbrev>Namespaces</abbrev>Tim Bray, +Dave Hollander, +and Andrew Layman, editors. +<citetitle><ulink url="http://www.w3.org/TR/REC-xml-names/">Namespaces in +XML</ulink></citetitle>. +World Wide Web Consortium, 1999. +</bibliomixed> + +<!-- ... --> +</bibliography> + + + +When you create a bibliography in your document, simply +provide empty bibliomixed +entries for each document that you wish to cite. Make sure that these +elements have the same ID as the corresponding real +entry in your global bibliography. + +For example: + + +<bibliography><title>Bibliography</title> + +<bibliomixed id="xml-rec"/> +<bibliomixed id="xml-names"/> +<bibliomixed id="DKnuth86">Donald E. Knuth. <citetitle>Computers and +Typesetting: Volume B, TeX: The Program</citetitle>. Addison-Wesley, +1986. ISBN 0-201-13437-3. +</bibliomixed> +<bibliomixed id="relaxng"/> + +</bibliography> + + +Note that it's perfectly acceptable to mix entries from your +global bibliography with normal entries. You can use +xref or other elements to cross-reference your +bibliography entries in exactly the same way you do now. + +Finally, when you are ready to format your document, simply set the +bibliography.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global bibliography. + +The stylesheets will format the bibliography in your document as if +all of the entries referenced appeared there literally. + + + + + + +Glossary + + +glossterm.auto.link +boolean + + +glossterm.auto.link +Generate links from glossterm to glossentry automaticaly? + + + +<xsl:param name="glossterm.auto.link" + select="'0'"/> + + +Description + +If true, a link will be automatically created from glossterm +to glossentry for that glossary term. This is usefull when your +glossterm names are consistent and you don't want to add links +manually. +If there is linkend on +glossterm then is used instead of autogeneration of +link. + + + + + + +firstterm.only.link +boolean + + +firstterm.only.link +Does automatic glossterm linking only apply to firstterms? + + + +<xsl:param name="firstterm.only.link" + select="0"/> + + +Description + +If true, only firstterms will be automatically linked +to the glossary. If glossary linking is not enabled, this parameter +has no effect. + + + + + + +glossary.collection +string + + +glossary.collection +Name of the glossary collection file + + + +<xsl:param name="glossary.collection" + select="''"/> + + +Description + +Glossaries maintained independently across a set of documents +are likely to become inconsistent unless considerable effort is +expended to keep them in sync. It makes much more sense, usually, to +store all of the glossary entries in a single place and simply +extract the ones you need in each document. + +That's the purpose of the +glossary.collection parameter. To setup a global +glossary database, follow these steps: + +Setting Up the Glossary Database + +First, create a stand-alone glossary document that contains all of +the entries that you wish to reference. Make sure that each glossary +entry has an ID. + +Here's an example glossary: + + + +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE glossary + PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> +<glossary> +<glossaryinfo> +<editor><firstname>Eric</firstname><surname>Raymond</surname></editor> +<title>Jargon File 4.2.3 (abridged)</title> +<releaseinfo>Just some test data</releaseinfo> +</glossaryinfo> + +<glossdiv><title>0</title> + +<glossentry> +<glossterm>0</glossterm> +<glossdef> +<para>Numeric zero, as opposed to the letter `O' (the 15th letter of +the English alphabet). In their unmodified forms they look a lot +alike, and various kluges invented to make them visually distinct have +compounded the confusion. If your zero is center-dotted and letter-O +is not, or if letter-O looks almost rectangular but zero looks more +like an American football stood on end (or the reverse), you're +probably looking at a modern character display (though the dotted zero +seems to have originated as an option on IBM 3270 controllers). If +your zero is slashed but letter-O is not, you're probably looking at +an old-style ASCII graphic set descended from the default typewheel on +the venerable ASR-33 Teletype (Scandinavians, for whom /O is a letter, +curse this arrangement). (Interestingly, the slashed zero long +predates computers; Florian Cajori's monumental "A History of +Mathematical Notations" notes that it was used in the twelfth and +thirteenth centuries.) If letter-O has a slash across it and the zero +does not, your display is tuned for a very old convention used at IBM +and a few other early mainframe makers (Scandinavians curse <emphasis>this</emphasis> +arrangement even more, because it means two of their letters collide). +Some Burroughs/Unisys equipment displays a zero with a <emphasis>reversed</emphasis> +slash. Old CDC computers rendered letter O as an unbroken oval and 0 +as an oval broken at upper right and lower left. And yet another +convention common on early line printers left zero unornamented but +added a tail or hook to the letter-O so that it resembled an inverted +Q or cursive capital letter-O (this was endorsed by a draft ANSI +standard for how to draw ASCII characters, but the final standard +changed the distinguisher to a tick-mark in the upper-left corner). +Are we sufficiently confused yet?</para> +</glossdef> +</glossentry> + +<glossentry> +<glossterm>1TBS</glossterm> +<glossdef> +<para role="accidence"> +<phrase role="pronounce"></phrase> +<phrase role="partsofspeach">n</phrase> +</para> +<para>The "One True Brace Style"</para> +<glossseealso>indent style</glossseealso> +</glossdef> +</glossentry> + +<!-- ... --> + +</glossdiv> + +<!-- ... --> + +</glossary> + + + + +Marking Up Glossary Terms + +That takes care of the glossary database, now you have to get the entries +into your document. Unlike bibliography entries, which can be empty, creating +placeholder glossary entries would be very tedious. So instead, +support for glossary.collection relies on implicit linking. + +In your source document, simply use firstterm and +glossterm to identify the terms you wish to have included +in the glossary. The stylesheets assume that you will either set the +baseform attribute correctly, or that the +content of the element exactly matches a term in your glossary. + +If you're using a glossary.collection, don't +make explicit links on the terms in your document. + +So, in your document, you might write things like this: + + +<para>This is dummy text, without any real meaning. +The point is simply to reference glossary terms like <glossterm>0</glossterm> +and the <firstterm baseform="1TBS">One True Brace Style (1TBS)</firstterm>. +The <glossterm>1TBS</glossterm>, as you can probably imagine, is a nearly +religious issue.</para> + + +If you set the firstterm.only.link parameter, +only the terms marked with firstterm will be links. +Otherwise, all the terms will be linked. + + + +Marking Up the Glossary + +The glossary itself has to be identified for the stylesheets. For lack +of a better choice, the role is used. +To identify the glossary as the target for automatic processing, set +the role to auto. The title of this +glossary (and any other information from the glossaryinfo +that's rendered by your stylesheet) will be displayed, but the entries will +come from the database. + + +Unfortunately, the glossary can't be empty, so you must put in +at least one glossentry. The content of this entry +is irrelevant, it will not be rendered: + + +<glossary role="auto"> +<glossentry> +<glossterm>Irrelevant</glossterm> +<glossdef> +<para>If you can see this, the document was processed incorrectly. Use +the <parameter>glossary.collection</parameter> parameter.</para> +</glossdef> +</glossentry> +</glossary> + + +What about glossary divisions? If your glossary database has glossary +divisions and your automatic glossary contains at least +one glossdiv, the automic glossary will have divisions. +If the glossdiv is missing from either location, no divisions +will be rendered. + +Glossary entries (and divisions, if appropriate) in the glossary will +occur in precisely the order they occur in your database. + + + +Formatting the Document + +Finally, when you are ready to format your document, simply set the +glossary.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global glossary. + +The stylesheets will format the glossary in your document as if +all of the entries implicilty referenced appeared there literally. + + + + + + +Miscellaneous + + +graphic.default.extension +string + + +graphic.default.extension +Default extension for graphic filenames + + + +<xsl:param name="graphic.default.extension"/> + + +Description + +If a graphic or mediaobject +includes a reference to a filename that does not include an extension, +and the format attribute is +unspecified, the default extension will be used. + + + + + + + +formal.procedures +boolean + + +formal.procedures +Selects formal or informal procedures + + + +<xsl:param name="formal.procedures" + select="1"/> + + +Description + +Formal procedures are numbered and always have a title. + + + + + + + +formal.title.placement + + + +formal.title.placement + + + + +<xsl:param name="formal.title.placement"> +figure before +example before +equation before +table before +procedure before +</xsl:param> + + +Description + +Specifies where formal object titles should occur. For each formal object +type (figure, +example, +equation, +table, and procedure) +you can specify either the keyword +before or +after. + + + + + + +runinhead.default.title.end.punct +string + + +runinhead.default.title.end.punct +Default punctuation character on a run-in-head + + + +<xsl:param name="runinhead.default.title.end.punct" + select="'.'"/> + + +Description + +FIXME: + + + + + + + +runinhead.title.end.punct +string + + +runinhead.title.end.punct +Characters that count as punctuation on a run-in-head + + + +<xsl:param name="runinhead.title.end.punct" + select="'.!?:'"/> + + +Description + +FIXME: + + + + + + + +show.comments +boolean + + +show.comments +Display comment elements? + + + +<xsl:param name="show.comments">1</xsl:param> + + +Description + +If true (non-zero), comments will be displayed, otherwise they are suppressed. +Comments here refers to the comment element, +which will be renamed remark in DocBook V4.0, +not XML comments (<-- like this -->) which are unavailable. + + + + + + + +show.revisionflag +boolean + + +show.revisionflag +Enable decoration of elements that have a revisionflag + + + +<xsl:param name="show.revisionflag">0</xsl:param> + + +Description + + +If show.revisionflag is turned on, then the stylesheets +may produce additional markup designed to allow a CSS stylesheet to +highlight elements that have specific revisionflag settings. + +The markup inserted will be usually be either a <span> or <div> +with an appropriate class attribute. (The value of +the class attribute will be the same as the value of the revisionflag +attribute). In some contexts, for example tables, where extra markup +would be structurally illegal, the class attribute will be added to the +appropriate container element. + +In general, the stylesheets only test for revisionflag in contexts +where an importing stylesheet would have to redefine whole templates. +Most of the revisionflag processing is expected to be done by another +stylesheet, for example changebars.xsl. + + + + + + +shade.verbatim +boolean + + +shade.verbatim +Should verbatim environments be shaded? + + + +<xsl:param name="shade.verbatim" + select="0"/> + + +Description + +FIXME: + + + + + + +shade.verbatim.style + + + +shade.verbatim.style +Properties that specify the style of shaded verbatim listings + + + +<xsl:attribute-set name="shade.verbatim.style"> + <xsl:attribute name="border">0</xsl:attribute> + <xsl:attribute name="bgcolor">#E0E0E0</xsl:attribute> +</xsl:attribute-set> + + + +Description + +FIXME: + + + + + + +punct.honorific +string + + +punct.honorific +Punctuation after an honorific in a personal name. + + + +<xsl:param name="punct.honorific" + select="'.'"/> + + +Description + +This parameter specifies the punctuation that should be added after an +honorific in a personal name. + + + + + + +segmentedlist.as.table +boolean + + +segmentedlist.as.table +Format segmented lists as tables? + + + +<xsl:param name="segmentedlist.as.table" + select="0"/> + + +Description + +If non-zero, segmentedlists will be formatted as +tables. + + + + + + +variablelist.as.table +boolean + + +variablelist.as.table +Format variablelists as tables? + + + +<xsl:param name="variablelist.as.table" + select="0"/> + + +Description + +If non-zero, variablelists will be formatted as +tables. + +This parameter only applys to the HTML transformations. In the +FO case, proper list markup is robust enough to handle the formatting. +But see also variablelist.as.blocks. + + + + + + +tex.math.in.alt +string + + +tex.math.in.alt +TeX notation used for equations + + + +<xsl:param name="tex.math.in.alt" + select="''"/> + + +Description + +If you want type math directly in TeX notation in equations, +this parameter specifies notation used. Currently are supported two +values -- plain and latex. Empty +value means that you are not using TeX math at all. + +Preferred way for including TeX alternative of math is inside of +textobject element. Eg.: + +<inlineequation> +<inlinemediaobject> +<imageobject> +<imagedata fileref="eq1.gif"/> +</imageobject> +<textobject><phrase>E=mc squared</phrase></textobject> +<textobject role="tex"><phrase>E=mc^2</phrase></textobject> +</inlinemediaobject> +</inlineequation> + +If you are using graphic element, you can +store TeX inside alt element: + +<inlineequation> +<alt role="tex">a^2+b^2=c^2</alt> +<graphic fileref="a2b2c2.gif"/> +</inlineequation> + +If you want use this feature, you should process your FO with +PassiveTeX, which only supports TeX math notation. When calling +stylsheet, don't forget to specify also +passivetex.extensions=1. + +If you want equations in HTML, just process generated file +tex-math-equations.tex by TeX or LaTeX. Then run +dvi2bitmap program on result DVI file. You will get images for +equations in your document. + + + + + + +tex.math.file +string + + +tex.math.file +Name of temporary file for generating images from equations + + + +<xsl:param name="tex.math.file" + select="'tex-math-equations.tex'"/> + + +Description + +Name of auxiliary file for TeX equations. This file can be +processed by dvi2bitmap to get bitmap versions of equations for HTML +output. + + + + + + +tex.math.delims +boolean + + +tex.math.delims +Should be equations outputed for processing by TeX +automatically surrounded by math mode delimiters + + + +<xsl:param name="tex.math.delims" + select="'1'"/> + + +Description + +For compatibility with DSSSL based DBTeXMath from Allin Cottrell +you should set this parameter to 0. + + + + + + +pixels.per.inch +integer + + +pixels.per.inch +How many pixels are there per inch? + + + +<xsl:param name="pixels.per.inch" + select="90"/> + + +Description + +When lengths are converted to pixels, this value is used to +determine the size of a pixel. The default value is taken from the +XSL +Recommendation. + + + + + + + +points.per.em +number + + +points.per.em +Specify the nominal size of an em-space in points + + + +<xsl:param name="points.per.em" + select="10"/> + + +Description + +FIXME: + + + + + + +use.svg +boolean + + +use.svg +Allow SVG in the result tree? + + + +<xsl:param name="use.svg" + select="1"/> + + +Description + +If non-zero, SVG will be considered an acceptable image format. SVG +is passed through to the result tree, so correct rendering of the resulting +diagram depends on the formatter (FO processor or web browser) that is used +to process the output from the stylesheet. + + + + + + +Chunking + + +html.ext + + + +html.ext +Identifies the extension of generated HTML files + + + +<xsl:param name="html.ext" + select="'.html'"/> + + +Description + +The extension identified by html.ext will +be used as the filename extension for chunks created by this stylesheet. + + + + + + + +html.extra.head.links +boolean + + +html.extra.head.links +Toggle extra HTML head link information + + + +<xsl:param name="html.extra.head.links" + select="1"/> + + +Description + +If non-zero, extra link elements will be +generated in the head of chunked HTML files. These +extra links point to chapters, appendixes, sections, etc. as supported +by the Site Navigation Bar in Mozilla 1.0 (as of CR1, at least). + + + + + + + +root.filename + + + +root.filename +Identifies the name of the root HTML file when chunking + + + +<xsl:param name="root.filename" + select="'index'"/> + + +Description + +The root.filename is the base filename for +the chunk created for the root of each document processed. + + + + + + + +base.dir + + + +base.dir +The base directory of chunks + + + +<xsl:param name="base.dir" + select="''"/> + + +Description + +If specified, the base.dir identifies +the output directory for chunks. (If not specified, the output directory +is system dependent.) + + + + + + + generate.manifest + boolean + + + generate.manifest + Generate a manifest file? + + + + <xsl:param name="generate.manifest" + select="0"/> + + + Description + + If non-zero, a list of HTML files generated by the + stylesheet transformation is written to the file named by + the manifest parameter. + + + + + + + manifest + string + + + manifest + Name of manifest file + + + + <xsl:param name="manifest" + select="'HTML.manifest'"/> + + + Description + + The name of the file to which a manifest is written (if the + value of the generate.manifest parameter + is non-zero). + + + + + + +chunk.toc +string + + +chunk.toc +An explicit TOC to be used for chunking + + + +<xsl:param name="chunk.toc" + select="''"/> + + +Description + +The chunk.toc identifies an explicit TOC that +will be used for chunking. This parameter is only used by the +chunktoc.xsl stylesheet (and customization layers built +from it). + + + + + + +chunk.section.depth +integer + + +chunk.section.depth +Depth to which sections should be chunked + + + +<xsl:param name="chunk.section.depth" + select="1"/> + + +Description + +This parameter sets the depth of section chunking. + + + + + + +chunk.first.sections + + + +chunk.first.sections +Chunk the first top-level section? + + + +<xsl:param name="chunk.first.sections" + select="0"/> + + +Description + +If non-zero, a chunk will be created for the first top-level +sect1 or section elements in +each component. Otherwise, that section will be part of the chunk for +its parent. + + + + + + + +chunk.quietly + + + +chunk.quietly +Omit the chunked filename messages. + + + +<xsl:param name="chunk.quietly" + select="0"/> + + +Description + +If zero (the default), the XSL processor emits a message naming +each separate chunk filename as it is being output. +If nonzero, then the messages are suppressed. + + + + + + + +saxon.character.representation +string + + +saxon.character.representation +Saxon character representation used in generated HTML pages + + + +<xsl:param name="saxon.character.representation" + select="'entity;decimal'"/> + + +Description + +This character representation is used in files generated by chunking stylesheet. If +you want to suppress entity references for characters with direct representation +in default.encoding, set this parameter to value native. + + + + + + + +default.encoding +string + + +default.encoding +Encoding used in generated HTML pages + + + +<xsl:param name="default.encoding" + select="'ISO-8859-1'"/> + + +Description + +This encoding is used in files generated by chunking stylesheet. Currently +only Saxon is able to change output encoding. + + + + + + + +output.method +list +html +xml + + +output.method + + + + +<xsl:param name="output.method" + select="'html'"/> + + +Description + +Selects the output method for chunked documents. + + + + + + +chunk.datafile + + + +chunk.datafile +Name of the temporary file used to hold chunking data + + + +<xsl:param name="chunk.datafile" + select="'.chunks'"/> + + +Description + +Chunking is now a two-step process. The +chunk.datafile is the name of the file used to +hold the chunking data. + + + + + + + +navig.graphics +boolean + + +navig.graphics +Use graphics in navigational headers and footers? + + + +<xsl:param name="navig.graphics" + select="0"/> + + +Description + +If true (non-zero), the navigational headers and footers in chunked +HTML are presented in an alternate style that uses +graphical icons for Next, Previous, Up, and Home. +Default graphics are provided in the distribution. + + + + + + + +navig.graphics.extension +string + + +navig.graphics.extension +Extension for navigational graphics + + + +<xsl:param name="navig.graphics.extension" + select="'.gif'"/> + + +Description + +Sets the filename extension to use on navigational graphics used +in the headers and footers of chunked HTML. + + + + + + +navig.graphics.path +string + + +navig.graphics.path +Path to navigational graphics + + + +<xsl:param name="navig.graphics.path">images/</xsl:param> + + +Description + +Sets the path, probably relative to the directory where the HTML +files are created, to the navigational graphics used in the +headers and footers of chunked HTML. + + + + + + + +navig.showtitles +boolean + + +navig.showtitles +Display titles in HTML headers and footers? + + + +<xsl:param name="navig.showtitles">1</xsl:param> + + +Description + +If true (non-zero), +the headers and footers of chunked HTML +display the titles of the next and previous chunks, +along with the words 'Next' and 'Previous' (or the +equivalent graphical icons if navig.graphics is true). +If false (zero), then only the words 'Next' and 'Previous' +(or the icons) are displayed. + + + + + + + +Profiling + +Following parameters can be used for attribute value based +profiling of your document. For more info about profiling look at +http://docbook.sourceforge.net/projects/xsl/doc/tools/profiling.html. + + + +profile.arch +string + + +profile.arch +Target profile for arch +attribute + + + +<xsl:param name="profile.arch" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.condition +string + + +profile.condition +Target profile for condition +attribute + + + +<xsl:param name="profile.condition" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.conformance +string + + +profile.conformance +Target profile for conformance +attribute + + + +<xsl:param name="profile.conformance" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.lang +string + + +profile.lang +Target profile for lang +attribute + + + +<xsl:param name="profile.lang" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.os +string + + +profile.os +Target profile for os +attribute + + + +<xsl:param name="profile.os" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.revision +string + + +profile.revision +Target profile for revision +attribute + + + +<xsl:param name="profile.revision" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.revisionflag +string + + +profile.revisionflag +Target profile for revisionflag +attribute + + + +<xsl:param name="profile.revisionflag" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.role +string + + +profile.role +Target profile for role +attribute + + + +<xsl:param name="profile.role" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.security +string + + +profile.security +Target profile for security +attribute + + + +<xsl:param name="profile.security" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.userlevel +string + + +profile.userlevel +Target profile for userlevel +attribute + + + +<xsl:param name="profile.userlevel" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.vendor +string + + +profile.vendor +Target profile for vendor +attribute + + + +<xsl:param name="profile.vendor" + select="''"/> + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.attribute +string + + +profile.attribute +Name of user-specified profiling attribute + + + +<xsl:param name="profile.attribute" + select="''"/> + + +Description + +This parameter is used in conjuction with profile.value. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.value +string + + +profile.value +Target profile for user-specified attribute + + + +<xsl:param name="profile.value" + select="''"/> + + +Description + +When you are using this parameter you must also specify name of +profiling attribute with parameter profile.attribute. + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + + + + +profile.separator +string + + +profile.separator +Separator character for compound profile values + + + +<xsl:param name="profile.separator" + select="';'"/> + + +Description + +Separator character for compound profile values. + + + + + + +HTML Help + + +htmlhelp.encoding +string + + +htmlhelp.encoding +Character encoding to use in files for HTML Help compiler. + + + +<xsl:param name="htmlhelp.encoding" + select="'iso-8859-1'"/> + + +Description + +HTML Help Compiler is not UTF-8 aware, so you should always use +apropriate single-byte encoding here. + + + + + + +htmlhelp.autolabel +boolean + + +htmlhelp.autolabel +Should tree-like ToC use autonumbering feature? + + + +<xsl:param name="htmlhelp.autolabel" + select="0"/> + + +Description + +If you want to include chapter and section numbers into ToC in +the left panel, set this parameter to 1. + + + + + + +htmlhelp.chm +string + + +htmlhelp.chm +Filename of output HTML Help file. + + + +<xsl:param name="htmlhelp.chm" + select="'htmlhelp.chm'"/> + + +Description + +Change this parameter if you want different name of result +CHM file than htmlhelp.chm. + + + + + + +htmlhelp.default.topic +string + + +htmlhelp.default.topic +Name of file with default topic + + + +<xsl:param name="htmlhelp.default.topic" + select="''"/> + + +Description + +Normally first chunk of document is displayed when you open HTML +Help file. If you want to display another topic, simply set its +filename by this parameter. + +This is useful especially if you don't generate ToC in front of +your document and you also hide root element in ToC. E.g.: + +<xsl:param name="generate.book.toc" select="0"/> +<xsl:param name="htmlhelp.hhc.show.root" select="0"/> +<xsl:param name="htmlhelp.default.topic" select="'pr01.html'"/> + + + + + + +htmlhelp.hhp +string + + +htmlhelp.hhp +Filename of project file. + + + +<xsl:param name="htmlhelp.hhp" + select="'htmlhelp.hhp'"/> + + +Description + +Change this parameter if you want different name of project +file than htmlhelp.hhp. + + + + + + +htmlhelp.hhc +string + + +htmlhelp.hhc +Filename of TOC file. + + + +<xsl:param name="htmlhelp.hhc" + select="'toc.hhc'"/> + + +Description + +Change this parameter if you want different name of TOC file +than toc.hhc. + + + + + + +htmlhelp.hhp.tail +string + + +htmlhelp.hhp.tail +Additional content for project file. + + + +<xsl:param name="htmlhelp.hhp.tail"/> + + +Description + +If you want to include some additional parameters into project file, +store appropriate part of project file into this parameter. + + + + + + +htmlhelp.enumerate.images +boolean + + +htmlhelp.enumerate.images +Should be paths to all used images added to project file? + + + +<xsl:param name="htmlhelp.enumerate.images" + select="0"/> + + +Description + +You should turn on this flag, if you insert images into your documents +as external binary entities or if you are using absolute path in image names. + + + + + + +htmlhelp.force.map.and.alias +boolean + + +htmlhelp.force.map.and.alias +Should be [MAP] and [ALIAS] section added to project file unconditionaly? + + + +<xsl:param name="htmlhelp.force.map.and.alias" + select="0"/> + + +Description + +You should turn on this flag, if you have your own +alias.h and contex.h files +and you want include reference to them in project file. + + + + + + +htmlhelp.map.file +string + + +htmlhelp.map.file +Filename of map file. + + + +<xsl:param name="htmlhelp.map.file" + select="'context.h'"/> + + +Description + +Change this parameter if you want different name of map file +than context.h. + + + + + + +htmlhelp.alias.file +string + + +htmlhelp.alias.file +Filename of map file. + + + +<xsl:param name="htmlhelp.alias.file" + select="'alias.h'"/> + + +Description + +Change this parameter if you want different name of map file +than alias.h. + + + + + + +htmlhelp.hhc.section.depth +integer + + +htmlhelp.hhc.section.depth +Depth of TOC for sections in a left pane. + + + +<xsl:param name="htmlhelp.hhc.section.depth" + select="5"/> + + +Description + +Change this parameter if you want shallower ToC in a left pane +of HTML Help viewer. + + + + + + +htmlhelp.hhc.show.root +boolean + + +htmlhelp.hhc.show.root +Should be entry for root element shown in ToC? + + + +<xsl:param name="htmlhelp.hhc.show.root" + select="1"/> + + +Description + +If set to 0, there will be no entry for root element in +ToC. This is useful when you want provide user with expanded ToC as +a default. + + + + + + +htmlhelp.hhc.folders.instead.books + + + +htmlhelp.hhc.folders.instead.books + + + + +<xsl:param name="htmlhelp.hhc.folders.instead.books" + select="1"/> + + +Description + +This parameter controls whether there should be folder-like +icons (1) or book-like icons (0) in ToC. + + + + + + +htmlhelp.title +string + + +htmlhelp.title +Title of HTML Help + + + +<xsl:param name="htmlhelp.title" + select="''"/> + + +Description + +Content of this parameter will be used as a title for generated +HTML Help. If empty, title will be automatically taken from document. + + + + + + +The Stylesheet + +The param.xsl stylesheet is just a wrapper +around all these parameters. + + +<!-- This file is generated from param.xweb; do not edit this file! --> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="src" + version="1.0"> + +<!-- ******************************************************************** + $Id$ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://nwalsh.com/docbook/xsl/ for copyright + and other information. + + ******************************************************************** --> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</xsl:stylesheet> + + + + \ No newline at end of file diff --git a/rosdocs/xsl/html/param.xsl b/rosdocs/xsl/html/param.xsl new file mode 100644 index 0000000..c110578 --- /dev/null +++ b/rosdocs/xsl/html/param.xsl @@ -0,0 +1,329 @@ + + + + + + + + + + +images/ + + margin-left: 0.5in; margin-right: 0.5in; + + + + + + +. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + + + + + + + + + + + + + + + + + + +figure before +example before +equation before +table before +procedure before + + + +kr +0 + + + + + + + + + +appendix toc +article toc +book toc,figure,table,example,equation +chapter toc +part toc +preface toc +qandadiv toc +qandaset toc +reference toc +section toc +set toc + + + + + + + + + + + + + + + + + + + + + + + + + +text/css + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +images/ +1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +number + + + + + + + + + + + + + + + + + + + + + + 0 + #E0E0E0 + + + +1 +0 + +0 + + + + + + + + + + + + + + + + + + + + + + + +dl +2 + + + + + + + + + + + diff --git a/rosdocs/xsl/html/param.xweb b/rosdocs/xsl/html/param.xweb new file mode 100644 index 0000000..7148c8a --- /dev/null +++ b/rosdocs/xsl/html/param.xweb @@ -0,0 +1,472 @@ + +%param.ent; +]> + + +HTML Parameter Reference + +$Id$ + + + Walsh + Norman + + + 1999 + 2000 + 2001 + Norman Walsh + + + +Introduction + +This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets. + +This reference describes each of the HTML Stylesheet parameters. +These are the easily customizable parts of the stylesheet. +If you want to specify an alternate value for one or more of these +parameters, you can do so in a driver stylesheet. + +For example, if you want to change the html.stylesheet +to reference.css, you might create a driver +stylesheet like this: + + + + + + reference.css + +]]> + +Naturally, you have to change the +href attribute on +<xsl:import> to point to +docbook.xsl on your system. (Or +chunk.xsl, if you're using chunking.) + +This is not intended to be user documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in how it +works. + +Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-) + + +Admonitions +&admon.graphics.extension; +&admon.graphics.path; +&admon.graphics; +&admon.style; + + +Callouts +&callout.defaultcolumn; +&callout.graphics.extension; +&callout.graphics.number.limit; +&callout.graphics.path; +&callout.graphics; +&callout.list.table; +&callout.unicode.number.limit; +&callout.unicode.start.character; +&callout.unicode; +&callouts.extension; + + +EBNF +&ebnf.table.bgcolor; +&ebnf.table.border; + + +ToC/LoT/Index Generation +&annotate.toc; +&autotoc.label.separator; +&process.source.toc; +&process.empty.source.toc; +&bridgehead.in.toc; +&manual.toc; +&toc.list.type; +&toc.section.depth; +&generate.toc; +&generate.section.toc.level; +&generate.index; + + +Extensions +&linenumbering.everyNth; +&linenumbering.extension; +&linenumbering.separator; +&linenumbering.width; +&tablecolumns.extension; +&textinsert.extension; +&use.extensions; + + +Automatic labelling +&chapter.autolabel; +&appendix.autolabel; +&part.autolabel; +&preface.autolabel; +&qandadiv.autolabel; +§ion.autolabel; +§ion.label.includes.component.label; +&label.from.part; + + + + +HTML +&html.base; +&html.stylesheet.type; +&html.stylesheet; +&use.id.as.filename; +&css.decoration; +&spacing.paras; +&emphasis.propagates.style; +&phrase.propagates.style; +&html.longdesc; +&html.longdesc.link; +&make.valid.html; +&html.cleanup; +&draft.watermark.image; +&generate.id.attributes; + + +XSLT Processing +&rootid; +&suppress.navigation; + + +Meta/*Info +&inherit.keywords; +&make.single.year.ranges; +&make.year.ranges; +&author.othername.in.middle; +&generate.legalnotice.link; + + +Reference Pages +&funcsynopsis.decoration; +&funcsynopsis.style; +&function.parens; +&refentry.generate.name; +&refentry.generate.title; +&refentry.xref.manvolnum; +&citerefentry.link; +&refentry.separator; + + +Tables +&default.table.width; +&nominal.table.width; +&table.borders.with.css; +&table.border.style; +&table.border.thickness; +&table.border.color; + + +QAndASet +&qanda.defaultlabel; +&qanda.inherit.numeration; + + +Linking +&link.mailto.url; +&ulink.target; +&olink.fragid; +&olink.outline.ext; +&olink.pubid; +&olink.sysid; +&olink.resolver; + + +Bibliography +&biblioentry.item.separator; +&bibliography.collection; + + +Glossary +&glossterm.auto.link; +&firstterm.only.link; +&glossary.collection; + + +Miscellaneous +&graphic.default.extension; +&formal.procedures; +&formal.title.placement; +&runinhead.default.title.end.punct; +&runinhead.title.end.punct; +&show.comments; +&show.revisionflag; +&shade.verbatim; +&shade.verbatim.style; +&punct.honorific; +&segmentedlist.as.table; +&variablelist.as.table; +&tex.math.in.alt; +&tex.math.file; +&tex.math.delims; +&pixels.per.inch; +&points.per.em; +&use.svg; + + +Chunking +&html.ext; +&html.extra.head.links; +&root.filename; +&base.dir; +&generate.manifest; +&manifest; +&chunk.toc; +&chunk.section.depth; +&chunk.first.sections; +&chunk.quietly; +&saxon.character.representation; +&default.encoding; +&output.method; +&chunk.datafile; +&navig.graphics; +&navig.graphics.extension; +&navig.graphics.path; +&navig.showtitles; + + +Profiling + +Following parameters can be used for attribute value based +profiling of your document. For more info about profiling look at +http://docbook.sourceforge.net/projects/xsl/doc/tools/profiling.html. + +&profile.arch; +&profile.condition; +&profile.conformance; +&profile.lang; +&profile.os; +&profile.revision; +&profile.revisionflag; +&profile.role; +&profile.security; +&profile.userlevel; +&profile.vendor; +&profile.attribute; +&profile.value; +&profile.separator; + + +HTML Help +&htmlhelp.encoding; +&htmlhelp.autolabel; +&htmlhelp.chm; +&htmlhelp.default.topic; +&htmlhelp.hhp; +&htmlhelp.hhc; +&htmlhelp.hhp.tail; +&htmlhelp.enumerate.images; +&htmlhelp.force.map.and.alias; +&htmlhelp.map.file; +&htmlhelp.alias.file; +&htmlhelp.hhc.section.depth; +&htmlhelp.hhc.show.root; +&htmlhelp.hhc.folders.instead.books; +&htmlhelp.title; + + +The Stylesheet + +The param.xsl stylesheet is just a wrapper +around all these parameters. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/html/pi.xsl b/rosdocs/xsl/html/pi.xsl new file mode 100644 index 0000000..064138c --- /dev/null +++ b/rosdocs/xsl/html/pi.xsl @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + filename + + + + + + + + + + + + filename + + + + + + + + + + + + + + + + + + + + + + dir + + + + + + + + + + + + + + / + + + + / + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +
    +
    + + + + + + No cmdsynopsis elements matched dbcmdlist PI, perhaps it's nested too deep? + + + +
    + + + +
    +
    + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +
    +
    + + + + + + No funcsynopsis elements matched dbfunclist PI, perhaps it's nested too deep? + + + +
    + + + +
    +
    + + + +
    diff --git a/rosdocs/xsl/html/profile-chunk.xsl b/rosdocs/xsl/html/profile-chunk.xsl new file mode 100644 index 0000000..4bf0674 --- /dev/null +++ b/rosdocs/xsl/html/profile-chunk.xsl @@ -0,0 +1,325 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error + + is not a chunk! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID ' + + ' not found in document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    + + + + +
    +
    +
    + + + + + + + + + + +
    diff --git a/rosdocs/xsl/html/profile-docbook.xsl b/rosdocs/xsl/html/profile-docbook.xsl new file mode 100644 index 0000000..d1f2aa1 --- /dev/null +++ b/rosdocs/xsl/html/profile-docbook.xsl @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No template matches + + . + + + + < + + > + + </ + + > + + + + + + + + + white + black + #0000FF + #840084 + #0000FF + + + + + + + <xsl:apply-templates select="$node" mode="object.title.markup.textonly"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID ' + + ' not found in document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/html/profile-onechunk.xsl b/rosdocs/xsl/html/profile-onechunk.xsl new file mode 100644 index 0000000..2da5e7b --- /dev/null +++ b/rosdocs/xsl/html/profile-onechunk.xsl @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/html/qandaset.xsl b/rosdocs/xsl/html/qandaset.xsl new file mode 100644 index 0000000..9e0418d --- /dev/null +++ b/rosdocs/xsl/html/qandaset.xsl @@ -0,0 +1,324 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1% + + + + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + + + + + + + + + + + + + + + +
    + + +
    +
    + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + . + + + + + + + + +
    +
    + + + + + + + + + + + + + +
    diff --git a/rosdocs/xsl/html/refentry.xsl b/rosdocs/xsl/html/refentry.xsl new file mode 100644 index 0000000..9c2b9ee --- /dev/null +++ b/rosdocs/xsl/html/refentry.xsl @@ -0,0 +1,233 @@ + + + + + + + + +
    + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + +

    +
    + + +
    + +
    +
    +
    +
    + + + + + + +
    +
    + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + +
    + + + +

    + + + +

    +
    + +

    + + + + + + + + +

    +
    +
    +

    + +

    +
    +
    + + + + + , + + + + + + + em-dash + + + + + + + + + + +

    + + + + : + + + +

    +
    + + +
    + +

    + + + + + + + + + + +

    + +
    +
    + + + + + + + + + + + + + + + + +

    + +

    +
    + + + +

    + +

    +
    + + + +

    + +

    +
    + + + + + + + +
    diff --git a/rosdocs/xsl/html/sections.xsl b/rosdocs/xsl/html/sections.xsl new file mode 100644 index 0000000..d4f384e --- /dev/null +++ b/rosdocs/xsl/html/sections.xsl @@ -0,0 +1,351 @@ + + + + + + + + + + +
    + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + +
    +
    + + + + + + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + title + + + clear: both + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + 2 + + + + + + 2 + 3 + 4 + 5 + 6 + + + + + + + + + + + + + + +
    + diff --git a/rosdocs/xsl/html/synop.xsl b/rosdocs/xsl/html/synop.xsl new file mode 100644 index 0000000..3359979 --- /dev/null +++ b/rosdocs/xsl/html/synop.xsl @@ -0,0 +1,989 @@ + + +]> + + + + + + + + + + + +
    +

    + + +

    +
    +
    + + +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + ( + + ) + + + + + + + + + + + + +

    + + ( + + ) + + + +

    +
    + + + + + + +
    +
    + + +

    + + + + + + +

    +
    + + + + + + + + + + + + + + + + + + + + + + (void); + + + (); + + + + + + (...); + + + + + + + ( + + + + + + + + + + + , + + + ); + + + + + + + + + + + + + + + + + , + + + + +
    + + ; +
    + + + ( + + ) + + + + +java + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unrecognized language on + + : + + + + + + + + + + + +
    +
    +
    + + + + + +
    +    
    +    
    +       extends
    +      
    +      
    +        
    +      +
    +
    + + implements + + +
    +      +
    +
    + + throws + + +  { +
    + + } +
    +
    + + + + + + + + + , + + + + + + + + + + + + + +   + + + + + + , + + + + + + + + + , + + + + + + + + + , + + + + + + + + + +    + + + ; + + + + + + + +   + + + + + + +   + + + + + + + + + + + + + void  + + + + + + + + + + + 0 + + , +
    + + +   + + + +
    + + + +
    + + + + + + + + + + + + +    + + + + + + + + + + + + + + ( + + + + ) + +
    +     throws  + +
    + ; +
    + +
    + + + + +
    +    
    +    
    +      : 
    +      
    +      
    +        
    +      +
    +
    + + implements + + +
    +      +
    +
    + + throws + + +  { +
    + + } +
    +
    + + + + + + + + , + + + + + + + + + +   + + + + + + , + + + + + + + + + , + + + + + + + + + , + + + + + + + + + +    + + + ; + + + + + + + +   + + + + + + +   + + + + + + + + + + + + + void  + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + +    + + + + + + + + + + ( + + ) + +
    +     throws  + +
    + ; +
    + +
    + + + + +
    +    interface 
    +    
    +    
    +      : 
    +      
    +      
    +        
    +      +
    +
    + + implements + + +
    +      +
    +
    + + throws + + +  { +
    + + } +
    +
    + + + + + + + + , + + + + + + + + + +   + + + + + + , + + + + + + + + + , + + + + + + + + + , + + + + + + + + + +    + + + ; + + + + + + + +   + + + + + + +   + + + + + + + + + + + + + void  + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + +    + + + + + + + + + + ( + + ) + +
    +     raises( + + ) +
    + ; +
    + +
    + + + + +
    +    package 
    +    
    +    ;
    +    
    + + + @ISA = ( + + ); +
    +
    + + +
    +
    + + + + + + + + , + + + + + + + + + +   + + + + + + , + + + + + + + + + , + + + + + + + + + , + + + + + + + + + +    + + + ; + + + + + + + +   + + + + + + +   + + + + + + + + + + + + + void  + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + sub + + + { ... }; + + + + + + +
    diff --git a/rosdocs/xsl/html/table.xsl b/rosdocs/xsl/html/table.xsl new file mode 100644 index 0000000..fbbbce9 --- /dev/null +++ b/rosdocs/xsl/html/table.xsl @@ -0,0 +1,872 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + border- + + : + + + + + + ; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 100% + + + + + 0 + + + + border-collapse: collapse; + + + + + + + + + + + + + + + + + border-collapse: collapse; + + + + + + + + + + + border-collapse: collapse; + + + + + + + + border-collapse: collapse; + + + + + + + + border-collapse: collapse; + + + + + + + + + + + border-collapse: collapse; + + + + + + 0 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + 100% + + + + + + + + + + + + + + + + + + + + + + + + No convertLength function available. + + + + + + + + + + + + + + + + + + + + + + + No adjustColumnWidths function available. + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + th + th + td + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + : + + + + + + + + 0: + + + + + + + + + + + + + + + 0 + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + +
    + diff --git a/rosdocs/xsl/html/titlepage.templates.xml b/rosdocs/xsl/html/titlepage.templates.xml new file mode 100644 index 0000000..109389a --- /dev/null +++ b/rosdocs/xsl/html/titlepage.templates.xml @@ -0,0 +1,635 @@ + + + + + + + + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <hr/> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="set" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <hr/> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="book" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <hr/> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="part" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="partintro" wrapper="div"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="reference" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <hr/> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="refentry" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> +<!-- uncomment this if you want refentry titlepages + <title force="1" + named-template="refentry.title" + param:node="ancestor-or-self::refentry[1]"/> +--> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator/> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage element="dedication" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="component.title" + param:node="ancestor-or-self::dedication[1]"/> + <subtitle/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="preface" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="chapter" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="appendix" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="section" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <xsl:if test="count(parent::*)='0'"><hr/></xsl:if> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="sect1" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <xsl:if test="count(parent::*)='0'"><hr/></xsl:if> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="sect2" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <xsl:if test="count(parent::*)='0'"><hr/></xsl:if> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="sect3" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <xsl:if test="count(parent::*)='0'"><hr/></xsl:if> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="sect4" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <xsl:if test="count(parent::*)='0'"><hr/></xsl:if> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="sect5" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <xsl:if test="count(parent::*)='0'"><hr/></xsl:if> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage element="simplesect" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title/> + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <xsl:if test="count(parent::*)='0'"><hr/></xsl:if> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="bibliography" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="component.title" + param:node="ancestor-or-self::bibliography[1]"/> + <subtitle/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="glossary" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="component.title" + param:node="ancestor-or-self::glossary[1]"/> + <subtitle/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage element="index" wrapper="div" class="titlepage"> + <t:titlepage-content side="recto"> + <title + force="1" + named-template="component.title" + param:node="ancestor-or-self::index[1]"/> + <subtitle/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +</t:templates> diff --git a/rosdocs/xsl/html/titlepage.templates.xsl b/rosdocs/xsl/html/titlepage.templates.xsl new file mode 100644 index 0000000..e19d970 --- /dev/null +++ b/rosdocs/xsl/html/titlepage.templates.xsl @@ -0,0 +1,2718 @@ +<?xml version="1.0" encoding="utf-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + +<!-- This stylesheet was created by template/titlepage.xsl; do not edit it by hand. --> + +<xsl:template name="article.titlepage.recto"> + <xsl:choose> + <xsl:when test="articleinfo/title"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/title"/> + </xsl:when> + <xsl:when test="artheader/title"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="articleinfo/subtitle"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/subtitle"/> + </xsl:when> + <xsl:when test="artheader/subtitle"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/corpauthor"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/corpauthor"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/authorgroup"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/authorgroup"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/author"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/author"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/othercredit"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/othercredit"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/releaseinfo"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/releaseinfo"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/copyright"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/copyright"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/legalnotice"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/legalnotice"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/pubdate"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/pubdate"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revision"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revision"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revhistory"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revhistory"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/abstract"/> + <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/abstract"/> +</xsl:template> + +<xsl:template name="article.titlepage.verso"> +</xsl:template> + +<xsl:template name="article.titlepage.separator"><hr/> +</xsl:template> + +<xsl:template name="article.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="article.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="article.titlepage"> + <div class="titlepage"> + <xsl:call-template name="article.titlepage.before.recto"/> + <xsl:call-template name="article.titlepage.recto"/> + <xsl:call-template name="article.titlepage.before.verso"/> + <xsl:call-template name="article.titlepage.verso"/> + <xsl:call-template name="article.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="article.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="article.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="article.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="article.titlepage.recto.style"> +<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="set.titlepage.recto"> + <xsl:choose> + <xsl:when test="setinfo/title"> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="setinfo/subtitle"> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/corpauthor"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/authorgroup"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/author"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/othercredit"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/releaseinfo"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/copyright"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/legalnotice"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/pubdate"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revision"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revhistory"/> + <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/abstract"/> +</xsl:template> + +<xsl:template name="set.titlepage.verso"> +</xsl:template> + +<xsl:template name="set.titlepage.separator"><hr/> +</xsl:template> + +<xsl:template name="set.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="set.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="set.titlepage"> + <div class="titlepage"> + <xsl:call-template name="set.titlepage.before.recto"/> + <xsl:call-template name="set.titlepage.recto"/> + <xsl:call-template name="set.titlepage.before.verso"/> + <xsl:call-template name="set.titlepage.verso"/> + <xsl:call-template name="set.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="set.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="set.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="set.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="set.titlepage.recto.style"> +<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="book.titlepage.recto"> + <xsl:choose> + <xsl:when test="bookinfo/title"> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="bookinfo/subtitle"> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/corpauthor"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/authorgroup"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/author"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/othercredit"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/releaseinfo"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/copyright"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/legalnotice"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/pubdate"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revision"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revhistory"/> + <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/abstract"/> +</xsl:template> + +<xsl:template name="book.titlepage.verso"> +</xsl:template> + +<xsl:template name="book.titlepage.separator"><hr/> +</xsl:template> + +<xsl:template name="book.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="book.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="book.titlepage"> + <div class="titlepage"> + <xsl:call-template name="book.titlepage.before.recto"/> + <xsl:call-template name="book.titlepage.recto"/> + <xsl:call-template name="book.titlepage.before.verso"/> + <xsl:call-template name="book.titlepage.verso"/> + <xsl:call-template name="book.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="book.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="book.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="book.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="book.titlepage.recto.style"> +<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="part.titlepage.recto"> + <xsl:choose> + <xsl:when test="partinfo/title"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="partinfo/subtitle"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/corpauthor"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/authorgroup"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/author"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/othercredit"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/releaseinfo"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/copyright"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/legalnotice"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/pubdate"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/revision"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/revhistory"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/abstract"/> + <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/abstract"/> +</xsl:template> + +<xsl:template name="part.titlepage.verso"> +</xsl:template> + +<xsl:template name="part.titlepage.separator"> +</xsl:template> + +<xsl:template name="part.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="part.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="part.titlepage"> + <div class="titlepage"> + <xsl:call-template name="part.titlepage.before.recto"/> + <xsl:call-template name="part.titlepage.recto"/> + <xsl:call-template name="part.titlepage.before.verso"/> + <xsl:call-template name="part.titlepage.verso"/> + <xsl:call-template name="part.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="part.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="part.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="part.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="part.titlepage.recto.style"> +<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="partintro.titlepage.recto"> + <xsl:choose> + <xsl:when test="partintroinfo/title"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="partintroinfo/subtitle"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/corpauthor"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/authorgroup"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/author"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/othercredit"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/releaseinfo"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/copyright"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/legalnotice"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/pubdate"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revision"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revhistory"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/abstract"/> + <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/abstract"/> +</xsl:template> + +<xsl:template name="partintro.titlepage.verso"> +</xsl:template> + +<xsl:template name="partintro.titlepage.separator"> +</xsl:template> + +<xsl:template name="partintro.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="partintro.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="partintro.titlepage"> + <div> + <xsl:call-template name="partintro.titlepage.before.recto"/> + <xsl:call-template name="partintro.titlepage.recto"/> + <xsl:call-template name="partintro.titlepage.before.verso"/> + <xsl:call-template name="partintro.titlepage.verso"/> + <xsl:call-template name="partintro.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="partintro.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="partintro.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="partintro.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="partintro.titlepage.recto.style"> +<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="reference.titlepage.recto"> + <xsl:choose> + <xsl:when test="referenceinfo/title"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="referenceinfo/subtitle"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/corpauthor"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/authorgroup"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/author"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/othercredit"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/releaseinfo"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/copyright"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/legalnotice"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/pubdate"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revision"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revhistory"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/abstract"/> + <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/abstract"/> +</xsl:template> + +<xsl:template name="reference.titlepage.verso"> +</xsl:template> + +<xsl:template name="reference.titlepage.separator"><hr/> +</xsl:template> + +<xsl:template name="reference.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="reference.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="reference.titlepage"> + <div class="titlepage"> + <xsl:call-template name="reference.titlepage.before.recto"/> + <xsl:call-template name="reference.titlepage.recto"/> + <xsl:call-template name="reference.titlepage.before.verso"/> + <xsl:call-template name="reference.titlepage.verso"/> + <xsl:call-template name="reference.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="reference.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="reference.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="reference.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="reference.titlepage.recto.style"> +<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="refentry.titlepage.recto"> +</xsl:template> + +<xsl:template name="refentry.titlepage.verso"> +</xsl:template> + +<xsl:template name="refentry.titlepage.separator"> +</xsl:template> + +<xsl:template name="refentry.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="refentry.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="refentry.titlepage"> + <div class="titlepage"> + <xsl:call-template name="refentry.titlepage.before.recto"/> + <xsl:call-template name="refentry.titlepage.recto"/> + <xsl:call-template name="refentry.titlepage.before.verso"/> + <xsl:call-template name="refentry.titlepage.verso"/> + <xsl:call-template name="refentry.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="refentry.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="refentry.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template name="dedication.titlepage.recto"> + <div xsl:use-attribute-sets="dedication.titlepage.recto.style"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::dedication[1]"/> +</xsl:call-template></div> + <xsl:choose> + <xsl:when test="dedicationinfo/subtitle"> + <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="dedicationinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="dedication.titlepage.verso"> +</xsl:template> + +<xsl:template name="dedication.titlepage.separator"> +</xsl:template> + +<xsl:template name="dedication.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="dedication.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="dedication.titlepage"> + <div class="titlepage"> + <xsl:call-template name="dedication.titlepage.before.recto"/> + <xsl:call-template name="dedication.titlepage.recto"/> + <xsl:call-template name="dedication.titlepage.before.verso"/> + <xsl:call-template name="dedication.titlepage.verso"/> + <xsl:call-template name="dedication.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="dedication.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="dedication.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="dedication.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="dedication.titlepage.recto.style"> +<xsl:apply-templates select="." mode="dedication.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="preface.titlepage.recto"> + <xsl:choose> + <xsl:when test="prefaceinfo/title"> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="prefaceinfo/subtitle"> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/corpauthor"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/authorgroup"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/author"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/othercredit"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/releaseinfo"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/copyright"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/legalnotice"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/pubdate"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revision"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revhistory"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/abstract"/> + <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/abstract"/> +</xsl:template> + +<xsl:template name="preface.titlepage.verso"> +</xsl:template> + +<xsl:template name="preface.titlepage.separator"> +</xsl:template> + +<xsl:template name="preface.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="preface.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="preface.titlepage"> + <div class="titlepage"> + <xsl:call-template name="preface.titlepage.before.recto"/> + <xsl:call-template name="preface.titlepage.recto"/> + <xsl:call-template name="preface.titlepage.before.verso"/> + <xsl:call-template name="preface.titlepage.verso"/> + <xsl:call-template name="preface.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="preface.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="preface.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="preface.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="preface.titlepage.recto.style"> +<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="chapter.titlepage.recto"> + <xsl:choose> + <xsl:when test="chapterinfo/title"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="chapterinfo/subtitle"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/corpauthor"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/authorgroup"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/author"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/othercredit"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/releaseinfo"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/copyright"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/legalnotice"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/pubdate"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revision"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revhistory"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/abstract"/> + <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/abstract"/> +</xsl:template> + +<xsl:template name="chapter.titlepage.verso"> +</xsl:template> + +<xsl:template name="chapter.titlepage.separator"> +</xsl:template> + +<xsl:template name="chapter.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="chapter.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="chapter.titlepage"> + <div class="titlepage"> + <xsl:call-template name="chapter.titlepage.before.recto"/> + <xsl:call-template name="chapter.titlepage.recto"/> + <xsl:call-template name="chapter.titlepage.before.verso"/> + <xsl:call-template name="chapter.titlepage.verso"/> + <xsl:call-template name="chapter.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="chapter.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="chapter.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="chapter.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="chapter.titlepage.recto.style"> +<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="appendix.titlepage.recto"> + <xsl:choose> + <xsl:when test="appendixinfo/title"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="appendixinfo/subtitle"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/corpauthor"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/authorgroup"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/author"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/othercredit"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/releaseinfo"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/copyright"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/legalnotice"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/pubdate"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revision"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revhistory"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/abstract"/> + <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/abstract"/> +</xsl:template> + +<xsl:template name="appendix.titlepage.verso"> +</xsl:template> + +<xsl:template name="appendix.titlepage.separator"> +</xsl:template> + +<xsl:template name="appendix.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="appendix.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="appendix.titlepage"> + <div class="titlepage"> + <xsl:call-template name="appendix.titlepage.before.recto"/> + <xsl:call-template name="appendix.titlepage.recto"/> + <xsl:call-template name="appendix.titlepage.before.verso"/> + <xsl:call-template name="appendix.titlepage.verso"/> + <xsl:call-template name="appendix.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="appendix.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="appendix.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="appendix.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="appendix.titlepage.recto.style"> +<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="section.titlepage.recto"> + <xsl:choose> + <xsl:when test="sectioninfo/title"> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sectioninfo/subtitle"> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/corpauthor"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/authorgroup"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/author"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/othercredit"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/releaseinfo"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/copyright"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/legalnotice"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/pubdate"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revision"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revhistory"/> + <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/abstract"/> +</xsl:template> + +<xsl:template name="section.titlepage.verso"> +</xsl:template> + +<xsl:template name="section.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if> +</xsl:template> + +<xsl:template name="section.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="section.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="section.titlepage"> + <div class="titlepage"> + <xsl:call-template name="section.titlepage.before.recto"/> + <xsl:call-template name="section.titlepage.recto"/> + <xsl:call-template name="section.titlepage.before.verso"/> + <xsl:call-template name="section.titlepage.verso"/> + <xsl:call-template name="section.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="section.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="section.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="section.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="section.titlepage.recto.style"> +<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="sect1.titlepage.recto"> + <xsl:choose> + <xsl:when test="sect1info/title"> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sect1info/subtitle"> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/corpauthor"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/authorgroup"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/author"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/othercredit"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/releaseinfo"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/copyright"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/legalnotice"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/pubdate"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revision"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revhistory"/> + <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/abstract"/> +</xsl:template> + +<xsl:template name="sect1.titlepage.verso"> +</xsl:template> + +<xsl:template name="sect1.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if> +</xsl:template> + +<xsl:template name="sect1.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="sect1.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="sect1.titlepage"> + <div class="titlepage"> + <xsl:call-template name="sect1.titlepage.before.recto"/> + <xsl:call-template name="sect1.titlepage.recto"/> + <xsl:call-template name="sect1.titlepage.before.verso"/> + <xsl:call-template name="sect1.titlepage.verso"/> + <xsl:call-template name="sect1.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="sect1.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="sect1.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="sect1.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect1.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="sect2.titlepage.recto"> + <xsl:choose> + <xsl:when test="sect2info/title"> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sect2info/subtitle"> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/corpauthor"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/authorgroup"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/author"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/othercredit"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/releaseinfo"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/copyright"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/legalnotice"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/pubdate"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revision"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revhistory"/> + <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/abstract"/> +</xsl:template> + +<xsl:template name="sect2.titlepage.verso"> +</xsl:template> + +<xsl:template name="sect2.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if> +</xsl:template> + +<xsl:template name="sect2.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="sect2.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="sect2.titlepage"> + <div class="titlepage"> + <xsl:call-template name="sect2.titlepage.before.recto"/> + <xsl:call-template name="sect2.titlepage.recto"/> + <xsl:call-template name="sect2.titlepage.before.verso"/> + <xsl:call-template name="sect2.titlepage.verso"/> + <xsl:call-template name="sect2.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="sect2.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="sect2.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="sect2.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect2.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="sect3.titlepage.recto"> + <xsl:choose> + <xsl:when test="sect3info/title"> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sect3info/subtitle"> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/corpauthor"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/authorgroup"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/author"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/othercredit"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/releaseinfo"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/copyright"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/legalnotice"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/pubdate"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revision"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revhistory"/> + <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/abstract"/> +</xsl:template> + +<xsl:template name="sect3.titlepage.verso"> +</xsl:template> + +<xsl:template name="sect3.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if> +</xsl:template> + +<xsl:template name="sect3.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="sect3.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="sect3.titlepage"> + <div class="titlepage"> + <xsl:call-template name="sect3.titlepage.before.recto"/> + <xsl:call-template name="sect3.titlepage.recto"/> + <xsl:call-template name="sect3.titlepage.before.verso"/> + <xsl:call-template name="sect3.titlepage.verso"/> + <xsl:call-template name="sect3.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="sect3.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="sect3.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="sect3.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect3.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="sect4.titlepage.recto"> + <xsl:choose> + <xsl:when test="sect4info/title"> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sect4info/subtitle"> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/corpauthor"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/authorgroup"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/author"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/othercredit"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/releaseinfo"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/copyright"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/legalnotice"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/pubdate"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revision"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revhistory"/> + <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/abstract"/> +</xsl:template> + +<xsl:template name="sect4.titlepage.verso"> +</xsl:template> + +<xsl:template name="sect4.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if> +</xsl:template> + +<xsl:template name="sect4.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="sect4.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="sect4.titlepage"> + <div class="titlepage"> + <xsl:call-template name="sect4.titlepage.before.recto"/> + <xsl:call-template name="sect4.titlepage.recto"/> + <xsl:call-template name="sect4.titlepage.before.verso"/> + <xsl:call-template name="sect4.titlepage.verso"/> + <xsl:call-template name="sect4.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="sect4.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="sect4.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="sect4.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect4.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="sect5.titlepage.recto"> + <xsl:choose> + <xsl:when test="sect5info/title"> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="sect5info/subtitle"> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/corpauthor"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/authorgroup"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/author"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/othercredit"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/releaseinfo"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/copyright"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/legalnotice"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/pubdate"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revision"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revhistory"/> + <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/abstract"/> +</xsl:template> + +<xsl:template name="sect5.titlepage.verso"> +</xsl:template> + +<xsl:template name="sect5.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if> +</xsl:template> + +<xsl:template name="sect5.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="sect5.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="sect5.titlepage"> + <div class="titlepage"> + <xsl:call-template name="sect5.titlepage.before.recto"/> + <xsl:call-template name="sect5.titlepage.recto"/> + <xsl:call-template name="sect5.titlepage.before.verso"/> + <xsl:call-template name="sect5.titlepage.verso"/> + <xsl:call-template name="sect5.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="sect5.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="sect5.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="sect5.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="sect5.titlepage.recto.style"> +<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="simplesect.titlepage.recto"> + <xsl:choose> + <xsl:when test="simplesectinfo/title"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/title"/> + </xsl:when> + <xsl:when test="docinfo/title"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/title"/> + </xsl:when> + <xsl:when test="title"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="title"/> + </xsl:when> + </xsl:choose> + + <xsl:choose> + <xsl:when test="simplesectinfo/subtitle"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/corpauthor"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/authorgroup"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/author"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/author"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/othercredit"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/othercredit"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/releaseinfo"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/copyright"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/copyright"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/legalnotice"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/pubdate"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/pubdate"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revision"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revision"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revhistory"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revhistory"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/abstract"/> + <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/abstract"/> +</xsl:template> + +<xsl:template name="simplesect.titlepage.verso"> +</xsl:template> + +<xsl:template name="simplesect.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if> +</xsl:template> + +<xsl:template name="simplesect.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="simplesect.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="simplesect.titlepage"> + <div class="titlepage"> + <xsl:call-template name="simplesect.titlepage.before.recto"/> + <xsl:call-template name="simplesect.titlepage.recto"/> + <xsl:call-template name="simplesect.titlepage.before.verso"/> + <xsl:call-template name="simplesect.titlepage.verso"/> + <xsl:call-template name="simplesect.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="simplesect.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="simplesect.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="title" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="subtitle" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="corpauthor" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="authorgroup" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="author" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="othercredit" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="releaseinfo" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="copyright" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="legalnotice" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="pubdate" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revision" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="revhistory" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template match="abstract" mode="simplesect.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> +<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="bibliography.titlepage.recto"> + <div xsl:use-attribute-sets="bibliography.titlepage.recto.style"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::bibliography[1]"/> +</xsl:call-template></div> + <xsl:choose> + <xsl:when test="bibliographyinfo/subtitle"> + <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="bibliographyinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="bibliography.titlepage.verso"> +</xsl:template> + +<xsl:template name="bibliography.titlepage.separator"> +</xsl:template> + +<xsl:template name="bibliography.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="bibliography.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="bibliography.titlepage"> + <div class="titlepage"> + <xsl:call-template name="bibliography.titlepage.before.recto"/> + <xsl:call-template name="bibliography.titlepage.recto"/> + <xsl:call-template name="bibliography.titlepage.before.verso"/> + <xsl:call-template name="bibliography.titlepage.verso"/> + <xsl:call-template name="bibliography.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="bibliography.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="bibliography.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="bibliography.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="bibliography.titlepage.recto.style"> +<xsl:apply-templates select="." mode="bibliography.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="glossary.titlepage.recto"> + <div xsl:use-attribute-sets="glossary.titlepage.recto.style"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::glossary[1]"/> +</xsl:call-template></div> + <xsl:choose> + <xsl:when test="glossaryinfo/subtitle"> + <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="glossaryinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="glossary.titlepage.verso"> +</xsl:template> + +<xsl:template name="glossary.titlepage.separator"> +</xsl:template> + +<xsl:template name="glossary.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="glossary.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="glossary.titlepage"> + <div class="titlepage"> + <xsl:call-template name="glossary.titlepage.before.recto"/> + <xsl:call-template name="glossary.titlepage.recto"/> + <xsl:call-template name="glossary.titlepage.before.verso"/> + <xsl:call-template name="glossary.titlepage.verso"/> + <xsl:call-template name="glossary.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="glossary.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="glossary.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="glossary.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="glossary.titlepage.recto.style"> +<xsl:apply-templates select="." mode="glossary.titlepage.recto.mode"/> +</div> +</xsl:template> + +<xsl:template name="index.titlepage.recto"> + <div xsl:use-attribute-sets="index.titlepage.recto.style"> +<xsl:call-template name="component.title"> +<xsl:with-param name="node" select="ancestor-or-self::index[1]"/> +</xsl:call-template></div> + <xsl:choose> + <xsl:when test="indexinfo/subtitle"> + <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="indexinfo/subtitle"/> + </xsl:when> + <xsl:when test="docinfo/subtitle"> + <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="docinfo/subtitle"/> + </xsl:when> + <xsl:when test="subtitle"> + <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="subtitle"/> + </xsl:when> + </xsl:choose> + +</xsl:template> + +<xsl:template name="index.titlepage.verso"> +</xsl:template> + +<xsl:template name="index.titlepage.separator"> +</xsl:template> + +<xsl:template name="index.titlepage.before.recto"> +</xsl:template> + +<xsl:template name="index.titlepage.before.verso"> +</xsl:template> + +<xsl:template name="index.titlepage"> + <div class="titlepage"> + <xsl:call-template name="index.titlepage.before.recto"/> + <xsl:call-template name="index.titlepage.recto"/> + <xsl:call-template name="index.titlepage.before.verso"/> + <xsl:call-template name="index.titlepage.verso"/> + <xsl:call-template name="index.titlepage.separator"/> + </div> +</xsl:template> + +<xsl:template match="*" mode="index.titlepage.recto.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="*" mode="index.titlepage.verso.mode"> + <!-- if an element isn't found in this mode, --> + <!-- try the generic titlepage.mode --> + <xsl:apply-templates select="." mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="subtitle" mode="index.titlepage.recto.auto.mode"> +<div xsl:use-attribute-sets="index.titlepage.recto.style"> +<xsl:apply-templates select="." mode="index.titlepage.recto.mode"/> +</div> +</xsl:template> + +</xsl:stylesheet> \ No newline at end of file diff --git a/rosdocs/xsl/html/titlepage.xsl b/rosdocs/xsl/html/titlepage.xsl new file mode 100644 index 0000000..dcb672a --- /dev/null +++ b/rosdocs/xsl/html/titlepage.xsl @@ -0,0 +1,758 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + +<!-- ******************************************************************** + $Id$ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://nwalsh.com/docbook/xsl/ for copyright + and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<xsl:attribute-set name="book.titlepage.recto.style"/> +<xsl:attribute-set name="book.titlepage.verso.style"/> + +<xsl:attribute-set name="article.titlepage.recto.style"/> +<xsl:attribute-set name="article.titlepage.verso.style"/> + +<xsl:attribute-set name="set.titlepage.recto.style"/> +<xsl:attribute-set name="set.titlepage.verso.style"/> + +<xsl:attribute-set name="part.titlepage.recto.style"/> +<xsl:attribute-set name="part.titlepage.verso.style"/> + +<xsl:attribute-set name="partintro.titlepage.recto.style"/> +<xsl:attribute-set name="partintro.titlepage.verso.style"/> + +<xsl:attribute-set name="reference.titlepage.recto.style"/> +<xsl:attribute-set name="reference.titlepage.verso.style"/> + +<xsl:attribute-set name="refentry.titlepage.recto.style"/> +<xsl:attribute-set name="refentry.titlepage.verso.style"/> + +<xsl:attribute-set name="dedication.titlepage.recto.style"/> +<xsl:attribute-set name="dedication.titlepage.verso.style"/> + +<xsl:attribute-set name="preface.titlepage.recto.style"/> +<xsl:attribute-set name="preface.titlepage.verso.style"/> + +<xsl:attribute-set name="chapter.titlepage.recto.style"/> +<xsl:attribute-set name="chapter.titlepage.verso.style"/> + +<xsl:attribute-set name="appendix.titlepage.recto.style"/> +<xsl:attribute-set name="appendix.titlepage.verso.style"/> + +<xsl:attribute-set name="bibliography.titlepage.recto.style"/> +<xsl:attribute-set name="bibliography.titlepage.verso.style"/> + +<xsl:attribute-set name="glossary.titlepage.recto.style"/> +<xsl:attribute-set name="glossary.titlepage.verso.style"/> + +<xsl:attribute-set name="index.titlepage.recto.style"/> +<xsl:attribute-set name="index.titlepage.verso.style"/> + +<xsl:attribute-set name="section.titlepage.recto.style"/> +<xsl:attribute-set name="section.titlepage.verso.style"/> + +<xsl:attribute-set name="sect1.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="sect1.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="sect2.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="sect2.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="sect3.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="sect3.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="sect4.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="sect4.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="sect5.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="sect5.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="simplesect.titlepage.recto.style" + use-attribute-sets="section.titlepage.recto.style"/> +<xsl:attribute-set name="simplesect.titlepage.verso.style" + use-attribute-sets="section.titlepage.verso.style"/> + +<xsl:attribute-set name="table.of.contents.titlepage.recto.style"/> +<xsl:attribute-set name="table.of.contents.titlepage.verso.style"/> + +<xsl:attribute-set name="list.of.tables.titlepage.recto.style"/> +<xsl:attribute-set name="list.of.tables.contents.titlepage.verso.style"/> + +<xsl:attribute-set name="list.of.figures.titlepage.recto.style"/> +<xsl:attribute-set name="list.of.figures.contents.titlepage.verso.style"/> + +<xsl:attribute-set name="list.of.equations.titlepage.recto.style"/> +<xsl:attribute-set name="list.of.equations.contents.titlepage.verso.style"/> + +<xsl:attribute-set name="list.of.examples.titlepage.recto.style"/> +<xsl:attribute-set name="list.of.examples.contents.titlepage.verso.style"/> + +<xsl:attribute-set name="list.of.unknowns.titlepage.recto.style"/> +<xsl:attribute-set name="list.of.unknowns.contents.titlepage.verso.style"/> + +<!-- ==================================================================== --> + +<xsl:template match="*" mode="titlepage.mode"> + <!-- if an element isn't found in this mode, try the default mode --> + <xsl:apply-templates select="."/> +</xsl:template> + +<xsl:template match="abbrev" mode="titlepage.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="abstract" mode="titlepage.mode"> + <div class="{name(.)}"> + <xsl:call-template name="anchor"/> + <xsl:call-template name="formal.object.heading"> + <xsl:with-param name="title"> + <xsl:apply-templates select="." mode="title.markup"/> + </xsl:with-param> + </xsl:call-template> + <xsl:apply-templates mode="titlepage.mode"/> + </div> +</xsl:template> + +<xsl:template match="abstract/title" mode="titlepage.mode"> +</xsl:template> + +<xsl:template match="address" mode="titlepage.mode"> + <xsl:param name="suppress-numbers" select="'0'"/> + + <xsl:variable name="rtf"> + <xsl:apply-templates mode="titlepage.mode"/> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$suppress-numbers = '0' + and @linenumbering = 'numbered' + and $use.extensions != '0' + and $linenumbering.extension != '0'"> + <div class="{name(.)}"> + <p> + <xsl:call-template name="number.rtf.lines"> + <xsl:with-param name="rtf" select="$rtf"/> + </xsl:call-template> + </p> + </div> + </xsl:when> + + <xsl:otherwise> + <div class="{name(.)}"> + <p> + <xsl:apply-templates mode="titlepage.mode"/> + </p> + </div> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="affiliation" mode="titlepage.mode"> + <div class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + </div> +</xsl:template> + +<xsl:template match="artpagenums" mode="titlepage.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="author" mode="titlepage.mode"> + <div class="{name(.)}"> + <h3 class="{name(.)}"><xsl:call-template name="person.name"/></h3> + <xsl:apply-templates mode="titlepage.mode" select="./contrib"/> + <xsl:apply-templates mode="titlepage.mode" select="./affiliation"/> + </div> +</xsl:template> + +<xsl:template match="authorblurb" mode="titlepage.mode"> + <div class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + </div> +</xsl:template> + +<xsl:template match="authorgroup" mode="titlepage.mode"> + <div class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + </div> +</xsl:template> + +<xsl:template match="authorinitials" mode="titlepage.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="bibliomisc" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="bibliomset" mode="titlepage.mode"> + <xsl:apply-templates mode="titlepage.mode"/> +</xsl:template> + +<xsl:template match="collab" mode="titlepage.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="confgroup" mode="titlepage.mode"> + <div class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + </div> +</xsl:template> + +<xsl:template match="confdates" mode="titlepage.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="confsponsor" mode="titlepage.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="conftitle" mode="titlepage.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="confnum" mode="titlepage.mode"> + <!-- suppress --> +</xsl:template> + +<xsl:template match="contractnum" mode="titlepage.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="contractsponsor" mode="titlepage.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="contrib" mode="titlepage.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + </span> +</xsl:template> + +<xsl:template match="copyright" mode="titlepage.mode"> + <p class="{name(.)}"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'Copyright'"/> + </xsl:call-template> + <xsl:call-template name="gentext.space"/> + <xsl:call-template name="dingbat"> + <xsl:with-param name="dingbat">copyright</xsl:with-param> + </xsl:call-template> + <xsl:call-template name="gentext.space"/> + <xsl:call-template name="copyright.years"> + <xsl:with-param name="years" select="year"/> + <xsl:with-param name="print.ranges" select="$make.year.ranges"/> + <xsl:with-param name="single.year.ranges" + select="$make.single.year.ranges"/> + </xsl:call-template> + <xsl:call-template name="gentext.space"/> + <xsl:apply-templates select="holder" mode="titlepage.mode"/> + </p> +</xsl:template> + +<xsl:template match="year" mode="titlepage.mode"> + <xsl:choose> + <xsl:when test="$show.revisionflag != 0 and @revisionflag"> + <span class="{@revisionflag}"> + <xsl:apply-templates mode="titlepage.mode"/> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="titlepage.mode"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="holder" mode="titlepage.mode"> + <xsl:choose> + <xsl:when test="$show.revisionflag != 0 and @revisionflag"> + <span class="{@revisionflag}"> + <xsl:apply-templates mode="titlepage.mode"/> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="titlepage.mode"/> + </xsl:otherwise> + </xsl:choose> + <xsl:if test="position() < last()"> + <xsl:text>, </xsl:text> + </xsl:if> +</xsl:template> + +<xsl:template match="corpauthor" mode="titlepage.mode"> + <h3 class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + </h3> +</xsl:template> + +<xsl:template match="corpname" mode="titlepage.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="date" mode="titlepage.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="edition" mode="titlepage.mode"> + <p class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + <xsl:call-template name="gentext.space"/> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'Edition'"/> + </xsl:call-template> + </p> +</xsl:template> + +<xsl:template match="editor" mode="titlepage.mode"> + <h3 class="{name(.)}"><xsl:call-template name="person.name"/></h3> +</xsl:template> + +<xsl:template match="editor[position()=1]" mode="titlepage.mode"> + <h4 class="editedby"><xsl:call-template name="gentext.edited.by"/></h4> + <h3 class="{name(.)}"><xsl:call-template name="person.name"/></h3> +</xsl:template> + +<xsl:template match="firstname" mode="titlepage.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="graphic" mode="titlepage.mode"> + <!-- use the normal graphic handling code --> + <xsl:apply-templates select="."/> +</xsl:template> + +<xsl:template match="honorific" mode="titlepage.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="isbn" mode="titlepage.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="issn" mode="titlepage.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="biblioid" mode="titlepage.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="itermset" mode="titlepage.mode"> +</xsl:template> + +<xsl:template match="invpartnumber" mode="titlepage.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="issuenum" mode="titlepage.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="jobtitle" mode="titlepage.mode"> + <span class="{name(.)}"> + <xsl:apply-templates mode="titlepage.mode"/> + <br/> + </span> +</xsl:template> + +<xsl:template match="keywordset" mode="titlepage.mode"> +</xsl:template> + +<xsl:template match="legalnotice " mode="titlepage.mode"> + <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable> + <xsl:choose> + <xsl:when test="$generate.legalnotice.link != 0"> + <xsl:variable name="filename"> + <xsl:call-template name="make-relative-filename"> + <xsl:with-param name="base.dir" select="$base.dir"/> + <xsl:with-param name="base.name" select="concat('ln-',$id,$html.ext)"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="title"> + <xsl:apply-templates select="." mode="title.markup"/> + </xsl:variable> + + <a href="{$filename}"> + <xsl:copy-of select="$title"/> + </a> + + <xsl:call-template name="write.chunk"> + <xsl:with-param name="filename" select="$filename"/> + <xsl:with-param name="quiet" select="$chunk.quietly"/> + <xsl:with-param name="content"> + <html> + <head> + <title><xsl:value-of select="$title"/> + + + +
    + +
    + + + +
    + + +
    + +
    +
    + + + + +

    +
    + + + + +
    +
    +
    + + + + + + + +
    +
    +
    + + + + +
    +
    +
    + + + + + + +

    + + : + + + +

    +
    +
    + +

    + +
    +
    +
    + + + , + + + + + + +
    +
    +
    + + + + +
    +
    +
    + + +
    + +
    +
    + + + + +
    +
    +
    + + + + +
    +
    +
    + + +

    + +

    +
    + + +

    + +

    +
    + + + + +
    +
    +
    + + + + +
    +
    +
    + + +

    + +

    +
    + + + + + 3 + 2 + + + +
    + + + + + + + +
    + + + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    + + + + +
    +
    +
    + + + + + +

    + +

    +
    + + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + +

    + + + + + + + + + + + +

    +
    + + + + + + + + +
    +
    +
    + + + + diff --git a/rosdocs/xsl/html/toc.xsl b/rosdocs/xsl/html/toc.xsl new file mode 100644 index 0000000..f2f6b51 --- /dev/null +++ b/rosdocs/xsl/html/toc.xsl @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + I don't know how to make a TOC in this context! + + + + + + + + + + + + + +
    + + + +
    +
    + + + + + +
    +
    +
    + + + + + +
    + +
    + +
    + +
  • + + +
  • +
    +
    +
    + + + + +
    + +
    +
    + +
  • + +
  • +
    +
    +
    + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/html/verbatim.xsl b/rosdocs/xsl/html/verbatim.xsl new file mode 100644 index 0000000..e638ce3 --- /dev/null +++ b/rosdocs/xsl/html/verbatim.xsl @@ -0,0 +1,319 @@ + + + + + + + + + + + + + + + + + + + + + +
    +          
    +            
    +          
    +        
    +
    + +
    +          
    +        
    +
    +
    +
    + + + + + + + +
    + +
    +
    + + + +
    +
    + + + + + + + + + + + + + +
    +              
    +                
    +              
    +            
    +
    + +
    +

    + + + + + + + +

    +
    +
    +
    +
    + + + + +
    +              
    +            
    +
    + +
    +

    + + + +

    +
    +
    +
    +
    +
    +
    + + + + + + + +
    + +
    +
    + + + +
    +
    + + + + + + + + + + + + + + + + +
    +

    + + + +

    +
    +
    + + +
    +

    + +

    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No numberLines function available. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + +
    +
    +
    +
    + +
    + + + + + diff --git a/rosdocs/xsl/html/xref.xsl b/rosdocs/xsl/html/xref.xsl new file mode 100644 index 0000000..ff3e649 --- /dev/null +++ b/rosdocs/xsl/html/xref.xsl @@ -0,0 +1,692 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + XRef to nonexistent id: + + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Endterm points to nonexistent ID: + + + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Don't know what gentext to create for xref to: " + + ", (" + + ") + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [ + + + + ] + + + + + + + + + + + + + + + + + + + + + + + No bibliography entry: + + found in + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [ + + + + + + + + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Endterm points to nonexistent ID: + + + ??? + + + + + + + + + + Link element has no content and no Endterm. + Nothing to show in the link to + + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: olink linkmode pointer is wrong. + + + + # + + + + + + + + + + + + + ? + + + + + & + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Page numbers make no sense in HTML! (Don't use %p in templates) + + + + diff --git a/rosdocs/xsl/htmlhelp/ChangeLog b/rosdocs/xsl/htmlhelp/ChangeLog new file mode 100644 index 0000000..fc44127 --- /dev/null +++ b/rosdocs/xsl/htmlhelp/ChangeLog @@ -0,0 +1,133 @@ +2002-05-10 Jirka Kosek + + * htmlhelp.xsl: Updated to use shared manifest code. + +2002-04-11 Jirka Kosek + + * htmlhelp.xsl: Updated to support new generate.toc parameter. + +2002-03-14 Norman Walsh + + * .cvsignore: New file. + + * htmlhelp.xsl: Whitespace changes only: use PC-style CR/LF because Unix clients choke on this far less often than PC clients choke on the reverse. Grrr. + + * htmlhelp.xsl, langcodes.xml: Whitespace only: change CR/LF back to LF. Norm was a total moron. + +2002-03-01 Jirka Kosek + + * Makefile: New file. + +2002-02-16 Jirka Kosek + + * htmlhelp.xsl: Added missing support for refentries inside sections and for glossaries. + + * htmlhelp.xsl: Fixed bug #514883. Added missing colophon. + +2002-02-10 Jirka Kosek + + * htmlhelp.xsl: Entry with link to page with Table of Contents is put into HTML Help ToC when htmlhelp.hhc.show.root=0 and generate.{set|book}.toc=1 + + * htmlhelp.xsl: Added parameter htmlhelp.default.topic for overriding default topic to display. + +2002-02-09 Jirka Kosek + + * htmlhelp.xsl: Added parameter which controls appearance of root element in HTML Help ToC. + +2002-02-07 Jirka Kosek + + * htmlhelp.xsl: Duplicate image filenames from [FILES] section are now automatically removed in EXSLT friendly processors. + +2002-02-05 Jirka Kosek + + * htmlhelp.xsl: Removed fragment identifiers from hrefs in alias.h file. + +2002-02-03 Jirka Kosek + + * htmlhelp.xsl: Added parameter htmlhelp.title for manual control over HTML Help title. Improved code for automatic extraction of title from document. + +2002-01-24 Jirka Kosek + + * htmlhelp.xsl: Fixed bug in alias.h when base.dir parameter was used. + +2002-01-22 Jirka Kosek + + * htmlhelp.xsl: Feature request #507087. Added parameter for controling appearance of icons in HTML Help ToC. + +2001-12-06 Jirka Kosek + + * htmlhelp.xsl: Template write.text.chunk moved to common place. + +2001-12-04 Jirka Kosek + + * htmlhelp.xsl: Make compatible with last changes in chunking code. + +2001-11-28 Jirka Kosek + + * htmlhelp.xsl: Added parameter htmlhelp.hhc.section.depth for controlling depth of sections in a TOC in a left pane of HTML Help viewer. + + * htmlhelp.xsl: Added support for automatic generation of map and context files for HTML Help. Topic names and IDs are marked by special PI . + + * htmlhelp.xsl: Use common pi-attribute template + +2001-11-27 Norman Walsh + + * htmlhelp-common.xsl, htmlhelp.xsl: Removed obsolete XT support; added support for rootid parameter + + * htmlhelp.xsl: Fixed simple select typo + +2001-11-27 Jirka Kosek + + * htmlhelp.xsl: Added $rootid support also for title of HTML Help window + +2001-11-27 Norman Walsh + + * xthtmlhelp.xsl: Removed obsolete XT support; added support for rootid parameter + +2001-11-05 Jirka Kosek + + * htmlhelp-common.xsl: Parameters moved to params subdirectory. + +2001-11-04 Jirka Kosek + + * htmlhelp-common.xsl: Added parameter htmlhelp.enumerate.images which controls inclusion of image filenames list + in project file. This is necessary when images are inserted as external binary entities. + +2001-08-23 Jirka Kosek + + * htmlhelp-common.xsl: Synchronized puncation generation in ToC with rest of stylesheets. + +2001-08-21 Jirka Kosek + + * htmlhelp-common.xsl: Fixed presentation of secondary indexterms in index pane + +2001-08-13 Jirka Kosek + + * htmlhelp-common.xsl: Fixed problems with new lines in titles for TOC + +2001-08-08 Jirka Kosek + + * htmlhelp-common.xsl: Added new parameters for controling filenames of project and output files. + New parameter htmlhelp.hhp.tail for specifying user content for project file. + +2001-07-23 Jirka Kosek + + * htmlhelp-common.xsl: Fixed bug #442162 - bibliography element is included in ToC in the left pane, index is not generated because it has own dialog also in the left pane of HTML Help viewer + +2001-06-25 Jirka Kosek + + * htmlhelp-common.xsl: Added htmlhelp.autolabel parameter to control inclusion of component and section labels into tree-like ToC. + +2001-05-05 Jirka Kosek + + * htmlhelp-common.xsl: Colophon is now included in toc.hhc + +2001-04-21 Jirka Kosek + + * README: Removed obsolete file + +2001-04-04 Norman Walsh + + * README, htmlhelp-common.xsl, htmlhelp.xsl, langcodes.xml, xthtmlhelp.xsl: + New file. + diff --git a/rosdocs/xsl/htmlhelp/htmlhelp.xsl b/rosdocs/xsl/htmlhelp/htmlhelp.xsl new file mode 100644 index 0000000..eb85208 --- /dev/null +++ b/rosdocs/xsl/htmlhelp/htmlhelp.xsl @@ -0,0 +1,807 @@ + + + + + + + + + + + + + + + + + + + + + ID ' + + ' not found in document. + + + + Formatting from + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +[OPTIONS] + + +Auto Index=Yes + +Compatibility=1.1 or later +Compiled file= +Contents file= +Default topic= + + + + + + + + + + + + + + + + + + + + + +Display compile progress=No +Full-text search=Yes +Language= + + + + + + 0x0409 English (United States) + + +Title= + + + + + + + + + + + + + + + + + +[FILES] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +[ALIAS] +#include + +[MAP] +#include + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + 0 + + + + 0 + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <HTML> +<HEAD> +</HEAD> + <BODY> + + + <OBJECT type="text/site properties"> + <param name="ImageType" value="Folder"> +</OBJECT> + + + +<UL> + + + + + + + + + + + + + + </UL> + + + </BODY> +</HTML> + + + + + + + + + + + + + + + + + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value=" + + "> + <param name="Local" value=" + + "> + </OBJECT> + + + + + + + + <UL> + + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value=" + + + + "> + <param name="Local" value=" + + "> + </OBJECT> + + + </UL> + + + + + + + + + + + + + + + + + + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value=" + + "> + <param name="Local" value=" + + "> + </OBJECT> + + + + + + + + <UL> + + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value=" + + + + "> + <param name="Local" value=" + + "> + </OBJECT> + + + </UL> + + + + + + + + + + + + + + + + + + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value=" + + "> + <param name="Local" value=" + + "> + </OBJECT> + + + <UL> + + </UL> + + + + + + + + + + + + + + + + + + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value=" + + "> + <param name="Local" value=" + + "> + </OBJECT> + + + <UL> + + </UL> + + + + + + + + + + + + + + + + + + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value=" + + "> + <param name="Local" value=" + + "> + </OBJECT> + + + <UL> + + </UL> + + + + + + + + + + + + + + + + + + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value=" + + "> + <param name="Local" value=" + + "> + </OBJECT> + + + <UL> + + </UL> + + + + + + + + + + + + + + + + + + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value=" + + "> + <param name="Local" value=" + + "> + </OBJECT> + + + <UL> + + </UL> + + + + + + + + + + + + + + + + + + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value=" + + "> + <param name="Local" value=" + + "> + </OBJECT> + + + <UL> + + </UL> + + + + + + + + + + + + + + + + + + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value=" + + "> + <param name="Local" value=" + + "> + </OBJECT> + + + <UL> + + </UL> + + + + + + + + + + + + + + + + + + + , + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #define + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + = + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/htmlhelp/langcodes.xml b/rosdocs/xsl/htmlhelp/langcodes.xml new file mode 100644 index 0000000..0e1847c --- /dev/null +++ b/rosdocs/xsl/htmlhelp/langcodes.xml @@ -0,0 +1,103 @@ + + +0x041c Albanian +0x1401 Arabic (ALGERIA) +0x2c0a Spanish (ARGENTINA) +0x0c09 English (AUSTRALIA) +0x0c07 German (AUSTRIA) +0x3c01 Arabic (BAHRAIN) +0x0423 Byelorussian +0x080c French (BELGIUM) +0x2809 English (BELIZE) +0x400a Spanish (BOLIVIA) +0x0416 Portuguese (BRAZIL) +0x083e Malay (BRUNEI DARUSSALAM) +0x0402 Bulgarian +0x0c0c French (CANADA) +0x340a Spanish (CHILE) +0x0804 Chinese (CHINA) +0x240a Spanish (COLOMBIA) +0x140a Spanish (COSTA RICA) +0x041a Croatian +0x0405 Czech +0x0406 Danish +0x1c0a Spanish (DOMINICAN REPUBLIC) +0x300a Spanish (ECUADOR) +0x0c01 Arabic (EGYPT) +0x440a Spanish (EL SALVADOR) +0x0425 Estonian +0x0438 Faeroese +0x040b Finnish +0x040c French (FRANCE) +0x0407 German (GERMANY) +0x0408 Greek +0x100a Spanish (GUATEMALA) +0x480a Spanish (HONDURAS) +0x0c04 Chinese (HONG KONG) +0x040e Hungarian +0x040f Icelandic +0x0439 Hindi +0x04 +0x0429 Farsi +0x0801 Arabic (IRAQ) +0x1809 English (IRELAND) +0x04 +0x0410 Italian +0x2009 English (JAMAICA) +0x0411 Japanese +0x2c01 Arabic (JORDAN) +0x0441 Swahili +0x0412 Korean +0x3401 Arabic (KUWAIT) +0x0426 Latvian (Lettish) +0x3001 Arabic (LEBANON) +0x1001 Arabic (LIBYAN ARAB JAMAHIRIYA) +0x1407 German (LIECHTENSTEIN) +0x0427 Lithuanian +0x1007 German (LUXEMBOURG) +0x1404 Chinese (MACAU) +0x042f Macedonian +0x043e Malay (MALAYSIA) +0x080a Spanish (MEXICO) +0x180c French (MONACO) +0x1801 Arabic (MOROCCO) +0x0413 Dutch +0x1409 English (NEW ZEALAND) +0x4c0a Spanish (NICARAGUA) +0x0414 Norwegian +0x2001 Arabic (OMAN) +0x0420 Urdu +0x180a Spanish (PANAMA) +0x3c0a Spanish (PARAGUAY) +0x280a Spanish (PERU) +0x3409 English (PHILIPPINES) +0x0415 Polish +0x0816 Portuguese (PORTUGAL) +0x500a Spanish (PUERTO RICO) +0x4001 Arabic (QATAR) +0x0418 Romanian +0x0419 Russian +0x0401 Arabic (SAUDI ARABIA) +0x1004 Chinese (SINGAPORE) +0x041b Slovak +0x0424 Slovenian +0x0436 Afrikaans +0x0403 Catalan +0x041d Swedish +0x0807 German (SWITZERLAND) +0x2801 Arabic (SYRIAN ARAB REPUBLIC) +0x0404 Chinese (TAIWAN, PROVINCE OF CHINA) +0x041e Thai +0x2c09 English (TRINIDAD AND TOBAGO) +0x1c01 Arabic (TUNISIA) +0x041f Turkish +0x0422 Ukrainian +0x3801 Arabic (UNITED ARAB EMIRATES) +0x0809 English (UNITED KINGDOM) +0x0409 English (UNITED STATES) +0x380a Spanish (URUGUAY) +0x200a Spanish (VENEZUELA) +0x242a Vietnamese +0x2401 Arabic (YEMEN) +0x3009 English (ZIMBABWE) + diff --git a/rosdocs/xsl/htmlhelp/profile-htmlhelp.xsl b/rosdocs/xsl/htmlhelp/profile-htmlhelp.xsl new file mode 100644 index 0000000..c9be400 --- /dev/null +++ b/rosdocs/xsl/htmlhelp/profile-htmlhelp.xsl @@ -0,0 +1,800 @@ + + + + + + + + + + + + + + + + + + + + + + + ID ' + + ' not found in document. + + + + Formatting from + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +[OPTIONS] + + +Auto Index=Yes + +Compatibility=1.1 or later +Compiled file= +Contents file= +Default topic= + + + + + + + + + + + + + + + + + + + + + +Display compile progress=No +Full-text search=Yes +Language= + + + + + + 0x0409 English (United States) + + +Title= + + + + + + + + + + + + + + + + + +[FILES] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +[ALIAS] +#include + +[MAP] +#include + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + 0 + + + + 0 + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <HTML> +<HEAD> +</HEAD> + <BODY> + + + <OBJECT type="text/site properties"> + <param name="ImageType" value="Folder"> +</OBJECT> + + + +<UL> + + + + + + + + + + + + + + </UL> + + + </BODY> +</HTML> + + + + + + + + + + + + + + + + + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value=" + + "> + <param name="Local" value=" + + "> + </OBJECT> + + + <UL> + + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value=" + + + + "> + <param name="Local" value=" + + "> + </OBJECT> + + + </UL> + + + + + + + + + + + + + + + + + + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value=" + + "> + <param name="Local" value=" + + "> + </OBJECT> + + + <UL> + + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value=" + + + + "> + <param name="Local" value=" + + "> + </OBJECT> + + + </UL> + + + + + + + + + + + + + + + + + + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value=" + + "> + <param name="Local" value=" + + "> + </OBJECT> + + + <UL> + + </UL> + + + + + + + + + + + + + + + + + + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value=" + + "> + <param name="Local" value=" + + "> + </OBJECT> + + + <UL> + + </UL> + + + + + + + + + + + + + + + + + + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value=" + + "> + <param name="Local" value=" + + "> + </OBJECT> + + + <UL> + + </UL> + + + + + + + + + + + + + + + + + + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value=" + + "> + <param name="Local" value=" + + "> + </OBJECT> + + + <UL> + + </UL> + + + + + + + + + + + + + + + + + + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value=" + + "> + <param name="Local" value=" + + "> + </OBJECT> + + + <UL> + + </UL> + + + + + + + + + + + + + + + + + + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value=" + + "> + <param name="Local" value=" + + "> + </OBJECT> + + + <UL> + + </UL> + + + + + + + + + + + + + + + + + + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value=" + + "> + <param name="Local" value=" + + "> + </OBJECT> + + + <UL> + + </UL> + + + + + + + + + + + + + + + + + + + , + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #define + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + = + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/images/ChangeLog b/rosdocs/xsl/images/ChangeLog new file mode 100644 index 0000000..07c29d3 --- /dev/null +++ b/rosdocs/xsl/images/ChangeLog @@ -0,0 +1,17 @@ +2002-02-11 Norman Walsh + + * draft.png: Updated draft image + +2002-01-29 Norman Walsh + + * blank.png, draft.png: New file. + +2001-11-06 Robert Stayton + + * home.gif, next.gif, prev.gif, up.gif: New file. + +2001-04-02 Norman Walsh + + * caution.gif, caution.png, caution.tif, home.png, important.gif, important.png, important.tif, next.png, note.gif, note.png, note.tif, prev.png, tip.gif, tip.png, tip.tif, toc-blank.png, toc-minus.png, toc-plus.png, up.png, warning.gif, warning.png, warning.tif: + New file. + diff --git a/rosdocs/xsl/images/blank.png b/rosdocs/xsl/images/blank.png new file mode 100644 index 0000000000000000000000000000000000000000..b0f9a46ab1f709c457627c5973a9aa1585ec3402 GIT binary patch literal 373 zcmeAS@N?&q;$mQ6;PUiv2?Ej$Ak4u8Bzhy@>5jgR3=A9lx&I`xGB7aedb&7< zRLpsM(NT~=f#-n1f&I^Y-Q-NTs;*lbtDn2fxIdfW8p9gK2<8oJ30w!H8cZ2Ruz*-X X8uMQ!K94kDKr(o``njxgN@xNAHsfnz literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/1.gif b/rosdocs/xsl/images/callouts/1.gif new file mode 100644 index 0000000000000000000000000000000000000000..a99ca6a29b9784c6b8f1b6bb2158812ebc798370 GIT binary patch literal 968 zcmZ?wbhEHb>L~%oSd9oTwL7T+&nxy zKn5QlA3s08fPjFYprDYDkg%|@h=_=&sHm8jn7FvOgoK2oq@ief`WpgqN0+LlCrY0ii(P=s;Zirn!38WhK7cwrlyvbmbSLGj*gD5uCAV*p1!`m zfq{Xcp`nqHk+HF{iHV7+si~QnnYp>Sg@uKsrKOdXm9@3Cjg5`1t*xD%oxQ!igM)*k zqob3Ple4q4i;Ih^tE-!vo4dQahlhu!r>B>fm$$dKkB^V9udkn*C zP;hW?NJvO%XlPhiSa^7NL_|bnWMouSRCIK7OiWB{Y;0UyTzq_dLPA1fVq#KKQgU)~ zN=iygCvu5quwd>ZcTfct&h7B7wZrr$O)27XvH*eXpW$V_h z+qP}nzJ2?S9XodJ+_`JluHCzL@7c3w@7}%p_U+rhfB%642M!)Qc<9if!-o$aIdbIa z(WA$X9Xo#f_=yuIPM$n@>eQ*zr%#_bbLQ;Xv**s8JAeNCg$oxhUc7ke(xuCnFJHNG zeZ{)uV24;^XBc_x9{G)d;k9ZhYue(p{Mx&yQ3h5%IQF&qp)9)fx+wC z-C{P7SWgm&bkGDzF$ge&3}q-N0!wiSfH(~5V5tTLuozUzPy(zFB6Z+J9MAy_2CG;Z l7#bwL|C{R#mSkW!VgYo<{_3721&0aEm-g2GXJTTo1^_4#tS0~f literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/1.png b/rosdocs/xsl/images/callouts/1.png new file mode 100644 index 0000000000000000000000000000000000000000..96ec990ee388e12b6f2d365d078e15455ce283a3 GIT binary patch literal 328 zcmeAS@N?&q;$mQ6;PUiv2?EkQAj|ebXt$`F%lDE4H1H-CbWg{Rj+0(@_q~ca+ z-$t$j1{^H=mwb`Z)7-L1;Gm(b>6x3Dp6Z*Jo|&AjV4`QFXQ5zesc&GRZ(yj9T$EW{ zQt6OeSzMBtte0A>mr`1gpI4%noS!>!m*Nhfaav&GGSl-COG<&}nOYZ=Um>Z-d z8X2XT85)}=C#4vtni!gxnwX_oW@IV81?u7h=?VZ^%V20!VQ8dnpl#5SySo-B!{F)a K=d#Wzp$PzG7iX9N literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/10.gif b/rosdocs/xsl/images/callouts/10.gif new file mode 100644 index 0000000000000000000000000000000000000000..f9c8acc515bc336b497a49e95038a794907d8dc7 GIT binary patch literal 968 zcmV;(12_CfNk%w1VGIBa0QUd@000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kk3JMMm4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LV0RR91EC2ui01N;O000Q30RR2_$0-K}2ss$t`}gnPyBrWO06>re zLJV*J{^dYWt5yncz0OHVaj#T}cmHbDss&(<}jYB?hWAjdxpF-idd;H(xSYY-?o1HkBC4gkG4 qLFjeQT8tF;{=Lfq000002mqw;_V3@nf0S|{K#+pcy?_4#0suR7xW_>N literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/10.png b/rosdocs/xsl/images/callouts/10.png new file mode 100644 index 0000000000000000000000000000000000000000..25173d0c10deb0fcac19a52d8b171a65e85c6c1d GIT binary patch literal 360 zcmeAS@N?&q;$mQ6;PUiv2?EkQAj|ebXt$`F%lDE4H1H-CbWg{T3+0(@_q~exp z-$GFqMFD5!i5@yaopZ$e;<%#^Z7UG!jM=T)vxHSes9LD=%-Mb2zx69U9X?HZurx;~ z<`Hwur%I`gVBgKP_cI^&b+76wUi5(Vdg+`KJ(7$scJZ^E{+}q@Arf(BLA?TxDH5qwu@6lp9gKVw!gc`Iq5WKwjj_s&Lyr9CBgY=CFO}lsSFMp z%9@_JiRr1niRqci*$O6lMtT+smX`Vk7WxK;3du#8#U+&vxs}BwnaO&o#d;~F1^Ia; zddc~@6L%@@02-$SHZC(gFR`Q)Xr8f!S*nF`Qj%p-N?KB)v5}E^nyE!nl7*#ts!_5< rqN%`qZBWqhfpi4`tz|GYsxUOtHqbU`$=zKGlwt66^>bP0l+XkK`J{O? literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/11.gif b/rosdocs/xsl/images/callouts/11.gif new file mode 100644 index 0000000000000000000000000000000000000000..a43b9668da284b9b9982a05636b738cab0170f4c GIT binary patch literal 244 zcmZ?wbhEHb*_Mn*=~*4EC>&cVUKsi~=%nVHqq z)opEU{r&yZr%#_dckZG^i`K1Mw|VpC9Xoa$IdbIe*|V1}UAley_T$Ho-@JMA;lqc2 z|Neo@1p~#OEDVf5mJWyqvXgP}^2;9)OfJm7I)A)~{gLS`_d;ZPy>0S|_X3PDN#) zI2TCVIlrK?C^J2ygkcT;87rVDA6T>~H4&s#p(HammBI8oKPOOz6C@LypH@=6B>MaiiQU;j71 zhADH-&&^HED`EI{X4-zB7#m1gNM=b+D#MC*m(&>;7#TcW978JRl=iP()lwjE^n5(e zEEfBw+HOxX?xqM=5pnrM`K0Fci9#vz4$U`nZf`l8Bhth5>du1KQ-6Q#Hhz9)&fyLY z`D>+bclimh_+Bn(>*&aswM@k`B=l}uTVhD4tGt8D>s|Nq%wwZu($Z56rnFUxD=0+<$Vpx({wg3L|OeO)A#zh*pFBi&uwz+TY zIq8T*wT+x>pusVn)3@{(J04f;SMj`b@ncL`G~)w?ih1qzA8PBjm&K}|{*>SPde`Yq zZ{BvS$eeZhX;D~9q6N?4ZK>`ZmGfTjs@og4NW-cxdDgSU1p7(mm_g P=rDM?`njxgN@xNAbcony literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/12.gif b/rosdocs/xsl/images/callouts/12.gif new file mode 100644 index 0000000000000000000000000000000000000000..a373d0b4f4203dc34d00cfc337fce3c6940ac0a5 GIT binary patch literal 244 zcmZ?wbhEHb2m08OKLyy@67BNn1 zV`M$b;Hb*j&z8jCVAzz(*|0d1*}-svnJ2^2O#T7^_7xgl3o~c6fy_O;6lj#|@c@$< P%QAt6&q75}91PX~p`BKN literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/12.png b/rosdocs/xsl/images/callouts/12.png new file mode 100644 index 0000000000000000000000000000000000000000..d67aff2f478ac7097bc5519df3029fce3bf5c3d5 GIT binary patch literal 616 zcmeAS@N?&q;$mQ6;PUiv2?EkQAk4u8ByWnJ-TPDN#) zI2TCVIlrK?C^J2ygkcT;87rVDA6T>~H4&s#p(HammBI8oKPOOz6C@LypH@=6B>MaiiQU;j71 zhADH-&&^HED`EI{X4-zB7#m1gNM=b+D#MC*m(&>;7#TcW978JRv`$c5eJDYq_53jb zmc)dhHXZ$w653&=(%b46u6ZNAhRaw-;t!*?cbK5=wwbz{IXi2xs6=)yz5z8XK|=_x&^k(?{Qmv{PD#l3On!S-G2M+ zVL^nB*x`pC%68k%KmW7l-S28n&fUb|u>7*6Tz}>)rU3x|moMMCb?eciM{nM|`S|hUzkmNgCL#gF zpDYZFK)w!03}hz*YvF=rnZlC|CNImJwM-Kz+OQ~d)-w*#q=p-*7PHz|r?uH|iLlNv zV{C0@=>Ntrnaz(OL9u;eM8lFu#sozHRo??kGr1dh7*7~9Ey|P%1DVSLG^)+=Sc1ij PWtl+3XQ84f4hCxgr*>E; literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/13.png b/rosdocs/xsl/images/callouts/13.png new file mode 100644 index 0000000000000000000000000000000000000000..1f8862aced8e886c1c36c2e978e7f29358fea75e GIT binary patch literal 622 zcmeAS@N?&q;$mQ6;PUiv2?EkQAk4u8ByWnJ-TPDN#) zI2TCVIlrK?C^J2ygkcT;87rVDA6T>~H4&s#p(HammBI8oKPOOz6C@LypH@=6B>MaiiQU;j71 zhADH-&&^HED`EI{X4-zB7#m1gNM=b+D#MC*m(&>;7#TcW978JRv`$d$Zz_;!i~rDc z)RIGN%6bMC<}+tKCOn$5$XH_IgwC9v_lMmcDSMQtF}WW5_ws#-l*sqp2kzd9-BJBX z_}+8T4h{yv)W~VeGDAbV7M)2mzP*jr(Scjg)OT~-`j3;ZW?ePm5)>5d(CAW%oW|eY z{Mcgh$ri(760`l5CrWIabih)cul@Mrz`!X-lM-jCJ&y^!8n^y=<-M0BlTVcvQ52L8ha zR&&q2{+gwFyztm#!{jv@T!A8`vHw@y&fCuL?DNkIlUHTC=RNkJ<_ YCw^aZ>WQ?oF;FLir>mdKI;Vst0DIW_{r~^~ literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/14.gif b/rosdocs/xsl/images/callouts/14.gif new file mode 100644 index 0000000000000000000000000000000000000000..1f9cc9a7f368310438d794d5c2a680fce8d99084 GIT binary patch literal 244 zcmZ?wbhEHbgv_2w{G2f{P^+Pw{Jgw{P^$RKag>#K=CIF z10zsK2P6!#lYzA`VOnY=t7jyToEFN;z;JkSYGfEE2V(<6l11b+S?_5KEX!CT+8F(( zvRqlp;LjGuAfVc->c}`bkwHN5baLRK$*JrYWEePfJPT4IRYB%D08MZc1e)(ZEfr|E OB-C)A`C!DsU=08>OHa=L literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/14.png b/rosdocs/xsl/images/callouts/14.png new file mode 100644 index 0000000000000000000000000000000000000000..184ece2d84716a98bb86f1efae3e8fe0d6c7b1fb GIT binary patch literal 410 zcmV;L0cHM)P)lPVJ)c8F000n?wboiY91c0>tyT*PL_|b!9M5Jm$8qYR@B63I ziGFbbSZk$})9F+QQHP|I$K&yEID9TCrMBB`RaML75&-A?^?I$>>wdqV=Q$C%MNw$2 zgCH=*0BE<{Q4|$L0pR(3YOMjdkH@1d%f(`mrYV5kZrAB_Znv8dqTB7>?{@(1cs%|t zlIQvPeD*wVGMO;Of*^SRG@s7_?Du=6R2|)HHmlXD*Xw0jMnoVYW6WSMz#qaetQEXH zT`rfVKY-C_6h%?v$@w;(B+2!9^*oPr&KPTUKB0g30fUOCAChq%egFUf07*qoM6N<$ Ef)lr}WB>pF literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/15.gif b/rosdocs/xsl/images/callouts/15.gif new file mode 100644 index 0000000000000000000000000000000000000000..6a70b1a0047d829e2accc5f6ae31b1c0ddb1698a GIT binary patch literal 244 zcmZ?wbhEHbi+1bU# z#kIAy&CSg{Jw1~rPo6n*=86?7wrtt5XV0EPhYnr2a^>dDn-3m5c>DJ4moH!b{rd+p z6b2N3vM?|LIXWN#kev*yg%7sn&Q|rkxh?nhwpdmMhK9|#x2JJ=Fg5sYwz$1bx0{XY z_GO0a+gQ22s>~K+Jja&BAYj`ToN;JVE|Y+*Pie-X&AB`WbeJq+xeIcm-9YAoOlVUC XntyRyF3|Aku*lmW!=WgegTWdA>0n*n literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/15.png b/rosdocs/xsl/images/callouts/15.png new file mode 100644 index 0000000000000000000000000000000000000000..1ef79924b04971adebdec3968ffcbcf8d01db6f1 GIT binary patch literal 639 zcmeAS@N?&q;$mQ6;PUiv2?EkQAk4u8ByWnJ-TPDN#) zI2TCVIlrK?C^J2ygkcT;87rVDA6T>~H4&s#p(HammBI8oKPOOz6C@LypH@=6B>MaiiQU;j71 zhADH-&&^HED`EI{X4-zB7#m1gNM=b+D#MC*m(&>;7#TcW978JRluj@_-IO5G+P_|i z!!<$7l*Mver>^6cFYHm#QmqS?U7NG&=)z+eMO=&KU)0YqbX=mle0r18$rol4PBk^@ zd!ElZ{ZO!jgMmTGN`~+FW5d~J&1Ro$V2V~54_ zUF%-&(mVaBZ1+|jZ;_*?pDtRpDmC)HfAhfv3mLb-Eiro8Tcc!-cOOkMn&~m=$u2!X zL#10eW?hTke6MC`OEfses5jhc(w0 qor}GG_W9?pRkpeeKREv`=RdBvZp|bCj}<_p7(8A5T-G@yGywo2VgLdF literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/2.gif b/rosdocs/xsl/images/callouts/2.gif new file mode 100644 index 0000000000000000000000000000000000000000..44388470f3c8ac7330b2c6650a4640eef3b4a6ed GIT binary patch literal 968 zcmV;(12_CfNk%w1VGIBa0QUd@000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kk3JMMm4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LV0RR91EC2ui01N;O000Q30RR2FM=1vc2st?2`}gnPxflQdqzC~3 zK#X($?!^EQ!rHla#vlNQagPxI0Hv$}2yu@Q004|)006*f4*&q(Y5@Qc0|5X40001p zac>R)001^@s67~R_g00000F&F^=u;$*F7%?ya0Kn*83;>+Y qojZ4K4}ci={+){f00000006`|_wV1odyHZrK#+sdy?_4#0suRrSh^Dc literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/2.png b/rosdocs/xsl/images/callouts/2.png new file mode 100644 index 0000000000000000000000000000000000000000..8f52a7523e7db424a07dfb08852bdce7e7c5a426 GIT binary patch literal 352 zcmeAS@N?&q;$mQ6;PUiv2?EkQAj|ebXt$`F%lDE4H1H-CbWg{T3+SA1`q~exr z-$K#D20SkICMG(jIwD`VVi#}Na6y}ctu3u(%>_XwZ!T`u(39>O*dtCd}8bUkr4HbBSw2NpOBzNqJ&XDuaWDvZiNlVtT4? zVtQtBwt|VCk)DNurKP@sg}#BILUK`NaY>~^Ze?*vX0l#tv0h4PL4IC|UUGi!#9fLz zfW~Qojmu2WODrh`nrC56ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LV0RR91EC2ui01N;O000Q30RR2FM=1vc2st?2`}gnPxflQtl zK#X($?!^EA!J9R2&L9AYagPxI0CUbEfbee$004|)0000X1po;D)&Kwy0|5X4006W) zX9@uT001^@tB7y$s_tQG(OF&F^=!026!9PbDL0Kn*83;+;X q-MiNc0e~3y{+&w!00062006`|_wV1odyHZrfDnVyy?_4#0suQ=>$@-j literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/3.png b/rosdocs/xsl/images/callouts/3.png new file mode 100644 index 0000000000000000000000000000000000000000..e8dbb8954c01a24437875bfbcdbd0503b748d737 GIT binary patch literal 349 zcmeAS@N?&q;$mQ6;PUiv2?EkQAj|ebXt$`F%lDE4H1H-CbWg{T3!qdeuq~eyU z-)hmr4m`ppU!)q_;+AeP*q|*U$Mc4ZeYaae!ivNN3$>T4O}lrQKXm8LRrQ;=MA-_( zBSbDOcwYF9%bVwc=%TGn7Z_p-gkK$;UHIYj{2#{G)u!0KxV>LjSz`LnukRZA=FJSY z+Ld%L_f60_NwqBL=YJRicbF#sdEM&+bc1t=YeY$Kep*R+Vo@rCgNCxEXKrG8s&8U? zW^%TIiJp<3g@UD}zJZ0lfuTZjQD$*Tr9*CIaY<&fUTU#kN@+oUUWs0Ee(uCwiaUVD zX@QN)OwUU!DFvEmVUU!Rl4xXZWR{YWn4D^nm}HS?V3=lVnUZRhnv{~n@t3a@sEZGz hD*$LMgP~D{p^>(Mwn0no?pmM>gQu&X%Q~loCIAN6cozTw literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/4.gif b/rosdocs/xsl/images/callouts/4.gif new file mode 100644 index 0000000000000000000000000000000000000000..708aa6cda7fc7176336a372438b62b07f3b4f377 GIT binary patch literal 968 zcmV;(12_CfNk%w1VGIBa0QUd@000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kk3JMMm4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LV0RR91EC2ui01N;O000Q30RR2_*Gfu?6iQ0{`}gnPJtY7D07wA= zK#p_&{wVRjGG#0000G0|Nj6TFybZ zHwOR!00=Mu2=Q)CihGPO004kM34k&G{{8#+uM_|PF-idd0001hdvgE)0Kn*84gdfE q0Pwa30Du(t{=Lfq00000005-$_V3@ndz@lGKoEn`y?_4#0suR{CB07o literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/4.png b/rosdocs/xsl/images/callouts/4.png new file mode 100644 index 0000000000000000000000000000000000000000..3330d429c23b2a2dbb3bb03b2fc105397a66d538 GIT binary patch literal 344 zcmeAS@N?&q;$mQ6;PUiv2?EkQAj|ebXt$`F%lDE4H1H-CbWh0QFr;B4q#Vy%h zMWI#$0cYijQzKGRQ`ZM{9#NVYv-s2LeC=x0oYbeMHYg@N-+S{6i^^}gWpPPnvR-PjUP@^}eqM=Qa(?c_U5Yz^#%Y0#%S_Kp zEGY$=XPIVUl$M;BY?*3cY?+*tl4NdVY+;aSVrpqRKbLh*2~7ZEzjW0A literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/5.gif b/rosdocs/xsl/images/callouts/5.gif new file mode 100644 index 0000000000000000000000000000000000000000..a8587169cf8abae3bb4ba8cc639e9116a393338a GIT binary patch literal 968 zcmV;(12_CfNk%w1VGIBa0QUd@000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kk3JMMm4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LV0RR91EC2ui01N;O000Q30RR2_$0-K}2ss$t`}gnPyBr8oqzI7$ zK@4yI{^bCW<{Pv;Y7==^Ow6F-idd5aXYc5Z)*O0Kn*94gdfM qy}MTm0)Q0v{=Lfq00066005-$_V3@nf0S|{KoEn`y?_4#0suQB2E4QY literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/5.png b/rosdocs/xsl/images/callouts/5.png new file mode 100644 index 0000000000000000000000000000000000000000..9dfcc92a3138b09f61d905eb326b47ca025b6ab2 GIT binary patch literal 347 zcmeAS@N?&q;$mQ6;PUiv2?EkQAj|ebXt$`F%lDE4H1H-CbWg{T3%+tj&q~exn z-$KD720SeMTvBaPQc|l}r+@e=!6wzlR;L~Bl(AsJ!@r(6>1E$oCQX+=dfvC`;kBsT zYx0eUB?XytAGaNtP@bexQy+Y%Q02_WxCYfLnyNxert)vNcSYod%-2ZC04d{du|{hH zZ)RZdxJHx&=ckpFCl;kLIA|zqdgdmkr}`$QXC`MW znCKblStwXq>Kj<-8yG4i7iAWgR668V7MElu>!lX!rIZ%r=auLs=jTq`rMLrVoEF%) z%=Em(l2V{~X{lzG1}0|4#^#o(Nk*orre;QI$;lSU$(BjR$>ymB_cvM21M1=f=?VZ^ e%V20!VQ8dnpl#5SySo-B!{F)a=d#Wzp$P!q=5jv( literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/6.gif b/rosdocs/xsl/images/callouts/6.gif new file mode 100644 index 0000000000000000000000000000000000000000..923b9602220d34380ded1d342a3c4b2228500583 GIT binary patch literal 968 zcmV;(12_CfNk%w1VGIBa0QUd@000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kk3JMMm4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LV0RR91EC2ui01N;O000Q30RR2_*Gfu?6iQ0{`}gnPJtY7DU`PP~ zK#p_&{wV<}SN&x`ij1T|-F-iddu;yKe5ciY-0Kn*84gdfs q-MdE!0Du(t{=Lfq00066005-$_V3@ndz^A0KoEn`y?_4#0suQtaKN4b literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/6.png b/rosdocs/xsl/images/callouts/6.png new file mode 100644 index 0000000000000000000000000000000000000000..7e4798b311e32ab0b8b959e143c3426c0ce31811 GIT binary patch literal 354 zcmeAS@N?&q;$mQ6;PUiv2?EkQAj|ebXt$`F%lDE4H1H-CbWg{T3*3-o?q~exn zucFXl10EJ}F0ol`Tx`F%8~?f`?hBBJh{&3uK85WU=fbw8rd4P1p67k*==i*H*H)gE z`~ZHK`h#Nk>P*pur3W_L`^}tk=&s;x^(SwxFWCQF=kV!isd6$u zuIxx(=;yO?iO+i*uK!^ZzkcYj-&}0*ife~-B+wzwC9V-A!TD(=<%vb93=SH~nx46d z>8ZYn>6yvd3MP6+dKL6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LV0RR91EC2ui01N;O000Q30RR2_S4&EY6iQm%`}gnPJt+_{K)?V2 zLXLC){%HZw>fgVA|EvLsajzEu00000z;I3r005M<000000DxM(0001xBL)Bf002n2 z7XttQ00?3L0001hwORlG004kM3jhEBa{QA500000F=_z-0D#dw1ONa40Kn*<5&!^d q)dBzj0Du(t{=E|d00000005*o_wV1of1Gk4K#+pby?_4#0suQvy|{A# literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/7.png b/rosdocs/xsl/images/callouts/7.png new file mode 100644 index 0000000000000000000000000000000000000000..862a836c35f5624dd50148a685eba0df44984892 GIT binary patch literal 343 zcmeAS@N?&q;$mQ6;PUiv2?EkQAj|ebXt$`F%lDE4H1H-CbWg{T3$kW9!q~exp z-&)321D+QDFr`SvO`F6z*SztW>c3BP!qhbfxja&yOw{i5*!ScU^Q6VI-nLI(a6OeP z{*>&60+;FHn;y61?3MoDJlh~d`^2f$+DrJ?HF8c84RdVEx;uG6b9ImZRLdVZ#qvJx zC+j^=R_*!BWM^i$-(4Uq7-+k5iEBhjaDG}zd16s2gM)^$re|(qda7??dS-IAf{C7y zo`r&?rM`iMzJZ}aa#3b+Nu@(>WpPPnvR-PjUP@^}eqM=Qa(?c_U5Yz^#%Y0#%S_Kp zEGY$=XJlz%Y-V9-Vw9L{Vw{|slwxFRVU}W%VrXb=o@|klre^taCQuh2NLK*RS_VU- a3PU4p18swr+}*W683s>RKbLh*2~7Y5^K!5N literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/8.gif b/rosdocs/xsl/images/callouts/8.gif new file mode 100644 index 0000000000000000000000000000000000000000..9da03567d0a07900df761b1a3783b34c31ee582e GIT binary patch literal 968 zcmV;(12_CfNk%w1VGIBa0QUd@000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kk3JMMm4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LV0RR91EC2ui01N;O000Q30RR2_*Gfu?5K>D0`}gnPJ0$=BKnMW< zK#p_&{s{p9pp-Xjy&wRHajz5r07~vb0B~*&005Mf001E59s~sM)&Kwy0|Nj60BW7{ zW(olS00=Mu0HEcb6eaK0004kM2><}4dI12?suutNF-iddFy~#05a$R106^)V5C8}$ qoqIebXt$`F%lDE4H1H-CbWg{T3-qXb~q~exr z-$K#D20X0%TvF4d*x1^nq}a+@53RW%xTh&GVZn6{9#a#OkfmHN?eFf^5BYj$`i}7E z3lkMxZtQAh`MNVYVQ$C?;|u&65>wJ9d~BR5Uhws~m;nF#o$32KlD8hbDPw%laN3Ri zdInpk*mdpr75{28mv-n{%VSU8|6y1>-*T5*(px^DQ=Cg&BT9nv(@M${i&7aJG?XA`#GK)(p9dav+OEQ!7Qj7IcN(=JyO7xQR zb0_Xn+yOLB3v66wdR}5lDbPGq^Q2TmOH%{WWCP!bjkFE44O(({*8*i2JYD@<);T3K0RZ6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LV0RR91EC2ui01N;O000Q30RR2_*Gfu?5K>y*`}gnPJs|)9K!5-M zK#q6+{wV=~pp~_Ar2qiPajz8s0CT({z;I6s005Mf002;`6#xL%N&x_n0|Nj6d%PjQ zaIY5t00=Mu005!ayL0Di0RVtN2mk;85FkKcjS>I=F-iddAmm;MCI4~&0Kn*84gdgJ q{d>0t0Du(t{=JI<00062006}B_V3@nf0SZCKoEn`y?_4#0suSQOurTY literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/9.png b/rosdocs/xsl/images/callouts/9.png new file mode 100644 index 0000000000000000000000000000000000000000..1beec4a4c241e20ece80e9ac3d52ed25b7cade11 GIT binary patch literal 356 zcmeAS@N?&q;$mQ6;PUiv2?EkQAj|ebXt$`F%lDE4H1H-CbWg{T3-qXb~q~exn zpQ2cc0S~LYTUgS>6J9!-gm#8UbUxua5yu$0b5eFllD4+;=9MR_C)?})oDq3*dZm6= z+evyh&8= zO8Ulst*#s8+TUJ!?SHn2M@WDDXZD@|i=>;Eev1R0;#}eyQ4*Y=R#Ki=l*-_sp{(hd zo0y*Jo0y)NoULG@XQXGLU}>puV4-hdsE}NgSzJ=-kXuC(Tnx>khm{=Ga8l;*SSSA@+7$l~p8kv}z85mtL oG*JQS;sfal09wmnXjEZnq-~&W(2~2m7AV8u>FVdQ&MBb@07Wczng9R* literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/callouts/ChangeLog b/rosdocs/xsl/images/callouts/ChangeLog new file mode 100644 index 0000000..3bfd951 --- /dev/null +++ b/rosdocs/xsl/images/callouts/ChangeLog @@ -0,0 +1,15 @@ +2002-05-17 Norman Walsh + + * 11.gif, 11.png, 12.gif, 12.png, 13.gif, 13.png, 14.gif, 14.png, 15.gif, 15.png: + New file. + +2002-01-28 Norman Walsh + + * 1.gif, 10.gif, 2.gif, 3.gif, 4.gif, 5.gif, 6.gif, 7.gif, 8.gif, 9.gif: + New file. + +2001-04-02 Norman Walsh + + * 1.png, 10.png, 2.png, 3.png, 4.png, 5.png, 6.png, 7.png, 8.png, 9.png: + New file. + diff --git a/rosdocs/xsl/images/caution.gif b/rosdocs/xsl/images/caution.gif new file mode 100644 index 0000000000000000000000000000000000000000..cfe83df1acc924e7950cee4fa9e15c7b58f30e2f GIT binary patch literal 743 zcmZ?wbhEHblwgox_^QhQ1OfsK5)urGiVTK^3{FlAQBe%Z$qd=q48_F^)zu6wEet(9 z3{$2s%$dWmbScButqgnj0tJhwOaY?mIdiJFZjD;HG`**{8_ndlqdgjcTGH1@5rAvWm>DH}V&z(E>{Q2|u@89nQ znoBxR{K>+|z@W#V1JVle69d~nhv}!E7VV7D!$l=+#gyARX+eW7x`wT@Cg?1ihH6;1 zs$!+xj1Yt%W31lvY*ooh8##Wqt4P*f&)W2{!b0}^@kv>5x2zLQef-gZgT0SEg>hLF z)Pd`+x;*(#oF^Yc1wYmptOPqEY|_Nz%wH;O`WPI6ayD{2tAO4N zo7{UG#GByI2%_fo|5LqMv{6N+A1o@_2o{w)&t4I@GfML`SWvEy;UY+Xf4Xzz&KO;h zV_?(HH9iCh`e$qcdSYD|*JluqE8yY-kl>0fV4tmS-PB+scb>_h18CFP6lf@4^@?xpU{PU1PX*4M<+Q zcaP!TJ;QtVEbrZOdj6c@`E$eP&n=%nfBybG!~6H|zkg@={$1evcZu)c4ZnZ?{{KJ2 z|NjF2|4aNI1*0KA)ewkZ{v-yN2N;vQ-CYGVc4DqniIr+`=|i>6H%ay#efN@oepr%>$fA&0Roh*jFW}p_ zz3j2W`M0)HiUM~1o4$N$igfAM>GK=Q`m3th{a)u-Pfyem1A5-M#5JNMI6tkVJh3R1 z!9hb=(=#_QJ=HfcJu^95!9>qU&qBe{Qs2Nr-@s5IxhS)^q|za`vbZEOSueF%FQv2~ zKd(eDIX`#eF2x-{buErXFsg^`K2fwnNNQ*5 zJO1L!te8d4X6?)=pC(QSU||)yt{QYgWZzM1M#kk|4=&{>4cy$*l3-xF?uL{AUz_5A z50}pAFgB%?DF*m>GD)-@{{F$i>YOfT;)C)He}4t3vbN+MR?Ki#WjWH`E;J#5fkSah z*CvDRdtCvNOpI%k6$_&6*{?lq*|st4mU-vV>qgQQdBM7KAGv%{?hRM3li^BSy1S9x zik*=G2sju77$g`J84MYm7@`=G8L}CQ8LAmtfUpM)r!auv95`Ic0D)T>AaF0kUWRi( zcnu8iF+kvR1_*r5@Sfp29R6n*g@Y>uM&o~Q#Rt7z11bTqgJPg?F|Y&xk=0NVR1Poz z%ZNF^GJpYGT5JXL8G!j8gs%ZfLk3G=Ndlpt1L^lb3@Tv^fu#V1MQ=Zj+J`d)yn#^y zss&&)AHzQe7O)6V5GchAW=nvWNNgr3n*%7$3}v$d*=$fYGmtIF2r&nwMieRzvPldo p4l+|5%Ki*wOEI#7?fS#Uz#t7}vjA&lTO_>>KsEyq{Q;^60RVfr5_kXr literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/draft.png b/rosdocs/xsl/images/draft.png new file mode 100644 index 0000000000000000000000000000000000000000..eca96adea022acf414dd96c173423fd47d669577 GIT binary patch literal 17453 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 literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/home.gif b/rosdocs/xsl/images/home.gif new file mode 100644 index 0000000000000000000000000000000000000000..30f089675f0fdd57845b35dee1a1e93a8a0dc768 GIT binary patch literal 321 zcmV-H0lxl6Nk%v~VJHA70KxzO;Nak3U|_JYumAu6&;S7N@bCZt@Bjb+EC2ui04M+` z000C22)f+N_DFSAmXsV{#*oJWIwOJ|OFii&dHVi$1?u8o=2teG> zb~7H4%2JKz`Tcy)XEL^=cAP+G_P7dlKVb2g%$4rYhp9PeRzLz zfrD6ufORfRiHeIHgKCh5l6Fj1nwy-RR)UybJ_V$url+TLhynwsuCA(~Rj;(Av5lgv zwwtvDw^OsE0|vwftp&x&!i>OQw#ml^r_#R6Z_dKdq|~Li{txWV+q;;-NCjLKH8RzODs`x)zXFqfx?o2&^85@jF7AWJN0jDQd6 TqQ?;{LW&$ovZP522><{)qd1=d literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/home.png b/rosdocs/xsl/images/home.png new file mode 100644 index 0000000000000000000000000000000000000000..f2a42157b9e4a72452133be85ce63eb3317ee069 GIT binary patch literal 1155 zcmeAS@N?&q;$mQ6;PUiv2?El}K+Mm<3?w5n+te5sm>B|mLR{2t@pMbyLar|^K;kUUwi)k`TOth|Br&v5EvFA z@af$WcVL!aO!9VjVd!9$^#F1vd%8G=RNPt{c#-e00!NOf@SFt||Nn1X9Jx&=_R_v7 zEzFOeT9h6v)%jj{XwTx^M`!veCQO?1F32yz_eE{{OjVuTnVd0*L%#$bw>VrmX_gNp!1wdTq8YW_n&?Nh#1gLsJuDW24kGOOvETQzIiIV-w>f6GJ1j6f*;3(=158-{)yTXF0p$ta3k zggk_Nj6s@;7)uy;FxCjEQ3@y(vJ7NdEz1N#6hbjtXK9pb8;-4eKwxWBV2GUyI=AWF z-s4Ye9ol-)wS3&D@8=z@#_t>UP%E;Yun~?q@1C2sb^Nw-2}8cX^fEeW4EWV>pIzyMM^=LEQfK Q@1J1~R0e32>JM=K8%q=UD*ylh literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/important.png b/rosdocs/xsl/images/important.png new file mode 100644 index 0000000000000000000000000000000000000000..37ee07f9730fb9460977c4dd496ab97b94364beb GIT binary patch literal 721 zcmV;?0xtcDP)000mW z5EvL3DJdyAIXOZ?FQ6G-rhOq z=Lqlb0PpV*|Nj90{|Nv85a;J9=jSo+?=k=XA;!j9*49$a&U4n*W7gJd@9#qA=VRyR zdxV69jEszwl$52VgsrWNrKOamrJTLJguT6-rKP2URh&eqn} z-rnBl=jZS5@Avoj|NsB3(!<^W0004EOGiXQXV3~_0003ONkl5o z@p2dz`tW1A0gMDMk7u$8|5 z2%t99?|ceC6MgprVE_do=OfzLiy;EwytZ{xQ*q-^4%oYN|XJU}qq$@nu@nDht#ry@SK1 z+A_mmS$6Cy|G^Zb=#^{~cC3DkXA4@k7F&;Vlk^2yTf>lHI~fT*`Ryt002XDMObuGZ)S9NVRB^vKqwb98BAE@g8rWOZ4xAV=-o9H8C?aWHDtqH90mpHDxt6Ib+m00000NkvXXu0mjf D7)nd} literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/important.tif b/rosdocs/xsl/images/important.tif new file mode 100644 index 0000000000000000000000000000000000000000..28060cc8f81574619eac00114e149735da0763f2 GIT binary patch literal 2020 zcmebD)M7AWXJBX$dk|ousK>?DTDdL8Uq@YU@bJG?*jxfpA<|j-!WmZOftnGps z2`M(7+NV;37GB736>XW?tSpqXE>}~nv-Ps%oEtMlIQW-6+n$q%9M;|CK z_#F#ZV$1tJGvEmalTiEz3u}o#Tuh>mHiUOeO7JnuKG`_As3Jnn>nKNe(yJ$T`WW1e~GYvWZ4Wap86IdPu0ZRZU zVEzvR=YI)c=}-+U1EPR<3b=fz29^QIz>)z}8Z2c{1j=VaONynyvH(;CHn0?60O~UY>I?#w0~|oMCXfdzd#ZtD0Rym90=efsxO4)k@&c9v z5Z5Y>mIBlY0dHWCG6FG-=41HBzycNl3Ie5=!E6Z-6N$|PWrOMuW+jIb=LGEI8QAA*>a1B0!;`T|n7uj>pG`jtu{evhJMNxcGSe4+aUA4;zBR~SJyxQRUcWR@_F-^jeWYB);NUiculZ3jmx6N0 zeB+OSXDhy@IoCx0FO{tph>zHm!T!klb*W-Q^N$-zxf}}=>~`{%GD&ps=U<*F$^Pgw z_kzS@O+PsF&r}G^Pim1AepDS}@Ytzl3Ts+UM}N_=nLk9*dAj;P>|etE;is#v!2PUi yKjIc2Q@7UKxAw<}hlktwB|mLR=YI7zBC*6nhjkr)V0^ zF?5>aIX7kLxut8bt=)QW>#=*s&OJYO?ftdq@1MW_ z{{H_c7!84;90G=m6CMJy1Y?r7y9+}HtE>l*)9dNt7*cU-@5F~(hZT5QLLbF!-lo=8 z{XaZbgl+ZR8}p46or>hk9hvLq7icP9Z7_Sc-e>U(qtClHy_j;;#bIjRx1ddDdX^p) z4)j*l7W`i7ojO}0%vw!YF8tUZ+ZiCm~)A1L`iUdT1k0gQ7VIjhO(w- zZen_>Z(@38a<+nro{^q~f~BRtfrY+-p+a&|W^qZSLvCepNoKNMYO!8QX+eHoiC%Jk z?!;Y+JAlS%fsM;d&r2*R1)7(XoMd2RlxmTfl4@$4lw^`-X_A&?kY;X>VxDY}Xpvl6 oKPMZgiw~qL0B9|Pv1x^&skVW(fl!^>C!h?2r>mdKI;Vst05&UVs{jB1 literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/note.gif b/rosdocs/xsl/images/note.gif new file mode 100644 index 0000000000000000000000000000000000000000..da5dd3e8883ef846d55673dc331090b349bf1fc1 GIT binary patch literal 580 zcmZ?wbhEHblwgox_`<~i1YTZVK|w)LQBlds$=TW2#l^+d)zvL6Ej>LwQ>IK=x^(H* zty}l*-FxiVv2*9nUAuPe-o1OzpFe;9{{8>||AFElBX9%7pDc_F45AD=ASEC>8Cd@% zghGJlBo$966GSzJUe!6ZN$1q35SXB^-zJAkEPj)pXq*a$h_ zXQ+sXsjhEmXhNv37hJ?OaLOg1X|~+1jSyWR(o`3y(c1;Ai!}%$em*Glyc1BwlIya8 zuZpLThNs9@k1ImH0$Wth2s`>W>73rA(RIXT!4{9MLpCC+wq2hkd_`O*d~)g9;?U*N zC}OI4M1Z6Hl7Y`-pGiWx6O;l)uFCkcxOF@EUU3NwS>oY6#RI6O?U2byr$d1v9)TjN znwNw$j~n?OWwbpf2zH99Zo*Lqk)s;^7gg9U27sNV>(8nyV%m64QG)9cM8x-WNa$(j zzz`MJAQq_8eSmmjy7}|Lu@zf kf(CKug-JSrEM6BktMtGlBGk2ik;bV{KB5sIO^OWG0EWH6?*IS* literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/note.png b/rosdocs/xsl/images/note.png new file mode 100644 index 0000000000000000000000000000000000000000..a040db089eada7a89065f3fabe806eb5c3bab9dd GIT binary patch literal 489 zcmeAS@N?&q;$mQ6;PUiv2?Ej*Aj|>#$sQ@XaByV>Y28LC=%0>(fj4Ylmjv*Dd zQYR@+I&8q>TDz~c)tj4}*_oT`zi0`IW1zF6bD*Q_LGAR(Cb>&b_B?)`?|onIG0*(M ze^ZkcSQh>H!sW91imlQf#$QZ)n~M2aM7B!_mG~$#eZN2dHdo>_vA!hh z387~>l#Pzx5DBa065DWPanXH-u&#jhZjaM1Ozy_!bI*Hw zwd%~d<>#NxOnVM{oXBfr1bBc`|GD&YW_n&? zNh#1gWSj8)*j_s0*s+gA3;Sh&ja)bx!VF_Sf>*se@&+kCgO zr+R@?&ik*cqgb|1nDsf`Smu_<(#~sYRz=fNIgWLC7l}#=|C@V!^7^u?J-&S9hp(U4 z$p4Zq##20*5QGIHvwJ-nxn--51 literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/prev.gif b/rosdocs/xsl/images/prev.gif new file mode 100644 index 0000000000000000000000000000000000000000..56cc274fe9fba09b45163db4e1b22b65ec50c34b GIT binary patch literal 1118 zcmZ?wbh9u|RAW$Q_|5jIb=LGEI8QAA*>a1V#C72?E=btEDjqN9qpDd4zl5RF#mYJf^(P5PkwoZW(JQ{ zF_D*4y!wR%9~DOmG#sD7{_&y;#{p%(<{xE#Uw&*>uv^H)Skbd{qJrHLc7}?c9UtQz zYXTT6YHoZvu)pcYrmCD9p$~wJBmbf!%0P@OYB}B?fNF{YnIe9ySJ<~ln9<}1LcYr;@((b@HMtAlPLh^PsKR!G>+|CbXxWHL3#->LwIhe?U cW`4ULC`3qLrpm*X4$b9ricTFB5n!+e067WDH2?qr literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/prev.png b/rosdocs/xsl/images/prev.png new file mode 100644 index 0000000000000000000000000000000000000000..fa9995a24d6ad2b47fe0c4abdb1cc284366e9c8f GIT binary patch literal 1131 zcmeAS@N?&q;$mQ6;PUiv2?El}K+Mm<3?w5n+te5sm>B|mLR=YI7zBC*6nhjkr)V0^ zF?5>aIX7kLxut8btvz<{*tzHDuD!qZ{QdLy-{1cq z1*0J_#6w`unpaSW-rwRPe_zC#8)&bwJoNrkBz{rjJ< zn)>L#k!{=-(<7=ji7fvR^K?6pP3g4DS7tw$u~B=a+xf&JcFNu&!SlsuEA|F%OgyrR zi(A8TV|ZE3$;h?ck(Y#fcJrjzK6)0t?B(jFNk6Ci9hd(5CS68&vC18;{yYD_c01cL zZvCR##lyX`8|Vz@64!{5;QX|b^2DN41_upgP0!rK^itl1hi%%HopDWWCg4y_C{|{JavqfAm7Wf(kN{an^LB{Ts5r#E7k literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/tip.gif b/rosdocs/xsl/images/tip.gif new file mode 100644 index 0000000000000000000000000000000000000000..2d2ab2e2d988890ad8452ec57153a90a1755a8cc GIT binary patch literal 598 zcmaKpzfZzI6vwMTVr1agk;q0B6G+Nr2O2S5_vgoA?+O|*Z2;m1GF z(2>P~L@~rtXJTB~5kp+WdslJva!tPP+t0mw@7-ZG9TUz1%oa1>WXN*6-7L!rf>0`z z%H?vUQmIy}wOXy&Y^ti-?RIrt@AvzI!C*8RO(v7+bh=n9mdhnE;rzdg{j#qy3}QH- z;7-Qz9h5MF4IdR&SVw-Lp>Yi@?)?R@`WhbE(uI(8-HQK`{)m&8O@W%sGBHq+RIQZVmr5lwCPA6S=gyUF}c`LjO|w_ z-Q=^5KaSKvx%(C8>nP|08ZbkCm95jfQI{kRDOL~z(1|^7c(K}xuP~^rXeua!U%a5l zY!I+H=ONS7Ia<0nqU}A>8KE|rj+IW&s6{b literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/tip.png b/rosdocs/xsl/images/tip.png new file mode 100644 index 0000000000000000000000000000000000000000..b4176c79fd825f9fad5cc0120553733591254c5f GIT binary patch literal 448 zcmeAS@N?&q;$mQ6;PUiv2?ElRKrF!lBp9^raY_LxrX+877Y2q^y~;*F-fd48$B>F! zrIU6G9#-ISkW|#J=vgz#Y^nG3H4lQcGg!Q~PmyYzCKw`==*`8+X?MSI-oK!Xx-9$m z=>~;v4pZj;X#SwM=+viF1}P6#op-Gaa}8wfv{lTQ!eKB`t$?dVAWlqX`qoumFOQg3 z?za8nb%RrtJHUp&P3y?~>YjB|RpPcn<8SkgaUVa=KkHL>Q$*3Wcjkg8 zYN2PASabDGR4bB6zu)EdD7SOX*_GEt0{%{2bItnZ6Cs|@`6Wzq&78h@2|X!v=6Vy6 zQp$1Q)#kgIu^hGjJ|CD&v_)z(6?ESMz3E)y8c`CQpH@YJFJ znVhX)qGzOMplv!L->5yAlT#}irms+fsQd*FoSE84kpF44v;to(y zf{n{e&r2*R1)7(dYMEkTZfwz*1p00i_>zopr0GUyszyJUM literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/tip.tif b/rosdocs/xsl/images/tip.tif new file mode 100644 index 0000000000000000000000000000000000000000..c80c51d8c755ad80b8c085d88ed3158041096b69 GIT binary patch literal 420 zcmebD)M8*_WMF8pe-L1yJdca5$tf{F-CELXO3;xcp67e?gucfex%0l_j;Y3!bk~Iw z*}inn73j9T)O}-3=fCGcYZHT(zR^l}-s<&G=c&#%w(qtbzQr9{)4X|tE-LgF&v4l4 z)p%aZSR=ZsmwRfU)`umDZ@!1L>ZTZTei3kDV32yV!Q3h+-nMlqyV>lRzWV|5XS|!R zJ9po!|JC=_hMz9Ex3Ove_O<7Ki^+ZG3OW)0HK&YExa~knT17|Dw`}IsahgrSch^-` zbR3#}CTEJE3FpcFHhEeT>m*%ClD6O_#XWHUqAtUxv!lnpXbkP%`INR23xxENF% fWR5tL{SwHQVq^u|^$Ez9hO&PF*|tb}fm{XvkTP^^ literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/toc-blank.png b/rosdocs/xsl/images/toc-blank.png new file mode 100644 index 0000000000000000000000000000000000000000..709586d4054de4dbf39a92cf940484302fcf558c GIT binary patch literal 317 zcmeAS@N?&q;$mQ6;PUiv2?EmmK+MU)3?$_jW~Trtg8-ipS0LR0#tmSq0my4;IB?)V zLqo%Vp!k1=|6mG816e@eFRbPX6lYBGc6VXuV3qX%a^yT+978H@CI9%p|G&LJO~Ma; zMg=x8L4gc~1#D*+7^Ylsx|AWe@c~e!bBSw2NpOBzNqJ&XDuaWDvZiNlVtT4?VtQtB zwt|VCk)DNurKP@sg}#BILUK`NaY>~^Ze?*vX0l#tv0h4PL4IC|UUGi!#9fLzfW~Qo zjmu2WODrh`nwMstYHVSVl9-fYlA2~s=MqpC7f4qC e&{_sV(+W#%18oEIvJW8R7(8A5T-G@yGywoL?_tFN literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/toc-minus.png b/rosdocs/xsl/images/toc-minus.png new file mode 100644 index 0000000000000000000000000000000000000000..bfa0005234c640aeb5f4cf4d05098cc4b0b3f8e3 GIT binary patch literal 258 zcmeAS@N?&q;$mQ6;PUiv2?EmmK+MSjBp6OS(d-6NOiAAEE({E-dXF! z$r+7}{}T={Ed4KhKAnM4L7vC+dViKZL#=MXx~R{)T!AW`OI#yLg7ec#$`gxH85}f} zH9d0^(^GvD(=(H^6-@Mu^ehxCE%gm7^bHIZl8Z8nODY|5D~n4qll4-I^-@X;^7Bgc zlJj#X?o!+VG)@a_TxNP+Vo52`ywv106GP+FG!t`EBNGz?lQc_%WD}DVi)8Z@L!(5a p)Vm%3W&w3^fpi4`tz|GYt+3QK&^9nH`v5YI!PC{xWt~$(69DYeO)>xg literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/toc-plus.png b/rosdocs/xsl/images/toc-plus.png new file mode 100644 index 0000000000000000000000000000000000000000..cb8addec45a6fed5c0660252d7a71206e40a3102 GIT binary patch literal 263 zcmeAS@N?&q;$mQ6;PUiv2?EmmK+MSjBp6OS(d-6NOiAAEE({E-dXF! z$r+7}{}T={Ed8(iS@OdtNe6}#?9NJ87SHU@vS$eL%Gs1M)5-*>+_}Uxq9iy!t)x7$ zD3!rMLs`=^H!(fcH!(dkIa|R*&q&Wg!O~LSz(U`^P$9V}v$&+vA-A%)Br{nrwOB8u zv>-pPL@zl%cj7L^9YEu>z{X{!=Ovbu0?kWIGBmd^FiJH{Nl8pKHZn9!GE7c2OG-9Q uGO$QYO*XIowM+x3iwmSH0B9|Pp=pJswt=>RdD#b$aSWcWelF{r5}E*@FijIb=LGEI8QAA*>a1V#C72?E=bjEDjqN9qpDd4szjmF#mYJf^(P5Pk#A^PL<$Q zI+;RG?K?R>ZZ+XJpnRtJN17PRgOAG`Ypgh#KAaFZVBhwmiI3&M#ti2gFIJ`xI|LdI z)N_AywPiSv9NPY48`Fms0t^T1xjuG&jrgXxZ|i>{CW9aPigr7S6dxV77JO*m^5e&) zo(}&F0j>Y}9vSZmQL;N0Bl*v`gWrf@#t#YRf*HM~)&2b!mjeThEhE5z G!5RR%al9%3 literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/up.png b/rosdocs/xsl/images/up.png new file mode 100644 index 0000000000000000000000000000000000000000..3d1cf396323a14557543c4951aa45a8f4e1ec989 GIT binary patch literal 1110 zcmeAS@N?&q;$mQ6;PUiv2?El}K+Mm<3?w5n+te5sm>B|mLR=YI7zBC*6nhjkr)V0^ zF?5>al)N@Mduw*f-j<$YJyXt2*?Mp5v3tkPJwJEt{k7-spTGb9{{JW#4T0ej0-JWv ztOI5V#w2fd7lsa2Sq~s5&C|s(q~g}p3Eq4M6gXIOU$e71zN^1^ZLX*GlKg{hCmrGf z>>sKtd&F8l++g!FNOt1c=n2mPQeQqYm}8_?V#A=d{QR13^WfZmnI%``)Vwlx^SQIm z+Q)PH^nKg&^)hYViT#Gv_nxq&Z&6q#c5DMEM>?0dMwA5SriitKf)ghIjv$xRfA5@!fkDH{bMrpZER!`M%%z$hqF& zRTo^?=>a_=-~^4}0c5}joCOph4kUmZz-=G{VS5-sP2q6X`MO`-x!!*rW ztyZts8;wS@*(?@mpZ^}uZ$}#tfY(x3o*?Xoo>h`d8|jmC(W5ivVgErE1sEKfo%%8K zZm_%KW2+i;iCOE!&3{olD%O0Ac=Thp(EZgCUC z>m{!ZyCyqrXB4)SL^$CI^0ECR$tT=P*F@;1lfy%=Q(o%DDkk-3k1-hj`YC2`iO!;PB{25L$z|t(hB2^RnTlY0JD#q1sIwW1DTCqzzwWg@Q=t zBC2IYeu@w4LHM97Gb5%*E%9MN*%m}jvs!{N@WT4^Z|Kp(xo|lAeur~7oF08u8S5wu z086J;SJRQZZA=F3KaRei1sKqusnIY2&Q47L2mvWj0+a(Zq7kqI9>5FufL_2)tJfQ- zt`0Od2E1MpAeBn8yqxs;NWY&X$siDvN`rns1yDjE)!R!20u)J76g2@%1cMV46#_yW zPKe75g+gH<%;AK&+^|p>0V1@IM4~`68jS;Sfgm1_Cx8T#nMfp(Kr)$30jXWt-N1j^ zKx@G_`l_+VR8gizcN$MiCrdhYaZURt$E{9RmxL2a_$wC{-!2a`^4LeN=e)d~<6y;7 zp5V`G`hg3nM}?}v_&k5^T+h9Veyq*ZPy6b|>e*V=(Bf?OTG98!6X#5w;pXJ?alykM znM0dfMnfNe$sJbhSKKMhSoy8AYiNdMr&~NMBzx`8I)??!J*US7rhK-D0 z2QN||9+xh(^VV(Y8@#w?IkB2P&Xx``ragxX^ds+HWeh9qwx(bj!8U9*bc)tL*KVwQ z39iJnbA`@j-e@-8ziR1ox^LXQe|n6pRlnJ)aK`LS1@kXdk~F7aGQhY(&s<7q8i@0* zX5y;RZAH=XV?v$7*kY|Tw%E+}EV)=FR%9uaxe`ULM4DxG+dM=^k)y*y*vw+9M{H?p zbvX&K+2!aT7d)fsPVCUxTAW6rjpj4UWu|s?1mBOHMXRWF~pu m*+a1b8pYm5>FKtR$=hXekwheMHyxmV5}?ymsh^fy>iP!?8AY}L literal 0 HcmV?d00001 diff --git a/rosdocs/xsl/images/warning.tif b/rosdocs/xsl/images/warning.tif new file mode 100644 index 0000000000000000000000000000000000000000..7b6611ec7a1980022c11ad6877fedf32f41b3df0 GIT binary patch literal 1990 zcmebD)MAieXJBaHR|qhCa3Ybt#fe?OBZVhOke}_5p}~zDOYXJdOmf$P_Zjir-v(f(n1LVCeE22NskqJ)$I5g z8XP9S{LzviJ+sf*L4iXe*;u-Tjq%lq8EgzJ!Hcg+?M+EyWoUYBc3S038aqStx-zY! zDFTdKac@c|p3q>CIvAgpWRM#aTC%3+U_*~obs9PKLA zwdWf7S{m)1m+z3c?Wmx@z`-EEAipvhp!;Kbm?5X2D0kj+rcP|eW7(8DkV2Fki5IhEj=NKUH8UqO41H$KE_?`g-zXRd_Q8-9KfPnz02B(N>pejpX z>SzI`howNaA&_POrkNgK+E@xq2Mpl!zyMB5$ACOgn$iTTxCSKe0kI-51uy_p+j}7S z9f(I$z~Bf0U{v4*qwzmD;)zDC@CHUcBM`%AK8Ak`EMO6Es$gUWvn4>Pkl0L6HV06g z8Omk_ve}?)W*}RT5n>KVjVM$cWRn + + * javahelp.xsl: Put ancillary files in base.dir + +2002-03-14 Norman Walsh + + * .cvsignore: New file. + + * javahelp.xsl: Whitespace only: change CR/LF back to LF. Norm was a total moron. + + * javahelp.xsl: Whitespace changes only: use PC-style CR/LF because Unix clients choke on this far less often than PC clients choke on the reverse. Grrr. + +2002-03-01 Jirka Kosek + + * Makefile: New file. + +2001-11-27 Norman Walsh + + * javahelp-common.xsl, javahelp.xsl, xtjavahelp.xsl: Removed obsolete XT support; added support for rootid parameter + + * javahelp.xsl: Fixed simple select typo + +2001-05-20 Jirka Kosek + + * javahelp-common.xsl: Fixed bug #425149, colphons and articles inside book are now handled + +2001-04-04 Norman Walsh + + * javahelp-common.xsl, javahelp.xsl, xtjavahelp.xsl: New file. + diff --git a/rosdocs/xsl/javahelp/javahelp.xsl b/rosdocs/xsl/javahelp/javahelp.xsl new file mode 100644 index 0000000..691ca1d --- /dev/null +++ b/rosdocs/xsl/javahelp/javahelp.xsl @@ -0,0 +1,487 @@ + + + + + + + + + + + + + +Character encoding to use in control files for Java Help. + +Java Help crashes on some characters when written as character +references. In that case you can select appropriate encoding here. + + + + + + + + + + + + ID ' + + ' not found in document. + + + + Formatting from + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="$title"/> + + + + + top + + + + + + TOC + + javax.help.TOCView + jhelptoc.xml + + + + Index + + javax.help.IndexView + jhelpidx.xml + + + + Search + + javax.help.SearchView + JavaHelpSearch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + , + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/javahelp/profile-javahelp.xsl b/rosdocs/xsl/javahelp/profile-javahelp.xsl new file mode 100644 index 0000000..d278f6c --- /dev/null +++ b/rosdocs/xsl/javahelp/profile-javahelp.xsl @@ -0,0 +1,447 @@ + + + + + + + + + + + + + + + +Character encoding to use in control files for Java Help. + +Java Help crashes on some characters when written as character +references. In that case you can select appropriate encoding here. + + + + + + + + + + + + ID ' + + ' not found in document. + + + + Formatting from + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="$title"/> + + + + + top + + + + + + TOC + + javax.help.TOCView + jhelptoc.xml + + + + Index + + javax.help.IndexView + jhelpidx.xml + + + + Search + + javax.help.SearchView + JavaHelpSearch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + , + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/lib/ChangeLog b/rosdocs/xsl/lib/ChangeLog new file mode 100644 index 0000000..8256380 --- /dev/null +++ b/rosdocs/xsl/lib/ChangeLog @@ -0,0 +1,38 @@ +2002-05-12 Norman Walsh + + * lib.xweb: Changed default units to px; added length-in-points template + +2002-03-25 Norman Walsh + + * .cvsignore: Ignore lib.xsl too + + * .cvsignore, Makefile, lib.xsl, lib.xweb: Use Literate XML to generate lib.xsl + + * Makefile: Update documentation build to reflect use of lib.xweb + +2002-03-18 Norman Walsh + + * lib.xsl: Replace generate.*.toc and generate.*.lot with single generate.toc parameter. + +2002-03-14 Norman Walsh + + * lib.xsl: Whitespace only: change CR/LF back to LF. Norm was a total moron. + + * lib.xsl: Whitespace changes only: use PC-style CR/LF because Unix clients choke on this far less often than PC clients choke on the reverse. Grrr. + +2002-01-09 Norman Walsh + + * lib.xsl: Added length-units template to extract units from lengths + +2001-11-28 Norman Walsh + + * lib.xsl: Added pi-attribute template + +2001-04-03 Norman Walsh + + * lib.xsl: Documentation fixes + +2001-04-02 Norman Walsh + + * lib.xsl: New file. + diff --git a/rosdocs/xsl/lib/lib.xml b/rosdocs/xsl/lib/lib.xml new file mode 100644 index 0000000..e70cc70 --- /dev/null +++ b/rosdocs/xsl/lib/lib.xml @@ -0,0 +1,702 @@ + + + + + + +XSL Library Template Reference +$Id$ + +DocBook Open Repository Team + + 1999 + 2000 + 2001 + 2002 + Norman Walsh + + + +Introduction + +This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets. + +This is not intended to be user documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in how it +works. + +Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-) + + + + +General Library Templates + + + +dot.count +Returns the number of . characters in a string + + +Description + +<xsl:template name="dot.count"> + <!-- Returns the number of "." characters in a string --> + <xsl:param name="string"/> + <xsl:param name="count" + select="0"/> + <xsl:choose> + <xsl:when test="contains($string, '.')"> + <xsl:call-template name="dot.count"> + <xsl:with-param name="string" + select="substring-after($string, '.')"/> + <xsl:with-param name="count" + select="$count+1"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$count"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + + + + + + + + +copy-string +Returns count copies of a string + + +Description + +<xsl:template name="copy-string"> + <!-- returns 'count' copies of 'string' --> + <xsl:param name="string"/> + <xsl:param name="count" + select="0"/> + <xsl:param name="result"/> + + <xsl:choose> + <xsl:when test="$count>0"> + <xsl:call-template name="copy-string"> + <xsl:with-param name="string" + select="$string"/> + <xsl:with-param name="count" + select="$count - 1"/> + <xsl:with-param name="result"> + <xsl:value-of select="$result"/> + <xsl:value-of select="$string"/> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$result"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + + + + + + + + +string.subst +Substitute one text string for another in a string + + +Description + +The string.subst template replaces all +occurances of target in string +with replacement and returns the result. + + +<xsl:template name="string.subst"> + <xsl:param name="string"/> + <xsl:param name="target"/> + <xsl:param name="replacement"/> + + <xsl:choose> + <xsl:when test="contains($string, $target)"> + <xsl:variable name="rest"> + <xsl:call-template name="string.subst"> + <xsl:with-param name="string" + select="substring-after($string, $target)"/> + <xsl:with-param name="target" + select="$target"/> + <xsl:with-param name="replacement" + select="$replacement"/> + </xsl:call-template> + </xsl:variable> + <xsl:value-of select="concat(substring-before($string, $target), $replacement, $rest)"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$string"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + + + + + + + + +xpointer.idref +Extract IDREF from an XPointer + + +Description + +The xpointer.idref template returns the +ID portion of an XPointer which is a pointer to an ID within the current +document, or the empty string if it is not. +In other words, xpointer.idref returns +foo when passed either #foo +or #xpointer(id('foo')), otherwise it returns +the empty string. + +<xsl:template name="xpointer.idref"> + <xsl:param name="xpointer">http://...</xsl:param> + <xsl:choose> + <xsl:when test="starts-with($xpointer, '#xpointer(id(')"> + <xsl:variable name="rest" + select="substring-after($xpointer, '#xpointer(id(')"/> + <xsl:variable name="quote" + select="substring($rest, 1, 1)"/> + <xsl:value-of select="substring-before(substring-after($xpointer, $quote), $quote)"/> + </xsl:when> + <xsl:when test="starts-with($xpointer, '#')"> + <xsl:value-of select="substring-after($xpointer, '#')"/> + </xsl:when> + <!-- otherwise it's a pointer to some other document --> + </xsl:choose> +</xsl:template> + + + + + + + + + +length-magnitude +Return the unqualified dimension from a length specification + + +Description + +The length-magnitude template returns the +unqualified length ("20" for "20pt") from a dimension. + + +<xsl:template name="length-magnitude"> + <xsl:param name="length" + select="'0pt'"/> + + <xsl:choose> + <xsl:when test="string-length($length) = 0"/> + <xsl:when test="substring($length,1,1) = '0' or substring($length,1,1) = '1' or substring($length,1,1) = '2' or substring($length,1,1) = '3' or substring($length,1,1) = '4' or substring($length,1,1) = '5' or substring($length,1,1) = '6' or substring($length,1,1) = '7' or substring($length,1,1) = '8' or substring($length,1,1) = '9' or substring($length,1,1) = '.'"> + <xsl:value-of select="substring($length,1,1)"/> + <xsl:call-template name="length-magnitude"> + <xsl:with-param name="length" + select="substring($length,2)"/> + </xsl:call-template> + </xsl:when> + </xsl:choose> +</xsl:template> + + + + + + + + +length-units +Return the units from a length specification + + +Description + +The length-units template returns the +units ("pt" for "20pt") from a length. If no units are supplied on the +length, the defauilt.units are returned. + +<xsl:template name="length-units"> + <xsl:param name="length" + select="'0pt'"/> + <xsl:param name="default.units" + select="'px'"/> + <xsl:variable name="magnitude"> + <xsl:call-template name="length-magnitude"> + <xsl:with-param name="length" + select="$length"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="units"> + <xsl:value-of select="substring($length, string-length($magnitude)+1)"/> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$units = ''"> + <xsl:value-of select="$default.units"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$units"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + + + + + + + + +length-spec +Return a fully qualified length specification + + +Description + +The length-spec template returns the +qualified length from a dimension. If an unqualified length is given, +the default.units will be added to it. + + +<xsl:template name="length-spec"> + <xsl:param name="length" + select="'0pt'"/> + <xsl:param name="default.units" + select="'px'"/> + + <xsl:variable name="magnitude"> + <xsl:call-template name="length-magnitude"> + <xsl:with-param name="length" + select="$length"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="units"> + <xsl:value-of select="substring($length, string-length($magnitude)+1)"/> + </xsl:variable> + + <xsl:value-of select="$magnitude"/> + <xsl:choose> + <xsl:when test="$units='cm' or $units='mm' or $units='in' or $units='pt' or $units='pc' or $units='px' or $units='em'"> + <xsl:value-of select="$units"/> + </xsl:when> + <xsl:when test="$units = ''"> + <xsl:value-of select="$default.units"/> + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>Unrecognized unit of measure: </xsl:text> + <xsl:value-of select="$units"/> + <xsl:text>.</xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + + + + + + + + +length-in-points +Returns the size, in points, of a specified length + + +Description + +The length-in-points template converts a length +specification to points and returns that value as an unqualified +number. + + + +There is no way for the template to infer the size of an +em. It relies on the default em.size +which is initially 10 (for 10pt). + +Similarly, converting pixesl to points relies on the +pixels.per.inch parameter which is initially +90. + + + +<xsl:template name="length-in-points"> + <xsl:param name="length" + select="'0pt'"/> + <xsl:param name="em.size" + select="10"/> + <xsl:param name="pixels.per.inch" + select="90"/> + + <xsl:variable name="magnitude"> + <xsl:call-template name="length-magnitude"> + <xsl:with-param name="length" + select="$length"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="units"> + <xsl:value-of select="substring($length, string-length($magnitude)+1)"/> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$units = 'pt'"> + <xsl:value-of select="$magnitude"/> + </xsl:when> + <xsl:when test="$units = 'cm'"> + <xsl:value-of select="$magnitude div 2.54 * 72.0"/> + </xsl:when> + <xsl:when test="$units = 'mm'"> + <xsl:value-of select="$magnitude div 25.4 * 72.0"/> + </xsl:when> + <xsl:when test="$units = 'in'"> + <xsl:value-of select="$magnitude * 72.0"/> + </xsl:when> + <xsl:when test="$units = 'pc'"> + <xsl:value-of select="$magnitude div 6.0 * 72.0"/> + </xsl:when> + <xsl:when test="$units = 'px'"> + <xsl:value-of select="$magnitude div $pixels.per.inch * 72.0"/> + </xsl:when> + <xsl:when test="$units = 'em'"> + <xsl:value-of select="$magnitude * $em.size"/> + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>Unrecognized unit of measure: </xsl:text> + <xsl:value-of select="$units"/> + <xsl:text>.</xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + + + + + + + + +pi-attribute +Extract a pseudo-attribute from a PI + + +Description + +The pi-attribute template extracts a pseudo-attribute +from a processing instruction. For example, given the PI +<?foo bar="1" baz='red'?>, +<xsl:call-template name="pi-attribute"> + <xsl:with-param name="pis" select="processing-instruction('foo')"/> + <xsl:with-param name="attribute" select="'baz'"/> +</xsl:call-template> +will return red. This template returns the first matching +attribute that it finds. Presented with processing instructions that +contain badly formed pseudo-attributes (missing or unbalanced quotes, +for example), the template may silently return erroneous results. + +<xsl:template name="pi-attribute"> + <xsl:param name="pis" + select="processing-instruction('')"/> + <xsl:param name="attribute">filename</xsl:param> + <xsl:param name="count">1</xsl:param> + + <xsl:choose> + <xsl:when test="$count>count($pis)"> + <!-- not found --> + </xsl:when> + <xsl:otherwise> + <xsl:variable name="pi"> + <xsl:value-of select="$pis[$count]"/> + </xsl:variable> + <xsl:choose> + <xsl:when test="contains($pi,concat($attribute, '='))"> + <xsl:variable name="rest" + select="substring-after($pi,concat($attribute,'='))"/> + <xsl:variable name="quote" + select="substring($rest,1,1)"/> + <xsl:value-of select="substring-before(substring($rest,2),$quote)"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="pi-attribute"> + <xsl:with-param name="pis" + select="$pis"/> + <xsl:with-param name="attribute" + select="$attribute"/> + <xsl:with-param name="count" + select="$count + 1"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + + + + + + + + +lookup.key +Retrieve the value associated with a particular key in a table + + +Description + +Given a table of space-delimited key/value pairs, +the lookup.key template extracts the value associated +with a particular key. + +<xsl:template name="lookup.key"> + <xsl:param name="key" + select="''"/> + <xsl:param name="table" + select="''"/> + + <xsl:if test="contains($table, ' ')"> + <xsl:choose> + <xsl:when test="substring-before($table, ' ') = $key"> + <xsl:variable name="rest" + select="substring-after($table, ' ')"/> + <xsl:choose> + <xsl:when test="contains($rest, ' ')"> + <xsl:value-of select="substring-before($rest, ' ')"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$rest"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="lookup.key"> + <xsl:with-param name="key" + select="$key"/> + <xsl:with-param name="table" + select="substring-after(substring-after($table,' '), ' ')"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:if> +</xsl:template> + + + + + + + + +xpath.location +Calculate the XPath child-sequence to the current node + + +Description + +The xpath.location template calculates the +absolute path from the root of the tree to the current element node. + + +<xsl:template name="xpath.location"> + <xsl:param name="node" + select="."/> + <xsl:param name="path" + select="''"/> + + <xsl:variable name="next.path"> + <xsl:value-of select="local-name($node)"/> + <xsl:if test="$path != ''">/</xsl:if> + <xsl:value-of select="$path"/> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$node/parent::*"> + <xsl:call-template name="xpath.location"> + <xsl:with-param name="node" + select="$node/parent::*"/> + <xsl:with-param name="path" + select="$next.path"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:text>/</xsl:text> + <xsl:value-of select="$next.path"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + + + + + + + +Relative URI Functions + +Introduction + +These functions manipulate relative URI references. + +The following assumptions must hold true: + + + +All URIs are relative. + + +No URI contains the ../ sequence +which would effectively move up the hierarchy. + + + +If these assumptions do not hold, the results are unpredictable. + + + + + +count.uri.path.depth +Count the number of path components in a relative URI + + +Description + +This function counts the number of path components in a relative URI. + +<xsl:template name="count.uri.path.depth"> + <xsl:param name="filename" + select="''"/> + <xsl:param name="count" + select="0"/> + + <xsl:choose> + <xsl:when test="contains($filename, '/')"> + <xsl:call-template name="count.uri.path.depth"> + <xsl:with-param name="filename" + select="substring-after($filename, '/')"/> + <xsl:with-param name="count" + select="$count + 1"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$count"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + + + + + + +trim.common.uri.paths +Trim common leading path components from a relative URI + + +Description + +This function trims common leading path components from a relative URI. + +<xsl:template name="trim.common.uri.paths"> + <xsl:param name="uriA" + select="''"/> + <xsl:param name="uriB" + select="''"/> + <xsl:param name="return" + select="'A'"/> + + <xsl:choose> + <xsl:when test="contains($uriA, '/') and contains($uriB, '/') and substring-before($uriA, '/') = substring-before($uriB, '/')"> + <xsl:call-template name="trim.common.uri.paths"> + <xsl:with-param name="uriA" + select="substring-after($uriA, '/')"/> + <xsl:with-param name="uriB" + select="substring-after($uriB, '/')"/> + <xsl:with-param name="return" + select="$return"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="$return = 'A'"> + <xsl:value-of select="$uriA"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$uriB"/> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + + + + + + +The Stylesheet + +The lib.xsl stylesheet is just a wrapper +around these functions. + + +<!-- ******************************************************************** + $Id$ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://nwalsh.com/docbook/xsl/ for copyright + and other information. + + This module implements DTD-independent functions + + ******************************************************************** --> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + exclude-result-prefixes="src" + version="1.0"> + + + + + + + + + + + + + + + +</xsl:stylesheet> + + + \ No newline at end of file diff --git a/rosdocs/xsl/lib/lib.xsl b/rosdocs/xsl/lib/lib.xsl new file mode 100644 index 0000000..1d1ab07 --- /dev/null +++ b/rosdocs/xsl/lib/lib.xsl @@ -0,0 +1,349 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unrecognized unit of measure: + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unrecognized unit of measure: + + . + + + + + + + + + filename + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / + + + + + + + + + + + + / + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/lib/lib.xweb b/rosdocs/xsl/lib/lib.xweb new file mode 100644 index 0000000..d51255d --- /dev/null +++ b/rosdocs/xsl/lib/lib.xweb @@ -0,0 +1,700 @@ + + +XSL Library Template Reference +$Id$ + +DocBook Open Repository Team + + 1999 + 2000 + 2001 + 2002 + Norman Walsh + + + +Introduction + +This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets. + +This is not intended to be user documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in how it +works. + +Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-) + + + + +General Library Templates + + + +dot.count +Returns the number of . characters in a string + + +Description + + + + + + + + + + + + + + + + + + + + + + + + + + + +copy-string +Returns count copies of a string + + +Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +string.subst +Substitute one text string for another in a string + + +Description + +The string.subst template replaces all +occurances of target in string +with replacement and returns the result. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +xpointer.idref +Extract IDREF from an XPointer + + +Description + +The xpointer.idref template returns the +ID portion of an XPointer which is a pointer to an ID within the current +document, or the empty string if it is not. +In other words, xpointer.idref returns +foo when passed either #foo +or #xpointer(id('foo')), otherwise it returns +the empty string. + + + + http://... + + + + + + + + + + + + + + + + + + + + + + +length-magnitude +Return the unqualified dimension from a length specification + + +Description + +The length-magnitude template returns the +unqualified length ("20" for "20pt") from a dimension. + + + + + + + + + + + + + + + + + + + + + + + + + +length-units +Return the units from a length specification + + +Description + +The length-units template returns the +units ("pt" for "20pt") from a length. If no units are supplied on the +length, the defauilt.units are returned. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +length-spec +Return a fully qualified length specification + + +Description + +The length-spec template returns the +qualified length from a dimension. If an unqualified length is given, +the default.units will be added to it. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unrecognized unit of measure: + + . + + + + + + + + + + + + + +length-in-points +Returns the size, in points, of a specified length + + +Description + +The length-in-points template converts a length +specification to points and returns that value as an unqualified +number. + + + +There is no way for the template to infer the size of an +em. It relies on the default em.size +which is initially 10 (for 10pt). + +Similarly, converting pixesl to points relies on the +pixels.per.inch parameter which is initially +90. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unrecognized unit of measure: + + . + + + + + + + + + + + + + +pi-attribute +Extract a pseudo-attribute from a PI + + +Description + +The pi-attribute template extracts a pseudo-attribute +from a processing instruction. For example, given the PI +<?foo bar="1" baz='red'?>, + + + +]]> +will return red. This template returns the first matching +attribute that it finds. Presented with processing instructions that +contain badly formed pseudo-attributes (missing or unbalanced quotes, +for example), the template may silently return erroneous results. + + + + + filename + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +lookup.key +Retrieve the value associated with a particular key in a table + + +Description + +Given a table of space-delimited key/value pairs, +the lookup.key template extracts the value associated +with a particular key. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +xpath.location +Calculate the XPath child-sequence to the current node + + +Description + +The xpath.location template calculates the +absolute path from the root of the tree to the current element node. + + + + + + + + + + / + + + + + + + + + + + + / + + + + + + + + + + + + +Relative URI Functions + +Introduction + +These functions manipulate relative URI references. + +The following assumptions must hold true: + + + +All URIs are relative. + + +No URI contains the ../ sequence +which would effectively move up the hierarchy. + + + +If these assumptions do not hold, the results are unpredictable. + + + + + +count.uri.path.depth +Count the number of path components in a relative URI + + +Description + +This function counts the number of path components in a relative URI. + + + + + + + + + + + + + + + + + + + + + + + + + +trim.common.uri.paths +Trim common leading path components from a relative URI + + +Description + +This function trims common leading path components from a relative URI. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The Stylesheet + +The lib.xsl stylesheet is just a wrapper +around these functions. + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/params/ChangeLog b/rosdocs/xsl/params/ChangeLog new file mode 100644 index 0000000..ea5d876 --- /dev/null +++ b/rosdocs/xsl/params/ChangeLog @@ -0,0 +1,227 @@ +2002-05-24 + + * callout.unicode.number.limit.xml, callout.unicode.start.character.xml: + Updating docs. + +2002-05-23 Norman Walsh + + * use.svg.xml: New file. + +2002-05-14 Michael Smith + + * generate.manifest.xml, manifest.xml: added descriptions + +2002-05-13 Norman Walsh + + * compact.list.item.spacing.xml: New file. + + * html.extra.head.links.xml: New file. + +2002-05-10 Jirka Kosek + + * generate.manifest.xml, manifest.xml: New file. + +2002-05-10 Norman Walsh + + * points.per.em.xml: New file. + + * using.chunker.xml: Obsolete parameter + +2002-04-20 Norman Walsh + + * generate.toc.xml: Improve documentation + + * shade.verbatim.style.xml: Support shade.verbatim in FO; stop using vendor test to decide what extension function to call for line numbering + + * verbatim.properties.xml: Whitespace + +2002-03-18 Norman Walsh + + * emphasis.propagates.style.xml: Whitespace + + * generate.appendix.toc.xml, generate.article.toc.xml, generate.book.equation.lot.xml, generate.book.example.lot.xml, generate.book.figure.lot.xml, generate.book.table.lot.xml, generate.book.toc.xml, generate.chapter.toc.xml, generate.component.toc.xml, generate.division.equation.lot.xml, generate.division.example.lot.xml, generate.division.figure.lot.xml, generate.division.table.lot.xml, generate.division.toc.xml, generate.part.toc.xml, generate.preface.toc.xml, generate.qandadiv.toc.xml, generate.qandaset.toc.xml, generate.reference.toc.xml, generate.section.toc.xml, generate.set.toc.xml, generate.toc.xml: + Replace generate.*.toc and generate.*.lot with single generate.toc parameter. + +2002-03-14 Norman Walsh + + * formal.procedures.xml: Fixed typos + + * formal.title.placement.xml: New file. + +2002-03-10 Norman Walsh + + * generate.id.attributes.xml: New file. + +2002-03-03 Jirka Kosek + + * profile.arch.xml, profile.attribute.xml, profile.condition.xml, profile.conformance.xml, profile.lang.xml, profile.os.xml, profile.revision.xml, profile.revisionflag.xml, profile.role.xml, profile.security.xml, profile.separator.xml, profile.userlevel.xml, profile.value.xml, profile.vendor.xml: + New file. + +2002-03-01 Norman Walsh + + * blockquote.properties.xml: Added space-after properties to blockquotes + + * formal.title.properties.xml: Added space-after properties + + * stylesheet.result.type.xml: Move stylesheet.result.type out of param and put it explicitly in each stylesheet because it has to be different + + * table.cell.padding.xml: New file. + + * ulink.hyphenate.xml: Make ulink hyphenation character the empty string by default + +2002-02-25 Robert Stayton + + * chunk.quietly.xml: New file. + +2002-02-21 Jirka Kosek + + * tex.math.delims.xml, tex.math.file.xml, tex.math.in.alt.xml: + Better control over delimiters for TeX equations. Added parameter tex.math.delims, when is set to 0, no delimiters (like $ and $$) are output. Same can be done for single equation by . + +2002-02-11 Norman Walsh + + * column.count.of.index.xml: New file. + +2002-02-10 Jirka Kosek + + * htmlhelp.default.topic.xml: New file. + +2002-02-09 Jirka Kosek + + * htmlhelp.hhc.show.root.xml: New file. + +2002-02-07 Norman Walsh + + * chunk.toc.xml, manual.toc.xml: New file. + + * informal.object.properties.xml: New file. + +2002-02-03 Jirka Kosek + + * htmlhelp.title.xml: New file. + +2002-01-29 Norman Walsh + + * draft.watermark.image.xml: New file. + +2002-01-28 Norman Walsh + + * html.cleanup.xml, make.valid.html.xml: Added html.cleanup parameter; if non-zero, do some post-processing of RTFs to improve formatting + + * ulink.hyphenate.xml: New file. + +2002-01-22 Jirka Kosek + + * htmlhelp.hhc.folders.instead.books.xml: New file. + +2002-01-10 Norman Walsh + + * body.margin.bottom.xml, body.margin.top.xml, page.margin.bottom.xml, page.margin.outer.xml, page.margin.top.xml, page.width.xml, region.after.extent.xml, region.before.extent.xml: + Rationalize margins; see new docs in the FO section + + * formal.object.properties.xml: Removed bogus keep + + * pixels.per.inch.xml: New file. + + * ulink.footnotes.xml, ulink.show.xml: New file. + +2002-01-06 Norman Walsh + + * bibliography.collection.xml, glossary.collection.xml: + Added documentation + +2002-01-04 Norman Walsh + + * firstterm.only.link.xml, glossary.collection.xml: New file. + +2002-01-03 Norman Walsh + + * format.variablelist.as.list.xml, variablelist.as.table.xml: + Renamed format.variablelist.as.table to variablelist.as.table + + * variablelist.as.blocks.xml: New file. + + * variablelist.as.table.xml: Fixed doc typos + +2002-01-01 Norman Walsh + + * blockquote.properties.xml, make.valid.html.xml, output.method.xml, refentry.generate.name.xml, refentry.generate.title.xml: + New and updated parameters + +2001-12-15 Jirka Kosek + + * tex.math.in.alt.xml: Improved support for TeX math inside equations. + +2001-12-06 Jirka Kosek + + * tex.math.file.xml, tex.math.in.alt.xml: New file. + +2001-12-04 Norman Walsh + + * admonition.properties.xml: New file. + + * admonition.title.properties.xml, chunk.first.sections.xml, chunk.section.depth.xml, line-height.xml: + New parameters + + * toc.indent.width.xml: New file. + +2001-11-28 Jirka Kosek + + * htmlhelp.alias.file.xml, htmlhelp.force.map.and.alias.xml, htmlhelp.map.file.xml: + New file. + + * htmlhelp.hhc.section.depth.xml: New file. + +2001-11-28 Norman Walsh + + * punct.honorific.xml: New file. + + * segmentedlist.as.table.xml: New file. + +2001-11-18 Jirka Kosek + + * glossterm.auto.link.xml: New file. + +2001-11-09 Norman Walsh + + * admon.graphics.extension.xml, admon.graphics.path.xml, admon.graphics.xml, admon.style.xml, admonition.title.properties.xml, alignment.xml, annotate.toc.xml, appendix.autolabel.xml, arbortext.extensions.xml, author.othername.in.middle.xml, autotoc.label.separator.xml, base.dir.xml, biblioentry.item.separator.xml, bibliography.collection.xml, body.font.family.xml, body.font.master.xml, body.font.size.xml, body.margin.bottom.xml, body.margin.top.xml, bridgehead.in.toc.xml, callout.defaultcolumn.xml, callout.graphics.extension.xml, callout.graphics.number.limit.xml, callout.graphics.path.xml, callout.graphics.xml, callout.list.table.xml, callout.unicode.font.xml, callout.unicode.number.limit.xml, callout.unicode.start.character.xml, callout.unicode.xml, callouts.extension.xml, chapter.autolabel.xml, chunk.datafile.xml, chunk.first.sections.xml, chunk.sections.xml, citerefentry.link.xml, column.count.xml, component.title.properties.xml, css.decoration.xml, default.encoding.xml, default.table.width.xml, default.units.xml, dingbat.font.family.xml, double.sided.xml, ebnf.table.bgcolor.xml, ebnf.table.border.xml, emphasis.propagates.style.xml, footnote.font.size.xml, fop.extensions.xml, formal.object.properties.xml, formal.procedures.xml, formal.title.properties.xml, format.variablelist.as.list.xml, funcsynopsis.decoration.xml, funcsynopsis.style.xml, function.parens.xml, generate.appendix.toc.xml, generate.article.toc.xml, generate.book.equation.lot.xml, generate.book.example.lot.xml, generate.book.figure.lot.xml, generate.book.table.lot.xml, generate.book.toc.xml, generate.chapter.toc.xml, generate.component.toc.xml, generate.division.equation.lot.xml, generate.division.example.lot.xml, generate.division.figure.lot.xml, generate.division.table.lot.xml, generate.division.toc.xml, generate.index.xml, generate.legalnotice.link.xml, generate.part.toc.xml, generate.preface.toc.xml, generate.qandadiv.toc.xml, generate.qandaset.toc.xml, generate.reference.toc.xml, generate.section.toc.level.xml, generate.section.toc.xml, generate.set.toc.xml, graphic.default.extension.xml, html.base.xml, html.ext.xml, html.longdesc.link.xml, html.longdesc.xml, html.stylesheet.type.xml, html.stylesheet.xml, htmlhelp.autolabel.xml, htmlhelp.chm.xml, htmlhelp.encoding.xml, htmlhelp.enumerate.images.xml, htmlhelp.hhc.xml, htmlhelp.hhp.tail.xml, htmlhelp.hhp.xml, hyphenate.xml, inherit.keywords.xml, insert.xref.page.number.xml, label.from.part.xml, linenumbering.everyNth.xml, linenumbering.extension.xml, linenumbering.separator.xml, linenumbering.width.xml, link.mailto.url.xml, list.block.spacing.xml, list.item.spacing.xml, make.single.year.ranges.xml, make.year.ranges.xml, monospace.font.family.xml, monospace.verbatim.properties.xml, navig.graphics.extension.xml, navig.graphics.path.xml, navig.graphics.xml, navig.showtitles.xml, nominal.table.width.xml, normal.para.spacing.xml, olink.fragid.xml, olink.outline.ext.xml, olink.pubid.xml, olink.resolver.xml, olink.sysid.xml, page.height.portrait.xml, page.height.xml, page.margin.bottom.xml, page.margin.inner.xml, page.margin.outer.xml, page.margin.top.xml, page.orientation.xml, page.width.portrait.xml, page.width.xml, paper.type.xml, part.autolabel.xml, passivetex.extensions.xml, phrase.propagates.style.xml, preface.autolabel.xml, process.empty.source.toc.xml, process.source.toc.xml, qanda.defaultlabel.xml, qanda.inherit.numeration.xml, qandadiv.autolabel.xml, refentry.generate.name.xml, refentry.separator.xml, refentry.xref.manvolnum.xml, region.after.extent.xml, region.before.extent.xml, root.filename.xml, rootid.xml, runinhead.default.title.end.punct.xml, runinhead.title.end.punct.xml, sans.font.family.xml, saxon.callouts.xml, saxon.character.representation.xml, saxon.linenumbering.xml, saxon.tablecolumns.xml, section.autolabel.xml, section.label.includes.component.label.xml, shade.verbatim.style.xml, shade.verbatim.xml, show.comments.xml, show.revisionflag.xml, spacing.paras.xml, stylesheet.result.type.xml, suppress.navigation.xml, table.border.color.xml, table.border.padding.xml, table.border.style.xml, table.border.thickness.xml, table.borders.with.css.xml, table.entry.padding.xml, tablecolumns.extension.xml, template.xml, textinsert.extension.xml, title.font.family.xml, title.margin.left.xml, toc.list.type.xml, toc.margin.properties.xml, toc.section.depth.xml, ulink.target.xml, use.extensions.xml, use.id.as.filename.xml, use.id.function.xml, using.chunker.xml, verbatim.properties.xml, xep.extensions.xml, xref.properties.xml: + Move the obvious ID value from the src:fragment to the refentry in parameter reference pages + +2001-11-06 Norman Walsh + + * admonition.title.properties.xml, autotoc.label.separator.xml, body.margin.top.xml, callout.unicode.xml, component.title.properties.xml, formal.object.properties.xml, formal.title.properties.xml, generate.appendix.toc.xml, generate.article.toc.xml, generate.book.equation.lot.xml, generate.book.example.lot.xml, generate.book.figure.lot.xml, generate.book.table.lot.xml, generate.book.toc.xml, generate.chapter.toc.xml, generate.index.xml, generate.part.toc.xml, generate.preface.toc.xml, generate.reference.toc.xml, generate.set.toc.xml, list.block.spacing.xml, list.item.spacing.xml, monospace.verbatim.properties.xml: + Documentation improvements from Dave Pawson + +2001-11-06 Robert Stayton + + * navig.graphics.extension.xml, navig.graphics.path.xml, navig.graphics.xml, navig.showtitles.xml: + New file. + +2001-11-06 Norman Walsh + + * normal.para.spacing.xml: Documentation improvements from Dave Pawson + +2001-11-05 Jirka Kosek + + * htmlhelp.autolabel.xml, htmlhelp.chm.xml, htmlhelp.encoding.xml, htmlhelp.enumerate.images.xml, htmlhelp.hhc.xml, htmlhelp.hhp.tail.xml, htmlhelp.hhp.xml: + New file. + +2001-10-16 Norman Walsh + + * html.longdesc.link.xml, html.longdesc.xml: New file. + +2001-10-15 Norman Walsh + + * table.borders.with.css.xml, table.entry.padding.xml: + New file. + +2001-10-08 Norman Walsh + + * table.border.color.xml, table.border.padding.xml, table.border.style.xml, table.border.thickness.xml, template.xml, title.margin.left.xml: + New params for FOs + +2001-10-07 Norman Walsh + + * admon.graphics.extension.xml, admon.graphics.path.xml, admon.graphics.xml, admon.style.xml, admonition.title.properties.xml, alignment.xml, annotate.toc.xml, appendix.autolabel.xml, arbortext.extensions.xml, author.othername.in.middle.xml, autotoc.label.separator.xml, base.dir.xml, biblioentry.item.separator.xml, bibliography.collection.xml, body.font.family.xml, body.font.master.xml, body.font.size.xml, body.margin.bottom.xml, body.margin.top.xml, bridgehead.in.toc.xml, callout.defaultcolumn.xml, callout.graphics.extension.xml, callout.graphics.number.limit.xml, callout.graphics.path.xml, callout.graphics.xml, callout.list.table.xml, callout.unicode.font.xml, callout.unicode.number.limit.xml, callout.unicode.start.character.xml, callout.unicode.xml, callouts.extension.xml, chapter.autolabel.xml, chunk.datafile.xml, chunk.first.sections.xml, chunk.sections.xml, citerefentry.link.xml, column.count.xml, component.title.properties.xml, css.decoration.xml, default.encoding.xml, default.table.width.xml, default.units.xml, dingbat.font.family.xml, double.sided.xml, ebnf.table.bgcolor.xml, ebnf.table.border.xml, emphasis.propagates.style.xml, footnote.font.size.xml, fop.extensions.xml, formal.object.properties.xml, formal.procedures.xml, formal.title.properties.xml, format.variablelist.as.list.xml, funcsynopsis.decoration.xml, funcsynopsis.style.xml, function.parens.xml, generate.appendix.toc.xml, generate.article.toc.xml, generate.book.equation.lot.xml, generate.book.example.lot.xml, generate.book.figure.lot.xml, generate.book.table.lot.xml, generate.book.toc.xml, generate.chapter.toc.xml, generate.component.toc.xml, generate.division.equation.lot.xml, generate.division.example.lot.xml, generate.division.figure.lot.xml, generate.division.table.lot.xml, generate.division.toc.xml, generate.index.xml, generate.legalnotice.link.xml, generate.part.toc.xml, generate.preface.toc.xml, generate.qandadiv.toc.xml, generate.qandaset.toc.xml, generate.reference.toc.xml, generate.section.toc.level.xml, generate.section.toc.xml, generate.set.toc.xml, graphic.default.extension.xml, html.base.xml, html.ext.xml, html.stylesheet.type.xml, html.stylesheet.xml, hyphenate.xml, inherit.keywords.xml, insert.xref.page.number.xml, label.from.part.xml, linenumbering.everyNth.xml, linenumbering.extension.xml, linenumbering.separator.xml, linenumbering.width.xml, link.mailto.url.xml, list.block.spacing.xml, list.item.spacing.xml, make.single.year.ranges.xml, make.year.ranges.xml, monospace.font.family.xml, monospace.verbatim.properties.xml, nominal.table.width.xml, normal.para.spacing.xml, olink.fragid.xml, olink.outline.ext.xml, olink.pubid.xml, olink.resolver.xml, olink.sysid.xml, page.height.portrait.xml, page.height.xml, page.margin.bottom.xml, page.margin.inner.xml, page.margin.outer.xml, page.margin.top.xml, page.orientation.xml, page.width.portrait.xml, page.width.xml, paper.type.xml, part.autolabel.xml, passivetex.extensions.xml, phrase.propagates.style.xml, preface.autolabel.xml, process.empty.source.toc.xml, process.source.toc.xml, qanda.defaultlabel.xml, qanda.inherit.numeration.xml, qandadiv.autolabel.xml, refentry.generate.name.xml, refentry.separator.xml, refentry.xref.manvolnum.xml, region.after.extent.xml, region.before.extent.xml, root.filename.xml, rootid.xml, runinhead.default.title.end.punct.xml, runinhead.title.end.punct.xml, sans.font.family.xml, saxon.callouts.xml, saxon.character.representation.xml, saxon.linenumbering.xml, saxon.tablecolumns.xml, section.autolabel.xml, section.label.includes.component.label.xml, shade.verbatim.style.xml, shade.verbatim.xml, show.comments.xml, show.revisionflag.xml, spacing.paras.xml, stylesheet.result.type.xml, suppress.navigation.xml, tablecolumns.extension.xml, template.xml, textinsert.extension.xml, title.font.family.xml, toc.list.type.xml, toc.margin.properties.xml, toc.section.depth.xml, ulink.target.xml, use.extensions.xml, use.id.as.filename.xml, use.id.function.xml, using.chunker.xml, verbatim.properties.xml, xep.extensions.xml, xref.properties.xml: + New file. + diff --git a/rosdocs/xsl/params/admon.graphics.extension.xml b/rosdocs/xsl/params/admon.graphics.extension.xml new file mode 100644 index 0000000..3eb973f --- /dev/null +++ b/rosdocs/xsl/params/admon.graphics.extension.xml @@ -0,0 +1,20 @@ + + +admon.graphics.extension +string + + +admon.graphics.extension +Extension for admonition graphics + + + + + + +Description + +Sets the extension to use on admonition graphics. + + + diff --git a/rosdocs/xsl/params/admon.graphics.path.xml b/rosdocs/xsl/params/admon.graphics.path.xml new file mode 100644 index 0000000..a0df85b --- /dev/null +++ b/rosdocs/xsl/params/admon.graphics.path.xml @@ -0,0 +1,22 @@ + + +admon.graphics.path +string + + +admon.graphics.path +Path to admonition graphics + + + +images/ + + +Description + +Sets the path, probably relative to the directory where the HTML +files are created, to the admonition graphics. + + + + diff --git a/rosdocs/xsl/params/admon.graphics.xml b/rosdocs/xsl/params/admon.graphics.xml new file mode 100644 index 0000000..8cf45f5 --- /dev/null +++ b/rosdocs/xsl/params/admon.graphics.xml @@ -0,0 +1,22 @@ + + +admon.graphics +boolean + + +admon.graphics +Use graphics in admonitions? + + + + + + +Description + +If true (non-zero), admonitions are presented in an alternate style that uses +a graphic. Default graphics are provided in the distribution. + + + + diff --git a/rosdocs/xsl/params/admon.style.xml b/rosdocs/xsl/params/admon.style.xml new file mode 100644 index 0000000..a49c7f3 --- /dev/null +++ b/rosdocs/xsl/params/admon.style.xml @@ -0,0 +1,24 @@ + + +admon.style +string + + +admon.style +CSS style attributes for admonitions + + + + + margin-left: 0.5in; margin-right: 0.5in; + + + +Description + +Specifies the value of the STYLE +attribute that should be added to admonitions. + + + + diff --git a/rosdocs/xsl/params/admonition.properties.xml b/rosdocs/xsl/params/admonition.properties.xml new file mode 100644 index 0000000..09e3c29 --- /dev/null +++ b/rosdocs/xsl/params/admonition.properties.xml @@ -0,0 +1,16 @@ + + +admonition.properties +To set the style for admonitions. + + + + + + +Description +How do you want admonitions styled? +Set the font-size, weight etc to the style required + + + diff --git a/rosdocs/xsl/params/admonition.title.properties.xml b/rosdocs/xsl/params/admonition.title.properties.xml new file mode 100644 index 0000000..0cb240d --- /dev/null +++ b/rosdocs/xsl/params/admonition.title.properties.xml @@ -0,0 +1,20 @@ + + +admonition.title.properties +To set the style for admonitions titles. + + + + + 14pt + bold + false + always + + +Description +How do you want admonitions titles styled? +Set the font-size, weight etc to the style required + + + diff --git a/rosdocs/xsl/params/alignment.xml b/rosdocs/xsl/params/alignment.xml new file mode 100644 index 0000000..ab304dc --- /dev/null +++ b/rosdocs/xsl/params/alignment.xml @@ -0,0 +1,21 @@ + + +alignment + + + +alignment +Specify the default text alignment + + + +justify + + +Description + +The default text alignment is used for most body text. + + + + diff --git a/rosdocs/xsl/params/annotate.toc.xml b/rosdocs/xsl/params/annotate.toc.xml new file mode 100644 index 0000000..a6dec4a --- /dev/null +++ b/rosdocs/xsl/params/annotate.toc.xml @@ -0,0 +1,23 @@ + + +annotate.toc +boolean + + +annotate.toc +Annotate the Table of Contents? + + + + + + +Description + +If true, TOCs will be annotated. At present, this just means +that the RefPurpose of RefEntry +TOC entries will be displayed. + + + + diff --git a/rosdocs/xsl/params/appendix.autolabel.xml b/rosdocs/xsl/params/appendix.autolabel.xml new file mode 100644 index 0000000..08195a0 --- /dev/null +++ b/rosdocs/xsl/params/appendix.autolabel.xml @@ -0,0 +1,22 @@ + + +appendix.autolabel +boolean + + +appendix.autolabel +Are Appendixes automatically enumerated? + + + + + + +Description + +If true (non-zero), unlabeled appendixes will be +enumerated. + + + + diff --git a/rosdocs/xsl/params/arbortext.extensions.xml b/rosdocs/xsl/params/arbortext.extensions.xml new file mode 100644 index 0000000..a956693 --- /dev/null +++ b/rosdocs/xsl/params/arbortext.extensions.xml @@ -0,0 +1,23 @@ + + +arbortext.extensions +boolean + + +arbortext.extensions +Enable Arbortext extensions? + + + + + + +Description + +If non-zero, +Arbortext +extensions will be used. + + + + diff --git a/rosdocs/xsl/params/author.othername.in.middle.xml b/rosdocs/xsl/params/author.othername.in.middle.xml new file mode 100644 index 0000000..6030022 --- /dev/null +++ b/rosdocs/xsl/params/author.othername.in.middle.xml @@ -0,0 +1,25 @@ + + +author.othername.in.middle +boolean + + +author.othername.in.middle +Is othername in author a +middle name? + + + + + + +Description + +If true (non-zero), the othername of an author +appears between the firstname and +surname. Otherwise, othername +is suppressed. + + + + diff --git a/rosdocs/xsl/params/autotoc.label.separator.xml b/rosdocs/xsl/params/autotoc.label.separator.xml new file mode 100644 index 0000000..20a8f00 --- /dev/null +++ b/rosdocs/xsl/params/autotoc.label.separator.xml @@ -0,0 +1,20 @@ + + +autotoc.label.separator +string + + +autotoc.label.separator +Separator between labels and titles in the ToC + + + + + + +Description + +String to use to seperate labels and title in a table of contents. + + + diff --git a/rosdocs/xsl/params/base.dir.xml b/rosdocs/xsl/params/base.dir.xml new file mode 100644 index 0000000..704e91c --- /dev/null +++ b/rosdocs/xsl/params/base.dir.xml @@ -0,0 +1,22 @@ + + +base.dir + + + +base.dir +The base directory of chunks + + + + + + +Description + +If specified, the base.dir identifies +the output directory for chunks. (If not specified, the output directory +is system dependent.) + + + diff --git a/rosdocs/xsl/params/biblioentry.item.separator.xml b/rosdocs/xsl/params/biblioentry.item.separator.xml new file mode 100644 index 0000000..0146e69 --- /dev/null +++ b/rosdocs/xsl/params/biblioentry.item.separator.xml @@ -0,0 +1,21 @@ + + +biblioentry.item.separator +string + + +biblioentry.item.separator +Text to separate bibliography entries + + + +. + + +Description + +Text to separate bibliography entries + + + + diff --git a/rosdocs/xsl/params/bibliography.collection.xml b/rosdocs/xsl/params/bibliography.collection.xml new file mode 100644 index 0000000..2e69e7d --- /dev/null +++ b/rosdocs/xsl/params/bibliography.collection.xml @@ -0,0 +1,96 @@ + + +bibliography.collection +string + + +bibliography.collection +Name of the bibliography collection file + + + + + + +Description + +Maintaining bibliography entries across a set of documents is tedious, time +consuming, and error prone. It makes much more sense, usually, to store all of +the bibliography entries in a single place and simply extract +the ones you need in each document. + +That's the purpose of the +bibliography.collection parameter. To setup a global +bibliography database, follow these steps: + +First, create a stand-alone bibliography document that contains all of +the documents that you wish to reference. Make sure that each bibliography +entry (whether you use biblioentry or bibliomixed) +has an ID. + +My global bibliography, ~/bibliography.xml begins +like this: + + + +References + +XML 1.0Tim Bray, +Jean Paoli, C. M. Sperberg-McQueen, and Eve Maler, editors. +Extensible Markup +Language (XML) 1.0 Second Edition. +World Wide Web Consortium, 2000. + + +NamespacesTim Bray, +Dave Hollander, +and Andrew Layman, editors. +Namespaces in +XML. +World Wide Web Consortium, 1999. + + + + +]]> + + +When you create a bibliography in your document, simply +provide empty bibliomixed +entries for each document that you wish to cite. Make sure that these +elements have the same ID as the corresponding real +entry in your global bibliography. + +For example: + + +Bibliography + + + +Donald E. Knuth. Computers and +Typesetting: Volume B, TeX: The Program. Addison-Wesley, +1986. ISBN 0-201-13437-3. + + + +]]> + + +Note that it's perfectly acceptable to mix entries from your +global bibliography with normal entries. You can use +xref or other elements to cross-reference your +bibliography entries in exactly the same way you do now. + +Finally, when you are ready to format your document, simply set the +bibliography.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global bibliography. + +The stylesheets will format the bibliography in your document as if +all of the entries referenced appeared there literally. + + + diff --git a/rosdocs/xsl/params/blockquote.properties.xml b/rosdocs/xsl/params/blockquote.properties.xml new file mode 100644 index 0000000..1803adb --- /dev/null +++ b/rosdocs/xsl/params/blockquote.properties.xml @@ -0,0 +1,25 @@ + + +blockquote.properties +To set the style for block quotations. + + + + + +0.5in +0.5in +0.5em +1em +2em + + + + +Description + +The blockquote.properties attribute set specifies +the formating properties of block quotations. + + + diff --git a/rosdocs/xsl/params/body.font.family.xml b/rosdocs/xsl/params/body.font.family.xml new file mode 100644 index 0000000..2fca74d --- /dev/null +++ b/rosdocs/xsl/params/body.font.family.xml @@ -0,0 +1,21 @@ + + +body.font.family + + + +body.font.family +The default font family for body text + + + +Times Roman + + +Description + +The body font family is the default font used for text in the page body. + + + + diff --git a/rosdocs/xsl/params/body.font.master.xml b/rosdocs/xsl/params/body.font.master.xml new file mode 100644 index 0000000..4df511b --- /dev/null +++ b/rosdocs/xsl/params/body.font.master.xml @@ -0,0 +1,23 @@ + + +body.font.master + + + +body.font.master +Specifies the default point size for body text + + + +10 + + +Description + +The body font size is specified in two parameters +(body.font.master and body.font.size) +so that math can be performed on the font size by XSLT. + + + + diff --git a/rosdocs/xsl/params/body.font.size.xml b/rosdocs/xsl/params/body.font.size.xml new file mode 100644 index 0000000..56134c8 --- /dev/null +++ b/rosdocs/xsl/params/body.font.size.xml @@ -0,0 +1,25 @@ + + +body.font.size + + + +body.font.size +Specifies the default font size for body text + + + + + pt + + + +Description + +The body font size is specified in two parameters +(body.font.master and body.font.size) +so that math can be performed on the font size by XSLT. + + + + diff --git a/rosdocs/xsl/params/body.margin.bottom.xml b/rosdocs/xsl/params/body.margin.bottom.xml new file mode 100644 index 0000000..5857ffd --- /dev/null +++ b/rosdocs/xsl/params/body.margin.bottom.xml @@ -0,0 +1,24 @@ + + +body.margin.bottom + + + +body.margin.bottom +The bottom margin of the body text + + + + +0.5in + + + +Description + +The body bottom margin is the distance from the last line of text +in the page body to the bottom of the region-after. + + + + diff --git a/rosdocs/xsl/params/body.margin.top.xml b/rosdocs/xsl/params/body.margin.top.xml new file mode 100644 index 0000000..e2465b8 --- /dev/null +++ b/rosdocs/xsl/params/body.margin.top.xml @@ -0,0 +1,24 @@ + + +body.margin.top + + + +body.margin.top +To specify the size of the top margin of a page + + + + +1in + + + +Description + +The body top margin is the distance from the top of the region-before +to the first line of text in the page body. + + + + diff --git a/rosdocs/xsl/params/bridgehead.in.toc.xml b/rosdocs/xsl/params/bridgehead.in.toc.xml new file mode 100644 index 0000000..4fbc4f6 --- /dev/null +++ b/rosdocs/xsl/params/bridgehead.in.toc.xml @@ -0,0 +1,23 @@ + + +bridgehead.in.toc +boolean + + +bridgehead.in.toc +Should bridgehead elements appear in the TOC? + + + + + + +Description + +If non-zero, bridgeheads appear in the TOC. Note that this option +is not fully supported and may be removed in a future version of the +stylesheets. + + + + diff --git a/rosdocs/xsl/params/callout.defaultcolumn.xml b/rosdocs/xsl/params/callout.defaultcolumn.xml new file mode 100644 index 0000000..059a5e5 --- /dev/null +++ b/rosdocs/xsl/params/callout.defaultcolumn.xml @@ -0,0 +1,23 @@ + + +callout.defaultcolumn +integer + + +callout.defaultcolumn +Indicates what column callouts appear in by default + + + + + + +Description + +If a callout does not identify a column (for example, if it uses +the linerange unit), +it will appear in the default column. + + + + diff --git a/rosdocs/xsl/params/callout.graphics.extension.xml b/rosdocs/xsl/params/callout.graphics.extension.xml new file mode 100644 index 0000000..4503569 --- /dev/null +++ b/rosdocs/xsl/params/callout.graphics.extension.xml @@ -0,0 +1,20 @@ + + +callout.graphics.extension +string + + +callout.graphics.extension +Extension for callout graphics + + + + + + +Description + +Sets the extension to use on callout graphics. + + + diff --git a/rosdocs/xsl/params/callout.graphics.number.limit.xml b/rosdocs/xsl/params/callout.graphics.number.limit.xml new file mode 100644 index 0000000..16559ca --- /dev/null +++ b/rosdocs/xsl/params/callout.graphics.number.limit.xml @@ -0,0 +1,28 @@ + + +callout.graphics.number.limit +integer + + +callout.graphics.number.limit +Number of the largest callout graphic + + + + + + +Description + +If callout.graphics +is non-zero, graphics are used to represent +callout numbers. The value of +callout.graphics.number.limit +is +the largest number for which a graphic exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. + + + + diff --git a/rosdocs/xsl/params/callout.graphics.path.xml b/rosdocs/xsl/params/callout.graphics.path.xml new file mode 100644 index 0000000..4030b4d --- /dev/null +++ b/rosdocs/xsl/params/callout.graphics.path.xml @@ -0,0 +1,22 @@ + + +callout.graphics.path +string + + +callout.graphics.path +Path to callout graphics + + + + + + +Description + +Sets the path, probably relative to the directory where the HTML +files are created, to the callout graphics. + + + + diff --git a/rosdocs/xsl/params/callout.graphics.xml b/rosdocs/xsl/params/callout.graphics.xml new file mode 100644 index 0000000..358bd2e --- /dev/null +++ b/rosdocs/xsl/params/callout.graphics.xml @@ -0,0 +1,23 @@ + + +callout.graphics +boolean + + +callout.graphics +Use graphics for callouts? + + + + + + +Description + +If non-zero, callouts are presented with graphics (e.g., reverse-video +circled numbers instead of "(1)", "(2)", etc.). +Default graphics are provided in the distribution. + + + + diff --git a/rosdocs/xsl/params/callout.list.table.xml b/rosdocs/xsl/params/callout.list.table.xml new file mode 100644 index 0000000..bbfcb7a --- /dev/null +++ b/rosdocs/xsl/params/callout.list.table.xml @@ -0,0 +1,25 @@ + + +callout.list.table +boolean + + +callout.list.table +Present callout lists using a table? + + + + + + +Description + +The default presentation of CalloutLists uses +an HTML DL. Some browsers don't align DLs very well +if callout.graphics are used. With this option +turned on, CalloutLists are presented in an HTML +TABLE, which usually results in better alignment +of the callout number with the callout description. + + + diff --git a/rosdocs/xsl/params/callout.unicode.font.xml b/rosdocs/xsl/params/callout.unicode.font.xml new file mode 100644 index 0000000..efcbdd0 --- /dev/null +++ b/rosdocs/xsl/params/callout.unicode.font.xml @@ -0,0 +1,22 @@ + + +callout.unicode.font + + + +callout.unicode.font +Specify a font for Unicode glyphs + + + + + + +Description + +The name of the font to specify around Unicode callout glyphs. +If set to the empty string, no font change will occur. + + + + diff --git a/rosdocs/xsl/params/callout.unicode.number.limit.xml b/rosdocs/xsl/params/callout.unicode.number.limit.xml new file mode 100644 index 0000000..f02ae3d --- /dev/null +++ b/rosdocs/xsl/params/callout.unicode.number.limit.xml @@ -0,0 +1,28 @@ + + +callout.unicode.number.limit +integer + + +callout.unicode.number.limit +Number of the largest callout graphic + + + + + + +Description + +If callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.number.limit +is +the largest number for which a unicode character exists. If the callout number +exceeds this limit, the default presentation "(nnn)" will always +be used. + + + + diff --git a/rosdocs/xsl/params/callout.unicode.start.character.xml b/rosdocs/xsl/params/callout.unicode.start.character.xml new file mode 100644 index 0000000..6423eb5 --- /dev/null +++ b/rosdocs/xsl/params/callout.unicode.start.character.xml @@ -0,0 +1,26 @@ + + +callout.unicode.start.character +integer + + +callout.unicode.start.character +First Unicode character to use, decimal value. + + + + + + +Description + +If callout.graphics is zero and callout.unicode +is non-zero, unicode characters are used to represent +callout numbers. The value of +callout.unicode.start.character +is the decimal unicode value used for callout number one. Currently, +only 10102 is supported in the stylesheets for this parameter. + + + + diff --git a/rosdocs/xsl/params/callout.unicode.xml b/rosdocs/xsl/params/callout.unicode.xml new file mode 100644 index 0000000..f0a00b0 --- /dev/null +++ b/rosdocs/xsl/params/callout.unicode.xml @@ -0,0 +1,21 @@ + + +callout.unicode +boolean + + +callout.unicode +Use Unicode characters rather than images for callouts. + + + + + + +Description + +The stylesheets can use either an image of the numbers one to ten, or the single Unicode character which represents the numeral, in white on a black background. Use this to select the Unicode character option. + + + + diff --git a/rosdocs/xsl/params/callouts.extension.xml b/rosdocs/xsl/params/callouts.extension.xml new file mode 100644 index 0000000..8480870 --- /dev/null +++ b/rosdocs/xsl/params/callouts.extension.xml @@ -0,0 +1,23 @@ + + +callouts.extension +boolean + + +callouts.extension +Enable the callout extension + + + + + + +Description + +The callouts extension processes areaset +elements in ProgramListingCO and other text-based +callout elements. + + + + diff --git a/rosdocs/xsl/params/chapter.autolabel.xml b/rosdocs/xsl/params/chapter.autolabel.xml new file mode 100644 index 0000000..309e618 --- /dev/null +++ b/rosdocs/xsl/params/chapter.autolabel.xml @@ -0,0 +1,21 @@ + + +chapter.autolabel +boolean + + +chapter.autolabel +Are chapters automatically enumerated? + + + + + + +Description + +If true (non-zero), unlabeled chapters will be enumerated. + + + + diff --git a/rosdocs/xsl/params/chunk.datafile.xml b/rosdocs/xsl/params/chunk.datafile.xml new file mode 100644 index 0000000..74c0c28 --- /dev/null +++ b/rosdocs/xsl/params/chunk.datafile.xml @@ -0,0 +1,25 @@ + + +chunk.datafile + + + +chunk.datafile +Name of the temporary file used to hold chunking data + + + + + + + + +Description + +Chunking is now a two-step process. The +chunk.datafile is the name of the file used to +hold the chunking data. + + + + diff --git a/rosdocs/xsl/params/chunk.first.sections.xml b/rosdocs/xsl/params/chunk.first.sections.xml new file mode 100644 index 0000000..f1f9a0a --- /dev/null +++ b/rosdocs/xsl/params/chunk.first.sections.xml @@ -0,0 +1,26 @@ + + +chunk.first.sections + + + +chunk.first.sections +Chunk the first top-level section? + + + + + + + + +Description + +If non-zero, a chunk will be created for the first top-level +sect1 or section elements in +each component. Otherwise, that section will be part of the chunk for +its parent. + + + + diff --git a/rosdocs/xsl/params/chunk.quietly.xml b/rosdocs/xsl/params/chunk.quietly.xml new file mode 100644 index 0000000..78200a5 --- /dev/null +++ b/rosdocs/xsl/params/chunk.quietly.xml @@ -0,0 +1,25 @@ + + +chunk.quietly + + + +chunk.quietly +Omit the chunked filename messages. + + + + + + + + +Description + +If zero (the default), the XSL processor emits a message naming +each separate chunk filename as it is being output. +If nonzero, then the messages are suppressed. + + + + diff --git a/rosdocs/xsl/params/chunk.section.depth.xml b/rosdocs/xsl/params/chunk.section.depth.xml new file mode 100644 index 0000000..af29641 --- /dev/null +++ b/rosdocs/xsl/params/chunk.section.depth.xml @@ -0,0 +1,22 @@ + + +chunk.section.depth +integer + + +chunk.section.depth +Depth to which sections should be chunked + + + + + + + + +Description + +This parameter sets the depth of section chunking. + + + diff --git a/rosdocs/xsl/params/chunk.sections.xml b/rosdocs/xsl/params/chunk.sections.xml new file mode 100644 index 0000000..38bf39e --- /dev/null +++ b/rosdocs/xsl/params/chunk.sections.xml @@ -0,0 +1,23 @@ + + +chunk.sections + + + +chunk.sections +Should top-level sections be chunks in their own right? + + + + + + +Description + +If non-zero, chunks will be created for top-level +sect1 and section elements in +each component. + + + + diff --git a/rosdocs/xsl/params/chunk.toc.xml b/rosdocs/xsl/params/chunk.toc.xml new file mode 100644 index 0000000..279b1c2 --- /dev/null +++ b/rosdocs/xsl/params/chunk.toc.xml @@ -0,0 +1,25 @@ + + +chunk.toc +string + + +chunk.toc +An explicit TOC to be used for chunking + + + + + + + + +Description + +The chunk.toc identifies an explicit TOC that +will be used for chunking. This parameter is only used by the +chunktoc.xsl stylesheet (and customization layers built +from it). + + + diff --git a/rosdocs/xsl/params/citerefentry.link.xml b/rosdocs/xsl/params/citerefentry.link.xml new file mode 100644 index 0000000..bd413c4 --- /dev/null +++ b/rosdocs/xsl/params/citerefentry.link.xml @@ -0,0 +1,23 @@ + + +citerefentry.link +boolean + + +citerefentry.link +Generate URL links when cross-referencing RefEntrys? + + + + + + +Description + +If true, a web link will be generated, presumably +to an online man->HTML gateway. The text of the link is +generated by the generate.citerefentry.link template. + + + + diff --git a/rosdocs/xsl/params/column.count.of.index.xml b/rosdocs/xsl/params/column.count.of.index.xml new file mode 100644 index 0000000..a8048db --- /dev/null +++ b/rosdocs/xsl/params/column.count.of.index.xml @@ -0,0 +1,23 @@ + + +column.count.of.index +integer + + +column.count.of.index +Number of columns in the index + + + + + + + + +Description + +This parameter specifies the number of columns on pages in the index. +The default is the same as the column.count. + + + diff --git a/rosdocs/xsl/params/column.count.xml b/rosdocs/xsl/params/column.count.xml new file mode 100644 index 0000000..8628bf1 --- /dev/null +++ b/rosdocs/xsl/params/column.count.xml @@ -0,0 +1,21 @@ + + +column.count + + + +column.count +Specifies the number of columns of text on the page + + + + + + +Description + +The specified number of columns of text will appear on each page. + + + + diff --git a/rosdocs/xsl/params/compact.list.item.spacing.xml b/rosdocs/xsl/params/compact.list.item.spacing.xml new file mode 100644 index 0000000..43a1b69 --- /dev/null +++ b/rosdocs/xsl/params/compact.list.item.spacing.xml @@ -0,0 +1,19 @@ + + +compact.list.item.spacing +What space do you want between list items (when spacing=compact)? + + + + + 0em + 0em + 0.2em + + +Description +Specify what spacing you want between each list item when +spacing is +compact. + + diff --git a/rosdocs/xsl/params/component.title.properties.xml b/rosdocs/xsl/params/component.title.properties.xml new file mode 100644 index 0000000..9f20dc8 --- /dev/null +++ b/rosdocs/xsl/params/component.title.properties.xml @@ -0,0 +1,30 @@ + + +component.title.properties +Specify the styling for the title elements of a component. + + + + + 2em + 1.8em + 2.2em + bold + 18pt + 1.5em + 1.3em + 1.8em + false + always + + +Description + +A set of attributes are used to style the title of a +component (chapters, appendixes, articles, etc.). Components are usually +printed in the title.font.family. +Spacing before and after, font size etc are specified +using this parameter. + + + diff --git a/rosdocs/xsl/params/css.decoration.xml b/rosdocs/xsl/params/css.decoration.xml new file mode 100644 index 0000000..788314f --- /dev/null +++ b/rosdocs/xsl/params/css.decoration.xml @@ -0,0 +1,26 @@ + + +css.decoration +boolean + + +css.decoration +Enable CSS decoration of elements + + + +1 + + +Description + + +If css.decoration is turned on, then HTML elements +produced by the +stylesheet may be decorated with STYLE attributes. For example, the +LI tags produced for list items may include a fragment of CSS in the +STYLE attribute which sets the CSS property "list-style-type". + + + + diff --git a/rosdocs/xsl/params/default.encoding.xml b/rosdocs/xsl/params/default.encoding.xml new file mode 100644 index 0000000..f6fb032 --- /dev/null +++ b/rosdocs/xsl/params/default.encoding.xml @@ -0,0 +1,22 @@ + + +default.encoding +string + + +default.encoding +Encoding used in generated HTML pages + + + + + + +Description + +This encoding is used in files generated by chunking stylesheet. Currently +only Saxon is able to change output encoding. + + + + diff --git a/rosdocs/xsl/params/default.table.width.xml b/rosdocs/xsl/params/default.table.width.xml new file mode 100644 index 0000000..f908e3e --- /dev/null +++ b/rosdocs/xsl/params/default.table.width.xml @@ -0,0 +1,22 @@ + + +default.table.width +length + + +default.table.width +The default width of tables + + + + + + +Description + +If specified, this value will be used for the WIDTH attribute on +tables that do not specify an alternate width (with the dbhtml processing +instruction). + + + diff --git a/rosdocs/xsl/params/default.units.xml b/rosdocs/xsl/params/default.units.xml new file mode 100644 index 0000000..16e74a1 --- /dev/null +++ b/rosdocs/xsl/params/default.units.xml @@ -0,0 +1,30 @@ + + +default.units +list +cm +mm +in +pt +pc +px +em + + +default.units +Default units for an unqualified dimension + + + + + + +Description + +If an unqualified dimension is encountered (for example, in a +graphic width), the default-units will be used for the +units. Unqualified dimensions are not allowed in XSL Formatting Objects. + + + + diff --git a/rosdocs/xsl/params/dingbat.font.family.xml b/rosdocs/xsl/params/dingbat.font.family.xml new file mode 100644 index 0000000..66545b9 --- /dev/null +++ b/rosdocs/xsl/params/dingbat.font.family.xml @@ -0,0 +1,22 @@ + + +dingbat.font.family + + + +dingbat.font.family +The font family for copyright, quotes, and other symbols + + + +Times Roman + + +Description + +The dingbat font family is used for dingbats. If it is defined +as the empty string, no font change is effected around dingbats. + + + + diff --git a/rosdocs/xsl/params/double.sided.xml b/rosdocs/xsl/params/double.sided.xml new file mode 100644 index 0000000..35da156 --- /dev/null +++ b/rosdocs/xsl/params/double.sided.xml @@ -0,0 +1,24 @@ + + +double.sided + + + +double.sided +Is the document to be printed double sided? + + + + + + +Description + +Double-sided documents are printed with a slightly wider margin +on the binding edge of the page. + +FIXME: The current set of parameters does not take writing direction +into account. + + + diff --git a/rosdocs/xsl/params/draft.watermark.image.xml b/rosdocs/xsl/params/draft.watermark.image.xml new file mode 100644 index 0000000..1f5aa89 --- /dev/null +++ b/rosdocs/xsl/params/draft.watermark.image.xml @@ -0,0 +1,22 @@ + + +draft.watermark.image +uri + + +draft.watermark.image +The URI of the image to be used for draft watermarks + + + + + + + + +Description + +The image to be used for draft watermarks. + + + diff --git a/rosdocs/xsl/params/ebnf.table.bgcolor.xml b/rosdocs/xsl/params/ebnf.table.bgcolor.xml new file mode 100644 index 0000000..82c8996 --- /dev/null +++ b/rosdocs/xsl/params/ebnf.table.bgcolor.xml @@ -0,0 +1,23 @@ + + +ebnf.table.bgcolor +string + + +ebnf.table.bgcolor +Background color for EBNF tables + + + + + + +Description + +Sets the background color for EBNF tables. No bgcolor +attribute is output if ebnf.table.bgcolor is set to +the null string. The default value matches the value used in recent +online versions of the W3C's XML Spec productions. + + + diff --git a/rosdocs/xsl/params/ebnf.table.border.xml b/rosdocs/xsl/params/ebnf.table.border.xml new file mode 100644 index 0000000..80916c2 --- /dev/null +++ b/rosdocs/xsl/params/ebnf.table.border.xml @@ -0,0 +1,21 @@ + + +ebnf.table.border + + + +ebnf.table.border +Selects border on EBNF tables + + + + + + +Description + +Selects the border on EBNF tables. If non-zero, the tables have +borders, otherwise they don't. + + + diff --git a/rosdocs/xsl/params/emphasis.propagates.style.xml b/rosdocs/xsl/params/emphasis.propagates.style.xml new file mode 100644 index 0000000..5a2c70c --- /dev/null +++ b/rosdocs/xsl/params/emphasis.propagates.style.xml @@ -0,0 +1,24 @@ + + +emphasis.propagates.style +boolean + + +emphasis.propagates.style +Pass emphasis role attribute through to HTML? + + + + + + + + +Description + +If true, the role attribute of emphasis elements +will be passed through to the HTML as a class attribute on a +span that surrounds the emphasis. + + + diff --git a/rosdocs/xsl/params/firstterm.only.link.xml b/rosdocs/xsl/params/firstterm.only.link.xml new file mode 100644 index 0000000..eb53b36 --- /dev/null +++ b/rosdocs/xsl/params/firstterm.only.link.xml @@ -0,0 +1,24 @@ + + +firstterm.only.link +boolean + + +firstterm.only.link +Does automatic glossterm linking only apply to firstterms? + + + + + + + + +Description + +If true, only firstterms will be automatically linked +to the glossary. If glossary linking is not enabled, this parameter +has no effect. + + + diff --git a/rosdocs/xsl/params/footnote.font.size.xml b/rosdocs/xsl/params/footnote.font.size.xml new file mode 100644 index 0000000..9ab2a41 --- /dev/null +++ b/rosdocs/xsl/params/footnote.font.size.xml @@ -0,0 +1,23 @@ + + +footnote.font.size + + + +footnote.font.size +The font size for footnotes + + + + + pt + + + +Description + +The footnote font size is used for...footnotes! + + + + diff --git a/rosdocs/xsl/params/fop.extensions.xml b/rosdocs/xsl/params/fop.extensions.xml new file mode 100644 index 0000000..dacc639 --- /dev/null +++ b/rosdocs/xsl/params/fop.extensions.xml @@ -0,0 +1,23 @@ + + +fop.extensions +boolean + + +fop.extensions +Enable FOP extensions? + + + + + + +Description + +If non-zero, +FOP +extensions will be used. At present, this consists of PDF bookmarks. + + + + diff --git a/rosdocs/xsl/params/formal.object.properties.xml b/rosdocs/xsl/params/formal.object.properties.xml new file mode 100644 index 0000000..fca1b67 --- /dev/null +++ b/rosdocs/xsl/params/formal.object.properties.xml @@ -0,0 +1,20 @@ + + +formal.object.properties +Properties associated with a formal object such as a figure, or other component that has a title + + + + + 0.5em + 1em + 2em + 0.5em + 1em + 2em + + +Description +The styling for formal objects in docbook. Specify the spacing before and after the object. + + diff --git a/rosdocs/xsl/params/formal.procedures.xml b/rosdocs/xsl/params/formal.procedures.xml new file mode 100644 index 0000000..0428674 --- /dev/null +++ b/rosdocs/xsl/params/formal.procedures.xml @@ -0,0 +1,23 @@ + + +formal.procedures +boolean + + +formal.procedures +Selects formal or informal procedures + + + + + + + + +Description + +Formal procedures are numbered and always have a title. + + + + diff --git a/rosdocs/xsl/params/formal.title.placement.xml b/rosdocs/xsl/params/formal.title.placement.xml new file mode 100644 index 0000000..f6cecf5 --- /dev/null +++ b/rosdocs/xsl/params/formal.title.placement.xml @@ -0,0 +1,35 @@ + + +formal.title.placement + + + +formal.title.placement + + + + + + +figure before +example before +equation before +table before +procedure before + + + + +Description + +Specifies where formal object titles should occur. For each formal object +type (figure, +example, +equation, +table, and procedure) +you can specify either the keyword +before or +after. + + + diff --git a/rosdocs/xsl/params/formal.title.properties.xml b/rosdocs/xsl/params/formal.title.properties.xml new file mode 100644 index 0000000..f43b700 --- /dev/null +++ b/rosdocs/xsl/params/formal.title.properties.xml @@ -0,0 +1,24 @@ + + +formal.title.properties +Style the title element of formal object such as a figure. + + + + + + bold + 12pt + false + always + 0.4em + 0.6em + 0.8em + + + +Description +Specify how the title should be styled. Specify the font size and weight of the title of the formal object. + + diff --git a/rosdocs/xsl/params/funcsynopsis.decoration.xml b/rosdocs/xsl/params/funcsynopsis.decoration.xml new file mode 100644 index 0000000..6aabbdf --- /dev/null +++ b/rosdocs/xsl/params/funcsynopsis.decoration.xml @@ -0,0 +1,23 @@ + + +funcsynopsis.decoration +boolean + + +funcsynopsis.decoration +Decorate elements of a FuncSynopsis? + + + + + + +Description + +If true (non-zero), elements of the FuncSynopsis will be decorated (e.g. bold or +italic). The decoration is controlled by functions that can be redefined +in a customization layer. + + + + diff --git a/rosdocs/xsl/params/funcsynopsis.style.xml b/rosdocs/xsl/params/funcsynopsis.style.xml new file mode 100644 index 0000000..cb21392 --- /dev/null +++ b/rosdocs/xsl/params/funcsynopsis.style.xml @@ -0,0 +1,26 @@ + + +funcsynopsis.style +list +ansi +kr + + +funcsynopsis.style +What style of 'FuncSynopsis' should be generated? + + + +kr + + +Description + +If funcsynopsis.style is ansi, +ANSI-style function synopses are generated for a +funcsynopsis, otherwise K&R-style +function synopses are generated. + + + + diff --git a/rosdocs/xsl/params/function.parens.xml b/rosdocs/xsl/params/function.parens.xml new file mode 100644 index 0000000..4856045 --- /dev/null +++ b/rosdocs/xsl/params/function.parens.xml @@ -0,0 +1,23 @@ + + +function.parens +boolean + + +function.parens +Generate parens after a function? + + + +0 + + +Description + +If not 0, the formatting of +a function element will include +generated parenthesis. + + + + diff --git a/rosdocs/xsl/params/generate.id.attributes.xml b/rosdocs/xsl/params/generate.id.attributes.xml new file mode 100644 index 0000000..6c638dc --- /dev/null +++ b/rosdocs/xsl/params/generate.id.attributes.xml @@ -0,0 +1,54 @@ + + +generate.id.attributes + + + +generate.id.attributes + + + + + + + + + +Description + +If non-zero, the HTML stylesheet will generate ID attributes on +containers. For example, the markup: + +Some Title +Some para. +
    ]]> + +might produce: + + +

    Some Title

    +

    Some para.

    +]]>
    + +The alternative is to generate anchors: + + +

    Some Title

    +

    Some para.

    +]]>
    + +Because the name attribute of +the a element and the id +attribute of other tags are both of type ID, producing both +generates invalid documents. + +As of version 1.50, you can use this switch to control which type of +identifier is generated. For backwards-compatibility, generating +a anchors is preferred. + +Note: at present, this switch is incompletely implemented. +Disabling ID attributes will suppress them, but enabling ID attributes +will not suppress the anchors. + + + diff --git a/rosdocs/xsl/params/generate.index.xml b/rosdocs/xsl/params/generate.index.xml new file mode 100644 index 0000000..0dc2058 --- /dev/null +++ b/rosdocs/xsl/params/generate.index.xml @@ -0,0 +1,20 @@ + + +generate.index +boolean + + +generate.index +Do you want an index? + + + + + + +Description + +Specify if an index should be generated. + + + diff --git a/rosdocs/xsl/params/generate.legalnotice.link.xml b/rosdocs/xsl/params/generate.legalnotice.link.xml new file mode 100644 index 0000000..5b51cbf --- /dev/null +++ b/rosdocs/xsl/params/generate.legalnotice.link.xml @@ -0,0 +1,20 @@ + + +generate.legalnotice.link +boolean + + +generate.legalnotice.link +TBD + + + + + + +Description + +TBD + + + diff --git a/rosdocs/xsl/params/generate.manifest.xml b/rosdocs/xsl/params/generate.manifest.xml new file mode 100644 index 0000000..44344af --- /dev/null +++ b/rosdocs/xsl/params/generate.manifest.xml @@ -0,0 +1,23 @@ + + + generate.manifest + boolean + + + generate.manifest + Generate a manifest file? + + + + + + + Description + + If non-zero, a list of HTML files generated by the + stylesheet transformation is written to the file named by + the manifest parameter. + + + diff --git a/rosdocs/xsl/params/generate.section.toc.level.xml b/rosdocs/xsl/params/generate.section.toc.level.xml new file mode 100644 index 0000000..10dbd8c --- /dev/null +++ b/rosdocs/xsl/params/generate.section.toc.level.xml @@ -0,0 +1,28 @@ + + +generate.section.toc.level +integer + + +generate.section.toc.level +Control depth of TOC generation in sections + + + + + + +Description + +The generate.section.toc.level parameter +controls the depth of section in which TOCs will be generated. Note +that this is related to, but not the same as +toc.section.depth, which controls the depth to +which TOC entries will be generated in a given TOC. +If, for example, generate.section.toc.level +is 3, TOCs will be generated in first, second, and third +level sections, but not in fourth level sections. + + + + diff --git a/rosdocs/xsl/params/generate.toc.xml b/rosdocs/xsl/params/generate.toc.xml new file mode 100644 index 0000000..26393b4 --- /dev/null +++ b/rosdocs/xsl/params/generate.toc.xml @@ -0,0 +1,88 @@ + + +generate.toc +table + + +generate.toc +Control generation of ToCs and LoTs + + + + + +appendix toc +article toc +book toc,figure,table,example,equation +chapter toc +part toc +preface toc +qandadiv toc +qandaset toc +reference toc +section toc +set toc + + +/appendix toc +/article toc +book toc,figure,table,example,equation +/chapter toc +part toc +/preface toc +qandadiv toc +qandaset toc +reference toc +/section toc +set toc + + + + +Description + +This parameter has a structured value. It is a table of space-delimited +path/value pairs. Each path identifies some element in the source document +using a restricted subset of XPath (only the implicit child axis, no wildcards, +no predicates). Paths can be either relative or absolute. + +When processing a particular element, the stylesheets consult this table to +determine if a ToC (or LoT(s)) should be generated. + +For example, consider the entry: + +book toc,figure + +This indicates that whenever a book is formatted, a +Table Of Contents and a List of Figures should be generated. Similarly, + +/chapter toc + +indicates that whenever a document that has a root +of chapter is formatted, a Table of +Contents should be generated. The entry chapter would match +all chapters, but /chapter matches only chapter +document elements. + +Generally, the longest match wins. So, for example, if you want to distinguish +articles in books from articles in parts, you could use these two entries: + +book/article toc,figure +part/article toc + +Note that an article in a part can never match a book/article, +so if you want nothing to be generated for articles in parts, you can simply leave +that rule out. + +If you want to leave the rule in, to make it explicit that you're turning +something off, use the value nop. For example, the following +entry disables ToCs and LoTs for articles: + +article nop + +Do not simply leave the word article in the file +without a matching value. That'd be just begging the silly little +path/value parser to get confused. + + + diff --git a/rosdocs/xsl/params/glossary.collection.xml b/rosdocs/xsl/params/glossary.collection.xml new file mode 100644 index 0000000..003c085 --- /dev/null +++ b/rosdocs/xsl/params/glossary.collection.xml @@ -0,0 +1,189 @@ + + +glossary.collection +string + + +glossary.collection +Name of the glossary collection file + + + + + + + + +Description + +Glossaries maintained independently across a set of documents +are likely to become inconsistent unless considerable effort is +expended to keep them in sync. It makes much more sense, usually, to +store all of the glossary entries in a single place and simply +extract the ones you need in each document. + +That's the purpose of the +glossary.collection parameter. To setup a global +glossary database, follow these steps: + +Setting Up the Glossary Database + +First, create a stand-alone glossary document that contains all of +the entries that you wish to reference. Make sure that each glossary +entry has an ID. + +Here's an example glossary: + + + + + + +EricRaymond +Jargon File 4.2.3 (abridged) +Just some test data + + +0 + + +0 + +Numeric zero, as opposed to the letter `O' (the 15th letter of +the English alphabet). In their unmodified forms they look a lot +alike, and various kluges invented to make them visually distinct have +compounded the confusion. If your zero is center-dotted and letter-O +is not, or if letter-O looks almost rectangular but zero looks more +like an American football stood on end (or the reverse), you're +probably looking at a modern character display (though the dotted zero +seems to have originated as an option on IBM 3270 controllers). If +your zero is slashed but letter-O is not, you're probably looking at +an old-style ASCII graphic set descended from the default typewheel on +the venerable ASR-33 Teletype (Scandinavians, for whom /O is a letter, +curse this arrangement). (Interestingly, the slashed zero long +predates computers; Florian Cajori's monumental "A History of +Mathematical Notations" notes that it was used in the twelfth and +thirteenth centuries.) If letter-O has a slash across it and the zero +does not, your display is tuned for a very old convention used at IBM +and a few other early mainframe makers (Scandinavians curse this +arrangement even more, because it means two of their letters collide). +Some Burroughs/Unisys equipment displays a zero with a reversed +slash. Old CDC computers rendered letter O as an unbroken oval and 0 +as an oval broken at upper right and lower left. And yet another +convention common on early line printers left zero unornamented but +added a tail or hook to the letter-O so that it resembled an inverted +Q or cursive capital letter-O (this was endorsed by a draft ANSI +standard for how to draw ASCII characters, but the final standard +changed the distinguisher to a tick-mark in the upper-left corner). +Are we sufficiently confused yet? + + + + +1TBS + + + +n + +The "One True Brace Style" +indent style + + + + + + + + + +]]> + + + + +Marking Up Glossary Terms + +That takes care of the glossary database, now you have to get the entries +into your document. Unlike bibliography entries, which can be empty, creating +placeholder glossary entries would be very tedious. So instead, +support for glossary.collection relies on implicit linking. + +In your source document, simply use firstterm and +glossterm to identify the terms you wish to have included +in the glossary. The stylesheets assume that you will either set the +baseform attribute correctly, or that the +content of the element exactly matches a term in your glossary. + +If you're using a glossary.collection, don't +make explicit links on the terms in your document. + +So, in your document, you might write things like this: + + +This is dummy text, without any real meaning. +The point is simply to reference glossary terms like 0 +and the One True Brace Style (1TBS). +The 1TBS, as you can probably imagine, is a nearly +religious issue.]]> + + +If you set the firstterm.only.link parameter, +only the terms marked with firstterm will be links. +Otherwise, all the terms will be linked. + + + +Marking Up the Glossary + +The glossary itself has to be identified for the stylesheets. For lack +of a better choice, the role is used. +To identify the glossary as the target for automatic processing, set +the role to auto. The title of this +glossary (and any other information from the glossaryinfo +that's rendered by your stylesheet) will be displayed, but the entries will +come from the database. + + +Unfortunately, the glossary can't be empty, so you must put in +at least one glossentry. The content of this entry +is irrelevant, it will not be rendered: + + + + +Irrelevant + +If you can see this, the document was processed incorrectly. Use +the glossary.collection parameter. + + +]]> + + +What about glossary divisions? If your glossary database has glossary +divisions and your automatic glossary contains at least +one glossdiv, the automic glossary will have divisions. +If the glossdiv is missing from either location, no divisions +will be rendered. + +Glossary entries (and divisions, if appropriate) in the glossary will +occur in precisely the order they occur in your database. + + + +Formatting the Document + +Finally, when you are ready to format your document, simply set the +glossary.collection parameter (in either a +customization layer or directly through your processor's interface) to +point to your global glossary. + +The stylesheets will format the glossary in your document as if +all of the entries implicilty referenced appeared there literally. + + + diff --git a/rosdocs/xsl/params/glossterm.auto.link.xml b/rosdocs/xsl/params/glossterm.auto.link.xml new file mode 100644 index 0000000..6af580c --- /dev/null +++ b/rosdocs/xsl/params/glossterm.auto.link.xml @@ -0,0 +1,26 @@ + + +glossterm.auto.link +boolean + + +glossterm.auto.link +Generate links from glossterm to glossentry automaticaly? + + + + + + +Description + +If true, a link will be automatically created from glossterm +to glossentry for that glossary term. This is usefull when your +glossterm names are consistent and you don't want to add links +manually. +If there is linkend on +glossterm then is used instead of autogeneration of +link. + + + diff --git a/rosdocs/xsl/params/graphic.default.extension.xml b/rosdocs/xsl/params/graphic.default.extension.xml new file mode 100644 index 0000000..58d763c --- /dev/null +++ b/rosdocs/xsl/params/graphic.default.extension.xml @@ -0,0 +1,24 @@ + + +graphic.default.extension +string + + +graphic.default.extension +Default extension for graphic filenames + + + + + + +Description + +If a graphic or mediaobject +includes a reference to a filename that does not include an extension, +and the format attribute is +unspecified, the default extension will be used. + + + + diff --git a/rosdocs/xsl/params/html.base.xml b/rosdocs/xsl/params/html.base.xml new file mode 100644 index 0000000..0398894 --- /dev/null +++ b/rosdocs/xsl/params/html.base.xml @@ -0,0 +1,23 @@ + + +html.base +uri + + +html.base +An HTML base URI + + + + + + +Description + +If html.base is set, it is used for the BASE +element in the HEAD of the HTML documents. +This is useful for dynamically served HTML where the base URI needs +to be shifted. + + + diff --git a/rosdocs/xsl/params/html.cleanup.xml b/rosdocs/xsl/params/html.cleanup.xml new file mode 100644 index 0000000..43fa6b4 --- /dev/null +++ b/rosdocs/xsl/params/html.cleanup.xml @@ -0,0 +1,29 @@ + + +html.cleanup +boolean + + +html.cleanup +Attempt to clean up the resulting HTML? + + + + + + + + +Description + +If non-zero, and if the EXSLT +extensions are supported by your processor, the resulting HTML will be +cleaned up. This improves the chances that the +resulting HTML will be valid. It may also improve the formatting of +some elements. + +This parameter is different from make.valid.html +because it uses extension functions to manipulate result-tree-fragments. + + + diff --git a/rosdocs/xsl/params/html.ext.xml b/rosdocs/xsl/params/html.ext.xml new file mode 100644 index 0000000..dd20205 --- /dev/null +++ b/rosdocs/xsl/params/html.ext.xml @@ -0,0 +1,24 @@ + + +html.ext + + + +html.ext +Identifies the extension of generated HTML files + + + + + + + + +Description + +The extension identified by html.ext will +be used as the filename extension for chunks created by this stylesheet. + + + + diff --git a/rosdocs/xsl/params/html.extra.head.links.xml b/rosdocs/xsl/params/html.extra.head.links.xml new file mode 100644 index 0000000..383b376 --- /dev/null +++ b/rosdocs/xsl/params/html.extra.head.links.xml @@ -0,0 +1,26 @@ + + +html.extra.head.links +boolean + + +html.extra.head.links +Toggle extra HTML head link information + + + + + + + + +Description + +If non-zero, extra link elements will be +generated in the head of chunked HTML files. These +extra links point to chapters, appendixes, sections, etc. as supported +by the Site Navigation Bar in Mozilla 1.0 (as of CR1, at least). + + + + diff --git a/rosdocs/xsl/params/html.longdesc.link.xml b/rosdocs/xsl/params/html.longdesc.link.xml new file mode 100644 index 0000000..a3406f2 --- /dev/null +++ b/rosdocs/xsl/params/html.longdesc.link.xml @@ -0,0 +1,29 @@ + + +html.longdesc.link +boolean + + +html.longdesc.link +Should a link to the longdesc be included in the HTML? + + + + + + + + +Description + +If non-zero, links will be created to the +HTML files created for the +longdesc attribute. It makes no +sense to turn enable this option without also enabling the +$html.longdesc parameter. + +The longdesc.link named template is called +to construct the link. + + + diff --git a/rosdocs/xsl/params/html.longdesc.xml b/rosdocs/xsl/params/html.longdesc.xml new file mode 100644 index 0000000..1098b69 --- /dev/null +++ b/rosdocs/xsl/params/html.longdesc.xml @@ -0,0 +1,27 @@ + + +html.longdesc +boolean + + +html.longdesc +Should longdesc URIs be created? + + + + + + + + +Description + +If non-zero, HTML files will be created for the +longdesc attribute. These files +are created from the textobjects in +mediaobjects and +inlinemediaobject. + + + + diff --git a/rosdocs/xsl/params/html.stylesheet.type.xml b/rosdocs/xsl/params/html.stylesheet.type.xml new file mode 100644 index 0000000..8cea763 --- /dev/null +++ b/rosdocs/xsl/params/html.stylesheet.type.xml @@ -0,0 +1,21 @@ + + +html.stylesheet.type +string + + +html.stylesheet.type +The type of the stylesheet used in the generated HTML + + + +text/css + + +Description + +The type of the stylesheet to place in the HTML link tag. + + + + diff --git a/rosdocs/xsl/params/html.stylesheet.xml b/rosdocs/xsl/params/html.stylesheet.xml new file mode 100644 index 0000000..adce4a2 --- /dev/null +++ b/rosdocs/xsl/params/html.stylesheet.xml @@ -0,0 +1,22 @@ + + +html.stylesheet +string + + +html.stylesheet +Name of the stylesheet to use in the generated HTML + + + + + + +Description + +The name of the stylesheet to place in the HTML LINK +tag, or the empty string to suppress the stylesheet LINK. + + + + diff --git a/rosdocs/xsl/params/htmlhelp.alias.file.xml b/rosdocs/xsl/params/htmlhelp.alias.file.xml new file mode 100644 index 0000000..ff67d1c --- /dev/null +++ b/rosdocs/xsl/params/htmlhelp.alias.file.xml @@ -0,0 +1,23 @@ + + +htmlhelp.alias.file +string + + +htmlhelp.alias.file +Filename of map file. + + + + + + + + +Description + +Change this parameter if you want different name of map file +than alias.h. + + + diff --git a/rosdocs/xsl/params/htmlhelp.autolabel.xml b/rosdocs/xsl/params/htmlhelp.autolabel.xml new file mode 100644 index 0000000..25c65cb --- /dev/null +++ b/rosdocs/xsl/params/htmlhelp.autolabel.xml @@ -0,0 +1,23 @@ + + +htmlhelp.autolabel +boolean + + +htmlhelp.autolabel +Should tree-like ToC use autonumbering feature? + + + + + + + + +Description + +If you want to include chapter and section numbers into ToC in +the left panel, set this parameter to 1. + + + diff --git a/rosdocs/xsl/params/htmlhelp.chm.xml b/rosdocs/xsl/params/htmlhelp.chm.xml new file mode 100644 index 0000000..7d571e3 --- /dev/null +++ b/rosdocs/xsl/params/htmlhelp.chm.xml @@ -0,0 +1,23 @@ + + +htmlhelp.chm +string + + +htmlhelp.chm +Filename of output HTML Help file. + + + + + + + + +Description + +Change this parameter if you want different name of result +CHM file than htmlhelp.chm. + + + diff --git a/rosdocs/xsl/params/htmlhelp.default.topic.xml b/rosdocs/xsl/params/htmlhelp.default.topic.xml new file mode 100644 index 0000000..9350d7b --- /dev/null +++ b/rosdocs/xsl/params/htmlhelp.default.topic.xml @@ -0,0 +1,31 @@ + + +htmlhelp.default.topic +string + + +htmlhelp.default.topic +Name of file with default topic + + + + + + + + +Description + +Normally first chunk of document is displayed when you open HTML +Help file. If you want to display another topic, simply set its +filename by this parameter. + +This is useful especially if you don't generate ToC in front of +your document and you also hide root element in ToC. E.g.: + + + +]]> + + + diff --git a/rosdocs/xsl/params/htmlhelp.encoding.xml b/rosdocs/xsl/params/htmlhelp.encoding.xml new file mode 100644 index 0000000..f7c04b5 --- /dev/null +++ b/rosdocs/xsl/params/htmlhelp.encoding.xml @@ -0,0 +1,23 @@ + + +htmlhelp.encoding +string + + +htmlhelp.encoding +Character encoding to use in files for HTML Help compiler. + + + + + + + + +Description + +HTML Help Compiler is not UTF-8 aware, so you should always use +apropriate single-byte encoding here. + + + diff --git a/rosdocs/xsl/params/htmlhelp.enumerate.images.xml b/rosdocs/xsl/params/htmlhelp.enumerate.images.xml new file mode 100644 index 0000000..723dbda --- /dev/null +++ b/rosdocs/xsl/params/htmlhelp.enumerate.images.xml @@ -0,0 +1,23 @@ + + +htmlhelp.enumerate.images +boolean + + +htmlhelp.enumerate.images +Should be paths to all used images added to project file? + + + + + + + + +Description + +You should turn on this flag, if you insert images into your documents +as external binary entities or if you are using absolute path in image names. + + + diff --git a/rosdocs/xsl/params/htmlhelp.force.map.and.alias.xml b/rosdocs/xsl/params/htmlhelp.force.map.and.alias.xml new file mode 100644 index 0000000..92a9e69 --- /dev/null +++ b/rosdocs/xsl/params/htmlhelp.force.map.and.alias.xml @@ -0,0 +1,24 @@ + + +htmlhelp.force.map.and.alias +boolean + + +htmlhelp.force.map.and.alias +Should be [MAP] and [ALIAS] section added to project file unconditionaly? + + + + + + + + +Description + +You should turn on this flag, if you have your own +alias.h and contex.h files +and you want include reference to them in project file. + + + diff --git a/rosdocs/xsl/params/htmlhelp.hhc.folders.instead.books.xml b/rosdocs/xsl/params/htmlhelp.hhc.folders.instead.books.xml new file mode 100644 index 0000000..31dba2a --- /dev/null +++ b/rosdocs/xsl/params/htmlhelp.hhc.folders.instead.books.xml @@ -0,0 +1,23 @@ + + +htmlhelp.hhc.folders.instead.books + + + +htmlhelp.hhc.folders.instead.books + + + + + + + + + +Description + +This parameter controls whether there should be folder-like +icons (1) or book-like icons (0) in ToC. + + + diff --git a/rosdocs/xsl/params/htmlhelp.hhc.section.depth.xml b/rosdocs/xsl/params/htmlhelp.hhc.section.depth.xml new file mode 100644 index 0000000..b00f4d8 --- /dev/null +++ b/rosdocs/xsl/params/htmlhelp.hhc.section.depth.xml @@ -0,0 +1,23 @@ + + +htmlhelp.hhc.section.depth +integer + + +htmlhelp.hhc.section.depth +Depth of TOC for sections in a left pane. + + + + + + + + +Description + +Change this parameter if you want shallower ToC in a left pane +of HTML Help viewer. + + + diff --git a/rosdocs/xsl/params/htmlhelp.hhc.show.root.xml b/rosdocs/xsl/params/htmlhelp.hhc.show.root.xml new file mode 100644 index 0000000..3d4a5b4 --- /dev/null +++ b/rosdocs/xsl/params/htmlhelp.hhc.show.root.xml @@ -0,0 +1,24 @@ + + +htmlhelp.hhc.show.root +boolean + + +htmlhelp.hhc.show.root +Should be entry for root element shown in ToC? + + + + + + + + +Description + +If set to 0, there will be no entry for root element in +ToC. This is useful when you want provide user with expanded ToC as +a default. + + + diff --git a/rosdocs/xsl/params/htmlhelp.hhc.xml b/rosdocs/xsl/params/htmlhelp.hhc.xml new file mode 100644 index 0000000..dadb0a6 --- /dev/null +++ b/rosdocs/xsl/params/htmlhelp.hhc.xml @@ -0,0 +1,23 @@ + + +htmlhelp.hhc +string + + +htmlhelp.hhc +Filename of TOC file. + + + + + + + + +Description + +Change this parameter if you want different name of TOC file +than toc.hhc. + + + diff --git a/rosdocs/xsl/params/htmlhelp.hhp.tail.xml b/rosdocs/xsl/params/htmlhelp.hhp.tail.xml new file mode 100644 index 0000000..0792bbb --- /dev/null +++ b/rosdocs/xsl/params/htmlhelp.hhp.tail.xml @@ -0,0 +1,23 @@ + + +htmlhelp.hhp.tail +string + + +htmlhelp.hhp.tail +Additional content for project file. + + + + + + + + +Description + +If you want to include some additional parameters into project file, +store appropriate part of project file into this parameter. + + + diff --git a/rosdocs/xsl/params/htmlhelp.hhp.xml b/rosdocs/xsl/params/htmlhelp.hhp.xml new file mode 100644 index 0000000..4058f0a --- /dev/null +++ b/rosdocs/xsl/params/htmlhelp.hhp.xml @@ -0,0 +1,23 @@ + + +htmlhelp.hhp +string + + +htmlhelp.hhp +Filename of project file. + + + + + + + + +Description + +Change this parameter if you want different name of project +file than htmlhelp.hhp. + + + diff --git a/rosdocs/xsl/params/htmlhelp.map.file.xml b/rosdocs/xsl/params/htmlhelp.map.file.xml new file mode 100644 index 0000000..49ee9cb --- /dev/null +++ b/rosdocs/xsl/params/htmlhelp.map.file.xml @@ -0,0 +1,23 @@ + + +htmlhelp.map.file +string + + +htmlhelp.map.file +Filename of map file. + + + + + + + + +Description + +Change this parameter if you want different name of map file +than context.h. + + + diff --git a/rosdocs/xsl/params/htmlhelp.title.xml b/rosdocs/xsl/params/htmlhelp.title.xml new file mode 100644 index 0000000..c5b1cb3 --- /dev/null +++ b/rosdocs/xsl/params/htmlhelp.title.xml @@ -0,0 +1,23 @@ + + +htmlhelp.title +string + + +htmlhelp.title +Title of HTML Help + + + + + + + + +Description + +Content of this parameter will be used as a title for generated +HTML Help. If empty, title will be automatically taken from document. + + + diff --git a/rosdocs/xsl/params/hyphenate.xml b/rosdocs/xsl/params/hyphenate.xml new file mode 100644 index 0000000..429bf7f --- /dev/null +++ b/rosdocs/xsl/params/hyphenate.xml @@ -0,0 +1,21 @@ + + +hyphenate + + + +hyphenate +Specify hyphenation behavior + + + +true + + +Description + +If true, words may be hyphenated. Otherwise, they may not. + + + + diff --git a/rosdocs/xsl/params/informal.object.properties.xml b/rosdocs/xsl/params/informal.object.properties.xml new file mode 100644 index 0000000..6092cc0 --- /dev/null +++ b/rosdocs/xsl/params/informal.object.properties.xml @@ -0,0 +1,20 @@ + + +informal.object.properties +Properties associated with a formal object such as a figure, or other component that has a title + + + + + 0.5em + 1em + 2em + 0.5em + 1em + 2em + + +Description +The styling for informal objects in docbook. Specify the spacing before and after the object. + + diff --git a/rosdocs/xsl/params/inherit.keywords.xml b/rosdocs/xsl/params/inherit.keywords.xml new file mode 100644 index 0000000..fd41529 --- /dev/null +++ b/rosdocs/xsl/params/inherit.keywords.xml @@ -0,0 +1,25 @@ + + +inherit.keywords +boolean + + +inherit.keywords +Inherit keywords from ancestor elements? + + + + + + +Description + +If inherit.keywords +is non-zero, the keyword META for each HTML +HEAD element will include all of the keywords from +ancestral elements. Otherwise, only the keywords from the current section +will be used. + + + + diff --git a/rosdocs/xsl/params/insert.xref.page.number.xml b/rosdocs/xsl/params/insert.xref.page.number.xml new file mode 100644 index 0000000..ac59088 --- /dev/null +++ b/rosdocs/xsl/params/insert.xref.page.number.xml @@ -0,0 +1,22 @@ + + +insert.xref.page.number +boolean + + +insert.xref.page.number +Turns page numbers in xrefs on and off + + + + + + +Description + +When equal to 1, this parameter triggers generation of page +number citations after xrefs. + + + + diff --git a/rosdocs/xsl/params/label.from.part.xml b/rosdocs/xsl/params/label.from.part.xml new file mode 100644 index 0000000..b4866ca --- /dev/null +++ b/rosdocs/xsl/params/label.from.part.xml @@ -0,0 +1,25 @@ + + +label.from.part +boolean + + +label.from.part +Renumber chapters in each part? + + + + + + +Description + +If label.from.part is non-zero, components +(chapters, appendixes, etc.) +will be numbered from 1 in each part. Otherwise, +they will be numbered monotonically throughout each +book. + + + + diff --git a/rosdocs/xsl/params/line-height.xml b/rosdocs/xsl/params/line-height.xml new file mode 100644 index 0000000..7bb6e63 --- /dev/null +++ b/rosdocs/xsl/params/line-height.xml @@ -0,0 +1,22 @@ + + +line-height +string + + +line-height +Specify the line-height property + + + + + + + + +Description + +Sets the line-height property. + + + diff --git a/rosdocs/xsl/params/linenumbering.everyNth.xml b/rosdocs/xsl/params/linenumbering.everyNth.xml new file mode 100644 index 0000000..b288480 --- /dev/null +++ b/rosdocs/xsl/params/linenumbering.everyNth.xml @@ -0,0 +1,21 @@ + + +linenumbering.everyNth +integer + + +linenumbering.everyNth +Indicate which lines should be numbered + + + + + + +Description + +If line numbering is enabled, everyNth line will be numbered. + + + + diff --git a/rosdocs/xsl/params/linenumbering.extension.xml b/rosdocs/xsl/params/linenumbering.extension.xml new file mode 100644 index 0000000..b9322dd --- /dev/null +++ b/rosdocs/xsl/params/linenumbering.extension.xml @@ -0,0 +1,24 @@ + + +linenumbering.extension +boolean + + +linenumbering.extension +Enable the line numbering extension + + + + + + +Description + +If true, verbatim environments (elements that have the +format='linespecific' notation attribute: address, literallayout, +programlisting, screen, synopsis) that specify line numbering will +have, surprise, line numbers. + + + + diff --git a/rosdocs/xsl/params/linenumbering.separator.xml b/rosdocs/xsl/params/linenumbering.separator.xml new file mode 100644 index 0000000..1e81b5b --- /dev/null +++ b/rosdocs/xsl/params/linenumbering.separator.xml @@ -0,0 +1,22 @@ + + +linenumbering.separator +string + + +linenumbering.separator +Specify a separator between line numbers and lines + + + + + + +Description + +The separator is inserted between line numbers and lines in +the verbatim environment. + + + + diff --git a/rosdocs/xsl/params/linenumbering.width.xml b/rosdocs/xsl/params/linenumbering.width.xml new file mode 100644 index 0000000..3571487 --- /dev/null +++ b/rosdocs/xsl/params/linenumbering.width.xml @@ -0,0 +1,22 @@ + + +linenumbering.width +integer + + +linenumbering.width +Indicates the width of line numbers + + + + + + +Description + +If line numbering is enabled, line numbers will appear right +justified in a field "width" characters wide. + + + + diff --git a/rosdocs/xsl/params/link.mailto.url.xml b/rosdocs/xsl/params/link.mailto.url.xml new file mode 100644 index 0000000..c7e7fec --- /dev/null +++ b/rosdocs/xsl/params/link.mailto.url.xml @@ -0,0 +1,22 @@ + + +link.mailto.url +string + + +link.mailto.url +Mailto URL for the LINK REL=made HTML HEAD element + + + + + + +Description + +If not the empty string, this address will be used for the +REL=made LINK element in the HTML HEAD. + + + + diff --git a/rosdocs/xsl/params/list.block.spacing.xml b/rosdocs/xsl/params/list.block.spacing.xml new file mode 100644 index 0000000..71e5999 --- /dev/null +++ b/rosdocs/xsl/params/list.block.spacing.xml @@ -0,0 +1,17 @@ + + +list.block.spacing +What spacing do you want before lists? + + + + + 1em + 0.8em + 1.2em + + +Description +Specify the spacing required before a list. + + diff --git a/rosdocs/xsl/params/list.item.spacing.xml b/rosdocs/xsl/params/list.item.spacing.xml new file mode 100644 index 0000000..1ae484e --- /dev/null +++ b/rosdocs/xsl/params/list.item.spacing.xml @@ -0,0 +1,17 @@ + + +list.item.spacing +What space do you want between list items? + + + + + 1em + 0.8em + 1.2em + + +Description +Specify what spacing you want between each list item. + + diff --git a/rosdocs/xsl/params/make.single.year.ranges.xml b/rosdocs/xsl/params/make.single.year.ranges.xml new file mode 100644 index 0000000..bf2af8e --- /dev/null +++ b/rosdocs/xsl/params/make.single.year.ranges.xml @@ -0,0 +1,22 @@ + + +make.single.year.ranges +boolean + + +make.single.year.ranges +Print single-year ranges (e.g., 1998-1999) + + + + + + +Description + +If non-zero, year ranges that span a single year will be printed +in range notation (1998-1999) instead of discrete notation +(1998, 1999). + + + diff --git a/rosdocs/xsl/params/make.valid.html.xml b/rosdocs/xsl/params/make.valid.html.xml new file mode 100644 index 0000000..d73a188 --- /dev/null +++ b/rosdocs/xsl/params/make.valid.html.xml @@ -0,0 +1,30 @@ + + +make.valid.html +boolean + + +make.valid.html +Attempt to make sure the HTML output is valid HTML + + + + + + + + +Description + +If make.valid.html is true, the stylesheets take +extra effort to ensure that the resulting HTML is valid. This may mean that some +para tags are translated into HTML divs or +that other substitutions occur. + +This parameter is different from html.cleanup +because it changes the resulting markup; it does not use extension functions +to manipulate result-tree-fragments and is therefore applicable to any +XSLT processor. + + + diff --git a/rosdocs/xsl/params/make.year.ranges.xml b/rosdocs/xsl/params/make.year.ranges.xml new file mode 100644 index 0000000..17f8087 --- /dev/null +++ b/rosdocs/xsl/params/make.year.ranges.xml @@ -0,0 +1,20 @@ + + +make.year.ranges +boolean + + +make.year.ranges +Collate copyright years into ranges? + + + + + + +Description + +If non-zero, copyright years will be collated into ranges. + + + diff --git a/rosdocs/xsl/params/manifest.xml b/rosdocs/xsl/params/manifest.xml new file mode 100644 index 0000000..4022d9c --- /dev/null +++ b/rosdocs/xsl/params/manifest.xml @@ -0,0 +1,23 @@ + + + manifest + string + + + manifest + Name of manifest file + + + + + + + Description + + The name of the file to which a manifest is written (if the + value of the generate.manifest parameter + is non-zero). + + + diff --git a/rosdocs/xsl/params/manual.toc.xml b/rosdocs/xsl/params/manual.toc.xml new file mode 100644 index 0000000..760e612 --- /dev/null +++ b/rosdocs/xsl/params/manual.toc.xml @@ -0,0 +1,24 @@ + + +manual.toc +string + + +manual.toc +An explicit TOC to be used for the TOC + + + + + + + + +Description + +The manual.toc identifies an explicit TOC that +will be used for building the printed TOC. + + + + diff --git a/rosdocs/xsl/params/monospace.font.family.xml b/rosdocs/xsl/params/monospace.font.family.xml new file mode 100644 index 0000000..6b93c06 --- /dev/null +++ b/rosdocs/xsl/params/monospace.font.family.xml @@ -0,0 +1,22 @@ + + +monospace.font.family + + + +monospace.font.family +The default font family for monospace environments + + + +Courier + + +Description + +The monospace font family is used for verbatim environments +(program listings, screens, etc.). + + + + diff --git a/rosdocs/xsl/params/monospace.verbatim.properties.xml b/rosdocs/xsl/params/monospace.verbatim.properties.xml new file mode 100644 index 0000000..496c3c2 --- /dev/null +++ b/rosdocs/xsl/params/monospace.verbatim.properties.xml @@ -0,0 +1,21 @@ + + +monospace.verbatim.properties +What font and size do you want for monospaced content? + + + + + + + + + + pt + + + +Description +Specify the font name and size you want for monospaced output + + diff --git a/rosdocs/xsl/params/navig.graphics.extension.xml b/rosdocs/xsl/params/navig.graphics.extension.xml new file mode 100644 index 0000000..833a106 --- /dev/null +++ b/rosdocs/xsl/params/navig.graphics.extension.xml @@ -0,0 +1,21 @@ + + +navig.graphics.extension +string + + +navig.graphics.extension +Extension for navigational graphics + + + + + + +Description + +Sets the filename extension to use on navigational graphics used +in the headers and footers of chunked HTML. + + + diff --git a/rosdocs/xsl/params/navig.graphics.path.xml b/rosdocs/xsl/params/navig.graphics.path.xml new file mode 100644 index 0000000..3a36a41 --- /dev/null +++ b/rosdocs/xsl/params/navig.graphics.path.xml @@ -0,0 +1,23 @@ + + +navig.graphics.path +string + + +navig.graphics.path +Path to navigational graphics + + + +images/ + + +Description + +Sets the path, probably relative to the directory where the HTML +files are created, to the navigational graphics used in the +headers and footers of chunked HTML. + + + + diff --git a/rosdocs/xsl/params/navig.graphics.xml b/rosdocs/xsl/params/navig.graphics.xml new file mode 100644 index 0000000..fa83f3e --- /dev/null +++ b/rosdocs/xsl/params/navig.graphics.xml @@ -0,0 +1,24 @@ + + +navig.graphics +boolean + + +navig.graphics +Use graphics in navigational headers and footers? + + + + + + +Description + +If true (non-zero), the navigational headers and footers in chunked +HTML are presented in an alternate style that uses +graphical icons for Next, Previous, Up, and Home. +Default graphics are provided in the distribution. + + + + diff --git a/rosdocs/xsl/params/navig.showtitles.xml b/rosdocs/xsl/params/navig.showtitles.xml new file mode 100644 index 0000000..aa40588 --- /dev/null +++ b/rosdocs/xsl/params/navig.showtitles.xml @@ -0,0 +1,27 @@ + + +navig.showtitles +boolean + + +navig.showtitles +Display titles in HTML headers and footers? + + + +1 + + +Description + +If true (non-zero), +the headers and footers of chunked HTML +display the titles of the next and previous chunks, +along with the words 'Next' and 'Previous' (or the +equivalent graphical icons if navig.graphics is true). +If false (zero), then only the words 'Next' and 'Previous' +(or the icons) are displayed. + + + + diff --git a/rosdocs/xsl/params/nominal.table.width.xml b/rosdocs/xsl/params/nominal.table.width.xml new file mode 100644 index 0000000..6abbf0b --- /dev/null +++ b/rosdocs/xsl/params/nominal.table.width.xml @@ -0,0 +1,23 @@ + + +nominal.table.width +length + + +nominal.table.width +The (absolute) nominal width of tables + + + + + + +Description + +In order to convert CALS column widths into HTML column widths, it +is sometimes necessary to have an absolute table width to use for conversion +of mixed absolute and relative widths. This value must be an absolute +length (not a percentag). + + + diff --git a/rosdocs/xsl/params/normal.para.spacing.xml b/rosdocs/xsl/params/normal.para.spacing.xml new file mode 100644 index 0000000..4e68217 --- /dev/null +++ b/rosdocs/xsl/params/normal.para.spacing.xml @@ -0,0 +1,17 @@ + + +normal.para.spacing +What space do you want between normal paragraphs + + + + + 1em + 0.8em + 1.2em + + +Description +Specify the spacing required between normal paragraphs + + diff --git a/rosdocs/xsl/params/olink.fragid.xml b/rosdocs/xsl/params/olink.fragid.xml new file mode 100644 index 0000000..0e6d33d --- /dev/null +++ b/rosdocs/xsl/params/olink.fragid.xml @@ -0,0 +1,20 @@ + + +olink.fragid +string + + +olink.fragid +Names the fragment identifier portion of an OLink resolver query + + + + + + +Description + +FIXME: + + + diff --git a/rosdocs/xsl/params/olink.outline.ext.xml b/rosdocs/xsl/params/olink.outline.ext.xml new file mode 100644 index 0000000..f0ac801 --- /dev/null +++ b/rosdocs/xsl/params/olink.outline.ext.xml @@ -0,0 +1,20 @@ + + +olink.outline.ext +string + + +olink.outline.ext +The extension of OLink outline files + + + + + + +Description + +FIXME: + + + diff --git a/rosdocs/xsl/params/olink.pubid.xml b/rosdocs/xsl/params/olink.pubid.xml new file mode 100644 index 0000000..1b22818 --- /dev/null +++ b/rosdocs/xsl/params/olink.pubid.xml @@ -0,0 +1,20 @@ + + +olink.pubid +string + + +olink.pubid +Names the public identifier portion of an OLink resolver query + + + + + + +Description + +FIXME: + + + diff --git a/rosdocs/xsl/params/olink.resolver.xml b/rosdocs/xsl/params/olink.resolver.xml new file mode 100644 index 0000000..5926a16 --- /dev/null +++ b/rosdocs/xsl/params/olink.resolver.xml @@ -0,0 +1,20 @@ + + +olink.resolver + + + +olink.resolver +The root name of the OLink resolver (usually a script) + + + + + + +Description + +FIXME: + + + diff --git a/rosdocs/xsl/params/olink.sysid.xml b/rosdocs/xsl/params/olink.sysid.xml new file mode 100644 index 0000000..cc6f3bc --- /dev/null +++ b/rosdocs/xsl/params/olink.sysid.xml @@ -0,0 +1,20 @@ + + +olink.sysid +string + + +olink.sysid +Names the system identifier portion of an OLink resolver query + + + + + + +Description + +FIXME: + + + diff --git a/rosdocs/xsl/params/output.method.xml b/rosdocs/xsl/params/output.method.xml new file mode 100644 index 0000000..a98e221 --- /dev/null +++ b/rosdocs/xsl/params/output.method.xml @@ -0,0 +1,24 @@ + + +output.method +list +html +xml + + +output.method + + + + + + + + + +Description + +Selects the output method for chunked documents. + + + diff --git a/rosdocs/xsl/params/page.height.portrait.xml b/rosdocs/xsl/params/page.height.portrait.xml new file mode 100644 index 0000000..cffafd9 --- /dev/null +++ b/rosdocs/xsl/params/page.height.portrait.xml @@ -0,0 +1,64 @@ + + +page.height.portrait + + + +page.height.portrait +Specify the physical size of the long edge of the page + + + + + + 210mm + 11in + 8.5in + 2378mm + 1682mm + 1189mm + 841mm + 594mm + 420mm + 297mm + 210mm + 148mm + 105mm + 74mm + 52mm + 37mm + 1414mm + 1000mm + 707mm + 500mm + 353mm + 250mm + 176mm + 125mm + 88mm + 62mm + 44mm + 1297mm + 917mm + 648mm + 458mm + 324mm + 229mm + 162mm + 114mm + 81mm + 57mm + 40mm + 11in + + + + +Description + +The portrait page height is the length of the long +edge of the physical page. + + + + diff --git a/rosdocs/xsl/params/page.height.xml b/rosdocs/xsl/params/page.height.xml new file mode 100644 index 0000000..02ce412 --- /dev/null +++ b/rosdocs/xsl/params/page.height.xml @@ -0,0 +1,32 @@ + + +page.height + + + +page.height +The height of the physical page + + + + + + + + + + + + + + + +Description + +The page height is generally calculated from the +paper.type and +page.orientation. + + + + diff --git a/rosdocs/xsl/params/page.margin.bottom.xml b/rosdocs/xsl/params/page.margin.bottom.xml new file mode 100644 index 0000000..42487c8 --- /dev/null +++ b/rosdocs/xsl/params/page.margin.bottom.xml @@ -0,0 +1,24 @@ + + +page.margin.bottom + + + +page.margin.bottom +The bottom margin of the page + + + + +0.5in + + + +Description + +The bottom page margin is the distance from the bottom of the region-after +to the physical bottom of the page. + + + + diff --git a/rosdocs/xsl/params/page.margin.inner.xml b/rosdocs/xsl/params/page.margin.inner.xml new file mode 100644 index 0000000..cb3b3b8 --- /dev/null +++ b/rosdocs/xsl/params/page.margin.inner.xml @@ -0,0 +1,30 @@ + + +page.margin.inner + + + +page.margin.inner +The inner page margin + + + + + + 1.25in + 1in + + + + +Description + +The inner page margin is the distance from binding edge of the +page to the first column of text. In the left-to-right, top-to-bottom writing +direction, this is the left margin of recto pages. +The inner and outer margins are usually the same unless the output +is double-sided. + + + + diff --git a/rosdocs/xsl/params/page.margin.outer.xml b/rosdocs/xsl/params/page.margin.outer.xml new file mode 100644 index 0000000..d66e11a --- /dev/null +++ b/rosdocs/xsl/params/page.margin.outer.xml @@ -0,0 +1,30 @@ + + +page.margin.outer + + + +page.margin.outer +The outer page margin + + + + + + 0.75in + 1in + + + + +Description + +The outer page margin is the distance from non-binding edge of the +page to the last column of text. In the left-to-right, top-to-bottom writing +direction, this is the right margin of recto pages. +The inner and outer margins are usually the same unless the output +is double-sided. + + + + diff --git a/rosdocs/xsl/params/page.margin.top.xml b/rosdocs/xsl/params/page.margin.top.xml new file mode 100644 index 0000000..ba934b2 --- /dev/null +++ b/rosdocs/xsl/params/page.margin.top.xml @@ -0,0 +1,23 @@ + + +page.margin.top + + + +page.margin.top +The top margin of the page + + + + +0in + + + +Description + +The top page margin is the distance from the physical top of the +page to the top of the region-before. + + + diff --git a/rosdocs/xsl/params/page.orientation.xml b/rosdocs/xsl/params/page.orientation.xml new file mode 100644 index 0000000..22871ff --- /dev/null +++ b/rosdocs/xsl/params/page.orientation.xml @@ -0,0 +1,22 @@ + + +page.orientation + + + +page.orientation +Select the page orientation + + + + + + +Description + +In portrait orientation, the short edge is horizontal; in +landscape orientation, it is vertical. + + + + diff --git a/rosdocs/xsl/params/page.width.portrait.xml b/rosdocs/xsl/params/page.width.portrait.xml new file mode 100644 index 0000000..a00584e --- /dev/null +++ b/rosdocs/xsl/params/page.width.portrait.xml @@ -0,0 +1,62 @@ + + +page.width.portrait + + + +page.width.portrait +Specify the physical size of the short edge of the page + + + + + + 8.5in + 1682mm + 1189mm + 841mm + 594mm + 420mm + 297mm + 210mm + 148mm + 105mm + 74mm + 52mm + 37mm + 26mm + 1000mm + 707mm + 500mm + 353mm + 250mm + 176mm + 125mm + 88mm + 62mm + 44mm + 31mm + 917mm + 648mm + 458mm + 324mm + 229mm + 162mm + 114mm + 81mm + 57mm + 40mm + 28mm + 8.5in + + + + +Description + +The portrait page width is the length of the short +edge of the physical page. + + + + diff --git a/rosdocs/xsl/params/page.width.xml b/rosdocs/xsl/params/page.width.xml new file mode 100644 index 0000000..8c3f7b8 --- /dev/null +++ b/rosdocs/xsl/params/page.width.xml @@ -0,0 +1,31 @@ + + +page.width + + + +page.width +The width of the physical page + + + + + + + + + + + + + + + +Description + +The page width is generally calculated from the +paper.type and page.orientation. + + + + diff --git a/rosdocs/xsl/params/paper.type.xml b/rosdocs/xsl/params/paper.type.xml new file mode 100644 index 0000000..f909251 --- /dev/null +++ b/rosdocs/xsl/params/paper.type.xml @@ -0,0 +1,23 @@ + + +paper.type + + + +paper.type +Select the paper type + + + + + + +Description + +The paper type is a convenient way to specify the paper size. +The list of known paper sizes includes USletter and most of the A, +B, and C sizes. See page.width.portrait, for example. + + + + diff --git a/rosdocs/xsl/params/part.autolabel.xml b/rosdocs/xsl/params/part.autolabel.xml new file mode 100644 index 0000000..a8e0e5c --- /dev/null +++ b/rosdocs/xsl/params/part.autolabel.xml @@ -0,0 +1,21 @@ + + +part.autolabel +boolean + + +part.autolabel +Are parts and references enumerated? + + + + + + +Description + +If true (non-zero), unlabeled parts and references will be enumerated. + + + + diff --git a/rosdocs/xsl/params/passivetex.extensions.xml b/rosdocs/xsl/params/passivetex.extensions.xml new file mode 100644 index 0000000..12178a0 --- /dev/null +++ b/rosdocs/xsl/params/passivetex.extensions.xml @@ -0,0 +1,24 @@ + + +passivetex.extensions +boolean + + +passivetex.extensions +Enable PassiveTeX extensions? + + + + + + +Description + +If non-zero, +PassiveTeX +extensions will be used. At present, this consists of PDF bookmarks +and sorted index terms. + + + + diff --git a/rosdocs/xsl/params/phrase.propagates.style.xml b/rosdocs/xsl/params/phrase.propagates.style.xml new file mode 100644 index 0000000..ad17380 --- /dev/null +++ b/rosdocs/xsl/params/phrase.propagates.style.xml @@ -0,0 +1,22 @@ + + +phrase.propagates.style +boolean + + +phrase.propagates.style +Pass phrase role attribute through to HTML? + + + + + + +Description + +If true, the role attribute of phrase elements +will be passed through to the HTML as a class attribute on a +span that surrounds the phrase. + + + diff --git a/rosdocs/xsl/params/pixels.per.inch.xml b/rosdocs/xsl/params/pixels.per.inch.xml new file mode 100644 index 0000000..dbce98a --- /dev/null +++ b/rosdocs/xsl/params/pixels.per.inch.xml @@ -0,0 +1,26 @@ + + +pixels.per.inch +integer + + +pixels.per.inch +How many pixels are there per inch? + + + + + + + + +Description + +When lengths are converted to pixels, this value is used to +determine the size of a pixel. The default value is taken from the +XSL +Recommendation. + + + + diff --git a/rosdocs/xsl/params/points.per.em.xml b/rosdocs/xsl/params/points.per.em.xml new file mode 100644 index 0000000..17d1ac2 --- /dev/null +++ b/rosdocs/xsl/params/points.per.em.xml @@ -0,0 +1,22 @@ + + +points.per.em +number + + +points.per.em +Specify the nominal size of an em-space in points + + + + + + + + +Description + +FIXME: + + + diff --git a/rosdocs/xsl/params/preface.autolabel.xml b/rosdocs/xsl/params/preface.autolabel.xml new file mode 100644 index 0000000..739dcea --- /dev/null +++ b/rosdocs/xsl/params/preface.autolabel.xml @@ -0,0 +1,21 @@ + + +preface.autolabel +boolean + + +preface.autolabel +Are prefaces enumerated? + + + + + + +Description + +If true (non-zero), unlabeled prefaces will be enumerated. + + + + diff --git a/rosdocs/xsl/params/process.empty.source.toc.xml b/rosdocs/xsl/params/process.empty.source.toc.xml new file mode 100644 index 0000000..917145a --- /dev/null +++ b/rosdocs/xsl/params/process.empty.source.toc.xml @@ -0,0 +1,21 @@ + + +process.empty.source.toc +boolean + + +process.empty.source.toc +FIXME: + + + + + + +Description + +FIXME: + + + + diff --git a/rosdocs/xsl/params/process.source.toc.xml b/rosdocs/xsl/params/process.source.toc.xml new file mode 100644 index 0000000..0682eb9 --- /dev/null +++ b/rosdocs/xsl/params/process.source.toc.xml @@ -0,0 +1,21 @@ + + +process.source.toc +boolean + + +process.source.toc +FIXME: + + + + + + +Description + +FIXME: + + + + diff --git a/rosdocs/xsl/params/profile.arch.xml b/rosdocs/xsl/params/profile.arch.xml new file mode 100644 index 0000000..d29cb9c --- /dev/null +++ b/rosdocs/xsl/params/profile.arch.xml @@ -0,0 +1,33 @@ + + +profile.arch +string + + +profile.arch +Target profile for arch +attribute + + + + + + + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/rosdocs/xsl/params/profile.attribute.xml b/rosdocs/xsl/params/profile.attribute.xml new file mode 100644 index 0000000..5653723 --- /dev/null +++ b/rosdocs/xsl/params/profile.attribute.xml @@ -0,0 +1,29 @@ + + +profile.attribute +string + + +profile.attribute +Name of user-specified profiling attribute + + + + + + + + +Description + +This parameter is used in conjuction with profile.value. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/rosdocs/xsl/params/profile.condition.xml b/rosdocs/xsl/params/profile.condition.xml new file mode 100644 index 0000000..f8e7753 --- /dev/null +++ b/rosdocs/xsl/params/profile.condition.xml @@ -0,0 +1,33 @@ + + +profile.condition +string + + +profile.condition +Target profile for condition +attribute + + + + + + + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/rosdocs/xsl/params/profile.conformance.xml b/rosdocs/xsl/params/profile.conformance.xml new file mode 100644 index 0000000..1b4441e --- /dev/null +++ b/rosdocs/xsl/params/profile.conformance.xml @@ -0,0 +1,33 @@ + + +profile.conformance +string + + +profile.conformance +Target profile for conformance +attribute + + + + + + + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/rosdocs/xsl/params/profile.lang.xml b/rosdocs/xsl/params/profile.lang.xml new file mode 100644 index 0000000..9796138 --- /dev/null +++ b/rosdocs/xsl/params/profile.lang.xml @@ -0,0 +1,33 @@ + + +profile.lang +string + + +profile.lang +Target profile for lang +attribute + + + + + + + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/rosdocs/xsl/params/profile.os.xml b/rosdocs/xsl/params/profile.os.xml new file mode 100644 index 0000000..45172a5 --- /dev/null +++ b/rosdocs/xsl/params/profile.os.xml @@ -0,0 +1,33 @@ + + +profile.os +string + + +profile.os +Target profile for os +attribute + + + + + + + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/rosdocs/xsl/params/profile.revision.xml b/rosdocs/xsl/params/profile.revision.xml new file mode 100644 index 0000000..ea4769d --- /dev/null +++ b/rosdocs/xsl/params/profile.revision.xml @@ -0,0 +1,33 @@ + + +profile.revision +string + + +profile.revision +Target profile for revision +attribute + + + + + + + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/rosdocs/xsl/params/profile.revisionflag.xml b/rosdocs/xsl/params/profile.revisionflag.xml new file mode 100644 index 0000000..5a44373 --- /dev/null +++ b/rosdocs/xsl/params/profile.revisionflag.xml @@ -0,0 +1,33 @@ + + +profile.revisionflag +string + + +profile.revisionflag +Target profile for revisionflag +attribute + + + + + + + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/rosdocs/xsl/params/profile.role.xml b/rosdocs/xsl/params/profile.role.xml new file mode 100644 index 0000000..88645fa --- /dev/null +++ b/rosdocs/xsl/params/profile.role.xml @@ -0,0 +1,33 @@ + + +profile.role +string + + +profile.role +Target profile for role +attribute + + + + + + + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/rosdocs/xsl/params/profile.security.xml b/rosdocs/xsl/params/profile.security.xml new file mode 100644 index 0000000..9353632 --- /dev/null +++ b/rosdocs/xsl/params/profile.security.xml @@ -0,0 +1,33 @@ + + +profile.security +string + + +profile.security +Target profile for security +attribute + + + + + + + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/rosdocs/xsl/params/profile.separator.xml b/rosdocs/xsl/params/profile.separator.xml new file mode 100644 index 0000000..f48fd02 --- /dev/null +++ b/rosdocs/xsl/params/profile.separator.xml @@ -0,0 +1,22 @@ + + +profile.separator +string + + +profile.separator +Separator character for compound profile values + + + + + + + + +Description + +Separator character for compound profile values. + + + diff --git a/rosdocs/xsl/params/profile.userlevel.xml b/rosdocs/xsl/params/profile.userlevel.xml new file mode 100644 index 0000000..d2aeae0 --- /dev/null +++ b/rosdocs/xsl/params/profile.userlevel.xml @@ -0,0 +1,33 @@ + + +profile.userlevel +string + + +profile.userlevel +Target profile for userlevel +attribute + + + + + + + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/rosdocs/xsl/params/profile.value.xml b/rosdocs/xsl/params/profile.value.xml new file mode 100644 index 0000000..c22c5c9 --- /dev/null +++ b/rosdocs/xsl/params/profile.value.xml @@ -0,0 +1,36 @@ + + +profile.value +string + + +profile.value +Target profile for user-specified attribute + + + + + + + + +Description + +When you are using this parameter you must also specify name of +profiling attribute with parameter profile.attribute. + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/rosdocs/xsl/params/profile.vendor.xml b/rosdocs/xsl/params/profile.vendor.xml new file mode 100644 index 0000000..06800d8 --- /dev/null +++ b/rosdocs/xsl/params/profile.vendor.xml @@ -0,0 +1,33 @@ + + +profile.vendor +string + + +profile.vendor +Target profile for vendor +attribute + + + + + + + + +Description + +Value of this parameter specifies profiles which should be +included in the output. You can specify multiple profiles by +separating them by semicolon. You can change separator character by +profile.separator +parameter. + +This parameter has effect only when you are using profiling +stylesheets (profile-docbook.xsl, +profile-chunk.xsl, …) instead of normal +ones (docbook.xsl, +chunk.xsl, …). + + + diff --git a/rosdocs/xsl/params/punct.honorific.xml b/rosdocs/xsl/params/punct.honorific.xml new file mode 100644 index 0000000..c34143c --- /dev/null +++ b/rosdocs/xsl/params/punct.honorific.xml @@ -0,0 +1,23 @@ + + +punct.honorific +string + + +punct.honorific +Punctuation after an honorific in a personal name. + + + + + + + + +Description + +This parameter specifies the punctuation that should be added after an +honorific in a personal name. + + + diff --git a/rosdocs/xsl/params/qanda.defaultlabel.xml b/rosdocs/xsl/params/qanda.defaultlabel.xml new file mode 100644 index 0000000..58b0f8a --- /dev/null +++ b/rosdocs/xsl/params/qanda.defaultlabel.xml @@ -0,0 +1,23 @@ + + +qanda.defaultlabel +boolean + + +qanda.defaultlabel +Sets the default for defaultlabel on QandASet. + + + +number + + +Description + +If no defaultlabel attribute is specified on a QandASet, this +value is used. It must be one of the legal values for the defaultlabel +attribute. + + + + diff --git a/rosdocs/xsl/params/qanda.inherit.numeration.xml b/rosdocs/xsl/params/qanda.inherit.numeration.xml new file mode 100644 index 0000000..9005355 --- /dev/null +++ b/rosdocs/xsl/params/qanda.inherit.numeration.xml @@ -0,0 +1,22 @@ + + +qanda.inherit.numeration +boolean + + +qanda.inherit.numeration +Does enumeration of QandASet components inherit the numeration of parent elements? + + + + + + +Description + +If true (non-zero), numbered QandADiv elements and Questions and Answers inherit +the numeration of the ancestors of the QandASet. + + + + diff --git a/rosdocs/xsl/params/qandadiv.autolabel.xml b/rosdocs/xsl/params/qandadiv.autolabel.xml new file mode 100644 index 0000000..a3a62c4 --- /dev/null +++ b/rosdocs/xsl/params/qandadiv.autolabel.xml @@ -0,0 +1,21 @@ + + +qandadiv.autolabel +boolean + + +qandadiv.autolabel +Are divisions in QAndASets enumerated? + + + + + + +Description + +If true (non-zero), unlabeled qandadivs will be enumerated. + + + + diff --git a/rosdocs/xsl/params/refentry.generate.name.xml b/rosdocs/xsl/params/refentry.generate.name.xml new file mode 100644 index 0000000..6b2046e --- /dev/null +++ b/rosdocs/xsl/params/refentry.generate.name.xml @@ -0,0 +1,23 @@ + + +refentry.generate.name +boolean + + +refentry.generate.name +Output NAME header before 'RefName'(s)? + + + + + + +Description + +If true (non-zero), a "NAME" section title is output before the list +of 'RefName's. This parameter and +refentry.generate.title are mutually exclusive. + + + + diff --git a/rosdocs/xsl/params/refentry.generate.title.xml b/rosdocs/xsl/params/refentry.generate.title.xml new file mode 100644 index 0000000..d02fba9 --- /dev/null +++ b/rosdocs/xsl/params/refentry.generate.title.xml @@ -0,0 +1,26 @@ + + +refentry.generate.title +boolean + + +refentry.generate.title +Output title before 'RefName'(s)? + + + + + + + + +Description + +If true (non-zero), the reference page title or first name is +output before the list of 'RefName's. This parameter and +refentry.generate.name are mutually exclusive. + + + + + diff --git a/rosdocs/xsl/params/refentry.separator.xml b/rosdocs/xsl/params/refentry.separator.xml new file mode 100644 index 0000000..26d0ef0 --- /dev/null +++ b/rosdocs/xsl/params/refentry.separator.xml @@ -0,0 +1,22 @@ + + +refentry.separator +boolean + + +refentry.separator +Generate a separator between consecutive RefEntry elements? + + + + + + +Description + +If true, a separator will be generated between consecutive +reference pages. + + + + diff --git a/rosdocs/xsl/params/refentry.xref.manvolnum.xml b/rosdocs/xsl/params/refentry.xref.manvolnum.xml new file mode 100644 index 0000000..d790793 --- /dev/null +++ b/rosdocs/xsl/params/refentry.xref.manvolnum.xml @@ -0,0 +1,24 @@ + + +refentry.xref.manvolnum +boolean + + +refentry.xref.manvolnum +Output manvolnum as part of +refentry cross-reference? + + + + + + +Description + +if true (non-zero), the manvolnum is used when cross-referencing +refentrys, either with xref +or citerefentry. + + + + diff --git a/rosdocs/xsl/params/region.after.extent.xml b/rosdocs/xsl/params/region.after.extent.xml new file mode 100644 index 0000000..4eb863f --- /dev/null +++ b/rosdocs/xsl/params/region.after.extent.xml @@ -0,0 +1,24 @@ + + +region.after.extent + + + +region.after.extent +Specifies the height of the footer. + + + + + + + + +Description + +The region after extent is the height of the area where footers +are printed. + + + + diff --git a/rosdocs/xsl/params/region.before.extent.xml b/rosdocs/xsl/params/region.before.extent.xml new file mode 100644 index 0000000..363befb --- /dev/null +++ b/rosdocs/xsl/params/region.before.extent.xml @@ -0,0 +1,24 @@ + + +region.before.extent + + + +region.before.extent +Specifies the height of the header + + + + + + + + +Description + +The region before extent is the height of the area where headers +are printed. + + + + diff --git a/rosdocs/xsl/params/root.filename.xml b/rosdocs/xsl/params/root.filename.xml new file mode 100644 index 0000000..c62670f --- /dev/null +++ b/rosdocs/xsl/params/root.filename.xml @@ -0,0 +1,22 @@ + + +root.filename + + + +root.filename +Identifies the name of the root HTML file when chunking + + + + + + +Description + +The root.filename is the base filename for +the chunk created for the root of each document processed. + + + + diff --git a/rosdocs/xsl/params/rootid.xml b/rosdocs/xsl/params/rootid.xml new file mode 100644 index 0000000..49108ff --- /dev/null +++ b/rosdocs/xsl/params/rootid.xml @@ -0,0 +1,27 @@ + + +rootid +string + + +rootid +Specify the root element to format + + + + + + +Description + +If rootid is specified, it must be the +value of an ID that occurs in the document being formatted. The entire +document will be loaded and parsed, but formatting will begin at the +element identified, rather than at the root. For example, this allows +you to process only chapter 4 of a book. +Because the entire document is available to the processor, automatic +numbering, cross references, and other dependencies are correctly +resolved. + + + diff --git a/rosdocs/xsl/params/runinhead.default.title.end.punct.xml b/rosdocs/xsl/params/runinhead.default.title.end.punct.xml new file mode 100644 index 0000000..0fe7343 --- /dev/null +++ b/rosdocs/xsl/params/runinhead.default.title.end.punct.xml @@ -0,0 +1,21 @@ + + +runinhead.default.title.end.punct +string + + +runinhead.default.title.end.punct +Default punctuation character on a run-in-head + + + + + + +Description + +FIXME: + + + + diff --git a/rosdocs/xsl/params/runinhead.title.end.punct.xml b/rosdocs/xsl/params/runinhead.title.end.punct.xml new file mode 100644 index 0000000..a82487b --- /dev/null +++ b/rosdocs/xsl/params/runinhead.title.end.punct.xml @@ -0,0 +1,21 @@ + + +runinhead.title.end.punct +string + + +runinhead.title.end.punct +Characters that count as punctuation on a run-in-head + + + + + + +Description + +FIXME: + + + + diff --git a/rosdocs/xsl/params/sans.font.family.xml b/rosdocs/xsl/params/sans.font.family.xml new file mode 100644 index 0000000..1824b24 --- /dev/null +++ b/rosdocs/xsl/params/sans.font.family.xml @@ -0,0 +1,22 @@ + + +sans.font.family + + + +sans.font.family +The default sans-serif font family + + + +Helvetica + + +Description + +The default sans-serif font family. At the present, this isn't +actually used by the stylesheets. + + + + diff --git a/rosdocs/xsl/params/saxon.callouts.xml b/rosdocs/xsl/params/saxon.callouts.xml new file mode 100644 index 0000000..362c3b7 --- /dev/null +++ b/rosdocs/xsl/params/saxon.callouts.xml @@ -0,0 +1,23 @@ + + +saxon.callouts +boolean + + +saxon.callouts +Enable the callout extension + + + + + + +Description + +The callouts extension processes areaset +elements in ProgramListingCO and other text-based +callout elements. + + + + diff --git a/rosdocs/xsl/params/saxon.character.representation.xml b/rosdocs/xsl/params/saxon.character.representation.xml new file mode 100644 index 0000000..f0c14c1 --- /dev/null +++ b/rosdocs/xsl/params/saxon.character.representation.xml @@ -0,0 +1,23 @@ + + +saxon.character.representation +string + + +saxon.character.representation +Saxon character representation used in generated HTML pages + + + + + + +Description + +This character representation is used in files generated by chunking stylesheet. If +you want to suppress entity references for characters with direct representation +in default.encoding, set this parameter to value native. + + + + diff --git a/rosdocs/xsl/params/saxon.linenumbering.xml b/rosdocs/xsl/params/saxon.linenumbering.xml new file mode 100644 index 0000000..8b3d557 --- /dev/null +++ b/rosdocs/xsl/params/saxon.linenumbering.xml @@ -0,0 +1,24 @@ + + +saxon.linenumbering +boolean + + +saxon.linenumbering +Enable the line numbering extension + + + + + + +Description + +If true, verbatim environments (elements that have the +format='linespecific' notation attribute: address, literallayout, +programlisting, screen, synopsis) that specify line numbering will +have, surprise, line numbers. + + + + diff --git a/rosdocs/xsl/params/saxon.tablecolumns.xml b/rosdocs/xsl/params/saxon.tablecolumns.xml new file mode 100644 index 0000000..8a7482a --- /dev/null +++ b/rosdocs/xsl/params/saxon.tablecolumns.xml @@ -0,0 +1,23 @@ + + +saxon.tablecolumns +boolean + + +saxon.tablecolumns +Enable the table columns extension function + + + + + + +Description + +The table columns extension function adjusts the widths of table +columns in the HTML result to more accurately reflect the specifications +in the CALS table. + + + + diff --git a/rosdocs/xsl/params/section.autolabel.xml b/rosdocs/xsl/params/section.autolabel.xml new file mode 100644 index 0000000..d68966d --- /dev/null +++ b/rosdocs/xsl/params/section.autolabel.xml @@ -0,0 +1,21 @@ + + +section.autolabel +boolean + + +section.autolabel +Are sections enumerated? + + + + + + +Description + +If true (non-zero), unlabeled sections will be enumerated. + + + + diff --git a/rosdocs/xsl/params/section.label.includes.component.label.xml b/rosdocs/xsl/params/section.label.includes.component.label.xml new file mode 100644 index 0000000..124d233 --- /dev/null +++ b/rosdocs/xsl/params/section.label.includes.component.label.xml @@ -0,0 +1,22 @@ + + +section.label.includes.component.label +boolean + + +section.label.includes.component.label +Do section labels include the component label? + + + + + + +Description + +If true (non-zero), section labels are prefixed with the label of the +component that contains them. + + + + diff --git a/rosdocs/xsl/params/segmentedlist.as.table.xml b/rosdocs/xsl/params/segmentedlist.as.table.xml new file mode 100644 index 0000000..e7ce9c8 --- /dev/null +++ b/rosdocs/xsl/params/segmentedlist.as.table.xml @@ -0,0 +1,23 @@ + + +segmentedlist.as.table +boolean + + +segmentedlist.as.table +Format segmented lists as tables? + + + + + + + + +Description + +If non-zero, segmentedlists will be formatted as +tables. + + + diff --git a/rosdocs/xsl/params/shade.verbatim.style.xml b/rosdocs/xsl/params/shade.verbatim.style.xml new file mode 100644 index 0000000..34805ce --- /dev/null +++ b/rosdocs/xsl/params/shade.verbatim.style.xml @@ -0,0 +1,28 @@ + + +shade.verbatim.style + + + +shade.verbatim.style +Properties that specify the style of shaded verbatim listings + + + + + + 0 + #E0E0E0 + + + #E0E0E0 + + + + +Description + +FIXME: + + + diff --git a/rosdocs/xsl/params/shade.verbatim.xml b/rosdocs/xsl/params/shade.verbatim.xml new file mode 100644 index 0000000..5f054ff --- /dev/null +++ b/rosdocs/xsl/params/shade.verbatim.xml @@ -0,0 +1,20 @@ + + +shade.verbatim +boolean + + +shade.verbatim +Should verbatim environments be shaded? + + + + + + +Description + +FIXME: + + + diff --git a/rosdocs/xsl/params/show.comments.xml b/rosdocs/xsl/params/show.comments.xml new file mode 100644 index 0000000..1757fb4 --- /dev/null +++ b/rosdocs/xsl/params/show.comments.xml @@ -0,0 +1,24 @@ + + +show.comments +boolean + + +show.comments +Display comment elements? + + + +1 + + +Description + +If true (non-zero), comments will be displayed, otherwise they are suppressed. +Comments here refers to the comment element, +which will be renamed remark in DocBook V4.0, +not XML comments (<-- like this -->) which are unavailable. + + + + diff --git a/rosdocs/xsl/params/show.revisionflag.xml b/rosdocs/xsl/params/show.revisionflag.xml new file mode 100644 index 0000000..94360b5 --- /dev/null +++ b/rosdocs/xsl/params/show.revisionflag.xml @@ -0,0 +1,35 @@ + + +show.revisionflag +boolean + + +show.revisionflag +Enable decoration of elements that have a revisionflag + + + +0 + + +Description + + +If show.revisionflag is turned on, then the stylesheets +may produce additional markup designed to allow a CSS stylesheet to +highlight elements that have specific revisionflag settings. + +The markup inserted will be usually be either a <span> or <div> +with an appropriate class attribute. (The value of +the class attribute will be the same as the value of the revisionflag +attribute). In some contexts, for example tables, where extra markup +would be structurally illegal, the class attribute will be added to the +appropriate container element. + +In general, the stylesheets only test for revisionflag in contexts +where an importing stylesheet would have to redefine whole templates. +Most of the revisionflag processing is expected to be done by another +stylesheet, for example changebars.xsl. + + + diff --git a/rosdocs/xsl/params/spacing.paras.xml b/rosdocs/xsl/params/spacing.paras.xml new file mode 100644 index 0000000..f9fa226 --- /dev/null +++ b/rosdocs/xsl/params/spacing.paras.xml @@ -0,0 +1,23 @@ + + +spacing.paras +boolean + + +spacing.paras +Insert additional <p> elements for spacing? + + + + + + +Description + +When non-zero, additional, empty paragraphs are inserted in +several contexts (for example, around informal figures), to create a +more pleasing visual appearance in many browsers. + + + + diff --git a/rosdocs/xsl/params/suppress.navigation.xml b/rosdocs/xsl/params/suppress.navigation.xml new file mode 100644 index 0000000..a06568e --- /dev/null +++ b/rosdocs/xsl/params/suppress.navigation.xml @@ -0,0 +1,22 @@ + + +suppress.navigation +boolean + + +suppress.navigation +Disable header and footer navigation + + + +0 + + +Description + + +If suppress.navigation is turned on, header and +footer navigation will be suppressed. + + + diff --git a/rosdocs/xsl/params/table.border.color.xml b/rosdocs/xsl/params/table.border.color.xml new file mode 100644 index 0000000..18019df --- /dev/null +++ b/rosdocs/xsl/params/table.border.color.xml @@ -0,0 +1,22 @@ + + +table.border.color + + + +table.border.color + + + + + + + + + +Description + +FIXME: + + + diff --git a/rosdocs/xsl/params/table.border.padding.xml b/rosdocs/xsl/params/table.border.padding.xml new file mode 100644 index 0000000..0fc829b --- /dev/null +++ b/rosdocs/xsl/params/table.border.padding.xml @@ -0,0 +1,22 @@ + + +table.border.padding + + + +table.border.padding + + + + + + + + + +Description + +FIXME: + + + diff --git a/rosdocs/xsl/params/table.border.style.xml b/rosdocs/xsl/params/table.border.style.xml new file mode 100644 index 0000000..4f7e025 --- /dev/null +++ b/rosdocs/xsl/params/table.border.style.xml @@ -0,0 +1,22 @@ + + +table.border.style + + + +table.border.style + + + + + + + + + +Description + +FIXME: + + + diff --git a/rosdocs/xsl/params/table.border.thickness.xml b/rosdocs/xsl/params/table.border.thickness.xml new file mode 100644 index 0000000..953c418 --- /dev/null +++ b/rosdocs/xsl/params/table.border.thickness.xml @@ -0,0 +1,22 @@ + + +table.border.thickness + + + +table.border.thickness + + + + + + + + + +Description + +FIXME: + + + diff --git a/rosdocs/xsl/params/table.borders.with.css.xml b/rosdocs/xsl/params/table.borders.with.css.xml new file mode 100644 index 0000000..2054b73 --- /dev/null +++ b/rosdocs/xsl/params/table.borders.with.css.xml @@ -0,0 +1,23 @@ + + +table.borders.with.css +boolean + + +table.borders.with.css +Use CSS to specify table, row, and cell borders? + + + + + + + + +Description + +If true (non-zero), CSS will be used to draw table borders. + + + + diff --git a/rosdocs/xsl/params/table.cell.padding.xml b/rosdocs/xsl/params/table.cell.padding.xml new file mode 100644 index 0000000..5b3342f --- /dev/null +++ b/rosdocs/xsl/params/table.cell.padding.xml @@ -0,0 +1,27 @@ + + +table.cell.padding + + + +table.cell.padding + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + +Description + +FIXME: + + + diff --git a/rosdocs/xsl/params/table.entry.padding.xml b/rosdocs/xsl/params/table.entry.padding.xml new file mode 100644 index 0000000..4775f6c --- /dev/null +++ b/rosdocs/xsl/params/table.entry.padding.xml @@ -0,0 +1,22 @@ + + +table.entry.padding + + + +table.entry.padding + + + + + + + + + +Description + +FIXME: + + + diff --git a/rosdocs/xsl/params/tablecolumns.extension.xml b/rosdocs/xsl/params/tablecolumns.extension.xml new file mode 100644 index 0000000..7726312 --- /dev/null +++ b/rosdocs/xsl/params/tablecolumns.extension.xml @@ -0,0 +1,23 @@ + + +tablecolumns.extension +boolean + + +tablecolumns.extension +Enable the table columns extension function + + + + + + +Description + +The table columns extension function adjusts the widths of table +columns in the HTML result to more accurately reflect the specifications +in the CALS table. + + + + diff --git a/rosdocs/xsl/params/template.xml b/rosdocs/xsl/params/template.xml new file mode 100644 index 0000000..0b97c3a --- /dev/null +++ b/rosdocs/xsl/params/template.xml @@ -0,0 +1,22 @@ + + +[[NAME]] + + + +[[NAME]] + + + + + + + + + +Description + +FIXME: + + + diff --git a/rosdocs/xsl/params/tex.math.delims.xml b/rosdocs/xsl/params/tex.math.delims.xml new file mode 100644 index 0000000..d2e01f9 --- /dev/null +++ b/rosdocs/xsl/params/tex.math.delims.xml @@ -0,0 +1,24 @@ + + +tex.math.delims +boolean + + +tex.math.delims +Should be equations outputed for processing by TeX +automatically surrounded by math mode delimiters + + + + + + + + +Description + +For compatibility with DSSSL based DBTeXMath from Allin Cottrell +you should set this parameter to 0. + + + diff --git a/rosdocs/xsl/params/tex.math.file.xml b/rosdocs/xsl/params/tex.math.file.xml new file mode 100644 index 0000000..566177a --- /dev/null +++ b/rosdocs/xsl/params/tex.math.file.xml @@ -0,0 +1,24 @@ + + +tex.math.file +string + + +tex.math.file +Name of temporary file for generating images from equations + + + + + + + + +Description + +Name of auxiliary file for TeX equations. This file can be +processed by dvi2bitmap to get bitmap versions of equations for HTML +output. + + + diff --git a/rosdocs/xsl/params/tex.math.in.alt.xml b/rosdocs/xsl/params/tex.math.in.alt.xml new file mode 100644 index 0000000..0b956c6 --- /dev/null +++ b/rosdocs/xsl/params/tex.math.in.alt.xml @@ -0,0 +1,56 @@ + + +tex.math.in.alt +string + + +tex.math.in.alt +TeX notation used for equations + + + + + + + + +Description + +If you want type math directly in TeX notation in equations, +this parameter specifies notation used. Currently are supported two +values -- plain and latex. Empty +value means that you are not using TeX math at all. + +Preferred way for including TeX alternative of math is inside of +textobject element. Eg.: + + + + + + +E=mc squared +E=mc^2 + +]]> + +If you are using graphic element, you can +store TeX inside alt element: + + +a^2+b^2=c^2 + +]]> + +If you want use this feature, you should process your FO with +PassiveTeX, which only supports TeX math notation. When calling +stylsheet, don't forget to specify also +passivetex.extensions=1. + +If you want equations in HTML, just process generated file +tex-math-equations.tex by TeX or LaTeX. Then run +dvi2bitmap program on result DVI file. You will get images for +equations in your document. + + + diff --git a/rosdocs/xsl/params/textinsert.extension.xml b/rosdocs/xsl/params/textinsert.extension.xml new file mode 100644 index 0000000..8a3a0f2 --- /dev/null +++ b/rosdocs/xsl/params/textinsert.extension.xml @@ -0,0 +1,22 @@ + + +textinsert.extension +boolean + + +textinsert.extension +Enable the textinsert extension element + + + + + + +Description + +The textinsert extension element inserts the contents of a +a file into the result tree (as text). + + + + diff --git a/rosdocs/xsl/params/title.font.family.xml b/rosdocs/xsl/params/title.font.family.xml new file mode 100644 index 0000000..4608560 --- /dev/null +++ b/rosdocs/xsl/params/title.font.family.xml @@ -0,0 +1,22 @@ + + +title.font.family + + + +title.font.family +The default font family for titles + + + +Helvetica + + +Description + +The title font family is used for titles (chapter, section, figure, +etc.) + + + + diff --git a/rosdocs/xsl/params/title.margin.left.xml b/rosdocs/xsl/params/title.margin.left.xml new file mode 100644 index 0000000..49f6c1f --- /dev/null +++ b/rosdocs/xsl/params/title.margin.left.xml @@ -0,0 +1,23 @@ + + +title.margin.left + + + +title.margin.left +Adjust the left margin for titles + + + + + + + + +Description + +This parameter adjusts the left margin for titles. + + + + diff --git a/rosdocs/xsl/params/toc.indent.width.xml b/rosdocs/xsl/params/toc.indent.width.xml new file mode 100644 index 0000000..5ca83a4 --- /dev/null +++ b/rosdocs/xsl/params/toc.indent.width.xml @@ -0,0 +1,28 @@ + + +toc.indent.width +float + + +toc.indent.width +Amount of indentation for TOC entries + + + + + + + + +Description + +Specifies, in points, the distance by which each level of the +TOC is indented from its parent. + +This value is expressed in points, without +a unit (in other words, it is a bare number). Using a bare number allows the stylesheet +to perform calculations that would otherwise have to be performed by the FO processor +because not all processors support expressions. + + + diff --git a/rosdocs/xsl/params/toc.list.type.xml b/rosdocs/xsl/params/toc.list.type.xml new file mode 100644 index 0000000..a0475b8 --- /dev/null +++ b/rosdocs/xsl/params/toc.list.type.xml @@ -0,0 +1,25 @@ + + +toc.list.type +list +dl +ul +ol + + +toc.list.type +Type of HTML list element to use for Tables of Contents + + + +dl + + +Description + +When an automatically generated Table of Contents (or List of Titles) +is produced, this HTML element will be used to make the list. + + + + diff --git a/rosdocs/xsl/params/toc.margin.properties.xml b/rosdocs/xsl/params/toc.margin.properties.xml new file mode 100644 index 0000000..0816921 --- /dev/null +++ b/rosdocs/xsl/params/toc.margin.properties.xml @@ -0,0 +1,20 @@ + + +toc.margin.properties +FIXME: + + + + + 0.5em + 1em + 2em + 0.5em + 1em + 2em + + +Description +FIXME: + + diff --git a/rosdocs/xsl/params/toc.section.depth.xml b/rosdocs/xsl/params/toc.section.depth.xml new file mode 100644 index 0000000..3051219 --- /dev/null +++ b/rosdocs/xsl/params/toc.section.depth.xml @@ -0,0 +1,23 @@ + + +toc.section.depth +integer + + +toc.section.depth +How deep should recursive sections appear +in the TOC? + + + +2 + + +Description + +Specifies the depth to which recursive sections should appear in the +TOC. + + + + diff --git a/rosdocs/xsl/params/ulink.footnotes.xml b/rosdocs/xsl/params/ulink.footnotes.xml new file mode 100644 index 0000000..6de2640 --- /dev/null +++ b/rosdocs/xsl/params/ulink.footnotes.xml @@ -0,0 +1,24 @@ + + +ulink.footnotes +boolean + + +ulink.footnotes +Generate footnotes for ULinks? + + + + + + + + +Description + +If non-zero, the URL of each ULink will +appear as a footnote. Not yet implemented! + + + + diff --git a/rosdocs/xsl/params/ulink.hyphenate.xml b/rosdocs/xsl/params/ulink.hyphenate.xml new file mode 100644 index 0000000..4c4fc84 --- /dev/null +++ b/rosdocs/xsl/params/ulink.hyphenate.xml @@ -0,0 +1,28 @@ + + +ulink.hyphenate +string + + +ulink.hyphenate +Allow URLs to be automatically hyphenated + + + + + + + + +Description + +If not empty, the specified character (or more generally, content) is +added to URLs after every /. If the character specified is a +Unicode soft hyphen (0x00AD) or Unicode zero-width space (0x200B), some FO +processors will be able to reasonably hyphenate long URLs. + +As of 28 Jan 2002, discretionary hyphens are more widely and correctly +supported than zero-width spaces for this purpose. + + + diff --git a/rosdocs/xsl/params/ulink.show.xml b/rosdocs/xsl/params/ulink.show.xml new file mode 100644 index 0000000..be6bcc2 --- /dev/null +++ b/rosdocs/xsl/params/ulink.show.xml @@ -0,0 +1,24 @@ + + +ulink.show +boolean + + +ulink.show +Display URLs after ulinks? + + + + + + + + +Description + +If non-zero, the URL of each ULink will +appear after the text of the link. If the text of the link and the URL +are identical, the URL is suppressed. + + + diff --git a/rosdocs/xsl/params/ulink.target.xml b/rosdocs/xsl/params/ulink.target.xml new file mode 100644 index 0000000..010effe --- /dev/null +++ b/rosdocs/xsl/params/ulink.target.xml @@ -0,0 +1,22 @@ + + +ulink.target +string + + +ulink.target +The HTML anchor target for ULinks + + + + + + +Description + +If ulink.target is set, its value will +be used for the target attribute +on anchors generated for ulinks. + + + diff --git a/rosdocs/xsl/params/use.extensions.xml b/rosdocs/xsl/params/use.extensions.xml new file mode 100644 index 0000000..721bf59 --- /dev/null +++ b/rosdocs/xsl/params/use.extensions.xml @@ -0,0 +1,24 @@ + + +use.extensions +boolean + + +use.extensions +Enable extensions + + + + + + +Description + +If non-zero, extensions may be used. Each extension is +further controlled by its own parameter. But if +use.extensions is zero, no extensions will +be used. + + + + diff --git a/rosdocs/xsl/params/use.id.as.filename.xml b/rosdocs/xsl/params/use.id.as.filename.xml new file mode 100644 index 0000000..90beb8d --- /dev/null +++ b/rosdocs/xsl/params/use.id.as.filename.xml @@ -0,0 +1,23 @@ + + +use.id.as.filename +boolean + + +use.id.as.filename +Use ID value of chunk elements as the filename? + + + + + + +Description + +If use.id.as.filename +is non-zero, the filename of chunk elements that have IDs will be +derived from the ID value. + + + + diff --git a/rosdocs/xsl/params/use.id.function.xml b/rosdocs/xsl/params/use.id.function.xml new file mode 100644 index 0000000..b9ceb58 --- /dev/null +++ b/rosdocs/xsl/params/use.id.function.xml @@ -0,0 +1,25 @@ + + +use.id.function +boolean + + +use.id.function +Use the XPath id() function to find link targets? + + + + + + +Description + +If 1, the stylesheets use the id() function +to find the targets of cross reference elements. This is more +efficient, but only works if your XSLT processor implements the +id() function, naturally. +THIS PARAMETER IS NOT SUPPORTED. IT IS ALWAYS ASSUMED TO BE 1. +SEE xref.xsl IF YOU NEED TO TURN IT OFF. + + + diff --git a/rosdocs/xsl/params/use.svg.xml b/rosdocs/xsl/params/use.svg.xml new file mode 100644 index 0000000..041d1ad --- /dev/null +++ b/rosdocs/xsl/params/use.svg.xml @@ -0,0 +1,25 @@ + + +use.svg +boolean + + +use.svg +Allow SVG in the result tree? + + + + + + + + +Description + +If non-zero, SVG will be considered an acceptable image format. SVG +is passed through to the result tree, so correct rendering of the resulting +diagram depends on the formatter (FO processor or web browser) that is used +to process the output from the stylesheet. + + + diff --git a/rosdocs/xsl/params/variablelist.as.blocks.xml b/rosdocs/xsl/params/variablelist.as.blocks.xml new file mode 100644 index 0000000..40d0521 --- /dev/null +++ b/rosdocs/xsl/params/variablelist.as.blocks.xml @@ -0,0 +1,27 @@ + + +variablelist.as.blocks +boolean + + +variablelist.as.blocks +Format variablelists lists as blocks? + + + + + + + + +Description + +If non-zero, variablelists will be formatted as +blocks. + +If you have long terms, proper list markup in the FO case may produce +unattractive lists. By setting this parameter, you can force the stylesheets +to produce block markup instead of proper lists. + + + diff --git a/rosdocs/xsl/params/variablelist.as.table.xml b/rosdocs/xsl/params/variablelist.as.table.xml new file mode 100644 index 0000000..92eb57f --- /dev/null +++ b/rosdocs/xsl/params/variablelist.as.table.xml @@ -0,0 +1,27 @@ + + +variablelist.as.table +boolean + + +variablelist.as.table +Format variablelists as tables? + + + + + + + + +Description + +If non-zero, variablelists will be formatted as +tables. + +This parameter only applys to the HTML transformations. In the +FO case, proper list markup is robust enough to handle the formatting. +But see also variablelist.as.blocks. + + + diff --git a/rosdocs/xsl/params/verbatim.properties.xml b/rosdocs/xsl/params/verbatim.properties.xml new file mode 100644 index 0000000..92fadf0 --- /dev/null +++ b/rosdocs/xsl/params/verbatim.properties.xml @@ -0,0 +1,18 @@ + + +verbatim.properties +FIXME: + + + + + + 0.8em + 1em + 1.2em + + +Description +FIXME: + + diff --git a/rosdocs/xsl/params/xep.extensions.xml b/rosdocs/xsl/params/xep.extensions.xml new file mode 100644 index 0000000..9e5caff --- /dev/null +++ b/rosdocs/xsl/params/xep.extensions.xml @@ -0,0 +1,23 @@ + + +xep.extensions +boolean + + +xep.extensions +Enable XEP extensions? + + + + + + +Description + +If non-zero, +XEP +extensions will be used. XEP extensions consists of PDF bookmarks and document information. + + + + diff --git a/rosdocs/xsl/params/xref.properties.xml b/rosdocs/xsl/params/xref.properties.xml new file mode 100644 index 0000000..65dc99a --- /dev/null +++ b/rosdocs/xsl/params/xref.properties.xml @@ -0,0 +1,15 @@ + + +xref.properties +FIXME: + + + + + + + +Description +FIXME: + + diff --git a/rosdocs/xsl/profiling/ChangeLog b/rosdocs/xsl/profiling/ChangeLog new file mode 100644 index 0000000..bbc71df --- /dev/null +++ b/rosdocs/xsl/profiling/ChangeLog @@ -0,0 +1,18 @@ +2002-05-15 Jirka Kosek + + * xsl2profile.xsl: Hopefully fixed bug #549736. Single-pass profiling should also work in FO stylesheet from now. + +2002-03-18 Norman Walsh + + * strip-attributes.xsl: New file. + +2002-03-03 Jirka Kosek + + * profile-mode.xsl: Added new stylesheet parameters for profiling. + + * profile.xsl: New file. + +2002-03-01 Jirka Kosek + + * profile-mode.xsl, xsl2profile.xsl: New file. + diff --git a/rosdocs/xsl/profiling/profile-mode.xsl b/rosdocs/xsl/profiling/profile-mode.xsl new file mode 100644 index 0000000..b006475 --- /dev/null +++ b/rosdocs/xsl/profiling/profile-mode.xsl @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + diff --git a/rosdocs/xsl/profiling/profile.xsl b/rosdocs/xsl/profiling/profile.xsl new file mode 100644 index 0000000..69f3655 --- /dev/null +++ b/rosdocs/xsl/profiling/profile.xsl @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/profiling/strip-attributes.xsl b/rosdocs/xsl/profiling/strip-attributes.xsl new file mode 100644 index 0000000..d6f55fb --- /dev/null +++ b/rosdocs/xsl/profiling/strip-attributes.xsl @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/profiling/xsl2profile.xsl b/rosdocs/xsl/profiling/xsl2profile.xsl new file mode 100644 index 0000000..3f7bfe9 --- /dev/null +++ b/rosdocs/xsl/profiling/xsl2profile.xsl @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + This file was created automatically by xml2profile + + from the DocBook XSL stylesheets. Do not edit this file. + + + + + + + + + dummy + + exslt + + + exslt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $profiled-nodes + + + + + + + + + + + + + + + + + + + key('id',$rootid) + $profiled-nodes//*[@id=$rootid] + + + + + + + + + + + + + + + + + $profiled-nodes + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/template/ChangeLog b/rosdocs/xsl/template/ChangeLog new file mode 100644 index 0000000..1ac0458 --- /dev/null +++ b/rosdocs/xsl/template/ChangeLog @@ -0,0 +1,23 @@ +2002-01-28 Norman Walsh + + * testtemplate.xml: Bug #502952: testtemple.xml was incorrect + +2001-08-01 Norman Walsh + + * titlepage.xsl: Add t and param to the excluded result prefixes + +2001-05-21 Norman Walsh + + * titlepage.xsl: Reworked titlepage template processing to support use of more interesting + predicates. + + Note: in previous versions, at most one title, subtitle, or titleabbrev + element would be processed for each title page. In the new design, if you + have multiple title, subtitle, or titleabbrev elements inside an info + wrapper (you shouldn't!), they will all be processed. + +2001-04-02 Norman Walsh + + * README, biblioentry.xsl, testtemplate.xml, titlepage.xsl: + New file. + diff --git a/rosdocs/xsl/template/README b/rosdocs/xsl/template/README new file mode 100644 index 0000000..a84d084 --- /dev/null +++ b/rosdocs/xsl/template/README @@ -0,0 +1,15 @@ +This directory contains rudimentary support for the notion of +stylesheet templates. + +The idea is that if you want to change the behavior of the +stylesheets, for example, processing different bibliography +elements, you will construct a tempate document that describes +what you want and then process that template with the "template" +stylesheet. + +The result of this processing will be a customization layer for +the DocBook XSL Stylesheets that does what you want. This +removes the stylesheet customizer from the burdon of figuring +out how the stylesheets work and modifying them. + +In theory, anyway... \ No newline at end of file diff --git a/rosdocs/xsl/template/biblioentry.xsl b/rosdocs/xsl/template/biblioentry.xsl new file mode 100644 index 0000000..44a26dd --- /dev/null +++ b/rosdocs/xsl/template/biblioentry.xsl @@ -0,0 +1,72 @@ + + + + + + + biblioentry + + + id + + object.id + + + + + {$id} + {name(.)} + + + {$id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bibliography.mode + + + + + + + + + + bibliography.mode + + + diff --git a/rosdocs/xsl/template/testtemplate.xml b/rosdocs/xsl/template/testtemplate.xml new file mode 100644 index 0000000..b8c5ff5 --- /dev/null +++ b/rosdocs/xsl/template/testtemplate.xml @@ -0,0 +1,35 @@ + + + + + + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + <hr/> + </t:titlepage-separator> + + <t:titlepage-before side="recto"> + </t:titlepage-before> + + <t:titlepage-before side="verso"> + </t:titlepage-before> +</t:titlepage> + +</t:templates> diff --git a/rosdocs/xsl/template/titlepage.xsl b/rosdocs/xsl/template/titlepage.xsl new file mode 100644 index 0000000..8ae895b --- /dev/null +++ b/rosdocs/xsl/template/titlepage.xsl @@ -0,0 +1,1129 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:fo="http://www.w3.org/1999/XSL/Format" + xmlns:t="http://nwalsh.com/docbook/xsl/template/1.0" + xmlns:param="http://nwalsh.com/docbook/xsl/template/1.0/param" + xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" + exclude-result-prefixes="doc t param" + version='1.0'> + +<!-- ******************************************************************** + $Id$ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://nwalsh.com/docbook/xsl/ for copyright + and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<doc:reference xmlns=""> +<referenceinfo> +<releaseinfo role="meta"> +$Id$ +</releaseinfo> +<author><surname>Walsh</surname> +<firstname>Norman</firstname></author> +<copyright><year>1999</year><year>2000</year> +<holder>Norman Walsh</holder> +</copyright> +</referenceinfo> +<title>Template Stylesheet Reference + + +
    Introduction + +This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets. + +This is not intended to be user documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in how it +works. + +Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-) +
    +
    + + + + + + + + + + + +Construct a stylesheet for the templates provided + + +The t:templates element is the root of a +set of templates. This template creates an appropriate +xsl:stylesheet for the templates. + +If the t:templates element has a +base-stylesheet attribute, an +xsl:import statement is constructed for it. + + + + + + 1.0 + + + + This stylesheet was created by + template/titlepage.xsl; + do not edit it by hand. + + + + + + + + + + + + + + + + + + + + +Copy xsl: elements straight through + + +This template simply copies the xsl: elements +straight through into the result tree. + + + + + + + + + + +Create the templates necessary to construct a title page + + +The t:titlepage element creates a set of +templates for processing the titlepage for an element. The +root of this template set is the template named +wrapper.titlepage. That is the +template that should be called to generate the title page. + + +The t:titlepage element has three attributes: + + +element +The name of the source document element for which +these templates apply. In other words, to make a title page for the +article element, set the +element attribute to +article. This attribute is required. + + +wrapper +The entire title page can be wrapped with an element. +This attribute identifies that element. + + +class +If the class attribute +is set, a class attribute with this +value will be added to the wrapper element that surrounds the entire +title page. + + + + + +Any other attributes are copied through literally to the +wrapper element. + +The content of a t:titlepage is one or +more t:titlepage-content, +t:titlepage-separator, and +t:titlepage-before elements. + +Each of these elements may be provided for the recto +and verso sides of the title page. + + + + + + + + + + + + + + .titlepage + + + + + + + + + .titlepage.before.recto + + + + + + + .titlepage.recto + + + + + + + .titlepage.before.verso + + + + + + + .titlepage.verso + + + + + + + .titlepage.separator + + + + + + + + + + + + + + * + + + .titlepage.recto.mode + + + if an element isn't found in this mode, + + try the generic titlepage.mode + + + . + titlepage.mode + + + + + + + + * + + + .titlepage.verso.mode + + + if an element isn't found in this mode, + + try the generic titlepage.mode + + + . + titlepage.mode + + + + + + + + + + + + + + + + + + + .titlepage. + + .auto.mode + + + + + + .titlepage. + + .style + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + + .titlepage. + + .mode + + + + + + + + + + + + + + +Copy t:titlepage attributes + + +This template copies all of the other attributes +from a t:titlepage element onto the specified +wrapper. + + + + + + + + + + + + + + + + + + +Create templates for the content of one side of a title page + + +The title page content, that is, the elements from the source +document that are rendered on the title page, can be controlled independently +for the recto and verso sides of the title page. + +The t:titlepage-content element has two attributes: + + +side +Identifies the side of the page to which this title +page content applies. The +side attribute is required and +must be set to either +recto or +verso. In addition, you must specify +exactly one t:titlepage-content for each side +within each t:titlepage. + + +order +Indicates how the order of the elements presented on +the title page is determined. If the +order is +document, the elements are presented +in document order. Otherwise (if the +order is +stylesheet), the elements are presented +in the order that they appear in the template (and consequently in +the stylesheet). + + + + + +The content of a t:titlepage-content element is +a list of element names. These names should be unqualified. They identify +the elements in the source document that should appear on the title page. + + +Each element may have a single attribute: +predicate. The value of this +attribute is used as a predicate for the expression that matches +the element on which it occurs. + +In other words, to put only the first three authors on the +recto-side of a title +page, you could specify: + + + + + + +]]> + + +Usually, the elements so named are empty. But it is possible to +make one level of selection within them. Suppose that you want to +process authorgroup elements on the title page, but +you want to select only proper authors, editors, or corporate authors, +not collaborators or other credited authors. + +In that case, you can put a t:or group inside +the authorgroup element: + + + + + + + + + + + + +]]> + + +This will have the effect of automatically generating a template +for processing authorgroups in the title page mode, +selecting only the specified children. If you need more complex processing, +you'll have to construct the templates by hand. + + + + + + + + + + + + + Illegal value specified for @side + on t:titlepage-content: + + + + + + The @side attribute is required on + t:titlepage-content. + + + + + + + + .titlepage. + + .auto.mode + + + + + + + .titlepage. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Create templates for the separator + + +The title page is separated from the content which follows it by +the markup specified in the t:titlepage-separator +element. + + + + + + + + + .titlepage.separator + + + + + + + + + + +Create templates for what precedes a title page + + +Each side of the title page is preceded by the markup specified +in the t:titlepage-before element for that +side. + + + + + + + + + .titlepage.before. + + + + + + + + + + + +Copy elements + + +This template simply copies the elements that it applies to +straight through into the result tree. + + + + + + + + + + + + + +Copy attributes + + +This template simply copies the attributes that it applies to +straight through into the result tree. + + + + + + + + + + + + +Create rules to process titlepage elements in document order + + +This template is called to process all of the children of the +t:titlepage-content element. It creates the hairy +select expression necessary to process each of those elements in +the title page. + +Note that this template automatically handles the case where +some DocBook elements, like title and subtitle, can occur both inside +the *info elements where metadata is usually stored and outside. + + +It also automatically calculates the name for the *info container +and handles elements that have historically had containers with different +names. + + + + + + + + info + + + + + + artheader + + + + + + + + + + docinfo + + + + + + + + + + recto + + + + + + + .titlepage. + + .auto.mode + + + + | + + + + / + + + + + + + | + + / + + + + + + + + | + + + + + + + + + + +Create rules to process titlepage elements in stylesheet order + + +This template is called to process all of the children of the +t:titlepage-content element. It creates the set +of xsl:apply-templates elements necessary +process each of those elements in the title page. + +Note that this template automatically handles the case where +some DocBook elements, like title and subtitle, can occur both inside +the *info elements where metadata is usually stored and outside. + + +It also automatically calculates the name for the *info container +and handles elements that have historically had containers with different +names. + + + + + + + + info + + + + + + artheader + + + + + + + + + + docinfo + + + + + + + + + recto + + + + + + .titlepage. + + .auto.mode + + + + + + + + + + + + .titlepage. + + .style + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Force can only be used with named-templates. + + + + + + + + + + + + + + + / + + + + + + + + + + / + + + + + + + + + + + + + + + / + + + + + + + + + + / + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / + + + + + + + + + + + + + + + + + / + + + + + + + + + + + + + + + + +Create templates for special rules + + +This template is called to process all of the descendants of the +t:titlepage-content element that require special +processing. At present, that's just t:or elements. + + + + + + + + + + + recto + + + + + + .titlepage. + + .auto.mode + + + + + + + + + + + + + + + + + + + + + + + + + + + +Create template for individual special rules + + +This template is called to process the children of special +template elements. + + + + + + + + + + + recto + + + + + + .titlepage. + + .auto.mode + + + + + + + + + + + + + + + +Process the t:or special rule + + +This template processes t:or. + + + + + + + + + + recto + + + + + + .titlepage. + + .auto.mode + + + + + + + + + + + + + + + + +Process the t:or special rule in +titlepage.subrules mode + + +The titlepage.subrules mode doesn't apply to t:or, so just +reprocess this node in the normal mode. + + + + + + + + + + +Construct the "or-list" used in the select attribute for +special rules. + + +Walk through each of the children of t:or, producing the +text of the select attribute. + + + + + + + + + + + + + + + + + + + + + | + + + + + + + + + + diff --git a/rosdocs/xsl/tools/ChangeLog b/rosdocs/xsl/tools/ChangeLog new file mode 100644 index 0000000..d691e3b --- /dev/null +++ b/rosdocs/xsl/tools/ChangeLog @@ -0,0 +1,8 @@ +2001-08-01 Norman Walsh + + * profile.xsl: Moved profile.xsl to profile subdirectory + +2001-07-31 Jirka Kosek + + * profile.xsl: New file. + diff --git a/rosdocs/xsl/tools/olink/ChangeLog b/rosdocs/xsl/tools/olink/ChangeLog new file mode 100644 index 0000000..afcf4f5 --- /dev/null +++ b/rosdocs/xsl/tools/olink/ChangeLog @@ -0,0 +1,13 @@ +2001-08-11 Robert Stayton + + * olink-common.xsl: Fixed the attributes that were all being saved to the + same id attribute. + Also added lang as a supported attribute. + + * olinksum.dtd: Added lang as a supported attribute. + +2001-08-01 Norman Walsh + + * olink-common.xsl, olink.xsl, olinkchunk.xsl, olinksum.dtd: + New file. + diff --git a/rosdocs/xsl/tools/olink/olink-common.xsl b/rosdocs/xsl/tools/olink/olink-common.xsl new file mode 100644 index 0000000..8bb50ee --- /dev/null +++ b/rosdocs/xsl/tools/olink/olink-common.xsl @@ -0,0 +1,193 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/rosdocs/xsl/tools/olink/olink.xsl b/rosdocs/xsl/tools/olink/olink.xsl new file mode 100644 index 0000000..e30516c --- /dev/null +++ b/rosdocs/xsl/tools/olink/olink.xsl @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/tools/olink/olinkchunk.xsl b/rosdocs/xsl/tools/olink/olinkchunk.xsl new file mode 100644 index 0000000..f8867cb --- /dev/null +++ b/rosdocs/xsl/tools/olink/olinkchunk.xsl @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/tools/olink/olinksum.dtd b/rosdocs/xsl/tools/olink/olinksum.dtd new file mode 100644 index 0000000..3ff9a62 --- /dev/null +++ b/rosdocs/xsl/tools/olink/olinksum.dtd @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/tools/profile/ChangeLog b/rosdocs/xsl/tools/profile/ChangeLog new file mode 100644 index 0000000..a41cd0b --- /dev/null +++ b/rosdocs/xsl/tools/profile/ChangeLog @@ -0,0 +1,12 @@ +2002-03-03 Jirka Kosek + + * profile.xsl: Old profiling stylesheet moved to new location. Old stylesheet issues warning when invoked. We should remove it completely after some time. + +2001-12-07 Jirka Kosek + + * profile.xsl: Added support for multiple targets in one parameter + +2001-08-01 Norman Walsh + + * profile.xsl: New file. + diff --git a/rosdocs/xsl/tools/profile/profile.xsl b/rosdocs/xsl/tools/profile/profile.xsl new file mode 100644 index 0000000..571c355 --- /dev/null +++ b/rosdocs/xsl/tools/profile/profile.xsl @@ -0,0 +1,15 @@ + + + + WARNING: +Profiling stylesheet has moved to new location profiling/profile.xsl. +This new version uses different names of parameters. Please use e.g. +"profile.os" instead of simply "os". You can now also perform +profiling in a single step as an integral part of transformation. Check +new stylesheets profile-docbook.xsl and profile-chunk.xsl. + + + + + diff --git a/rosdocs/xsl/xhtml/ChangeLog b/rosdocs/xsl/xhtml/ChangeLog new file mode 100644 index 0000000..c51cdba --- /dev/null +++ b/rosdocs/xsl/xhtml/ChangeLog @@ -0,0 +1,61 @@ +2002-05-17 Norman Walsh + + * Makefile: Make the add-new rule actually, uhm, add new files. + +2002-03-25 Norman Walsh + + * Makefile: Improved rules + +2002-03-01 Jirka Kosek + + * Makefile: First portion of new profiling code. New stylesheet parameters will come later. + +2002-03-01 Norman Walsh + + * html2xhtml.xsl: Move stylesheet.result.type out of param and put it explicitly in each stylesheet because it has to be different + +2002-02-21 Norman Walsh + + * Makefile: Make sure xhtml directory gets built properly + +2002-02-20 Norman Walsh + + * .cvsignore, xslfiles.gen: Autogenerated + +2002-02-07 Norman Walsh + + * html2xhtml.xsl: Make sure that uses of the xsl:element element preserve the XHTML namespace + +2002-01-09 Norman Walsh + + * html2xhtml.xsl: Don't change the html.ext parameter + +2001-12-30 Norman Walsh + + * .cvsignore, Makefile, chunk.xsl, docbook.xsl, html2xhtml.xsl, xslfiles.gen: + Completely reworked strategy for XHTML + +2001-12-04 Norman Walsh + + * docbook.xsl: Feature ##469979 add xmlns for xhtml + +2001-10-16 Norman Walsh + + * xtchunk.xsl: Removed XT support + +2001-08-01 Norman Walsh + + * docbook.xsl: Bug #441079, use import instead of include so that xsl:output isn't occurring multiple times at the same level + +2001-06-20 Norman Walsh + + * docbook.xsl: Put public and system identifiers on XHTML documents to that entity references (  etc.) work + +2001-04-03 Norman Walsh + + * chunk.xsl, docbook.xsl, xtchunk.xsl: Support MathML and chunking properly + +2001-04-02 Norman Walsh + + * docbook.xsl, xtchunk.xsl: New file. + diff --git a/rosdocs/xsl/xhtml/admon.xsl b/rosdocs/xsl/xhtml/admon.xsl new file mode 100644 index 0000000..d3b0df9 --- /dev/null +++ b/rosdocs/xsl/xhtml/admon.xsl @@ -0,0 +1,102 @@ + + + + + + + + + + 25 + + + + + + + + + + + + + + + + + + note + warning + caution + tip + important + note + + + + + +
    + + + + + + + + + + + + + +
    + + + + + + + + + + + +
    + +
    +
    +
    + + +
    + + + + + + +

    + + +

    + + +
    +
    + + + + + + + +
    diff --git a/rosdocs/xsl/xhtml/autoidx.xsl b/rosdocs/xsl/xhtml/autoidx.xsl new file mode 100644 index 0000000..07bcc36 --- /dev/null +++ b/rosdocs/xsl/xhtml/autoidx.xsl @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +

    + + + +

    +
    + + + +
    +
    +
    + + + +
    +
    + + + +
    +

    + +

    +
    + + + +
    +
    +
    + + + + +
    + + + + +
    + +
    +
    + + + + + + + + + +
    +
    +
    +
    + + + + +
    + + + + +
    + +
    +
    + + + + + + + + + +
    +
    +
    +
    + + + + +
    + + + + +
    + + +
    +
    + + + + + + +
    +
    +
    +
    + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + +
    +
    + + +
    +
    + + + + + + + + + +
    diff --git a/rosdocs/xsl/xhtml/autotoc.xsl b/rosdocs/xsl/xhtml/autotoc.xsl new file mode 100644 index 0000000..55ae72c --- /dev/null +++ b/rosdocs/xsl/xhtml/autotoc.xsl @@ -0,0 +1,558 @@ + + + + + + + + + + dt + li + + + + + + + dd + + + + + + + + +

    + + + TableofContents + + +

    +
    + + + + + + + + + +
    + + + + + + +
    +
    +
    + + + + +
    + + + + + + +
    +
    +
    +
    +
    + + + + + +

    + + + TableofContents + + +

    +
    + + + + + + + + + +
    + + + + + + +
    +
    +
    + + + +
    + + + + + + +
    +
    +
    +
    +
    + + + + + +

    + + + TableofContents + + +

    +
    + + + + + + + + + +
    + + + + + + +
    +
    +
    + + + +
    + + + + + + +
    +
    +
    +
    +
    + + + + + +

    + + + TableofContents + + +

    +
    + + + + + + + + + +
    + + + + + + +
    +
    +
    + + + +
    + + + + + + +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + 1 + 2 + 3 + 4 + 5 + 1 + 2 + 3 + + + + + + + 2 + 3 + 4 + 5 + 6 + 2 + 3 + 4 + 1 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    + + + + + ListofTables + ListofFigures + ListofEquations + ListofExamples + ListofUnknowns + + + + +

    + + + + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/rosdocs/xsl/xhtml/biblio.xsl b/rosdocs/xsl/xhtml/biblio.xsl new file mode 100644 index 0000000..af88523 --- /dev/null +++ b/rosdocs/xsl/xhtml/biblio.xsl @@ -0,0 +1,1023 @@ + + + + + + + + + + +
    + + + + + + + + + + + +
    +
    + + + + + + + +

    + + + + +

    +
    + + +

    + +

    +
    + + + + +
    + +
    +
    + + +

    + + + + +

    +
    + + + + + + + + + + + + + + + + + + + No bibliography entry: + + found in + + +
    + +

    + + Error: no bibliography entry: + + found in + +

    +
    +
    +
    +
    + +
    + +

    + + +

    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + No bibliography entry: + + found in + + +
    + +

    + + Error: no bibliography entry: + + found in + +

    +
    +
    +
    +
    + +
    + +

    + + +

    +
    +
    +
    +
    + + + + + [ + + + + + + + + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + copyright + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/rosdocs/xsl/xhtml/block.xsl b/rosdocs/xsl/xhtml/block.xsl new file mode 100644 index 0000000..20b26c8 --- /dev/null +++ b/rosdocs/xsl/xhtml/block.xsl @@ -0,0 +1,371 @@ + + + + + + + + + + +
    + + +
    +
    + + + + + +

    + + + + + + + + +

    +
    + + + + + + + + + + + +
    + + + +

    + + +

    +
    + + +

    + + +

    +
    + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + +
      + +  
    + -- + +  
    +
    + +
    + +
    +
    +
    +
    + + +
    +

    + + + +

    +
    +
    + + +
    + + -- +
    +
    + + + + + + + + +
    + + +
    +
    + + +

    + +

    +
    + + + + +
    + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + + + + + + +

    +
    + + +

    + + + + + + + +

    +
    + + +

    + + + + + + + +

    +
    + + + + + + +

    +
    + + + + +
    + + + + + +
    + + + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + nbsp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + +

    + +

    +
    + + + + + + + + + +
    diff --git a/rosdocs/xsl/xhtml/callout.xsl b/rosdocs/xsl/xhtml/callout.xsl new file mode 100644 index 0000000..114eef9 --- /dev/null +++ b/rosdocs/xsl/xhtml/callout.xsl @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No insertCallouts function is available. + + + + + + + +
    + + + + + +
    +
    + +
    + + +
    +
    +
    +
    + +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {$conum} + + + + + + + + + + + + + + + + + + + + Don't know how to generate Unicode callouts + when $callout.unicode.start.character is + + + ( + + ) + + + + + ( + + ) + + + + +
    diff --git a/rosdocs/xsl/xhtml/changebars.xsl b/rosdocs/xsl/xhtml/changebars.xsl new file mode 100644 index 0000000..fb4d2b2 --- /dev/null +++ b/rosdocs/xsl/xhtml/changebars.xsl @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + +
    + +
    +
    + + + + + + + + + + + + Revisionflag on unexpected element: + + (Assuming block) + +
    + +
    +
    +
    +
    + +
    diff --git a/rosdocs/xsl/xhtml/chunk-common.xsl b/rosdocs/xsl/xhtml/chunk-common.xsl new file mode 100644 index 0000000..24408c0 --- /dev/null +++ b/rosdocs/xsl/xhtml/chunk-common.xsl @@ -0,0 +1,867 @@ + + + + + + + + + + + + + + + + + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bk + + + + + + + + + + + + + + + ar + + + + + + + + + + + + + + + pr + + + + + + + + + + + + + + + ch + + + + + + + + + + + + + + + ap + + + + + + + + + + + + + + + + + + + pt + + + + + + + + + + + + + + + + + + + rn + + + + + + + + + + + + + + + + + + re + + + + + + + + + + + + + + + + + + + co + + + + + + + + + + + s + + + + + + + + + + + s + + + + + + + + + + + + + + + + + + + bi + + + + + + + + + + + + + + + + + + + go + + + + + + + + + + + + + + + + + + + ix + + + + + + + + si + + + + + + + + chunk-filename-error- + + + + + + + + + + + + + + + + + + + + + + + # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xxx + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/xhtml/chunk.xsl b/rosdocs/xsl/xhtml/chunk.xsl new file mode 100644 index 0000000..c8dc861 --- /dev/null +++ b/rosdocs/xsl/xhtml/chunk.xsl @@ -0,0 +1,370 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error + + is not a chunk! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID ' + + ' not found in document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    + + + + +
    +
    +
    + + + + + + + + + + +
    diff --git a/rosdocs/xsl/xhtml/chunker.xsl b/rosdocs/xsl/xhtml/chunker.xsl new file mode 100644 index 0000000..9acc6fa --- /dev/null +++ b/rosdocs/xsl/xhtml/chunker.xsl @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Don't know how to chunk with + + + + + + + + + + + + + + + + + Writing + + + for + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + Can't make chunks with + + 's processor. + + + + + + + + + + + + + + + + + + Writing + + + for + + + + + + + + + + + + + + + + + + + + + + + + + + + + Can't make chunks with + + 's processor. + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/xhtml/chunktoc.xsl b/rosdocs/xsl/xhtml/chunktoc.xsl new file mode 100644 index 0000000..6fe8ed1 --- /dev/null +++ b/rosdocs/xsl/xhtml/chunktoc.xsl @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + + + + + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The chunk.toc file is not set. + + + + + + + + ID ' + + ' not found in document. + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/xhtml/component.xsl b/rosdocs/xsl/xhtml/component.xsl new file mode 100644 index 0000000..73b9552 --- /dev/null +++ b/rosdocs/xsl/xhtml/component.xsl @@ -0,0 +1,356 @@ + + + + + + + + + + + +

    + + + + + + + +

    +
    + + + + + + +

    + + + +

    +
    +
    + + + + + + + +
    + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    +
    + + +
    + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + + + + + + + + + + + + + + + + + + + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + +
    diff --git a/rosdocs/xsl/xhtml/division.xsl b/rosdocs/xsl/xhtml/division.xsl new file mode 100644 index 0000000..9f32001 --- /dev/null +++ b/rosdocs/xsl/xhtml/division.xsl @@ -0,0 +1,194 @@ + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + +
    + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +

    + +

    +
    + + +

    + +

    +
    + + + + + + + + + + + +
    diff --git a/rosdocs/xsl/xhtml/docbook.xsl b/rosdocs/xsl/xhtml/docbook.xsl new file mode 100644 index 0000000..3eb993b --- /dev/null +++ b/rosdocs/xsl/xhtml/docbook.xsl @@ -0,0 +1,241 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No template matches + + . + + + + < + + > + + </ + + > + + + + + + + + + + + + + + + + <xsl:apply-templates select="$node" mode="object.title.markup.textonly"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID ' + + ' not found in document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/xhtml/ebnf.xsl b/rosdocs/xsl/xhtml/ebnf.xsl new file mode 100644 index 0000000..ab6725f --- /dev/null +++ b/rosdocs/xsl/xhtml/ebnf.xsl @@ -0,0 +1,323 @@ + + + + + + + + + + +$Id$ + +Walsh +Norman +19992000 +Norman Walsh + + +HTML EBNF Reference + + +
    Introduction + +This is technical reference documentation for the DocBook XSL +Stylesheets; it documents (some of) the parameters, templates, and +other elements of the stylesheets. + +This reference describes the templates and parameters relevant +to formatting EBNF markup. + +This is not intended to be user documentation. +It is provided for developers writing customization layers for the +stylesheets, and for anyone who's interested in how it +works. + +Although I am trying to be thorough, this documentation is known +to be incomplete. Don't forget to read the source, too :-) +
    +
    +
    + + + + + + + + + + + + 1 + + + + + + EBNF + + for + + + + + + + + + + + + +
    + +
    + + + + + + + + + + EBNF productions + +
    +
    +
    + + + + + + + + + + [ + + ] + + + + + + + + + + + + + + + + + + + + ::= + + + + + + + + + + +   + + + + + + + + + + + + + Error: no ID for productionrecap linkend: + + . + + + + + + Warning: multiple "IDs" for productionrecap linkend: + + . + + + + + + + + + + + + + + + + | +
    +
    +
    + + + + + + + + + + + + + + + production + + + + + + + + + Non-terminals with no content must point to + production elements in the current document. + + + Invalid xpointer for empty nt: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + + + + + + + + + /*  + +  */ +
    +
    + + + + + + + + + constraintdef + + + + + + + + + + + + + + + + : + + + + + + + : + + + + + + + + + +  ] + +
    +
    +
    + + +
    + + +
    +
    + + +

    +
    + + + +
    diff --git a/rosdocs/xsl/xhtml/footnote.xsl b/rosdocs/xsl/xhtml/footnote.xsl new file mode 100644 index 0000000..6d425ee --- /dev/null +++ b/rosdocs/xsl/xhtml/footnote.xsl @@ -0,0 +1,234 @@ + + + + + + + + + + + + + #ftn. + + + + + + + [ + + + + ] + + + + + [ + + + + ] + + + + + + + + + + #ftn. + + + + + + [ + + + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + ftn. + + + + + + # + + + + +

    + + [ + + + + ] + + +

    +
    + + + + + + ftn. + + + + + + # + + + + + + + [ + + + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    +
    +
    + + + + + + + + +
    + +
    +
    + + +
    + + +
    +
    + + + + Warning: footnote number may not be generated + correctly; + + unexpected as first child of footnote. + +
    + +
    +
    +
    +
    + + + + + + + + +
    diff --git a/rosdocs/xsl/xhtml/formal.xsl b/rosdocs/xsl/xhtml/formal.xsl new file mode 100644 index 0000000..c4a8b31 --- /dev/null +++ b/rosdocs/xsl/xhtml/formal.xsl @@ -0,0 +1,177 @@ + + + + + + + + + + +
    + + + + + + + + + + + + +

    + + +

    + + + + + + + + + + + +

    +
    + + +

    + + + + + +

    +
    + + +
    +

    + + + + + + + + + +

    +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + before + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/rosdocs/xsl/xhtml/glossary.xsl b/rosdocs/xsl/xhtml/glossary.xsl new file mode 100644 index 0000000..40b2efa --- /dev/null +++ b/rosdocs/xsl/xhtml/glossary.xsl @@ -0,0 +1,320 @@ + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + + +
    +
    + + + + + + + +

    + +

    +
    + + +

    + +

    +
    + + + + +
    + +
    + +
    +
    +
    + + + + +
    + + +
    + +
    +
    +
    + + +

    + +

    +
    + + + + + + + + + + +
    + +
    +
    + + +
    + + + + + 0 + 1 + + + + +
    +
    + + + + + + + + + + + + + + +
    +

    + + + + + + + + + + + + + + + . +

    +
    +
    + + +
    + + +

    + + + + + +

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + . + + + , + + + + + + + + + + + + + + + + + + + + + + + + + Warning: processing automatic glossary + without a glossary.collection file. + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + +
    +
    +
    + + +
    +
    + + + + + + + + + +
    + + +
    + + + + + + +
    +
    +
    + + + + + + + + gl. + + + + + +
    + + +
    +
    + + + +
    diff --git a/rosdocs/xsl/xhtml/graphics.xsl b/rosdocs/xsl/xhtml/graphics.xsl new file mode 100644 index 0000000..a7c3014 --- /dev/null +++ b/rosdocs/xsl/xhtml/graphics.xsl @@ -0,0 +1,961 @@ + + + + + + + + + + + + + + + + + 1 + + + + + 1 + + + + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + + 1 + 0 + + + + + + 1.0 + + + + 1.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + px + + + + + + + + + + + px + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + px + + + + + + + + + + + px + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + +

    +
    +
    +
    + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + No insertfile extension available. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No insertfile extension available. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Long Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No insertfile extension available. + + + + + + + + + + + + + +
    + +
    +
    + + + + + + + + + + + + diff --git a/rosdocs/xsl/xhtml/html-rtf.xsl b/rosdocs/xsl/xhtml/html-rtf.xsl new file mode 100644 index 0000000..02a7b98 --- /dev/null +++ b/rosdocs/xsl/xhtml/html-rtf.xsl @@ -0,0 +1,189 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/xhtml/html.xsl b/rosdocs/xsl/xhtml/html.xsl new file mode 100644 index 0000000..472a1aa --- /dev/null +++ b/rosdocs/xsl/xhtml/html.xsl @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + +
    + + + + + + + # + + + + + + + + + # + + + + + + + bullet + + + + + + + + + bullet + + + © + + + ® + (SM) +   + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/xhtml/html2xhtml.xsl b/rosdocs/xsl/xhtml/html2xhtml.xsl new file mode 100644 index 0000000..10be14b --- /dev/null +++ b/rosdocs/xsl/xhtml/html2xhtml.xsl @@ -0,0 +1,126 @@ + + + + + + + + + This file was created automatically by html2xhtml + + from the HTML stylesheets. Do not edit this file. + + + + + + + + + + xml + -//W3C//DTD XHTML 1.0 Transitional//EN + http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd + + + + + + + 'xhtml' + + + + + + + 1 + + + + + + + 'xml' + + + + + + + + + id + + + + + + + + + + + + + + + + + http://www.w3.org/1999/xhtml + + + + + + + + + no apply-templates; make it empty + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/xhtml/index.xsl b/rosdocs/xsl/xhtml/index.xsl new file mode 100644 index 0000000..6977ad4 --- /dev/null +++ b/rosdocs/xsl/xhtml/index.xsl @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    +
    +
    + + + + + + +

    + +

    +
    + + +

    + +

    +
    + + + + +
    + + + + + + + + +
    + +
    +
    +
    + + + + + + +

    + +

    +
    + + + + + + + + + +
    + + + + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    + + +
    + +
    + +
    +
    + +
    +
    +
    +
    + + +
    + +
    +
    + + diff --git a/rosdocs/xsl/xhtml/info.xsl b/rosdocs/xsl/xhtml/info.xsl new file mode 100644 index 0000000..2d757b8 --- /dev/null +++ b/rosdocs/xsl/xhtml/info.xsl @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/xhtml/inline.xsl b/rosdocs/xsl/xhtml/inline.xsl new file mode 100644 index 0000000..58723ca --- /dev/null +++ b/rosdocs/xsl/xhtml/inline.xsl @@ -0,0 +1,970 @@ + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + XLink to nonexistent id: + + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + , + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://example.com/cgi-bin/man.cgi? + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + emphasis + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SM + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: glossary.collection specified, but there are + + automatic glossaries + + + + + + + + + + + + + + + + + + + + + + + + There's no entry for + + in + + + + + + + gl. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error: no glossentry for glossterm: + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + element + + + + + + + + + + + + + + + + </ + + > + + + & + + ; + + + &# + + ; + + + % + + ; + + + <? + + > + + + <? + + ?> + + + < + + > + + + < + + /> + + + <!-- + + --> + + + + + + + + + + + + < + + mailto: + + + > + + + + + + + + + + + + - + - + - + + - + + + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + -> + + + + + + + + + + + + + + + + + + + + + + + + [ + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/xhtml/keywords.xsl b/rosdocs/xsl/xhtml/keywords.xsl new file mode 100644 index 0000000..1d1eea4 --- /dev/null +++ b/rosdocs/xsl/xhtml/keywords.xsl @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + , + + + + + diff --git a/rosdocs/xsl/xhtml/lists.xsl b/rosdocs/xsl/xhtml/lists.xsl new file mode 100644 index 0000000..736cc90 --- /dev/null +++ b/rosdocs/xsl/xhtml/lists.xsl @@ -0,0 +1,934 @@ + + + + + + + + + + + + + + +
    + + + + +
      + + + + + + +
    +
    +
    + + +

    +
    + + + + + + + + + + + + + + + + + + + disc + square + + + + + + +
  • + + + list-style-type: + + + + + + + + + + + +
    + +
    +
    + + + +
    +
  • +
    + + + + + 1 + + + + 2 + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + 1 + a + i + A + I + + + + Unexpected numeration: + + + + + + + +
    + + + + +
      + + + + + + + + + + + + + + + + +
    +
    +
    + + +

    +
    + + +
  • + + + + + + + + + + + + + +
    + +
    +
    + + + +
    +
  • +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    + +
    +
    +
    +
    +
    + + +

    +
    + + + + + + + + + + + + + +

    + + +

    +
    +
    +
    + + +
    + + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + +
    + +
    +
    + + + +
    +
    + + + + + + + + + + + + + + 1 + + + +
    +
    + + + + + + + + + + + + + + + + + + 1 + + + +
    +
    + + + + + + + + + + + 1 + + + +
    +
    + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + 1 + 1 + + 1 + + + + + + + + +   + + + + + + + + + + + + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + + 1 + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + before + + + + + + + + +
    + + + + + + + + + + + + + + + + + +
      + +
    +
    + +
      + + + + +
    +
    +
    + + + + + + + + + + + +
    +
    + + +

    + + + +

    +
    + + +

    + + + +

    +
    + + + + + + + + +
      + +
    +
    + + +
  • + + +
  • +
    + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + +
    +
    + + +

    +
    + + + + + + + + + + + + + + + + + + + +

    + + + : + + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + +
    + + +

    + + + +

    +
    + + + + +
    +
    + +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + + +
    diff --git a/rosdocs/xsl/xhtml/maketoc.xsl b/rosdocs/xsl/xhtml/maketoc.xsl new file mode 100644 index 0000000..2f399a8 --- /dev/null +++ b/rosdocs/xsl/xhtml/maketoc.xsl @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + filename=" + + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/xhtml/manifest.xsl b/rosdocs/xsl/xhtml/manifest.xsl new file mode 100644 index 0000000..0c9e3ed --- /dev/null +++ b/rosdocs/xsl/xhtml/manifest.xsl @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/xhtml/math.xsl b/rosdocs/xsl/xhtml/math.xsl new file mode 100644 index 0000000..3c3088f --- /dev/null +++ b/rosdocs/xsl/xhtml/math.xsl @@ -0,0 +1,317 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unsupported TeX math notation: + + + + + + + + + + + + + \nopagenumbers + + + + + \bye + + + + + + + + + + + + + + + + + + + + + + + + \special{dvi2bitmap outputfile + + } + + + $ + + + + $ + + + \vfill\eject + + + + + + + + + + + + + + + + + + + + + + + + + \special{dvi2bitmap outputfile + + } + + + $$ + + + + $$ + + + \vfill\eject + + + + + + + + + + \documentclass{article} + + \pagestyle{empty} + + \begin{document} + + + + + \end{document} + + + + + + + + + + + + + + + + + + + + + + + + \special{dvi2bitmap outputfile + + } + + + $ + + + + $ + + + \newpage + + + + + + + + + + + + + + + + + + + + + + + + + \special{dvi2bitmap outputfile + + } + + + $$ + + + + $$ + + + \newpage + + + + + + + + + + + 1 + + + + + + + + + 0 + + + + 0 + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + + + + + + diff --git a/rosdocs/xsl/xhtml/oldchunker.xsl b/rosdocs/xsl/xhtml/oldchunker.xsl new file mode 100644 index 0000000..106a41d --- /dev/null +++ b/rosdocs/xsl/xhtml/oldchunker.xsl @@ -0,0 +1,164 @@ + + + + + + + + + + + + +Encoding used in generated HTML pages + +This encoding is used in files generated by chunking stylesheet. Currently +only Saxon is able to change output encoding. + + + + + + + + + +Saxon character representation used in generated HTML pages + +This character representation is used in files generated by chunking stylesheet. If +you want to suppress entity references for characters with direct representation +in default.encoding, set this parameter to value native. + + + + + + + + + + + + + + + + + + + + + + + + Chunking isn't supported with + + + + + + + + + + + + + + + Writing + + + for + + + ( + + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Can't make chunks with + + 's processor. + + + + + + + + + + + + + + + + Writing + + + for + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Can't make chunks with + + 's processor. + + + + + + diff --git a/rosdocs/xsl/xhtml/onechunk.xsl b/rosdocs/xsl/xhtml/onechunk.xsl new file mode 100644 index 0000000..e1da917 --- /dev/null +++ b/rosdocs/xsl/xhtml/onechunk.xsl @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + # + + + + + + diff --git a/rosdocs/xsl/xhtml/param.xsl b/rosdocs/xsl/xhtml/param.xsl new file mode 100644 index 0000000..2773e1d --- /dev/null +++ b/rosdocs/xsl/xhtml/param.xsl @@ -0,0 +1,328 @@ + + + + + + + + + +images/ + + margin-left: 0.5in; margin-right: 0.5in; + + + + + + +. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + + + + + + + + + + + + + + + + + + +figure before +example before +equation before +table before +procedure before + + + +kr +0 + + + + + + + + + +appendix toc +article toc +book toc,figure,table,example,equation +chapter toc +part toc +preface toc +qandadiv toc +qandaset toc +reference toc +section toc +set toc + + + + + + + + + + + + + + + + + + + + + + + + + +text/css + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +images/ +1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +number + + + + + + + + + + + + + + + + + + + + + + 0 + #E0E0E0 + + + +1 +0 + +0 + + + + + + + + + + + + + + + + + + + + + + + +dl +2 + + + + + + + + + + + diff --git a/rosdocs/xsl/xhtml/pi.xsl b/rosdocs/xsl/xhtml/pi.xsl new file mode 100644 index 0000000..d0633dc --- /dev/null +++ b/rosdocs/xsl/xhtml/pi.xsl @@ -0,0 +1,208 @@ + + + + + + + + + + + + + + + + + + + filename + + + + + + + + + + + + filename + + + + + + + + + + + + + + + + + + + + + + dir + + + + + + + + + + + + + + / + + + + / + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +
    +
    + + + + + + No cmdsynopsis elements matched dbcmdlist PI, perhaps it's nested too deep? + + + +
    + + + +
    +
    + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +
    +
    + + + + + + No funcsynopsis elements matched dbfunclist PI, perhaps it's nested too deep? + + + +
    + + + +
    +
    + + + +
    diff --git a/rosdocs/xsl/xhtml/profile-chunk.xsl b/rosdocs/xsl/xhtml/profile-chunk.xsl new file mode 100644 index 0000000..a15172e --- /dev/null +++ b/rosdocs/xsl/xhtml/profile-chunk.xsl @@ -0,0 +1,325 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error + + is not a chunk! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID ' + + ' not found in document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    + + + + +
    +
    +
    + + + + + + + + + + +
    diff --git a/rosdocs/xsl/xhtml/profile-docbook.xsl b/rosdocs/xsl/xhtml/profile-docbook.xsl new file mode 100644 index 0000000..6bf9b1b --- /dev/null +++ b/rosdocs/xsl/xhtml/profile-docbook.xsl @@ -0,0 +1,241 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No template matches + + . + + + + < + + > + + </ + + > + + + + + + + + + + + + + + + + <xsl:apply-templates select="$node" mode="object.title.markup.textonly"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID ' + + ' not found in document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/xhtml/profile-onechunk.xsl b/rosdocs/xsl/xhtml/profile-onechunk.xsl new file mode 100644 index 0000000..2d0fbd5 --- /dev/null +++ b/rosdocs/xsl/xhtml/profile-onechunk.xsl @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/xhtml/qandaset.xsl b/rosdocs/xsl/xhtml/qandaset.xsl new file mode 100644 index 0000000..6e6e35d --- /dev/null +++ b/rosdocs/xsl/xhtml/qandaset.xsl @@ -0,0 +1,311 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1% + + + + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + + + + + + + + + + + + + + + +
    + + +
    +
    + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + . + + + + + + + + +
    +
    + + + + + + + + + + + + + +
    diff --git a/rosdocs/xsl/xhtml/refentry.xsl b/rosdocs/xsl/xhtml/refentry.xsl new file mode 100644 index 0000000..58c384a --- /dev/null +++ b/rosdocs/xsl/xhtml/refentry.xsl @@ -0,0 +1,233 @@ + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + +

    +
    + + +
    + +
    +
    +
    +
    + + + + + + +
    +
    + + + + + + + + + + + + + ( + + ) + + + + + + + + + + + +
    + + + +

    + + + +

    +
    + +

    + + + + + + + + +

    +
    +
    +

    + +

    +
    +
    + + + + + , + + + + + + + em-dash + + + + + + + + + + +

    + + + + : + + + +

    +
    + + +
    + +

    + + + + + + + + + + +

    + +
    +
    + + + + + + + + + + + + + + + + +

    + +

    +
    + + + +

    + +

    +
    + + + +

    + +

    +
    + + + + + + + +
    diff --git a/rosdocs/xsl/xhtml/sections.xsl b/rosdocs/xsl/xhtml/sections.xsl new file mode 100644 index 0000000..70b8898 --- /dev/null +++ b/rosdocs/xsl/xhtml/sections.xsl @@ -0,0 +1,296 @@ + + + + + + + + + + + + +
    + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + +
    +
    + + + + + + +
    + + + + + + + + + + + + +
    +
    + + + + + + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + title + + + clear: both + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + 2 + + + + + + 2 + 3 + 4 + 5 + 6 + + + + + + + + + + + + + + +
    diff --git a/rosdocs/xsl/xhtml/synop.xsl b/rosdocs/xsl/xhtml/synop.xsl new file mode 100644 index 0000000..d812aeb --- /dev/null +++ b/rosdocs/xsl/xhtml/synop.xsl @@ -0,0 +1,958 @@ + + + + + + + + + + + + + + +
    +

    + + +

    +
    +
    + + +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + ( + + ) + + + + + + + + + + + + +

    + + ( + + ) + + + +

    +
    + + + + + + +
    +
    + + +

    + + + + + + +

    +
    + + + + + + + + + + + + + + + + + + + + + + (void); + + + (); + + + + + + (...); + + + + + + + ( + + + + + + + + + + + , + + + ); + + + + + + + + + + + + + + + + + , + + + + +
    + + ; +
    + + + ( + + ) + + + + +java + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unrecognized language on + + : + + + + + + + + + + + +
    +
    +
    + + + + + +
    +    
    +    
    +       extends
    +      
    +      
    +        
    +      +
    +
    + + implements + + +
    +      +
    +
    + + throws + + +  { +
    + + } +
    +
    + + + + + + + + + , + + + + + + + + + + + + + +   + + + + + + , + + + + + + + + + , + + + + + + + + + , + + + + + + + + + +    + + + ; + + + + + + + +   + + + + + + +   + + + + + + + + + + + + + void  + + + + + + + + + + + 0 + + , +
    + + +   + + + +
    + + + +
    + + + + + + + + + + + + +    + + + + + + + + + + + + + + ( + + + + ) + +
    +     throws  + +
    + ; +
    + +
    + + + + +
    +    
    +    
    +      : 
    +      
    +      
    +        
    +      +
    +
    + + implements + + +
    +      +
    +
    + + throws + + +  { +
    + + } +
    +
    + + + + + + + + , + + + + + + + + + +   + + + + + + , + + + + + + + + + , + + + + + + + + + , + + + + + + + + + +    + + + ; + + + + + + + +   + + + + + + +   + + + + + + + + + + + + + void  + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + +    + + + + + + + + + + ( + + ) + +
    +     throws  + +
    + ; +
    + +
    + + + + +
    +    interface 
    +    
    +    
    +      : 
    +      
    +      
    +        
    +      +
    +
    + + implements + + +
    +      +
    +
    + + throws + + +  { +
    + + } +
    +
    + + + + + + + + , + + + + + + + + + +   + + + + + + , + + + + + + + + + , + + + + + + + + + , + + + + + + + + + +    + + + ; + + + + + + + +   + + + + + + +   + + + + + + + + + + + + + void  + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + +    + + + + + + + + + + ( + + ) + +
    +     raises( + + ) +
    + ; +
    + +
    + + + + +
    +    package 
    +    
    +    ;
    +    
    + + + @ISA = ( + + ); +
    +
    + + +
    +
    + + + + + + + + , + + + + + + + + + +   + + + + + + , + + + + + + + + + , + + + + + + + + + , + + + + + + + + + +    + + + ; + + + + + + + +   + + + + + + +   + + + + + + + + + + + + + void  + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + sub + + + { ... }; + + + + + + +
    diff --git a/rosdocs/xsl/xhtml/table.xsl b/rosdocs/xsl/xhtml/table.xsl new file mode 100644 index 0000000..0a5da5f --- /dev/null +++ b/rosdocs/xsl/xhtml/table.xsl @@ -0,0 +1,858 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + border- + + : + + + + + + ; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 100% + + + + + 0 + + + + border-collapse: collapse; + + + + + + + + + + + + + + + + + border-collapse: collapse; + + + + + + + + + + + border-collapse: collapse; + + + + + + + + border-collapse: collapse; + + + + + + + + border-collapse: collapse; + + + + + + + + + + + border-collapse: collapse; + + + + + + 0 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + 100% + + + + + + + + + + + + + + + + + + + + + + + + No convertLength function available. + + + + + + + + + + + + + + + + + + + + + + + No adjustColumnWidths function available. + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + th + th + td + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + : + + + + + + + + 0: + + + + + + + + + + + + + + + 0 + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + +
    diff --git a/rosdocs/xsl/xhtml/titlepage.templates.xsl b/rosdocs/xsl/xhtml/titlepage.templates.xsl new file mode 100644 index 0000000..539af91 --- /dev/null +++ b/rosdocs/xsl/xhtml/titlepage.templates.xsl @@ -0,0 +1,2721 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + +
    + + + + + +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + +
    + + + + + +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + +
    + + + + + +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + +
    + + + + + +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + + + + + + + + + + + + + + + + +
    + + + + + +
    +
    + + + + + + + + + + + + + + +
    + + +
    + + + + + + + + + + + + +
    + + + + + + + + + + + + + + +
    + + + + + +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + +
    + + + + + +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + +
    + + + + + +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + +
    + + + + + +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + +
    + + + + + +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + +
    + + + + + +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + +
    + + + + + +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + +
    + + + + + +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + +
    + + +
    + + + + + + + + + + + + +
    + + + + + + + + + + + + + + +
    + + + + + +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + + +
    + + +
    + + + + + + + + + + + + +
    + + + + + + + + + + + + + + +
    + + + + + +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + + +
    + + +
    + + + + + + + + + + + + +
    + + + + + + + + + + + + + + +
    + + + + + +
    +
    + + + + + + + + + + + + + + +
    + +
    +
    + +
    diff --git a/rosdocs/xsl/xhtml/titlepage.xsl b/rosdocs/xsl/xhtml/titlepage.xsl new file mode 100644 index 0000000..16ebdc1 --- /dev/null +++ b/rosdocs/xsl/xhtml/titlepage.xsl @@ -0,0 +1,743 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    + + +
    + + + + + + + +
    +
    + + + + + + + + + + + + + +
    +

    + + + +

    +
    +
    + + +
    +

    + +

    +
    +
    +
    +
    + + +
    + +
    +
    + + + + +
    +
    +
    + + +
    +

    + + +
    +
    + + +
    + +
    +
    + + +
    + +
    +
    + + + + +
    +
    +
    + + + + + + + + + + + + +
    +
    +
    + + +
    + +
    +
    + + + + +
    +
    +
    + + + + +
    +
    +
    + + + + +
    +
    +
    + + + + + + + + +
    +
    +
    + + + + +
    +
    +
    + + + + + + + + +

    + + + + + + copyright + + + + + + + + + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + , + + + + +

    + +

    +
    + + + + +
    +
    +
    + + + + +
    +
    +
    + + +

    + + + + + +

    +
    + + +

    +
    + + +

    +

    +
    + + + + +
    +
    +
    + + + + + + + + + +
    +
    +
    + + + + +
    +
    +
    + + + + +
    +
    +
    + + + + +
    +
    +
    + + + + + + + +
    +
    +
    + + + + +
    +
    +
    + + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <xsl:value-of select="$title"/> + + + +
    + +
    + + +
    +
    +
    + +
    + +
    +
    +
    +
    + + +

    +
    + + + + +
    +
    +
    + + + + + + + +
    +
    +
    + + + + +
    +
    +
    + + + + + + +

    + + : + + + +

    +
    +
    + +

    + +
    +
    +
    + + + , + + + + + + +
    +
    +
    + + + + +
    +
    +
    + + +
    + +
    +
    + + + + +
    +
    +
    + + + + +
    +
    +
    + + +

    + +

    +
    + + +

    + +

    +
    + + + + +
    +
    +
    + + + + +
    +
    +
    + + +

    + +

    +
    + + + + + 3 + 2 + + + +
    + + + + + + + +
    + + + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    + + + + +
    +
    +
    + + + + + +

    + +

    +
    + + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + +

    + + + + + + + + + + + +

    +
    + + + + + + + + +
    +
    +
    + + + +
    diff --git a/rosdocs/xsl/xhtml/toc.xsl b/rosdocs/xsl/xhtml/toc.xsl new file mode 100644 index 0000000..ab111a6 --- /dev/null +++ b/rosdocs/xsl/xhtml/toc.xsl @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + I don't know how to make a TOC in this context! + + + + + + + + + + + + + +
    + + + +
    +
    + + + + + +
    +
    +
    + + + + + +
    + +
    + +
    + +
  • + + +
  • +
    +
    +
    + + + + +
    + +
    +
    + +
  • + +
  • +
    +
    +
    + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rosdocs/xsl/xhtml/verbatim.xsl b/rosdocs/xsl/xhtml/verbatim.xsl new file mode 100644 index 0000000..0007ecf --- /dev/null +++ b/rosdocs/xsl/xhtml/verbatim.xsl @@ -0,0 +1,294 @@ + + + + + + + + + + + + + + + + + + + + + + + +
    +          
    +            
    +          
    +        
    +
    + +
    +          
    +        
    +
    +
    +
    + + + + + + + +
    + +
    +
    + + + +
    +
    + + + + + + + + + + + + + +
    +              
    +                
    +              
    +            
    +
    + +
    +

    + + + + + + + +

    +
    +
    +
    +
    + + + + +
    +              
    +            
    +
    + +
    +

    + + + +

    +
    +
    +
    +
    +
    +
    + + + + + + + +
    + +
    +
    + + + +
    +
    + + + + + + + + + + + + + + + + +
    +

    + + + +

    +
    +
    + + +
    +

    + +

    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No numberLines function available. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + + + +
    +
    +
    +
    + +
    diff --git a/rosdocs/xsl/xhtml/xref.xsl b/rosdocs/xsl/xhtml/xref.xsl new file mode 100644 index 0000000..e8f9eec --- /dev/null +++ b/rosdocs/xsl/xhtml/xref.xsl @@ -0,0 +1,659 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + XRef to nonexistent id: + + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Endterm points to nonexistent ID: + + + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Don't know what gentext to create for xref to: " + + ", (" + + ") + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [ + + + + ] + + + + + + + + + + + + + + + + + + + + + + + No bibliography entry: + + found in + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [ + + + + + + + + + ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Endterm points to nonexistent ID: + + + ??? + + + + + + + + + + Link element has no content and no Endterm. + Nothing to show in the link to + + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warning: olink linkmode pointer is wrong. + + + + # + + + + + + + + + + + + + ? + + + + + & + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Page numbers make no sense in HTML! (Don't use %p in templates) + + + + diff --git a/rosdocs/xsl/xhtml/xslfiles.gen b/rosdocs/xsl/xhtml/xslfiles.gen new file mode 100644 index 0000000..f189fbe --- /dev/null +++ b/rosdocs/xsl/xhtml/xslfiles.gen @@ -0,0 +1,173 @@ +xslfiles: admon.xsl \ +autoidx.xsl \ +autotoc.xsl \ +biblio.xsl \ +block.xsl \ +callout.xsl \ +changebars.xsl \ +chunk-common.xsl \ +chunk.xsl \ +chunker.xsl \ +chunktoc.xsl \ +component.xsl \ +division.xsl \ +docbook.xsl \ +ebnf.xsl \ +footnote.xsl \ +formal.xsl \ +glossary.xsl \ +graphics.xsl \ +html-rtf.xsl \ +html.xsl \ +index.xsl \ +info.xsl \ +inline.xsl \ +keywords.xsl \ +lists.xsl \ +maketoc.xsl \ +math.xsl \ +oldchunker.xsl \ +onechunk.xsl \ +param.xsl \ +pi.xsl \ +profile-onechunk.xsl \ +qandaset.xsl \ +refentry.xsl \ +sections.xsl \ +synop.xsl \ +table.xsl \ +titlepage.templates.xsl \ +titlepage.xsl \ +toc.xsl \ +verbatim.xsl \ +xref.xsl + +admon.xsl: ../html/admon.xsl + $(XSLT) $< html2xhtml.xsl $@ + +autoidx.xsl: ../html/autoidx.xsl + $(XSLT) $< html2xhtml.xsl $@ + +autotoc.xsl: ../html/autotoc.xsl + $(XSLT) $< html2xhtml.xsl $@ + +biblio.xsl: ../html/biblio.xsl + $(XSLT) $< html2xhtml.xsl $@ + +block.xsl: ../html/block.xsl + $(XSLT) $< html2xhtml.xsl $@ + +callout.xsl: ../html/callout.xsl + $(XSLT) $< html2xhtml.xsl $@ + +changebars.xsl: ../html/changebars.xsl + $(XSLT) $< html2xhtml.xsl $@ + +chunk-common.xsl: ../html/chunk-common.xsl + $(XSLT) $< html2xhtml.xsl $@ + +chunk.xsl: ../html/chunk.xsl + $(XSLT) $< html2xhtml.xsl $@ + +chunker.xsl: ../html/chunker.xsl + $(XSLT) $< html2xhtml.xsl $@ + +chunktoc.xsl: ../html/chunktoc.xsl + $(XSLT) $< html2xhtml.xsl $@ + +component.xsl: ../html/component.xsl + $(XSLT) $< html2xhtml.xsl $@ + +division.xsl: ../html/division.xsl + $(XSLT) $< html2xhtml.xsl $@ + +docbook.xsl: ../html/docbook.xsl + $(XSLT) $< html2xhtml.xsl $@ + +ebnf.xsl: ../html/ebnf.xsl + $(XSLT) $< html2xhtml.xsl $@ + +footnote.xsl: ../html/footnote.xsl + $(XSLT) $< html2xhtml.xsl $@ + +formal.xsl: ../html/formal.xsl + $(XSLT) $< html2xhtml.xsl $@ + +glossary.xsl: ../html/glossary.xsl + $(XSLT) $< html2xhtml.xsl $@ + +graphics.xsl: ../html/graphics.xsl + $(XSLT) $< html2xhtml.xsl $@ + +html-rtf.xsl: ../html/html-rtf.xsl + $(XSLT) $< html2xhtml.xsl $@ + +html.xsl: ../html/html.xsl + $(XSLT) $< html2xhtml.xsl $@ + +index.xsl: ../html/index.xsl + $(XSLT) $< html2xhtml.xsl $@ + +info.xsl: ../html/info.xsl + $(XSLT) $< html2xhtml.xsl $@ + +inline.xsl: ../html/inline.xsl + $(XSLT) $< html2xhtml.xsl $@ + +keywords.xsl: ../html/keywords.xsl + $(XSLT) $< html2xhtml.xsl $@ + +lists.xsl: ../html/lists.xsl + $(XSLT) $< html2xhtml.xsl $@ + +maketoc.xsl: ../html/maketoc.xsl + $(XSLT) $< html2xhtml.xsl $@ + +math.xsl: ../html/math.xsl + $(XSLT) $< html2xhtml.xsl $@ + +oldchunker.xsl: ../html/oldchunker.xsl + $(XSLT) $< html2xhtml.xsl $@ + +onechunk.xsl: ../html/onechunk.xsl + $(XSLT) $< html2xhtml.xsl $@ + +param.xsl: ../html/param.xsl + $(XSLT) $< html2xhtml.xsl $@ + +pi.xsl: ../html/pi.xsl + $(XSLT) $< html2xhtml.xsl $@ + +profile-onechunk.xsl: ../html/profile-onechunk.xsl + $(XSLT) $< html2xhtml.xsl $@ + +qandaset.xsl: ../html/qandaset.xsl + $(XSLT) $< html2xhtml.xsl $@ + +refentry.xsl: ../html/refentry.xsl + $(XSLT) $< html2xhtml.xsl $@ + +sections.xsl: ../html/sections.xsl + $(XSLT) $< html2xhtml.xsl $@ + +synop.xsl: ../html/synop.xsl + $(XSLT) $< html2xhtml.xsl $@ + +table.xsl: ../html/table.xsl + $(XSLT) $< html2xhtml.xsl $@ + +titlepage.templates.xsl: ../html/titlepage.templates.xsl + $(XSLT) $< html2xhtml.xsl $@ + +titlepage.xsl: ../html/titlepage.xsl + $(XSLT) $< html2xhtml.xsl $@ + +toc.xsl: ../html/toc.xsl + $(XSLT) $< html2xhtml.xsl $@ + +verbatim.xsl: ../html/verbatim.xsl + $(XSLT) $< html2xhtml.xsl $@ + +xref.xsl: ../html/xref.xsl + $(XSLT) $< html2xhtml.xsl $@ + diff --git a/web/wiki/ReactOS Wiki-Update.rtf b/web/wiki/ReactOS Wiki-Update.rtf deleted file mode 100644 index c893fa750877519e82984e894c89ef9bea54bedf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6883 zcmb7J{cjsL61|@T^nV~W1#AblEXnx}dPSR$){8pfDVZ8V+aPym>SInpJM->jB3AHkQGrc}0JQ}{wO zHJLsauT5*UvV88WGc`Ccxb53d55DHkZ))WhO8KwiFJqVC4mS}CB}?7R#pKmDKKLk~ zt43MrjTINJ@~YHcJQ+Qnj3!U;-}u?9Z~2W@>ucSVkMp*egqJ4i_V%lvG^)X`!7cx1O+&PRtY>N{)FWO63ZxXNq4I9wS!P z6v{basypu$hcoF^DG(3}#RVcRDGtJ!%CDtWN5}Y8APu-(Nr$|P3fZB$I8czM0$OJ&V+=PG1(ESv(SoWKk4&*^A9FgwigRv0-ggvTY0 z5RP`UN#^Kp#_G9lWZl2-$I;%#g;*ojs0dwYL<^~RW~l_O_3X25yqW{I3LnKgJ5;He z)A-)Nb2RMKrkZQvd}wWggf1jW15q-u_%zaFe}296KiFauxe>;aH!VE2Wqv!jUiyNC`{WR!3`3-48;-Q zz)1L)RTV5WfDj%$SK`nU6bXEI2#{8q1|bdrT5i(2>F5#r$XrUFEVRfv2@v%$47&A{}2iEF1X3T1VA-t=SP`7M?J%<9vb3CSx138ChWKv zEm&PhPF;F&yu?WWfo~d#_sSpOoLLd%C9w+vB`H&KwW=e&L)mnzbc`th}iI9e-D}8cCoU5OK-U4~G zFP=Vo@hhR!$G2~elc}RjmU^F@nK{y2rPltgZ^c@JeklJhph6J4fCX@wlR;ga8KyuObmcVxfud6GI{E-0Vc$x0AR9!s3dK%r|zn= z{NVW{KX_5lRpS2Yg97TxZ(yE-K7J7^IeAP0pbA=9<^4uDO)WlAZP8k^2%lIj1&s)5 zL~Ii(w=1qY1q)BIaHfEol^Sge@h9>{mvBITa<7N{JhaH4*K^_$;G|LfL&U$F{1Z@z z-9u!Tb9xto2^GImh<^#kJ3MyqLnH<<2Oj&-ko;wB2DM-uDv3Ha=}K;tctL|Q05=ep ztO5;DW&zw$Z}Fa7-j_&vbCpM30e^o{}qftTMfjNSoWLccQ5ln#bRmg`2 zRw=EmBgW*;lhWy;B-9QtO}-@905K69pl+55kk4BJB&&@q-$55%LZqVcW?d;!84{yW z_>xC4lx^+F8!7g%8-r%sl}pu0GdPqSXTPh~!lp%A0PgDH6PSNOJL>^}35HsQ3L%JW zDC^R||BLo!zcbpF^B^JWmLPb&M3)GZ!)_^0p&{&TQ zi2r_>xdY-F295o{Vk>@A&D#JJu(m zgLP6nWjQ2$ zqyeoTn$jtX#y-6QcD-h0MSd(n-rYz|G)NO6jZCG!(PfLFraR8#3o}VL$Fm9J`8Y!M zSX^wFOZgXS4VZ0P9&3(;^2JD8(0u7oFL)3uZfY9g228JlrB#UxB5$GGvd}lKENVpA z4C4P5!kvH@Wp5TZkH|HIJjIkTwLtZsi&Eo7o^?+QEwMt-anK*2+L4i+*fbwW$_aO)a)kJOxwF^mUjAX?$5awOimp!?}oL}6tx6!UZn z+u6f-dB(SA4_7AzRx- z$IxQ=t*K>mY}h)a^0-~ecAzKFb(HO6w+4cdI4gEK?Uy$BoiAlP|DCkEcLMBr6{2Vu=gaL5D+3M#$77nB{jNK*>HH*c=Yd*_L6b` zin*!t`TrU-P(Hm@13s}5mn7D}G4RVrH%eODbQf$59^yQ#ns>h#8%bz59H@So%EAHW zJYLV0!pp$n#7_N=2r94~sB{Ki3i}{RKQ2({)f*${s$