草庐IT

xml - 如何确保 XML 模式中的元素值唯一?

我想确保以下xml中没有重复的书名:Book1Book2Book1我正在使用以下架构:oXygenXML编辑器在我验证时告诉我这是有效的。有人能看出我做错了什么吗? 最佳答案 模式似乎没问题,应该检测到重复项。可能是氧气中的错误?您可以试试这个网站来验证您的xml:http://www.xmlvalidation.com你会看到它在你的xmldocument中发现了错误:Duplicateuniquevalue[Book1]declaredforidentityconstraintofelement"books"

xml - XML 模式中的 ref 和 type 有什么区别?

考虑以下架构:第6行对“Child”的ref失败,而第7行的type验证。对于属性,ref成功,而type失败。我想了解原因。我对ref的理解是,它只是引用另一个元素,并指定您希望在该位置看到引用类型(定义中给出的名称)的实例。显然我错了,那么ref到底是什么意思? 最佳答案 使用ref=".."您正在“粘贴”在其他地方定义的现有元素/属性。使用type=".."您正在将一些结构(在complextype/simpletype中定义)分配给新元素/属性。请看以下内容: 关于xml-XML

xml - XSD - 如何描述第一个元素必须首先出现在序列中的无序元素类型集?

这是一个XML模式问题。我知道xsd:all元素不能出现在序列中(必须是其类型的顶级元素)。也就是说,我不能使用以下内容:我的问题是如何以任何顺序(无序集)声明上面的“ADD”和“DELETE”元素,但仍然确保元素“Name”是第一个并始终出现。(想想我不仅有“ADD”和“DELETE”,还有大约10个或更多无序元素集的情况:ADD、DELETE、EDIT等...)重要提示:ADD和DELETE可能只出现一次,但它们的顺序无关紧要:但不是: 最佳答案 如果我理解您的要求,那么您就没有错,您唯一缺少的是您选择的maxOccurs="u

"any one or more of these elements but must be at least one"的 XML 架构构造

我正在尝试设置类似于“序列”的模式的一部分,其中所有子元素都是可选的,但至少有一个元素必须存在,并且可能还有更多比其中之一。我尝试执行以下操作,但XMLSpy提示“内容模型包含无法唯一确定的元素和。”:这可以做到吗(如果可以,怎么做)?一些说明:我只想允许同名的每个元素之一。可以有一个“DateConstant”和/或一个“TimeConstant”,但不能有两个。Gizmo的答案符合我的要求,但对于大量元素来说是不切实际的。赫斯特的回答允许两个或多个同名元素,这是我不想要的。 最佳答案 试试这个:这样做,你强制要么选择第一个元素,

带有 HTTPS 的 XML 命名空间 URI?

使用https协议(protocol)的xmlnsURI是否更好?例如,这是手册推荐的方式:这样使用是否合法且更好?是否有XML解析器尝试连接到由xmlnsURI定义的地址?解析器总是通过xsi:schemaLocation属性下载模式? 最佳答案 URI是命名空间名称,它标识命名空间。同时,对于某些URI方案(如http、https、ftp等),可以提供模式(或其他相关信息),这是"notagoal":Itisnotagoalthatitbedirectlyusableforretrievalofaschema(ifanyexis

xsd - DTD 或 XML 架构。哪一个更好?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。ImprovethisquestionDTD和XML模式的优缺点是什么(我什至不确定后者的正式名称是什么!)?哪个更好?为什么我们需要两种方法来做同样的事情?编辑:我在阅读的一篇文章中发现了这个,这促使我提出这个问题:WhyW3CXMLSchemaLanguage?TheW3CXMLSchemaLanguageisnottheonlyschemalanguage.Infact,theXMLspecificationdescri

xml - Visual Studio 2010 : XML XSD Schema to Classes within the IDE

每当我需要从XMLXSD模式创建类文件时,我都会在VS中使用.NETxsd.exe工具和预构建事件,以确保我的类和模式在构建时相互同步.这当然可以正常工作,但是......我注意到,如果XSD和派生类在同一个项目中,VS会理解这种关系,并在解决方案资源管理器中将CS直观地显示为XSD文件的子文件。所以我想知道VisualStudio2010中是否有任何功能可以在IDE中为我执行类创建而不是依赖预构建脚本?例如,我会将XSD添加到项目中并在某处设置一些选项,然后VS接管并为我创建我的类。VS2010是否支持这样的东西?或者我应该停止思考并继续使用xsd.exe和预构建。编辑我还注意到,在

xml - 在 Windows 8 的 visual studio 2013 中哪里可以找到 xsd.exe

我在VisualStudio2003和2008中使用xsd.exe实用程序从第3方XSD文件生成类型化数据集。第三方更改了他们的架构,因此我需要重新生成数据集,但我找不到XSD.EXE。win8搜索为我提供了有关该实用程序的信息,但没有提供它所在的位置,我尝试在Windows资源管理器中进行搜索,但没有得到任何结果。我阅读了有关Win7/VS2008的帖子,说它是WinSDK的一部分,但我也无法在该文件夹中找到它。一些发贴者说现在需要下载,但是从哪里下载。我正在运行64位Windows8专业版和VisualStudio2013Ultimate。 最佳答案

xml - 如何正确引用本地 XML Schema 文件?

我在XML文件中引用我的XML模式时遇到了这个问题。我的XSD位于此路径中:C:\environment\workspace\maven-ws\ProjectXmlSchema\email.xsd但是当我在我的XML文件中尝试定位这样的架构时,找不到XSD:找到XSD的唯一方法是当它位于同一文件夹中时:xsi:schemaLocation="http://www.w3schools.comemail.xsd"所以问题是:如果XML文件不在与XSD文件相同的文件夹中,路径必须如何才能找到XSD?顺便说一下,我一直在使用的示例来自MSDN:他们声称它应该按照我尝试的方式工作。但事实并非如此

XML XSD 架构 - 在架构中实现唯一属性值

假设我有一个定义以下XML的架构:Value1Value2Value3Value4我希望在架构级别能够强制Key属性的值是唯一的,即上面的示例有效,但以下示例无效:Value1Value2Value3Value4请注意,有两个Add元素的Key为Key2此处供引用的是简单架构:我的印象是这在架构级别是不可能的,但我洗耳恭听。 最佳答案 @BatteryBackupUnit有正确的想法,但语法更像是: 关于XMLXSD架构-在架构中实现唯一属性值,我们在StackOverflow上找到一个