XSD xs:列表混乱(XSD xs:list confusion)

有人可以向我解释使用xs:list数据类型吗? 这可以很好地适合我的应用程序,因为.xml文件应该有一个列表(标签),我需要创建具有该标签的对象列表。 我的问题是:我是否必须遍历列表中的项目(并在其中填充我的程序集合)或者是否有一些自动机制用XML列表填充集合? 如果我必须手动完成,那么xs:list和由空格分隔的字符串之间的区别是什么?

我希望我设法解决我的问题!

编辑:我使用Qt来解析XML。 可能是SAX路线。


Could anyone please explain to me the use of the xs:list datatype? This could fit nicely for my application, as the .xml file should have a list (of labels) that I need to create list of object with that label. My question is: Do I have to loop through the items of the list (and fill a collection inside my programm with them) or is there some automated mechanism that fills a collection with a XML list? If I have to do it manually, whats the difference between a xs:listand a string separated by whitespaces?

I hope I managed to get my question across!

EDIT: Im using Qt to parse XML. Probably the SAX route.


原文:https://stackoverflow.com/questions/9045627
2021-09-11 06:09

满意答案

如果使用xs:list那么如果使用代码生成器,它将被解析并公开为集合/数组数据结构。 如果您只使用由空格分隔的字符串,那么它将作为常规字符串公开,您将负责解析。

区别仅在于您使用基于xsd的代码生成器。 如果使用SAX或DOM等低级api进行语法分析,则没有区别。


Actually, the class QXmlQuery does exactly what I wanted. Its method bool QXmlQuery::evaluateTo ( QStringList * target ) const requires a sequence of xs:string values and fills target with them.

相关问答

更多

xs and xsd 有什么区别

如果离开了xml文件中namespace的申明,单就xsd与xs来讲是没有任何意义的。 两个xml文件中xsd与xs具体是否一样取决于你的定义.

XSD - 没有?(XSD - without ?)

您已经两次定义了Job和Project元素。 您应该将序列移动到类型定义,如下所示: <xs:element name="DSExport"> <xs:complexType> <xs:sequence> <xs:element name="Job" type="JobType"/> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="Jo...

XSD:将属性限制为xs:float或“”(XSD: restrict attribute to xs:float or “”)

我不认为有办法处理这个问题,并使用xs:float 。 基本上,这归结于空字符串不是有效的数字。 你通常会期望值为0,或者完全缺失该元素。 对于以下问题的答案有一个很好的解释: 在XSD中禁用了primitve数据类型的空元素 似乎使用xs:string和正则表达式的选项可能是您最好的计划。 I don't think there's a way to handle this and use xs:float. Fundamentally it comes down to the fact tha...

在XSD中使用xs:extension和xs:restriction(Using xs:extension and xs:restriction in a XSD)

您必须全局定义和命名要扩展的受限xs:simpleType ,而不是在Value下本地定义它。 还要注意, row你需要maxOccurs="unbounded" (或大于默认值1东西)。 总而言之,这个XSD将成功验证您的XML: <?xml version="1.0" encoding="utf-8"?> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" ...

将XSD中的枚举转换为Excel中的下拉列表(Convert xs:Enumerations in XSD to dropdown lists in Excel)

正如xcut所说,没有简单的方法来做到这一点。 但这是可以完成的。 你需要做的是: 使用WorkbookAfterXmlImport事件为您的枚举使用MSXML读取您的架构。 在您的数据表中查找包含代码枚举元素的映射列。 这通常是一个ListObject 。 将这些枚举添加到Validation.InCellDropdown的列表中,将其映射到您的映射列范围,然后减去标题。 As xcut says, there is no easy way to do this. But it can be d...

XSD 1.0解决方法中的?( inside an XSD 1.0 workarounds?)

正确。 XSD 1.0不允许xsd:all xsd:any ; XSD 1.1可以。 XSD 1.0的变通方法不允许xsd:all xsd:any 将xsd:any为固定的包装元素,例如使用xsd:all expansion : <?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="root"> <xsd:co...

XSD验证xs:date和xs:dateTime的格式错误(XSD validates wrong format of xs:date and xs:dateTime)

它不是你的验证器中的缺陷(顺便说一句,你应该指出你正在使用哪个验证器)。 其他验证器(错误)的行为方式,你似乎期望; 例如,.NET会抱怨The value '20512-07-11' is invalid according to its datatype 'http://www.w3.org/2001/XMLSchema:date' - The string '20512-07-11' is not a valid XsdDateTime value. 请参阅XSD规范的这一部分 ,其中明确指...

XSD XML分析xs:序列(XSD XML Analysing the xs:sequence)

都不是。 符合模式的是... <?xml version="1.0" encoding="UTF-8"?> <personinfo> <firstname>Abc</firstname> <country>CountryOfAbc</<country> </personinfo> ... 或者 : <?xml version="1.0" encoding="UTF-8"?> <personinfo> <firstname>Xyz</firstname> <country>Coun...

XSD xs:列表混乱(XSD xs:list confusion)

