xsd 相关问题

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

ANSI X3.9 的 XSD 验证

我正在尝试创建一个 XSD 文件来验证 DICOM 中定义的十进制字符串 (DS): http://dicom.nema.org/medical/dicom/current/output/chtml/part05/sect_6.2.html#para_15754884-9ca2...

回答 1 投票 0

在 .NET Core 中处理 XSD 验证

我有这个示例 XSD。它可以工作,但是当发生验证错误时,它会显示错误,如下所示。我也想要字段名称: 验证错误:“FIELD”元素无效 - 值“12...

回答 1 投票 0

如何从一组 XSD 文件生成依赖关系图?

参见标题:我有大约 50 个互相导入的 XSD 文件(带标签),我需要分析它们的依赖关系。 你知道有什么软件(最好是免费的)可以生成依赖关系图

回答 3 投票 0

Excel Office 加载项manifest.xml 不喜欢命名空间前缀

构建 Excel Office Web 加载项时,需要一个 manifest.xml 文件来描述服务。 下面是一个在 Excel 中打开任务面板的简单方法: 构建 Excel Office Web Add-Ins 时,需要一个 manifest.xml 文件来描述服务。 这是一个在 Excel 中打开任务面板的简单方法: <?xml version="1.0" encoding="utf-8"?> <OfficeApp xsi:type="TaskPaneApp" xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0" xmlns:ov="http://schemas.microsoft.com/office/taskpaneappversionoverrides" > <Id>61b854ed-e679-4ae7-9c91-c04e9846f706</Id> <Version>0.0.0.1</Version> <ProviderName>MyProvider</ProviderName> <DefaultLocale>en-US</DefaultLocale> <DisplayName DefaultValue="MyDisplayName" /> <Description DefaultValue="My Description." /> <IconUrl DefaultValue="~remoteAppUrl/Images/Button32x32.png" /> <SupportUrl DefaultValue="http://www.google.com" /> <Hosts> <Host Name="Workbook" /> </Hosts> <DefaultSettings> <SourceLocation DefaultValue="~remoteAppUrl/excel/" /> </DefaultSettings> <Permissions>ReadWriteDocument</Permissions> </OfficeApp> 这里是修改为使用命名空间前缀的相同的manifest.xml。这不起作用。 Excel 只是忽略它并且不提供任何错误消息。 <?xml version="1.0" encoding="utf-8"?> <x:OfficeApp xsi:type="x:TaskPaneApp" xmlns:x="http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0" xmlns:ov="http://schemas.microsoft.com/office/taskpaneappversionoverrides" > <x:Id>61b854ed-e679-4ae7-9c91-c04e9846f706</x:Id> <x:Version>0.0.0.1</x:Version> <x:ProviderName>MyProvider</x:ProviderName> <x:DefaultLocale>en-US</x:DefaultLocale> <x:DisplayName DefaultValue="MyDisplayName" /> <x:Description DefaultValue="My Description." /> <x:IconUrl DefaultValue="~remoteAppUrl/Images/Button32x32.png" /> <x:SupportUrl DefaultValue="http://www.google.com" /> <x:Hosts> <x:Host Name="Workbook" /> </x:Hosts> <x:DefaultSettings> <x:SourceLocation DefaultValue="~remoteAppUrl/excel/" /> </x:DefaultSettings> <x:Permissions>ReadWriteDocument</x:Permissions> </x:OfficeApp> 对于一个应用程序来说,两者应该是相同的。 而且,这两种格式都可以根据 Office 清单 XML 架构进行彻底验证。 我说得对吗? Excel 应该能够处理命名空间前缀,但我在翻译中犯了一个错误。 我错了吗? Excel 仅适用于未修饰的 XML 元素,并且不允许使用前缀。 (最终目标是从 XSLT 生成清单,但我发现没有命名空间前缀很难实现。) 谢谢。 我认为您是正确的,Excel 确实应该 同样地理解这些 XML 文档,无论使用什么命名空间前缀(如果有),只要前缀与正确的命名空间 URI 关联即可。无论您使用将给定名称空间 URI 与前缀关联还是不带前缀(即使其成为“默认”名称空间),实际上应该没有什么区别,因为这纯粹是语法差异。 但这当然是语法上可检测到的差异,当我得知 Excel 并没有同等对待这两种语法变体,而是要求 http://schemas.microsoft.com/office/appforoffice/1.1 命名空间 URI 是默认命名空间时,我并不感到非常惊讶,即与 null 命名空间前缀关联。 我的建议是花点时间向 Microsoft 的方向愤怒地挥动拳头,然后通过在默认名称空间中生成不带前缀的元素来解决问题。 在 XSLT 中的默认命名空间中生成元素通常是一件简单的事情;通常,您只需在样式表的根元素上声明默认名称空间,即 xmlns="http://schemas.microsoft.com/office/appforoffice/1.1",然后在模板中创建不使用前缀的文字元素,例如: <ProviderName>MyProvider</ProviderName> ...或者,如果您使用 xsl:element,就像这样: <xsl:element name="ProviderName">MyProvider</xsl:element>

回答 1 投票 0

模式定义中<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

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