![]() ![]() ![]() ![]() |
SophiaFramework UNIVERSE 5.2 |
#include <SFXXMLEntityReference.hpp>
class SFXXMLEntityReference : public SFXXMLNode;
SFMTYPEDEFCLASS(SFXXMLEntityReference)
EntityReference ノード(SFXXMLEntityReference)は、 XML 文書のエンティティ参照を保持します。
エンティティ参照は、BREW アプリによって展開される必要があります。
![]() |
注意 |
---|---|
SophiaFramework UNIVERSE のパーサー(SFXXMLDOMParser / SFXXMLSAXParser)の仕様では、 エンティティ参照は展開されないことに注意してください。 |
コンストラクタ/デストラクタ |
---|
SFXXMLEntityReference(
SFXXMLDocumentPtr owner
, SFXAnsiStringConstRef name
, Bool clonechild = true
) SFXXMLEntityReference クラスのコンストラクタです。
|
SFXXMLEntityReference(
SFXXMLEntityReferenceConstRef other
, Bool deep = false
) SFXXMLEntityReference クラスのコンストラクタです。
|
~SFXXMLEntityReference( Void ) SFXXMLEntityReference クラスのデストラクタです。
|
パブリック関数 | |
---|---|
SFCError |
AppendChild(
SFXXMLNodeConstPtr newchild
) 子ノードの最後にノードを追加します。
|
SFCError |
CloneNode(
SFXXMLNodeHandle clonenode
, Bool deep
) ノードのコピーを作成します。
|
DOMNodeListPtr |
GetChildNodes( Void ) すべての子ノードを取得します。
|
SFXXMLNodePtr |
GetFirstChild( Void ) 最初の子ノードを取得します。
|
SFXXMLNodePtr |
GetLastChild( Void ) 最後の子ノードを取得します。
|
SFXXMLNodePtr |
GetNextSibling( Void ) 次の兄弟ノードを取得します。
|
ACharConstPtr |
GetNodeName( Void ) ノードの名前(nodeName 属性値)を取得します。
|
NodeType |
GetNodeType( Void ) ノードタイプ(nodeType 属性値)を取得します。
|
SFXXMLNodePtr |
GetParentNode( Void ) 親ノードを取得します。
|
SFXXMLNodePtr |
GetPreviousSibling( Void ) 前の兄弟ノードを取得します。
|
Bool |
HasChildNodes( Void ) 子ノードを持つかどうか判定します。
|
SFCError |
InsertBefore(
SFXXMLNodeConstPtr newchild
, SFXXMLNodeConstPtr refchild
) ノードを挿入します。
|
SFCError |
RemoveChild(
SFXXMLNodeConstPtr oldchild
) 子孫ノードも含めて子ノードを削除します。
|
SFCError |
ReplaceChild(
SFXXMLNodeConstPtr newchild
, SFXXMLNodeConstPtr oldchild
) 子ノードを置換します。
|
Bool |
EqualNode(
SFXXMLNodeConstPtr arg
)
(SFXXMLNode から継承)
指定されたノードと同等かどうかを判定します。
|
ACharConstPtr |
GetNodeValue( Void )
(SFXXMLNode から継承)
ノードの値(nodeValue 属性値)を取得します。
|
SFXAnsiString |
GetText( Void )
(SFXXMLNode から継承)
ノードテキストを取得します。
|
Bool |
IsSameNode(
SFXXMLNodeConstPtr other
)
(SFXXMLNode から継承)
指定されたノードと同一であるか判定します。
|
Void |
SetNodeValue(
ACharConstPtr value
)
(SFXXMLNode から継承)
ノードの値(nodeValue 属性値)を設定します。
|
SFCError |
SetText(
SFXAnsiStringConstRef text
)
(SFXXMLNode から継承)
ノードテキストを設定します。
|
型 |
---|
DOMNamedNodeMap
(SFXXMLNode から継承)
複数の DOM ノードを名前またはローカル名と名前空間 URI で管理するためのクラスです。
|
DOMNodeList
(SFXXMLNode から継承)
複数の DOM ノードをリスト形式で管理するためのクラスです。
|
NodeType
(SFXXMLNode から継承)
ノードタイプを表す定数です。
|
[ public, explicit ] SFXXMLEntityReference( SFXXMLDocumentPtr owner // ドキュメントツリーのルート SFXAnsiStringConstRef name // 参照するエンティティ名 Bool clonechild = true // 子ノードを再帰的にコピーするかどうか【無効】 );
[ public, explicit ] SFXXMLEntityReference( SFXXMLEntityReferenceConstRef other // EntityReference ノード Bool deep = false // 子ノードを再帰的にコピーするかどうか );
このコンストラクタは、指定された値をこのノードに設定します。
引数には、このノードを所有するドキュメントツリーのルート(SFXXMLDocument)と参照するエンティティ名、 または別の EntityReference ノードのいずれかを指定することが可能です。
![]() |
注意 |
---|---|
name 引数に指定される参照するエンティティ名は、 SFXXMLEntityReference::GetNodeName 関数で取得できる、このノードの nodeName 属性として設定されます。 |
[ public, virtual ] virtual ~SFXXMLEntityReference(Void);
このデストラクタは、何も行いません。
[ public, virtual ] SFCError AppendChild( SFXXMLNodeConstPtr newchild // 追加するノード );
この関数は、指定されたノード(newchild ノード)をこのノードの最後の子ノードとして追加します。
newchild ノードをコピーせずにそのまま追加します。 newchild ノードが既に DOM ツリー内に存在する場合は、 最初に DOM ツリーからその子ノードを削除します。
![]() |
newchild 引数が不正になる条件 |
---|---|
以下のとき、newchild 引数は不正となり、SFERR_INVALID_PARAM エラーが返ります。
|
![]() |
注意 |
---|---|
newchild 引数には、Element / ProcessingInstruction / Text / Comment / CDATASection / EntityReference の何れかのノードを指定してください。 |
![]() |
注意 |
---|---|
内部で SFXXMLEntityReference::InsertBefore(newchild, null) を呼び出しています。 |
[ public, virtual ] SFCError CloneNode( SFXXMLNodeHandle clonenode // コピー先のノード(Handle 型) Bool deep // 子ノードを再帰的にコピーするかどうか );
コピー先ノードを指定します。
true の場合、子ノードを再帰的にコピーします。
false の場合、ノード自身だけをコピーします。
この関数は、このノードのコピーを作成し、clonenode 引数に返します。
![]() |
子孫ノードのコピー |
---|---|
deep 引数に true を指定すると、このノードの子孫ノードも含めてコピーが行われます。 false を指定した場合は、このノードだけがコピーされます(このノードの子孫ノードはコピーされません)。 |
[ public, virtual, const ] DOMNodeListPtr GetChildNodes(Void);
すべての子ノード(SFXXMLNode::DOMNodeList へのポインタ)
この関数は、このノードのすべての子ノードを取得します。
![]() |
注意 |
---|---|
子ノードが存在しない場合は null を返します。 |
![]() |
注意 |
---|---|
SFXXMLNode::DOMNodeList の各要素は、 SFXXMLNode へのポインタです。 |
[ public, virtual, const ] SFXXMLNodePtr GetFirstChild(Void);
最初の子ノード
この関数は、このノードの最初の子ノードを取得します。
![]() |
注意 |
---|---|
子ノードが存在しない場合は null を返します。 |
[ public, virtual, const ] SFXXMLNodePtr GetLastChild(Void);
最後の子ノード
この関数は、このノードの最後の子ノードを取得します。
![]() |
注意 |
---|---|
子ノードが存在しない場合は null を返します。 |
[ public, virtual, const ] SFXXMLNodePtr GetNextSibling(Void);
次の兄弟ノード
この関数は、このノードの次の兄弟ノードを取得します。
![]() |
注意 |
---|---|
次の兄弟ノードが存在しない場合は null を返します。 |
SFXXMLEntityReference::GetPreviousSibling | SFXXMLNode::GetNextSibling| SFXXMLNode::GetPreviousSibling | SFXXMLNode
[ public, virtual, const ] ACharConstPtr GetNodeName(Void);
ノードの名前(nodeName 属性値)
この関数は、このノードの名前(nodeName 属性値)を取得します。
EntityReference ノードの場合、nodeName 属性値は参照するエンティティ名のことです。
![]() |
注意 |
---|---|
参照するエンティティ名は、SFXXMLEntityReference::SFXXMLEntityReference コンストラクタの name 引数で設定します。 |
[ public, virtual, const ] NodeType GetNodeType(Void);
SFXXMLNode::ENTITY_REFERENCE_NODE
この関数は、このノードのタイプ(nodeType 属性値)を取得します。
EntityReference ノードの場合、nodeType 属性値は SFXXMLNode::ENTITY_REFERENCE_NODE です。
[ public, virtual, const ] SFXXMLNodePtr GetParentNode(Void);
親ノード
この関数は、このノードの親ノードを取得します。
![]() |
注意 |
---|---|
親ノードが存在しない場合は null を返します。 |
[ public, virtual, const ] SFXXMLNodePtr GetPreviousSibling(Void);
前の兄弟ノード
この関数は、このノードの前の兄弟ノードを取得します。
![]() |
注意 |
---|---|
前の兄弟ノードが存在しない場合は null を返します。 |
SFXXMLEntityReference::GetNextSibling | SFXXMLNode::GetPreviousSibling | SFXXMLNode::GetNextSibling | SFXXMLNode
[ public, virtual, const ] Bool HasChildNodes(Void);
この関数は、このノードが子ノードを持つかどうか判定します。
[ public, virtual ] SFCError InsertBefore( SFXXMLNodeConstPtr newchild // 挿入するノード SFXXMLNodeConstPtr refchild // 参照ノード、このノードの直前に挿入される(refchild が null の場合、newchild は最後の子ノードとして挿入される) );
この関数は、newchild 引数に指定されたノード(newchild ノード)を refchild 引数に指定されたノード(refchild ノード)の前に挿入します。
newchild ノードをコピーせずにそのまま挿入します。 newchild ノードが既に DOM ツリー内に存在する場合は、 最初に DOM ツリーからその子ノードを削除します。
newchild ノードが DocumentFragment ノードの場合、 newchild ノードの代わりにその子ノードのすべてを元の順番どおりに、refchild ノードの直前に挿入します。
refchild ノードが null の場合は、一番最後の子ノードとして挿入します。 また、newchild ノードと refchild ノードが同じノードを指す場合、何も起こりません。
![]() |
newchild / refchild 引数が不正になる条件 |
---|---|
以下のとき、newchild / refchild 引数は不正となり、SFERR_INVALID_PARAM エラーが返ります。
|
[ public, virtual ] SFCError RemoveChild( SFXXMLNodeConstPtr oldchild // 削除する子ノード );
この関数は、このノードから子孫ノードも含めて指定された子ノードを削除します。
[ public, virtual ] SFCError ReplaceChild( SFXXMLNodeConstPtr newchild // 置換後ノード SFXXMLNodeConstPtr oldchild // 置換前ノード );
この関数は、oldchild 引数に指定されたこのノードの子ノード(oldchild ノード)を newchild 引数に指定されたノード(newchild ノード)で置換します。
newchild ノードをコピーせずにそのまま挿入します。 newchild ノードが既に DOM ツリー内に存在する場合は、 最初に DOM ツリーからその子ノードを削除します。
oldchild ノード以下の子孫ノードは、DOM ツリーから削除され、メモリも解放されます。
newchild ノードが DocumentFragment ノードの場合、 newchild ノードの代わりにその子ノードのすべてを元の順番どおりに、oldchild ノードを置換します。
newchild ノードと oldchild ノードが同じである場合は、何も起こりません。
![]() |
newchild / oldchild 引数が不正になる条件 |
---|---|
以下のとき、newchild / oldchild 引数は不正となり、SFERR_INVALID_PARAM エラーが返ります。
|
![]() |
注意 |
---|---|
newchild 引数には、Element / ProcessingInstruction / Text / Comment / CDATASection / EntityReference の何れかのノードを指定してください。 |
![]() |
Tip |
---|---|
内部では、SFXXMLEntityReference::InsertBefore(newchild, oldchild) を呼び出してから、 SFXXMLEntityReference::RemoveChild(oldchild) を実行します。 |
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |
![]() ![]() ![]() ![]() |