Tag: xsd

xjc:两个声明在ObjectFactory类中导致冲突

运行以下xjc命令会引发错误: $ xjc “ftp://ftp.ncbi.nih.gov/bioproject/Schema/Core.xsd” parsing a schema… compiling a schema… [ERROR] Two declarations cause a collision in the ObjectFactory class. line 340 of ftp://ftp.ncbi.nih.gov/bioproject/Schema/Core.xsd [ERROR] (Related to above error) This is the other declaration. line 475 of ftp://ftp.ncbi.nih.gov/bioproject/Schema/Core.xsd 虽然我理解JAXB绑定以及XJC中存在什么冲突,但我不明白当前模式中的冲突在哪里。 我应该怎么解决这个问题? 谢谢, 皮埃尔 更新:这里是错误的上下文: $ curl -s “ftp://ftp.ncbi.nih.gov/bioproject/Schema/Core.xsd” | sed ‘s/^[ \t]*//’ | cat -n | […]

在jar文件中引用XSD架构

我有两个模式文件,一个从另一个导入。 在Eclipse模式中执行代码时,但是找不到jar模式文件中的代码 这是代码 SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setNamespaceAware(true); factory.setValidating(false); SchemaFactory schemaFactory = SchemaFactory .newInstance(“http://www.w3.org/2001/XMLSchema”); try { factory.setSchema(schemaFactory.newSchema(new Source[] { new StreamSource(getClass().getResource(“Liso.xsd”) .getFile()), new StreamSource(getClass().getResource(“LisoXml.xsd”) .getFile()) })); this.saxParser = factory.newSAXParser(); } catch (SAXException se) { System.out.println(“SCHEMA : ” + se.getMessage()); // problem in the XSD itself } 这是我得到的错误 SCHEMA : schema_reference.4: Failed to read schema document […]

如何在XSD中为基类型生成@XmlRootElement类?

我在使用XJC从XSD生成具有适当JAXB注释的Java类时遇到一些问题。 我有一个相对简单的XSD文件来定义我的XML模式。 XSD中的复杂类型利用标记inheritance。 我遇到的问题是我需要所有复杂类型来生成带有@XmlRootElement Java类。 不幸的是,XJC生成类的方式意味着只有派生类才能获得@XmlRootElement (而不是基类)。 我使用简单的全局绑定指令来确保它解决了我在XJC面临的许多其他问题。 以下是XSD的示例代码段: 正如我们从上面的代码片段中看到的, EmailArtifact扩展了Artifact 。 EmailArtifact的java类代码包含以下内容: @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = “EmailArtifact”, propOrder = { “subject”, “threadSubject”, “from”, “to”, “cc”, “bcc”, “messageId”, “date”, “size”, “hasAttachment”, “sensitivity”, “headerHash” }) @XmlSeeAlso({ ExtendedEmail.class }) @XmlRootElement(name = “EmailArtifact”) public class EmailArtifact extends Artifact { protected String subject; protected String threadSubject; protected String from; protected […]

XML命名空间如何工作

上面的示例显示了具有多个名称空间的XML文件的示例。 这些命名空间的目的是什么,最重要的是,即使没有Internet连接,它们也可以工作? 我认为以xsi:schemaLocation开头的第二位包含用于validationXML文档结构的XML模式文件。 如果我在不在网络上的计算机上运行使用此配置文件的应用程序,为什么这些仍然有效? URL是否以某种方式别名为JAR文件?

validationHUGE XML文件

我正在尝试找到一种方法来针对XSDvalidation大型XML文件。 我看到了这个问题……validationXML的最佳方法……但答案都指向使用Xerces库进行validation。 唯一的问题是,当我使用该库来validation180 MB文件时,我得到一个OutOfMemoryException。 是否有其他工具,库,策略来validation大于普通的XML文件? 编辑:SAX解决方案适用于javavalidation,但libxml工具的另外两个建议对于java之外的validation也非常有用。

Android架构validation

我已经创建了一个XML ,我有一个XSD文件,我必须用这个模式validationxml,我可以得到任何这样的例子。 我必须将xsd文件放在我的项目中,以便我可以使用该模式进行validation。

从XML模式生成XML实例(xsd)

我想知道是否有一种方法可以自动生成XSD架构中的XML文件,因为我有数据和标签。 我想在python / java中这样做。 这似乎很有可能,但我找不到任何允许我这样做的库。 我正在寻找一个相当快速的解决方案..任何想法? 另请参见: how-to-generate-sample-xml-documents-from-their-dtd-or-xsd

将JAXB生成的类用于需要带有模式的整数的元素

我的XML Schema中有一个元素,定义如下: NumberCodeValueType的位置是: 也就是说,我的号码可以从前导0开始。 我无法修改此架构。 我正在使用JAXB来生成我的Java类。 不幸的是, Code元素的访问器将整数列表作为参数,这意味着所有前导0都被剥离(因为,据我所知,使用整数类型时无法在Java中保持前导0)! 有什么办法可以解决这个问题吗? 谢谢你的帮助!

用于解析XSD架构文件的Java API

是否有Java API来解析XSD架构文件? 我找到了XSOM ,但它似乎不再被维护了。