前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFXXMLGrammar
[XML] DTD や XML スキーマなどの文法の基底クラスです。
#include <SFXXMLGrammar.hpp>
class SFXXMLGrammar;
SFMTYPEDEFCLASS(SFXXMLGrammar)

継承図

SFXXMLGrammar クラスの継承図

解説

SFXXMLGrammar クラスは、 DTD や XML スキーマなどの文法の基底クラスとして、 要素、属性、検証インターフェースなどが定義されています。

SFXXMLDOMParser / SFXXMLSAXParser クラスは、 内部的に SFXXMLGrammar クラスを継承する SFXDTDGrammar クラスと SFXSchemaGrammar クラスを利用して XML 文書を検証します。

アプリケーション開発者は、 このクラスで定義されている XML 文書の記述内容を規定する文法(言語)を SFXXMLDOMParser::SetGrammar / SFXXMLSAXParser::SetGrammar 関数で指定することにより XML 文書を検証することができます。

[Note] 注意

SFXXMLGrammar / SFXDTDGrammar / SFXSchemaGrammar クラスのメンバ関数は XML パーサーから内部的に使用されます。 アプリケーション開発者が利用する機会はありません。

参照

SFXXMLDOMParser | SFXXMLSAXParser | SFXXMLDOMParser::SetGrammar | SFXXMLSAXParser::SetGrammar

メンバ

GrammarType
XML ドキュメントの記述内容を規定する文法(言語)を表す定数です。
XMLATTR
属性の構造体です。

SFXXMLGrammar::GrammarType
XML ドキュメントの記述内容を規定する文法(言語)を表す定数です。
enum GrammarType {
    GRAMMAR_DTD,     // DTD 
    GRAMMAR_SCHEMA,  // XML スキーマ 
    GRAMMAR_UNKNOWN  // その他(デフォルト)
};

解説

XML パーサーで検証する文法は、 SFXXMLDOMParser::SetGrammar または SFXXMLSAXParser::SetGrammar 関数で以下のいずれかの定数を指定します(デフォルトは GRAMMAR_UNKNOWN)。

GrammarType 説明
GRAMMAR_DTD DTD(Document Type Definition: 文書型定義)
GRAMMAR_SCHEMA XML Schema
GRAMMAR_UNKNOWN その他(デフォルト)

参照

SFXXMLDOMParser::SetGrammar | SFXXMLSAXParser::SetGrammar


SFXXMLGrammar::XMLATTR
属性の構造体です。
typedef struct _XMLAttribute {
    enum AttTypes {
        CData             = 0,
        ID                = 1,
        IDRef             = 2,
        IDRefs            = 3,
        Entity            = 4,
        Entities          = 5,
        NmToken           = 6,
        NmTokens          = 7,
        Notation          = 8,
        Enumeration       = 9,
        Simple            = 10,
        Any_Any           = 11,
        Any_Other         = 12,
        Any_List          = 13,
        AttTypes_Count    ,
        AttTypes_Min      = 0,
        AttTypes_Max      = 13,
        AttTypes_Unknown  = -1
    };

    enum DefAttTypes {
        Default                = 0,
        Fixed                  = 1,
        Required               = 2,
        Required_And_Fixed     = 3,
        Implied                = 4,
        ProcessContents_Skip   = 5,
        ProcessContents_Lax    = 6,
        ProcessContents_Strict = 7,
        Prohibited             = 8,
        DefAttTypes_Count,
        DefAttTypes_Min        = 0,
        DefAttTypes_Max        = 8,
        DefAttTypes_Unknown    = -1
    };

    Bool                        _externalAttr;
    AttTypes                    _type;
    DefAttTypes                 _defaultType;
    UInt32                      _colonPos;
    SFXAnsiString               _attName;
    SFXAnsiString               _enumeration;
    SFXAnsiString               _value;
}XMLATTR,*LPXMLATTR;
SFMTYPEDEFALIAS(SFXArray<LPXMLATTR>, XMLAttrList)

解説

変数 説明
_externalAttr 属性は外部であるかどうか。
_type 属性の型。
_defaultType 属性のデフォルト型。
_colonPos 属性名のコロンの位置。(名前空間 URI 付きの場合)
_attName 属性の名前。(定義されている場合、名前空間 URI も含まれます。)
_enumeration 属性の列挙型。スペースで区切られた、属性あるいは値の列挙で定義されます。
_value 属性の値。