Mercurial > mplayer.hg
annotate DOCS/xml/README @ 33783:a450fade6a83
Fix memory leaks in the Win32 GUI.
This closes Bugzilla #1312.
author | ib |
---|---|
date | Mon, 11 Jul 2011 11:10:06 +0000 |
parents | 6a701db99f5b |
children | 8b541e3d05c1 |
rev | line source |
---|---|
9674 | 1 Tools required for building the documentation |
2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
3 | |
11945 | 4 * GNU make 3.80 or later |
9674 | 5 * DocBook 4.1.2 or later |
6 * The DocBook XML DTD (also known as DocBk XML) | |
7 * DocBook XSL stylesheets -- version 1.50.0 or later is recommended. | |
8 | |
9 I am not quite sure which tools work, but I used the following | |
10 ones successfully, so they are required: | |
11 | |
12 * xmllint (part of libxml2) is used for validation. | |
13 * xsltproc (part of libxslt1) is used for transforming XML files into HTML | |
11269 | 14 files. Version 1.0.18 or later is recommended. |
9674 | 15 |
11269 | 16 On Red Hat systems you need the following packages: |
17 libxml2, libxslt, docbook-dtds, docbook-style-xsl | |
10911 | 18 |
31775
44a63a5a3175
The package list for Debian systems is not specific to the Sarge release.
diego
parents:
31470
diff
changeset
|
19 On Debian you will need these packages: |
17759
61e033e4daee
Correct toolchain for building XML docs on Debian Sarge.
diego
parents:
12604
diff
changeset
|
20 docbook-xml, docbook-xsl, xsltproc, libxml2-utils |
10025 | 21 |
9674 | 22 |
23 Building the documentation | |
24 ~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
25 | |
11269 | 26 Before trying to build the documentation, run |
9674 | 27 |
30990 | 28 make help |
9674 | 29 |
11269 | 30 to see all available build targets and make your choice. If something goes |
31 wrong, check the Configuration section of the toplevel Makefile and adjust | |
32 the variables. | |
9674 | 33 |
31108
20cee5a646b3
Merge both XML documentation README files into one.
diego
parents:
30990
diff
changeset
|
34 The documentation and its translations reside in subdirectories. |
20cee5a646b3
Merge both XML documentation README files into one.
diego
parents:
30990
diff
changeset
|
35 When building the documentation, the generated HTML files are |
20cee5a646b3
Merge both XML documentation README files into one.
diego
parents:
30990
diff
changeset
|
36 placed in subdirectories of the 'HTML' directory. |
20cee5a646b3
Merge both XML documentation README files into one.
diego
parents:
30990
diff
changeset
|
37 |
20cee5a646b3
Merge both XML documentation README files into one.
diego
parents:
30990
diff
changeset
|
38 IMPORTANT: Do NOT place sensitive files under 'HTML'! |
20cee5a646b3
Merge both XML documentation README files into one.
diego
parents:
30990
diff
changeset
|
39 It is for generated documentation only. |
20cee5a646b3
Merge both XML documentation README files into one.
diego
parents:
30990
diff
changeset
|
40 The whole directory tree is wiped out by the Makefile |
20cee5a646b3
Merge both XML documentation README files into one.
diego
parents:
30990
diff
changeset
|
41 when running 'make distclean' or 'make clean'. |
20cee5a646b3
Merge both XML documentation README files into one.
diego
parents:
30990
diff
changeset
|
42 |
20cee5a646b3
Merge both XML documentation README files into one.
diego
parents:
30990
diff
changeset
|
43 |
20cee5a646b3
Merge both XML documentation README files into one.
diego
parents:
30990
diff
changeset
|
44 Adding new translations |
20cee5a646b3
Merge both XML documentation README files into one.
diego
parents:
30990
diff
changeset
|
45 ~~~~~~~~~~~~~~~~~~~~~~~ |
20cee5a646b3
Merge both XML documentation README files into one.
diego
parents:
30990
diff
changeset
|
46 |
20cee5a646b3
Merge both XML documentation README files into one.
diego
parents:
30990
diff
changeset
|
47 1) Create a new subdirectory and copy the XML files there. main.xml must not be |
20cee5a646b3
Merge both XML documentation README files into one.
diego
parents:
30990
diff
changeset
|
48 copied, it is autogenerated. |
20cee5a646b3
Merge both XML documentation README files into one.
diego
parents:
30990
diff
changeset
|
49 |
20cee5a646b3
Merge both XML documentation README files into one.
diego
parents:
30990
diff
changeset
|
50 2) In each translated file after the <?xml ... ?> tag you must put a note |
20cee5a646b3
Merge both XML documentation README files into one.
diego
parents:
30990
diff
changeset
|
51 like <!-- synced with r2 -->, where 2 is the revision of corresponding |
20cee5a646b3
Merge both XML documentation README files into one.
diego
parents:
30990
diff
changeset
|
52 English file (see comment at the top of file). |
20cee5a646b3
Merge both XML documentation README files into one.
diego
parents:
30990
diff
changeset
|
53 |
20cee5a646b3
Merge both XML documentation README files into one.
diego
parents:
30990
diff
changeset
|
54 That's all, in theory. |
20cee5a646b3
Merge both XML documentation README files into one.
diego
parents:
30990
diff
changeset
|
55 |
9674 | 56 |
57 A few words about SGML catalog files | |
58 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
59 | |
60 As far as I know, the document type declaration in XML files requires | |
11269 | 61 both a public and a system identifier. For example: |
9674 | 62 |
63 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" | |
30990 | 64 "/usr/share/sgml/docbook/dtd/xml/4.1.2/docbookx.dtd"> |
9674 | 65 |
66 where | |
67 | |
30990 | 68 "-//OASIS//DTD DocBook XML V4.1.2//EN" |
9674 | 69 |
70 is the public, and | |
71 | |
30990 | 72 "/usr/share/sgml/docbook/dtd/xml/4.1.2/docbookx.dtd" |
9674 | 73 |
74 is the system identifier. | |
75 | |
76 The problem is that the system identifier is most probably system-dependent. | |
77 To avoid the need to manually fix the system identifiers before building the | |
11269 | 78 documentation, I've decided to use SGML catalogs. If you have your catalogs |
9953 | 79 set up correctly, xmllint and xsltproc will use them to find the DTDs |
9674 | 80 based on the public identifiers. |
81 | |
82 Note that this works only if public identifiers override system identifiers | |
11269 | 83 (i.e. the catalog file must contain 'OVERRIDE YES'). (I had no problem with |
9674 | 84 these on my system, since the Debian people took care of everything. ;-)) |