Commit 510074f9 authored by Peter Eisentraut's avatar Peter Eisentraut

Remove use of Jade and DSSSL

All documentation is now built using XSLT.  Remove all references to
Jade, DSSSL, also JadeTex and some other outdated tooling.

For chunked HTML builds, this changes nothing, but removes the
transitional "oldhtml" target.  The single-page HTML build is ported
over to XSLT.  For PDF builds, this removes the JadeTex builds and moves
the FOP builds in their place.
parent 3f902354
# config/docbook.m4
# PGAC_PROG_JADE
# --------------
AC_DEFUN([PGAC_PROG_JADE],
[AC_CHECK_PROGS([JADE], [openjade jade])])
# PGAC_PROG_NSGMLS
# ----------------
AC_DEFUN([PGAC_PROG_NSGMLS],
......@@ -44,59 +38,3 @@ rm -f conftest.sgml])
have_docbook=$pgac_cv_check_docbook
AC_SUBST([have_docbook])
])# PGAC_CHECK_DOCBOOK
# PGAC_PATH_DOCBOOK_STYLESHEETS
# -----------------------------
AC_DEFUN([PGAC_PATH_DOCBOOK_STYLESHEETS],
[AC_ARG_VAR(DOCBOOKSTYLE, [location of DocBook stylesheets])dnl
AC_MSG_CHECKING([for DocBook stylesheets])
AC_CACHE_VAL([pgac_cv_path_stylesheets],
[if test -n "$DOCBOOKSTYLE"; then
pgac_cv_path_stylesheets=$DOCBOOKSTYLE
else
for pgac_prefix in /usr /usr/local /opt /sw; do
for pgac_infix in share lib; do
for pgac_postfix in \
sgml/stylesheets/nwalsh-modular \
sgml/stylesheets/docbook \
sgml/stylesheets/dsssl/docbook \
sgml/docbook-dsssl \
sgml/docbook/dsssl/modular \
sgml/docbook/stylesheet/dsssl/modular \
sgml/docbook/dsssl-stylesheets \
sgml/dsssl/docbook-dsssl-nwalsh
do
pgac_candidate=$pgac_prefix/$pgac_infix/$pgac_postfix
if test -r "$pgac_candidate/html/docbook.dsl" \
&& test -r "$pgac_candidate/print/docbook.dsl"
then
pgac_cv_path_stylesheets=$pgac_candidate
break 3
fi
done
done
done
fi])
DOCBOOKSTYLE=$pgac_cv_path_stylesheets
AC_SUBST([DOCBOOKSTYLE])
if test -n "$DOCBOOKSTYLE"; then
AC_MSG_RESULT([$DOCBOOKSTYLE])
else
AC_MSG_RESULT(no)
fi])# PGAC_PATH_DOCBOOK_STYLESHEETS
# PGAC_PATH_COLLATEINDEX
# ----------------------
# Some DocBook installations provide collateindex.pl in $DOCBOOKSTYLE/bin,
# but it's not necessarily marked executable, so we can't use AC_PATH_PROG
# to check for it there. Other installations just put it in the PATH.
AC_DEFUN([PGAC_PATH_COLLATEINDEX],
[AC_REQUIRE([PGAC_PATH_DOCBOOK_STYLESHEETS])dnl
if test -n "$DOCBOOKSTYLE" -a -r "$DOCBOOKSTYLE/bin/collateindex.pl"; then
COLLATEINDEX="$DOCBOOKSTYLE/bin/collateindex.pl"
AC_SUBST([COLLATEINDEX])
else
AC_PATH_PROG(COLLATEINDEX, collateindex.pl)
fi])# PGAC_PATH_COLLATEINDEX
......@@ -629,14 +629,12 @@ ac_subst_vars='LTLIBOBJS
vpath_build
PG_VERSION_NUM
PROVE
FOP
OSX
XSLTPROC
XMLLINT
DBTOEPUB
COLLATEINDEX
DOCBOOKSTYLE
have_docbook
JADE
NSGMLS
TCL_SHLIB_LD_LIBS
TCL_SHARED_BUILD
......@@ -869,8 +867,7 @@ PKG_CONFIG_LIBDIR
ICU_CFLAGS
ICU_LIBS
LDFLAGS_EX
LDFLAGS_SL
DOCBOOKSTYLE'
LDFLAGS_SL'
# Initialize some variables set by options.
......@@ -1568,8 +1565,6 @@ Some influential environment variables:
ICU_LIBS linker flags for ICU, overriding pkg-config
LDFLAGS_EX extra linker flags for linking executables only
LDFLAGS_SL extra linker flags for linking shared libraries only
DOCBOOKSTYLE
location of DocBook stylesheets
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
......@@ -15951,48 +15946,6 @@ fi
test -n "$NSGMLS" && break
done
for ac_prog in openjade jade
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_JADE+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$JADE"; then
ac_cv_prog_JADE="$JADE" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_JADE="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
JADE=$ac_cv_prog_JADE
if test -n "$JADE"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $JADE" >&5
$as_echo "$JADE" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$JADE" && break
done
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for DocBook V4.2" >&5
$as_echo_n "checking for DocBook V4.2... " >&6; }
......@@ -16029,93 +15982,6 @@ $as_echo "$pgac_cv_check_docbook" >&6; }
have_docbook=$pgac_cv_check_docbook
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for DocBook stylesheets" >&5
$as_echo_n "checking for DocBook stylesheets... " >&6; }
if ${pgac_cv_path_stylesheets+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$DOCBOOKSTYLE"; then
pgac_cv_path_stylesheets=$DOCBOOKSTYLE
else
for pgac_prefix in /usr /usr/local /opt /sw; do
for pgac_infix in share lib; do
for pgac_postfix in \
sgml/stylesheets/nwalsh-modular \
sgml/stylesheets/docbook \
sgml/stylesheets/dsssl/docbook \
sgml/docbook-dsssl \
sgml/docbook/dsssl/modular \
sgml/docbook/stylesheet/dsssl/modular \
sgml/docbook/dsssl-stylesheets \
sgml/dsssl/docbook-dsssl-nwalsh
do
pgac_candidate=$pgac_prefix/$pgac_infix/$pgac_postfix
if test -r "$pgac_candidate/html/docbook.dsl" \
&& test -r "$pgac_candidate/print/docbook.dsl"
then
pgac_cv_path_stylesheets=$pgac_candidate
break 3
fi
done
done
done
fi
fi
DOCBOOKSTYLE=$pgac_cv_path_stylesheets
if test -n "$DOCBOOKSTYLE"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOCBOOKSTYLE" >&5
$as_echo "$DOCBOOKSTYLE" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test -n "$DOCBOOKSTYLE" -a -r "$DOCBOOKSTYLE/bin/collateindex.pl"; then
COLLATEINDEX="$DOCBOOKSTYLE/bin/collateindex.pl"
else
# Extract the first word of "collateindex.pl", so it can be a program name with args.
set dummy collateindex.pl; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_COLLATEINDEX+:} false; then :
$as_echo_n "(cached) " >&6
else
case $COLLATEINDEX in
[\\/]* | ?:[\\/]*)
ac_cv_path_COLLATEINDEX="$COLLATEINDEX" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_COLLATEINDEX="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
;;
esac
fi
COLLATEINDEX=$ac_cv_path_COLLATEINDEX
if test -n "$COLLATEINDEX"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $COLLATEINDEX" >&5
$as_echo "$COLLATEINDEX" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
for ac_prog in dbtoepub
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
......@@ -16284,6 +16150,48 @@ fi
test -n "$OSX" && break
done
for ac_prog in fop
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_FOP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$FOP"; then
ac_cv_prog_FOP="$FOP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_FOP="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
FOP=$ac_cv_prog_FOP
if test -n "$FOP"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $FOP" >&5
$as_echo "$FOP" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$FOP" && break
done
#
# Check for test tools
......
......@@ -2117,14 +2117,12 @@ fi
# Check for DocBook and tools
#
PGAC_PROG_NSGMLS
PGAC_PROG_JADE
PGAC_CHECK_DOCBOOK(4.2)
PGAC_PATH_DOCBOOK_STYLESHEETS
PGAC_PATH_COLLATEINDEX
AC_CHECK_PROGS(DBTOEPUB, dbtoepub)
AC_CHECK_PROGS(XMLLINT, xmllint)
AC_CHECK_PROGS(XSLTPROC, xsltproc)
AC_CHECK_PROGS(OSX, [osx sgml2xml sx])
AC_CHECK_PROGS(FOP, fop)
#
# Check for test tools
......
......@@ -16,15 +16,7 @@
/features-unsupported.sgml
/errcodes-table.sgml
/version.sgml
/bookindex.sgml
/HTML.index
# Assorted byproducts from building the above
/postgres.xml
/INSTALL.html
/INSTALL.xml
/postgres-US.aux
/postgres-US.log
/postgres-US.out
/postgres-A4.aux
/postgres-A4.log
/postgres-A4.out
......@@ -33,9 +33,10 @@ ifndef DBTOEPUB
DBTOEPUB = $(missing) dbtoepub
endif
ifndef JADE
JADE = $(missing) jade
ifndef FOP
FOP = $(missing) fop
endif
SGMLINCLUDE = -D . -D $(srcdir)
ifndef NSGMLS
......@@ -57,18 +58,11 @@ endif
override XSLTPROCFLAGS += --stringparam pg.version '$(VERSION)'
GENERATED_SGML = bookindex.sgml version.sgml \
GENERATED_SGML = version.sgml \
features-supported.sgml features-unsupported.sgml errcodes-table.sgml
ALLSGML := $(wildcard $(srcdir)/*.sgml $(srcdir)/ref/*.sgml) $(GENERATED_SGML)
# Sometimes we don't want this one.
ALMOSTALLSGML := $(filter-out %bookindex.sgml,$(ALLSGML))
ifdef DOCBOOKSTYLE
CATALOG = -c $(DOCBOOKSTYLE)/catalog
endif
# Enable some extra warnings
# -wfully-tagged needed to throw a warning on missing tags
# for older tool chains, 2007-08-31
......@@ -77,6 +71,7 @@ endif
# noisy to turn on by default, unfortunately.
override SPFLAGS += -wall -wno-unused-param -wno-empty -wfully-tagged
##
## Man pages
##
......@@ -90,50 +85,9 @@ man-stamp: stylesheet-man.xsl postgres.xml
##
## HTML
## common files
##
.PHONY: draft
JADE.html.call = $(JADE) $(JADEFLAGS) $(SPFLAGS) $(SGMLINCLUDE) $(CATALOG) -d stylesheet.dsl -t sgml -i output-html
ifeq ($(STYLE),website)
JADE.html.call += -V website-stylesheet
endif
# The draft target creates HTML output in draft mode, without index (for faster build).
draft: postgres.sgml $(ALMOSTALLSGML) stylesheet.dsl
$(MKDIR_P) html
$(JADE.html.call) -V draft-mode $<
cp $(srcdir)/stylesheet.css html/
oldhtml: oldhtml-stamp
oldhtml-stamp: postgres.sgml $(ALLSGML) stylesheet.dsl
$(MAKE) check-tabs
$(MKDIR_P) html
$(JADE.html.call) -i include-index $<
cp $(srcdir)/stylesheet.css html/
touch $@
# single-page HTML
postgres.html: postgres.sgml $(ALLSGML) stylesheet.dsl
$(JADE.html.call) -V nochunks -V rootchunk -V '(define %root-filename% #f)' -V '(define use-output-dir #f)' -i include-index $<
# single-page text
postgres.txt: postgres.html
$(LYNX) -force_html -dump -nolist $< > $@
HTML.index: postgres.sgml $(ALMOSTALLSGML) stylesheet.dsl
@$(MKDIR_P) html
$(JADE.html.call) -V html-index $<
bookindex.sgml: HTML.index
ifdef COLLATEINDEX
LC_ALL=C $(PERL) $(COLLATEINDEX) -f -g -i 'bookindex' -o $@ $<
else
@$(missing) collateindex.pl $< $@
endif
# Technically, this should depend on Makefile.global, but then
# version.sgml would need to be rebuilt after every configure run,
# even in distribution tarballs. So this is cheating a bit, but it
......@@ -154,67 +108,6 @@ features-unsupported.sgml: $(top_srcdir)/src/backend/catalog/sql_feature_package
errcodes-table.sgml: $(top_srcdir)/src/backend/utils/errcodes.txt generate-errcodes-table.pl
$(PERL) $(srcdir)/generate-errcodes-table.pl $< > $@
##
## Print
##
# RTF to allow minor editing for hardcopy
%.rtf: %.sgml $(ALLSGML)
$(JADE) $(JADEFLAGS) $(SGMLINCLUDE) $(CATALOG) -d stylesheet.dsl -t rtf -V rtf-backend -i output-print -i include-index postgres.sgml
# TeX
# Regular TeX and pdfTeX have slightly differing requirements, so we
# need to distinguish the path we're taking.
JADE.tex.call = $(JADE) $(JADEFLAGS) $(SGMLINCLUDE) $(CATALOG) -d $(srcdir)/stylesheet.dsl -t tex -V tex-backend -i output-print -i include-index
%-A4.tex-ps: %.sgml $(ALLSGML)
$(JADE.tex.call) -V texdvi-output -V '%paper-type%'=A4 -o $@ $<
%-US.tex-ps: %.sgml $(ALLSGML)
$(JADE.tex.call) -V texdvi-output -V '%paper-type%'=USletter -o $@ $<
%-A4.tex-pdf: %.sgml $(ALLSGML)
$(JADE.tex.call) -V texpdf-output -V '%paper-type%'=A4 -o $@ $<
%-US.tex-pdf: %.sgml $(ALLSGML)
$(JADE.tex.call) -V texpdf-output -V '%paper-type%'=USletter -o $@ $<
%.dvi: %.tex-ps
@rm -f $*.aux $*.log
# multiple runs are necessary to create proper intra-document links
jadetex $<
jadetex $<
jadetex $<
# PostScript from TeX
postgres.ps:
$(error Invalid target; use postgres-A4.ps or postgres-US.ps as targets)
%.ps: %.dvi
dvips -o $@ $<
postgres.pdf:
$(error Invalid target; use postgres-A4.pdf or postgres-US.pdf as targets)
%.pdf: %.tex-pdf
@rm -f $*.aux $*.log $*.out
# multiple runs are necessary to create proper intra-document links
pdfjadetex $<
pdfjadetex $<
pdfjadetex $<
# Cancel built-in suffix rules, interfering with PS building
.SUFFIXES:
# This generates an XML version of the flow-object tree. It's useful
# for debugging DSSSL code, and possibly to interface to some other
# tools that can make use of this.
%.fot: %.sgml $(ALLSGML)
$(JADE) $(JADEFLAGS) $(SGMLINCLUDE) $(CATALOG) -d stylesheet.dsl -t fot -i output-print -i include-index -o $@ $<
##
## Generation of some text files.
......@@ -239,19 +132,19 @@ INSTALL.html: %.html : stylesheet-text.xsl %.xml
$(XSLTPROC) $(XSLTPROCFLAGS) $(XSLTPROC_HTML_FLAGS) $^ >$@
INSTALL.xml: standalone-install.sgml installation.sgml version.sgml
$(OSX) -D. -x lower $(filter-out version.sgml,$^) >$@.tmp
$(OSX) $(SGMLINCLUDE) -x lower $(filter-out version.sgml,$^) >$@.tmp
$(call mangle-xml,chapter)
##
## XSLT processing
## SGML->XML conversion
##
# For obscure reasons, GNU make 3.81 complains about circular dependencies
# if we try to do "make all" in a VPATH build without the explicit
# $(srcdir) on the postgres.sgml dependency in this rule. GNU make bug?
postgres.xml: $(srcdir)/postgres.sgml $(ALMOSTALLSGML)
$(OSX) -D. -x lower -i include-xslt-index $< >$@.tmp
postgres.xml: $(srcdir)/postgres.sgml $(ALLSGML)
$(OSX) $(SGMLINCLUDE) -x lower $< >$@.tmp
$(call mangle-xml,book)
define mangle-xml
......@@ -261,6 +154,11 @@ $(PERL) -p -e 's/\[(aacute|acirc|aelig|agrave|amp|aring|atilde|auml|bull|copy|ea
rm $@.tmp
endef
##
## HTML
##
ifeq ($(STYLE),website)
XSLTPROC_HTML_FLAGS += --param website.stylesheet 1
endif
......@@ -277,6 +175,23 @@ htmlhelp: stylesheet-hh.xsl postgres.xml
$(XMLLINT) --noout --valid postgres.xml
$(XSLTPROC) $(XSLTPROCFLAGS) $^
# single-page HTML
postgres.html: stylesheet-html-nochunk.xsl postgres.xml
$(XMLLINT) --noout --valid postgres.xml
$(XSLTPROC) $(XSLTPROCFLAGS) $(XSLTPROC_HTML_FLAGS) -o $@ $^
# single-page text
postgres.txt: postgres.html
$(LYNX) -force_html -dump -nolist $< > $@
##
## Print
##
postgres.pdf:
$(error Invalid target; use postgres-A4.pdf or postgres-US.pdf as targets)
%-A4.fo: stylesheet-fo.xsl %.xml
$(XMLLINT) --noout --valid $*.xml
$(XSLTPROC) $(XSLTPROCFLAGS) --stringparam paper.type A4 -o $@ $^
......@@ -285,12 +200,13 @@ htmlhelp: stylesheet-hh.xsl postgres.xml
$(XMLLINT) --noout --valid $*.xml
$(XSLTPROC) $(XSLTPROCFLAGS) --stringparam paper.type USletter -o $@ $^
FOP = fop
%.pdf: %.fo
$(FOP) -fo $< -pdf $@
.SECONDARY: postgres-A4.fo postgres-US.fo
%-fop.pdf: %.fo
$(FOP) -fo $< -pdf $@
##
## EPUB
##
epub: postgres.epub
postgres.epub: postgres.xml
......@@ -321,7 +237,7 @@ MAKEINFO = makeinfo
##
# Quick syntax check without style processing
check: postgres.sgml $(ALMOSTALLSGML) check-tabs
check: postgres.sgml $(ALLSGML) check-tabs
$(NSGMLS) $(SPFLAGS) $(SGMLINCLUDE) -s $<
......@@ -394,7 +310,7 @@ check-tabs:
# keeping the dependencies satisfied.
.SECONDARY: postgres.xml $(GENERATED_SGML) HTML.index
.SECONDARY: INSTALL.html INSTALL.xml
.SECONDARY: %-A4.tex-ps %-US.tex-ps %-A4.tex-pdf %-US.tex-pdf
.SECONDARY: postgres-A4.fo postgres-US.fo
clean:
# text --- these are shipped, but not in this directory
......@@ -403,11 +319,13 @@ clean:
# single-page output
rm -f postgres.html postgres.txt
# print
rm -f *.rtf *.tex-ps *.tex-pdf *.dvi *.aux *.log *.ps *.pdf *.out *.fot
# index
rm -f HTML.index $(GENERATED_SGML)
# XSLT
rm -f postgres.xml *.tmp htmlhelp.hhp toc.hhc index.hhk *.fo
rm -f *.fo *.pdf
# generated SGML files
rm -f $(GENERATED_SGML)
# SGML->XML conversion
rm -f postgres.xml *.tmp
# HTML Help
rm -f htmlhelp.hhp toc.hhc index.hhk
# EPUB
rm -f postgres.epub
# Texinfo
......
This diff is collapsed.
......@@ -193,7 +193,6 @@
<!-- back matter -->
<!ENTITY biblio SYSTEM "biblio.sgml">
<!ENTITY bookindex SYSTEM "bookindex.sgml">
<!--
Some parts of the documentation are also source for some plain-text
......@@ -203,14 +202,3 @@
-->
<!ENTITY % standalone-ignore "INCLUDE">
<!ENTITY % standalone-include "IGNORE">
<!--
By default, no index is included. Use -i include-index on the command line
to include it.
-->
<!ENTITY % include-index "IGNORE">
<!--
Create empty index element for processing by XSLT stylesheet.
-->
<!ENTITY % include-xslt-index "IGNORE">
#!/bin/sh
# fixrtf
# doc/src/sgml/fixrtf
# Repair (slightly) damaged RTF generated by jade
# Applixware wants the s0 stylesheet defined, whereas
# M$Word does not care about it.
# (c) 2001, Thomas Lockhart, PostgreSQL Inc.
flist=""
RPAT=""
for i in $@ ; do
case "$i" in
-r|--refentry)
RPAT='-e s/\\\keepn/\\\keep/g'
;;
-?|--help)
echo "$0 [--refentry] <rtf file> ..."
exit 0
;;
-*)
echo "Command $i not recognized"
$0 --help
exit 1
;;
*)
flist="$flist $i"
esac
done
if [ "$flist" = "" ] ; then
flist=*.rtf
fi
for f in $flist ; do
echo -n "Repairing '$f' ..."
if [ -r $f ] ; then
(sed -e 's/{\\stylesheet{\\s1/{\\stylesheet{\\s0 Normal 0;}{\\s1/g' $RPAT $f > $f.new \
&& mv -f $f.new $f \
&& echo " done") || echo " failed"
else
echo " file not found"
fi
done
exit
......@@ -517,16 +517,6 @@ $ENV{PERL5LIB}=$ENV{PERL5LIB} . ';c:\IPC-Run-0.94\lib';
</para></listitem>
</varlistentry>
<varlistentry>
<term>DocBook DSSSL 1.79</term>
<listitem><para>
Download from
<ulink url="http://sourceforge.net/projects/docbook/files/docbook-dsssl/1.79/docbook-dsssl-1.79.zip/download"></>
and uncompress in the subdirectory
<filename>docbook-dsssl-1.79</filename>.
</para></listitem>
</varlistentry>
<varlistentry>
<term>ISO character entities</term>
<listitem><para>
......
% doc/src/sgml/jadetex.cfg
%
% This file redefines \FlowObjectSetup and some related macros to greatly
% reduce the number of control sequence names created, and also to avoid
% creation of many useless hyperlink anchors (bookmarks) in PDF files.
%
% The original coding of \FlowObjectSetup defined a control sequence x@LABEL
% for pretty nearly every flow object in the file, whether that object was
% cross-referenced or not. Worse yet, it created a hyperlink anchor for
% every such object, which not only bloated the output PDF with useless
% anchors but consumed an additional control sequence name per anchor.
% This results in overrunning TeX's limited-size string pool.
%
% To fix, extend \PageLabel's already-existing mechanism whereby a p@LABEL
% control sequence is filled in only for labels that are referenced by at
% least one \Pageref call. We now also fill in p@LABEL for labels that are
% referenced by a \Link. Then, we can drop x@LABEL entirely, and use p@LABEL
% to control emission of both a hyperlink anchor and a page-number label.
% Now, both of those things are emitted for all and only the flow objects
% that have either a hyperlink reference or a page-number reference.
% We consume about one control sequence name per flow object plus one per
% referenced object, which is a lot better than three per flow object.
%
% (With a more invasive patch, we could track the need for an anchor and a
% page-number label separately, but that would probably require two control
% sequences for every flow object. Besides, many objects that have one kind
% of reference will have the other one too; that's certainly true for objects
% referenced in either the TOC or the index, for example.)
%
%
% In addition to checking p@LABEL not x@LABEL, this version of \FlowObjectSetup
% is fixed to clear \Label and \Element whether or not it emits an anchor
% and page label. Failure to do that seems to explain some pre-existing bugs
% in which certain SGML constructs weren't correctly cross-referenced.
%
\def\FlowObjectSetup#1{%
\ifDoFOBSet
\ifLabelElements
\ifx\Label\@empty\let\Label\Element\fi
\fi
\ifx\Label\@empty\else
\expandafter\ifx\csname p@\Label\endcsname\relax
\else
\bgroup
\ifNestedLink
\else
\hyper@anchorstart{\Label}\hyper@anchorend
\PageLabel{\Label}%
\fi
\egroup
\fi
\let\Label\@empty
\let\Element\@empty
\fi
\fi
}
%
% Adjust \PageLabel so that the p@NAME control sequence acquires a correct
% value immediately; this seems to be needed to avoid scenarios wherein
% additional TeX runs are needed to reach a stable state of the .aux file.
%
\def\PageLabel#1{%
\@bsphack
\expandafter\ifx\csname p@#1\endcsname\relax
\else
\protected@write\@auxout{}%
{\string\pagelabel{#1}{\thepage}}%
% Ensure the p@NAME control sequence acquires correct value immediately
\expandafter\xdef\csname p@#1\endcsname{\thepage}%
\fi
\@esphack}
%
% In \Link, add code to emit an aux-file entry if the p@NAME sequence isn't
% defined. Much as in \@Setref, this ensures we'll process the referenced
% item correctly on the next TeX run.
%
\def\Link#1{%
\begingroup
\SetupICs{#1}%
\ifx\Label\@empty\let\Label\Element\fi
% \typeout{Made a Link at \the\inputlineno, to \Label}%
\hyper@linkstart{\LinkType}{\Label}%
\NestedLinktrue
% If p@NAME control sequence isn't defined, emit dummy def to aux file
% so it will get defined properly on next run, much as in \@Setref
\expandafter\ifx\csname p@\Label\endcsname\relax
\immediate\write\@mainaux{\string\pagelabel{\Label}{qqq}}%
\fi
}
......@@ -277,7 +277,6 @@
</part>
&biblio;
<![%include-index;[&bookindex;]]>
<![%include-xslt-index;[<index id="bookindex"></index>]]>
<index id="bookindex"></index>
</book>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY % common.entities SYSTEM "http://docbook.sourceforge.net/release/xsl/current/common/entities.ent">
%common.entities;
]>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!--
This file contains XSLT stylesheet customizations that are common to
all HTML output variants (chunked and single-page).
-->
<!-- Parameters -->
<xsl:param name="make.valid.html" select="1"></xsl:param>
<xsl:param name="generate.id.attributes" select="1"></xsl:param>
<xsl:param name="link.mailto.url">pgsql-docs@postgresql.org</xsl:param>
<xsl:param name="toc.max.depth">2</xsl:param>
<!-- Change display of some elements -->
<xsl:template match="command">
<xsl:call-template name="inline.monoseq"/>
</xsl:template>
<xsl:template match="confgroup" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
<xsl:call-template name="id.attribute"/>
<xsl:apply-templates select="conftitle/text()" mode="bibliography.mode"/>
<xsl:text>, </xsl:text>
<xsl:apply-templates select="confdates/text()" mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
</xsl:template>
<xsl:template match="isbn" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
<xsl:call-template name="id.attribute"/>
<xsl:text>ISBN </xsl:text>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
</xsl:template>
<!-- table of contents configuration -->
<xsl:param name="generate.toc">
appendix toc,title
article/appendix nop
article toc,title
book toc,title
chapter toc,title
part toc,title
preface toc,title
qandadiv toc
qandaset toc
reference toc,title
sect1 toc
sect2 toc
sect3 toc
sect4 toc
sect5 toc
section toc
set toc,title
</xsl:param>
<xsl:param name="generate.section.toc.level" select="1"></xsl:param>
<!-- include refentry under sect1 in tocs -->
<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|refentry
|bridgehead[$bridgehead.in.toc != 0]"/>
</xsl:call-template>
</xsl:template>
<!-- Put index "quicklinks" (A | B | C | ...) at the top of the bookindex page. -->
<!-- from html/autoidx.xsl -->
<xsl:template name="generate-basic-index">
<xsl:param name="scope" select="NOTANODE"/>
<xsl:variable name="role">
<xsl:if test="$index.on.role != 0">
<xsl:value-of select="@role"/>
</xsl:if>
</xsl:variable>
<xsl:variable name="type">
<xsl:if test="$index.on.type != 0">
<xsl:value-of select="@type"/>
</xsl:if>
</xsl:variable>
<xsl:variable name="terms"
select="//indexterm
[count(.|key('letter',
translate(substring(&primary;, 1, 1),
&lowercase;,
&uppercase;))
[&scope;][1]) = 1
and not(@class = 'endofrange')]"/>
<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">
<!-- pgsql-docs: begin added stuff -->
<p class="indexdiv-quicklinks">
<a href="#indexdiv-Symbols">
<xsl:call-template name="gentext">
<xsl:with-param name="key" select="'index symbols'"/>
</xsl:call-template>
</a>
<xsl:apply-templates select="$alphabetical[count(.|key('letter',
translate(substring(&primary;, 1, 1),
&lowercase;,&uppercase;))[&scope;][1]) = 1]"
mode="index-div-quicklinks">
<xsl:with-param name="position" select="position()"/>
<xsl:with-param name="scope" select="$scope"/>
<xsl:with-param name="role" select="$role"/>
<xsl:with-param name="type" select="$type"/>
<xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
</xsl:apply-templates>
</p>
<!-- pgsql-docs: end added stuff -->
<xsl:if test="$others">
<xsl:choose>
<xsl:when test="normalize-space($type) != '' and
$others[@type = $type][count(.|key('primary', &primary;)[&scope;][1]) = 1]">
<!-- pgsql-docs: added id attribute here for linking to it -->
<div class="indexdiv" id="indexdiv-Symbols">
<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;)[&scope;][1]) = 1]"
mode="index-symbol-div">
<xsl:with-param name="position" select="position()"/>
<xsl:with-param name="scope" select="$scope"/>
<xsl:with-param name="role" select="$role"/>
<xsl:with-param name="type" select="$type"/>
<xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
</xsl:apply-templates>
</dl>
</div>
</xsl:when>
<xsl:when test="normalize-space($type) != ''">
<!-- Output nothing, as there isn't a match for $other using this $type -->
</xsl:when>
<xsl:otherwise>
<!-- pgsql-docs: added id attribute here for linking to it -->
<div class="indexdiv" id="indexdiv-Symbols">
<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;)[&scope;][1]) = 1]"
mode="index-symbol-div">
<xsl:with-param name="position" select="position()"/>
<xsl:with-param name="scope" select="$scope"/>
<xsl:with-param name="role" select="$role"/>
<xsl:with-param name="type" select="$type"/>
<xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
</xsl:apply-templates>
</dl>
</div>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
<xsl:apply-templates select="$alphabetical[count(.|key('letter',
translate(substring(&primary;, 1, 1),
&lowercase;,&uppercase;))[&scope;][1]) = 1]"
mode="index-div-basic">
<xsl:with-param name="position" select="position()"/>
<xsl:with-param name="scope" select="$scope"/>
<xsl:with-param name="role" select="$role"/>
<xsl:with-param name="type" select="$type"/>
<xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
</xsl:apply-templates>
</div>
</xsl:template>
<xsl:template match="indexterm" mode="index-div-basic">
<xsl:param name="scope" select="."/>
<xsl:param name="role" select="''"/>
<xsl:param name="type" select="''"/>
<xsl:variable name="key"
select="translate(substring(&primary;, 1, 1),
&lowercase;,&uppercase;)"/>
<xsl:if test="key('letter', $key)[&scope;]
[count(.|key('primary', &primary;)[&scope;][1]) = 1]">
<div class="indexdiv">
<!-- pgsql-docs: added id attribute here for linking to it -->
<xsl:attribute name="id">
<xsl:value-of select="concat('indexdiv-', $key)"/>
</xsl:attribute>
<xsl:if test="contains(concat(&lowercase;, &uppercase;), $key)">
<h3>
<xsl:value-of select="translate($key, &lowercase;, &uppercase;)"/>
</h3>
</xsl:if>
<dl>
<xsl:apply-templates select="key('letter', $key)[&scope;]
[count(.|key('primary', &primary;)
[&scope;][1])=1]"
mode="index-primary">
<xsl:with-param name="position" select="position()"/>
<xsl:with-param name="scope" select="$scope"/>
<xsl:with-param name="role" select="$role"/>
<xsl:with-param name="type" select="$type"/>
<xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
</xsl:apply-templates>
</dl>
</div>
</xsl:if>
</xsl:template>
<!-- pgsql-docs -->
<xsl:template match="indexterm" mode="index-div-quicklinks">
<xsl:param name="scope" select="."/>
<xsl:param name="role" select="''"/>
<xsl:param name="type" select="''"/>
<xsl:variable name="key"
select="translate(substring(&primary;, 1, 1),
&lowercase;,&uppercase;)"/>
<xsl:if test="key('letter', $key)[&scope;]
[count(.|key('primary', &primary;)[&scope;][1]) = 1]">
<xsl:if test="contains(concat(&lowercase;, &uppercase;), $key)">
|
<a>
<xsl:attribute name="href">
<xsl:value-of select="concat('#indexdiv-', $key)"/>
</xsl:attribute>
<xsl:value-of select="translate($key, &lowercase;, &uppercase;)"/>
</a>
</xsl:if>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
<?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="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"/>
<xsl:include href="stylesheet-common.xsl" />
<xsl:include href="stylesheet-html-common.xsl" />
<xsl:include href="stylesheet-speedup-xhtml.xsl" />
</xsl:stylesheet>
This diff is collapsed.
This diff is collapsed.
......@@ -399,11 +399,8 @@ STRIP_SHARED_LIB = @STRIP_SHARED_LIB@
# Documentation
have_docbook = @have_docbook@
COLLATEINDEX = @COLLATEINDEX@
DBTOEPUB = @DBTOEPUB@
DOCBOOKSTYLE = @DOCBOOKSTYLE@
JADE = @JADE@
FOP = @FOP@
NSGMLS = @NSGMLS@
OSX = @OSX@
XMLLINT = @XMLLINT@
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment