• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

masterdb/H03-May-2022-885794

COPYINGH A D05-Jun-20122.2 KiB4335

ChangeLogH A D06-Jun-201231 KiB886600

INSTALLH A D06-Jun-201211.1 KiB292219

Makefile.amH A D05-Jun-20121.5 KiB4516

Makefile.inH A D03-May-202227.2 KiB835723

READMEH A D05-Jun-20127.2 KiB170131

aclocal.m4H A D06-Jun-2012108.9 KiB3,0472,786

config.guessH A D05-Jun-201243.5 KiB1,5231,311

config.subH A D05-Jun-201234.6 KiB1,7721,621

configureH A D06-Jun-2012324.5 KiB11,6799,315

configure.acH A D05-Jun-20121.8 KiB4539

defs.entH A D05-Jun-20121.2 KiB3827

install-shH A D05-Jun-201213.7 KiB528351

missingH A D05-Jun-201211.2 KiB377281

xorg-chunk.xslH A D05-Jun-20122.2 KiB6922

xorg-fo.xslH A D05-Jun-20123.8 KiB10530

xorg-sgml-doctools.pc.inH A D05-Jun-2012183 86

xorg-xhtml.xslH A D05-Jun-20122 KiB6120

xorg.cssH A D05-Jun-20128.4 KiB304281

xorg.xslH A D05-Jun-20123.4 KiB7823

README

