List of usage examples for org.w3c.dom.ls LSInput LSInput
LSInput
From source file:Main.java
private static LSInput createLSInputImpl() { return new LSInput() { protected String fPublicId; protected String fSystemId; protected String fBaseSystemId; protected InputStream fByteStream; protected Reader fCharStream; protected String fData; protected String fEncoding; protected boolean fCertifiedText; public InputStream getByteStream() { return fByteStream; }/*from w w w .ja v a 2 s . co m*/ public void setByteStream(InputStream byteStream) { fByteStream = byteStream; } public Reader getCharacterStream() { return fCharStream; } public void setCharacterStream(Reader characterStream) { fCharStream = characterStream; } public String getStringData() { return fData; } public void setStringData(String stringData) { fData = stringData; } public String getEncoding() { return fEncoding; } public void setEncoding(String encoding) { fEncoding = encoding; } public String getPublicId() { return fPublicId; } public void setPublicId(String publicId) { fPublicId = publicId; } public String getSystemId() { return fSystemId; } public void setSystemId(String systemId) { fSystemId = systemId; } public String getBaseURI() { return fBaseSystemId; } public void setBaseURI(String baseURI) { fBaseSystemId = baseURI; } public boolean getCertifiedText() { return fCertifiedText; } public void setCertifiedText(boolean certifiedText) { fCertifiedText = certifiedText; } }; }
From source file:de.betterform.xml.xforms.model.Model.java
private XSLoader getSchemaLoader() throws IllegalAccessException, InstantiationException, ClassNotFoundException { // System.setProperty(DOMImplementationRegistry.PROPERTY, // "org.apache.xerces.dom.DOMXSImplementationSourceImpl"); DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance(); XSImplementation implementation = (XSImplementation) registry.getDOMImplementation("XS-Loader"); XSLoader loader = implementation.createXSLoader(null); DOMConfiguration cfg = loader.getConfig(); cfg.setParameter("resource-resolver", new LSResourceResolver() { public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI) { LSInput input = new LSInput() { String systemId;/*ww w .j a va 2 s. c o m*/ public void setSystemId(String systemId) { this.systemId = systemId; } public void setStringData(String s) { } String publicId; public void setPublicId(String publicId) { this.publicId = publicId; } public void setEncoding(String s) { } public void setCharacterStream(Reader reader) { } public void setCertifiedText(boolean flag) { } public void setByteStream(InputStream inputstream) { } String baseURI; public void setBaseURI(String baseURI) { if (baseURI == null || "".equals(baseURI)) { baseURI = getContainer().getProcessor().getBaseURI(); } this.baseURI = baseURI; } public String getSystemId() { return this.systemId; } public String getStringData() { return null; } public String getPublicId() { return this.publicId; } public String getEncoding() { return null; } public Reader getCharacterStream() { return null; } public boolean getCertifiedText() { return false; } public InputStream getByteStream() { if (LOGGER.isTraceEnabled()) { LOGGER.trace("Schema resource\n\t\t publicId '" + publicId + "'\n\t\t systemId '" + systemId + "' requested"); } try { String pathToSchema = null; if ("http://www.w3.org/MarkUp/SCHEMA/xml-events-attribs-1.xsd".equals(systemId)) { pathToSchema = "schema/xml-events-attribs-1.xsd"; } else if ("http://www.w3.org/2001/XMLSchema.xsd".equals(systemId)) { pathToSchema = "schema/XMLSchema.xsd"; } else if ("-//W3C//DTD XMLSCHEMA 200102//EN".equals(publicId)) { pathToSchema = "schema/XMLSchema.dtd"; } else if ("datatypes".equals(publicId)) { pathToSchema = "schema/datatypes.dtd"; } else if ("http://www.w3.org/2001/xml.xsd".equals(systemId)) { pathToSchema = "schema/xml.xsd"; } // LOAD WELL KNOWN SCHEMA if (pathToSchema != null) { if (LOGGER.isTraceEnabled()) { LOGGER.trace("loading Schema '" + pathToSchema + "'\n\n"); } return Thread.currentThread().getContextClassLoader() .getResourceAsStream(pathToSchema); } // LOAD SCHEMA THAT IS NOT(!) YET KNWON TO THE XFORMS PROCESSOR else if (systemId != null && !"".equals(systemId)) { URI schemaURI = new URI(baseURI); schemaURI = schemaURI.resolve(systemId); // ConnectorFactory.getFactory() if (LOGGER.isDebugEnabled()) { LOGGER.debug("loading schema resource '" + schemaURI.toString() + "'\n\n"); } return ConnectorFactory.getFactory().getHTTPResourceAsStream(schemaURI); } else { LOGGER.error("resource not known '" + systemId + "'\n\n"); return null; } } catch (XFormsException e) { e.printStackTrace(); } catch (URISyntaxException e) { e.printStackTrace(); } return null; } public String getBaseURI() { return this.baseURI; } }; input.setSystemId(systemId); input.setBaseURI(baseURI); input.setPublicId(publicId); return input; } }); // END: Patch return loader; }
From source file:org.apromore.canoniser.bpmn.bpmn.JarLSResourceResolver.java
/** {@inheritDoc} */ @Override/* ww w . j a v a2 s .c o m*/ public LSInput resolveResource(final String type, final String namespaceURI, final String publicId, final String systemId, final String baseURI) { return new LSInput() { /** @return a byte stream from the <code>xsd/</code> directory within the classpath */ @Override public InputStream getByteStream() { return getClass().getClassLoader().getResourceAsStream("xsd/" + systemId); } /** @return a character stream in the default platform encoding, with any byte-order-mark stripped. */ @Override public Reader getCharacterStream() { return new InputStreamReader(new BOMInputStream(getByteStream(), false)); } // Cursory implementations of the remainder of the LSInput interface @Override public String getBaseURI() { return null; } @Override public boolean getCertifiedText() { return false; } @Override public String getEncoding() { return null; } @Override public String getPublicId() { return null; } @Override public String getStringData() { return null; /* throw new UnsupportedOperationException(systemId); */ } @Override public String getSystemId() { return null; /* return systemId; */ } @Override public void setBaseURI(final String baseURI) { throw new UnsupportedOperationException(baseURI); } @Override public void setByteStream(final InputStream in) { throw new UnsupportedOperationException(); } @Override public void setCertifiedText(final boolean certifiedText) { throw new UnsupportedOperationException(); } @Override public void setCharacterStream(final Reader reader) { throw new UnsupportedOperationException(); } @Override public void setEncoding(final String encoding) { throw new UnsupportedOperationException(encoding); } @Override public void setPublicId(final String publicId) { throw new UnsupportedOperationException(publicId); } @Override public void setStringData(final String stringData) { throw new UnsupportedOperationException(stringData); } @Override public void setSystemId(final String systemId) { throw new UnsupportedOperationException(systemId); } }; }
From source file:org.eclipse.winery.repository.backend.BackendUtils.java
/** * @param ref the file to read from/* ww w.j a va 2 s .c om*/ */ public static XSModel getXSModel(final RepositoryFileReference ref) { if (ref == null) { return null; } final InputStream is; try { is = Repository.INSTANCE.newInputStream(ref); } catch (IOException e) { BackendUtils.logger.debug("Could not create input stream", e); return null; } // we rely on xerces to parse the XSD // idea based on http://stackoverflow.com/a/5165177/873282 XSImplementation impl = new XSImplementationImpl(); XSLoader schemaLoader = impl.createXSLoader(null); // minimal LSInput implementation sufficient for XSLoader in Oracle's JRE7 LSInput input = new LSInput() { @Override public void setSystemId(String systemId) { } @Override public void setStringData(String stringData) { } @Override public void setPublicId(String publicId) { } @Override public void setEncoding(String encoding) { } @Override public void setCharacterStream(Reader characterStream) { } @Override public void setCertifiedText(boolean certifiedText) { } @Override public void setByteStream(InputStream byteStream) { } @Override public void setBaseURI(String baseURI) { } @Override public String getSystemId() { return null; } @Override public String getStringData() { return null; } @Override public String getPublicId() { return BackendUtils.getPathInsideRepo(ref); } @Override public String getEncoding() { return "UTF-8"; } @Override public Reader getCharacterStream() { try { return new InputStreamReader(is, "UTF-8"); } catch (UnsupportedEncodingException e) { System.out.println("exeption"); throw new IllegalStateException("UTF-8 is unkown", e); } } @Override public boolean getCertifiedText() { return false; } @Override public InputStream getByteStream() { return null; } @Override public String getBaseURI() { return null; } }; XSModel model = schemaLoader.load(input); return model; }