在为结构化数据设计XML提要时,什么是好的做法,有哪些反模式?我想要涵盖XML结构和内容,和/或传输机制的答案。传输机制以目前的技术来看,FTP/SFTP是不是好技术?是否存在最适合作为解决方案的情况?通常我更喜欢HTTPpullfeeds,但是使用HTTP有什么弱点?应该考虑哪些其他Feed机制及其优缺点?XML结构内容当不存在合适的现有DTD/schema时,可以遵循哪些实践来提出良好的XML设计?我已经在下面的回答中给出了两个反模式。但是在设计Feed时我应该做什么?我想听听有关标签与属性、关系数据(尤其是多对多关系)应如何以XML等形式传达的信息。注意:我已经完全重写了这个问题
是否可以创建一个对属性/元素对施加同现约束的XML模式?架构应该暗示:如果在primitive-list元素内指定了primitive元素,那么它应该包含name属性和嵌入的definition元素,但不是ref属性。如果在composite元素中指定了primitive元素,则它应该包含ref属性或definition元素。在这两种情况下都不允许使用name。我很确定这是可能的,因为XMLSchema中的element元素本身的行为就像那样。所以任何拥有神圣知识的人请分享:-)提前谢谢你。 最佳答案 在互联网上搜索并查阅一些书籍后
我正在编写一些XML和XSD作为作业...在我的XML中,我有一个名为a的标记(不是实际名称)和名为id的属性。我的部分XML如下所示:.......................当我使用XSD进行验证时,它没有给出错误....我尝试使用xsd:ID作为属性id的数据类型,但它给了我一个错误;我无法弄清楚问题出在哪里。我该怎么做? 最佳答案 你应该回去使用type="xsd:ID"。除了确保该值是唯一的之外,它还允许您使用xsd:IDREF进行引用。当您尝试使用xsd:ID时遇到的错误是ID值必须以字母开头。如果您将ID更改为“I
我正在创建一个XML模式来存储有关房屋的信息。我想存储价格和货币。在我看来,通过将货币作为价格元素的属性来声明这一点是有意义的。此外,我想将可以作为currency输入的值限制为英镑、欧元或美元。如:10000.00所以目前我在我的XML架构中声明为:我遇到的问题:我不确定这是否会将属性元素限制为pounds,eurosordollars由于错误,我似乎无法将价格的type指定为双倍价格:Element'price'hasbotha'type'attributeanda'anonymoustype'child.Onlyoneoftheseisallowedforanelement.我是
假设我们有以下架构:这是示例xml文件:这样c_elements可以通过id引用a_elements和b_elements。是否有可能以某种方式将ref属性限制为仅接受对一组元素的引用,例如a_elements? 最佳答案 除了我之前的回答,理论上您不能限制使用纯ID/IDREF,但是可以添加满足您要求的身份约束: 关于xml-限制对特定元素组的ID引用,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com
我有一个SOAP请求:-58和SOAP响应:-TheDataretrievedfromtheDatabase58fdfdf44sse现在我的XSD模式是:-现在我的问题是每当我尝试根据此XSD架构验证我的SOAP请求时,我都会收到以下错误:-Notvalid.Error-Line1,133:org.xml.sax.SAXParseException;lineNumber:1;columnNumber:133;cvc-elt.1:Cannotfindthedeclarationofelement'soapenv:Envelope'.请帮助...我需要知道我应该在我的XSD架构中修改什么,
该元素必须具有“字符串列表”类型,并且该类型的信息可以出现0次或更多次。所以我所做的是:我相信这是正确的,但是我应该把minOccur和maxOccur放在哪里? 最佳答案 很遗憾,您的问题不清楚,因为它可能意味着多种情况。一种可能的解释是您希望元素“xxx”出现在0到x次之间。这是通过在根元素内定义一个序列来完成的。您不能在根元素上指定minOccurs和maxOccurs,因为XML中只能有1个根元素。但是您可以将序列定义为根元素的子元素,这就是上面示例中所做的。现在如果你想让“xxx”成为你的根元素,你可以有效地做同样的事情。
我想定义一个xml架构,其中元素连接器具有0-*子元素。Sequence、Association或Message中的任意顺序,0到多次。即我尝试定义以下模式,但顺序似乎是固定的。 最佳答案 我通过设置为choice并设置minOccurs和maxOccurs属性解决了这个问题。 关于xmlschema-以任意顺序定义子元素0-*,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/36
VSCode是否像标准VisualStudio那样基于XML架构实现某种自动完成功能?如果没有,是否有实现该功能的扩展? 最佳答案 不幸的是,他们没有任何内部xml完成工具。请使用这个扩展:https://marketplace.visualstudio.com/items?itemName=formulahendry.auto-close-tag 关于xml-基于xmlschema在VSCode中自动完成xml标签,我们在StackOverflow上找到一个类似的问题:
我有一个简单的任务让我拔头发,我确信我已经很接近了。这是我的xhtml文件:TestPagetesttesttestmotest...xmlstarlet喜欢它:$xmlstarlet.exeel-vtest.xhtmlhtml[@xmlns='http://www.w3.org/1999/xhtml']html/headhtml/head/titlehtml/bodyhtml/body/phtml/body/table[@id='test_table']html/body/table/trhtml/body/table/tr/tdhtml/body/table/tr/tdhtml/b