first commit
This commit is contained in:
60
hrmsEjb/org/apache/xerces/util/EntityResolverWrapper.java
Normal file
60
hrmsEjb/org/apache/xerces/util/EntityResolverWrapper.java
Normal file
@@ -0,0 +1,60 @@
|
||||
package org.apache.xerces.util;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.Reader;
|
||||
import org.apache.xerces.xni.XMLResourceIdentifier;
|
||||
import org.apache.xerces.xni.XNIException;
|
||||
import org.apache.xerces.xni.parser.XMLEntityResolver;
|
||||
import org.apache.xerces.xni.parser.XMLInputSource;
|
||||
import org.xml.sax.EntityResolver;
|
||||
import org.xml.sax.InputSource;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
public class EntityResolverWrapper implements XMLEntityResolver {
|
||||
protected EntityResolver fEntityResolver;
|
||||
|
||||
public EntityResolverWrapper() {}
|
||||
|
||||
public EntityResolverWrapper(EntityResolver entityResolver) {
|
||||
setEntityResolver(entityResolver);
|
||||
}
|
||||
|
||||
public void setEntityResolver(EntityResolver entityResolver) {
|
||||
this.fEntityResolver = entityResolver;
|
||||
}
|
||||
|
||||
public EntityResolver getEntityResolver() {
|
||||
return this.fEntityResolver;
|
||||
}
|
||||
|
||||
public XMLInputSource resolveEntity(XMLResourceIdentifier resourceIdentifier) throws XNIException, IOException {
|
||||
String pubId = resourceIdentifier.getPublicId();
|
||||
String sysId = resourceIdentifier.getExpandedSystemId();
|
||||
if (pubId == null && sysId == null)
|
||||
return null;
|
||||
if (this.fEntityResolver != null && resourceIdentifier != null)
|
||||
try {
|
||||
InputSource inputSource = this.fEntityResolver.resolveEntity(pubId, sysId);
|
||||
if (inputSource != null) {
|
||||
String publicId = inputSource.getPublicId();
|
||||
String systemId = inputSource.getSystemId();
|
||||
String baseSystemId = resourceIdentifier.getBaseSystemId();
|
||||
InputStream byteStream = inputSource.getByteStream();
|
||||
Reader charStream = inputSource.getCharacterStream();
|
||||
String encoding = inputSource.getEncoding();
|
||||
XMLInputSource xmlInputSource = new XMLInputSource(publicId, systemId, baseSystemId);
|
||||
xmlInputSource.setByteStream(byteStream);
|
||||
xmlInputSource.setCharacterStream(charStream);
|
||||
xmlInputSource.setEncoding(encoding);
|
||||
return xmlInputSource;
|
||||
}
|
||||
} catch (SAXException e) {
|
||||
Exception ex = e.getException();
|
||||
if (ex == null)
|
||||
ex = e;
|
||||
throw new XNIException(ex);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user