次のように要素を定義するスキーマがあるとします。
<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>
Xerces-C++ を使用して、このスキーマに対して検証された XML ファイルを解析 (DOM パーサー) しています。要素が存在する場合、指定された for のDescription
すべての子要素を反復処理し、要素を見つけたときに使用することで、それを読み取る方法を知っています。DOMElement
Widget
DOMElement::getTextContent()
Description
しかし、特定の要素に (スキーマで許可されている) 子要素Widget
がない場合、スキーマからDescription
既定値 ( Unknown
) を取得するにはどうすればよいでしょうか?
ご回答ありがとうございます、Ashish