gpt4 book ai didi

xslt - XPATH 选择类型的元素名称为 xs :simpleType 的子元素

转载 作者:行者123 更新时间:2023-12-03 15:48:13 26 4
gpt4 key购买 nike

我正在尝试选择序列中其实现类型的元素名称为 xs:simpleType 的所有子元素。

<xs:complexType name="Truck">
<xs:complexContent>
<xs:extension base="Car">
<xs:sequence>
<xs:element name="DriverName" type="Name">
...
</xs:element>
<xs:element name="Engine" type="TruckEngine">
...
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>

“名称”类型的位置:

<xs:simpleType name="Name">
...
</xs:simpleType>

和“TruckEngine”看起来像:

<xs:complexType name="TruckEngine">
...
</xs:complexType>

如何创建 XPATH 来选择元素 DriverName?到目前为止,我有类似 xs:complexType/xs:complexContent/xs:extension/xs:sequence/xs:element 的东西,但我不知道如何进一步改进我的选择。我真的很难搜索相关信息,因为我不确定使用什么术语来选择这样的信息。我已将我的示例修改为更通用的内容。

最佳答案

除非您知道架构作者使用的约定,否则尝试从架构文档中提取信息很困难(几乎不可能)。例如,来自 DevNull 的解决方案(您已接受)仅当类型在同一模式文档中定义时才有效,它仅适用于命名(而非匿名)类型,并且仅适用于没有 targetNamespace 的模式文档.

对于更通用的解决方案,无论创作约定如何,都适用于任何模式,不要尝试这样做:使用模式 API,让您在模式处理器分析后访问“熟”模式组件.一种方法是使用 Xerces,它为模式组件提供 Java API,另一种方法是使用 Saxon 的 SCM 格式,它在单个文档中提供“熟化”模式组件的 XML 表示。

关于xslt - XPATH 选择类型的元素名称为 xs :simpleType 的子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11569370/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com