List of usage examples for javax.xml.validation Schema newValidator
public abstract Validator newValidator();
From source file:nl.armatiek.xslweb.web.servlet.XSLWebServlet.java
private void executeRequest(WebApp webApp, HttpServletRequest req, HttpServletResponse resp, OutputStream respOs) throws Exception { boolean developmentMode = webApp.getDevelopmentMode(); String requestXML = (String) req.getAttribute(Definitions.ATTRNAME_REQUESTXML); PipelineHandler pipelineHandler = (PipelineHandler) req.getAttribute(Definitions.ATTRNAME_PIPELINEHANDLER); ErrorListener errorListener = new TransformationErrorListener(resp, developmentMode); MessageWarner messageWarner = new MessageWarner(); List<PipelineStep> steps = pipelineHandler.getPipelineSteps(); if (steps == null || steps.isEmpty()) { resp.sendError(HttpServletResponse.SC_NOT_FOUND, "Resource not found"); return;/*from w w w . j av a 2 s .c o m*/ } OutputStream os = (developmentMode) ? new ByteArrayOutputStream() : respOs; Properties outputProperties = getOutputProperties(webApp, errorListener, steps); Map<QName, XdmValue> baseStylesheetParameters = XSLWebUtils.getStylesheetParameters(webApp, req, resp, homeDir); addResponseTransformationStep(steps); Map<QName, XdmValue> extraStylesheetParameters = null; Source source = new StreamSource(new StringReader(requestXML)); Destination destination = null; for (int i = 0; i < steps.size(); i++) { PipelineStep step = steps.get(i); if (step instanceof SerializerStep) { break; } PipelineStep nextStep = (i < steps.size() - 1) ? steps.get(i + 1) : null; if (step instanceof TransformerStep) { String xslPath = null; if (step instanceof SystemTransformerStep) { xslPath = new File(homeDir, "common/xsl/" + ((TransformerStep) step).getXslPath()) .getAbsolutePath(); } else { xslPath = ((TransformerStep) step).getXslPath(); } XsltExecutable templates = webApp.getTemplates(xslPath, errorListener); Xslt30Transformer transformer = templates.load30(); transformer.getUnderlyingController().setMessageEmitter(messageWarner); transformer.setErrorListener(errorListener); Map<QName, XdmValue> stylesheetParameters = new HashMap<QName, XdmValue>(); stylesheetParameters.putAll(baseStylesheetParameters); XSLWebUtils.addStylesheetParameters(stylesheetParameters, ((TransformerStep) step).getParameters()); if (extraStylesheetParameters != null) { stylesheetParameters.putAll(extraStylesheetParameters); extraStylesheetParameters.clear(); } transformer.setStylesheetParameters(stylesheetParameters); destination = getDestination(webApp, req, resp, os, outputProperties, step, nextStep); transformer.applyTemplates(source, destination); } else if (step instanceof SchemaValidatorStep) { SchemaValidatorStep svStep = (SchemaValidatorStep) step; List<String> schemaPaths = svStep.getSchemaPaths(); Schema schema = webApp.getSchema(schemaPaths, errorListener); source = makeNodeInfoSource(source, webApp, errorListener); destination = null; Serializer serializer = webApp.getProcessor().newSerializer(); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); serializer.setOutputStream(outputStream); serializer.setOutputProperty(Property.INDENT, "yes"); serializer.serializeNode(new XdmNode((NodeInfo) source)); Source validationSource = new StreamSource(new ByteArrayInputStream(outputStream.toByteArray())); Validator validator = schema.newValidator(); ValidatorErrorHandler errorHandler = new ValidatorErrorHandler( "Step: " + ((step.getName() != null) ? step.getName() : "noname")); validator.setErrorHandler(errorHandler); Properties properties = svStep.getProperties(); if (properties != null) { @SuppressWarnings("rawtypes") Enumeration names = properties.propertyNames(); while (names.hasMoreElements()) { String name = (String) names.nextElement(); validator.setProperty(name, properties.getProperty(name)); } } Properties features = svStep.getProperties(); if (features != null) { @SuppressWarnings("rawtypes") Enumeration names = features.propertyNames(); while (names.hasMoreElements()) { String name = (String) names.nextElement(); validator.setProperty(name, features.getProperty(name)); } } validator.validate(validationSource); Source resultsSource = errorHandler.getValidationResults(); if (resultsSource != null) { NodeInfo resultsNodeInfo = webApp.getConfiguration().buildDocumentTree(resultsSource) .getRootNode(); String xslParamName = svStep.getXslParamName(); if (xslParamName != null) { if (extraStylesheetParameters == null) { extraStylesheetParameters = new HashMap<QName, XdmValue>(); } extraStylesheetParameters.put(new QName(svStep.getXslParamNamespace(), xslParamName), new XdmNode(resultsNodeInfo)); } } } else if (step instanceof SchematronValidatorStep) { SchematronValidatorStep svStep = (SchematronValidatorStep) step; source = makeNodeInfoSource(source, webApp, errorListener); destination = null; /* Execute schematron validation */ XsltExecutable templates = webApp.getSchematron(svStep.getSchematronPath(), svStep.getPhase(), errorListener); Xslt30Transformer transformer = templates.load30(); transformer.getUnderlyingController().setMessageEmitter(messageWarner); transformer.setErrorListener(errorListener); XdmDestination svrlDest = new XdmDestination(); transformer.applyTemplates(source, svrlDest); String xslParamName = svStep.getXslParamName(); if (xslParamName != null) { if (extraStylesheetParameters == null) { extraStylesheetParameters = new HashMap<QName, XdmValue>(); } extraStylesheetParameters.put(new QName(svStep.getXslParamNamespace(), xslParamName), svrlDest.getXdmNode()); } } else if (step instanceof ResponseStep) { source = new StreamSource(new StringReader(((ResponseStep) step).getResponse())); continue; } if (destination instanceof SourceDestination) { /* Set source for next pipeline step: */ source = ((SourceDestination) destination).asSource(); } } if (developmentMode) { byte[] body = ((ByteArrayOutputStream) os).toByteArray(); IOUtils.copy(new ByteArrayInputStream(body), respOs); } }
From source file:nl.b3p.viewer.admin.stripes.GeoServiceActionBean.java
public Resolution validateSldXml() { Resolution jsp = new ForwardResolution(JSP_EDIT_SLD); Document sldXmlDoc = null;/*from w w w.ja va 2 s .c o m*/ String stage = "Fout bij parsen XML document"; try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setNamespaceAware(true); DocumentBuilder db = dbf.newDocumentBuilder(); sldXmlDoc = db.parse(new ByteArrayInputStream(sld.getSldBody().getBytes("UTF-8"))); stage = "Fout bij controleren SLD"; Element root = sldXmlDoc.getDocumentElement(); if (!"StyledLayerDescriptor".equals(root.getLocalName())) { throw new Exception("Root element moet StyledLayerDescriptor zijn"); } String version = root.getAttribute("version"); if (version == null || !("1.0.0".equals(version) || "1.1.0".equals(version))) { throw new Exception("Geen of ongeldige SLD versie!"); } SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); Schema s = sf .newSchema(new URL("http://schemas.opengis.net/sld/" + version + "/StyledLayerDescriptor.xsd")); s.newValidator().validate(new DOMSource(sldXmlDoc)); } catch (Exception e) { String extra = ""; if (e instanceof SAXParseException) { SAXParseException spe = (SAXParseException) e; if (spe.getLineNumber() != -1) { extra = " (regel " + spe.getLineNumber(); if (spe.getColumnNumber() != -1) { extra += ", kolom " + spe.getColumnNumber(); } extra += ")"; } } getContext().getValidationErrors() .addGlobalError(new SimpleError("{2}: {3}{4}", stage, ExceptionUtils.getMessage(e), extra)); return jsp; } getContext().getMessages().add(new SimpleMessage("SLD is valide!")); return jsp; }
From source file:org.activiti.bpmn.converter.BpmnXMLConverter.java
public void validateModel(InputStreamProvider inputStreamProvider) throws Exception { Schema schema = createSchema(); Validator validator = schema.newValidator(); validator.validate(new StreamSource(inputStreamProvider.getInputStream())); }
From source file:org.activiti.bpmn.converter.BpmnXMLConverter.java
public void validateModel(XMLStreamReader xmlStreamReader) throws Exception { Schema schema = createSchema(); Validator validator = schema.newValidator(); validator.validate(new StAXSource(xmlStreamReader)); }
From source file:org.apache.maven.plugin.changes.schema.DefaultChangesSchemaValidator.java
public XmlValidationHandler validateXmlWithSchema(File file, String schemaVersion, boolean failOnValidationError) throws SchemaValidatorException { Reader reader = null;// w w w .j a v a2 s . c o m try { String schemaPath = CHANGES_SCHEMA_PATH + "changes-" + schemaVersion + ".xsd"; Schema schema = getSchema(schemaPath); Validator validator = schema.newValidator(); XmlValidationHandler baseHandler = new XmlValidationHandler(failOnValidationError); validator.setErrorHandler(baseHandler); reader = new XmlStreamReader(file); validator.validate(new StreamSource(reader)); return baseHandler; } catch (IOException e) { throw new SchemaValidatorException("IOException : " + e.getMessage(), e); } catch (SAXException e) { throw new SchemaValidatorException("SAXException : " + e.getMessage(), e); } catch (Exception e) { throw new SchemaValidatorException("Exception : " + e.getMessage(), e); } finally { IOUtil.close(reader); } }
From source file:org.apache.oozie.cli.OozieCLI.java
/** * Validate on client-side. This is only for backward compatibility. Need to removed after <tt>4.2.0</tt> higher version. * @param commandLine/* w ww. j a v a 2s. com*/ * @throws OozieCLIException */ @Deprecated @VisibleForTesting void validateCommandV41(CommandLine commandLine) throws OozieCLIException { String[] args = commandLine.getArgs(); if (args.length != 1) { throw new OozieCLIException("One file must be specified"); } File file = new File(args[0]); if (file.exists()) { try { List<StreamSource> sources = new ArrayList<StreamSource>(); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("oozie-workflow-0.1.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("shell-action-0.1.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("shell-action-0.2.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("shell-action-0.3.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("email-action-0.1.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("email-action-0.2.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("distcp-action-0.1.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("distcp-action-0.2.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("oozie-workflow-0.2.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("oozie-workflow-0.2.5.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("oozie-workflow-0.3.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("oozie-workflow-0.4.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("oozie-workflow-0.4.5.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("oozie-workflow-0.5.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("oozie-coordinator-0.1.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("oozie-coordinator-0.2.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("oozie-coordinator-0.3.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("oozie-coordinator-0.4.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("oozie-bundle-0.1.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("oozie-bundle-0.2.xsd"))); sources.add(new StreamSource( Thread.currentThread().getContextClassLoader().getResourceAsStream("oozie-sla-0.1.xsd"))); sources.add(new StreamSource( Thread.currentThread().getContextClassLoader().getResourceAsStream("oozie-sla-0.2.xsd"))); sources.add(new StreamSource( Thread.currentThread().getContextClassLoader().getResourceAsStream("hive-action-0.2.xsd"))); sources.add(new StreamSource( Thread.currentThread().getContextClassLoader().getResourceAsStream("hive-action-0.3.xsd"))); sources.add(new StreamSource( Thread.currentThread().getContextClassLoader().getResourceAsStream("hive-action-0.4.xsd"))); sources.add(new StreamSource( Thread.currentThread().getContextClassLoader().getResourceAsStream("hive-action-0.5.xsd"))); sources.add(new StreamSource( Thread.currentThread().getContextClassLoader().getResourceAsStream("hive-action-0.6.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("sqoop-action-0.2.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("sqoop-action-0.3.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("sqoop-action-0.4.xsd"))); sources.add(new StreamSource( Thread.currentThread().getContextClassLoader().getResourceAsStream("ssh-action-0.1.xsd"))); sources.add(new StreamSource( Thread.currentThread().getContextClassLoader().getResourceAsStream("ssh-action-0.2.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("hive2-action-0.1.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("hive2-action-0.2.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("spark-action-0.1.xsd"))); sources.add(new StreamSource(Thread.currentThread().getContextClassLoader() .getResourceAsStream("spark-action-0.2.xsd"))); SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); Schema schema = factory.newSchema(sources.toArray(new StreamSource[sources.size()])); Validator validator = schema.newValidator(); validator.validate(new StreamSource(new FileReader(file))); System.out.println("Valid workflow-app"); } catch (Exception ex) { throw new OozieCLIException("Invalid app definition, " + ex.toString(), ex); } } else { throw new OozieCLIException("File does not exists"); } }
From source file:org.apache.servicemix.jbi.deployer.descriptor.DescriptorFactory.java
/** * Build a jbi descriptor from the specified binary data. * The descriptor is validated against the schema, but no * semantic validation is performed./*from w ww .ja v a 2 s .co m*/ * * @param bytes hold the content of the JBI descriptor xml document * @return the Descriptor object */ public static Descriptor buildDescriptor(final byte[] bytes) { try { // Validate descriptor SchemaFactory schemaFactory = SchemaFactory.newInstance(XSD_SCHEMA_LANGUAGE); Schema schema = schemaFactory.newSchema(DescriptorFactory.class.getResource(JBI_DESCRIPTOR_XSD)); Validator validator = schema.newValidator(); validator.setErrorHandler(new ErrorHandler() { public void warning(SAXParseException exception) throws SAXException { //log.debug("Validation warning on " + url + ": " + exception); } public void error(SAXParseException exception) throws SAXException { //log.info("Validation error on " + url + ": " + exception); } public void fatalError(SAXParseException exception) throws SAXException { throw exception; } }); validator.validate(new StreamSource(new ByteArrayInputStream(bytes))); // Parse descriptor DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); DocumentBuilder docBuilder = factory.newDocumentBuilder(); Document doc = docBuilder.parse(new ByteArrayInputStream(bytes)); Element jbi = doc.getDocumentElement(); Descriptor desc = new Descriptor(); desc.setVersion(Double.parseDouble(getAttribute(jbi, VERSION))); Element child = getFirstChildElement(jbi); if (COMPONENT.equals(child.getLocalName())) { ComponentDesc component = new ComponentDesc(); component.setType(child.getAttribute(TYPE)); component.setComponentClassLoaderDelegation(getAttribute(child, COMPONENT_CLASS_LOADER_DELEGATION)); component.setBootstrapClassLoaderDelegation(getAttribute(child, BOOTSTRAP_CLASS_LOADER_DELEGATION)); List<SharedLibraryList> sls = new ArrayList<SharedLibraryList>(); DocumentFragment ext = null; for (Element e = getFirstChildElement(child); e != null; e = getNextSiblingElement(e)) { if (IDENTIFICATION.equals(e.getLocalName())) { component.setIdentification(readIdentification(e)); } else if (COMPONENT_CLASS_NAME.equals(e.getLocalName())) { component.setComponentClassName(getText(e)); component.setDescription(getAttribute(e, DESCRIPTION)); } else if (COMPONENT_CLASS_PATH.equals(e.getLocalName())) { ClassPath componentClassPath = new ClassPath(); ArrayList<String> l = new ArrayList<String>(); for (Element e2 = getFirstChildElement(e); e2 != null; e2 = getNextSiblingElement(e2)) { if (PATH_ELEMENT.equals(e2.getLocalName())) { l.add(getText(e2)); } } componentClassPath.setPathList(l); component.setComponentClassPath(componentClassPath); } else if (BOOTSTRAP_CLASS_NAME.equals(e.getLocalName())) { component.setBootstrapClassName(getText(e)); } else if (BOOTSTRAP_CLASS_PATH.equals(e.getLocalName())) { ClassPath bootstrapClassPath = new ClassPath(); ArrayList<String> l = new ArrayList<String>(); for (Element e2 = getFirstChildElement(e); e2 != null; e2 = getNextSiblingElement(e2)) { if (PATH_ELEMENT.equals(e2.getLocalName())) { l.add(getText(e2)); } } bootstrapClassPath.setPathList(l); component.setBootstrapClassPath(bootstrapClassPath); } else if (SHARED_LIBRARY.equals(e.getLocalName())) { SharedLibraryList sl = new SharedLibraryList(); sl.setName(getText(e)); sl.setVersion(getAttribute(e, VERSION)); sls.add(sl); } else { if (ext == null) { ext = doc.createDocumentFragment(); } ext.appendChild(e); } } component.setSharedLibraries(sls.toArray(new SharedLibraryList[sls.size()])); if (ext != null) { InstallationDescriptorExtension descriptorExtension = new InstallationDescriptorExtension(); descriptorExtension.setDescriptorExtension(ext); component.setDescriptorExtension(descriptorExtension); } desc.setComponent(component); } else if (SHARED_LIBRARY.equals(child.getLocalName())) { SharedLibraryDesc sharedLibrary = new SharedLibraryDesc(); sharedLibrary.setClassLoaderDelegation(getAttribute(child, CLASS_LOADER_DELEGATION)); sharedLibrary.setVersion(getAttribute(child, VERSION)); for (Element e = getFirstChildElement(child); e != null; e = getNextSiblingElement(e)) { if (IDENTIFICATION.equals(e.getLocalName())) { sharedLibrary.setIdentification(readIdentification(e)); } else if (SHARED_LIBRARY_CLASS_PATH.equals(e.getLocalName())) { ClassPath sharedLibraryClassPath = new ClassPath(); ArrayList<String> l = new ArrayList<String>(); for (Element e2 = getFirstChildElement(e); e2 != null; e2 = getNextSiblingElement(e2)) { if (PATH_ELEMENT.equals(e2.getLocalName())) { l.add(getText(e2)); } } sharedLibraryClassPath.setPathList(l); sharedLibrary.setSharedLibraryClassPath(sharedLibraryClassPath); } } desc.setSharedLibrary(sharedLibrary); } else if (SERVICE_ASSEMBLY.equals(child.getLocalName())) { ServiceAssemblyDesc serviceAssembly = new ServiceAssemblyDesc(); ArrayList<ServiceUnitDesc> sus = new ArrayList<ServiceUnitDesc>(); for (Element e = getFirstChildElement(child); e != null; e = getNextSiblingElement(e)) { if (IDENTIFICATION.equals(e.getLocalName())) { serviceAssembly.setIdentification(readIdentification(e)); } else if (SERVICE_UNIT.equals(e.getLocalName())) { ServiceUnitDesc su = new ServiceUnitDesc(); for (Element e2 = getFirstChildElement(e); e2 != null; e2 = getNextSiblingElement(e2)) { if (IDENTIFICATION.equals(e2.getLocalName())) { su.setIdentification(readIdentification(e2)); } else if (TARGET.equals(e2.getLocalName())) { Target target = new Target(); for (Element e3 = getFirstChildElement(e2); e3 != null; e3 = getNextSiblingElement( e3)) { if (ARTIFACTS_ZIP.equals(e3.getLocalName())) { target.setArtifactsZip(getText(e3)); } else if (COMPONENT_NAME.equals(e3.getLocalName())) { target.setComponentName(getText(e3)); } } su.setTarget(target); } } sus.add(su); } else if (CONNECTIONS.equals(e.getLocalName())) { Connections connections = new Connections(); ArrayList<Connection> cns = new ArrayList<Connection>(); for (Element e2 = getFirstChildElement(e); e2 != null; e2 = getNextSiblingElement(e2)) { if (CONNECTION.equals(e2.getLocalName())) { Connection cn = new Connection(); for (Element e3 = getFirstChildElement(e2); e3 != null; e3 = getNextSiblingElement( e3)) { if (CONSUMER.equals(e3.getLocalName())) { Consumer consumer = new Consumer(); consumer.setInterfaceName(readAttributeQName(e3, INTERFACE_NAME)); consumer.setServiceName(readAttributeQName(e3, SERVICE_NAME)); consumer.setEndpointName(getAttribute(e3, ENDPOINT_NAME)); cn.setConsumer(consumer); } else if (PROVIDER.equals(e3.getLocalName())) { Provider provider = new Provider(); provider.setServiceName(readAttributeQName(e3, SERVICE_NAME)); provider.setEndpointName(getAttribute(e3, ENDPOINT_NAME)); cn.setProvider(provider); } } cns.add(cn); } } connections.setConnections(cns.toArray(new Connection[cns.size()])); serviceAssembly.setConnections(connections); } } serviceAssembly.setServiceUnits(sus.toArray(new ServiceUnitDesc[sus.size()])); desc.setServiceAssembly(serviceAssembly); } else if (SERVICES.equals(child.getLocalName())) { Services services = new Services(); services.setBindingComponent( Boolean.valueOf(getAttribute(child, BINDING_COMPONENT)).booleanValue()); ArrayList<Provides> provides = new ArrayList<Provides>(); ArrayList<Consumes> consumes = new ArrayList<Consumes>(); for (Element e = getFirstChildElement(child); e != null; e = getNextSiblingElement(e)) { if (PROVIDES.equals(e.getLocalName())) { Provides p = new Provides(); p.setInterfaceName(readAttributeQName(e, INTERFACE_NAME)); p.setServiceName(readAttributeQName(e, SERVICE_NAME)); p.setEndpointName(getAttribute(e, ENDPOINT_NAME)); provides.add(p); } else if (CONSUMES.equals(e.getLocalName())) { Consumes c = new Consumes(); c.setInterfaceName(readAttributeQName(e, INTERFACE_NAME)); c.setServiceName(readAttributeQName(e, SERVICE_NAME)); c.setEndpointName(getAttribute(e, ENDPOINT_NAME)); c.setLinkType(getAttribute(e, LINK_TYPE)); consumes.add(c); } } services.setProvides(provides.toArray(new Provides[provides.size()])); services.setConsumes(consumes.toArray(new Consumes[consumes.size()])); desc.setServices(services); } checkDescriptor(desc); return desc; } catch (Exception e) { throw new RuntimeException(e); } }
From source file:org.apache.shindig.social.opensocial.util.XSDValidator.java
/** * Validate a xml input stream against a supplied schema. * * @param xml/*www . j a va2 s .c o m*/ * a stream containing the xml * @param schema * a stream containing the schema * @return a list of errors or warnings, a 0 lenght string if none. */ public static String validate(InputStream xml, InputStream schema) { SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setNamespaceAware(true); factory.setValidating(true); final StringBuilder errors = new StringBuilder(); try { SchemaFactory schemaFactory = SchemaFactory.newInstance(W3C_XML_SCHEMA); Schema s = schemaFactory.newSchema(new StreamSource(schema)); Validator validator = s.newValidator(); final LSResourceResolver lsr = validator.getResourceResolver(); validator.setResourceResolver(new LSResourceResolver() { public LSInput resolveResource(String arg0, String arg1, String arg2, String arg3, String arg4) { log.info("resolveResource(" + arg0 + ',' + arg1 + ',' + arg2 + ',' + arg3 + ',' + arg4 + ')'); return lsr.resolveResource(arg0, arg1, arg2, arg3, arg4); } }); validator.validate(new StreamSource(xml)); } catch (IOException e) { } catch (SAXException e) { errors.append(e.getMessage()).append('\n'); } return errors.toString(); }
From source file:org.apache.stratos.adc.mgt.utils.PolicyHolder.java
public void validate(final OMElement omElement, final File schemaFile) throws SAXException, IOException { Element sourceElement;// w w w .j av a 2s.c o m // if the OMElement is created using DOM implementation use it if (omElement instanceof ElementImpl) { sourceElement = (Element) omElement; } else { // else convert from llom to dom sourceElement = getDOMElement(omElement); } // Create a SchemaFactory capable of understanding WXS schemas. // Load a WXS schema, represented by a Schema instance. SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); Source source = new StreamSource(schemaFile); // Create a Validator object, which can be used to validate // an instance document. Schema schema = factory.newSchema(source); Validator validator = schema.newValidator(); // Validate the DOM tree. validator.validate(new DOMSource(sourceElement)); }
From source file:org.apache.stratos.cloud.controller.axiom.AxiomXpathParser.java
public void validate(final OMElement omElement, final File schemaFile) throws Exception { Element sourceElement;/*from w w w . jav a 2s. co m*/ // if the OMElement is created using DOM implementation use it if (omElement instanceof ElementImpl) { sourceElement = (Element) omElement; } else { // else convert from llom to dom sourceElement = getDOMElement(omElement); } // Create a SchemaFactory capable of understanding WXS schemas. // Load a WXS schema, represented by a Schema instance. SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); Source source = new StreamSource(schemaFile); // Create a Validator object, which can be used to validate // an instance document. Schema schema = factory.newSchema(source); Validator validator = schema.newValidator(); // Validate the DOM tree. validator.validate(new DOMSource(sourceElement)); }