OpenSP 1.5.1

Release Notes

OpenJade Project


Table of Contents
1. OpenSP 1.5.1 Release Notes
Applications of OpenSP
Obtaining OpenSP
Supported Platforms
Building OpenSP from Source
Binary Distributions
Installation
Support
Version 1.5.1
Version 1.5
Version 1.4
Version 1.3.4
Version 1.3.3
List of Tables
1-1. Platforms on which OpenSP 1.5 is known to build
1-2. OpenSP specific configure options
1-3. Changes for release 1.5
1-4. Changes for release 1.5.1

Chapter 1. OpenSP 1.5.1 Release Notes

The OpenJade project provides a suite of tools and libraries for validating, processing and applying DSSSL (Document Style Semantics and Specification Language) style sheets to SGML and XML documents.

OpenJade is a project undertaken by the community to maintain and extend James Clark's Jade, as well as the related SP suite of SGML/XML processing tools. OpenJade and OpenSP are distributed under the same license as Jade.

OpenSP is written in C++ and provides a class library, libosp, which can be used as a basis for either open source or commerical projects. The library can be built as either a dynamic or static library.


Applications of OpenSP

The OpenSP library has been used in a number of projects. The World Wide Web consortium on-line HTML and XHTML validator is based on the OpenSP library. In addition to the OpenSP library a set of command line tools are provided to support the validation and transformation of SGML files. In particular onsgmls can validate both XML and SGML documents held on a local file system or accessed remotely via a web server using the HTTP protocol with standard URI notation; osx will convert SGML to XML to allow a library of SGML documents to be processed with XML tools.


Obtaining OpenSP

OpenSP is a project hosted at sourceforge.net and is available from the OpenJade web site at http://openjade.sourceforge.net or directly from the OpenJade project page at http://sourceforge.net/projects/openjade

OpenSP is provided in source code form. However the project is moving towards the provision of pre-compiled binary packages for common platforms. These can be expected to appear shortly after a given source release. Any help to ensure that the widest array of platforms is support is always greatly appreciated.


Supported Platforms

OpenSP is intended to be as portable as possible. It should be possible to compile and build on most contemporary UNIX type platforms. In addition OpenSP should also build on Microsoft's Win32 based operating systems.

OpenSP is known to compile with both the GNU gcc c++ compiler and Microsoft Visual C++. Other compilers have not been extensively tested.

OpenSP 1.5.1 should build with the GNU gcc c++ compiler from version 2.95 up to version 3.3.

OpenSP has been built on a number of architectures including Intel i386 and ia64, Alpha AXP, Sparc, PPC and S/390.

The following table details known successful builds

Table 1-1. Platforms on which OpenSP 1.5 is known to build

Arch.OSCompilerNotes
alphaDebian 3.0GNU gcc 3.2 
armDebian 3.0GNU gcc 3.2 
hppaDebian 3.0GNU gcc 3.2 
i386Debian 3.0GNU gcc 3.2 
Red Hat Linux 7.3Red Hat gcc 2.96 
Red Hat Linux 7.3GNU gcc 3.2 
SuSE Linux 8.1GNU gcc 3.2 
ia64Debian 3.0GNU gcc 3.2 
m68kDebian 3.0GNU gcc 3.2 
mips, mipselDebian 3.0GNU gcc 3.2 
powerpcDebian 3.0GNU gcc 3.2 
s390Debian 3.0GNU gcc 3.2 
sparcDebian 3.0GNU gcc 3.2 
Sun Solaris 2.8GNU gcc 2.95.3Build with --enable-static. Problems with gcc 3.2

Please report any successful builds not mentioned above to , including any diffs/patches you have used.


Building OpenSP from Source

OpenSP requires 20Mb to 50Mb of disk space to build. An installation will require around 10Mb to 20Mb depending on architecture.

On UNIX platforms, OpenSP makes use of the GNU software configuration tools (autoconf, libtool, automake etc). The GNU C++ compiler and make utility should also be used. The steps required to build the OpenSP tools (onsgmls, osgmlnorm, ospam, ospcat, ospent, osx) and libraries are as follows:

gzip -d OpenSP-1.5.1.tar.gz | tar xvf -
cd OpenSP-1.5.1
./configure [options…]
make
You may need to switch to the super user root to complete the installation

