SophiaFramework UNIVERSE 5.3 |
#include <SFXXMLDocumentType.hpp>
class SFXXMLDocumentType : public SFXXMLNode;
SFMTYPEDEFCLASS(SFXXMLDocumentType)
DocumentType ノード(SFXXMLDocumentType)は、 XML 文書の文書型を保持します。
注意 | |
---|---|
DocumentType ノードは SFXXMLDocument::SetDocumentType などの関数を使用して Document ノード(SFXXMLDocument)に関連付けます。 Document ノードは、DocumentType ノードを値とする _docType 属性を備えています。 |
システム識別子(System Identifier)と公開識別子(Public Identifier) | |
---|---|
システム識別子(System Identifier)とは、 外部サブセットの位置を示すもので、URIで表現されます。 XML プロセッサは、この位置情報から外部サブセットを入手します。 公開識別子(Public Identifier)とは、 XML プロセッサが識別できる、特定の外部サブセットを表す文字列のことです。 認識できない場合のために、公開識別子の後ろにシステム識別子を指定することも可能です。 具体的には、 PUBLIC "公開識別子" "システム識別子" のように指定します。 例えば、以下の例では、"-//W3C//DTD HTML4.0 Transitional//EN" が公開識別子で、 "http://www.w3.org/TR/REC-html40/loose.dtd" がシステム識別子です。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
|
コンストラクタ/デストラクタ |
---|
SFXXMLDocumentType(
SFXXMLDocumentPtr owner
, SFXAnsiStringConstRef name
, SFXAnsiStringConstRef publicId
, SFXAnsiStringConstRef systemId
) SFXXMLDocumentType クラスのコンストラクタです。
|
SFXXMLDocumentType(
SFXXMLDocumentTypeConstRef other
, Bool deep = false
) SFXXMLDocumentType クラスのコンストラクタです。
|
~SFXXMLDocumentType( Void ) SFXXMLDocumentType クラスのデストラクタです。
|
パブリック関数 | |
---|---|
SFCError |
CloneNode(
SFXXMLNodeHandle clonenode
, Bool deep
) ノードのコピーを作成します。
|
Bool |
EqualNode(
SFXXMLNodeConstPtr arg
) 指定したノードと同等かどうかを判定します。
|
DOMNamedNodeMapPtr |
GetEntities( Void ) Entity ノードをすべて取得します。
|
ACharConstPtr |
GetInternalSubset( Void ) 内部サブセットを取得します。
|
ACharConstPtr |
GetName( Void ) ノードの名前(nodeName 属性値)を取得します。
|
SFXXMLNodePtr |
GetNextSibling( Void ) 次の兄弟ノードを取得します。
|
ACharConstPtr |
GetNodeName( Void ) ノードの名前(nodeName 属性値)を取得します。
|
NodeType |
GetNodeType( Void ) ノードタイプ(nodeType 属性値)を取得します。
|
DOMNamedNodeMapPtr |
GetNotations( Void ) Notation ノードをすべて取得します。
|
SFXXMLNodePtr |
GetParentNode( Void ) 親ノードを取得します。
|
SFXXMLNodePtr |
GetPreviousSibling( Void ) 前の兄弟ノードを取得します。
|
ACharConstPtr |
GetPublicID( Void ) 外部サブセットの公開識別子を取得します。
|
ACharConstPtr |
GetSystemID( Void ) 外部サブセットのシステム識別子を取得します。
|
Void |
SetInternalSubset(
SFXAnsiStringConstRef intsubset
) 内部サブセットを設定します。
|
SFCError |
AppendChild(
SFXXMLNodeConstPtr newchild
)
(SFXXMLNode から継承)
【無効】子ノードの最後にノードを追加します。
|
DOMNodeListPtr |
GetChildNodes( Void )
(SFXXMLNode から継承)
【無効】すべての子ノードを取得します。
|
SFXXMLNodePtr |
GetFirstChild( Void )
(SFXXMLNode から継承)
【無効】最初の子ノードを取得します。
|
SFXXMLNodePtr |
GetLastChild( Void )
(SFXXMLNode から継承)
【無効】最後の子ノードを取得します。
|
ACharConstPtr |
GetNodeValue( Void )
(SFXXMLNode から継承)
ノードの値(nodeValue 属性値)を取得します。
|
SFXAnsiString |
GetText( Void )
(SFXXMLNode から継承)
ノードテキストを取得します。
|
Bool |
HasChildNodes( Void )
(SFXXMLNode から継承)
【無効】子ノードを持つかどうかを判定します。
|
SFCError |
InsertBefore(
SFXXMLNodeConstPtr newchild
, SFXXMLNodeConstPtr refchild
)
(SFXXMLNode から継承)
【無効】ノードを挿入します。
|
Bool |
IsSameNode(
SFXXMLNodeConstPtr other
)
(SFXXMLNode から継承)
指定されたノードと同一であるか判定します。
|
SFCError |
RemoveChild(
SFXXMLNodeConstPtr oldchild
)
(SFXXMLNode から継承)
【無効】子孫ノードも含めて子ノードを削除します。
|
SFCError |
ReplaceChild(
SFXXMLNodeConstPtr newchild
, SFXXMLNodeConstPtr oldchild
)
(SFXXMLNode から継承)
【無効】子ノードを置換します。
|
Void |
SetNodeValue(
ACharConstPtr value
)
(SFXXMLNode から継承)
ノードの値(nodeValue 属性値)を設定します。
|
SFCError |
SetText(
SFXAnsiStringConstRef text
)
(SFXXMLNode から継承)
ノードテキストを設定します。
|
型 |
---|
DOMNamedNodeMap
(SFXXMLNode から継承)
複数の DOM ノードを名前またはローカル名と名前空間 URI で管理するためのクラスです。
|
DOMNodeList
(SFXXMLNode から継承)
複数の DOM ノードをリスト形式で管理するためのクラスです。
|
NodeType
(SFXXMLNode から継承)
ノードタイプを表す定数です。
|
[ public, explicit ] SFXXMLDocumentType( SFXXMLDocumentPtr owner // ドキュメントツリーのルート SFXAnsiStringConstRef name // 文書型名 SFXAnsiStringConstRef publicId // 外部サブセットの公開識別子 SFXAnsiStringConstRef systemId // 外部サブセットのシステム識別子 );
[ public, explicit ] SFXXMLDocumentType( SFXXMLDocumentTypeConstRef other // DocumentType ノード Bool deep = false // 子ノードを再帰的にコピーするかどうか );
このコンストラクタは、指定された値をこのノードに設定します。
引数には、このノードを所有するドキュメントツリーのルート(SFXXMLDocument)・ 文書型名・外部サブセットの公開識別子とシステム識別子、 または別の DocumentType ノードのいずれかを指定することが可能です。
注意 | |
---|---|
name 引数に指定した文書型名は、 SFXXMLDocumentType::GetNodeName 関数で取得できる、 このノードの nodeName 属性として設定されます。 publicId 引数に指定した外部サブセットの公開識別子は、 SFXXMLDocumentType::GetPublicID 関数で取得できます。 systemId 引数に指定した外部サブセットのシステム識別子は、 SFXXMLDocumentType::GetSystemID 関数で取得できます。 |
システム識別子(System Identifier)と公開識別子(Public Identifier) | |
---|---|
システム識別子(System Identifier)とは、 外部サブセットの位置を示すもので、URIで表現されます。 XML プロセッサは、この位置情報から外部サブセットを入手します。 公開識別子(Public Identifier)とは、 XML プロセッサが識別できる、特定の外部サブセットを表す文字列のことです。 認識できない場合のために、公開識別子の後ろにシステム識別子を指定することも可能です。 具体的には、 PUBLIC "公開識別子" "システム識別子" のように指定します。 例えば、以下の例では、"-//W3C//DTD HTML4.0 Transitional//EN" が公開識別子で、 "http://www.w3.org/TR/REC-html40/loose.dtd" がシステム識別子です。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
|
SFXXMLDocumentType::GetNodeName | SFXXMLDocumentType::GetPublicID | SFXXMLDocumentType::GetSystemID | SFXXMLDocument
[ public, virtual ] virtual ~SFXXMLDocumentType(Void);
このデストラクタは、何も行いません。
[ public, virtual ] SFCError CloneNode( SFXXMLNodeHandle clonenode // コピー先のノード(Handle 型) Bool deep // 子ノードを再帰的にコピーするかどうか【無効】 );
コピー先ノードを指定します。
この引数は無効です。
この関数は、このノードのコピーを作成し、clonenode 引数に返します。
注意 | |
---|---|
DocumentType ノードは子ノードを持たないので、 deep 引数は無効です。true を指定しても、false を指定しても結果は同じです。 |
[ public, virtual, const ] Bool EqualNode( SFXXMLNodeConstPtr arg // 同等性を比較する対象のノード );
この関数は、指定されたノードと同等かどうか(ノードの内容が同じであるかどうか)を判定します。
2 つのノードが同等であるための条件 | |
---|---|
2 つのノードが同等であるための条件は、以下のように再帰的に定義されます。
|
2 つのノードの同一性の判定 | |
---|---|
2 つのノードが同一であるかどうか(2 つのノードが同じオブジェクトを参照しているかどうか)の判定には、 SFXXMLNode::IsSameNode 関数を使用します。 |
[ public, const ] DOMNamedNodeMapPtr GetEntities(Void);
この DocumentType ノードに設定されている、 すべての Entity ノードの NamedNodeMap(SFXXMLNode::DOMNamedNodeMap へのポインタ)
この関数は、この DocumentType ノードに設定されている、すべての Entity ノードを取得します。
Entity ノードが設定されていない場合は、null を返します。
注意 | |
---|---|
この関数は、XML文書の DTD で宣言されている、すべてのエンティティを取得します。 |
<?xml version="1.0" encoding="shift_JIS" standalone="yes" ?> <!DOCTYPE 名簿[ <!ELEMENT 名簿 (名前,メールアドレス)> <!ENTITY Account "sophia"> <!ENTITY Email "&Account;@s-cradle.com"> <!ELEMENT 名前 "(#PCDATA)"> <!ELEMENT メールアドレス "(#PCDATA)"> <!ATTLIST 名前 番号 (001|002|003) #REQUIRED> ]> <名簿> <名前 番号="001">Sophia Cradle</名前> <メールアドレス>&Email;</メールアドレス> </名簿> // ルートノードから DocumentType ノードを取得する SFXXMLDocumentTypePtr docType = root->GetDocumentType(); if (docType) { // DOM ツリー内のすべての Entity ノードを取得する SFXXMLNode::DOMNamedNodeMapPtr nodemap = docType->GetEntities(); if (nodemap) { // "Name" Entiry ノードを取得する SFXXMLEntityPtr name = SFXXMLEntityPtr(nodemap->Item(0)); // "Email" Entiry ノードを取得する SFXXMLEntityPtr mail = SFXXMLEntityPtr(nodemap->Item(1)); .... // 新しい Entiry ノードを追加する "<!ENTITY 会社 SYSTEM "company.dtd">" SFXXMLEntityPtr entity = document.CreateEntity("会社"); entity->SetSystemID("company.dtd"); nodemap->SetNamedItem(entity); } }
[ public, const ] ACharConstPtr GetInternalSubset(Void);
内部サブセットの内容(設定されていない場合は null)
この関数は、このノードに内部サブセットの内容を取得します。
区切り用の角括弧("[" と "]")は、含まれません。
内部サブセットが設定されていない場合は、null を返します。
内部サブセットは、 SFXXMLDocumentType::SetInternalSubset 関数で設定します。
内部サブセット | |
---|---|
内部サブセット(Internal Subset)とは、 XML 文書内に DTD を定義する方法のことです。 逆に、DTD を定義した DTD ファイルを作成し、 XML 文書内から、DTD ファイルの位置を指定する方法を外部サブセット(External Subset)と呼びます。 |
SFXXMLDocumentType::SetInternalSubset | SFXXMLDocumentType::GetPublicID | SFXXMLDocumentType::GetSystemID | SFXXMLDocumentType::SFXXMLDocumentType
[ public, const ] ACharConstPtr GetName(Void);
ノードの名前(nodeName 属性値)
この関数は、このノードの名前(nodeName 属性値)を取得します。
DocumentType ノードの場合、nodeName 属性値は文書型名のことです。
注意 | |
---|---|
文書型名は、SFXXMLDocumentType::SFXXMLDocumentType コンストラクタの name 引数で設定します。 |
注意 | |
---|---|
SFXXMLDocumentType::GetNodeName 関数を呼び出すのと同等です。 |
[ public, virtual, const ] SFXXMLNodePtr GetNextSibling(Void);
次の兄弟ノード
この関数は、このノードの次の兄弟ノードを取得します。
注意 | |
---|---|
次の兄弟ノードが存在しない場合は null を返します。 |
SFXXMLDocumentType::GetPreviousSibling | SFXXMLNode::GetNextSibling | SFXXMLNode::GetPreviousSibling | SFXXMLNode
[ public, virtual, const ] ACharConstPtr GetNodeName(Void);
ノードの名前(nodeName 属性値)
この関数は、このノードの名前(nodeName 属性値)を取得します。
DocumentType ノードの場合、nodeName 属性値は文書型名のことです。
注意 | |
---|---|
文書型名は、SFXXMLDocumentType::SFXXMLDocumentType コンストラクタの name 引数で設定します。 |
注意 | |
---|---|
SFXXMLDocumentType::GetName 関数を呼び出すのと同等です。 |
[ public, virtual, const ] NodeType GetNodeType(Void);
SFXXMLNode::DOCUMENT_TYPE_NODE
この関数は、このノードのタイプ(nodeType 属性値)を取得します。
DocumentType ノードの場合、nodeType 属性値は SFXXMLNode::DOCUMENT_TYPE_NODE です。
[ public, const ] DOMNamedNodeMapPtr GetNotations(Void);
この DocumentType ノードに設定されている、すべての Notation ノードの NamedNodeMap(SFXXMLNode::DOMNamedNodeMap へのポインタ)
この関数は、この DocumentType ノードに設定されている、すべての Notation ノードを取得します。
Notation ノードが設定されていない場合は null を返します。
注意 | |
---|---|
この関数は、XML文書の DTD で宣言されている、すべての記法を取得します。 |
<?xml version="1.0" encoding="shift_JIS" standalone="yes" ?> <!DOCTYPE スタジオ [ <!ELEMENT スタジオ ANY> <!ELEMENT マルチメディア (#PCDATA)> <!ATTLIST マルチメディア player NOTATION (rm|gif|midi) #REQUIRED> <!NOTATION gif SYSTEM "Image/gif"> <!NOTATION rm SYSTEM "RealPlayer.exe"> <!NOTATION midi SYSTEM "wmplayer.exe"> ]> <スタジオ> <マルチメディア player="rm"></マルチメディア> </スタジオ> // ルートノードから DocumentType ノードを取得する SFXXMLDocumentTypePtr docType = root->GetDocumentType(); if (docType) { // Notation ノードをすべて取得する SFXXMLNode::DOMNamedNodeMapPtr nodemap = docType->GetNotations(); if (nodemap) { // gif 表記法(Notation ノード)を取得する SFXXMLNotationPtr gif = SFXXMLNotationPtr(nodemap->Item(0)); // rm 表記法(Notation ノード)を取得する SFXXMLNotationPtr rm = SFXXMLNotationPtr(nodemap->Item(1)); // midi 表記法(Notation ノード)を取得する SFXXMLNotationPtr midi = SFXXMLNotationPtr(nodemap->Item(2)); .... // 新しい表記法(Notation ノード)追加する "<!NOTATION mp3 SYSTEM "winamp.exe">" SFXXMLNotationPtr mp3 = document.CreateNotation("mp3"); mp3->SetSystemID("winamp.exe"); nodemap->SetNamedItem(mp3); } }
[ public, virtual, const ] SFXXMLNodePtr GetParentNode(Void);
親ノード
この関数は、このノードの親ノードを取得します。
注意 | |
---|---|
親ノードが存在しない場合は null を返します。 |
[ public, virtual, const ] SFXXMLNodePtr GetPreviousSibling(Void);
前の兄弟ノード
この関数は、このノードの前の兄弟ノードを取得します。
注意 | |
---|---|
前の兄弟ノードが存在しない場合は null を返します。 |
SFXXMLDocumentType::GetNextSibling | SFXXMLNode::GetPreviousSibling | SFXXMLNode::GetNextSibling | SFXXMLNode
[ public, const ] ACharConstPtr GetPublicID(Void);
外部サブセットの公開識別子
この関数は、このノードに設定された外部サブセットの公開識別子を取得します。
外部サブセットの公開識別子は、SFXXMLDocumentType::SFXXMLDocumentType コンストラクタで設定します。
外部サブセットの公開識別子 | |
---|---|
外部サブセットの公開識別子(Public Identifier)とは、 特定の外部サブセットを表す識別子として、公に知られている文字列のことで、 必ずしも URI で表現されるとは限りません。 例えば、XHTML を表す公開識別子は "-//W3C//DTD XHTML 1.1//EN" です。 外部サブセットのシステム識別子(System Identifier)とは、 外部サブセットの位置を示すもので、URIで表現されます。 XML パーサは、この位置情報から外部サブセットを入手します。 |
SFXXMLDocumentType::SFXXMLDocumentType | SFXXMLDocumentType::GetSystemID | SFXXMLDocumentType::GetInternalSubset
[ public, const ] ACharConstPtr GetSystemID(Void);
外部サブセットのシステム識別子
この関数は、このノードに設定された外部サブセットのシステム識別子を取得します。
外部サブセットのシステム識別子は、SFXXMLDocumentType::SFXXMLDocumentType コンストラクタで設定します。
外部サブセットのシステム識別子 | |
---|---|
外部サブセットのシステム識別子(System Identifier)とは、 外部サブセットの位置を示すもので、URIで表現されます。 XML パーサは、この位置情報から外部サブセットを入手します。 外部サブセットの公開識別子(Public Identifier)とは、 特定の外部サブセットを表す識別子として、公に知られている文字列のことで、 必ずしも URI で表現されるとは限りません。 例えば、XHTML を表す公開識別子は "-//W3C//DTD XHTML 1.1//EN" です。 |
SFXXMLDocumentType::SFXXMLDocumentType | SFXXMLDocumentType::GetPublicID | SFXXMLDocumentType::GetInternalSubset
[ public ] Void SetInternalSubset( SFXAnsiStringConstRef intsubset // 設定する内部サブセット );
この関数は、このノードに内部サブセットの内容を設定します。
区切り用の角括弧("[" と "]")は、含まれません。
内部サブセット | |
---|---|
内部サブセット(Internal Subset)とは、 XML 文書内に DTD を定義する方法のことです。 逆に、DTD を定義した DTD ファイルを作成し、 XML 文書内から、DTD ファイルの位置を指定する方法を外部サブセット(External Subset)と呼びます。 |
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |