List of usage examples for javax.xml XMLConstants W3C_XML_SCHEMA_NS_URI
String W3C_XML_SCHEMA_NS_URI
To view the source code for javax.xml XMLConstants W3C_XML_SCHEMA_NS_URI.
Click Source Link
From source file:se.mithlond.services.shared.test.entity.PlainJaxbContextRule.java
/** * Acquires a JAXB Schema from the provided JAXBContext. * * @param ctx The context for which am XSD should be constructed. * @return A tuple holding the constructed XSD from the provided JAXBContext, and * the LSResourceResolver synthesized during the way. * @throws NullPointerException if ctx was {@code null}. * @throws IllegalArgumentException if a JAXB-related exception occurred while extracting the schema. *//*from www . j a v a 2 s .c o m*/ public static Tuple<Schema, LSResourceResolver> generateTransientXSD(final JAXBContext ctx) throws NullPointerException, IllegalArgumentException { // Check sanity org.apache.commons.lang3.Validate.notNull(ctx, "Cannot handle null ctx argument."); final SortedMap<String, ByteArrayOutputStream> namespace2SchemaMap = new TreeMap<>(); try { ctx.generateSchema(new SchemaOutputResolver() { /** * {@inheritDoc} */ @Override public Result createOutput(final String namespaceUri, final String suggestedFileName) throws IOException { // The types should really be annotated with @XmlType(namespace = "... something ...") // to avoid using the default ("") namespace. if (namespaceUri.isEmpty()) { log.warn("Received empty namespaceUri while resolving a generated schema. " + "Did you forget to add a @XmlType(namespace = \"... something ...\") annotation " + "to your class?"); } // Create the result ByteArrayOutputStream final ByteArrayOutputStream out = new ByteArrayOutputStream(); final StreamResult toReturn = new StreamResult(out); toReturn.setSystemId(""); // Map the namespaceUri to the schemaResult. namespace2SchemaMap.put(namespaceUri, out); // All done. return toReturn; } }); } catch (IOException e) { throw new IllegalArgumentException("Could not acquire Schema snippets.", e); } // Convert to an array of StreamSource. final MappedSchemaResourceResolver resourceResolver = new MappedSchemaResourceResolver(); final StreamSource[] schemaSources = new StreamSource[namespace2SchemaMap.size()]; int counter = 0; for (Map.Entry<String, ByteArrayOutputStream> current : namespace2SchemaMap.entrySet()) { final byte[] schemaSnippetAsBytes = current.getValue().toByteArray(); resourceResolver.addNamespace2SchemaEntry(current.getKey(), new String(schemaSnippetAsBytes)); if (log.isDebugEnabled()) { log.info("Generated schema [" + (counter + 1) + "/" + schemaSources.length + "]:\n " + new String(schemaSnippetAsBytes)); } // Copy the schema source to the schemaSources array. schemaSources[counter] = new StreamSource(new ByteArrayInputStream(schemaSnippetAsBytes), ""); // Increase the counter counter++; } try { // All done. final SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); schemaFactory.setResourceResolver(resourceResolver); final Schema transientSchema = schemaFactory.newSchema(schemaSources); // All done. return new Tuple<>(transientSchema, resourceResolver); } catch (final SAXException e) { throw new IllegalArgumentException("Could not create Schema from snippets.", e); } }
From source file:se.skl.skltpservices.npoadapter.mapper.AbstractMapper.java
protected void initialiseValidator(String... xsds) { List<Source> schemaFiles = new ArrayList<Source>(); for (String xsd : xsds) { schemaFiles.add(new StreamSource(getClass().getResourceAsStream(xsd))); }/*w w w.ja v a 2 s . c om*/ // Note - SchemaFactory is not threadsafe SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); try { // Note - Schema is threadsafe schema = factory.newSchema(schemaFiles.toArray(new StreamSource[schemaFiles.size()])); } catch (SAXException s) { throw new RuntimeException( new InstantiationException("Failed to instantiate schema: " + s.getMessage())); } }
From source file:test.common.TestBase.java
/** * @throws IOException//w w w . ja v a 2 s . c om * @throws SAXException * @throws ParserConfigurationException */ private static void initializeSchemas() throws IOException, SAXException, ParserConfigurationException { File[] schemaFiles = ResourceUtil.getFilenamesInDirectory("xsd/", TestBase.class.getClassLoader()); PrintWriter pwriter = new PrintWriter("target/schemas.txt"); logger.debug("Number of schema files: " + schemaFiles.length); pwriter.println("Number of schema files: " + schemaFiles.length); schemas = new HashMap<String, Schema>(); SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); // sf.setResourceResolver(new ImportResolver()); for (File file : schemaFiles) { logger.debug("Schema file: " + file.getCanonicalPath()); pwriter.println("Schema file: " + file.getCanonicalPath()); try { //TODO remove this hack when xsd files are cleared if (file.getCanonicalPath().contains("rest")) { logger.debug("Skipping schema file: " + file.getCanonicalPath()); continue; } if (file.getCanonicalPath().endsWith("srw-types.xsd") && !file.getCanonicalPath().contains("0.8")) { logger.debug("Skipping schema file: " + file.getCanonicalPath()); continue; } // end TODO Schema schema = sf.newSchema(file); SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser parser = factory.newSAXParser(); DefaultHandler handler = new DefaultHandler() { private String nameSpace = null; private boolean found = false; public void startElement(String uri, String localName, String qName, Attributes attributes) { if (!found) { String tagName = null; int ix = qName.indexOf(":"); if (ix >= 0) { tagName = qName.substring(ix + 1); } else { tagName = qName; } if ("schema".equals(tagName)) { nameSpace = attributes.getValue("targetNamespace"); found = true; } } } public String toString() { return nameSpace; } }; parser.parse(file, handler); if (handler.toString() != null) { Schema s = schemas.get(handler.toString()); if (s != null) { logger.debug("overwriting key '" + handler.toString() + "'"); } schemas.put(handler.toString(), schema); logger.debug("Successfully added: " + file.getCanonicalPath() + " key: '" + handler.toString() + "' value: " + schema.toString() + " " + schema.newValidator()); } else { logger.warn("Error reading xml schema: " + file); } } catch (Exception e) { logger.warn("Invalid xml schema " + file + " , cause " + e.getLocalizedMessage()); logger.debug("Stacktrace: ", e); } } logger.info("XSD Schemas found: " + schemas); pwriter.close(); }
From source file:test.framework.TestBase.java
/** * Gets the <code>Schema</code> object for the provided <code>File</code>. * // w w w .j av a2 s . c o m * @param schemaStream The file containing the schema. * @return The <code>Schema</code> object. * @throws Exception If anything fails. */ private static Schema getSchema(final String schemaFileName) throws Exception { if (schemaFileName == null) { throw new Exception("No schema input file name provided"); } File schemaFile = new File(schemaFileName); SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); Schema theSchema = sf.newSchema(schemaFile); return theSchema; }
From source file:voldemort.xml.ClusterMapper.java
public ClusterMapper() { try {/*from w w w.j av a 2 s . c o m*/ SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); Source source = new StreamSource(ClusterMapper.class.getResourceAsStream("cluster.xsd")); this.schema = factory.newSchema(source); } catch (SAXException e) { throw new MappingException(e); } }
From source file:voldemort.xml.StoreDefinitionsMapper.java
public StoreDefinitionsMapper() { try {//w ww . j a v a2 s. c o m SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); Source source = new StreamSource(StoreDefinitionsMapper.class.getResourceAsStream("stores.xsd")); this.schema = factory.newSchema(source); } catch (SAXException e) { throw new MappingException(e); } }