我正在使用xsd验证xml文件,我想向用户返回有意义的消息。有什么方法可以在xsd中构建自定义消息。 最佳答案 答案“否”和"is"(或“是,但是...”)都适用于此,具体取决于您的需要;不幸的是,出于所有实际目的,答案是否定的。XSD规范不指定或约束API或用户界面,因此没有标准的方法可以在XSD架构文档中指定在违反特定约束时向用户提供什么消息。模式处理器允许您以某种方式控制错误消息是完全合法的,并且包含xs:appinfo元素部分是为了使类似的事情可行。但我不知道有任何架构验证器确实提供了这种功能(我很乐意了解任何提供这种功能的
定义XSD时,您可以选择将类型定义为嵌套类型或全局类型(complexType)。我知道全局类型在态射或元素重用方面更有用。但是,如果您有一个大数据模型,则必须为每个级别定义一个全局复杂类型,然后创建一个引用该全局类型的元素。嵌套全局因此,我的问题是:您什么时候使用嵌套类型而不是将它们设为全局类型?对于任何感兴趣的人:我的问题在某种程度上与这个问题有关(XMLattributevselement)。 最佳答案 在给出的示例中,两者之间没有真正的区别-也没有明显的优点或缺点。但是,在较大的模式中,如果选择嵌套而不是全局的做法没有明确定
我正在使用以下命令从我的输入XML文件--response.xml生成相关的xsd文件,我的困惑是(1)为什么有两个xsd文件输出(response.xsd和response_app1.xsd),我认为应该只生成其中一个?(2)如果需要使用xsd/classes生成C#类文件,应该使用哪个xsd文件?我的环境:VSTS2008+C#+.Net3.5。D:\>xsdresponse.xmlMicrosoft(R)XmlSchemas/DataTypessupportutility[Microsoft(R).NETFramework,Version2.0.50727.3038]Copyri
我正在尝试这样做:我有一个XML文件,我想根据XSD文件对其进行验证。到目前为止,上帝...我要做的是显示验证错误所在的所有节点。例如我有这个XML文件:Jonh91991919199191919当我验证此文件时,这将在tel节点中出现错误。我想向我的应用程序的最终用户展示名称,以及XML中的错误。我正在尝试在C#.NET中执行此操作。感谢您的帮助... 最佳答案 此代码根据XSD文件验证XML文件并返回带有行号的错误。publicstaticvoidValidateXML(Streamstream){XmlReaderSettin
我正在尝试为一些基本但特定的需求制作一个简单的xml编辑器,我不确定如何处理的事情是我希望能够在xsd-schema本身。我的想法是这样的:我想要有关元素在架构中是否“可列出”的信息(请注意,.xml文件没有关于元素是否可列出的信息或线索,可列出属性只是一种方式在编辑器中组织元素)。它不需要是它自己的属性。如果有一个misc属性或者我可以玩的东西就可以了。问题只是上面的模式没有验证(在这种情况下不支持'listable'属性。)有没有办法在模式中存储这种信息?似乎可以创建一个新的命名空间,但我不知道应该如何声明该命名空间,以便任何元素都可以在xsd中具有特殊属性(我宁愿避免弄乱xml文
我们目前有大约15个不同的XSD文件,这些文件定义了可供开发人员配置我们项目的许多XML配置文件。有什么方便的方法可以一次将所有这些导入到XML目录中吗?虽然多选比一次导入一个文件(我们目前必须这样做)要好,但理想的解决方案是使用引用XML文件,这样开发人员就不需要执行任何额外的操作要添加到目录中的新模式。我可以从下拉列表中看到,有以下选项:标签库定义文件XML目录文件DTD文件XSD文件是否可以使用“Taglib定义文件”或“XML目录文件”来引用多个XSD文件?如果是这样,是否有关于如何做到这一点的指示?谢谢,多米尼克。 最佳答案
这类似于这个问题C#Getschemainformationwhenvalidatingxml但是,我正在为LINQ目的使用XDocument。我正在读取/解析一组CSV文件并将其转换为XML,然后根据XSD架构验证XML。我想捕获与元素值相关的特定错误,生成对用户更友好的消息,并将它们返回给用户以便更正输入数据。我想包含在输出数据中的项目之一是一些架构信息(例如数字类型的可接受值范围)。在我目前的方法(我愿意改变)中,我能够捕获除模式信息之外的所有我需要的东西。我尝试访问验证事件处理程序的ValidationEventArgs参数中的SourceSchemaObject,但它始终为n
任何人都可以帮我添加一个限制到这个模式文件(对于OwnerEnglishName)吗?我知道如何使用简单类型来实现,而在复杂类型中我不知道如何实现。谁能帮忙?非常感谢。原始XML:架构(无限制):限制码: 最佳答案 这样做就可以了:-这是具有此模式的可接受的XML示例GGGGG 关于xml-如何向XML(XSD)模式中的复杂类型添加限制?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questio
在EBUCore模式(http://en.wikipedia.org/wiki/Metadata_standards)中有一个名为“版本”的属性定义为Theversionoftheschemafore.g.OAImanagement.如您所见,没有为它定义“类型”,我想知道它的默认类型是什么-anyType、anySimpleType、string,float,double,...W3C规范(http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/#section-Built-in-Simple-Type-Definition)有点难以通过
XMLSchema指定“出现次数指标”(maxOccurrence、minOccurrence)。在哪些元素(xsd:element、xsd:sequence或xsd:all)中应使用这些指标是否存在“最佳实践”?例子:要么或我想到达:FirstSecondThirdFourthFifth... 最佳答案 我自己发现的。乍一看,我的示例之间的区别不是很明显,但如果示例稍微复杂一点,它就会有意义。以下扩展阐明了差异:导致OnlyXOnlyY鉴于导致FirstXSecondXThirdX...FirstYSecondY...和导致Fir