org.apache.xerces.xs.XSLoader类的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(9.5k)|赞(0)|评价(0)|浏览(171)

本文整理了Java中org.apache.xerces.xs.XSLoader类的一些代码示例,展示了XSLoader类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XSLoader类的具体详情如下:
包路径:org.apache.xerces.xs.XSLoader
类名称:XSLoader

XSLoader介绍

[英]An interface that provides a method to load XML Schema documents. This interface uses the DOM Level 3 Core and Load and Save interfaces.
[中]提供加载XML模式文档的方法的接口。该接口使用DOM Level 3核心以及加载和保存接口。

代码示例

代码示例来源:origin: stackoverflow.com

System.setProperty(DOMImplementationRegistry.PROPERTY, "com.sun.org.apache.xerces.internal.dom.DOMXSImplementationSourceImpl");
DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance(); 
com.sun.org.apache.xerces.internal.impl.xs.XSImplementationImpl impl = (XSImplementationImpl) registry.getDOMImplementation("XS-Loader");
XSLoader schemaLoader = impl.createXSLoader(null);
XSModel model = schemaLoader.loadURI("src/test/resources/my.xsd");

代码示例来源:origin: jboss/jbossxb

private static void setResourceResolver(XSLoader schemaLoader, final SchemaBindingResolver schemaResolver)
{
 DOMConfiguration config = schemaLoader.getConfig();
 config.setParameter("resource-resolver", new LSResourceResolver()
 {
   public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI)
   {
    if (Constants.NS_XML_SCHEMA.equals(type))
    {
      String schemaLocation = systemId;
      return schemaResolver.resolveAsLSInput(namespaceURI, baseURI, schemaLocation);
    }
    return null;
   }
 }
 );
}

代码示例来源:origin: AlexanderBartash/hybris-integration-intellij-idea-plugin

XSImplementation impl = (XSImplementation) registry.getDOMImplementation("XS-Loader");
XSLoader schemaLoader = impl.createXSLoader(null);
DOMConfiguration config = schemaLoader.getConfig();
config.setParameter("http://apache.org/xml/properties/internal/entity-resolver", resolver);
XSModel model = schemaLoader.loadURI(schemaFile.getAbsolutePath());
if (model == null) {
  return null;

代码示例来源:origin: jboss/jbossxb

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

代码示例来源:origin: org.lorislab.corn/corn

xsLoader.getConfig().setParameter(Constants.DOM_VALIDATE, Boolean.TRUE);
xsModel = xsLoader.loadInputList(new LSInputListImpl(uris, uris.length));
if (xsModel == null) {
  throw new RuntimeException("Couldn't load XMLSchema from " + Arrays.asList(uris));

代码示例来源:origin: org.jboss.ws.native/jbossws-native-core

/**
* Given a list of schema locations, parse and
* provide a Xerces XSModel
*
* @param locations
* @return
*/
public XSModel parseSchema(List<String> locations)
{
 JBossXSStringList slist = new JBossXSStringList(locations);
 XSLoader xsloader = getXSLoader();
 return xsloader.loadURIList(slist);
}

代码示例来源:origin: stackoverflow.com

DOMConfiguration config = schemaLoader.getConfig();
config.setParameter("error-handler", errorHandler);
XSModel xsModel = schemaLoader.loadURI(xsdURI);

代码示例来源:origin: jboss/jbossxb

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

代码示例来源:origin: org.apache.cxf/cxf-xerces-xsd-validation

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

代码示例来源:origin: dsukhoroslov/bagri

/**
 * 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);
  }
}

代码示例来源:origin: org.jboss.ws.native/jbossws-native-core

/**
* Given a schema file, generate a schema model
* @param schemaLoc  string representation to the location of schema
* @return schema model
*/
public XSModel parseSchema(String schemaLoc)
{
 XSLoader xsloader = getXSLoader();
 XSModel xsModel = xsloader.loadURI(schemaLoc);
 if (xsModel == null)
   throw MESSAGES.cannotParseSchema(schemaLoc);
 return xsModel;
}

代码示例来源:origin: jboss/jbossxb

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

代码示例来源:origin: jboss/jbossxb

private static void setDOMErrorHandler(XSLoader schemaLoader)
{
 DOMConfiguration config = schemaLoader.getConfig();
 DOMErrorHandler errorHandler = (DOMErrorHandler)config.getParameter("error-handler");
 if (errorHandler == null)
 {
   config.setParameter("error-handler", XsdBinderTerminatingErrorHandler.newInstance());
 }
}

代码示例来源:origin: jboss/jbossxb

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

代码示例来源:origin: com.github.ansell.pellet/pellet-common

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

代码示例来源:origin: stackoverflow.com

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();

代码示例来源:origin: org.eclipse/org.eclipse.datatools.enablement.oda.xml

XSModel xsModel = xsLoader.load( input );
if ( xsModel == null )
  throw new OdaException( Messages.getString( "ui.invalidXSDFile" ) );

代码示例来源:origin: dsukhoroslov/bagri

/**
 * 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);
}

代码示例来源:origin: eclipse/winery

return Optional.ofNullable(schemaLoader.load(input));

代码示例来源:origin: deegree/deegree3

XSModel schema = schemaLoader.loadURI( inputFile.toURI().toURL().toString() );
SchemaAnalyzer analyzer = new SchemaAnalyzer( schema );

相关文章

微信公众号

最新文章

更多