File: index.htm

package info (click to toggle)
openjade 1.4devel1-8
  • links: PTS
  • area: main
  • in suites: woody
  • size: 4,776 kB
  • ctags: 11,092
  • sloc: cpp: 72,706; sh: 7,501; ansic: 2,365; lisp: 894; perl: 518; makefile: 461; sed: 93
file content (774 lines) | stat: -rw-r--r-- 42,398 bytes parent folder | download | duplicates (9)
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
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
<html>

<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title>OpenJade</title>
</head>

<body background="images/background.gif">

<p><font face="Arial"><img src="images/dsssltitle.gif" 
  alt="OpenJade" vspace="10" width="750" 
  height="60"> &nbsp; </font></p>

<p><font face="Arial">&nbsp; </font></p>

<table border="0" cellpadding="0" cellspacing="0" width="773">
<TBODY>    <tr>
        <td valign="top" width="141"><font face="Arial"><img
        src="images/space.gif" alt="" width="145" height="10"></font></td>
        <td valign="top"><h1><font face="Arial">OpenJade</font></h1>
        <h2><font face="Arial">Contents</font></h2>
        <ul>
            <li><a
                href="#whatis"><font
                face="Arial">What is OpenJade?</font></a></li>
            <li><a
                href="#copyright"><font
                face="Arial">Copyright</font></a></li>
            <li><a
                href="http://peano.mathematik.uni-freiburg.de/OpenJade/download.html"><font
                face="Arial">Getting OpenJade</font></a></li>
            <li><a
                href="#build"><font
                face="Arial">Building OpenJade</font></a></li>
            <li><a
                href="#install"><font
                face="Arial">Installing OpenJade</font></a></li>
            <li><a
                href="#using"><font
                face="Arial">Using OpenJade</font></a></li>
            <li><a
                href="#extensions"><font
                face="Arial">OpenJade Extensions</font></a></li>
            <li><a
                href="#limitations"><font
                face="Arial">Current OpenJade Limitations</font></a></li>
            <li><a href="NEWS"><font
                face="Arial">New additions to previous versions</font></a></li>
            <li><a href="dsssl2.htm"><font face="Arial">Experimental
                DSSSL extensions</font></a></li>
            <li><font face="Arial">Backends</font>
                <ul>
                    <li><a href="rtf.htm"><font face="Arial">RTF</font></a></li>
                    <li><a href="xmlfo.htm"><font face="Arial">XML
                        Flow Object Tree</font></a></li>
                    <li><a href="tex.htm"><font face="Arial">TeX</font></a></li>
                    <li><a href="mif.htm"><font face="Arial">MIF</font></a></li>
                    <li><a href="transform.htm"><font
                        face="Arial">SGML Transformation</font></a></li>
                </ul>
            </li>
            <li><a
                href="#source"><font
                face="Arial">About OpenJade sources</font></a></li>
            <li><a href="http://peano.mathematik.uni-freiburg.de/OpenJade/bugs.html"><font
                face="Arial">Reporting bugs in OpenJade</font></a></li>
            <li><a href="contributors.htm"><font face="Arial">OpenJade
                contributors</font></a></li>
        </ul>
        <h2><a name="whatis"><font face="Arial">What is OpenJade?</font></a></h2>
        <p><font face="Arial">OpenJade is an implementation of
        the ISO/IEC 10179:1996 standard DSSSL language. It is
        based on the </font><a href="http://www.jclark.com/"><font
        face="Arial">James Clark</font></a><font face="Arial">
        implementation of DSSSL named </font><a
        href="http://www.jclark.com/jade/"><font face="Arial">Jade</font></a><font
        face="Arial">. OpenJade is now developed and maintained
        by the OpenJade team. The current version is 1.4. </font></p>
        <p><font face="Arial">For general information about DSSSL,
        see the </font><a href="http://www.netfolder.com/DSSSL/"><font
        face="Arial">OpenJade home page</font></a><font
        face="Arial">. The OpenJade home page contains useful
        resources such as links to articles, tutorials, libraries,
        etc. </font></p>
        <p><font face="Arial">Another site with lots of in-depth
        information about DSSSL is that of </font><a
        href="http://www.mulberrytech.com/dsssl/"><font
        face="Arial">Mulberry Technologies</font></a><font
        face="Arial">. Among other things, it hosts the DSSSL
        Users mailing list.</font></p>
        <p><font face="Arial">OpenJade is a command line
        application and a set of components. The DSSSL engine
        receives as input an SGML or XML document and transforms
        it into formats like: </font></p>
        <ul>
            <li><font face="Arial">XML representation of the flow
                object tree. </font></li>
            <li><font face="Arial">RTF format that can be
                rendered and printed with Microsoft's free </font><a
                href="http://www.microsoft.com/word/internet/viewer/"><font
                face="Arial">Word Viewer 97</font></a></li>
            <li><font face="Arial">TeX format </font></li>
            <li><font face="Arial">MIF format that can be
                rendered and printed with </font><a
                href="http://www.adobe.com/prodindex/framemaker/main.html/"><font
                face="Arial">Framemaker</font></a></li>
            <li><font face="Arial">SGML or XML format. This is
                used in conjunction with non-standard flow object
                classes to generate SGML, thus allowing OpenJade
                to be used for SGML/XML transformations.<br>
                </font></li>
        </ul>
        <p><a href="#top"><font
        face="Arial"><img src="images/top-of-page.gif"
        alt="Up" border="0" width="11" height="15"></font></a><a
        href="#top"><font
        size="2" face="Arial">Back to top</font></a><font
        size="2" face="Arial">&nbsp;</font></p>
        <h2><a name="copyright"><font face="Arial">Copyright</font></a></h2>
        <p><font face="Arial">OpenJade is licensed with almost no
        restrictions even for commercial use (</font><a
        href="copying.txt"><font
        face="Arial">see license terms</font></a><font
        face="Arial">). </font></p>
        <p><font face="Arial">If you do use OpenJade in a
        commercial product, we ask you, as a courtesy, to
        acknowledge the use of OpenJade. </font></p>
        <p><a href="#top"><font face="Arial"><img src="images/top-of-page.gif"
        alt="Up" border="0" width="11" height="15"></font></a><a
        href="#top"><font size="2" face="Arial">Back to top</font></a></p>

        <h2><a name="build"><font face="Arial">Building OpenJade</font></a></h2>

