Java 类org.springframework.util.xml.XmlValidationModeDetector 实例源码

项目:gemini.blueprint    文件:LocalFileSystemMavenRepository.java   
/**
 * Returns the <code>localRepository</code> settings as indicated by the
 * <code>settings.xml</code> file.
 * 
 * @return local repository as indicated by a Maven settings.xml file
 */
String getMavenSettingsLocalRepository(Resource m2Settings) {
    // no file found, return null to continue the discovery process
    if (!m2Settings.exists()) {
        return null;
       }

    try {
        DocumentLoader docLoader = new DefaultDocumentLoader();
        Document document = docLoader.loadDocument(new InputSource(m2Settings.getInputStream()), null, null,
            XmlValidationModeDetector.VALIDATION_NONE, false);

        return (DomUtils.getChildElementValueByTagName(document.getDocumentElement(), LOCAL_REPOSITORY_ELEM));
    } catch (Exception ex) {
        throw new RuntimeException(new ParserConfigurationException("error parsing resource=" + m2Settings).initCause(ex));
    }
}
项目:spring-osgi    文件:LocalFileSystemMavenRepository.java   
/**
 * Returns the <code>localRepository</code> settings as indicated by the
 * <code>settings.xml</code> file.
 * 
 * @return local repository as indicated by a Maven settings.xml file
 */
String getMavenSettingsLocalRepository(Resource m2Settings) {
    // no file found, return null to continue the discovery process
    if (!m2Settings.exists())
        return null;

    try {
        DocumentLoader docLoader = new DefaultDocumentLoader();
        Document document = docLoader.loadDocument(new InputSource(m2Settings.getInputStream()), null, null,
            XmlValidationModeDetector.VALIDATION_NONE, false);

        return (DomUtils.getChildElementValueByTagName(document.getDocumentElement(), LOCAL_REPOSITORY_ELEM));
    }
    catch (Exception ex) {
        throw (RuntimeException) new RuntimeException(new ParserConfigurationException("error parsing resource="
                + m2Settings).initCause(ex));
    }
}
项目:gemini.blueprint    文件:MavenPackagedArtifactFinder.java   
/**
 * Returns the <tt>groupId</tt> setting in a <tt>pom.xml</tt> file.
 * 
 * @return a <tt>pom.xml</tt> <tt>groupId</tt>.
 */
String getGroupIdFromPom(Resource pomXml) {
    try {
        DocumentLoader docLoader = new DefaultDocumentLoader();
        Document document = docLoader.loadDocument(new InputSource(pomXml.getInputStream()), null, null,
            XmlValidationModeDetector.VALIDATION_NONE, false);

        String groupId = DomUtils.getChildElementValueByTagName(document.getDocumentElement(), GROUP_ID_ELEM);
        // no groupId specified, try the parent definition
        if (groupId == null) {
            if (log.isTraceEnabled())
                log.trace("No groupId defined; checking for the parent definition");
            Element parent = DomUtils.getChildElementByTagName(document.getDocumentElement(), "parent");
            if (parent != null)
                return DomUtils.getChildElementValueByTagName(parent, GROUP_ID_ELEM);
        }
        else {
            return groupId;
        }
    }
    catch (Exception ex) {
        throw (RuntimeException) new RuntimeException(new ParserConfigurationException("error parsing resource="
                + pomXml).initCause(ex));
    }

    throw new IllegalArgumentException("no groupId or parent/groupId defined by resource ["
            + pomXml.getDescription() + "]");

}
项目:lams    文件:DefaultDocumentLoader.java   
/**
 * Create the {@link DocumentBuilderFactory} instance.
 * @param validationMode the type of validation: {@link XmlValidationModeDetector#VALIDATION_DTD DTD}
 * or {@link XmlValidationModeDetector#VALIDATION_XSD XSD})
 * @param namespaceAware whether the returned factory is to provide support for XML namespaces
 * @return the JAXP DocumentBuilderFactory
 * @throws ParserConfigurationException if we failed to build a proper DocumentBuilderFactory
 */
protected DocumentBuilderFactory createDocumentBuilderFactory(int validationMode, boolean namespaceAware)
        throws ParserConfigurationException {

    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    factory.setNamespaceAware(namespaceAware);

    if (validationMode != XmlValidationModeDetector.VALIDATION_NONE) {
        factory.setValidating(true);
        if (validationMode == XmlValidationModeDetector.VALIDATION_XSD) {
            // Enforce namespace aware for XSD...
            factory.setNamespaceAware(true);
            try {
                factory.setAttribute(SCHEMA_LANGUAGE_ATTRIBUTE, XSD_SCHEMA_LANGUAGE);
            }
            catch (IllegalArgumentException ex) {
                ParserConfigurationException pcex = new ParserConfigurationException(
                        "Unable to validate using XSD: Your JAXP provider [" + factory +
                        "] does not support XML Schema. Are you running on Java 1.4 with Apache Crimson? " +
                        "Upgrade to Apache Xerces (or Java 1.5) for full XSD support.");
                pcex.initCause(ex);
                throw pcex;
            }
        }
    }

    return factory;
}
项目:spring4-understanding    文件:DefaultDocumentLoader.java   
/**
 * Create the {@link DocumentBuilderFactory} instance.
 * @param validationMode the type of validation: {@link XmlValidationModeDetector#VALIDATION_DTD DTD}
 * or {@link XmlValidationModeDetector#VALIDATION_XSD XSD})
 * @param namespaceAware whether the returned factory is to provide support for XML namespaces
 * @return the JAXP DocumentBuilderFactory
 * @throws ParserConfigurationException if we failed to build a proper DocumentBuilderFactory
 */
