草庐IT

xml - 如何将 jar 文件中的架构 (XSD) 导入另一个架构 (XSD)

我有一些在xsd文件中定义的常见类型,该文件随后被打包为一个jar文件。我的类路径中有这个jar文件,我想将这个xsd包含到另一个xsd中以使用这些类型。如何引用jar文件中的模式?我也想从新模式创建JAXB对象是否可能。我还想在我的WSDL中使用这个新模式。可能吗? 最佳答案 XJC工具提供了一个模式目录机制来处理有问题的导入/包含的模式:https://javaee.github.io/jaxb-v2/doc/user-guide/ch03.html#compiling-xml-schema-fixing-broken-refe

c# - 如何在 .NET 中解析联合和列表类型的值?

我有一个XML架构,其中包含使用的数据类型和.这是一个摘录:这是一个示例XML片段:42hello123.25.6二上元素是联合,较低的元素是一个列表。我的问题是,如何解析和.NET中的元素?如何检查union元素中的值具有哪种数据类型?如何提取列表元素中的元素并将它们转换为C#列表?System.XML是否内置支持这种解析,还是需要我自己编写解析代码? 最佳答案 希望得到更好的答案,但是,我觉得你需要自己写。如果你想要一个通用的解析器来处理xs:list和xs:union的所有可能实例,你会遇到一个更困难的问题,但对于你的特定模式

xml - 断言无效、放错位置或出现太频繁

我在尝试生成我的XSD时遇到了这个错误,但无法弄清楚我做错了什么;我的代码如下所示:想法是元素CABEZA/VERSION_ORIG必须等于DATA_MAJ/VERSION_SIT_NOM。我已经在寻找一些解决方案,但对我来说似乎一切正常。提前致谢 最佳答案 您的模式文档对我来说看起来不错(更重要的是,对于Saxon9也是如此)。因此,您的错误消息最可能的原因是(1)您正在使用XSD1.0处理器来处理XSD1.1模式文档,以及(2)在这种情况下,您的处理器没有提供世界上最好的错误消息.此时(2013年初)XSD1.1得到Saxon和

xml - 为给定的 XML 模式生成 Stax Writer API

我有一个XML模式。我在Stax上写了一个薄层,以允许“即时”生成符合要求的文档(我不想要类似dom的API,我需要低占用空间/无占用空间)。API仅包含以下方法:writeCar(Stringmanufacturer)writeWheels(Stringmanufacturer,booleanwinter)...这些执行状态检查,然后调用适当的stax方法。一个特点是没有writeEndXXX方法(我的模式是明确的,所以你不能在wheels元素中有任何汽车。这意味着我总是知道什么时候关闭打开的元素)。唯一的异常(exception)是有一个flush()将写入所有挂起的结束标记。wr

java - Jackson:从 XSD 生成 Jackson 类

类似于JAXB为给定的XSD生成JAXB类,Jackson是否提供任何实用程序来从XSD或JSON生成Jackson类。JAXB类geberator已经为定义的XSD模式生成了一组类。例如,对于多态类型,JAXB具有以下注释以根据XML元素名称识别名称。@XmlElements({@XmlElement(name="Dog",type=Dog.class),@XmlElement(name="Cat",type=Cat.class)})protectedListanimal;是否可以在Jackson中创建类似的类。即,根据XML元素名称识别类型。 最佳答案

c# - 从 C# 类代码生成 xsd 注释和文档标记

使用xds.exe(或othermethods)从类生成XSD文件效果很好,但我找不到将文档(或任何类型的描述)插入输出XSD的方法。例如C#类publicclassAnimal{publicintNumberOfLegs;}生成XSD但是我希望能够将XSD注释作为元数据添加到类中,这样XSD就可以显示为Willneedtobegreaterthan0towalk!有没有什么简洁的方法可以在C#代码中实现这一点?向xml元素/属性添加任何类型的描述的任何方式都可以。注释必须与实际代码类似,如下所示:publicclassAnimal{[XmlAnnotation("Willneedto

xml - 什么软件支持 XML 文档中的类变量代码完成?

因此,我使用我们用于定义内容的内部XML解决方案,以及它自己的XSD文件。我希望能够像在某些情况下使用C#和其他语言一样执行上下文标记和引用自动完成,同时仍然使用XSD文件进行语法验证。示例:当我在第三个对象中输入“source=”时,我希望它为我提供“foo”、“bar”和文件(或项目,无论哪种方式)中对象的任何其他ID。'foo'和'bar'不是XSD文件中的预定义字符串;我们有成千上万个,而且每天都在增加。所以,当我声明一个新的XML节点时我希望下次键入“source=”时在列表中提示我使用“someid”,就像C#/C++处理变量的方式一样。我愿意使用任何代码编辑器/文本编辑器

从 XSD 生成的 C# 类包含标有不同限定属性的属性

我无法理解为什么C#代码生成器(xsd、xsd2code)生成的输出类Profile具有两个标记为不同属性的相同类型的属性。其中一个被标记为不合格,另一个则不是。我的XSD看起来像这样:以及xsd2code生成的输出代码:usingSystem.Collections.Generic;usingSystem.Xml.Schema;usingSystem.Xml.Serialization;namespaceSO2_installation{publicclassParameterList{publicParameterList(){Parameter=newList();}public

c# - 基于 XSD 变化的动态 XSLT 生成

最初我对每个XSD都有不同的XSD定义,我存储了一组XML文件。一段时间后,XSD定义发生了一些变化,因此我存储的XML不再验证新的XSD。为了获得支持,我需要编写XSLT并更改我存储的XML以再次验证新的XSD。现在,在这种情况下,每次XSD更改时,我都需要手动编写XSLT如何动态生成此XSLT。目前我可以比较新旧XSD并使用Microsoft.XmlDiffPatchDLL获取更改列表。基于此更改,我需要使用C#生成XSLT。 最佳答案 我不知道你的问题是什么,但我认为这在技术上是可行的。只编写一些读取Xml然后扩充它并将其设置

XML Schema - 依赖于可选属性存在的子元素

是否可以在XSD中定义以下场景:父元素有一个属性是可选的。如果属性不是presentinXML,atleastonechildelementmustexists.如果attributeispresent,therecanbezeroormorechildelements.例子:有效somevaluesomevalue无效 最佳答案 不..原因是:在您的情况下,您试图根据其他一些标签/属性的值来验证元素/标签的存在..(XSD基本上是一组声明)需要多个声明相同的元素..XSD中不允许对同一元素进行多次声明..:-(查看similarp