Example usage for org.w3c.dom.ls LSInput LSInput

List of usage examples for org.w3c.dom.ls LSInput LSInput

Introduction

In this page you can find the example usage for org.w3c.dom.ls LSInput LSInput.

Prototype

LSInput

Source Link

Usage

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;
}