public final class DefaultInputResolver extends Object
Modifier and Type | Method and Description |
---|---|
static Reader |
constructOptimizedReader(ReaderConfig cfg,
InputStream in,
boolean isXml11,
String encoding) |
static WstxInputSource |
resolveEntity(WstxInputSource parent,
URL pathCtxt,
String entityName,
String publicId,
String systemId,
XMLResolver customResolver,
ReaderConfig cfg,
int xmlVersion)
Basic external resource resolver implementation; usable both with
DTD and entity resolution.
|
static WstxInputSource |
resolveEntityUsing(WstxInputSource refCtxt,
String entityName,
String publicId,
String systemId,
XMLResolver resolver,
ReaderConfig cfg,
int xmlVersion)
A very simple utility expansion method used generally when the
only way to resolve an entity is via passed resolver; and where
failing to resolve it is not fatal.
|
protected static WstxInputSource |
sourceFrom(WstxInputSource parent,
ReaderConfig cfg,
String refName,
int xmlVersion,
Object o)
Factory method that accepts various types of Objects, and tries to
create a
WstxInputSource from it. |
static WstxInputSource |
sourceFromString(WstxInputSource parent,
ReaderConfig cfg,
String refName,
int xmlVersion,
String refContent)
We have multiple ways to look at what would it mean to get a String
as the resolved result.
|
public static WstxInputSource resolveEntity(WstxInputSource parent, URL pathCtxt, String entityName, String publicId, String systemId, XMLResolver customResolver, ReaderConfig cfg, int xmlVersion) throws IOException, XMLStreamException
parent
- Input source that contains reference to be expanded.pathCtxt
- Reference context to use for resolving path, if
known. If null, reference context of the parent will
be used; and if that is null (which is possible), the
current working directory will be assumed.entityName
- Name/id of the entity being expanded, if this is an
entity expansion; null otherwise (for example, when resolving external
subset).publicId
- Public identifier of the resource, if known; null/empty
otherwise. Default implementation just ignores the identifier.systemId
- System identifier of the resource. Although interface
allows null/empty, default implementation considers this an error.xmlVersion
- Xml version as declared by the main parsed
document. Currently only relevant for checking that XML 1.0 document
does not include XML 1.1 external parsed entities.
If XML_V_UNKNOWN, no checks will be done.customResolver
- Custom resolver to use first for resolution,
if any (may be null).cfg
- Reader configuration object used by the parser that is
resolving the entityIOException
XMLStreamException
public static WstxInputSource resolveEntityUsing(WstxInputSource refCtxt, String entityName, String publicId, String systemId, XMLResolver resolver, ReaderConfig cfg, int xmlVersion) throws IOException, XMLStreamException
IOException
XMLStreamException
protected static WstxInputSource sourceFrom(WstxInputSource parent, ReaderConfig cfg, String refName, int xmlVersion, Object o) throws IllegalArgumentException, IOException, XMLStreamException
WstxInputSource
from it. Currently it's only called
to locate external DTD subsets, when overriding default DOCTYPE
declarations; not for entity expansion or for locating the main
document entity.parent
- Input source context active when resolving a new
"sub-source"; usually the main document source.refName
- Name of the entity to be expanded, if any; may be
null (and currently always is)o
- Object that should provide the new input source; non-type safeIllegalArgumentException
IOException
XMLStreamException
public static Reader constructOptimizedReader(ReaderConfig cfg, InputStream in, boolean isXml11, String encoding) throws XMLStreamException
XMLStreamException
public static WstxInputSource sourceFromString(WstxInputSource parent, ReaderConfig cfg, String refName, int xmlVersion, String refContent) throws IOException, XMLStreamException
Note: public to give access for unit tests that need it...
IOException
XMLStreamException
Copyright © 2018 FasterXML. All rights reserved.