gpt4 book ai didi

c++ - 使用 xerces (C++) 从模式中获取元素的默认值

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:36:32 26 4
gpt4 key购买 nike

假设我有一个定义如下元素的模式:

<xsd:element name="Widget" type="tns:WidgetType" />

<xsd:complexType name="WidgetType">
<xsd:sequence>

<xsd:element name="Name" type="xsd:normalizedString" maxOccurs="1" minOccurs="1" />
<xsd:element name="Description" type="xsd:normalizedString" default="Unknown" maxOccurs="1" minOccurs="0" />

</xsd:sequence>
</xsd:complexType>

我正在解析(DOM 解析器)一个 XML 文件,该文件已使用 Xerces-C++ 针对该模式进行了验证。如果存在 Description 元素,我知道如何通过遍历给定 WidgetDOMElement 的所有子元素并使用DOMElement::getTextContent() 找到 Description 元素。

但是,如果特定的 Widget 元素没有 Description 子元素(模式允许),我如何获取默认值(Unknown) 来自架构?

感谢您的回复,阿希什

最佳答案

您应该能够使用 XPath 或 XQuery 查询模式文档以从模式文档中获取任何值。 Xerces 网站说它有部分 XPath 支持,如果您需要更多功能,它会列出 Xalan 和 XQilla。

关于c++ - 使用 xerces (C++) 从模式中获取元素的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3251589/

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