Chapter 1. OpenSP 1.5.2 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.
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.
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, see the section called “Binary Distributions” for information on how to obtain pre-compiled
binary packages.
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.2 should build with the GNU gcc c++ compiler from
version 2.95 up to version 4.0.
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. | OS | Compiler | Notes |
---|
alpha | Debian 3.1 | GNU gcc 4.0 | |
arm | Debian 3.1 | GNU gcc 4.0 | |
hppa | Debian 3.1 | GNU gcc 4.0 | |
i386 | Debian 3.1 | GNU gcc 4.0 | |
Red Hat Linux 7.3 | Red Hat gcc 2.96 | |
Red Hat Linux 7.3 | GNU gcc 3.2 | |
SuSE Linux 8.1 | GNU gcc 3.2 | |
ia64 | Debian 3.1 | GNU gcc 4.0 | |
m68k | Debian 3.1 | GNU gcc 4.0 | |
mips, mipsel | Debian 3.1 | GNU gcc 4.0 | |
powerpc | Debian 3.1 | GNU gcc 4.0 | |
s390 | Debian 3.1 | GNU gcc 4.0 | |
sparc | Debian 3.1 | GNU gcc 4.0 | |
sparc | Solaris 8/SunOS 5.8 | GNU gcc 4.0 | |
Please report any successful builds not mentioned above to
<openjade-devel@lists.sourceforge.net>
, 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.2.tar.gz | tar xvf -
cd OpenSP-1.5.2
./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
Option | Default | Explanation |
---|
--enable-http | No http support | Include 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=pathlist | Not enabled | Provide one or more default catalog files or sysids, e.g.
/usr/local/lib/sgml/catalog |
--enable-default-search-path=pathlist | Not enabled | Provide a default value for
SGML_SEARCH_PATH |
--enable-xml-messages | Not enabled | Include support for XML Formatted Messages |
--disable-doc-build | Enabled | Do not build docs (man pages and release notes) |
--disable-dtddecl | Enabled | Do not include support for DTDDECL |
Please refer to the system documentation for details on building
on the Win32 platform.
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.
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.
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.
Released December 2005. The release contains a number of enhancements together with
support for version 4.0 of the GNU C++ compiler.
The following table details the major improvements in OpenSP
1.5.2
Table 1.3. Changes for release
1.5.2
Item 1 | Added doc building and config option |
---|
Contributors | Terje Bless, Neil Roeth |
Category | Enhancement |
Description | Enable creation of release notes and man pages as
part of the standard build process. Added option --disable-doc-build; this
step requires several additional software packages, so a user who chooses not
to install those tools or otherwise has problems building the docs can skip
this step. |
Item 2 | Updated local gettext |
---|
Contributor | Terje Bless |
Category | Enhancement |
Description | A local gettext is provided for those platforms
that have an old or broken gettext. This has been updated to
version 0.14.5. |
Item 3 | Added config option to turn off DTDDECL support |
---|
Contributor | Neil Roeth |
Category | Enhancement |
Description | Added option --disable-dtddecl to disable DTDDECL
support. The combination of DTDDECL support and enabling a default catalog
and default SGML search path can cause poor performance. Using this option
allows you to use a default catalog and search path and still get good
performance if DTDDECL support is not needed. |
Item 4 | Updated/added translations |
---|
Contributor | Karl Eichwalder |
Category | Enhancement |
Description | Updated German and French translations, added
Turkish translation. |
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.1
Table 1.4. Changes for release
1.5.1
Item 1 | Runtime 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 2 | Support 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 3 | Specification 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 4 | Specification of http Accept: headers |
---|
Contributor | Nick Kew |
Category | Enhancement |
Description | The environment variable
SP_HTTP_ACCEPT can be used to specify Accept:
headers. |
Item 5 | Enhancements 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 6 | Addition 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 7 | Sundry 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 |
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.5. 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 2 | UNIX 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 3 | Upgrade 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 5 | New Translations |
---|
Contributors | Various |
Category | Documentation Bug |
Description | New and updated translations are available for
"ja", "fr", "de" and "sv" languages. |
Item 6 | Enhanced 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 7 | Error 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 8 | New 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 9 | Support 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 10 | 64 Bit Platform Support |
---|
Category | Software Enhancements |
Description | Remove 32-bit assumptions so that 64 bit platforms
such as Alpha, IA64, UltraSparc are supported. |
Item 11 | New 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 12 | Enhanced 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 13 | Support for GCC 3.2 |
---|
Category | Software Enhancement |
Description | GCC 3.2 is now supported. |
Item 14 | Enhance 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 |
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.
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
The first release from the OpenJade project