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)
.
String containing FSI.
If true, prepend the given SGML declaration
Type: node-list
Document element, or #f
on error.