xsd 相关问题

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

无法使用 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

根元素之前的文档中的标记在 .dtd 文件中必须格式正确

我有下一个文件: 我有下一个文件: <!ELEMENT notes (note+)> <!ELEMENT note (to, from, heading, body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> 和 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE notes SYSTEM "validation.dtd"> <notes> <note> <to>Alice</to> <from>Bob</from> <heading>Reminder</heading> <body>Don't forget our meeting!</body> </note> <note> <to>John</to> <from>Jane</from> <heading>Invalid Tag</heading> <body>This should be </body> </note> <note> <to>Tom</to> <from>Sara</from> <heading>Empty Tag</heading> <body>hello</body> </note> </notes> 和我的 Java 验证器 import org.xml.sax.Attributes; import org.xml.sax.SAXParseException; import org.xml.sax.helpers.DefaultHandler; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import javax.xml.validation.Schema; import javax.xml.validation.SchemaFactory; import java.io.File; public class SAXParserTest { public static void main(String[] args) { parseWithDTDValidation("C:\\Users\\ilapa\\Desktop\\university\\4_course_1_sem\\Проектування Веб сервісів\\lab_5\\lab5\\src\\main\\resources\\validation.dtd"); // parseWithXSDValidation("C:\\Users\\ilapa\\Desktop\\university\\4_course_1_sem\\Проектування Веб сервісів\\lab_5\\lab5\\src\\main\\resources\\index.xml", // "C:\\Users\\ilapa\\Desktop\\university\\4_course_1_sem\\Проектування Веб сервісів\\lab_5\\lab5\\src\\main\\resources\\XSDvalidation.xsd"); } private static void parseWithDTDValidation(String filePath) { try { SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setValidating(true); // Увімкнути валідацію по DTD SAXParser parser = factory.newSAXParser(); parser.parse(new File(filePath), new CustomHandler()); } catch (Exception e) { e.printStackTrace(); } } private static void parseWithXSDValidation(String filePath, String schemaPath) { try { SAXParserFactory factory = SAXParserFactory.newInstance(); SchemaFactory schemaFactory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema"); Schema schema = schemaFactory.newSchema(new File(schemaPath)); factory.setSchema(schema); SAXParser parser = factory.newSAXParser(); parser.parse(new File(filePath), new CustomHandler()); } catch (Exception e) { e.printStackTrace(); } } } class CustomHandler extends DefaultHandler { @Override public void startElement(String uri, String localName, String qName, Attributes attributes) { System.out.println("Start Element: " + qName); } @Override public void endElement(String uri, String localName, String qName) { System.out.println("End Element: " + qName); } @Override public void characters(char[] ch, int start, int length) { System.out.println("Characters: " + new String(ch, start, length).trim()); } @Override public void error(SAXParseException e) { System.out.println("Error: " + e.getMessage()); } @Override public void fatalError(SAXParseException e) { System.out.println("Fatal Error: " + e.getMessage()); } @Override public void warning(SAXParseException e) { System.out.println("Warning: " + e.getMessage()); } } 编译器给我下一个错误:`org.xml.sax.SAXParseException;系统ID:文件:src/main/resources/validation.dtd;行号:1;列数:3;文档中根元素之前的标记必须格式正确。 我检查 .dtd 验证和 xml 文件中的每个符号吗?但找不到任何语法错误 如果有人回答我的问题我会很高兴 看起来您正在尝试解析此代码行中的 validation.dtd 文件: parseWithDTDValidation("C:\\Users\\ilapa\\Desktop\\university\\4_course_1_sem\\Проектування Веб сервісів\\lab_5\\lab5\\src\\main\\resources\\validation.dtd"); 您可能应该将路径传递给 xml 文件本身。

回答 1 投票 0

Java 的 SchemaFactory 真的从 w3.org 获取 XML 模式吗?

假设我使用以下代码验证一些 XML: SchemaFactory 工厂 = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); 模式模式=factory.newSchema(localXsdFile); 验证器

回答 1 投票 0

