xsd 相关问题

XSD通常是指以W3C XML Schema格式编写的文档,其中包含特定类型的XML文档的描述。

模式定义中<xsd:all>和<xsd:sequence>之间的区别?

我正在使用 xsd:all 复杂类型。当我在验证时错过任何强制性元素时,它将显示所有元素。它不会显示确切的丢失元素。 但如果我使用 xsd:sequence...

回答 6 投票 0

SAXParseException:cvc-elt.1:找不到元素“文档”的声明

我有这个问题 造成原因: org.xml.sax.SAXParseException:cvc-elt.1:找不到元素“文档”的声明。 XML 格式的文档 <

回答 2 投票 0

将嵌套的xml文件导入到多个表

我是databricks新手,想要将嵌套的xml导入到多个表中。 我有一个 xml 和一个 xsd,您可以在下面找到。 到目前为止我已经完成了以下步骤: Python代码 将 XML 导入到 df: #...

回答 1 投票 0

Databricks - 将嵌套的 xml 文件导入到多个表

我是databricks新手,想要将嵌套的xml导入到多个表中。 我有一个 xml 和一个 xsd,您可以在下面找到。 到目前为止我已经完成了以下步骤: Python代码 将 XML 导入到 df: #...

回答 1 投票 0

如何修改我的设置以允许 VS2010 从“未经授权的区域”加载第 3 方 XSD 文件?

我在 Visual Studio 2010 中打开了第 3 方 XSD 文件,该文件从同一第 3 方的其他架构文件导入命名空间。 在架构文件的 XML 编辑器视图中,xs:import 元素是

回答 4 投票 0

使用命名空间修改 xml

我正在尝试修改 TSQL 中预定义的 xml(更具体地说是 xsd)。 我想将枚举限制插入到 xsd 元素之一。 任务是根据查询填充xsd限制 前...

回答 4 投票 0

Java:使用断言对 XML 进行 XSD 1.1 模式验证

