Constructor
new SystemSpecificEntityResolver()
Property Index
| Name | Description |
|---|---|
| system_specific_entity_path |
Method Index
| Name | Description |
|---|---|
| configure | Configuration method. |
| put_system_specific_external_entity_replacement_file | Puts a replacement file name or URI path to return as resolution result for the respective entity name. |
| put_system_specific_external_entity_replacement_stream | Associates a readable stream to the specified name to be returned by subsequent calls to resolve_system_specific_entity_as_stream(). |
| put_system_specific_external_entity_replacement_text | Puts literal replacement character data to return as resolution result for the respective entity name. |
| resolve_external_subset_entity | Returns the value previously registered via set_external_subset_entity for the given system_identifier and document_element/declaration subset name, or a default. |
| resolve_system_specific_external_entity | Resolves `entity_ref` as system-specific entity reference relative to `base_system_identifier` and returns a system identifier which the caller can use to fetch the entity's data character content, if any. |
| resolve_system_specific_external_entity_as_stream | Returns a readable stream previously registered with put_system_specific_external_entity_replacement_stream(), if any. |
| set_external_subset_entity | Sets an extern subset entity for `resolve_external_subset_entity` to return. |
| set_system_specific_entity_path | Sets `system_specific_entity_path`. |
Member Details
- configure(args)
-
Configuration method.
Parameters
Name Type Description args Object.<string, string> Map of configuration properties
- put_system_specific_external_entity_replacement_file()
-
Puts a replacement file name or URI path to return as resolution result for the respective entity name.
- put_system_specific_external_entity_replacement_stream()
-
Associates a readable stream to the specified name to be returned by subsequent calls to resolve_system_specific_entity_as_stream().
Note this functionality is isolated from other
resolve_...functions, and is limited to handling thesgmlstdinstream.
- put_system_specific_external_entity_replacement_text()
-
Puts literal replacement character data to return as resolution result for the respective entity name.
- resolve_external_subset_entity()
-
Returns the value previously registered via set_external_subset_entity for the given system_identifier and document_element/declaration subset name, or
[<system-specific-entity_path>/]<document_element>.dtdif no external subset entity was registered previously.
- resolve_system_specific_external_entity(): string
-
Resolves
entity_refas system-specific entity reference relative tobase_system_identifierand returns a system identifier which the caller can use to fetch the entity's data character content, if any.Unless configured otherwise via
put_system_specific_external_entity_replacement_text()orput_system_specific_external_entity_replacement_file(), this will just return the path string constructed by appendingentity_ref(as file/URI path step) tobase_system_identifier, and then made canonical/absolute (hence, this will only ever return an empty string value if it was explicitly put as replacement file name, which should be avoided).System-specific entities having names beginning with
SGML(case-insensitive) are considered "reserved" and used special:sgmlstdin: is expected to be put (either viaput_system_specific_external_entity_replacement_text()orput_system_specific_external_entity_replacement_file()) programmatically to contain literal or file-backed replacement content, resp., for entity references wrt. entities declared with FSI<osfd>0to prevent OS-levelstdinaccess;Tokenizerchecks if the return value begins with<osfile>or is a plain (without storage manager notation) system identifier to distinguish the case that a file was explicitly put as opposed to being resolved by falling back to constructing a system identifier (which isn't useful/desired forsgmlstdin) : see alsoput_system_specific_external_entiy_replacement_stream()andresolve_system_specific_external_entity_as_stream()Note that the returned result, if it is a path, will get resolved again (using
resolve_system_identifier()) byTokenizer;Tokenizermaintains a returned path by making it relative to the process-level current directory, so we but will get a request context base (the document) such that system identifier the .Returns
stringa
<literal>FSI from which data character content can be extracted directly; or an<osfile>FSI identifying a file from where to fetch data character content; or a system identifier without storage manager notation/tag identifying a resource from where to fetch data character content; NO: or the empty string, if no system specific external entity could resolved
- resolve_system_specific_external_entity_as_stream()
-
Returns a readable stream previously registered with put_system_specific_external_entity_replacement_stream(), if any.
- set_external_subset_entity()
-
Sets an extern subset entity for
resolve_external_subset_entityto return.
- set_system_specific_entity_path()
-
Sets
system_specific_entity_path. UNUSED (system_specific_entity_path is set via configure())
- system_specific_entity_path
-
path relative to which system-specific external entities and system identifiers of implied doctype are searched; set via configure()
// @private // can't be private (only) because of emulating sysid in error msg when // WORK_AROUND_MACOS_NAWK_IGNORING_STDIN_WHEN_USING_EXTENDED_COMMAND_LINE_ARGS