public static XSModel loadSchema(String data, String encoding) { if(log.isTraceEnabled()) { log.trace("loading xsd from string"); } LSInputAdaptor input = new LSInputAdaptor(data, encoding); XSImplementation impl = getXSImplementation(); XSLoader schemaLoader = impl.createXSLoader(null); setDOMErrorHandler(schemaLoader); return schemaLoader.load(input); }
/** * registers bunch of schemas located in the schemaUri folder * * @param modelsUri String; the folder containing schemas to register * @throws BagriException in case of any error */ //@Override public void registerModels(String modelsUri) throws BagriException { XSImplementation impl = (XSImplementation) new DOMXSImplementationSourceImpl().getDOMImplementation("XS-Loader LS"); XSLoader schemaLoader = impl.createXSLoader(null); java.nio.file.Path catalog = Paths.get(modelsUri); List<String> files = new ArrayList<>(); processCatalog(catalog, files); if (files.size() > 0) { StringList schemas = impl.createStringList(files.toArray(new String[files.size()])); XSModel schema = schemaLoader.loadURIList(schemas); processModel(schema); } }
public static XSModel loadSchema(String xsdURL, SchemaBindingResolver schemaResolver) { boolean trace = log.isTraceEnabled(); long start = System.currentTimeMillis(); if(trace) log.trace("loading xsd: " + xsdURL); if(xsImpl == null) { xsImpl = getXSImplementation(); } XSLoader schemaLoader = xsImpl.createXSLoader(null); if(schemaResolver != null) { setResourceResolver(schemaLoader, schemaResolver); } setDOMErrorHandler(schemaLoader); XSModel model = schemaLoader.loadURI(xsdURL); if(model == null) { throw new IllegalArgumentException("Invalid URI for schema: " + xsdURL); } if (trace) log.trace("Loaded xsd: " + xsdURL + " in " + (System.currentTimeMillis() - start) + "ms"); return model; }
DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance(); XSImplementation impl = (XSImplementation) registry.getDOMImplementation("XS-Loader"); XSLoader schemaLoader = impl.createXSLoader(null); XSModel xsModel = schemaLoader.loadURI(xsdResource.getURL().getPath()); ((XSComplexTypeDecl) xsModel.getComponents(XSTypeDefinition.COMPLEX_TYPE).itemByName(xsdName, "typeName")).getAttrGrp().getAttributeUses();
/** * registers bunch of schemas located in the schemaUri folder * * @param modelUri String; the folder containing schemas to register * @throws BagriException in case of any error */ @Override public void registerModelUri(String modelUri) throws BagriException { XSImplementation impl = new XSImplementationImpl(); XSLoader schemaLoader = impl.createXSLoader(null); XSModel schema = schemaLoader.loadURI(modelUri); processModel(schema); }
public static XSModel loadSchema(Reader reader, String encoding, SchemaBindingResolver schemaResolver) { if(log.isTraceEnabled()) { log.trace("loading xsd from Reader"); } LSInputAdaptor input = new LSInputAdaptor(reader, encoding); XSImplementation impl = getXSImplementation(); XSLoader schemaLoader = impl.createXSLoader(null); setDOMErrorHandler(schemaLoader); if(schemaResolver != null) { setResourceResolver(schemaLoader, schemaResolver); } return schemaLoader.load(input); }
public static XSModel loadSchema(InputStream is, String encoding, SchemaBindingResolver schemaResolver) { if(log.isTraceEnabled()) { log.trace("loading xsd from InputStream"); } LSInputAdaptor input = new LSInputAdaptor(is, encoding); XSImplementation impl = getXSImplementation(); XSLoader schemaLoader = impl.createXSLoader(null); setDOMErrorHandler(schemaLoader); if(schemaResolver != null) { setResourceResolver(schemaLoader, schemaResolver); } return schemaLoader.load(input); }
public XSNamedMap parseXMLSchema( URL url ) throws Exception { if( log.isLoggable( Level.FINE ) ) log.fine( "Parsing XML Schema " + url ); // Use Xerces DOM Implementation System.setProperty( DOMImplementationRegistry.PROPERTY, "org.apache.xerces.dom.DOMXSImplementationSourceImpl " ); // Get DOM Implementation Registry DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance(); // Get DOM Implementation using DOM Registry DOMImplementationLS ls = (DOMImplementationLS) registry.getDOMImplementation( "LS" ); // create input LSInput input = ls.createLSInput(); input.setCharacterStream( new InputStreamReader( url.openStream() ) ); // Get XS Implementation XSImplementation impl = (XSImplementation) registry.getDOMImplementation( "XS-Loader" ); // Load XMLSchema XSLoader schemaLoader = impl.createXSLoader( null ); XSModel schema = schemaLoader.load( input ); // Get simple type definitions XSNamedMap map = schema.getComponents( XSTypeDefinition.SIMPLE_TYPE ); return map; }
DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance(); XSImplementation impl = (XSImplementation) registry.getDOMImplementation( "XS-Loader" ); XSLoader schemaLoader = impl.createXSLoader( null );
XSLoader schemaLoader = impl.createXSLoader(null);
/** * registers bunch of node path's specified in the XML schema (XSD) * * @param model String; schema in plain text * @throws BagriException in case of any error */ @Override public void registerModel(String model) throws BagriException { XSImplementation impl = (XSImplementation) new DOMXSImplementationSourceImpl().getDOMImplementation("XS-Loader LS"); XSLoader schemaLoader = impl.createXSLoader(null); LSInput lsi = ((DOMImplementationLS) impl).createLSInput(); lsi.setStringData(model); XSModel schema = schemaLoader.load(lsi); processModel(schema); }
DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance(); XSImplementation impl = (XSImplementation) registry.getDOMImplementation("XS-Loader"); XSLoader schemaLoader = impl.createXSLoader(null); DOMConfiguration config = schemaLoader.getConfig();
void tryToParseSchemas(XmlSchemaCollection collection, DOMErrorHandler handler) throws XmlSchemaSerializerException, TransformerException { final List<DOMLSInput> inputs = new ArrayList<DOMLSInput>(); final Map<String, LSInput> resolverMap = new HashMap<String, LSInput>(); for (XmlSchema schema : collection.getXmlSchemas()) { if (XMLConstants.W3C_XML_SCHEMA_NS_URI.equals(schema.getTargetNamespace())) { continue; } Document document = new XmlSchemaSerializer().serializeSchema(schema, false)[0]; DOMLSInput input = new DOMLSInput(document, schema.getTargetNamespace()); resolverMap.put(schema.getTargetNamespace(), input); inputs.add(input); } XSLoader schemaLoader = impl.createXSLoader(null); schemaLoader.getConfig().setParameter("validate", Boolean.TRUE); schemaLoader.getConfig().setParameter("error-handler", handler); schemaLoader.getConfig().setParameter("resource-resolver", new LSResourceResolver() { public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI) { return resolverMap.get(namespaceURI); } }); schemaLoader.loadInputList(new ListLSInput(inputs)); } }
XSLoader schemaLoader = impl.createXSLoader (null);