public interface Catalog
A catalog is an XML file that contains a root catalog
entry with a list
of catalog entries. The entries can also be grouped with a group
entry.
The catalog and group entries may specify prefer
and xml:base
attributes that set preference of public or system type of entries and base URI
to resolve relative URIs.
A catalog can be used in two situations:
For case 1, the standard defines 6 External Identifier Entries:
public, system, rewriteSystem, systemSuffix, delegatePublic, and
delegateSystem
.
While for case 2, it defines 4 URI Entries:
uri, rewriteURI, uriSuffix and delegateURI
.
In addition to the above entry types, a catalog may define nextCatalog entries to add additional catalog entry files.
Modifier and Type | Method and Description |
---|---|
Stream<Catalog> |
catalogs()
Returns a sequential Stream of alternative Catalogs specified using the
nextCatalog entries in the current catalog, and as the input of
catalog files excluding the current catalog (that is, the first in the
input list) when the Catalog object is created by the CatalogManager . |
String |
matchPublic(String publicId)
Attempts to find a matching entry in the catalog by publicId.
|
String |
matchSystem(String systemId)
Attempts to find a matching entry in the catalog by systemId.
|
String |
matchURI(String uri)
Attempts to find a matching entry in the catalog by the uri element.
|
String matchSystem(String systemId)
The method searches through the system-type entries, including system,
rewriteSystem, systemSuffix, delegateSystem
, and group
entries in the
current catalog in order to find a match.
Resolution follows the steps listed below:
system
entry exists, it is returned immediately.rewriteSystem
entry matches, the matching entry with
the longest normalized systemIdStartString
value is returned.systemSuffix
entry matches, the matching entry
with the longest normalized systemIdSuffix
value is returned.delegateSystem
entry matches, the matching entry
with the longest matching systemIdStartString
value is returned.systemId
- the system identifier of the entity to be matchedString matchPublic(String publicId)
public,
delegatePublic
, and group
entries in the current catalog in order to find
a match.
Refer to the description about
Feature PREFER in the table Catalog Features in class
CatalogFeatures
. Public entries are only considered if the
prefer
is public
and system
entries are not found.
Resolution follows the steps listed below:
public
entry is found, it is returned immediately.delegatePublic
entry matches, the matching entry
with the longest matching publicIdStartString
value is returned.publicId
- the public identifier of the entity to be matchedCatalogFeatures.Feature
String matchURI(String uri)
The method searches through the uri-type entries, including uri,
rewriteURI, uriSuffix, delegateURI
and group
entries in the current
catalog in order to find a match.
Resolution follows the steps listed below:
uri
entry is found, it is returned immediately.rewriteURI
entry matches, the matching entry with
the longest normalized uriStartString
value is returned.uriSuffix
entry matches, the matching entry with
the longest normalized uriSuffix
value is returned.delegatePublic
entry matches, the matching entry
with the longest matching uriStartString
value is returned.uri
- the URI reference of the entity to be matchedStream<Catalog> catalogs()
nextCatalog
entries in the current catalog, and as the input of
catalog files excluding the current catalog (that is, the first in the
input list) when the Catalog object is created by the CatalogManager
.
The order of Catalogs in the returned stream is the same as the order
in which the corresponding nextCatalog
entries appear in the
current catalog. The alternative catalogs from the input file list are
appended to the end of the stream in the order they are entered.
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2016, Oracle and/or its affiliates. All rights reserved.
DRAFT 9-internal+0-2016-01-26-133437.ivan.openjdk9onspinwait