是否可以编写一个允许将经过验证的XML与格式正确的XML混合的模式?一个典型的例子是一个数据传输应用程序,其中请求由一堆元数据(我们想要验证)和特定于记录的信息(在业务逻辑中与XML分开验证,因为XML请求是只是请求可以通过的几种方式之一)。例子:CAMP00001user_bobone-time-token-goes-here...moremeta-data...JohnDoeParkLane19199999JaneDoeParkLane19288888目前,我通过手动检查事件内容、用户名和token字段的存在性和有效性来进行验证。如果可能的话,我想使用XML模式来做到这一点,这样就
我正在尝试在VisualStudio中创建自己的xml架构。但是我不能创建任何复杂类型,例如Rectangle类型,也不能创建可继承类型,例如Shape。schema.xsd如下,我得到的错误是:命名空间“”在此模式中不可引用。[第6行xs:extensionbase="Shape">UndefinedcomplexType'Shape'用作复杂类型扩展的基础[再次是第6行]内容: 最佳答案 您需要为目标命名空间绑定(bind)一个前缀:xmlns:m="MySchema"并在对模式中定义的组件的引用中使用它base="m:Shap
我定义了以下XMLcomplexType:和:但是,在验证时,我收到一条错误消息,指出losscomplexType及其扩展中不允许使用all模型组propLoss定义。我做错了什么?谢谢! 最佳答案 propLoss的一个问题是您无法在XMLSchema(1.0)中扩展all组。来自规范:Note:Thisspecificationallowsonlyappending,andnototherkindsofextensions.Thisdecisionsimplifiesapplicationprocessingrequiredt
我正在开发一个从xml文件中读取一些数据的Java应用程序。尝试执行,我收到此错误:org.xml.sax.SAXParseException;systemId:文件:/c:/myxmlfile.xml;行号:7;列数:55;s4s-elt-character:除“xs:appinfo”和“xs:documentation”之外的模式元素中不允许使用非空白字符。看到“我的名字值”。我的xml文件开始于:MyNameValue你能帮我了解问题出在哪里吗? 最佳答案 是的,我也遇到了同样的问题,然后我发现我正在将XSD文件作为XML文件
我想解析一个复杂的XML架构文件并导出到C#文件。我需要使用System.XML.Schema命名空间吗? 最佳答案 您可以使用XSD.EXE,命令如下所示:XSD.EXEyour.xsd/c生成的源代码有几个怪癖:它生成[SerializableAttribute],[XmlTypeAttribute],[XmlRootAttribute]等,而不是[DataContract]和[DataMember],这对您来说可能(不是)是个问题。它使用数组定义子/细节结构,而不是通用的List结构。我通常必须对它进行相当大的调整(通过一些搜
我正在阅读有关w3cschools(http://www.w3schools.com/schema/schema_complex.asp)的教程,但他们似乎没有提到如何对复杂类型添加限制。比如我有这个模式。现在我想确保名字的长度不超过10个字符。我该怎么做?我试图为名字输入简单类型,但它说我不能这样做,因为我使用的是复杂类型。那么我该如何在文件上施加这样的限制,这样我提供架构的人就不会尝试让名字达到100个字符。 最佳答案 XSD有一些限制:假设您希望firstName的长度不超过10个字符。您将使用类似的东西:我想对于更复杂的约束
我已经为我编写的应用程序开发了一个XML模式。现在我想为最终用户记录有效的结构,但是我想不出任何自然的方法来做到这一点。我见过像xs3p这样的东西,它本质上将xsd模式转换为HTML表示,但是对我来说这看起来不像是好的文档;用户不需要了解任何关于模式的知识就可以理解他可以做什么。关于如何记录这个的任何想法?有任何程序/编辑器/图形解决方案或我可以构建的简单概念吗? 最佳答案 我认为最好的方法(经过6年的xsd和设计/编码系统到系统接口(interface)的经验)是使用xsd:documentation和xsd:annotation
我正在尝试使用RDF来描述自定义资源。我知道那里有xmlns,例如提供预定义元素集的DublinCore和foaf。我该如何着手创建自己的?我当然可能找错了树,应该坚持使用xml+xsd? 最佳答案 简短的回答是,任何人都可以在一个文件中编写一组RDFS或OWL公理,然后开始在他们的应用程序中使用它。创建新词汇表或本体论的阈值很低,但有一些指导原则。对于创建包含公理的文件的实际操作(即声明,如果您更熟悉该术语),我个人只是写在更紧凑的Turtle中。使用文本编辑器格式化。我发现这适用于源代码控制系统,并且适合我的工作方式。如果您想要
我需要针对模式验证XML。我尝试了XML::SAX::ParserFactory;XML::Validator::Schema和相关模块,但看起来它们是有限的。限制在于它不识别架构元素,例如xsd:unique、xsd:group、xsd:keyref、xsd:union和xsd:key。这些xsd:unique等是新增的吗?如果你能给我指出一些最新的和完成任务的Perl模块,我将不胜感激。提前致谢。 最佳答案 看看XML::LibXML这使用了备受推崇的libxml2库,大多数人认为它是Expat和XML::Parser的继承者。
我有一个xml文档和模式,当我在visualstudio中打开xml文档时,我收到一堆警告,例如:请求类型为“System.Security.Permissions.FileIOPermission,mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”的权限失败。有谁知道这些警告可能是什么原因造成的?这使得验证xml文档变得困难。此外,当我将鼠标悬停在schemaLocation属性值下的波浪线上时,工具提示会给出错误“文档中从该位置引用的架构包含错误”提前致谢!