public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI) {
LSInput input = null;
Iterator<ValidatorSchemaFactory> it = mExtSchemaFactories.iterator();
while(it.hasNext()) {
ValidatorSchemaFactory fac = it.next();
LSResourceResolver resolver = fac.getLSResourceResolver();
if(resolver != null) {
input = resolver.resolveResource(type, namespaceURI, publicId, systemId, baseURI);
if(input != null) {
break;
}
}
}
return input;
}
java类org.w3c.dom.ls.LSInput的实例源码
WSDLSchemaValidator.java 文件源码
项目:incubator-netbeans
阅读 21
收藏 0
点赞 0
评论 0
CatalogResolverImpl.java 文件源码
项目:openjdk-jdk10
阅读 20
收藏 0
点赞 0
评论 0
@Override
public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI) {
InputSource is = resolveEntity(publicId, systemId);
if (is != null && !is.isEmpty()) {
return new LSInputImpl(is.getSystemId());
}
GroupEntry.ResolveType resolveType = ((CatalogImpl) catalog).getResolve();
switch (resolveType) {
case IGNORE:
return null;
case STRICT:
CatalogMessages.reportError(CatalogMessages.ERR_NO_MATCH,
new Object[]{publicId, systemId});
}
//no action, allow the parser to continue
return null;
}
Bug6355326.java 文件源码
项目:openjdk-jdk10
阅读 22
收藏 0
点赞 0
评论 0
@Test
public void testExternalEncoding() {
try {
LSInput src = null;
LSParser dp = null;
src = createLSInputEncoding();
dp = createLSParser();
src.setEncoding("UTF-16");
Document doc = dp.parse(src);
Assert.assertTrue("encodingXML".equals(doc.getDocumentElement().getNodeName()), "XML document is not parsed correctly");
} catch (Exception e) {
e.printStackTrace();
Assert.fail("Exception occured: " + e.getMessage());
}
}
DocumentLSTest.java 文件源码
项目:openjdk-jdk10
阅读 20
收藏 0
点赞 0
评论 0
@Test
public void testLSInputParsingByteStream() throws Exception {
DOMImplementationLS impl = (DOMImplementationLS) getDocumentBuilder().getDOMImplementation();
LSParser domParser = impl.createLSParser(MODE_SYNCHRONOUS, null);
LSInput src = impl.createLSInput();
try (InputStream is = new FileInputStream(ASTROCAT)) {
src.setByteStream(is);
assertNotNull(src.getByteStream());
// set certified accessor methods
boolean origCertified = src.getCertifiedText();
src.setCertifiedText(true);
assertTrue(src.getCertifiedText());
src.setCertifiedText(origCertified); // set back to orig
src.setSystemId(filenameToURL(ASTROCAT));
Document doc = domParser.parse(src);
Element result = doc.getDocumentElement();
assertEquals(result.getTagName(), "stardb");
}
}
DocumentLSTest.java 文件源码
项目:openjdk-jdk10
阅读 22
收藏 0
点赞 0
评论 0
@Test
public void testLSInputParsingString() throws Exception {
DOMImplementationLS impl = (DOMImplementationLS) getDocumentBuilder().getDOMImplementation();
String xml = "<?xml version='1.0'?><test>runDocumentLS_Q6</test>";
LSParser domParser = impl.createLSParser(MODE_SYNCHRONOUS, null);
LSSerializer domSerializer = impl.createLSSerializer();
// turn off xml decl in serialized string for comparison
domSerializer.getDomConfig().setParameter("xml-declaration", Boolean.FALSE);
LSInput src = impl.createLSInput();
src.setStringData(xml);
assertEquals(src.getStringData(), xml);
Document doc = domParser.parse(src);
String result = domSerializer.writeToString(doc);
assertEquals(result, "<test>runDocumentLS_Q6</test>");
}
Bug6355326.java 文件源码
项目:openjdk9
阅读 20
收藏 0
点赞 0
评论 0
@Test
public void testExternalEncoding() {
try {
LSInput src = null;
LSParser dp = null;
src = createLSInputEncoding();
dp = createLSParser();
src.setEncoding("UTF-16");
Document doc = dp.parse(src);
Assert.assertTrue("encodingXML".equals(doc.getDocumentElement().getNodeName()), "XML document is not parsed correctly");
} catch (Exception e) {
e.printStackTrace();
Assert.fail("Exception occured: " + e.getMessage());
}
}
DocumentLSTest.java 文件源码
项目:openjdk9
阅读 21
收藏 0
点赞 0
评论 0
@Test
public void testLSInputParsingByteStream() throws Exception {
DOMImplementationLS impl = (DOMImplementationLS) getDocumentBuilder().getDOMImplementation();
LSParser domParser = impl.createLSParser(MODE_SYNCHRONOUS, null);
LSInput src = impl.createLSInput();
try (InputStream is = new FileInputStream(ASTROCAT)) {
src.setByteStream(is);
assertNotNull(src.getByteStream());
// set certified accessor methods
boolean origCertified = src.getCertifiedText();
src.setCertifiedText(true);
assertTrue(src.getCertifiedText());
src.setCertifiedText(origCertified); // set back to orig
src.setSystemId(filenameToURL(ASTROCAT));
Document doc = domParser.parse(src);
Element result = doc.getDocumentElement();
assertEquals(result.getTagName(), "stardb");
}
}
DocumentLSTest.java 文件源码
项目:openjdk9
阅读 23
收藏 0
点赞 0
评论 0
@Test
public void testLSInputParsingString() throws Exception {
DOMImplementationLS impl = (DOMImplementationLS) getDocumentBuilder().getDOMImplementation();
String xml = "<?xml version='1.0'?><test>runDocumentLS_Q6</test>";
LSParser domParser = impl.createLSParser(MODE_SYNCHRONOUS, null);
LSSerializer domSerializer = impl.createLSSerializer();
// turn off xml decl in serialized string for comparison
domSerializer.getDomConfig().setParameter("xml-declaration", Boolean.FALSE);
LSInput src = impl.createLSInput();
src.setStringData(xml);
assertEquals(src.getStringData(), xml);
Document doc = domParser.parse(src);
String result = domSerializer.writeToString(doc);
assertEquals(result, "<test>runDocumentLS_Q6</test>");
}
XsdImportsResourceResolver.java 文件源码
项目:komplexni-validator
阅读 19
收藏 0
点赞 0
评论 0
@Override
public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI) {
InputStream stream = null;
try {
File file = new File(xsdDir, systemId);
stream = new FileInputStream(file);
LSInputImpl input = new LSInputImpl();
input.setPublicId(publicId);
input.setSystemId(systemId);
input.setBaseURI(baseURI);
input.setCharacterStream(new InputStreamReader(stream));
return input;
} catch (FileNotFoundException e) {
return null;
}
}
DomDocumentBuilder.java 文件源码
项目:javify
阅读 15
收藏 0
点赞 0
评论 0
public Document parse(InputStream in)
throws SAXException, IOException
{
LSInput input = ls.createLSInput();
input.setByteStream(in);
try
{
return parser.parse(input);
}
catch (LSException e)
{
Throwable e2 = e.getCause();
if (e2 instanceof IOException)
throw (IOException) e2;
else
throw e;
}
}
DomDocumentBuilder.java 文件源码
项目:javify
阅读 24
收藏 0
点赞 0
评论 0
public Document parse(InputStream in, String systemId)
throws SAXException, IOException
{
LSInput input = ls.createLSInput();
input.setByteStream(in);
input.setSystemId(systemId);
try
{
return parser.parse(input);
}
catch (LSException e)
{
Throwable e2 = e.getCause();
if (e2 instanceof IOException)
throw (IOException) e2;
else
throw e;
}
}
XAdESSignatureFacetTest.java 文件源码
项目:eid-applet
阅读 24
收藏 0
点赞 0
评论 0
public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId,
String baseURI) {
LOG.debug("resolve resource");
LOG.debug("type: " + type);
LOG.debug("namespace URI: " + namespaceURI);
LOG.debug("publicId: " + publicId);
LOG.debug("systemId: " + systemId);
LOG.debug("base URI: " + baseURI);
if ("http://uri.etsi.org/01903/v1.3.2#".equals(namespaceURI)) {
return new LocalLSInput(publicId, systemId, baseURI, "/XAdES.xsd");
}
if ("http://www.w3.org/2000/09/xmldsig#".equals(namespaceURI)) {
return new LocalLSInput(publicId, systemId, baseURI, "/xmldsig-core-schema.xsd");
}
throw new RuntimeException("unsupported resource: " + namespaceURI);
}
DomDocumentBuilder.java 文件源码
项目:jvm-stm
阅读 15
收藏 0
点赞 0
评论 0
public Document parse(InputStream in)
throws SAXException, IOException
{
LSInput input = ls.createLSInput();
input.setByteStream(in);
try
{
return parser.parse(input);
}
catch (LSException e)
{
Throwable e2 = e.getCause();
if (e2 instanceof IOException)
throw (IOException) e2;
else
throw e;
}
}
DomDocumentBuilder.java 文件源码
项目:jvm-stm
阅读 30
收藏 0
点赞 0
评论 0
public Document parse(InputStream in, String systemId)
throws SAXException, IOException
{
LSInput input = ls.createLSInput();
input.setByteStream(in);
input.setSystemId(systemId);
try
{
return parser.parse(input);
}
catch (LSException e)
{
Throwable e2 = e.getCause();
if (e2 instanceof IOException)
throw (IOException) e2;
else
throw e;
}
}
SimpleLSResourceResolver.java 文件源码
项目:proarc
阅读 18
收藏 0
点赞 0
评论 0
@Override
public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI) {
String location = map.get(systemId);
// System.out.printf("\ntype: %s\nnsURI: %s\npublicId: %s\nsystemId: %s\nbaseURI: %s\n",
// type, namespaceURI, publicId, systemId, baseURI);
if (location == null) {
for (Class<?> base : bases) {
URL resource = base.getResource(systemId);
if (resource != null) {
systemId = resource.toExternalForm();
break;
}
}
}
LSInput input = dls.createLSInput();
input.setSystemId(systemId);
// System.out.println("Real system ID: " + systemId);
return input;
}
ResourceResolver.java 文件源码
项目:yawl
阅读 19
收藏 0
点赞 0
评论 0
public LSInput resolveResource(String type, String namespaceURI,
String publicId, String systemId, String baseURI) {
try {
URL url = new URL(namespaceURI + '/' + systemId);
String content = cache.get(url);
if (content == null) {
content = streamToString(new URL(namespaceURI + '/' + systemId).openStream());
if (content != null) cache.put(url, content);
}
return new Input(publicId, systemId, stringToStream(content));
}
catch (MalformedURLException mue) {
mue.printStackTrace();
return null;
}
catch (IOException ioe) {
ioe.printStackTrace();
return null;
}
}
SchemaFactoryImplTest.java 文件源码
项目:jing-trang
阅读 19
收藏 0
点赞 0
评论 0
@Test
public void testInstanceResourceResolver() throws SAXException, IOException {
SchemaFactory f = factory();
Validator v = f.newSchema(charStreamSource(element("doc", element("inner")))).newValidator();
Assert.assertNull(v.getResourceResolver());
LSResourceResolver rr = new LSResourceResolver() {
public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI) {
// In Java 5 Xerces absolutized the systemId relative to the current directory
int slashIndex = systemId.lastIndexOf('/');
if (slashIndex >= 0)
systemId = systemId.substring(slashIndex + 1);
Assert.assertEquals(systemId, "e.xml");
Assert.assertEquals(type, "http://www.w3.org/TR/REC-xml");
LSInput in = new LSInputImpl();
in.setStringData("<inner/>");
return in;
}
};
v.setResourceResolver(rr);
Assert.assertSame(v.getResourceResolver(), rr);
v.validate(charStreamSource("<!DOCTYPE doc [ <!ENTITY e SYSTEM 'e.xml'> ]><doc>&e;</doc>"));
}
SchemaFactoryImplTest.java 文件源码
项目:jing-trang
阅读 17
收藏 0
点赞 0
评论 0
@Test
public void testSchemaResourceResolver() throws SAXException, IOException {
SchemaFactory f = factory();
Assert.assertNull(f.getResourceResolver());
LSResourceResolver rr = new LSResourceResolver() {
public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI) {
Assert.assertEquals(systemId, "myschema");
Assert.assertEquals(type, getLSType());
Assert.assertNull(baseURI);
Assert.assertNull(namespaceURI);
Assert.assertNull(publicId);
LSInput in = new LSInputImpl();
in.setStringData(createSchema("doc"));
return in;
}
};
f.setResourceResolver(rr);
Assert.assertSame(f.getResourceResolver(), rr);
Validator v = f.newSchema(charStreamSource(externalRef("myschema"))).newValidator();
v.validate(charStreamSource("<doc/>"));
}
SchemaBaseValidator.java 文件源码
项目:FHIR-Server
阅读 19
收藏 0
点赞 0
评论 0
@Override
public LSInput resolveResource(String theType, String theNamespaceURI, String thePublicId, String theSystemId, String theBaseURI) {
if (theSystemId != null && SCHEMA_NAMES.contains(theSystemId)) {
LSInputImpl input = new LSInputImpl();
input.setPublicId(thePublicId);
input.setSystemId(theSystemId);
input.setBaseURI(theBaseURI);
// String pathToBase = "ca/uhn/fhir/model/" + myVersion + "/schema/" + theSystemId;
String pathToBase = myCtx.getVersion().getPathToSchemaDefinitions() + '/' + theSystemId;
ourLog.debug("Loading referenced schema file: " + pathToBase);
InputStream baseIs = FhirValidator.class.getClassLoader().getResourceAsStream(pathToBase);
if (baseIs == null) {
throw new InternalErrorException("Schema file not found: " + pathToBase);
}
input.setByteStream(baseIs);
return input;
}
throw new ConfigurationException("Unknown schema: " + theSystemId);
}
Descriptor.java 文件源码
项目:switchyard
阅读 20
收藏 0
点赞 0
评论 0
public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI) {
String schemaLocation = _descriptor.getSchemaLocation(namespaceURI, systemId);
if (schemaLocation == null && baseURI != null && baseURI.endsWith(".dtd")) {
String schema = baseURI.substring(0, baseURI.lastIndexOf('/')+1) + systemId;
schemaLocation = _descriptor.getSchemaLocation(null, schema);
}
if (schemaLocation != null) {
try {
String xsd = new StringPuller().pull(schemaLocation, getClass());
if (xsd != null) {
return new DescriptorLSInput(xsd, publicId, systemId, baseURI);
}
} catch (IOException ioe) {
throw new RuntimeException(ioe);
}
}
return null;
}
SchemaBaseValidator.java 文件源码
项目:hapi-fhir
阅读 19
收藏 0
点赞 0
评论 0
@Override
public LSInput resolveResource(String theType, String theNamespaceURI, String thePublicId, String theSystemId, String theBaseURI) {
if (theSystemId != null && SCHEMA_NAMES.contains(theSystemId)) {
LSInputImpl input = new LSInputImpl();
input.setPublicId(thePublicId);
input.setSystemId(theSystemId);
input.setBaseURI(theBaseURI);
// String pathToBase = "ca/uhn/fhir/model/" + myVersion + "/schema/" + theSystemId;
String pathToBase = myCtx.getVersion().getPathToSchemaDefinitions() + '/' + theSystemId;
ourLog.debug("Loading referenced schema file: " + pathToBase);
InputStream baseIs = FhirValidator.class.getResourceAsStream(pathToBase);
if (baseIs == null) {
IOUtils.closeQuietly(baseIs);
throw new InternalErrorException("Schema file not found: " + pathToBase);
}
input.setByteStream(baseIs);
//FIXME resource leak
return input;
}
throw new ConfigurationException("Unknown schema: " + theSystemId);
}
XHTMLValidator.java 文件源码
项目:automated_digital_publishing
阅读 16
收藏 0
点赞 0
评论 0
public LSInput resolveResource(String type,
String namespaceURI,
String publicId,
String systemId,
String baseURI)
{
if (systemId.equalsIgnoreCase("http://www.w3.org/2001/xml.xsd") == true)
{
File xml = new File(this.localPath + "xml.xsd");
if (xml.exists() == true)
{
return new LocalEntityInput(xml, publicId, true);
}
else
{
System.out.print("html2epub1: Can't validate - schema 'xml.xsd' is missing.\n");
System.exit(-83);
return null;
}
}
System.out.print("html2epub1: Can't validate - unknown resource with public ID '" + publicId + "', system ID '" + systemId + "', type '" + type + "', namespace URI '" + namespaceURI + "' and base URI '" + baseURI + "'.\n");
System.exit(-84);
return null;
}
AbstractLSResourceResolver.java 文件源码
项目:ph-commons
阅读 23
收藏 0
点赞 0
评论 0
@Nullable
public final LSInput resolveResource (@Nonnull @Nonempty final String sType,
@Nullable final String sNamespaceURI,
@Nullable final String sPublicId,
@Nullable final String sSystemId,
@Nullable final String sBaseURI)
{
final LSInput ret = mainResolveResource (sType, sNamespaceURI, sPublicId, sSystemId, sBaseURI);
if (ret != null)
return ret;
// Pass to parent (if available)
if (m_aWrappedResourceResolver != null)
return m_aWrappedResourceResolver.resolveResource (sType, sNamespaceURI, sPublicId, sSystemId, sBaseURI);
// Not found
return null;
}
CollectingLSResourceResolver.java 文件源码
项目:ph-commons
阅读 20
收藏 0
点赞 0
评论 0
@Override
@Nullable
public LSInput mainResolveResource (@Nullable final String sType,
@Nullable final String sNamespaceURI,
@Nullable final String sPublicId,
@Nullable final String sSystemId,
@Nullable final String sBaseURI)
{
if (DEBUG_RESOLVE)
s_aLogger.info ("mainResolveResource (" +
sType +
", " +
sNamespaceURI +
", " +
sPublicId +
", " +
sSystemId +
", " +
sBaseURI +
")");
final LSResourceData aData = new LSResourceData (sType, sNamespaceURI, sPublicId, sSystemId, sBaseURI);
m_aRWLock.writeLocked ( () -> m_aList.add (aData));
return null;
}
LoggingLSResourceResolver.java 文件源码
项目:ph-commons
阅读 22
收藏 0
点赞 0
评论 0
@Override
@Nullable
public LSInput mainResolveResource (@Nullable final String sType,
@Nullable final String sNamespaceURI,
@Nullable final String sPublicId,
@Nullable final String sSystemId,
@Nullable final String sBaseURI)
{
if (s_aLogger.isInfoEnabled ())
s_aLogger.info ("mainResolveResource (" +
sType +
", " +
sNamespaceURI +
", " +
sPublicId +
", " +
sSystemId +
", " +
sBaseURI +
")");
return null;
}
SyncopeCamelContext.java 文件源码
项目:syncope
阅读 30
收藏 0
点赞 0
评论 0
private void loadContext(final Collection<String> routes) {
try {
DOMImplementationRegistry reg = DOMImplementationRegistry.newInstance();
DOMImplementationLS domImpl = (DOMImplementationLS) reg.getDOMImplementation("LS");
LSParser parser = domImpl.createLSParser(DOMImplementationLS.MODE_SYNCHRONOUS, null);
JAXBContext jaxbContext = JAXBContext.newInstance(Constants.JAXB_CONTEXT_PACKAGES);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
List<RouteDefinition> routeDefs = new ArrayList<>();
for (String route : routes) {
try (InputStream input = IOUtils.toInputStream(route, StandardCharsets.UTF_8)) {
LSInput lsinput = domImpl.createLSInput();
lsinput.setByteStream(input);
Node routeElement = parser.parse(lsinput).getDocumentElement();
routeDefs.add(unmarshaller.unmarshal(routeElement, RouteDefinition.class).getValue());
}
}
camelContext.addRouteDefinitions(routeDefs);
} catch (Exception e) {
LOG.error("While loading Camel context {}", e);
throw new CamelException(e);
}
}
DomDocumentBuilder.java 文件源码
项目:JamVM-PH
阅读 15
收藏 0
点赞 0
评论 0
public Document parse(InputStream in)
throws SAXException, IOException
{
LSInput input = ls.createLSInput();
input.setByteStream(in);
try
{
return parser.parse(input);
}
catch (LSException e)
{
Throwable e2 = e.getCause();
if (e2 instanceof IOException)
throw (IOException) e2;
else
throw e;
}
}
DomDocumentBuilder.java 文件源码
项目:JamVM-PH
阅读 14
收藏 0
点赞 0
评论 0
public Document parse(InputStream in, String systemId)
throws SAXException, IOException
{
LSInput input = ls.createLSInput();
input.setByteStream(in);
input.setSystemId(systemId);
try
{
return parser.parse(input);
}
catch (LSException e)
{
Throwable e2 = e.getCause();
if (e2 instanceof IOException)
throw (IOException) e2;
else
throw e;
}
}
PersistentResourceXMLParserTestCase.java 文件源码
项目:wildfly-core
阅读 17
收藏 0
点赞 0
评论 0
private static String normalizeXML(String xml) throws Exception {
// Remove all white space adjoining tags ("trim all elements")
xml = xml.replaceAll("\\s*<", "<");
xml = xml.replaceAll(">\\s*", ">");
DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();
DOMImplementationLS domLS = (DOMImplementationLS) registry.getDOMImplementation("LS");
LSParser lsParser = domLS.createLSParser(DOMImplementationLS.MODE_SYNCHRONOUS, null);
LSInput input = domLS.createLSInput();
input.setStringData(xml);
Document document = lsParser.parse(input);
LSSerializer lsSerializer = domLS.createLSSerializer();
lsSerializer.getDomConfig().setParameter("comments", Boolean.FALSE);
lsSerializer.getDomConfig().setParameter("format-pretty-print", Boolean.TRUE);
return lsSerializer.writeToString(document);
}
ModelTestUtils.java 文件源码
项目:wildfly-core
阅读 21
收藏 0
点赞 0
评论 0
/**
* Normalize and pretty-print XML so that it can be compared using string
* compare. The following code does the following: - Removes comments -
* Makes sure attributes are ordered consistently - Trims every element -
* Pretty print the document
*
* @param xml The XML to be normalized
* @return The equivalent XML, but now normalized
*/
public static String normalizeXML(String xml) throws Exception {
// Remove all white space adjoining tags ("trim all elements")
xml = xml.replaceAll("\\s*<", "<");
xml = xml.replaceAll(">\\s*", ">");
DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();
DOMImplementationLS domLS = (DOMImplementationLS) registry.getDOMImplementation("LS");
LSParser lsParser = domLS.createLSParser(DOMImplementationLS.MODE_SYNCHRONOUS, null);
LSInput input = domLS.createLSInput();
input.setStringData(xml);
Document document = lsParser.parse(input);
LSSerializer lsSerializer = domLS.createLSSerializer();
lsSerializer.getDomConfig().setParameter("comments", Boolean.FALSE);
lsSerializer.getDomConfig().setParameter("format-pretty-print", Boolean.TRUE);
return lsSerializer.writeToString(document);
}