xsd 相关问题

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

XSD 1.0 中一个元素具有两种不同的定义/类型

我必须编写一个 XML 模式(在 XSD 1.0 中)来验证给定的文档。 在本文档中,有一个名为 box 的元素,它可以: 有两个必需的属性,名称和重量以及其他一些

回答 1 投票 0

JAXB 避免从 XSD 生成重复类

我有一个 xsd,其中有一个名为 toc 的元素在 xsd 中两次。它会导致 java 类生成错误。现在,我想编写 xml 绑定来解决这个问题。 我有一个 xsd,其中有一个名为 toc 的元素在 xsd 中两次。它会导致 java 类生成错误。现在,我想编写 xml 绑定来解决这个问题。 <jaxb:bindings schemaLocation="../DMS_Dokument.Versenden_response.xsd"> <jaxb:bindings node="xsd:element[@name='toc']"> <jaxb:factoryMethod name="TOC"/> </jaxb:bindings> </jaxb:bindings> 我得到的错误是 原因:无法解析schema。应该提供错误消息 为了避免 JAXB 从 XSD 生成重复的类,您可以使用本地或外部绑定为生成的类定义不同的名称。 <jaxb:bindings node="XPATH"> <jaxb:class name="YourDistinctName"/> </jaxb:bindings> Java 类名重复的一个原因是在全局绑定中使用 toplevel 作用域。 注意: localScoping 属性的值可以是 nested 或 toplevel。此属性描述嵌套 XML 模式组件与嵌套模式派生的 JAXB 类或顶级模式派生的 JAXB 类的 JAXB 绑定。为了避免嵌套组件之间的命名冲突,该属性的默认值是嵌套的。当模式组件嵌套太深或应用程序不希望使用嵌套类或使用 JPA 时(JPA 第 2.1 节,实体必须是顶级类),开发人员可以将 localScoping 自定义为 toplevel。 例如,下载此演示 (zip) 并考虑其 XML 架构 trilogy.xsd,该架构对 Trilogy 书籍进行建模。它在根 trilogy 元素上定义一个 TOC,并为每个 book 定义另一个 TOC。该架构将每个 TOC 定义为匿名类型,并且每个 TOC 都有不同的用途。第一个目录描述了三本书的标题,但第二个目录是每本书的章节列表。两者具有相同的元素名称 <toc>...</toc>,如该 XML 实例 trilogy.xml 所示,但需要不同的 Java 类定义。 当模式被定制为使用 <jaxb:globalBindings localScoping=”toplevel”/> 时,JAXB 会尝试根据一个元素名称生成两种类型,这会导致名称冲突。 为了解决 Java 类名重复问题,演示使用 HiSrc BasicJAXB 项目中的工具来扫描 XSD 并输出这些建议的绑定:trilogy.xjb。例如,这是书 TOC 的装订: <jaxb:bindings node="//xs:element[@name='trilogy']/xs:complexType/xs:sequence/xs:element[@name='book']/xs:complexType/xs:sequence/xs:element[@name='toc']/xs:complexType"> <jaxb:class name="TrilogyBookTocType"/> </jaxb:bindings> 绑定使用 XPATH 选择目标节点,并将 Java 类名称声明为 TrilogyBookTocType。 演示提供了一个 bash 脚本来运行该工具,但它可以像这样手动运行... java -cp \ $HOME/.m2/repository/org/patrodyne/jvnet/hisrc-basicjaxb-tools/2.1.1/hisrc-basicjaxb-tools-2.1.1.jar \ org.jvnet.basicjaxb.util.CreateToplevelXJBindings \ --nested src/main/resources/trilogy.xsd 该工具将其输出发送到 stdout,您可以在其中将其复制/粘贴到绑定文件或架构中。 执行 该演示是一个独立的 Maven 项目。您可以使用以下命令运行测试: mvn -Ptest clean test mvn -Pexec compile exec:java 方法 hisrc-higherjaxb-maven-plugin 配置为使用提供的 trilogy.xsd 模式和绑定文件 trilogy.xjb 生成 JAXB 类。该模式提供了命名空间 "http://org.example/trilogy",JAXB 使用它来使用自己的命名约定创建 Java package 名称。 作为一个选项,可以使用这些 XJC hisrc-basicjaxb-plugins 生成 Java 内置 Object 方法的更高级实现。特别是,示例项目使用 toString 插件来显示未编组的 Trilogy 对象的人类可读表示。 hisrc-basicjaxb-插件 <args> <arg>-no-header</arg> <arg>-XhashCode</arg> <arg>-Xequals</arg> <arg>-XtoString</arg> </args> 注意: 使用 XJC hisrc-basicjaxb-plugins 时,运行时类路径需要 hisrc-basicjaxb-runtime 依赖。 测试 JUnit 测试类 TrilogyTest.java 扫描示例文件并调用方法 checkSample(File sample) 将每个文件提供给测试人员。对于此项目,创建了一个 JAXBContext,并且 samples 路径中的每个文件都被 unmarshaled 为 Trilogy 对象。成功后,每个对象都会被编组以用于日志记录和您的审查。 示范 具有 main(...) 方法的 Java 标准引擎应用程序位于 org.example.trilogy.Main。该应用程序使用以下命令执行: mvn -Pexec compile exec:java -Dexec.args="src/test/samples/trilogy.xml" 免责声明:我是这些HiSrc项目的维护者。

