1
57
你需要使用 LSResourceResolver 为了这个工作。请看下面的示例代码。 验证方法:
资源冲突解决程序实现:
资源冲突解决程序返回的输入实现:
|
2
4
所接受的答案完全正确,但不需要对Java 8进行一些修改。也可以指定一个基本路径来读取导入的模式。 我在Java 8中使用了下面的代码,它允许指定除了根路径之外的嵌入模式路径:
此实现还为用户提供了一条有意义的消息,以防无法读取架构。 |
3
3
我不得不对 this post 作者:Amegmondoember 我的主模式文件有一些来自兄弟文件夹的include,并且包含的文件也有一些来自本地文件夹的include。我还必须跟踪当前资源的基本资源路径和相对路径。这段代码对我来说很有用,但是请记住,它假定所有的XSD文件都有一个唯一的名称。如果您有一些具有相同名称的XSD文件,但是不同路径上的内容不同,那么它可能会给您带来问题。
|
4
1
正如用户“Ulab”在对另一个答案的评论中指出的,解决方案如 this answer (对于单独的stackoverflow问题)对许多人都有效。下面是该方法的大致概述:
这种方法的关键是避免给模式工厂一个流,而是给它一个URL。这样它就可以获取有关XSD文件位置的信息。 这里要记住的一点是,当您使用格式为“my common.xsd”或“common/some concept.xsd”的简单文件路径时,include和/或import元素上的“schemaLocation”属性将被视为相对于已提交给验证器的xsd文件的类路径位置。 笔记: -在上面的示例中,我将模式文件放在一个“xsd”文件夹下的JAR文件中。 -“GETREST”参数中的主斜杠告诉Java从类加载器的根开始,而不是在“这个”对象的包名处。 |
5
0
对于我们来说,解析器资源看起来是这样的。在一些prolog异常和奇怪之后 元素类型“xs:schema”后面必须跟属性规范、“>”或“/>”。 元素类型“xs:element”后面必须跟属性规范、“>”或“/>”。 (由于多条线路的故障) 由于include的结构,需要路径历史
所以代码看起来像:
|
6
0
接受的答案非常冗长,首先在内存中构建一个DOM,include对我来说似乎是开箱即用的,包括相对引用。
|
7
-1
如果在XML中找不到元素,则会得到xml:lang异常。 元素区分大小写 |
8
-4
|
Dave · 在XSD中,如何在元素的内容中只允许空白? 6 年前 |
Jakub Mosakowski · Xml架构唯一性不检查唯一性 6 年前 |
Antek · XSD中的复杂元素验证 6 年前 |
Phil · 动态XML模式验证文档的子部分 6 年前 |
Feres.o · 在两个对象之间生成客户端wsimport未命中链接 6 年前 |