<basefont face="Arial">
<h3><A NAME=building-win32>Win32</A></h3>
<p>
Only Microsoft Visual C++ 6.0 is supported. Also, Perl 5 is required; the
executable must be on your PATH.
</p>
<p>
To build on the command line, ensure that the directories
containing <code>msdev</code> and <code>nmake</code> are in your path,
typically by executing
the command:
<pre>
path C:/Program Files/Microsoft Visual Studio/Common/MSDev98/Bin;
    C:/Program Files/Microsoft Visual Studio/VC98/Bin;%path%
</pre>
<p>
(all in one long line) then run the command:
<pre>
build-win32.bat
</pre>
<p>
To build using the Visual
Studio GUI, open the workspace <code>jade.dsw</code> and build the
<code>Win32&nbsp;Release</code> configuration of the <code>all</code>
project.  You must first do a command-line build, however, to get
the perl-generated files.
</p>
<h3><A NAME=building-unix>Unix</A></h3>
<p>
Use the <a HREF="autoconf.htm">autoconf support</a>. 

		<p><a href="#top"><font face="Arial"><img src="images/top-of-page.gif"
        alt="Up" border="0" width="11" height="15"></font></a><a
        href="#top"><font size="2" face="Arial">Back to top</font></a></p>

        <h2><a name="install"><font face="Arial">Installing OpenJade</font></a></h2>

<h3><A NAME=install-win32>Win32</A></h3>
<p>
OpenJade requires the file <code>dsssl/builtins.dsl</code> to operate.
You can tell OpenJade where this file is in one of two ways:
<ul>
<li>By including a SYSTEM catalog entry for "builtins.dsl" pointing to this
file. See <code>dsssl/catalog</code> for an example.</li>
<li>By including the <code>dsssl/catalog</code> catalog with the
<code>-c</code> command line option or the <code>SGML_CATALOG_FILES</code>
environment variable.</li>
</ul>
<h3><A NAME=install-unix>Unix</A></h3>
<p>
Run
<pre>
make install
</pre>
as <code>root</code>.

        <p><a href="#top"><font face="Arial"><img src="images/top-of-page.gif"
        alt="Up" border="0" width="11" height="15"></font></a><a
        href="#top"><font size="2" face="Arial">Back to top</font></a></p>

        <h2><a name="using"><font face="Arial">Using OpenJade</font></a></h2>
        <p><font face="Arial">Add the directory containing the
        OpenJade binary to your path, change directory to the
        dsssl directory, and do </font></p>
        <pre><font face="Arial">
