如何在Web应用程序中加载多个XSD?

用户名

我们有两个架构(XSD)文件,一个文件包含另一个。当我们加载架构文件以验证XML文件时,它没有正确加载到Web应用程序中。它为包含的模式文件元素引发错误。

        Source[] sources = new StreamSource[2];

            Source schemaFile = new StreamSource(Test.class.getClassLoader().getResourceAsStream(“a.xsd”));
            sources[0] = schemaFile;

            Source schemaFile1 = new StreamSource(Test.class.getClassLoader().getResourceAsStream(“b.xsd”));
            sources[1] = schemaFile1;

            Schema schema = factory.newSchema(sources);

b.xsd包含a.xsd文件。但是,当我们在main方法中运行它时,相同的代码也可以正常工作。

有人可以提出解决此问题的建议吗?

我们可以使用org.w3c.dom.ls包中的LSResourceResolver做到这一点。使用Java和带有include的XSD验证XML文件时出现问题

Web基础应用程序中是否可以使用javax做到这一点?

错误:

org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'ns:Request'.
       at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
       at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
       at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
       at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
       at org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(Unknown Source)
       at org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(Unknown Source)
       at org.apache.xerces.jaxp.validation.DOMValidatorHelper.beginNode(Unknown Source)
       at org.apache.xerces.jaxp.validation.DOMValidatorHelper.validate(Unknown Source)
       at org.apache.xerces.jaxp.validation.DOMValidatorHelper.validate(Unknown Source)
       at org.apache.xerces.jaxp.validation.ValidatorImpl.validate(Unknown Source)
       at javax.xml.validation.Validator.validate(Unknown Source)
Zielu

LSResourceResolver是一个很好的工具,它使用了整个xml解析基础结构。

简单的破解将是:

  • 而不是使用来自类加载器的流,而是将两个模式文件都复制到临时位置
  • 使用复制文件的文件路径代替

还是容易得多

  • 将架构存储在类旁边的src文件夹中,而不是Web文件夹下。您可以获取Web下资源的真实文件路径,并使用它们来启动模式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Web Java应用程序(jsp)中加载Bootstrap的CSS和JS?

来自分类Dev

如何在Web Java应用程序(jsp)中加载Bootstrap的CSS和JS?

来自分类Dev

如何在Blazor应用程序中加载.gltf

来自分类Dev

如何在Spring / Tomcat Web应用程序中加载$ {catalina.home} /conf/application.properties?

来自分类Dev

在ASP.NET Webforms应用程序的web.config中加载多个用户控件应用程序的坏主意

来自分类Dev

在ASP.NET Webforms应用程序的web.config中加载多个用户控件应用程序的坏主意

来自分类Dev

如何在Blazor Web应用程序内加载jQuery?

来自分类Dev

Tomcat无法在Ubuntu中加载我的Web应用程序

来自分类Dev

如何在URLClassLoader中加载存储在应用程序资源中的JAR

来自分类Dev

如何在Windows Phone 8应用程序中加载javascript文件?

来自分类Dev

如何在Aurelia JavaScript应用程序中加载Google Maps JavaScript API?

来自分类Dev

如何在Flex 4.6窗口化应用程序中加载字体

来自分类Dev

如何在dojo应用程序构建概要文件中加载json文件?

来自分类Dev

如何在URLClassLoader中加载存储在应用程序资源中的JAR

来自分类Dev

如何在 dojo2 应用程序中加载 AMD 模块

来自分类Dev

如何在构建应用程序中加载库的资产(角度 6)

来自分类Dev

如何在 JavaFX 应用程序中加载的 FXML 文件上显示元素?

来自分类Dev

Silverlight Web应用程序在应用程序中加载外部页面

来自分类Dev

如何从 Spring Boot 应用程序在 android 应用程序中加载图像?

来自分类Dev

如果应用程序映射到子目录,如何在Nginx + Flask设置中加载静态文件

来自分类Dev

在Web应用程序中加载文件或程序集时出错

来自分类Dev

在应用程序中加载多个保存的图像会使其速度变慢

来自分类Dev

C#:在内存中加载大字典并从多个应用程序访问它

来自分类Dev

Windows Cordova 应用程序:应用程序无法在本地上下文中加载远程 Web 内容

来自分类Dev

如何在ASP.NET Web应用程序中实现这种加载效果

来自分类Dev

如何在预加载Web应用程序时不显示所有按钮?

来自分类Dev

如何在Flutter Web应用程序中重新加载浏览器选项卡

来自分类Dev

如何在ASP.NET Web应用程序中实现这种加载效果

来自分类Dev

如何在应用程序的ImageView(主要活动)中从Web加载图像?

Related 相关文章

  1. 1

    如何在Web Java应用程序(jsp)中加载Bootstrap的CSS和JS?

  2. 2

    如何在Web Java应用程序(jsp)中加载Bootstrap的CSS和JS?

  3. 3

    如何在Blazor应用程序中加载.gltf

  4. 4

    如何在Spring / Tomcat Web应用程序中加载$ {catalina.home} /conf/application.properties?

  5. 5

    在ASP.NET Webforms应用程序的web.config中加载多个用户控件应用程序的坏主意

  6. 6

    在ASP.NET Webforms应用程序的web.config中加载多个用户控件应用程序的坏主意

  7. 7

    如何在Blazor Web应用程序内加载jQuery?

  8. 8

    Tomcat无法在Ubuntu中加载我的Web应用程序

  9. 9

    如何在URLClassLoader中加载存储在应用程序资源中的JAR

  10. 10

    如何在Windows Phone 8应用程序中加载javascript文件?

  11. 11

    如何在Aurelia JavaScript应用程序中加载Google Maps JavaScript API?

  12. 12

    如何在Flex 4.6窗口化应用程序中加载字体

  13. 13

    如何在dojo应用程序构建概要文件中加载json文件?

  14. 14

    如何在URLClassLoader中加载存储在应用程序资源中的JAR

  15. 15

    如何在 dojo2 应用程序中加载 AMD 模块

  16. 16

    如何在构建应用程序中加载库的资产(角度 6)

  17. 17

    如何在 JavaFX 应用程序中加载的 FXML 文件上显示元素?

  18. 18

    Silverlight Web应用程序在应用程序中加载外部页面

  19. 19

    如何从 Spring Boot 应用程序在 android 应用程序中加载图像?

  20. 20

    如果应用程序映射到子目录,如何在Nginx + Flask设置中加载静态文件

  21. 21

    在Web应用程序中加载文件或程序集时出错

  22. 22

    在应用程序中加载多个保存的图像会使其速度变慢

  23. 23

    C#:在内存中加载大字典并从多个应用程序访问它

  24. 24

    Windows Cordova 应用程序:应用程序无法在本地上下文中加载远程 Web 内容

  25. 25

    如何在ASP.NET Web应用程序中实现这种加载效果

  26. 26

    如何在预加载Web应用程序时不显示所有按钮?

  27. 27

    如何在Flutter Web应用程序中重新加载浏览器选项卡

  28. 28

    如何在ASP.NET Web应用程序中实现这种加载效果

  29. 29

    如何在应用程序的ImageView(主要活动)中从Web加载图像?

热门标签

归档