This file is indexed.

/usr/share/doc/openjade1.3/transform.htm is in openjade1.3 1.3.2-13ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
<!-- -*- sgml -*- -->
<html>

<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title>The OpenJade SGML/XML backend</title>
</head>

<body background="images/background.gif" bgcolor="#FFFFFF">

<p><font face="Geneva, Arial"><img src="images/dsssltitle.gif"
alt="OpenJade" vspace="10" width="750" height="60"> </font></p>
<div align="center"><center>

<table border="0">
    <tr>
        <td><font face="Geneva, Arial"><img
        src="images/space.gif" alt="" width="145" height="10"></font></td>
        <td><h1><font face="Geneva, Arial">The OpenJade SGML/XML backend</font></h1>
        <h3><font face="Arial">Created by James Clark</font></h3>
        <p><font face="Geneva, Arial">OpenJade does not support the
        DSSSL Transformation Language. However, it provides some
        simple, non-standardized extensions to the DSSSL Style
        Language that allow it to be used for SGML
        transformations.</font> </p>
        <p><font face="Geneva, Arial">These extensions are used
        in conjunction with the SGML backend which is selected
        with the <samp>-t sgml</samp> or <samp>-t xml</samp>
        options. Unlike other backends, the SGML backend writes
        its output to the standard output.</font> </p>
        <p><font face="Geneva, Arial">The <samp>-t xml</samp>
        option makes empty elements and processing instructions
        use the XML syntax. Note that the XML declaration is not
        automatically emitted.</font> </p>
        <p><font face="Geneva, Arial">The extensions consist of a
        collection of flow object classes that are used instead
        of the standard DSSSL-defined flow object classes:</font>
        </p>
        <dl>
            <dt><font face="Geneva, Arial"><code>element</code></font>
            </dt>
            <dt><font face="Geneva, Arial"><code>empty-element</code></font>
            </dt>
            <dd><font face="Geneva, Arial">Each of these flow
                objects results in an element in the output. The <code>element</code>
                flow object is a compound flow object (one that
                can have child flow objects). Both a start-tag
                and an end-tag are generated for this flow object.
                The <code>empty-element</code> is an atomic flow
                object (one that cannot have child flow objects).
                Only a start-tag is output for this. It should
                should be used for elements with a declared
                content of EMPTY or with a content reference
                attribute. Both of these flow objects support the
                following non-inherited characteristics:</font> <dl>
                    <dt><font face="Geneva, Arial"><code>gi</code></font>
                    </dt>
                    <dd><font face="Geneva, Arial">This is a
                        string-valued characteristic that
                        specifies the element's generic
                        identifier. It defaults to the generic
                        identifier of the current node.</font> </dd>
                    <dt><font face="Geneva, Arial"><code>attributes</code></font>
                    </dt>
                    <dd><font face="Geneva, Arial">This specifies
                        the element's attributes as a list of
                        lists each of which consists of exactly
                        two strings, the first specifying the
                        attribute name and the second the
                        attribute value. It defaults to the empty
                        list.</font> </dd>
                </dl>
            </dd>
            <dd>&nbsp;</dd>
            <dt><font face="Geneva, Arial"><code>processing-instruction</code></font>
            </dt>
            <dd><font face="Geneva, Arial">This is an atomic flow
                object that results in a processing instruction.
                It supports the following non-inherited
                characteristics:</font> <dl>
                    <dt><font face="Geneva, Arial"><code>data</code></font>
                    </dt>
                    <dd><font face="Geneva, Arial">This is a
                        string-valued characteristic that
                        specifies the content of the processing
                        instruction. It defaults to the empty
                        string.</font> </dd>
                </dl>
            </dd>
            <dt><font face="Geneva, Arial"><code>document-type</code></font>
            </dt>
            <dd><font face="Geneva, Arial">This is an atomic flow
                object that results in a DOCTYPE declaration. It
                supports the following non-inherited
                characteristics:</font> <dl>
                    <dt><font face="Geneva, Arial"><code>name</code></font>
                    </dt>
                    <dd><font face="Geneva, Arial">This is a
                        string-valued characteristic that
                        specifies the name of the document type (which
                        must be the same as the name of the
                        document element). It must not be omitted.</font>
                    </dd>
                    <dt><font face="Geneva, Arial"><code>system-id</code></font>
                    </dt>
                    <dd><font face="Geneva, Arial">This is a
                        string-valued characteristic that
                        specifies the system identifier of the
                        document type. If non-empty, this will be
                        used as the system identifier in the
                        doctype declaration. The default value is
                        the empty string.</font> </dd>
                    <dt><font face="Geneva, Arial"><code>public-id</code></font>
                    </dt>
                    <dd><font face="Geneva, Arial">This is a
                        string-valued characteristic that
                        specifies the public identifier of the
                        document type. If non-empty, this will be
                        used as the public identifier in the
                        doctype declaration. The default value is
                        the empty string.</font> </dd>
                </dl>
            </dd>
            <dt><font face="Geneva, Arial"><code>entity</code></font>
            </dt>
            <dd><font face="Geneva, Arial">This is an compound
                flow object that stores its content in a separate
                entity. It supports the following non-inherited
                characteristic:</font> <dl>
                    <dt><font face="Geneva, Arial"><code>system-id</code></font>
                    </dt>
                    <dd><font face="Geneva, Arial">The system
                        identifier of the entity. For now this is
                        treated as a filename not as an FSI.</font>
                    </dd>
                </dl>
                <p><font face="Geneva, Arial">Note that no entity
                reference or declaration is emitted.</font> </p>
            </dd>
            <dt><font face="Geneva, Arial"><code>entity-ref</code></font>
            </dt>
            <dd><font face="Geneva, Arial">This is an atomic flow
                object that results in an entity reference. It
                supports the following non-inherited
                characteristic:</font> <dl>
                    <dt><font face="Geneva, Arial"><code>name</code></font>
                    </dt>
                    <dd><font face="Geneva, Arial">The name of
                        the entity.</font> </dd>
                </dl>
            </dd>
            <dt><font face="Geneva, Arial"><code>formatting-instruction</code></font>
            </dt>
            <dd><font face="Geneva, Arial">This is an atomic flow
                object that inserts characters into the output
                without change. It supports the following non-inherited
                characteristic:</font> <dl>
                    <dt><font face="Geneva, Arial"><code>data</code></font>
                    </dt>
                    <dd><font face="Geneva, Arial">This is the
                        string to be inserted.</font> </dd>
                </dl>
                <p><font face="Geneva, Arial">It differs from
                normal data characters in the <code>&amp;</code>,
                <code>&lt;</code> and <code>&gt;</code> will not
                be escaped.</font> </p>
            </dd>
        </dl>
        <p><font face="Geneva, Arial">There is also the following
        characteristic:</font> </p>
        <dl>
            <dt><font face="Geneva, Arial"><code>preserve-sdata?</code></font>
            </dt>
            <dd><font face="Geneva, Arial">This is an inherited
                boolean characteristic that applies to character
                flow objects. When true, if the current-node for
                the character flow object was an sdata node, then
                the character will be output as a reference to an
                entity with the same name. The initial value is #f.</font>
            </dd>
        </dl>
        <p><font face="Geneva, Arial">Each of these flow object
        classes must be declared using <code>declare-flow-object-class</code>
        in any DSSSL specification that makes use of it. A
        suitable set of declarations is:</font> </p>
        <pre><font face="Geneva, Arial">
