gpt4 book ai didi

org.milyn.xml.XsdDOMValidator类的使用及代码示例

转载 作者:知者 更新时间:2024-03-20 15:03:40 26 4
gpt4 key购买 nike

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

XsdDOMValidator介绍

[英]XSD DOM Validator.

Iterates through the document (DOM) gathering the namespaces. It validates based on the convention that the gathered namespace XSDs are provided on the classpath. It uses the namespace path (URI.getPath()), prepending it with "/META-INF" to perform a classpath resource lookup for the XSD i.e. the XSDs must be provided on the classpath below the "META-INF" package.
[中]XSD DOM验证程序。
遍历文档(DOM),收集名称空间。它根据约定验证收集的名称空间XSD是否在类路径上提供。它使用名称空间路径(URI.getPath()),在其前面加“/META-INF”来执行XSD的类路径资源查找,即XSD必须在“META-INF”包下面的类路径上提供。

代码示例

代码示例来源:origin: smooks/smooks

private Edimap digestEDIConfig(Document configDoc) throws SAXException, EDIConfigurationException, IOException {
  XsdDOMValidator validator = new XsdDOMValidator(configDoc);
  if (validator.getNamespaces().size() == 0) {
    throw new EDIConfigurationException("The edi-message-mapping configuration must contain a namespace.");
  }
  if (validator.getNamespaces().size() > 1) {
    throw new EDIConfigurationException("Unsupported use of multiple configuration namespaces from inside the edi-message-mapping configuration.");
  }
  String ediNS = validator.getNamespaces().get(0).toString();
  validator.validate();
  Edimap edimap = new Edimap(modelURI);
  if(assertValidXSD(ediNS)) {
    digestXSDValidatedConfig(configDoc,  edimap, ediNS);
  } else {
    throw new SAXException("Cannot parse edi-message-mapping configuration.  Unsupported default Namespace '" + ediNS + "'.");
  }
  return edimap;
}

代码示例来源:origin: org.milyn/milyn-smooks-all

public XsdDOMValidator(Document document) throws SAXException {
  AssertArgument.isNotNull(document, "document");
  this.document = document;
  // Get the default namespace...
  String defaultNamespaceString = getDefaultNamespace(document.getDocumentElement());
  if(defaultNamespaceString != null) {
    try {
      defaultNamespace = new URI(defaultNamespaceString);
    } catch (URISyntaxException e) {
      throw new SAXException("Cannot validate this document with this class.  Namespaces must be valid URIs.  Default Namespace: '" + defaultNamespaceString + "'.", e);
    }
  }
  // Get the full namespace list...
  gatherNamespaces(document.getDocumentElement(), namespaces);
  // Using the namespace URI list, create the XSD Source array used to
  // create the merged Schema instance...
  List<Source> sources = new ArrayList<Source>();
  for (int i = 0; i < namespaces.size(); i++) {
    URI namespace = namespaces.get(i);
    if(!XmlUtil.isXMLReservedNamespace(namespace.toString())) {
      sources.add(getNamespaceSource(namespace));
    }
  }
  setXSDSources(sources);
}

代码示例来源:origin: smooks/smooks