1This package provides a common set of SGML entities and XML/CSS style
2sheets used in building/formatting the documentation provided in other
3X.Org packages.   It's typically only needed by people building from
4source who want to produce formatted documentation from their builds,
5or those who have installed the HTML version of the documentation,
6which refers to the included common xorg.css stylesheet.
7
8Documents external references
9-----------------------------
10A new feature with version 1.7 is references to documents in other
11packages. For example a protocol specifications may refer to another
12one or to a library implementing it.
13
14This feature works with PDF and HTML generated documents and will generate
15links to the other versions of the same type, i.e. html docs will link to
16other html docs,  and pdf docs will link to other pdf docs.
17
18Due to the modular nature of the X window System and the flexibility
19it provides to O/S builders, one should not expect all links to
20be resolved all the time. A more recent version of a package may be
21installed or an older version may be retained for a long period of time.
22Not all packages are installed either.
23
24Build challenges
25----------------
26The X Window System is composed of over 200 packages. The documentation is
27included with the package it documents so the information matches the code.
28The build is organized to satisfy C code building requirements, but this
29paradigm does not fit very well for building documentation.
30
31For a document to build a reference to another document, it needs to have
32information about this document which may or may not be there, or may be
33at an unexpected version. The document it refers to may also wish to refer
34to the former document.
35
36Local X builds
37--------------
38When building X as a sandbox on a workstation, using a simple build script
39to configure and build all packages in the right order is all you need
40to get a working system, including documentation. You will not get all
41the links in the documentation resolved correctly due to build order
42and/or bi-directional references.
43
44Unless you are updating or testing the documentation, you do not need to
45worry about this glitch. A simple workaround is to build each affected
46package using "make clean install && make clean install" in any order.
47This will give a chance to each package to get information about the other one
48through the installed files.
49
50O/S X builds
51------------
52O/S builders often repackage X code and documentation, however they face the
53same challenges as described above. Users can update packages through
54the package management system or install additional packages. To use the
55earlier example, if a protocol is installed without its implementing
56library there will be a broken reference.
57
58Build assumptions
59-----------------
60Packages provide great flexibility, including the one to install each package
61documentation in a separate, totally unrelated directory using the --docdir
62configure option. For external references to work, it is assumed that
63the each package installs the documentation using the relative
64doc/${PACKAGE_TARNAME} location.
65
66It is also a requirement that all packages containing DocBook/XML documentation
67be installed under the same read-only architecture independent installation
68directory as evidenced by the DATAROOTDIR package value. This value should also
69be the same for the xorg-sgml-doctools package. The purpose of this requirement
70is to form a document tree of a known structure such that stylesheets,
71masterdb, target dbs and other files can be reached.
72
73The Docbook stylesheet technology will create references with paths relative
74to this location. It will navigate up to "doc" using ../ and then navigate
75down to the document it refers to.
76
77Diagnosing a broken reference
78-----------------------------
79A document reference is created at build time while the document is being
80transformed from Docbook/XML to HTML or another format. If this reference
81is missing, the document must be rebuilt.
82
83To build the reference, the docbook stylesheet consults a database stored
84in this package which is called masterdb.xml. This database supplies the
85relative directory structure of where the documents are located as well
86as including target document references in the various *.db files.
87These files are generated and installed while the documents are being build.
88
89This is what a Docbook/XML reference from docA to docB looks like (docA.xml):
90<olink targetdoc='docB' targetptr='docBfragment'>Title</olink>
91
92This is what a non-chunked HTML reference from docA to docB looks like (docA.html):
93<a href="docB.html#docBfragment" class="olink">Title</a>
94
95This is what an HTML targetdoc for docB looks like (docB.html.db):
96<div element="article" href="docB.html#docBfragment" number="" targetptr="docBfragment">
97
98This is what an HTML reference from docA to docB looks like (docA.html)
99when the reference cannot be resolved:
100<span class="olink">Title</span>
101
102This can be caused by one or more of the following:
103
104   - docB may not longer contain the text (targetptr) docA is referring to.
105   - docB.html.db file may not have been installed by docB package
106   - masterdb.html.xml is missing a <document/> entry for docB
107   - masterdb.html.xml cannot be loaded so all refs are broken.
108   - an XSLT processor which does not support xinclude is being used
109   - docB.html.db was generated without --xinclude option for the processor
110   - xsltproc is not at version 1.1.26 or later
111   - for PDF/PS formats, the fragment is ignored, always points to top of docB
112
113Some pitfalls
114-------------------------
115<book id="docA"> in docA.xml: the id must match the file basename.
116In docs Makefile.am --stringparam current.docid="$(<:.xml=)"
117supplies docid for *.db. The document id must be unique across
118all documents.
119
120The baseuri attribute in masterdb.xml cannot be used as it conflicts for
121documents generated in chunked html.
122
123The pdf "inside the document" references only started working with
124docbook-xsl v 1.76.1 which is not yet available to your favorite O/S.
125In xorg-fo.xsl, insert.olink.pdf.frag must be set to zero which allows
126the reference to at least point to the top of the document.
127
128XSL toolchain
129-------------
130The following minimum versions are needed for external references to work:
131XSLT processor:	1.1.26
132libxml2:	2.7.6
133libxslt1.1:	1.1.26
134The exact triplet may vary by distribution, sometimes a version is skipped.
135If you are close enough, try it.
136
137References
138----------
139http://docbook.org/tdg/en/html/docbook.html
140http://docbook.sourceforge.net/release/xsl/current/doc/html/
141http://docbook.sourceforge.net/release/xsl/current/doc/fo/
142http://www.sagehill.net/docbookxsl/OlinkPrintOutput.html
143
144
145-------------------------------------------------------------------------------
146
147All questions regarding this software should be directed at the
148Xorg mailing list:
149
150        http://lists.freedesktop.org/mailman/listinfo/xorg
151
152Please submit bug reports to the Xorg bugzilla:
153
154        https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
155
156The master development code repository can be found at:
157
158        git://anongit.freedesktop.org/git/xorg/doc/xorg-sgml-doctools
159
160        http://cgit.freedesktop.org/xorg/doc/xorg-sgml-doctools
161
162For patch submission instructions, see:
163
164	http://www.x.org/wiki/Development/Documentation/SubmittingPatches
165
166For more information on the git code manager, see:
167
168        http://wiki.x.org/wiki/GitPage
169
170