perlSGML -- SGML::FSI

## Name

SGML::FSI - SGML Formal System Indentifiers

## Synopsis

      use SGML::FSI;
      $fh = OpenSysId($sysid, $base)

## Description

The SGML::FSI module handles Formal System Indentifiers.

## Exported Routines

### OpenSysId

        $fh = OpenSysId($sysid, $base);

#### Arguments:

$sysid
  System indentifier for the object to be opened.
$base
  The base indentifier to use if $sysid is a relative system identifier.

#### Return:

An open filehandle if successful, else `undef`.

#### Description:

OpenSysId open a filehandle to an object denoted by a system identifier.

## Export OK Routines

The following routines are not automatically exported, but can be if specified during the use operation of this module.

### ResolveSysId

        $fh = ResolveSysId($sysid, $base);

#### Arguments:

$sysid
  System indentifier to resolve.
$base
  The base indentifier to use if $sysid is a relative system identifier.

#### Return:

A resolved system identifier.

#### Description:

ResolveSysId returns a resolved system identifier based upon system indentifier and its base. The behavior of this function is a follows:

1. If $sysid is absolute, it is the return value.
2. If $base is defined, the return value is $base applied to $sysid to for a new sysid.
3. Else, SGML_SEARCH_PATH envariable is searched for $sysid If $sysid exists in SGML_SEARCH_PATH, it returns the resolved pathname. Else, $sysid is returned.

This function appears to be potentially a big noop, but is useful for having a base indentifier applied to a relative system indentifier and to have it do the SGML_SEARCH_PATH search.

## Notes

- Currently, this module does not really support FSIs. The module exists to provide a stable(?) interface to resolving sysids to perl filehandles. Someday, FSI support will be added as time permits and decent documentation exists.

## Environment Variables

SGML_SEARCH_PATH | List of file system paths to look for system entities for relative system identifiers.

## See Also

SGML::EntMan

perl(1)

## Availability

This software is part of the perlSGML package; see (http://www.oac.uci.edu/indiv/ehood/perlSGML.html)

## Author