我想针对包含断言的 xsd 1.1 文件测试生成的 xml 文件,并且我想在 Java 中执行此操作。 我的xml内容是 我想针对包含断言的 xsd 1.1 文件测试生成的 xml 文件,并且我想在 Java 中执行此操作。 我的xml内容是 <?xml version="1.0" encoding="UTF-8"?> <Person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="person.xsd"> <Name>John Doe</Name> <Age>17</Age> </Person> xsd内容如下,包含两个断言 <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" vc:minVersion="1.1"> <xs:element name="Person"> <xs:complexType> <xs:sequence> <xs:element name="Name" type="xs:string"/> <xs:element name="Age" type="xs:integer"/> </xs:sequence> <xs:assert test="Age &gt;= 18"/> <xs:assert test="(string-length(Name) > 15)"/> </xs:complexType> </xs:element> </xs:schema> 我用 implementation("org.opengis.cite.xerces:xercesImpl-xsd11:2.12-beta-r1667115") 作为我的 build.gradle.kts 文件中的依赖项。以下 Java 代码有效: // That's the important String which instantiates a xsd 1.1 aware schema factory + validator SchemaFactory sf = SchemaFactory.newInstance("http://www.w3.org/XML/XMLSchema/v1.1"); Schema s = sf.newSchema(new StreamSource(getClass().getResourceAsStream(xsdFilePath))); Validator v = s.newValidator(); v.validate(new StreamSource(getClass().getResourceAsStream(xmlFilePath))); 万岁,现在我收到验证异常: Exception in thread "main" org.xml.sax.SAXParseException; lineNumber: 6; columnNumber: 10; cvc-assertion: Assertion evaluation ('Age >= 18') for element 'Person' on schema type '#AnonType_Person' did not succeed. 问题 当我将年龄修正为 18 岁时,我不会收到有关名称的验证错误(长度 > 15),但我得到 Exception in thread "main" java.lang.NoClassDefFoundError: com/ibm/icu/text/UTF16 at org.eclipse.wst.xml.xpath2.processor.internal.function.FnStringLength.string_length(FnStringLength.java:105) at org.eclipse.wst.xml.xpath2.processor.internal.function.FnStringLength.evaluate(FnStringLength.java:74) at org.eclipse.wst.xml.xpath2.processor.DefaultDynamicContext.evaluate_function(DefaultDynamicContext.java:194) at org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.visit(DefaultEvaluator.java:1611) at org.eclipse.wst.xml.xpath2.processor.internal.ast.FunctionCall.accept(FunctionCall.java:46) at org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.visit(DefaultEvaluator.java:2139) at org.eclipse.wst.xml.xpath2.processor.internal.ast.FilterExpr.accept(FilterExpr.java:52) at org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.visit(DefaultEvaluator.java:1258) at org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr.accept(XPathExpr.java:43) at org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.do_bin_args(DefaultEvaluator.java:803) at org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.visit(DefaultEvaluator.java:614) at org.eclipse.wst.xml.xpath2.processor.internal.ast.CmpExpr.accept(CmpExpr.java:106) at org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.do_expr(DefaultEvaluator.java:315) at org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.visit(DefaultEvaluator.java:1573) at org.eclipse.wst.xml.xpath2.processor.internal.ast.ParExpr.accept(ParExpr.java:40) at org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.visit(DefaultEvaluator.java:2139) at org.eclipse.wst.xml.xpath2.processor.internal.ast.FilterExpr.accept(FilterExpr.java:52) at org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.visit(DefaultEvaluator.java:1258) at org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr.accept(XPathExpr.java:43) at org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.visit(DefaultEvaluator.java:1607) at org.eclipse.wst.xml.xpath2.processor.internal.ast.FunctionCall.accept(FunctionCall.java:46) at org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.visit(DefaultEvaluator.java:2139) at org.eclipse.wst.xml.xpath2.processor.internal.ast.FilterExpr.accept(FilterExpr.java:52) at org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.visit(DefaultEvaluator.java:1258) at org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr.accept(XPathExpr.java:43) at org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.do_expr(DefaultEvaluator.java:315) at org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.visit(DefaultEvaluator.java:336) at org.eclipse.wst.xml.xpath2.processor.ast.XPath.accept(XPath.java:43) at org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.evaluate(DefaultEvaluator.java:290) at org.apache.xerces.impl.xs.AbstractPsychoPathXPath2Impl.evaluateXPathExpr(Unknown Source) at org.apache.xerces.impl.xs.XMLAssertPsychopathXPath2Impl.evaluateOneAssertion(Unknown Source) at org.apache.xerces.impl.xs.XMLAssertPsychopathXPath2Impl.evaluateAssertionsFromAComplexType(Unknown Source) at org.apache.xerces.impl.xs.XMLAssertPsychopathXPath2Impl.processAllAssertionsOnElement(Unknown Source) at org.apache.xerces.impl.xs.XMLAssertPsychopathXPath2Impl.endElement(Unknown Source) at org.apache.xerces.impl.xs.XSDAssertionValidator.handleEndElement(Unknown Source) at org.apache.xerces.impl.xs.XMLSchemaValidator.assertionValidatorEndElementDelegate(Unknown Source) at org.apache.xerces.impl.xs.XMLSchemaValidator.handleEndElement(Unknown Source) at org.apache.xerces.impl.xs.XMLSchemaValidator.endElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.jaxp.validation.StreamValidatorHelper.validate(Unknown Source) at org.apache.xerces.jaxp.validation.ValidatorImpl.validate(Unknown Source) at java.xml/javax.xml.validation.Validator.validate(Validator.java:124) at org.example.HelloWorld.validateXMLSchemaXerxes(HelloWorld.java:50) at org.example.HelloWorld.main(HelloWorld.java:31) Caused by: java.lang.ClassNotFoundException: com.ibm.icu.text.UTF16 at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) ... 48 more 问题: 如何解决这个问题 到了 2024 年,仍然没有其他可用的开源库可以验证 xsd 1.1 断言吗? 它显然失败了,因为它期望 ICU4J 位于类路径上,但找不到它。 不,没有其他可用的开源实现。 (我花了大约一年的时间在 Saxon-EE 中编写(商业)模式处理器,所以这并不奇怪。)

回答 1 投票 0

在Python中解析xsd文件时出现奇怪的现象(特别是行号/引用)

我正在解析一个XSD文件,解析时发生了一个奇怪的现象。例如我有这个元素: 我正在解析 XSD 文件,解析时发生了一个奇怪的现象。例如,我有这个元素: <xsd:element name="Example" type="ExampleType" minOccurs="0"> <xsd:annotation> <xsd:documentation> <Description>This is the description</Description> <LineNumber>4</LineNumber> </xsd:documentation> </xsd:annotation> </xsd:element> 我正在使用此代码: #xml.etree.ElementTree annotation = element.find(".//xsd:annotation", namespace) if annotation is not None: documentation = annotation.find(".//xsd:documentation", namespace) if documentation is not None: for doc_child in documentation: tag = doc_child.tag.split('}')[-1] element_dict[element_name][tag] = doc_child.text.strip() 现在这是奇怪的部分。一旦我将 element_dict 转换为数据框并将数据框转换为 Excel,行号就会发生变化。我正在获取描述和行号,如果我在示例中打印出来,那就是: Description: This is the description LineNumber: 4 但是在excel文件中却是这样的 Description: This is the description LineNumber: Part A Line 12 我已经确认该元素是从 A 部分第 12 行(xsd 中的后续元素)中提取的,但我很困惑代码中的原因是什么?另外,我将如何解析它,以便我可以获得 和此参考行号? 好吧,我明白了。事实证明,当我提取数据时,有两个元素具有完全相同的名称(ExampleName)。 由于我将此数据添加到字典中,其中元素名称是键,所以我有两个元素更新同一记录。 { "Name" : "ExampleName", "LineNumber" : "4" } { "Name" : "ExampleName", "LineNumber" : "Part A Line 12" } 首先将行号“4”设置为“Part A Line 12”

