当前位置: 首页 > 面试题库 >

JAXB SchemaFactory源顺序必须遵循模式之间的导入顺序吗?

弓温书
2023-03-14
问题内容

使用最新的JAXB(Sun)并具有一个架构层次结构,该架构在架构之间使用import指令共享类型定义。模式验证是在JAXB中对Marshaller /
Unmarshaller的setSchema调用上激活的,这应该将验证推迟到Xerces(使用Java
1.5)。使用SchemaFactory创建Schema对象时,我不想知道架构之间的导入指令的顺序。不幸的是,我还没有找到允许该功能的Xerces功能。例如,如果将a.xsd通过导入导入到b.xsd中,则以下代码将不起作用:

FileInputStream a = new FileInputStream("a.xsd");
FileInputStream b = new FileInputStream("b.xsd");

Schema schema = SchemaFactory.newInstance(
   XMLConstants.W3C_XML_SCHEMA_NS_URI).newSchema(
      new Source[] { 
          new StreamSource(b),
          new StreamSource(a) 
      }
   );

Source数组的顺序必须是a.xsd,然后是b.xsd。可以解决吗?


问题答案:

如果您在根Source上创建一个架构,然后设置一个ResourceResolver(LSResourceResolver)以在架构创建过程中解析其他导入的架构,该怎么办。



 类似资料:
  • 问题内容: 我觉得这里缺少明显的东西! 输出: 当然应该输出: 这是怎么了 问题答案: 字典未排序。如果需要依赖顺序,则需要一个OrderedDict- Python 2.7的模块中有一个,或者您可以使用多种食谱之一。

  • 问题内容: Javadoc 表示(重点是我): 该操作的行为明确地是不确定的。 对于并行流管道,此操作不能保证遵守流的遇到顺序 ,因为这样做会牺牲并行性的好处。对于任何给定的元素,可以在库选择的任何时间和线程中执行操作。如果操作访问共享状态,则它负责提供所需的同步。 Java 9 Early Access Javadoc中提供了相同的文本。 第一句话(“明确地不确定”)表明(但未明确说明)此方法未

  • 问题内容: 如何在PostgreSQL中定义一列,以使每个值都必须按顺序排列,而不是使用类型时获得的顺序,而不能使值2插入,除非该列中已存在值1才能插入该值? 问题答案: 从理论上讲,您可以使用像这样工作的约束。(但是实际上它是行不通的。) 计算行数。 评估。 比较结果。 在创建CHECK约束之前,您可能必须插入一行。如果您不这样做,则max(column)将返回NULL。一排 计算行数(1)。

  • 问题内容: 想知道。排序导入语句的正确方法是哪种?还有哪个更具可读性? 喜欢, 外部类(如),然后是内部包 类。 只是按字母顺序 提前致谢。 问题答案: 从Java编程风格指南中 import语句必须在package语句之后。import语句应首先使用最基本的软件包进行排序,并与相关的软件包分组在一起,并且各组之间应留空行。 ..... ..... 导入语句的位置由Java语言强制执行。通过排序,

  • 我是ANTLR的新手,我试图使用ANTLR4和C#为计算器应用程序生成一个相对简单的解析器。这是我的语法文件。 我编写了一个自定义词法分析器来生成令牌,以便在解析之前支持变量的隐式乘法和转换为其数字等效值。 但是输入后,我得到以下结果。 请注意,我尝试关闭错误恢复功能并将其设置为报告所有歧义错误,但似乎没有收到任何错误。 无论如何,如果我通过删除除法/乘法运算符之后的?将语法更改为以下内容,那么它

  • 问题内容: 在Keras中创建顺序模型时,我知道您在第一层中提供了输入形状。然后,此输入形状会构成 隐式 输入层吗? 例如,下面的模型明确指定了2个密集层,但这实际上是一个3层模型,即由输入形状隐含的一个输入层,一个具有32个神经元的隐藏密集层,然后一个具有10个可能输出的输出层组成的模型吗? 问题答案: 好吧,实际上它实际上 是 一个隐式输入层,即您的模型是一个具有三层“输入,隐藏和输出”的“老