Tag: xsd

模式定义中的<xsd:all>和<xsd:sequence>之间的区别?

我正在使用复杂types的xsd:all 。 当我错过任何强制性的元素,而validation它会显示所有的元素。 它不会显示确切的遗漏元素。 但是如果我使用xsd:sequence我可以得到确切的错过的元素。 这两者有什么区别? xsd:sequence :XML元素的xsd:sequence必须相同。 但是, xsd:all :XML元素可能是任何顺序。

从XML模式生成Json模式(XSD)

有谁知道如何从现有的XML模式(XSD文件)生成JSON模式 ? 有没有可用的工具?

JAXB – 属性“值”已被定义。 使用<jaxb:property>来解决这个冲突

使用JAXB生成XML绑定类。 该模式基于一组传统的XML文件,并包含以下代码片段: <xs:complexType name="MetaType"> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute type="xs:string" name="Name" /> <xs:attribute type="xs:string" name="Scheme" /> <xs:attribute type="xs:string" name="Value" /> </xs:extension> </xs:simpleContent> </xs:complexType> “值”属性与xs:string的“值”属性冲突,并且代码生成失败,出现错误: com.sun.istack.SAXParseException2: Property "Value" is already defined. Use &lt;jaxb:property> to resolve this conflict.

为什么它被称为可罚?

在XML模式中,您可以将元素标记为可nillable这意味着它可以采用明确的NULL值。 请参阅nillable和minOccurs XSD元素属性以获得很好的解释。 我很好奇的是为什么它叫做nillable ? 我总是看不出来,认为这是一个错字! 编辑我明白, nil是null的同义词。 我想知道为什么nil被选中,而不是更常见的(在计算机科学) null 。 特别是因为它应该是可以nilable (注意单个L)!

生成一个实现接口的JAXB类

我目前正在使用JAXB生成Java类,以解组XML。 现在我想创build一个与第一个类似的新模式,并且生成的类实现相同的接口。 举例来说,我有两个模式文件,它们用相似的标签来定义XML: adult.xsd <?xml version="1.0" encoding="UTF-8"?> <xs:element name="Person"> <xs:complexType> <xs:sequence> <xs:element name="Name" type="xs:string" /> <xs:element name="Age" type="xs:integer" /> <xs:element name="Job" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> kid.xsd <?xml version="1.0" encoding="UTF-8"?> <xs:element name="Person"> <xs:complexType> <xs:sequence> <xs:element name="Name" type="xs:string" /> <xs:element name="Age" type="xs:integer" /> <xs:element name="School" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> 使用JAXB和XJC我想生成两个类文件: public class Adult implements Person […]

如何解决“无法find元素/属性<xxx>的模式信息?

在Visual Studio中,我有一个使用MS Enterprise Library 4.0应用程序块的asp.net 3.5项目。 当我打开我的Webconfiguration文件时,我的错误列表中填充了99条消息 Could not find schema information for the element 'dataConfiguration'. Could not find schema information for the attribute 'defaultDatabase'. Could not find schema information for the element 'loggingConfiguration'. Could not find schema information for the attribute 'tracingEnabled'. Could not find schema information for the attribute 'defaultCategory'. 如果我closures了Web.config文件,它们就会消失(但是当我需要再次打开文件时它们会立即返回)。 在做了一些观察之后,我发现这是因为缺lessVisual Studio需要的XSD或模式文件才能正确“理解”web.config文件中的模式并为其提供智能感知。 […]

为什么我们需要targetNamespace?

我想了解在XML Schema和WSDL中使用的targetNamespace的用途。 事实上,为了简单起见,我们将这个问题限制在XML Schema中。 我觉得我完全理解(简单)XML命名空间的概念。 按照惯例,我们使用URI / URL,但是我们可以使用任何string,然后我们将其分配给前缀以供XML节点和属性重用,或者简单地作为当前范围的默认命名空间。 到现在为止还挺好 ? 现在inputXML Schema。 出于某种原因,XML Schema的发明者认为简单命名空间的概念是不够的,他们不得不引入目标命名空间。 我的问题是:目标命名空间引入的常规XML命名空间无法提供什么显着的好处? 如果XML文档通过schemaLocation或import语句引用xsd文档,则无论哪种情况,我都会将path引导到正在引用的实际xsd文档。 这就是我想要引用的Schema的唯一定义。 另外,如果我想将此Schema绑定到引用文档中的特定命名空间,为什么我必须复制在我引用的XML Schema中已经定义的精确targetNamespace? 为什么我不能简单地重新定义这个命名空间,但是我想在这个命名空间将被用来引用那个特定的XML Schema文档,我想参考的XML文档? 更新: 举一个例子,如果我在XML实例文档中有以下内容: <p:Person xmlns:p="http://contoso.com/People" xmlns:v="http://contoso.com/Vehicles" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://contoso.com/schemas/Vehicles http://contoso.com/schemas/vehicles.xsd http://contoso.com/schemas/People http://contoso.com/schemas/people.xsd"> <name>John</name> <age>28</age> <height>59</height> <v:Vehicle> <color>Red</color> <wheels>4</wheels> <seats>2</seats> </v:Vehicle> </p:Person> 为什么例如people.xsd Schema需要定义一个名为“http://contoso.com/schemas/People”的targetNamespace? 为什么我们需要xsd文件中的targetNamespace定义呢? 在我看来,您必须从schemaLocation的名称空间部分获得的所有内容已包含在XML实例文档中。 在xsd文档中强制使用相同的值来实现targetNamespace的好处是什么? 跟进问题给保罗的答案: 你能给我一个具体的例子,这样的xsd元素名称之间的“冲突”变得明显,这将解释需要targetNamespace? 好的,这里是试图回答我自己的问题。 让我知道,如果它似乎与你相干。 看看由Paul帮助我链接的页面上的例子。 如果我们以上述原始问题中的XML实例为例,我们有两个参考车辆元素的定义。 一个在XML实例文档本身是显式的,可见的,但是我们也必须设想person.xsd XML Schema再次引用同一个车辆定义,作为人员允许的子元素。 […]

如何在DTD和XSD之间进行select

我想要使​​用DTD或XSD来描述我的XML文档。 我读过XSD比DTD更好,因为它们支持命名空间和数据types,而且DTD比较老。 这是否意味着我只能将XSD用于将来的所有需求,并完全忽略DTD作为选项? 我是否应该学习DTD的结构? 在XSD和DTD之间进行select时,我应该考虑哪些因素?

免费的DTD到XSD转换工具?

我有一个DTD,我需要转换为XSD(XML模式)文件。 有没有免费的工具或简单的方法来完成这个?

修复:全局元素的“configuration”已经被声明

我使用了第二种解决方法: 如何解决“找不到元素/属性<xxx>的模式信息”? 即用button创build了一个XSD来创build一个scheme。 我将app.config中的样式表更改为app.xsd,但现在我得到警告: Global元素的“configuration”已经在app.xsd中声明了 即使更改名称,也会显示警告。 有没有人有这个解决scheme?