TIVI-153: add as dependency for iputils
[profile/ivi/docbook-utils.git] / doc / refentry / docbook2texi-spec.pl.sgml
1 <RefEntry id="docbook2texi">
2
3 <RefMeta>
4 <RefEntryTitle>docbook2texi-spec.pl</RefEntryTitle>
5 <ManVolNum>1</ManVolNum>
6 </RefMeta>
7
8 <RefNameDiv>
9 <RefName>docbook2texi-spec.pl</RefName>
10 <RefPurpose>convert DocBook <SGMLTag>Book</sgmltag>s
11 to <Application>Texinfo</application> documents</RefPurpose>
12 </RefNameDiv>
13
14 <RefSynopsisDiv>
15 <CmdSynopsis>
16 <Command>sgmlspl</command>
17 <Arg choice=req>docbook2man-spec.pl</arg>
18 </CmdSynopsis>
19
20 <!-- docbook2man-spec.pl BREAKAGE HERE! -->
21
22 <CmdSynopsis>
23 <Command>nsgmls</command>
24 <Arg><Replaceable>sgml document</replaceable></Arg>
25 <Command>| sgmlspl</command>
26 <Arg choice=req>docbook2texi-spec.pl</arg>
27 <Arg><Replaceable>basename</replaceable></Arg>
28 </CmdSynopsis>
29 </RefSynopsisDiv>
30
31 <RefSect1>
32 <Title>Description</Title>
33
34 <Para>
35 <Application>docbook2texi</application> is a sgmlspl spec file that produces
36 GNU Texinfo documents from DocBook documents.  
37 </Para>
38
39 <Para>
40 The program reads ESIS produced by nsgmls (or other SGML parsers) from
41 standard input.  Currently the document element must be <SGMLTag>Book</sgmltag>,
42 otherwise the results are undefined.
43 </Para>
44
45 <Para>
46 Its output, the converted Texinfo document, is written to standard
47 output.
48 </Para>
49
50 <Para>
51 The file <Filename><Replaceable>basename.refs</replaceable></Filename> will also
52 be created, which contains all the nodes in the document and their immediate
53 'child' nodes.  As node processing always require forward references,
54 <Application>docbook2texi</application> must be run twice for each document: the
55 first time to build the references, and the second to actually generate a valid
56 document.
57 </Para>
58
59 </RefSect1>
60
61 <RefSect1>
62 <Title>Requirements</Title>
63
64 <SimpleList>
65 <Member>
66 The SGMLSpm package from CPAN.  This package includes the sgmlspl script
67 that is also needed.
68 </Member>
69 </SimpleList>
70
71 </RefSect1>
72
73
74 <RefSect1>
75 <Title>Limitations</Title>
76
77 <Para>
78 Trying <Application>docbook2man</application> on non-DocBook or non-conformant
79 SGML results in undefined behavior. :-)
80 </Para>
81
82 <Para>
83 This program is a slow, dodgy Perl script.
84 </Para>
85
86 <Para>
87 This program does not come close to supporting all the possible markup
88 in DocBook, and may produce wrong output in some cases with supported
89 markup.
90 </Para>
91
92 </RefSect1>
93
94 <RefSect1>
95 <Title>To do</Title>
96
97 <ItemizedList>
98
99 <ListItem><Para>
100 How the hell do you represent a backslash (<Literal>\</literal>) in Texinfo!!@?
101 I've tried <Literal>\\</literal> but TeX complains about it.
102 </Para>
103 </ListItem>
104
105 <ListItem><Para>
106 Fix breakages found in the test documents.
107 </Para>
108 </ListItem>
109
110 <ListItem><Para>
111 Add new element handling and fix existing handling.  
112 Be robust.  
113 </Para></ListItem>
114
115 <ListItem>
116 <Para>Make it faster. I think most of the speed problems so far is with parsing
117 ESIS.  Rewrite <Filename>SGMLS.pm</filename> with C and/or get input directly
118 from <Application>SP</application>.
119 </Para>
120 </ListItem>
121
122 <ListItem>
123 <Para>
124 There are some dependencies on elements occurring when they are actually
125 optional (according to the DTD).  We need to fix that (preferably) or 
126 prominently state the requirements.
127 </Para>
128 </ListItem>
129
130 <ListItem>
131 <Para>
132 Allow other more common document elements.
133 </Para>
134 </ListItem>
135
136 <ListItem>
137 <Para>
138 Separate out node referencing to a separate script.  Not only would it
139 make it faster/easier to maintain because it's separate from the main
140 code, but also I would like it to evolve into an automatic DocBook
141 <SGMLTag>ToC</sgmltag> generator.
142 </Para>
143 </ListItem>
144
145 </ItemizedList>
146 </RefSect1>
147
148 <RefSect1>
149 <Title>Copyright</Title>
150
151 <Para>
152 Copyright (C) 1998-1999 Steve Cheng <Email>steve@ggi-project.org</email>
153 </Para>
154
155 <Para>
156 This program is free software; you can redistribute it and/or modify it
157 under the terms of the GNU General Public License as published by the
158 Free Software Foundation; either version 2, or (at your option) any
159 later version.
160 </Para>
161
162 <Para>
163 You should have received a copy of the GNU General Public License along with
164 this program; see the file <Filename>COPYING</filename>.  If not, please write
165 to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
166 </Para>
167
168 </RefSect1>
169
170 </RefEntry>
171