Next Up Previous Contents
Next: isspace?
Up: Common functions for the Starlink stylesheets
Previous: document-element
[ID index][Keyword index]

document-element-from-fsi

Description

Return the document element of the document referred to by the FOSI passed as argument. Uses (sgml-parse): see 10179, 10.1.7.

This is complicated! When (sgml-parse) is called, it is a completely different parse from the main one. That means that it has the default SGML declaration, which has NAMECASE GENERAL NO. Unless we prepend the correct declaration, this isn't parsed properly. The entity (%starlink-decl-entity%) is defined in the General DTD to point to the declaration, and we must prepend this entity to the entity we have been asked to parse. Do this by calling (entity-generated-system-id) on the entity.

The crucial thing here is to realise that a `formal system identifier' (the argument of (sgml-parse)) is not necessarily a single file. As described in clause A.6 (specifically A.6.4.3) of the HyTime spec, and also on the SP pages, it can consist of several storage object identifiers, which are concatenated. A simple filename, lacking the SOS start-tag, is an `informal system identifier'.

This will most often be used via (document-element-from-entity) or (document-elememt-from-sysid).

Argument list
fsi = string (Given)

String containing FSI.

prepend-decl = string (Given), keyword

If true, prepend the given SGML declaration

Return value

Type: node-list

Document element, or #f on error.


Next Up Previous Contents
Next: isspace?
Up: Common functions for the Starlink stylesheets
Previous: document-element
[ID index][Keyword index]