我试图获取XML模式文件中的元素,simpleTypes和complexTypes的所有限制(minOccurs,maxOccurs,totalDigits,maxLength等)。由于这些限制在子元素中,所以应该可以为每个xsd:元素xsd:simpleType和xsd:complexType选择这些限制元素,以及属性“name”的值。 然后,我可以循环遍历结果集逐个元素,并填充表中每个元素的限制。使用XPath获取XML模式限制
不幸的是,我无法构建这样的XPath表达式。也许这是不可能的?这是我到目前为止有:
//*[xsd:element[@name] or xsd:simpleType[@name] or xsd:complexType[@name]]//xsd:restriction/descendant::*
这让我的限制,喜欢的minOccurs等,但我需要与他们的@名值的父元素。
谢谢你的回答。我正在尝试创建一个表单,用户用值填充很多字段。这些值有限制,如最小/最大长度,模式,最小/最大等等。这些限制位于我想要解析的XML-Schemafile中,以便在输入无效值时创建工具提示或创建错误消息。模式文件不会有太大的变化,例如,唯一可能发生的变化是,一个元素变得可选,或者长度被扩展。由于模式文件非常“容易”结构化,我只需要读取每个元素/ simpleType的这些限制。 – whocares81