make install
The configure script supports many options. These can be displayed using the command

./configure --help
In addition to the standard options, the following table describes options specific to OpenSP.

Table 1-2. OpenSP specific configure options

OptionDefaultExplanation
--enable-httpNo http supportInclude support for http. This allows the OpenSP tools to be used to validate or process SGML or XML documents directly from the World Wide Web. Example:
onsgmls -s http://www.example.com
--enable-default-catalog=pathlistNot enabledProvide one or more default catalog files or sysids, e.g. /usr/local/lib/sgml/catalog
--enable-default-search-path=pathlistNot enabledProvide a default value for SGML_SEARCH_PATH
--enable-xml-messagesNot enabledInclude support for XML Formatted Messages

Please refer to the system documentation for details on building on the Win32 platform.


Binary Distributions

In addition to binary packages availble from the project, OpenSP has been a part of many software distributions, including the major Linux distributions as well as FreeBSD. Expect pre-compiled and packaged versions of the latest version of OpenSP to be available from your distributor in due course.


Installation

In addition to the OpenSP executables and libraries you will also need various DTDs and declaration files. Some DTDs and associated files (entity definitions) are available in the pubtext directory of the distribution. However, more authoritative sources should be referenced to ensure that up-to-date versions are used. If you wish to process XML files, then suitable SGML declarations for valid XML documents should be used. Again, a sample set of declarations (xml.dcl) is provided in the pubtext, but more complete or recent versions may be available from other sources.

OpenSP supports the standard SGML catalog facility; it is recommended that you set up and use such a catalog system.


Support

If, after reading the documentation, you still have a problem, then you may require some additional help. The OpenJade project is a volunteer effort and as such does not provide any formal support. Instead, you should look to the community for support. Once part of the community, you, in turn, will be able to play your part in helping those that come after you. Here are some pointers to obtaining help:

  • If you obtained your OpenSP distribution in binary form from your operating system distributor and you have a build related problem - such as onsgmls crashing, then your first port of call should be your distributor.

  • If you have a problem with the usage of the OpenSP tools, then you should try the openjade-users mailing list, see http://sf.net/projects/openjade/ for details.

  • If you have a patch or bug fix for OpenJade, or are trying to use the OpenSP API then the openjade-devel mailing list is the appropriate forum.

Please choose only one mailing list to post to, as cross-posting is generally frowned upon. The various mailing lists are archived and searchable. It is always worth searching for your problem first, as it is often the case that someone has had the same problem before.


Version 1.5.1

Released October 2003. The release contains a number of new features together with support for version 3.3 for the GNU C++ compiler.

The following table details the major improvements in OpenSP 1.5

Table 1-3. Changes for release 1.5

Item 1Runtime selection of message format

Contributor

Nick Kew

Category

Enhancement

Description

Enable run time selection of message format with SP_MESSAGE_FORMAT environment variable. Value is one of XML, NONE, TRADITIONAL.

Item 2Support for HTTP redirection

Contributor

Nick Kew

Category

Enhancement

Description

When validating/parseing a document using http, OpenSP will now follow any redirects headers/requests from the server

Item 3Specification of http user agent header

Contributor

Nick Kew

Category

Enhancement

Description

The environment variable SP_HTTP_USER_AGENT can be used to specify a UserAgent: header.

Item 4Specification of http Accept: headers

Contributor

Nick Kew

Category

Enhancement

Description

The environment variable SP_HTTP_ACCEPT can be used to specify Accept: headers.

Item 5Enhancements to osx

Contributor

Jessica Perry Hekman

Category

Enhancement

Description

A number of enhancements have been made to the osx tool: security fixes in the handling of output files; addition of the "preserve case option".

Item 6Addition of a test suite

Contributor

Karl Eichwalder

Category

Enhancement

Description

A testing framework together with some initial tests have been added. Currently there are 22 tests. 6 of which fail.

Item 7Sundry build improvments

Contributor

Neil Roeth, Peter O'Gorman et al

Category

Enhancement/Fixes

Description

Support for Mac OS/X, Darwin has been improved. Build infrastructure and localisation fixes and enhancements. Improved compiler support


Version 1.5

Released November 2002. In addition to many new features this version also supports the latest GNU C++ compiler: gcc 3.2 at the time of writing.