回答 1 投票 0

根据 XML 架构文件将 SQL Server 数据导出到 XML

我有一个包含多个元素和属性的 .XSD(XML 架构文件),并且我有一个包含 .XSD 文件中所有列的 SQL Server 表。如何将数据从 SQL Server 表导出到 XM...

回答 1 投票 0

根据 XML 模式文件将 SQL 数据导出到 XML

我有一个包含多个元素和属性的 xsd(XML 架构文件),并且我有一个包含 xsd 文件中所有列的 SQL Server 表。如何将sql表数据导出到具有相同的XML文件

回答 1 投票 0

XML 正则表达式不允许&符号

我们有以下正则表达式 (^\S+([0-9a-zA-Z\-\?:\(\)\.,'\+\s].\S+)*$) 此正则表达式的 XML 架构解释不允许在文本中的任何位置使用与号 (&),但在 .NET 中

回答 1 投票 0

在快速部件中映射内容控件

我有这套锅炉模板语言,有很多重复区域。我制作了内容控件,以便可以将重复区域相互映射。我将其保存在特定文档中,所以

回答 1 投票 0

从 XSD 自动生成 C# 接口(带有函数原型)?

我知道如何以 XSD 格式定义类/数据结构并自动生成等效的 C# 类(使用 xsd.exe 或更详细的 xsd2code.exe)。 我想定义接口类

回答 2 投票 0

MS-Word 到 iXBRL

我需要使用 VS2008 开发一个 MS-Word 插件应用程序,将具有内容控件的 docx 文件转换为 iXBRL 格式。 iXBRL 格式是一种相对较新的财务报表标准。 难道是……

回答 3 投票 0

WSDL 包含内容

将带有 XSD 的 WSDL 读取到 org.dom4j.io.SAXReader 中的正确方法是什么?有没有办法使用 ZipInputStream 来做到这一点,这样我就不必将其保存到磁盘?

回答 1 投票 0

将内容控件映射到表单字段,但在快速部分中

我有这套锅炉模板语言,有很多重复区域。我制作了表单字段,以便可以将重复区域相互映射。我将其保存在特定文档中,因此任何...

回答 1 投票 0

如何在一个 WSDL 中创建多个方法并在每个方法中创建唯一的属性?

我不知道如何编写WSDL规范。 我尝试在 Soap UI 中执行此操作。 我不知道如何编写 WSDL 规范。 我尝试在 Soap UI 中执行此操作。 我不知道如何编写 WSDL 规范...

回答 1 投票 0

使用java和xsl文件将xml和xsd文件转换为csv文件

正如标题所说,我有一个xml和一个xsd文件,想使用java将它们转换为csv文件,并使用xsl文件将其结构化。 目前我只能转换我的 xml 文件并构建......

回答 1 投票 0

定义不带命名空间的 XSD(XML 架构)类型,但使用命名空间引用它

抱歉,如果这个问题有点奇怪,但我是 XSD 新手,并且有一段我无法理解的 XSD 代码。代码如下,因为如果没有代码,问题会相当混乱。 XSD...

回答 2 投票 0

complexType设置abstract=“true”的XSD问题

在XSD文件中定义如下: 在 XSD 文件中定义如下: <xs:element name="AdditionalData" type="AddData" minOccurs="0"> <xs:alternative test="@Type = 'Woodham'" type="AddDataWoodham"/> </xs:element> <xs:complexType name="AddData" abstract="true"/> <xs:complexType name="AddDataWoodham"> <xs:complexContent> <xs:extension base="AddData"> <xs:all> <xs:element name="FilePath" type="xs:string" minOccurs="1" /> <xs:element name="ScaleFactorP" type="xs:decimal" minOccurs="1" /> <xs:element name="ScaleFactorQ" type="xs:decimal" minOccurs="1" /> <xs:element name="CalculationMethod" type="xs:integer" minOccurs="1" /> <xs:element name="SlantLookupSize" type="xs:integer" minOccurs="1" /> <xs:element name="TiltLookupSize" type="xs:integer" minOccurs="1" /> </xs:all> </xs:extension > </xs:complexContent> </xs:complexType> 我是 XML 文件: <AdditionalData> <FilePath>files\matrix.xml</FilePath> <ScaleFactorP>1.5</ScaleFactorP> <ScaleFactorQ>1.5</ScaleFactorQ> <CalculationMethod>2</CalculationMethod> <SlantLookupSize>25</SlantLookupSize> <TiltLookupSize>72</TiltLookupSize> </AdditionalData> 但我收到一个错误: 我不知道问题出在哪里,有人可以帮我解决这个错误吗?谢谢! 我尝试做抽象=“假”,这不起作用,因为基本元素是空的...... 我不确定你想在这里实现什么目标。 您的类型替代规则是说,如果 @Type 是“Woodham”,那么该元素应该具有类型 AddDataWoodham;如果 Type 属性不存在或具有任何其他值(您的示例就是这种情况),则该元素应具有类型 AddData;但元素不能具有类型 AddData,因为该类型是抽象的。所以这显然是一个错误。 您的实例似乎符合类型 AddDataWoodham,但未针对该类型进行验证,因为它没有值为 Type 的 Woodham 属性。

回答 1 投票 0

是否可以从 Fhir XML 模式 (.xsd) 或 Fhir JSON 模式生成带有 Jackson 注释的 POJO 类?

在JDK中我们可以使用xjc *.xsd命令来生成POJO。生成的类将具有 XML 注释,例如 jakarta.xml.bind.annotation.XmlType。 但我对 Jackson 的 POJO 感兴趣

回答 1 投票 0

Enterprise Architect Sparx Systems 中的复杂类型排序

我在 Enterprise Architect 16.1 中遇到问题。我需要能够从非常复杂的伊甸园风格 UML 模型中输出 xsd,其中复杂类型保持严格的解析

回答 1 投票 0

Jackson 在编组 JSON 时忽略 XmlElement 名称/大小写

我正在尝试从 XSD->POJO->JSON 与区分大小写的 UPS 跟踪 API 一起使用。我在生成的 JSON 中使用 Jackson 2.6.7。当我看到下面的内容时,我看到了驼峰命名法: ”

回答 4 投票 0

使用架构验证 XML 文件,但浏览整个文档,然后显示错误?

我可以使用架构 (XSD) 验证 XML,但它会在第一个错误/故障处停止,并且不会从那里继续。 有没有办法遍历整个 XML 文件? 至少我的猜测是阅读......

回答 1 投票 0

Intellij IDEA:如何验证 XML SCHEMA 1

我正在使用 JDK 7 在 IDEA 13.02 中尝试 XML SCHEMA 1.1 这是我从教程中获得的 XML 架构代码。当我在 IntelliJ IDEA 中打开此文件并单击“验证”时,出现以下错误...

回答 2 投票 0

基于现有 XML 开发 XML 模式的问题

我在验证这段 XML 时遇到问题: 我在验证这段 XML 时遇到问题: <?xml version="1.0" encoding="UTF-8"?> <i-ching xmlns="http://www.oracolo.it/i-ching"> <predizione> <esagramma nome="Pace"> <trigramma> <yang/><yang/><yang/> </trigramma> <trigramma> <yin/><yin/><yin/> </trigramma> </esagramma> <significato>Questa combinazione preannuncia <enfasi>boh</enfasi>, e forse anche <enfasi>mah, chissa</enfasi>.</significato> </predizione> <predizione> <esagramma nome="Ritorno"> <trigramma> <yang/><yin/> <yin/> </trigramma> <trigramma> <yin/><yin/><yin/> </trigramma> </esagramma> <significato>Si prevede con certezza <enfasi>qualcosa</enfasi>, <enfasi>ma anche <enfasi>no</enfasi></enfasi>.</significato> </predizione> </i-ching> 此 XML 模式是使用 Russian Dolls 技术开发的: <?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.oracolo.it/i-ching" targetNamespace="http://www.oracolo.it/i-ching" > <xsd:element name="i-ching"> <xsd:complexType> <xsd:sequence> <xsd:element name="predizione" minOccurs="0" maxOccurs="64"> <xsd:complexType> <xsd:sequence> <xsd:element name="esagramma"> <xsd:complexType> <!-- vi sono 2 trigrammi --> <xsd:sequence> <xsd:element name="trigramma" minOccurs="2" maxOccurs="2"> <xsd:complexType> <xsd:sequence minOccurs="3" maxOccurs="3"> <xsd:choice> <xsd:element name="yang"/> <xsd:element name="yin"/> </xsd:choice> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> <xsd:attribute name="nome" type="xsd:string"/> </xsd:complexType> </xsd:element> <!-- significato: context model misto --> <xsd:element name="significato"> <xsd:complexType mixed="true"> <xsd:sequence> <xsd:element name="enfasi" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> 为了练习,我必须开发一个 XML 架构来验证以前的 XML。问题是氧气对我说: cvc-complex-type.2.4.a: Invalid content was found starting with element 'predizione'. One of '{predizione}' is expected. Start location: 3:6 End location: 3:16 URL: http://www.w3.org/TR/xmlschema-1/#cvc-complex-type 为什么?我的 xml 架构有问题吗? 非常感谢你 它正在寻找具有空命名空间的predizione,但它只能在默认命名空间predizione中找到http://www.oracolo.it/i-ching,因为您没有在elementFormDefault="qualified"元素中设置xsd:schema。 您可以在此处阅读有关此属性以及为什么需要它的更多信息。 基本上,最简单的修复方法是使用以下方法: <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.oracolo.it/i-ching" targetNamespace="http://www.oracolo.it/i-ching" elementFormDefault="qualified" >

回答 1 投票 0

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