protected DocumentBuilderFactory createDocumentBuilderFactory(int validationMode, boolean namespaceAware)
        throws ParserConfigurationException {

    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    factory.setNamespaceAware(namespaceAware);

    if (validationMode != XmlValidationModeDetector.VALIDATION_NONE) {
        factory.setValidating(true);
        if (validationMode == XmlValidationModeDetector.VALIDATION_XSD) {
            // Enforce namespace aware for XSD...
            factory.setNamespaceAware(true);
            try {
                factory.setAttribute(SCHEMA_LANGUAGE_ATTRIBUTE, XSD_SCHEMA_LANGUAGE);
            }
            catch (IllegalArgumentException ex) {
                ParserConfigurationException pcex = new ParserConfigurationException(
                        "Unable to validate using XSD: Your JAXP provider [" + factory +
                        "] does not support XML Schema. Are you running on Java 1.4 with Apache Crimson? " +
                        "Upgrade to Apache Xerces (or Java 1.5) for full XSD support.");
                pcex.initCause(ex);
                throw pcex;
            }
        }
    }

    return factory;
}
项目:spring-data-jpa-extra    文件:XmlNamedTemplateResolver.java   
@Override
public Iterator<Void> doInTemplateResource(Resource resource, final NamedTemplateCallback callback)
        throws Exception {
    InputSource inputSource = new InputSource(resource.getInputStream());
    inputSource.setEncoding(encoding);
    Document doc = documentLoader.loadDocument(inputSource, entityResolver, errorHandler,
            XmlValidationModeDetector.VALIDATION_XSD, false);
    final List<Element> sqes = DomUtils.getChildElementsByTagName(doc.getDocumentElement(), "sql");

    return new Iterator<Void>() {
        int index = 0, total = sqes.size();

        @Override
        public boolean hasNext() {
            return index < total;
        }

        @Override
        public Void next() {
            Element sqle = sqes.get(index);
            callback.process(sqle.getAttribute("name"), sqle.getTextContent());
            index++;
            return null;
        }

        @Override
        public void remove() {
            //ignore
        }
    };
}
项目:spring    文件:DefaultDocumentLoader.java   
/**
 * Create the {@link DocumentBuilderFactory} instance.
 * @param validationMode the type of validation: {@link XmlValidationModeDetector#VALIDATION_DTD DTD}
 * or {@link XmlValidationModeDetector#VALIDATION_XSD XSD})
 * @param namespaceAware whether the returned factory is to provide support for XML namespaces
 * @return the JAXP DocumentBuilderFactory
 * @throws ParserConfigurationException if we failed to build a proper DocumentBuilderFactory
 */
protected DocumentBuilderFactory createDocumentBuilderFactory(int validationMode, boolean namespaceAware)
        throws ParserConfigurationException {

    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    factory.setNamespaceAware(namespaceAware);

    if (validationMode != XmlValidationModeDetector.VALIDATION_NONE) {
        factory.setValidating(true);
        if (validationMode == XmlValidationModeDetector.VALIDATION_XSD) {
            // Enforce namespace aware for XSD...
            factory.setNamespaceAware(true);
            try {
                factory.setAttribute(SCHEMA_LANGUAGE_ATTRIBUTE, XSD_SCHEMA_LANGUAGE);
            }
            catch (IllegalArgumentException ex) {
                ParserConfigurationException pcex = new ParserConfigurationException(
                        "Unable to validate using XSD: Your JAXP provider [" + factory +
                        "] does not support XML Schema. Are you running on Java 1.4 with Apache Crimson? " +
                        "Upgrade to Apache Xerces (or Java 1.5) for full XSD support.");
                pcex.initCause(ex);
                throw pcex;
            }
        }
    }

    return factory;
}
项目:class-guard    文件:DefaultDocumentLoader.java   
/**
 * Create the {@link DocumentBuilderFactory} instance.
 * @param validationMode the type of validation: {@link XmlValidationModeDetector#VALIDATION_DTD DTD}
 * or {@link XmlValidationModeDetector#VALIDATION_XSD XSD})
 * @param namespaceAware whether the returned factory is to provide support for XML namespaces
 * @return the JAXP DocumentBuilderFactory
 * @throws ParserConfigurationException if we failed to build a proper DocumentBuilderFactory
 */