如何确定某个值或标签属于 IXBRL/XBRL 文件中的哪个报告部分?

我正在尝试使用英国 CompaniesHouse 网站公开提供的 html/ixbrl 文件为备案的公司帐户构建模型。我遇到的问题是每个分类报告中的标签值(

回答 1 投票 0

“xsd”未被识别为内部或外部命令

我们的巡航控制系统一直存在构建失败的原因: “xsd”未被识别为内部或外部命令 C:\Program Files\Microsoft Visual Studio�2\Professional\MSBuild\Current\Bin...

回答 1 投票 0

complexContent xsd:restriction 中未提及的元素属性是否从父类型复制过来?

如果 xsd:restriction 中的元素没有由派生该限制的复杂类型的匹配元素使用的属性,则该属性的计算值是多少

回答 1 投票 0

如何在 XSD 架构中正确转义正则表达式模式?

我需要满足仅接受 MM/DD/YYYY 形式的值的要求。 根据我读到的内容:https://www.w3.org/TR/xmlschema11-2/#nt-dateRep 使用 ...

回答 2 投票 0

XBRL 验证错误:xbrldie:PrimaryItemDimensionallyInvalidError

根据分类法,我尝试在下表结构中给出答案: 根据我目前的理解(这可能是错误的,因为我对 xbrl 比较陌生)我构建了 XBRL 实例: <...

回答 1 投票 0

将 xml 信息无损存储为 json 的标准方法?

我目前正在开发一个项目,该项目正在从使用存储在 postgresql 中的 XML 数据迁移到存储在 mongodb 中的 json。 问题是:需要保持一定程度的向后兼容性......

回答 1 投票 0

jsonix-schema-compiler Maven 使用

我尝试根据https://github.com/highsource/jsonix-schema-compiler/wiki/Maven-Usage使用jsonix-schema-compiler,但它不起作用 我什至尝试指定其他参数作为......

回答 1 投票 0

与元素类型“beans”关联的属性“xsi:schemaLocation”的前缀“xsi”未绑定

为什么我会出现这个错误 [致命错误]:与元素类型“beans”关联的属性“xsi:schemaLocation”的前缀“xsi”未绑定。 在我的 XML 文件的标题处: 为什么我会出现这个错误 [致命错误]:与元素类型“beans”关联的属性“xsi:schemaLocation”的前缀“xsi”未绑定。 在我的 XML 文件的标题处: <beans xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> 错误出现在我的 XML 声明的最后一行。 请问我该怎么做才能消除这个错误? 只需添加 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 到您的 bean 元素以消除该错误。 我的xml文件已经有 xmlns:xsi =“http://www.w3.org/2001/XMLSchema-instance” 但我仍然收到错误。 请让我知道如何消除该错误。 谢谢

回答 2 投票 0

Java 中的 XML XSD 到 AVRO avsc 映射

我有一个 XML 文件和 XSD 文件作为输入。理想的目标是基于 avro 架构 (avsc) 将 XML 数据序列化为 AVRO,然后反序列化回来。 XSD文件转换成POJO...

回答 1 投票 0

SAXParseException; src-resolve:无法将名称“...”解析为(n)“类型定义”组件

我正在尝试进行架构验证,当前使用 javax.xml.validation.SchemaFactory。不幸的是,当我调用 newSchema(Source schema) 函数时,出现以下错误: 引起者:组织...

回答 5 投票 0

编写 XSD 文档的更简洁的方式

有没有更简洁的方式来编写 XSD 文档。我发现当有很多属性和扩展元素时,代码很难阅读。 这是我的 XSD 示例: 我添加了一些限制...

回答 1 投票 0

使用 XDocument 创建 XML,或使用 xsd.exe 和 XmlSerializer 从 XSD 架构创建 XML?

当您可以使用 XDocument 时,为什么要使用 xsd.exe 工具为 XSD 模式创建类,然后使用序列化器创建 XML 文件。 我是否应该始终使用 XDocument 并通过

回答 1 投票 0

如何从 XSD 架构构建数据库并导入 XML 数据

我有一个复杂的 XSD 架构和数百个符合该架构的 XML 文件。 如何自动创建相关的 SQL Server 表来存储 XML 数据? 我考虑过创建 C# 类...

回答 3 投票 0

使用 jaxb2:xjc 的正确 pom 配置是什么

我正在尝试使用 jaxb2:xjc 从多个 .xsd 文件生成域 java 文件。 以下是我的 pom.xml 文件的构建部分: 我正在尝试使用 jaxb2:xjc 从多个 .xsd 文件生成域 java 文件。 以下是我的 pom.xml 文件的构建部分: <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>jaxb2-maven-plugin</artifactId> <version>3.2.0</version> <executions> <execution> <id>xjc-atom-schema</id> <goals> <goal>xjc</goal> </goals> <configuration> <clearOutputDir>true</clearOutputDir> <outputDirectory>${project.basedir}/src/main/java/org.greenbuttonalliance.gba_sandbox/common/model/atom</outputDirectory> <packageName>org.greenbuttonalliance.gba_sandbox.common.model.atom</packageName> <sources> <source>${project.basedir}/src/main/resources/atom.xsd</source> </sources> </configuration> </execution> <execution> <id>xjc-energy-schema</id> <goals> <goal>xjc</goal> </goals> <configuration> <clearOutputDir>true</clearOutputDir> <outputDirectory>${project.basedir}/src/main/java/org.greenbuttonalliance.gba_sandbox/common/model/energy</outputDirectory> <sources> <source>${project.basedir}/src/main/resources/usage.xsd</source> </sources> <packageName>org.greenbuttonalliance.gba_sandbox.common.model.energy</packageName> </configuration> </execution> <execution> <id>xjc-retailcustomer-schema</id> <goals> <goal>xjc</goal> </goals> <configuration> <clearOutputDir>true</clearOutputDir> <outputDirectory>${project.basedir}/src/main/java/org.greenbuttonalliance.gba_sandbox/common/model/retailcustomer</outputDirectory> <sources> <source>${project.basedir}/src/main/resources/retailcustomer.xsd</source> </sources> <packageName>org.greenbuttonalliance.gba_sandbox.common.model.retailcustomer</packageName> </configuration> </execution> </executions> </plugin> </plugins> </build> 我能够成功执行 mvn clean install,但是当我尝试执行 mvn jaxb2:xjc 时,我收到以下错误消息: Failed to execute goal org.codehaus.mojo:jaxb2-maven-plugin:3.2.0:xjc (default-cli) on project common: : MojoExecutionException: NoSchemasException 上面的 pom 构建部分位于公共子目录中,旨在用作我的项目目录结构中显示的其他子目录的库 jar: 正在common子目录中执行mvn jaxb:xjc命令。 如有任何帮助,我们将不胜感激。 我尝试了几个项目组织,并最终通过将 .xsd 文件移动到公共子目录的资源文件夹而不是将它们放在资源目录中的模式文件夹中来使 mvn 安装正常工作。 我已使用 -X 诊断选项执行 mvn jaxb2:xjc 命令。根据输出,Jaxb2 使用默认输出目录,尽管 outputDirectory 被 org.codehaus.mojo 插件配置内容覆盖。 这是否意味着真正的问题是 xjc 没有正确处理公共子目录中的 pom.xml 文件,而是真正在查看另一个 pom.xml 文件? 短期目标 jaxb2:xjc 只能由具有单一配置的用户使用,因为它是使用 default-cli id 执行的(请参阅使用正常 clean install 和仅使用 jaxb2:xjc 运行时的 mvn 输出和插件执行) 查看另一个类似插件的相关问题:https://github.com/highsource/jaxb-tools/issues/520#issuecomment-1987970784 最初问题的另一个提示:您应该在 src/main/java 目录之外生成源,但更多地在 target/generate-sources/xjc-XXX 之类的目录中生成源,其中 XXX 对于每个不同的执行都是不同的。

回答 1 投票 0

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