回答 1 投票 0

Jaxb2Marshaller:使用 0/1 来编组 xsd:boolean 值与生成的 java 模型

我正在使用 Jaxb2Marshaller 来编组和解组肥皂请求和响应。 我的java模型类是使用xjc基于wsdl生成的。 我有一个奇怪的要求,类型的字段...

回答 1 投票 0

XSD 格式问题

我正在使用 Azure 逻辑应用从 MS Dynamics Business Central 检索数据。该数据使用 XSD 格式转换为 XML。然后 XML 被发送到外部系统。 我设法得到...

回答 1 投票 0

Jaxb 获取根据多个根元素 XSD 验证 XML 的根元素

我们有一个包含多个可能的根元素的 xsd。 要验证的 xml 可以采用其中任何一个,但显然每个 xml 一次。 我无法透露实际的 xsd,但让我们想象一下类似的东西: &l...

回答 1 投票 0

使用资源在 JAR 中加载 XSD 架构失败

在我的 jar 中,我提供了我的 xsd 架构文件,即以下结构: 米贾尔 - myschema.xsd 当我解压缩该文件时,我可以验证该文件是否存在于 JAR 内的根级别。 我正在添加 xsd ...

回答 2 投票 0

根据 XSD 验证 XML 时出现问题 - PHP/schemaValidate

我正在尝试使用 DOMDocument 中的函数 schemaValidate(String file) 根据 XSD 验证 XML 文件。 当我在其他工具(例如在线验证器)上验证它时,它工作正常,但在我的

回答 3 投票 0

存在哪些 XSLT 2.0 工具? [已关闭]

我正在尝试了解 XML 和 XSLT 的内容,在我的研究中我偶然发现了不同的 XSLT 处理器。 Xalan 是第一个,它似乎工作得很好而且是免费的,除了......

回答 5 投票 0

即使使用ErrorHandler,为什么模式验证会在第一个错误后结束?

我正在研究模式验证。 目标是获取 XSD 文件并根据它验证传入文档。 如果有错误,我想捕获所有错误。 我只得到第一个…

回答 2 投票 0

XSD 架构;在元素序列中,是否有任何方法可以指定允许任意数量的未指定的附加元素?

所以,我想编写一个 XSD,检查元素列表是否包含特定的必需元素,但除了它们之外,在列表的任何位置都允许任何数量的其他元素。难道是……

回答 1 投票 0

无法使用 dbxml 找到元素“Root”的声明

我是 XML 新手。我正在尝试导入 XML 文件,但收到错误 - “找不到元素“根”的声明”。我怀疑这是因为名称空间 URI (http://xmlns.oracle.com...

回答 2 投票 0

通过 XSD 删除 XML 的元素/属性

我想删除 .xml 文件中与 .xsd 文件定义不匹配的所有元素和/或属性。 我提供了 XML-XSD 文件对的简化版本,但它们实际上有更多属性......

回答 1 投票 0

如何 xsd 验证带长度限制的格式化文本

我无法创建 xsd 文件来验证评论元素。 元素“comment”可以包含文本和可选子元素 , , 子元素可以嵌套... 我无法创建 xsd 文件来验证评论元素。 元素“comment”可以包含文本和可选子元素<b>, <i>, <ul> 子元素可以嵌套并出现多次 评论内容必须有长度限制(60) 我能够满足 1. 和 2.,但如何添加长度限制? 非常感谢您的帮助! 安德烈亚斯 <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="Test"> <xs:complexType> <xs:sequence> <xs:element name="comment" type="FormattedText" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="FormattedText" mixed="true"> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="b" minOccurs="0" /> <xs:element ref="i" minOccurs="0" /> <xs:element ref="ul" minOccurs="0" /> </xs:choice> </xs:complexType> <xs:complexType name="ULType"> <xs:sequence> <xs:element name="li" minOccurs="1" maxOccurs="unbounded"> <xs:complexType mixed="true"> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="b" minOccurs="0" /> <xs:element ref="i" minOccurs="0" /> <xs:element ref="ul" minOccurs="0" /> </xs:choice> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:element name="b" type="FormattedText" /> <xs:element name="i" type="FormattedText" /> <xs:element name="ul" type="ULType" /> </xs:schema> 这是 xml 的示例: <?xml version="1.0" encoding="UTF-8"?> <Test> <comment> Abstellorte: <ul> <li>Hinter <b>To<i>r</i></b></li> <li>Am <i>Fenster</i></li> </ul> </comment> </Test> 您可以在 XSD 1.1 中使用断言来执行此操作:test="string-length(.) le 60"。在 XSD 1.0 中无法完成。

回答 1 投票 0

Azure Databricks:PySpark:无法使用 XSD 验证 XML 文件

这就是我所做的。 创建了一个 XML 文件 xmlPath =“dbfs:/mnt/books.xml” xml字符串 = """ 科雷茨,伊娃 ...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.