protected DocumentBuilderFactory createDocumentBuilderFactory(int validationMode, boolean namespaceAware)
        throws ParserConfigurationException {

    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    factory.setNamespaceAware(namespaceAware);

    if (validationMode != XmlValidationModeDetector.VALIDATION_NONE) {
        factory.setValidating(true);

        if (validationMode == XmlValidationModeDetector.VALIDATION_XSD) {
            // Enforce namespace aware for XSD...
            factory.setNamespaceAware(true);
            try {
                factory.setAttribute(SCHEMA_LANGUAGE_ATTRIBUTE, XSD_SCHEMA_LANGUAGE);
            }
            catch (IllegalArgumentException ex) {
                ParserConfigurationException pcex = new ParserConfigurationException(
                        "Unable to validate using XSD: Your JAXP provider [" + factory +
                        "] does not support XML Schema. Are you running on Java 1.4 with Apache Crimson? " +
                        "Upgrade to Apache Xerces (or Java 1.5) for full XSD support.");
                pcex.initCause(ex);
                throw pcex;
            }
        }
    }

    return factory;
}
项目:spring-osgi    文件:MavenPackagedArtifactFinder.java   
/**
 * Returns the <tt>groupId</tt> setting in a <tt>pom.xml</tt> file.
 * 
 * @return a <tt>pom.xml</tt> <tt>groupId</tt>.
 */
String getGroupIdFromPom(Resource pomXml) {
    try {
        DocumentLoader docLoader = new DefaultDocumentLoader();
        Document document = docLoader.loadDocument(new InputSource(pomXml.getInputStream()), null, null,
            XmlValidationModeDetector.VALIDATION_NONE, false);

        String groupId = DomUtils.getChildElementValueByTagName(document.getDocumentElement(), GROUP_ID_ELEM);
        // no groupId specified, try the parent definition
        if (groupId == null) {
            if (log.isTraceEnabled())
                log.trace("No groupId defined; checking for the parent definition");
            Element parent = DomUtils.getChildElementByTagName(document.getDocumentElement(), "parent");
            if (parent != null)
                return DomUtils.getChildElementValueByTagName(parent, GROUP_ID_ELEM);
        }
        else {
            return groupId;
        }
    }
    catch (Exception ex) {
        throw (RuntimeException) new RuntimeException(new ParserConfigurationException("error parsing resource="
                + pomXml).initCause(ex));
    }

    throw new IllegalArgumentException("no groupId or parent/groupId defined by resource ["
            + pomXml.getDescription() + "]");

}
项目:gen-sbconfigurator    文件:DefaultXsdValidator.java   
@Override
public void validate(final InputStream xmlStream)
        throws ValidationFailedException {

    try {
        if (xsdSchema == null) {

            // get the source
            final InputSource inputSource = new InputSource(xmlStream);
            final EntityResolver resolver = new DelegatingEntityResolver(getClass()
                    .getClassLoader());

            // use the DocumentLoader for validation, the DocumentLoader uses the
            // defined XSD of the document, it tries to use the one distributed via
            // the jar, otherwise it looks up the URL
            documentLoader.loadDocument(inputSource, resolver, errorHandler,
                    XmlValidationModeDetector.VALIDATION_XSD, true);
        } else {

            // get the sources
            final Source xmlSource = new StreamSource(xmlStream);
            final Validator validator = xsdSchema.newValidator();

            // validate the document using the default Validator
            validator.validate(xmlSource);
        }
    } catch (final Exception e) {
        throw new ValidationFailedException("The loaded or the validation failed.", e);
    }
}
项目:gen-sbconfigurator    文件:DefaultConfiguration.java   
/**
 * Loads the <code>Document</code> from the specified
 * {@link org.springframework.core.io.Resource Resource}.
 * 
 * @param res
 *            the resource to load the {@link Document} from
 * 
 * @return the <code>Document</code> specified by the passed
 *         <code>Resource</code>
 */
protected Document loadDocument(
        final org.springframework.core.io.Resource res) {

    // get the resource as encoded one
    final EncodedResource encRes = new EncodedResource(res);

    // read the XML document and replace the placeholders
    InputStream inputStream = null;
    InputSource inputSource = null;
    Document doc = null;
    try {
        inputStream = encRes.getResource().getInputStream();
        inputSource = new InputSource(inputStream);
        if (encRes.getEncoding() != null) {
            inputSource.setEncoding(encRes.getEncoding());
        }

        // get the Document
        final DefaultDocumentLoader loader = new DefaultDocumentLoader();
        doc = loader.loadDocument(inputSource, null, null,
                XmlValidationModeDetector.VALIDATION_NONE, false);
    } catch (final Exception e) {

        // log it
        if (LOG.isWarnEnabled()) {
            LOG.warn(
                    "Unable to parse the passed ByteArrayResource '"
                            + res.getDescription() + "'.", e);
        }

        throw new IllegalArgumentException(
                "The passed resource contains an invalid document.", e);
    } finally {

        // close the streams
        Streams.closeIO(inputSource);
        Streams.closeIO(inputStream);
    }

    return doc;
}