(declare-flow-object-class element
  &quot;UNREGISTERED::James Clark//Flow Object Class::element&quot;)
(declare-flow-object-class empty-element
  &quot;UNREGISTERED::James Clark//Flow Object Class::empty-element&quot;)
(declare-flow-object-class document-type
  &quot;UNREGISTERED::James Clark//Flow Object Class::document-type&quot;)
(declare-flow-object-class processing-instruction
  &quot;UNREGISTERED::James Clark//Flow Object Class::processing-instruction&quot;)
(declare-flow-object-class entity
  &quot;UNREGISTERED::James Clark//Flow Object Class::entity&quot;)
(declare-flow-object-class entity-ref
  &quot;UNREGISTERED::James Clark//Flow Object Class::entity-ref&quot;)
(declare-flow-object-class formatting-instruction
  &quot;UNREGISTERED::James Clark//Flow Object Class::formatting-instruction&quot;)
(declare-characteristic preserve-sdata?
  &quot;UNREGISTERED::James Clark//Characteristic::preserve-sdata?&quot;
  #f)
</font></pre>
        <p><font face="Geneva, Arial">Here's a simple example
        that does the identity transformation:</font> </p>
        <pre><font face="Geneva, Arial">
&lt;!doctype style-sheet PUBLIC &quot;-//James Clark//DTD DSSSL Style Sheet//EN&quot;&gt;

(declare-flow-object-class element
  &quot;UNREGISTERED::James Clark//Flow Object Class::element&quot;)

(define (copy-attributes #!optional (nd (current-node)))
  (let loop ((atts (named-node-list-names (attributes nd))))
    (if (null? atts)
        '()
        (let* ((name (car atts))
               (value (attribute-string name nd)))
          (if value
              (cons (list name value)
                    (loop (cdr atts)))
              (loop (cdr atts)))))))

(default (make element
               attributes: (copy-attributes)))
</font></pre>
        <p><font face="Geneva, Arial">Note that this does not
        deal with empty elements nor processing instructions, nor
        does it include a doctype declaration.</font> </p>
        </td>
    </tr>
</table>
</center></div>

<p>&nbsp;</p>
</body>
</html>