如果使用xs:list那么如果使用代码生成器,它将被解析并公开为集合/数组数据结构。 如果您只使用由空格分隔的字符串,那么它将作为常规字符串公开,您将负责解析。 区别仅在于您使用基于xsd的代码生成器。 如果使用SAX或DOM等低级api进行语法分析,则没有区别。 Actually, the class QXmlQuery does exactly what I wanted. Its method bool QXmlQuery::evaluateTo ( QStringList * target...

使用xslt重新排列XSD xs:sequence以转换为另一个xsd(Re-arranging XSD xs:sequence using xslt to convert to another xsd)

使用多个apply-templates来控制执行标识转换的顺序。 这仅适用于需要重新排列的相对较少数量的xs:element元素。 样式表 <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xsl:outpu...

相关文章

更多

Python 列表(list)操作

列表就像java里的collection,所具有的特性也要比元组更多,更灵活,其character总结 ...

源码解读Mybatis List列表In查询实现的注意事项

源码解读Mybatis List列表In查询实现的注意事项 在SQL开发过程中,动 ...

java中list、set和map 的区别(转)

List按对象进入的顺序保存对象,不做排序或编辑操作。Set对每个对象只接受一次,并使用自己内部的排序 ...

【转载】开源且免费软件包分类列表

转载自:http://my.oschina.net/u/617889/blog/86688 This ...

List用完后需要赋null吗

从数据库查询N条记录放在List集合中,然后通过request对象返回给页面,通过循环遍历将List中 ...

hibernate 对list修改

class A{ private String a; private String b; pri ...

FreeMarker集合(List、Map)

我们上一节认识了FreeMarker基本数据类型,接口认识FreeMarker集合(List、Map) ...

java List排序一

java List对象排序有多种方法,下面是其中两种 第一种方法,list中的对象实现Comparab ...

HMTL 清单标记(列表标签)

ol有序列表: order list type属性: 取值 A a I i 1(默认值) ...

List的size大于0,但是取到的值为空

List的size大于0,但是取到的值为null,谁见过这种情况? List list=XXDAO. ...

最新问答

更多

在可观察字段Knocout中显示$符号(Display $ sign in observable fields Knocout)

文档中有一个示例,它在“真实”数字值之上使用ko.pureComputed图层: this.price = ko.observable(25.99); this.formattedPrice = ko.pureComputed({ read: function () { return '$' + this.price().toFixed(2); }, write: function (value) { // Strip out unwan

全局和设备功能之间的差异(Difference between global and device functions)

全局函数也称为“内核”。 这是您可以使用CUDA内核调用语义( <<<...>>> )从主机端调用的函数。 设备功能只能从其他设备或全局功能调用。 __device__函数无法从主机代码调用。 Global functions are also called "kernels". It's the functions that you may call from the host side using CUDA kernel call semantics (<<<...>>>). Device

ARM,MCU,DSP,FPGA,SOC各是什么?区别是什么

1. ARM:ARM处理器是Acorn有限公司面向低预算市场设计的第一款RISC微处理器。全称为Acorn RISC Machine。ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。 2. MCU:微控制单元(Microcontroller Unit;MCU) ,又称单片微型计算机(Single Chip Microcomputer )或者单片机,是把中央处理器(Central Process Unit;CPU)的频率与规格

Facebook JavaScript SDK登录(Facebook JavaScript SDK Login)

以下代码中出现“Log is undefined”错误: function onStatus(response) { Log.info('onStatus', response); if (response.session) { showAccountInfo(); } else { showLoginButton(); } } FB.getLoginStatus(function(response) { onStatus(response); // once on page

会计实操有没有用,北京哪家会计培训最好?

会计实操学了肯定是有用的呀,因为你光考个证只是你找工作的一个必备的证件,但是实操就是很扎实的做账功底了。你学了会计实操就能轻松上岗。给你推荐一个以专业教会计实操为主的会计培训学校吧---仁和会计培训学校。现在也在北京开了分校。建议你可以上网搜索一下,北京仁和会计。就能找到他们,可以了解一下课程的。

字段列表错误中的MySQL未知列(MySQL Unknown column in fieldlist error)

你不能在整个查询中调用mysql_real_escape_string ; 你必须分别在每个变量上调用它。 例: // THIS IS AN EXAMPLE ONLY -- NOT A BEST PRACTICE! $sql = "INSERT INTO `locations`(`id`,`anchor_url`,`anchor_title`) VALUES ". "(1, '".mysql_real_escape_string('http://...')."', ".

在DOM深层获取评论节点(Get comment nodes in DOM deep level)

您可以将TreeWalker与whatToShow设置为NodeFilter.SHOW_ALL一起使用,以查看文档中的所有节点。 var treeWalker = document.createTreeWalker( document.body, NodeFilter.SHOW_ALL, null, false ); var commentList = []; while (treeWalker.nextNode()){ // keep only co

2015年的会计上岗证培训那里好,在西安

在西安的话,还是大众会计学校比较好,都已经办学23年了,小班教学,包学包会

将long lat转换为google maps long lat(converting long lat to google maps long lat)

输入数据的小数部分(例如.8157)不是秒; 它是小数分钟。 所以它应该是: 北纬52度,42.8157分钟或52.7136度 The decimal part of your input data (e.g. .8157) is not seconds; it is decimal minutes. So it should be: latitude 52 degrees, 42.8157 minutes or 52.7136 degrees

XSD xs:列表混乱(XSD xs:list confusion)

如果使用xs:list那么如果使用代码生成器,它将被解析并公开为集合/数组数据结构。 如果您只使用由空格分隔的字符串,那么它将作为常规字符串公开,您将负责解析。 区别仅在于您使用基于xsd的代码生成器。 如果使用SAX或DOM等低级api进行语法分析,则没有区别。 Actually, the class QXmlQuery does exactly what I wanted. Its method bool QXmlQuery::evaluateTo ( QStringList * targe