The following table details the major improvements in OpenSP 1.5

Table 1-4. Changes for release 1.5.1

Item 1"--restricted" option

Contributor

Liam Quinn

Category

Security Enhancement

Description

This new option restricts parsing of web based documents to local files. This can be classed as a security fix and is especially useful when using OpenSP within a CGI (Common Gateway Interface) application on a web server.

Item 2UNIX on-line manual pages

Contributor

Ian Castle

Category

Documentation Bug

Description

on-line manual (man) pages for the commands included in the OpenSP package are now available for UNIX platforms

Item 3Upgrade GNU source configuration tools

Contributor

Various

Category

Software Bug

Description

If you wish to create the various autoconf files then newer versions are required (autoconf 2.52 and later). As a result of the upgrades more platforms are potentially supported.

Item 4"-x" option to osx and other enhancements

Contributor

Jessica Hekman

Category

Software Enhancement

Description

The "-x" command line option enables SDATA entities to be transformed into PIs or treated like normal entities (the default).

Item 5New Translations

Contributors

Various

Category

Documentation Bug

Description

New and updated translations are available for "ja", "fr", "de" and "sv" languages.

Item 6Enhanced Message Handling

Contributor

Epremis Corporation (Peter Newcomb)

Category

Software Enhancement

Description

Improvement in message handling within the library. This allows Windows (Win32) applications which make use of the OpenSP DLL to include other DLLs which can also make use of the message handling facility.

Item 7Error Messages formatted as XML

Contributor

Nick Kew

Category

Software Enhancement

Description

A build time option to allow error messages to be output in XML format as opposed to plain old ASCII. Specify with the ./configure option --enable-xml-messages

Item 8New syntax for PI based architecture declarations

Contributor

Epremis Corporation (Peter Newcomb)

Category

Software Enhancement

Description

Added support for the PI-based architecture using declaration syntax defined by Amendment 1 to ISO/IEC 10744:1997 (HyTime). This makes it possible to specify architectural support attributes when using architectures with XML, and is generally simpler than the original syntax. See http://www.ornl.gov/sgml/wg8/document/1985.htm for details.

Item 9Support name based virtual hosts when parsing a URI

Contributor

Liam Quinn (and others)

Category

Software Enhancement

Description

Adds an HTTP/1.0 host header to HTTP requests. This makes it possible to parse and fetch DTDs specified in SYSTEM identifiers when the DTD resides on a name-based "Virutal Host".

Item 1064 Bit Platform Support

Category

Software Enhancements

Description

Remove 32-bit assumptions so that 64 bit platforms such as Alpha, IA64, UltraSparc are supported.

Item 11New output options: comment, omitted, tagomit, attromit

Contributor

Robert Braddock

Category

Software Enhancement

Description

Support for new output options: this allows comments and implied elements and/or attributes to be produced.

Item 12Enhanced Support for Annex K of ISO 8879

Category

Software Enhancement

Description

More of Annex K is now supported. Common data attributes can now be specified in external entity declarations.

Item 13Support for GCC 3.2

Category

Software Enhancement

Description

GCC 3.2 is now supported.

Item 14Enhance Unicode support

Category

Software Enhancement

Description

The multibyte version of OpenSP now uses 32 bit characters and supports the full UTF-16 range 0x000000-0x10ffff


Version 1.4

Released February 2000. Version 1.4 added many improvements. Changes included:

  • Support for the koi8-r (RFC 1489) encoding.

  • OpenSP now supports long (GNU Style) command line options.

  • OpenSP is internationalized

  • New option -h or --help shows a list of all available options with descriptions.

  • New option -n and -x to see message numbers/relevant clauses with messages.

  • More of Annex K of ISO 8879 supported: SGML declarations on subdocs, DATA declared value for attribures, DTD data entities and DTD notations for doctypes, complete IMPLYDEF support, ENTITIES REF constraints, URN parsing. Many new -w flags.

  • DTDDECL support

  • New spcat command line interface to the catalog manager.


Version 1.3.4

Released October 1999. The second release from the OpenJade project. This version was distributed as part of OpenJade 1.3

Changes in OpenJade 1.3.4

  • Added the Entity classes to the public interface of the library/DLL.


Version 1.3.3

The first release from the OpenJade project