XSD规范https://www.w3.org/TR/xmlschema11-1/#declare-schema没有指定version属性的语义:Theotherattributes(idandversion)areforuserconvenience,andthisspecificationdefinesnosemanticsforthem.W3C版本控制指南也没有https://www.w3.org/TR/xmlschema-guide2versioning/.这个属性应该用于指定XML架构文档的版本(例如2.3.1),还是用于编写架构的XSD语言的版本,是否达成共识?文档(即1.
我有一个应用程序,用户可以在其中上传XSD来描述某些类型的用户数据。应用程序需要解析此XSD以正确初始化数据库元数据的各个位(例如,将xs:enumerations转换为将填充下拉列表的允许值列表)。用户输入的相同XSD也用于验证其他系统发送到应用程序的XML文档。是否可以编写一个主XSD,我可以根据它验证这样一个用户提供的XSD,以便我可以限制用户如何描述他们的数据,从而使XSD解析工作更容易?例如,假设我希望能够允许用户上传任何XSD,除非它包含xs:union标签。我如何编写XSD来验证用户上传的XSD以执行此规则? 最佳答案
作为构建过程的一部分,我想根据架构(XSD)验证XML文件。我正在尝试像这样使用schemavalidate任务:这会产生以下错误:[...]BUILDFAILEDbuild.xml:65:Thefollowingerroroccurredwhileexecutingthisline:build.xml:59:ParserdoesnotsupportXercesorJAXPschemafeatures我使用的是最新的ant发行版(1.7.1)。是否需要任何其他库才能使验证正常工作? 最佳答案 schemavalidate任务实际上如
我有一个XML文件,其中包含数据源的配置数据,以及“dataseries”元素中包含的相关查询。因为我真的不需要由XML组成的域对象,而只需要读取设置并用于配置连接等。我想知道使用我定义的XML架构是否有任何优势?我正在使用LINQtoXML来读取我的XML,最初认为使用强类型XML是个好主意。我应该使用.xsd还是过度杀伤?模拟XML文件:sqlServer6.0302SELECTPeriod,PriceFROMPriceUSWHEREDate=@dateSELECTPeriod,PriceFROMPriceUSWHEREDate=@date 最佳答案
我有一个XML定义属性,例如:是否可以使用XML模式指定条件,例如“如果属性名称为‘持续时间’,则该值必须为整数”。我认为这是不可能的,在XML文件中对此类信息建模的推荐方法是什么?我一直在想这样的事情:true30这样我就可以在我的模式中定义类型限制。但是,如果我拥有数百个不同的属性,并且这些属性在未来可能会增长,会发生什么情况...?谢谢。 最佳答案 推荐的方法是使用具有特定类型的特定属性或元素对XML进行建模。true30 关于xml-XSD:modelproperties(nam
我有一堆XSD,它们又继承了来自不同XSD的架构,我需要从这个XSD生成一个XML文件用于测试目的。我正在使用oXygenXMLEditor这样做但是当我尝试这样做时,它对我不起作用并且它说请定义根节点但是它不允许我这样做。因此,如果有人使用过oxygenXML,请提出解决此问题的方法?附加问题:我们如何使用从其他XSD继承模式的XSD验证传入的XML文件?这里的事情是我有一个传入的XML文件,因为我有大约57个XSD,其中一些从其他XSD继承了架构。 最佳答案 您可以使用XMLSPY.使用XMLSPY,您可以从XML生成XSD/D
我正在尝试了解如何自定义由JAXB2.1.12生成的方法名称。我有一个史诗般的XML模式(不在我的控制范围内),它包含一个组,其中一个选择元素包含大约200个其他元素。因此,当我生成JAXB类时,创建的get()方法毫无用处-它最终变成类似于“getElement1AndElement2AndElement3()”的东西。我想将get()方法重命名为更好的名称,但我不知道该怎么做。我知道在thetutorial它描述了通过在元素上使用自定义类名。我发现了一篇非常古老的文章(http://onjava.com/pub/a/onjava/2003/12/10/jaxb.html?page=
我正在尝试根据它的xsd验证我的xml,并在给定的编码中得到错误的无效字符。我用来验证的代码如下:privatestaticvoidValidatingProcess(stringXSDPath,stringxml){MemoryStreamstream=newMemoryStream(ASCIIEncoding.Default.GetBytes(xml));using(StreamReaderSR=newStreamReader(XSDPath)){XmlSchemaSchema=XmlSchema.Read(SR,ReaderSettings_ValidationEventHand
是否可以指定标签或属性的值不应该是some_value?我有一个奇怪的要求,xsd不知道发送给它的值。该特定标记的值可以是具有任何值的字符串除了一个值(例如data_migration)。如果发送了该特定值,则发送方应确认错误。是否可以指定此限制? 最佳答案 我不是正则表达式专家,但是这个simpleType使得以data_migration开头的所有内容都无效。 关于xml-如何使用XSD排除XML文件中的枚举值?,我们在StackOverflow上找到一个类似的问题:
在XML模式中是否有一种方法可以指定元素可以包含空字符串或小数?如果我像这样将类型指定为xs:decimal:那么空白值将无法通过验证:(我意识到表示无值的最好方法是不包含该元素,但我想知道是否有允许空白或小数的方法。) 最佳答案 添加nillable="true"。 关于xml-指定XML架构数据类型为小数或空白,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2510984/