
                                    ps2java
                                       
   ps2java is a series of [1]DSSSL style sheets that create a series of
   [2]Java interfaces and classes from a [3]property set. ps2java uses
   (abuses?) [4]Jade's [5]SGML backend to create a list of classes
   which is split into a series of individual files using an [6]Java
   program included called Split.
   
How to get ps2java

   ps2java 1.0.0 is available to [7]download in zip file format.
   
How do I use ps2java

  System Requirements
  
   To use the ps2java style sheets requires [8]James Clark's
   program [9]Jade and [10]JDK 1.1. It may run under JDK 1.0 but I have
   not tested it.
   
  Using ps2java with [11]Jade
  
   The batch file make.cmd runs [12]Jade on the [13]SGML property sets
   using the ps2intrfc.dsssl and ps2impl.dsssl style sheets. The output
   is piped through the [14]Java program Split which creates the actual
   files. Then the batch file calls build.cmd which runs javac to compile
   the generated interfaces and classes. Finally make.cmd calls doc.cmd
   which runs javadoc to generate the documentation for the interfaces
   and the classes.
   
   These batch files run under OS/2. You may need to modify them to run
   on your system and OS.
   
Files Included with ps2java

   ps2java comes with two main style sheets. ps2intrfc.dsssl is a style
   sheet that creates the [15]Java interfaces. ps2impl.dsssl is a style
   sheet that creates a partial implementation of these interfaces. It is
   only a partial implementation because the resulting classes contain
   only methods for reading data. They have no methods for creating the
   classes or altering them.
   
   There are two other style sheets called node2intrfc.dsssl and
   node2impl.dsssl. These are modified versions of the previous style
   sheets. They were used to create the classes Node and NodeImpl from a
   [16]property set called intrinsicps.sgml. These implement the common
   intrinsic properties of nodes. intrinsicps.sgml is a fake [17]property
   set that defines these intrinsic properties.
   
   All these style sheets transclude the files common.ent and
   standard.ent. common.ent is a set of common functions used between the
   style sheets. standard.ent are functions that are included in the
   [18]DSSSL specifications and used by these style sheets, but they are
   not implemented by [19]Jade.
   
   These style sheet are designed to work on all property sets, but I
   have only tested it on the [20]SGML [21]property set. This
   [22]property set is included in ps2java. It is in the file
   hi2pssgm.sgml.
   
   ps2java also includes several [23]Java classes. NodeAdt and
   NodeAdtImpl hold basic node methods to access node properties.
   NodeList, NamedNodeList, NodeNamedNodeList, StringNamedNodeList, and
   CompName are all used for the basic data types that [24]groves use
   that are not already in [25]Java.
   
   Split is a [26]Java program that splits up input into several files.
   It creates subdirectories as needed.
   
   make.cmd is an OS/2 batch file to generate classes and interfaces from
   the [27]SGML [28]property set, compile these classes, and document
   them. build.cmd runs javac to do the compiling. doc.cmd runs javadoc
   to generate the documentation.
   
Bugs

   No interfaces or classes are made for empty classes.
   
   The propertyNameList omits propdefs belonging to #all. If all of this
   propdefs are defined at the beginning of the [29]property set a
   workaround is to append them to the *intrinsicPropertyNameList*
   variable in ps2impl.dsssl.
   
Legal Stuff

   THIS SOFTWARE IS PUBLIC DOMAIN AND IS PROVIDED ``AS IS'', WITHOUT
   WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
   THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
   AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHOR OR ANYONE ELSE BE
   LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
   OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
   WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
     _________________________________________________________________
   
   
    [30]Russell O'Connor: [31]roconnor@uwaterloo.ca

References

   1. http://www.sil.org/sgml/dsssl.html
   2. http://java.sun.com:81/
   3. http://www.sil.org/sgml/topics.html#groves
   4. http://www.jclark.com/jade/
   5. http://www.jclark.com/jade/transform.htm
   6. http://java.sun.com:81/
   7. http://www.undergrad.math.uwaterloo.ca/%7Eroconnor/ps2java/ps2java.zip
   8. http://www.jclark.com/
   9. http://www.jclark.com/jade/
  10. http://java.sun.com:81/products/index.html#jdk
  11. http://www.jclark.com/jade/
  12. http://www.jclark.com/jade/
  13. http://www.sil.org/sgml/
  14. http://java.sun.com:81/
  15. http://java.sun.com:81/
  16. http://www.sil.org/sgml/topics.html#groves
  17. http://www.sil.org/sgml/topics.html#groves
  18. http://www.sil.org/sgml/dsssl.html
  19. http://www.jclark.com/jade/
  20. http://www.sil.org/sgml/
  21. http://www.sil.org/sgml/topics.html#groves
  22. http://www.sil.org/sgml/topics.html#groves
  23. http://java.sun.com:81/
  24. http://www.sil.org/sgml/topics.html#groves
  25. http://java.sun.com:81/
  26. http://java.sun.com:81/
  27. http://www.sil.org/sgml/
  28. http://www.sil.org/sgml/topics.html#groves
  29. http://www.sil.org/sgml/topics.html#groves
  30. http://www.undergrad.math.uwaterloo.ca/%7Eroconnor/
  31. mailto:roconnor@uwaterloo.ca