XsdDOMValidator validator = new XsdDOMValidator(configDoc);
String defaultNS = validator.getDefaultNamespace().toString();
validator.validate();
  if(validator.getNamespaces().size() > 1) {
    throw new SmooksConfigurationException("Unsupported use of multiple configuration namespaces from inside a v1.0 Smooks configuration. Configuration extension not supported from a v1.0 configuration.  Use the v1.1 configuration namespace.");

代码示例来源:origin: org.milyn/milyn-smooks-all

private void assertExtendedConfigOK(String configNamespace, String resourcePath) {
  InputStream resourceStream = ClassUtil.getResourceAsStream(resourcePath, classLoader);
  if (resourceStream == null) {
    throw new SmooksConfigurationException("Unable to locate Smooks digest configuration '" + resourcePath + "' for extended resource configuration namespace '" + configNamespace + "'.  This resource must be available on the classpath.");
  }
  Document configDoc;
  try {
    configDoc = XmlUtil.parseStream(resourceStream);
  } catch (Exception e) {
    throw new SmooksConfigurationException("Unable to parse namespace URI '" + configNamespace + "'.", e);
  }
  XsdDOMValidator validator;
  try {
    validator = new XsdDOMValidator(configDoc);
  } catch (SAXException e) {
    throw new SmooksConfigurationException("Unable to create XsdDOMValidator instance for extended resource config '" + resourcePath + "'.", e);
  }
  String defaultNS = validator.getDefaultNamespace().toString();
  if (!XSD_V10.equals(defaultNS) && !XSD_V11.equals(defaultNS)) {
    throw new SmooksConfigurationException("Extended resource configuration '" + resourcePath + "' default namespace must be a valid Smooks configuration namespace.");
  }
  if(validator.getNamespaces().size() > 1) {
    throw new SmooksConfigurationException("Extended resource configuration '" + resourcePath + "' defines configurations from multiple namespaces.  This is not permitted.  Only use configurations from the base Smooks config namespaces e.g. '" + XSD_V11 + "'.");
  }
}

代码示例来源:origin: org.milyn/milyn-commons

/**
 * Validate the document against the namespaces referenced in it.
 * @throws SAXException Validation error.
 * @throws IOException Error reading the XSD Sources.
 */
public void validate() throws SAXException, IOException {
  validate(new DOMSource(document));
}

代码示例来源:origin: smooks/smooks

private void gatherNamespaces(Element element, List<URI> namespaceSources) throws SAXException {
  NamedNodeMap attributes = element.getAttributes();
  int attributeCount = attributes.getLength();
  for(int i = 0; i < attributeCount; i++) {
    Attr attribute = (Attr) attributes.item(i);
    String namespace = attribute.getNamespaceURI();
    if(XMLConstants.XMLNS_ATTRIBUTE_NS_URI.equals(namespace)) {
      try {
        namespaceSources.add(new URI(attribute.getValue()));
      } catch (URISyntaxException e) {
        throw new SAXException("Cannot validate this document with this class.  Namespaces must be valid URIs.  Found Namespace: '" + attribute.getValue() + "'.", e);
      }
    }
  }
  NodeList childNodes = element.getChildNodes();
  int childCount = childNodes.getLength();
  for(int i = 0; i < childCount; i++) {
    Node child = childNodes.item(i);
    if(child.getNodeType() == Node.ELEMENT_NODE) {
      gatherNamespaces((Element) child, namespaceSources);
    }
  }
}

代码示例来源:origin: org.milyn/milyn-smooks-all

XsdDOMValidator validator = new XsdDOMValidator(configDoc);
String defaultNS = validator.getDefaultNamespace().toString();
validator.validate();
  if(validator.getNamespaces().size() > 1) {
    throw new SmooksConfigurationException("Unsupported use of multiple configuration namespaces from inside a v1.0 Smooks configuration. Configuration extension not supported from a v1.0 configuration.  Use the v1.1 configuration namespace.");

代码示例来源:origin: smooks/smooks

private void assertExtendedConfigOK(String configNamespace, String resourcePath) {
  InputStream resourceStream = ClassUtil.getResourceAsStream(resourcePath, classLoader);
  if (resourceStream == null) {
    throw new SmooksConfigurationException("Unable to locate Smooks digest configuration '" + resourcePath + "' for extended resource configuration namespace '" + configNamespace + "'.  This resource must be available on the classpath.");
  }
  Document configDoc;
  try {
    configDoc = XmlUtil.parseStream(resourceStream);
  } catch (Exception e) {
    throw new SmooksConfigurationException("Unable to parse namespace URI '" + configNamespace + "'.", e);
  }
  XsdDOMValidator validator;
  try {
    validator = new XsdDOMValidator(configDoc);
  } catch (SAXException e) {
    throw new SmooksConfigurationException("Unable to create XsdDOMValidator instance for extended resource config '" + resourcePath + "'.", e);
  }
  String defaultNS = validator.getDefaultNamespace().toString();
  if (!XSD_V10.equals(defaultNS) && !XSD_V11.equals(defaultNS)) {
    throw new SmooksConfigurationException("Extended resource configuration '" + resourcePath + "' default namespace must be a valid Smooks configuration namespace.");
  }
  if(validator.getNamespaces().size() > 1) {
    throw new SmooksConfigurationException("Extended resource configuration '" + resourcePath + "' defines configurations from multiple namespaces.  This is not permitted.  Only use configurations from the base Smooks config namespaces e.g. '" + XSD_V11 + "'.");
  }
}

代码示例来源:origin: smooks/smooks

/**
 * Validate the document against the namespaces referenced in it.
 * @throws SAXException Validation error.
 * @throws IOException Error reading the XSD Sources.
 */
public void validate() throws SAXException, IOException {
  validate(new DOMSource(document));
}

代码示例来源:origin: org.milyn/milyn-smooks-all

private void gatherNamespaces(Element element, List<URI> namespaceSources) throws SAXException {
  NamedNodeMap attributes = element.getAttributes();
  int attributeCount = attributes.getLength();
  for(int i = 0; i < attributeCount; i++) {
    Attr attribute = (Attr) attributes.item(i);
    String namespace = attribute.getNamespaceURI();
    if(XMLConstants.XMLNS_ATTRIBUTE_NS_URI.equals(namespace)) {
      try {
        namespaceSources.add(new URI(attribute.getValue()));
      } catch (URISyntaxException e) {
        throw new SAXException("Cannot validate this document with this class.  Namespaces must be valid URIs.  Found Namespace: '" + attribute.getValue() + "'.", e);
      }
    }
  }
  NodeList childNodes = element.getChildNodes();
  int childCount = childNodes.getLength();
  for(int i = 0; i < childCount; i++) {
    Node child = childNodes.item(i);
    if(child.getNodeType() == Node.ELEMENT_NODE) {
      gatherNamespaces((Element) child, namespaceSources);
    }
  }
}

代码示例来源:origin: org.milyn/milyn-smooks-core

XsdDOMValidator validator = new XsdDOMValidator(configDoc);
String defaultNS = validator.getDefaultNamespace().toString();
validator.validate();
  if(validator.getNamespaces().size() > 1) {
    throw new SmooksConfigurationException("Unsupported use of multiple configuration namespaces from inside a v1.0 Smooks configuration. Configuration extension not supported from a v1.0 configuration.  Use the v1.1 configuration namespace.");

代码示例来源:origin: org.virtuslab/milyn-edisax-parser

private Edimap digestEDIConfig(Document configDoc) throws SAXException, EDIConfigurationException, IOException {
  XsdDOMValidator validator = new XsdDOMValidator(configDoc);
  if (validator.getNamespaces().size() == 0) {
    throw new EDIConfigurationException("The edi-message-mapping configuration must contain a namespace.");
  }
  if (validator.getNamespaces().size() > 1) {
    throw new EDIConfigurationException("Unsupported use of multiple configuration namespaces from inside the edi-message-mapping configuration.");
  }
  String ediNS = validator.getNamespaces().get(0).toString();
  validator.validate();
  Edimap edimap = new Edimap(modelURI);
  if(assertValidXSD(ediNS)) {
    digestXSDValidatedConfig(configDoc,  edimap, ediNS);
  } else {
    throw new SAXException("Cannot parse edi-message-mapping configuration.  Unsupported default Namespace '" + ediNS + "'.");
  }
  return edimap;
}

代码示例来源:origin: org.milyn/milyn-smooks-core

private void assertExtendedConfigOK(String configNamespace, String resourcePath) {
  InputStream resourceStream = ClassUtil.getResourceAsStream(resourcePath, classLoader);
  if (resourceStream == null) {
    throw new SmooksConfigurationException("Unable to locate Smooks digest configuration '" + resourcePath + "' for extended resource configuration namespace '" + configNamespace + "'.  This resource must be available on the classpath.");
  }
  Document configDoc;
  try {
    configDoc = XmlUtil.parseStream(resourceStream);
  } catch (Exception e) {
    throw new SmooksConfigurationException("Unable to parse namespace URI '" + configNamespace + "'.", e);
  }
  XsdDOMValidator validator;
  try {
    validator = new XsdDOMValidator(configDoc);
  } catch (SAXException e) {
    throw new SmooksConfigurationException("Unable to create XsdDOMValidator instance for extended resource config '" + resourcePath + "'.", e);
  }
  String defaultNS = validator.getDefaultNamespace().toString();
  if (!XSD_V10.equals(defaultNS) && !XSD_V11.equals(defaultNS)) {
    throw new SmooksConfigurationException("Extended resource configuration '" + resourcePath + "' default namespace must be a valid Smooks configuration namespace.");
  }
  if(validator.getNamespaces().size() > 1) {
    throw new SmooksConfigurationException("Extended resource configuration '" + resourcePath + "' defines configurations from multiple namespaces.  This is not permitted.  Only use configurations from the base Smooks config namespaces e.g. '" + XSD_V11 + "'.");
  }
}

代码示例来源:origin: org.milyn/milyn-commons

public XsdDOMValidator(Document document) throws SAXException {
  AssertArgument.isNotNull(document, "document");
  this.document = document;
  // Get the default namespace...
  String defaultNamespaceString = getDefaultNamespace(document.getDocumentElement());
  if(defaultNamespaceString != null) {
    try {
      defaultNamespace = new URI(defaultNamespaceString);
    } catch (URISyntaxException e) {
      throw new SAXException("Cannot validate this document with this class.  Namespaces must be valid URIs.  Default Namespace: '" + defaultNamespaceString + "'.", e);
    }
  }
  // Get the full namespace list...
  gatherNamespaces(document.getDocumentElement(), namespaces);
  // Using the namespace URI list, create the XSD Source array used to
  // create the merged Schema instance...
  List<Source> sources = new ArrayList<Source>();
  for (int i = 0; i < namespaces.size(); i++) {
    URI namespace = namespaces.get(i);
    if(!XmlUtil.isXMLReservedNamespace(namespace.toString())) {
      sources.add(getNamespaceSource(namespace));
    }
  }
  setXSDSources(sources);
}

代码示例来源:origin: org.milyn/milyn-smooks-all

/**
 * Validate the document against the namespaces referenced in it.
 * @throws SAXException Validation error.
 * @throws IOException Error reading the XSD Sources.
 */
public void validate() throws SAXException, IOException {
  validate(new DOMSource(document));
}

代码示例来源:origin: org.milyn/milyn-commons

private void gatherNamespaces(Element element, List<URI> namespaceSources) throws SAXException {
  NamedNodeMap attributes = element.getAttributes();
  int attributeCount = attributes.getLength();
  for(int i = 0; i < attributeCount; i++) {
    Attr attribute = (Attr) attributes.item(i);
    String namespace = attribute.getNamespaceURI();
    if(XMLConstants.XMLNS_ATTRIBUTE_NS_URI.equals(namespace)) {
      try {
        namespaceSources.add(new URI(attribute.getValue()));
      } catch (URISyntaxException e) {
        throw new SAXException("Cannot validate this document with this class.  Namespaces must be valid URIs.  Found Namespace: '" + attribute.getValue() + "'.", e);
      }
    }
  }
  NodeList childNodes = element.getChildNodes();
  int childCount = childNodes.getLength();
  for(int i = 0; i < childCount; i++) {
    Node child = childNodes.item(i);
    if(child.getNodeType() == Node.ELEMENT_NODE) {
      gatherNamespaces((Element) child, namespaceSources);
    }
  }
}

代码示例来源:origin: org.virtuslab/milyn-smooks-core

XsdDOMValidator validator = new XsdDOMValidator(configDoc);
String defaultNS = validator.getDefaultNamespace().toString();
validator.validate();
  if(validator.getNamespaces().size() > 1) {
    throw new SmooksConfigurationException("Unsupported use of multiple configuration namespaces from inside a v1.0 Smooks configuration. Configuration extension not supported from a v1.0 configuration.  Use the v1.1 configuration namespace.");

代码示例来源:origin: org.milyn/milyn-smooks-all

private Edimap digestEDIConfig(Document configDoc) throws SAXException, EDIConfigurationException, IOException {
  XsdDOMValidator validator = new XsdDOMValidator(configDoc);
  if (validator.getNamespaces().size() == 0) {
    throw new EDIConfigurationException("The edi-message-mapping configuration must contain a namespace.");
  }
  if (validator.getNamespaces().size() > 1) {
    throw new EDIConfigurationException("Unsupported use of multiple configuration namespaces from inside the edi-message-mapping configuration.");
  }
  String ediNS = validator.getNamespaces().get(0).toString();
  validator.validate();
  Edimap edimap = new Edimap(modelURI);
  if(assertValidXSD(ediNS)) {
    digestXSDValidatedConfig(configDoc,  edimap, ediNS);
  } else {
    throw new SAXException("Cannot parse edi-message-mapping configuration.  Unsupported default Namespace '" + ediNS + "'.");
  }
  return edimap;
}

代码示例来源:origin: org.virtuslab/milyn-smooks-core

private void assertExtendedConfigOK(String configNamespace, String resourcePath) {
  InputStream resourceStream = ClassUtil.getResourceAsStream(resourcePath, classLoader);
  if (resourceStream == null) {
    throw new SmooksConfigurationException("Unable to locate Smooks digest configuration '" + resourcePath + "' for extended resource configuration namespace '" + configNamespace + "'.  This resource must be available on the classpath.");
  }
  Document configDoc;
  try {
    configDoc = XmlUtil.parseStream(resourceStream);
  } catch (Exception e) {
    throw new SmooksConfigurationException("Unable to parse namespace URI '" + configNamespace + "'.", e);
  }
  XsdDOMValidator validator;
  try {
    validator = new XsdDOMValidator(configDoc);
  } catch (SAXException e) {
    throw new SmooksConfigurationException("Unable to create XsdDOMValidator instance for extended resource config '" + resourcePath + "'.", e);
  }
  String defaultNS = validator.getDefaultNamespace().toString();
  if (!XSD_V10.equals(defaultNS) && !XSD_V11.equals(defaultNS)) {
    throw new SmooksConfigurationException("Extended resource configuration '" + resourcePath + "' default namespace must be a valid Smooks configuration namespace.");
  }
  if(validator.getNamespaces().size() > 1) {
    throw new SmooksConfigurationException("Extended resource configuration '" + resourcePath + "' defines configurations from multiple namespaces.  This is not permitted.  Only use configurations from the base Smooks config namespaces e.g. '" + XSD_V11 + "'.");
  }
}

代码示例来源:origin: smooks/smooks

public XsdDOMValidator(Document document) throws SAXException {
  AssertArgument.isNotNull(document, "document");
  this.document = document;
  // Get the default namespace...
  String defaultNamespaceString = getDefaultNamespace(document.getDocumentElement());
  if(defaultNamespaceString != null) {
    try {
      defaultNamespace = new URI(defaultNamespaceString);
    } catch (URISyntaxException e) {
      throw new SAXException("Cannot validate this document with this class.  Namespaces must be valid URIs.  Default Namespace: '" + defaultNamespaceString + "'.", e);
    }
  }
  // Get the full namespace list...
  gatherNamespaces(document.getDocumentElement(), namespaces);
  // Using the namespace URI list, create the XSD Source array used to
  // create the merged Schema instance...
  List<Source> sources = new ArrayList<Source>();
  for (int i = 0; i < namespaces.size(); i++) {
    URI namespace = namespaces.get(i);
    if(!XmlUtil.isXMLReservedNamespace(namespace.toString())) {
      sources.add(getNamespaceSource(namespace));
    }
  }
  setXSDSources(sources);
}

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com