草庐IT

Streaming模式

全部标签

.net - 如何根据 xml 模式更正 xml 文件?

有很多文件被无意中更改,现在它们与相关架构不匹配。我想做的是找到错误并自动更正它们(如果可能)。我查看了.NET框架中可用的验证机制。问题是我不知道如何编辑错误的节点。验证事件处理程序为我提供了一个事件参数,该参数包含有关错误本身的一些信息,但没有关于节点的信息和一个发送者对象,该对象是XmlValidationReaderImpl类型的对象,我对此一无所知,我在任何地方都找不到关于这种类型的任何信息。有谁知道如何使用验证机制更正Xml文件,或者是否有任何其他方法可用? 最佳答案 我不确定是否使用验证机制,但如果错误的形式很简单,您

php - 如何在 PHP 中对 xml 文件进行 DTD 和模式验证?

我有一个名为data_out.xml的xml文件,我想使用SIMPLEXML和php对xml文件进行DTD和SCHEMA检查。非常感谢:)) 最佳答案 Simplexml做不到,但DomDocument可以。此外,xml应该有一些指向DTD文件的链接。Load('book.xml');if($dom->validate()){echo"Thisdocumentisvalid!\n";}?>你可以看看这个question更多引用 关于php-如何在PHP中对xml文件进行DTD和模式验证?

xml - 定义允许来自混合 namespace 的属性的模式

我正在努力尝试开发一个允许来自混合命名空间的属性的模式。这是xxx_schema2.xsd:这是导入xxx_schema2的xxx_schema1.xsd:这是我想根据xxx_schema1.xsd验证的XML文档:当Saxon-EE解析器尝试根据模式验证XML文档时,它生成的错误实际上是:Enginename:Saxon-EE9.3.0.5Severity:errorDescription:Attribute@xxx:schema2Attribute1isnotallowedonelement(itwouldbeallowedinnamespacehttp://www.mrbouff

xml - XML 模式中的限制

我需要限制一个整数,它可以取1到48之间的值,但也可以取63的单个值。这可以做到吗?我知道下面的内容会处理第一个限制,但是我怎样才能将63添加到列表中呢? 最佳答案 定义两种类型:一种允许1-48范围内的整数,一种只允许整数64;然后定义一个类型,它是这两者的联合。或者在XSD1.1中,只定义一个限制xs:integer的类型 关于xml-XML模式中的限制,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c

xml - 模式 1.1 的 lxml

我正在尝试将lxml与xs:assert验证标记一起使用。我试过使用这个IBM页面中的示例:http://www.ibm.com/developerworks/library/x-xml11pt2/lxml似乎不支持XMLSchema1.1。有人可以验证这个吗?什么XML(用于Python)引擎支持Schema1.1? 最佳答案 目前支持XSD1.1的两个模式处理器是Xerces和Saxon-都是基于Java的。 关于xml-模式1.1的lxml,我们在StackOverflow上找到一

xml - 如何从另一个 xml 模式扩展一个 xml 模式?

我有一个如下所示的xml文档(resources.xml),具有相应的xml架构(resources.xsd)。此xml文档是手动维护的(即添加/删除/编辑资源元素)。总共可能有500-1000个资源元素。每个资源都可以是variantX或variantY(在“现实生活”中,还有更多变体)。我想将xml文档拆分成几个xml文档。每个变体(在本例中为X和Y)对应一个xml文档,并带有相应的新xml模式。每个变体的xml模式应该扩展原始模式,并且只为其“变体”属性添加一个“硬编码”(固定?)值。原因:为了避免在每个资源元素中重复“variant”属性。这可能吗?每个变体的xml模式是什么样

PHP - 使用 unicode 正则表达式的 XSD 模式验证错误

描述:当我尝试使用包含Unicode常规的给定XSD模式验证XML文件时表达式,函数DOMDocument::schemaValidate返回验证错误。XSD模式是W3C格式良好的,并且验证通过了另一个验证工具。如果XSD模式是这样的格式(没有正方形括号):PHP版本:5.2.14LibXml版本:2.7.7先前的模式[\P{Ll}]+与preg_match函数一起正常工作。测试脚本:PHP验证码:functionlibxml_display_errors(){$errors=libxml_get_errors();print_r($errors);libxml_clear_error

xml - 是否可以仅在一个 XSD 文件中展平 XML 模式包?

我有一个由两个XSD文件组成的XSD包:比方说A.xsd和B.xsd。模式A导入(不包括)B模式。它们具有不同的命名空间。我需要在不能很好地与xsd:imports配合使用的系统中使用这些模式。是否可以将XSD包扁平化为一个且仅一个XSD文件,或者每个命名空间一个XSD文件是否是绝对最小值? 最佳答案 每个xs:schema元素仅包含一个目标命名空间的声明。但是规范中没有任何内容说明xs:schema必须是XML文档的根元素。因此,理论上,您可以将两个模式元素都包装在一个包装文件中;在实践中,并非所有XSD验证器都会对此作为输入感到

xml - 如何在 IntelliJ IDEA 中禁用没有模式的文件的 XML 验证

我正在处理logback.xml文件,您可能知道,logback没有独特的模式。因此IntelliJ将每个标签标记为“无法解析符号”。我怎样才能禁用它?我不希望IntelliJ将没有架构的XML文件标记为错误。 最佳答案 在项目View中,选择文件,打开上下文菜单(通过右键单击文件),然后选择“标记为文本”。 关于xml-如何在IntelliJIDEA中禁用没有模式的文件的XML验证,我们在StackOverflow上找到一个类似的问题: https://st

xml - 模式切片/瘦身工具

我有20,000行+ACORD(保险业的标准架构)架构。我想“瘦身”或“切片”架构以仅包含我们将在交易中使用的那些数据元素。虽然我当然可以手动执行此操作,但这是一个艰苦的过程。有没有人使用实用程序来促进这些子模式的定义?非常感谢您的帮助。 最佳答案 QTAssistant(我与它相关联)XML模式重构(XSR)是一种可以非常轻松地完成此任务的工具。从概念上讲,它涉及两个工作模块:在架构集合中组织源XSD。使用一个或多个XSD文件集定义“发布”。同时支持交互式(使用图形用户界面)和命令行,后者用于持续集成堆栈等。让我们假设您想要的是仅