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.