我正在尝试获取 XML 模式文件中元素、simpleTypes 和 complexTypes 的所有限制(minOccurs、maxOccurs、totalDigits、maxLength 等)。由于这些限制在子元素中,应该可以根据 xsd:element、xsd:simpleType 和 xsd:complexType 以及属性“name”的值选择这些限制元素。然后,我可以逐个元素地遍历结果集,并在表格中填充每个元素的限制。
不幸的是,我无法构建这样的 XPath 表达式。也许这甚至不可能?这是我到目前为止所拥有的:
//*[xsd:element[@name] or xsd:simpleType[@name] or xsd:complexType[@name]]//xsd:restriction/descendant::*
这让我得到了限制,比如 minOccurs 等,但我需要让父元素带有它们的@name-value。