openjade demo.sgm
</font></pre>
        <p><font face="Arial">If everything is working, there
        should be a well-formed XML file <code>demo.fot</code>
        created. </font></p>
        <p><font face="Arial">The system identifier of the
        document to be processed is specified as an argument to
        OpenJade. If this is omitted, standard input will be read.
        </font></p>
        <p><font face="Arial"><a name="findspec"></a>OpenJade determines the system
        identifier for the DSSSL specification as follows: </font></p>
        <ol>
            <li><font face="Arial">If the <code>-d</code> option
                is specified, it will use the argument as the
                system identifier. </font></li>
            <li><font face="Arial">Otherwise, it will look for
                processing instructions in the prolog of the
                document. Two kinds of processing instruction are
                recognized: </font><dl>
                    <dt><font face="Arial"><code>&lt;?stylesheet
                        href=&quot;<var>sysid</var>&quot;
                        type=&quot;text/dsssl&quot;&gt;</code></font></dt>
                    <dd><font face="Arial">The system data of the
                        processing instruction is parsed like an
                        SGML start-tag. It will be parsed using
                        the reference concrete syntax whatever
                        the actual concrete syntax of the
                        document. The name that starts the
                        processing instruction can be either <code>stylesheet</code>,
                        <code>xml-stylesheet</code> or <code>xml:stylesheet</code>.
                        The processing instruction will be
                        ignored unless the value of the <code>type</code>
                        attribute is one of <code>text/dsssl</code>,
                        <code>text/x-dsssl</code>, <code>application/dsssl</code>,
                        or <code>application/x-dsssl</code>. It is also
                        ignored if the selected backend is not suitable 
                        for one of the media types listed as the value of 
                        the <code>media</code> attribute. 
                        OpenJade recognizes the media types
                        &quot;print&quot; (FOT, RTF, TeX and MIF backends) and
                        &quot;screen&quot; (FOT and HTML backends).
                        See the <a
                        href="http://www.w3.org/TR/1998/REC-html40-19980424"
                        >HTML4.0 specification</a> for a list of valid media
                        types. 
                        The value of <code>href</code> attribute is
                        the system identifier of the DSSSL
                        specification.
                        If there are multiple processing instructions in
                        the prolog, OpenJade selects one according to
                        the mechanism described in the <a
                        href="http://www.w3.org/TR/1998/REC-html40-19980424"
                        >HTML4.0 specification</a>, taking the 
                        values of the <code>alternate</code> and 
                        <code>title</code> attributes into account. 
                        </font></dd>
                    <dt><font face="Arial"><code>&lt;?dsssl </code><code><var>sysid</var></code><code>&gt;</code>
                        </font></dt>
                    <dd><font face="Arial">The system identifier
                        is the portion of the system data of the
                        processing instruction following the
                        initial name and any whitespace. </font></dd>
                </dl>
                <p><font face="Arial">Although the processing
                instruction is only recognized in the prolog, it
                need not occur in the document entity. For
                example, it could occur in a DTD. The system
                identifier will be interpreted relative to where
                the the processing instruction occurs. </font></p>
            </li>
            <li><font face="Arial">Otherwise, it will use the
                system identifier of the document with any
                extension changed to <code>.dsl</code>. </font></li>
        </ol>
        <p><font face="Arial">A DSSSL specification document can
        contain more than one style-specification. If the system
        identifier of the DSSSL specification is followed by <code>#</code><code><var>id</var></code>,
        then OpenJade will use the style-specification whose
        unique identifier is <code><var>id</var></code>. This is
        allowed both with the <code>-d</code> option and with the
        processing instructions. </font></p>
        <p><font face="Arial">The DSSSL specification must be an
        SGML document conforming to the DSSSL architecture. For
        an example, see <code>dsssl/demo.dsl</code>. </font></p>
        <p><font face="Arial">OpenJade supports the following
        options in addition to the normal SP options (note that
        all options are case-sensitive, ie <code>-g</code> and <code>-G</code>
        are different options):</font></p>
        <dl>
            <dt><font face="Arial"><code>-h</code>, <code>--help</code></font></dt>
            <dd><font face="Arial">Display a help message and exit.</font></dd>
            <dt><font face="Arial"><code>-v</code>, <code>--version</code></font></dt>
            <dd><font face="Arial">Show the version number.</font></dd>
            <dt><font face="Arial"><code>-d</code> <i>sysid</i>, 
                <code>--specification=</code><i>sysid</i></font>
            </dt>
            <dd><font face="Arial">This specifies that <i>sysid</i>
                is the system identifier of the DSSSL
                specification to be used.</font> </dd>
            <dt><font face="Arial"><code>-T</code> <i>name</i>, 
                <code>--spec-title=</code><i>name</i></font>
            </dt>
            <dd><font face="Arial">This specifies that <i>name</i>
                is the title of the processing instruction to be used 
                in <a href="#findspec">determining the applicable DSSSL specification</a>.</font></dd>
            <dt><font face="Arial"><code>-G</code>, <code>--debug</code></font></dt>
            <dd><font face="Arial">Debug mode. When an error
                occurs in the evaluation of an expression,
                OpenJade will display a stack trace. Note that
                this disables tail-call optimization.</font></dd>
            <dt><font face="Arial"><code>-c</code> <i>sysid</i>, 
                <code>--catalog=</code><i>sysid</i></font></dt>
            <dd><font face="Arial">Use catalog <i>sysid</i>.</font></dd>
            <dt><font face="Arial"><code>-C</code>, <code>--catalogs</code></font></dt>
            <dd><font face="Arial">The arguments specify catalog 
                files rather than the document
                entity. The document entity is specified by the
                first <samp>DOCUMENT</samp> entry in the catalog
                files.</font></dd>
            <dt><font face="Arial"><code>-s</code>, <code>--strict</code></font></dt>
            <dd><font face="Arial">Strict compliance mode.
                Currently the only effect is that jade doesn't
                use any predefined character names, sdata-entity
                mappings or name-characters. This is useful for
                checking that your stylesheet is portable to
                other DSSSL implementations and that it is
                strictly compliant to the DSSSL specifications.</font></dd>
            <dt><font face="Arial"><code>-t</code> <i>type</i>,
                <code>--output-type=</code><i>type</i></font></dt>
            <dd><font face="Arial"><i>type</i> specifies
                the type of output as follows:</font> <dl compact>
                    <dt><font face="Arial"><code>fot</code></font></dt>
                    <dd><font face="Arial">An XML representation
                        of the flow object tree </font></dd>
                    <dt><font face="Arial"><code>rtf</code> <code>rtf-95</code>
                        </font></dt>
                    <dd><font face="Arial">RTF (used for SGML/XML
                        to RTF transformations)</font></dd>
                    <dd><font face="Arial">Microsoft's Rich Text
                        Format. <code>rtf-95</code> produces
                        output optimized for Word 95 rather than
                        Word 97.</font></dd>
                    <dt><font face="Arial"><code>tex</code></font></dt>
                    <dd><font face="Arial">TeX (used for SGML/XML
                        to TeX transformations)</font></dd>
                    <dt><font face="Arial"><code>sgml</code> <code>sgml-raw</code>
                        </font></dt>
                    <dd><font face="Arial">SGML (used for SGML/XML
                        to SGML transformations).
                        <code>sgml-raw</code> doesn't emit linebreaks in tags.
                        </font></dd>
                    <dt><font face="Arial"><code>xml</code> <code>xml-raw</code>                        </font></dt>
                    <dd><font face="Arial">XML (used for SGML/XML
                        to XML transformations).
                        <code>xml-raw</code> doesn't emit linebreaks in tags.
                        </font></dd>
                    <dt><font face="Arial">html</font> </dt>
                    <dd><font face="Arial">HTML (used for SGML/XML
                        to HTML transformations)</font></dd>
                    <dt><font face="Arial"><code>mif</code></font></dt>
                    <dd><font face="Arial">MIF (used for SGML/XML
                        to MIF transformations)</font></dd>
                </dl>
            </dd>
            <dt><font face="Arial"><code>-o</code> <i>file</i>,
                <code>--output-file=</code><i>file</i>
                </font></dt>
            <dd><font face="Arial">Write output to <i>file</i>
                instead of the default. The default filename is
                the name of the last input file with its
                extension replaced by the name of the type of
                output. If there is no input filename, then the
                extension is added onto <i>jade-out</i>. </font></dd>
            <dt><font face="Arial"><code>-V</code> <i>variable</i>,
                <code>--define=</code><i>variable</i>
                </font></dt>
            <dd><font face="Arial">This is equivalent to doing <code>(define
                variable #t)</code> except that this definition
                will take priority over any definition of
                variable in a style-sheet. </font></dd>
            <dt><font face="Arial"><code>-V</code> <i>variable=value</i>,
                <code>--define=</code><i>variable=value</i>
                </font></dt>
            <dd><font face="Arial">This is equivalent to doing <code>(define
                variable &quot;value&quot;)</code> except that
                this definition will take priority over any
                definition of variable in a style-sheet. </font></dd>
            <dt><font face="Arial"><code>-V</code> <i>(define
                variable value)</i>,
                <code>--define=</code><i>(define variable value)</i></font></dt>
            <dd><font face="Arial">This is equivalent to doing <code>(define
                variable value)</code> except that this
                definition will take priority over any definition
                of variable in a style-sheet. Note that you will probably
                have to use some escaping mechanism for the spaces to get 
                the entire scheme expression parsed as one cmdline argument.</font></dd>
            <dt><font face="Arial"><code>-2</code></font></dt>
            <dd><font face="Arial">Enable experimental <a href="dsssl2.htm">DSSSL extensions</a>.</font></dd>
            <dt><a name="optw"><font face="Arial"><code>-w</code> <i>type</i>,
                <code>--warning=</code><i>type</i></font></a><font
                face="Arial"> (examples: wxml, wmixed, wsgmldecl,
                etc.) </font></dt>
            <dd><font face="Arial">Control warnings and errors.
                Multiple <samp>-w</samp> options are allowed. The
                following values of <samp><var>type</var></samp>
                enable warnings: </font><dl>
                    <dt><font face="Arial"><samp>xml</samp></font></dt>
                    <dd><font face="Arial">Warn about constructs
                        that are not allowed by </font><a
                        href="http://www.w3.org/TR/1998/REC-xml-19980210"><font
                        face="Arial">XML</font></a><font
                        face="Arial">.</font></dd>
                    <dt><font face="Arial"><samp>mixed</samp></font></dt>
                    <dd><font face="Arial">Warn about mixed
                        content models that do not allow #pcdata
                        anywhere.</font></dd>
                    <dt><font face="Arial"><samp>sgmldecl</samp></font></dt>
                    <dd><font face="Arial">Warn about various
                        dubious constructions in the SGML
                        declaration.</font></dd>
                    <dt><font face="Arial"><samp>should</samp></font></dt>
                    <dd><font face="Arial">Warn about various
                        recommendations made in ISO 8879 that the
                        document does not comply with. (Recommendations
                        are expressed with ``should'', as
                        distinct from requirements which are
                        usually expressed with ``shall''.)</font></dd>
                    <dt><font face="Arial"><samp>default</samp></font></dt>
                    <dd><font face="Arial">Warn about defaulted
                        references.</font></dd>
                    <dt><font face="Arial"><samp>duplicate</samp>
                        </font></dt>
                    <dd><font face="Arial">Warn about duplicate
                        entity declarations.</font></dd>
                    <dt><font face="Arial"><samp>undefined</samp>
                        </font></dt>
                    <dd><font face="Arial">Warn about undefined
                        elements: elements used in the DTD but
                        not defined.</font></dd>
                    <dt><font face="Arial"><samp>unclosed</samp></font></dt>
                    <dd><font face="Arial">Warn about unclosed
                        start and end-tags.</font></dd>
                    <dt><font face="Arial"><samp>empty</samp></font></dt>
                    <dd><font face="Arial">Warn about empty start
                        and end-tags.</font></dd>
                    <dt><font face="Arial"><samp>net</samp></font></dt>
                    <dd><font face="Arial">Warn about net-enabling
                        start-tags and null end-tags.</font></dd>
                    <dt><font face="Arial"><samp>min-tag</samp></font></dt>
                    <dd><font face="Arial">Warn about minimized
                        start and end-tags. Equivalent to
                        combination of <samp>unclosed</samp>, <samp>empty</samp>
                        and <samp>net</samp> warnings.</font></dd>
                    <dt><font face="Arial"><samp>unused-map</samp></font></dt>
                    <dd><font face="Arial">Warn about unused
                        short reference maps: maps that are
                        declared with a short reference mapping
                        declaration but never used in a short
                        reference use declaration in the DTD.</font></dd>
                    <dt><font face="Arial"><samp>unused-param</samp></font></dt>
                    <dd><font face="Arial">Warn about parameter
                        entities that are defined but not used in
                        a DTD. Unused internal parameter entities
                        whose text is <samp>INCLUDE</samp> or <samp>IGNORE</samp>
                        won't get the warning.</font></dd>
                    <dt><font face="Arial"><samp>notation-sysid</samp></font></dt>
                    <dd><font face="Arial">Warn about notations
                        for which no system identifier could be
                        generated.</font></dd>
                    <dt><font face="Arial"><samp>all</samp></font></dt>
                    <dd><font face="Arial">Warn about conditions
                        that should usually be avoided (in the
                        opinion of the author). Equivalent to: <samp>mixed</samp>,
                        <samp>should</samp>, <samp>default</samp>,
                        <samp>undefined</samp>, <samp>sgmldecl</samp>,
                        <samp>unused-map</samp>, <samp>unused-param</samp>,
                        <samp>empty</samp> and <samp>unclosed</samp>.
                        </font></dd>
                </dl>
                <p><font face="Arial">A warning can be disabled
                by using its name prefixed with <samp>no-</samp>.
                Thus <samp>-wall -wno-duplicate</samp> will
                enable all warnings except those about duplicate
                entity declarations.</font></p>
                <p><font face="Arial">The following values for <samp><var>warning_type</var></samp>
                disable errors:</font></p>
                <dl>
                    <dt><font face="Arial"><samp>no-idref</samp></font></dt>
                    <dd><font face="Arial">Do not give an error
                        for an ID reference value which no
                        element has as its ID. The effect will be
                        as if each attribute declared as an ID
                        reference value had been declared as a
                        name.</font></dd>
                    <dt><font face="Arial"><samp>no-significant</samp>
                        </font></dt>
                    <dd><font face="Arial">Do not give an error
                        when a character that is not a
                        significant character in the reference
                        concrete syntax occurs in a literal in
                        the SGML declaration. This may be useful
                        in conjunction with certain buggy test
                        suites.</font></dd>
                    <dt><font face="Arial"><samp>no-valid</samp></font></dt>
                    <dd><font face="Arial">Do not require the
                        document to be type-valid. This has the
                        effect of changing the SGML declaration
                        to specify <samp>VALIDITY NOASSERT</samp>
                        and <samp>IMPLYDEF ATTLIST YES ELEMENT
                        YES</samp>. An option of <samp>-wvalid</samp>
                        has the effect of changing the SGML
                        declaration to specify <samp>VALIDITY
                        TYPE</samp> and <samp>IMPLYDEF ATTLIST NO
                        ELEMENT NO</samp>. If neither <samp>-wvalid</samp>
                        nor <samp>-wno-valid</samp> are specified,
                        then the <samp>VALIDITY</samp> and <samp>IMPLYDEF</samp>
                        specified in the SGML declaration will be
                        used.</font></dd>
                </dl>
            </dd>
        </dl>
        <p><font face="Arial">The following options are the same as their
        unprefixed SP counterparts, but apply only to the SGML parser used
        for the document or stylesheet, respectively:
        <dl>
          <dt><code>--doc-open-entities</code>, <code>--spec-open-entities</code>
          <dt><code>--doc-open-elements</code>, <code>--spec-open-elements</code>
          <dt><code>--doc-error-numbers</code>, <code>--spec-error-numbers</code>
          <dt><code>--doc-references</code>, <code>--spec-references</code>
          <dt><code>--doc-include</code>, <code>--spec-include</code>
          <dt><code>--doc-warning</code>, <code>--spec-warning</code>
        </dl> 
        <p><font face="Arial">OpenJade ignores the <samp>SP_CHARSET_FIXED</samp>
        and <samp>SP_SYSTEM_CHARSET</samp> environment variables
        and always uses Unicode as its internal character set, as
        if <samp>SP_CHARSET_FIXED</samp> was 1 and <samp>SP_SYSTEM_CHARSET</samp>
        was unset. Thus only the <samp>SP_ENCODING</samp>
        environment variable is relevant to OpenJade's handling
        of character sets.</font></p>
        <p><a href="#top"><font
        face="Arial"><img src="images/top-of-page.gif"
        alt="Up" border="0" width="11" height="15"></font></a><a
        href="#top"><font
        size="2" face="Arial">Back to top</font></a><font
        size="2" face="Arial">&nbsp;</font></p>
        <h2><a name="extensions"><font face="Arial">OpenJade
        Extensions</font></a></h2>
        <p><font face="Arial">The following external procedures
        are available. These external procedures are defined by a
        prototype in the same manner as in the standard. To use
        one of these external procedures, you must make use of
        the standard <code>external-procedure</code> procedure,
        using a public identifier of <code>&quot;UNREGISTERED::James
        Clark//Procedure::</code><code><var>name</var></code><code>&quot;</code>
        where <code><var>name</var></code> is the name given here,
        typically by including the following in the DSSSL
        specification:</font></p>
        <pre><font face="Arial">
(define <var>name</var>
  (external-procedure &quot;UNREGISTERED::James Clark//Procedure::<var>name</var>&quot;))
</font></pre>
        <p><font face="Arial">Note that <code>external-procedure</code>
        returns <code>#f</code> if it doesn't know about the
        specified public identifier. You can use this to enable
        your DSSSL specifications to work gracefully with other
        implementations which do not support these extensions. </font></p>
        <p><font face="Arial">For external procedures added by
        the OpenJade team, use a public identifier of the form <code>&quot;UNREGISTERED::OpenJade//Procedure::</code><code><var>name</var></code><code>&quot;</code>.
        </font></p>
        <p><font face="Arial">An easy way to get access to all
        external procedures is to use the style specification
        <code>dsssl/extensions.dsl#procedures</code>.
        </font></p>
        <h3><font face="Arial">Debugging</font></h3>
        <pre><font face="Arial">
(debug <var>obj</var>)
</font></pre>
        <p><font face="Arial">Generates a message including the
        value of <code><var>obj</var></code> and then returns <code><var>obj</var></code>.
        </font></p>
        <h3><font face="Arial">Simple-page-sequence header/footer
        control</font></h3>
        <pre><font face="Arial">
(if-first-page <var>sosofo1</var> <var>sosofo2</var>)
</font></pre>
        <p><font face="Arial">This can be used only in the
        specification of the value of one of the header/footer
        characteristics of simple-page-sequence. It returns a
        sosofo that will display as <code><var>sosofo1</var></code>
        if the page is the first page of the simple-page-sequence
        and as <code><var>sosofo2</var></code> otherwise.</font></p>
        <pre><font face="Arial">

(if-front-page <var>sosofo1</var> <var>sosofo2</var>)
</font></pre>
        <p><font face="Arial">This can be used only in the
        specification of the value of one of the header/footer
        characteristics of simple-page-sequence. It returns a
        sosofo that will display as <code><var>sosofo1</var></code>
        if the page is a front (ie recto, odd-numbered) page and
        as <code><var>sosofo2</var></code> if it is a back (ie
        verso, even-numbered) page.</font></p>
        <h3><font face="Arial">Numbering</font></h3>
        <pre><font face="Arial">
(all-element-number)
(all-element-number <var>osnl</var>)
</font></pre>
        <p><font face="Arial">This is the same as <code>element-number</code>
        except it counts elements with any generic identifier. If
        <code><var>osnl</var></code> is not an element returns #f,
        otherwise returns 1 plus the number of elements that
        started before <code><var>osnl</var></code>. This
        provides an efficient way of creating a unique identifier
        for any element in a document.</font></p>
        <h3><font face="Arial">External entity access</font></h3>
        <pre><font face="Arial">
(read-entity <var>string</var>)
</font></pre>
        <p><font face="Arial">This returns a string containing
        the contents of the external entity with system
        identifier <code><var>string</var></code>. This should be
        used only for textual entities (CDATA and SDATA), and not
        for binary entities (NDATA).</font></p>
        <h3><font face="Arial">POSIX locale access</font></h3>
        <pre><font face="Arial">
(language <var>lang</var> <var>country</var>)
</font></pre>
        <p><font face="Arial">This procedure returns an
        object of type <code>language</code>, if the system
        supports the specified language. <code><var>lang</var></code>
        is a string or symbol giving the two letter language code.
        <code><var>country</var></code> is a string or symbol
        giving the two letter country code.</font></p>
        <p><font face="Arial">This procedure uses POSIX
        locales. It is an OpenJade addition.</font></p>
        <h3><font face="Arial">URI addresses</font></h3>
        <pre><font face="Arial">
(uri-ref-addres <var>uri</var>)
</font></pre>
        <p><font face="Arial">This procedure returns an object of
        type address for the resource pointed to by the given URI.</font></p>
        <h3><font face="Arial">Extended standard procedures</font></h3>
        <pre><font face="Arial">
(sgml-parse <var>sysid</var> #!key <var>active:</var> <var>parent:</var> <var>architecture:</var>)
</font></pre>
        <p><font face="Arial">This allows you to specify an SGML
        architecture with respect to which the document should be
        parsed. It is an OpenJade addition.</font></p>
        <pre><font face="Arial">

(expt <var>q</var> <var>k</var>)
</font></pre>
        <p><font face="Arial">This allows you to raise a quantity
        to an integral power. It is an OpenJade addition.</font></p>
        <p><a href="#top"><font
        face="Arial"><img src="images/top-of-page.gif"
        alt="Up" border="0" width="11" height="15"></font></a><a
        href="#top"><font
        size="2" face="Arial">Back to top</font></a><font
        size="2" face="Arial">&nbsp;</font></p>
        <h2><a name="limitations"><font face="Arial">Current
        OpenJade Limitations</font></a></h2>
        <p><font face="Arial">This section describes the
        limitations of the front-end (the general-purpose DSSSL
        engine); each backend also has its own limitations. </font></p>
        <p><font face="Arial">OpenJade supports only a single,
        fixed grove plan which comprises the following modules:</font></p>
        <ul>
            <li><font face="Arial">baseabs</font></li>
            <li><font face="Arial">prlgabs0</font></li>
            <li><font face="Arial">prlgabs1</font></li>
            <li><font face="Arial">instabs</font></li>
            <li><font face="Arial">basesds0</font></li>
            <li><font face="Arial">instsds0</font></li>
            <li><font face="Arial">subdcabs</font></li>
        </ul>
        <p><font face="Arial">It doesn't implement the following
        parts of SDQL: HyTime support, auxiliary parsing, node
        regular expressions.</font></p>
        <p><font face="Arial">Query rules, sosofo synchronisation,
        indirect sosofos, reference values, decoration areas and
        font properties are not supported.</font></p>
        <p><font face="Arial">Note that only inherited
        characteristics that are applicable to some supported
        flow object can be specified.</font></p>
        <h3><font face="Arial">Character/glyph handling</font></h3>
        <p><font face="Arial">It only supports a single pre-defined
        character repertoire. A character name of the form <code>U-</code><code><var>XXXX</var></code>
        where <code><var>XXXX</var></code> are four upper-case
        hexadecimal digits, is recognized as referring to the
        Unicode character with that code. For many characters, it
        is also possible to use the ISO/IEC 10646 name in lower-case
        with words separated by hyphens.</font></p>
        <p><font face="Arial">Some common SDATA entity names from
        the ISO entity sets are recognized and mapped to
        characters. In addition an SDATA entity name of the form <code>U-</code><code><var>XXXX</var></code>,
        where <code><var>XXXX</var></code> are four upper-case
        hexadecimal digits, is mapped to the Unicode character
        with that code.</font></p>
        <p><font face="Arial">OpenJade now supports the standard-chars,
        map-sdata-entity, add-name-chars, add-separator-chars and
        char-repertoire declaration element forms, allowing a
        style-sheet to define additional character names, sdata
        entity mappings, name characters (i.e. characters allowed
        in identifiers) and separator characters. Currently the
        only recognized character repertoire is the built-in
        repertoire. It has the public identifier 
        <code>&quot;UNREGISTERED::OpenJade//Character Repertoire::OpenJade&quot;</code>.</font></p>

	<p><font face="Arial">Character properties are supported, but
	<code>declare-char-characteristic+property</code> is only
	partially supported.</font></p>

        <h3><font face="Arial">Validation</font></h3>
        <p><font face="Arial">Several things that it would be
        desirable to have checked aren't checked: </font></p>
        <ul>
            <li><font face="Arial">When the allowed value of an
                inherited characteristic is a symbol, OpenJade
                checks only that the value is a symbol that is
                allowed as the value of some characteristic; #t
                and #f are treated as a special kind of symbol in
                this case.</font></li>
            <li><font face="Arial">OpenJade checks whether
                a standard flow object is occurring in a context where it
                is allowed, however extension flow objects (declared with
		<code>declare-flow-object-class</code>) are not
                checked by the front-end.</font></li>
            <li><font face="Arial">Most type-checking is done at
                run-time not compile-time.</font></li>
            <li><font face="Arial">OpenJade does not check for
                non-inherited characteristics that are required
                to be specified.</font></li>
        </ul>
        <h3><font face="Arial">Other limitations</font></h3>
        <p><font face="Arial">The following primitives are just
        stubs:</font></p>
        <dl>
            <dt><font face="Arial"><code>char-script-case</code></font></dt>
            <dd><font face="Arial">Always returns last argument.</font></dd>
            <dt><font face="Arial"><code>address-visited?</code></font></dt>
            <dd><font face="Arial">Always returns #f.</font></dd>
        </dl>
        <p><a href="#top"><font face="Arial"><img src="images/top-of-page.gif"
        alt="Up" border="0" width="11" height="15"></font></a><a 
        href="#top"><font size="2" face="Arial">Back to top</font></a></p>
        <h2><a name="source"><font face="Arial">About OpenJade
        sources</font></a></h2>
        <p><font face="Arial">The source of OpenJade is available
        via CVS from </font><a href="http://peano.mathematik.uni-freiburg.de/OpenJade"><font face="Arial">peano.mathematik.uni-freiburg.de</font></a><font face="Arial">. See the
        </font><a href="http://www.netfolder.com/DSSSL/"><font
        face="Arial">OpenJade home page</font></a><font
        face="Arial"> for more details.</font></p>
        <p><a href="#top"><font face="Arial"><img src="images/top-of-page.gif"
        alt="Up" border="0" width="11" height="15"></font></a><a 
        href="#top"><font size="2" face="Arial">Back to top</font></a></p>
        <hr size="1" noshade>
        <p><font size="1" face="Arial">All trademarks herein are
        the property of their respective owners.&nbsp; <br>
        Copyright &nbsp; 1999 OpenJade project, All rights
        reserved. Created by Didier PH Martin, modified: September
        7, 1999</font></p>
        </td>
    </tr>
    <tr>
        <td valign="top" width="141">&nbsp;</td>
        <td valign="top">&nbsp;</td>
    </tr>
</TBODY></table>

<p><font face="Arial">&nbsp; </font></p>
</body>
</html>