Document Object Model

目次

DOMAttr クラス

はじめに

DOMNode を継承します。DOMAttr は、DOMElement オブジェクトの属性を表します。

クラス概要

DOMAttr
extends DOMNode
/* プロパティ */
public readonly string $name;
public readonly bool $specified = true;
public string $value;
public readonly DOMElementnull $ownerElement;
public readonly mixed $schemaTypeInfo = null;
/* 継承したプロパティ */
public readonly string $nodeName;
public stringnull $nodeValue;
public readonly int $nodeType;
public readonly DOMNodenull $parentNode;
public readonly DOMElementnull $parentElement;
public readonly DOMNodeList $childNodes;
public readonly DOMNodenull $firstChild;
public readonly DOMNodenull $lastChild;
public readonly DOMNodenull $previousSibling;
public readonly DOMNodenull $nextSibling;
public readonly DOMNamedNodeMapnull $attributes;
public readonly bool $isConnected;
public readonly DOMDocumentnull $ownerDocument;
public readonly stringnull $namespaceURI;
public string $prefix;
public readonly stringnull $localName;
public readonly stringnull $baseURI;
public string $textContent;
/* メソッド */
public DOMAttr::__construct(string $name, string $value = "")
public bool DOMAttr::isId()
/* 継承したメソッド */
public DOMNodefalse appendChild(DOMNode $node)
public stringfalse C14N(
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public intfalse C14NFile(
    string $uri,
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public DOMNodefalse cloneNode(bool $deep = false)
public bool contains(DOMNodeDOMNameSpaceNodenull $other)
public int getLineNo()
public stringnull getNodePath()
public DOMNode getRootNode(array $options = null)
public bool hasAttributes()
public bool hasChildNodes()
public DOMNodefalse insertBefore(DOMNode $node, DOMNodenull $child = null)
public bool isDefaultNamespace(string $namespace)
public bool isEqualNode(DOMNodenull $otherNode)
public bool isSameNode(DOMNode $otherNode)
public bool isSupported(string $feature, string $version)
public stringnull lookupNamespaceURI(stringnull $prefix)
public stringnull lookupPrefix(string $namespace)
public void normalize()
public DOMNodefalse removeChild(DOMNode $child)
public DOMNodefalse replaceChild(DOMNode $node, DOMNode $child)

プロパティ

name

属性の名前

ownerElement

属性を保持する要素。存在しない場合は null になります。

schemaTypeInfo

未実装です。常に null を返します。

specified

未実装です。常に true を返します。

value

属性の値

注意:

値を設定する際には、XML のエンティティが展開されるので注意してください。 つまり、& 文字は特別な意味を持ちます。 value& が含まれている場合、それを直接設定すると処理が失敗します。 エンティティの展開を避けるためには、 DOMElement::setAttribute を代わりに使います。

DOMCdataSection クラス

はじめに

DOMCdataSectionDOMText を継承したクラスで、 CData のテキスト表現に使います。

クラス概要

DOMCdataSection
extends DOMText
/* 継承したプロパティ */
public readonly string $wholeText;
public string $data;
public readonly int $length;
public readonly DOMElementnull $previousElementSibling;
public readonly DOMElementnull $nextElementSibling;
public readonly string $nodeName;
public stringnull $nodeValue;
public readonly int $nodeType;
public readonly DOMNodenull $parentNode;
public readonly DOMElementnull $parentElement;
public readonly DOMNodeList $childNodes;
public readonly DOMNodenull $firstChild;
public readonly DOMNodenull $lastChild;
public readonly DOMNodenull $previousSibling;
public readonly DOMNodenull $nextSibling;
public readonly DOMNamedNodeMapnull $attributes;
public readonly bool $isConnected;
public readonly DOMDocumentnull $ownerDocument;
public readonly stringnull $namespaceURI;
public string $prefix;
public readonly stringnull $localName;
public readonly stringnull $baseURI;
public string $textContent;
/* メソッド */
public DOMCdataSection::__construct(string $data)
/* 継承したメソッド */
public bool isElementContentWhitespace()
public bool isWhitespaceInElementContent()
public DOMTextfalse splitText(int $offset)
public void DOMCharacterData::after(DOMNodestring ...$nodes)
public true DOMCharacterData::appendData(string $data)
public void DOMCharacterData::before(DOMNodestring ...$nodes)
public bool DOMCharacterData::deleteData(int $offset, int $count)
public bool DOMCharacterData::insertData(int $offset, string $data)
public void DOMCharacterData::remove()
public bool DOMCharacterData::replaceData(int $offset, int $count, string $data)
public void DOMCharacterData::replaceWith(DOMNodestring ...$nodes)
public stringfalse DOMCharacterData::substringData(int $offset, int $count)
public DOMNodefalse DOMNode::appendChild(DOMNode $node)
public stringfalse DOMNode::C14N(
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public intfalse DOMNode::C14NFile(
    string $uri,
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public DOMNodefalse DOMNode::cloneNode(bool $deep = false)
public bool DOMNode::contains(DOMNodeDOMNameSpaceNodenull $other)
public int DOMNode::getLineNo()
public stringnull DOMNode::getNodePath()
public DOMNode DOMNode::getRootNode(array $options = null)
public bool DOMNode::hasAttributes()
public bool DOMNode::hasChildNodes()
public DOMNodefalse DOMNode::insertBefore(DOMNode $node, DOMNodenull $child = null)
public bool DOMNode::isDefaultNamespace(string $namespace)
public bool DOMNode::isEqualNode(DOMNodenull $otherNode)
public bool DOMNode::isSameNode(DOMNode $otherNode)
public bool DOMNode::isSupported(string $feature, string $version)
public stringnull DOMNode::lookupNamespaceURI(stringnull $prefix)
public stringnull DOMNode::lookupPrefix(string $namespace)
public void DOMNode::normalize()
public DOMNodefalse DOMNode::removeChild(DOMNode $child)
public DOMNodefalse DOMNode::replaceChild(DOMNode $node, DOMNode $child)

DOMCharacterData クラス

はじめに

文字データノードを表します。このクラスに直接対応するノードはなく、 他のノードがこれを継承します。

クラス概要

DOMCharacterData
extends DOMNode
implements DOMChildNode
/* プロパティ */
public string $data;
public readonly int $length;
public readonly DOMElementnull $previousElementSibling;
public readonly DOMElementnull $nextElementSibling;
/* 継承したプロパティ */
public readonly string $nodeName;
public stringnull $nodeValue;
public readonly int $nodeType;
public readonly DOMNodenull $parentNode;
public readonly DOMElementnull $parentElement;
public readonly DOMNodeList $childNodes;
public readonly DOMNodenull $firstChild;
public readonly DOMNodenull $lastChild;
public readonly DOMNodenull $previousSibling;
public readonly DOMNodenull $nextSibling;
public readonly DOMNamedNodeMapnull $attributes;
public readonly bool $isConnected;
public readonly DOMDocumentnull $ownerDocument;
public readonly stringnull $namespaceURI;
public string $prefix;
public readonly stringnull $localName;
public readonly stringnull $baseURI;
public string $textContent;
/* メソッド */
public void DOMCharacterData::after(DOMNodestring ...$nodes)
public true DOMCharacterData::appendData(string $data)
public void DOMCharacterData::before(DOMNodestring ...$nodes)
public bool DOMCharacterData::deleteData(int $offset, int $count)
public bool DOMCharacterData::insertData(int $offset, string $data)
public void DOMCharacterData::remove()
public bool DOMCharacterData::replaceData(int $offset, int $count, string $data)
public void DOMCharacterData::replaceWith(DOMNodestring ...$nodes)
public stringfalse DOMCharacterData::substringData(int $offset, int $count)
/* 継承したメソッド */
public DOMNodefalse appendChild(DOMNode $node)
public stringfalse C14N(
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public intfalse C14NFile(
    string $uri,
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public DOMNodefalse cloneNode(bool $deep = false)
public bool contains(DOMNodeDOMNameSpaceNodenull $other)
public int getLineNo()
public stringnull getNodePath()
public DOMNode getRootNode(array $options = null)
public bool hasAttributes()
public bool hasChildNodes()
public DOMNodefalse insertBefore(DOMNode $node, DOMNodenull $child = null)
public bool isDefaultNamespace(string $namespace)
public bool isEqualNode(DOMNodenull $otherNode)
public bool isSameNode(DOMNode $otherNode)
public bool isSupported(string $feature, string $version)
public stringnull lookupNamespaceURI(stringnull $prefix)
public stringnull lookupPrefix(string $namespace)
public void normalize()
public DOMNodefalse removeChild(DOMNode $child)
public DOMNodefalse replaceChild(DOMNode $node, DOMNode $child)

プロパティ

data

ノードの内容。

length

内容の長さ。

nextElementSibling

次の兄弟要素。存在しない場合は null になります。

previousElementSibling

前の兄弟要素。存在しない場合は null になります。

変更履歴

バージョン 説明
8.0.0 プロパティ nextElementSiblingpreviousElementSibling が追加されました。
8.0.0 DOMCharacterData は、 DOMChildNode を実装しました。

DOMChildNode インターフェイス

インターフェイス概要

DOMChildNode
/* メソッド */
public void DOMChildNode::after(DOMNodestring ...$nodes)
public void DOMChildNode::before(DOMNodestring ...$nodes)
public void DOMChildNode::remove()
public void DOMChildNode::replaceWith(DOMNodestring ...$nodes)

DOMComment クラス

はじめに

コメントノード、つまり <!----> で囲まれた文字を表します。

クラス概要

DOMComment
extends DOMCharacterData
/* 継承したプロパティ */
public string $data;
public readonly int $length;
public readonly DOMElementnull $previousElementSibling;
public readonly DOMElementnull $nextElementSibling;
public readonly string $nodeName;
public stringnull $nodeValue;
public readonly int $nodeType;
public readonly DOMNodenull $parentNode;
public readonly DOMElementnull $parentElement;
public readonly DOMNodeList $childNodes;
public readonly DOMNodenull $firstChild;
public readonly DOMNodenull $lastChild;
public readonly DOMNodenull $previousSibling;
public readonly DOMNodenull $nextSibling;
public readonly DOMNamedNodeMapnull $attributes;
public readonly bool $isConnected;
public readonly DOMDocumentnull $ownerDocument;
public readonly stringnull $namespaceURI;
public string $prefix;
public readonly stringnull $localName;
public readonly stringnull $baseURI;
public string $textContent;
/* メソッド */
public DOMComment::__construct(string $data = "")
/* 継承したメソッド */
public void after(DOMNodestring ...$nodes)
public true appendData(string $data)
public void before(DOMNodestring ...$nodes)
public bool deleteData(int $offset, int $count)
public bool insertData(int $offset, string $data)
public void remove()
public bool replaceData(int $offset, int $count, string $data)
public void replaceWith(DOMNodestring ...$nodes)
public stringfalse substringData(int $offset, int $count)
public DOMNodefalse DOMNode::appendChild(DOMNode $node)
public stringfalse DOMNode::C14N(
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public intfalse DOMNode::C14NFile(
    string $uri,
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public DOMNodefalse DOMNode::cloneNode(bool $deep = false)
public bool DOMNode::contains(DOMNodeDOMNameSpaceNodenull $other)
public int DOMNode::getLineNo()
public stringnull DOMNode::getNodePath()
public DOMNode DOMNode::getRootNode(array $options = null)
public bool DOMNode::hasAttributes()
public bool DOMNode::hasChildNodes()
public DOMNodefalse DOMNode::insertBefore(DOMNode $node, DOMNodenull $child = null)
public bool DOMNode::isDefaultNamespace(string $namespace)
public bool DOMNode::isEqualNode(DOMNodenull $otherNode)
public bool DOMNode::isSameNode(DOMNode $otherNode)
public bool DOMNode::isSupported(string $feature, string $version)
public stringnull DOMNode::lookupNamespaceURI(stringnull $prefix)
public stringnull DOMNode::lookupPrefix(string $namespace)
public void DOMNode::normalize()
public DOMNodefalse DOMNode::removeChild(DOMNode $child)
public DOMNodefalse DOMNode::replaceChild(DOMNode $node, DOMNode $child)

DOMDocument クラス

はじめに

HTML ドキュメントあるいは XML ドキュメント全体を表し、 ドキュメントツリーのルートとなります。

クラス概要

DOMDocument
extends DOMNode
implements DOMParentNode
/* プロパティ */
public readonly DOMDocumentTypenull $doctype;
public readonly DOMImplementation $implementation;
public readonly DOMElementnull $documentElement;
public readonly stringnull $actualEncoding;
public stringnull $encoding;
public readonly stringnull $xmlEncoding;
public bool $standalone;
public bool $xmlStandalone;
public stringnull $version;
public stringnull $xmlVersion;
public bool $strictErrorChecking;
public stringnull $documentURI;
public readonly mixed $config;
public bool $formatOutput;
public bool $validateOnParse;
public bool $resolveExternals;
public bool $preserveWhiteSpace;
public bool $recover;
public bool $substituteEntities;
public readonly DOMElementnull $firstElementChild;
public readonly DOMElementnull $lastElementChild;
public readonly int $childElementCount;
/* 継承したプロパティ */
public readonly string $nodeName;
public stringnull $nodeValue;
public readonly int $nodeType;
public readonly DOMNodenull $parentNode;
public readonly DOMElementnull $parentElement;
public readonly DOMNodeList $childNodes;
public readonly DOMNodenull $firstChild;
public readonly DOMNodenull $lastChild;
public readonly DOMNodenull $previousSibling;
public readonly DOMNodenull $nextSibling;
public readonly DOMNamedNodeMapnull $attributes;
public readonly bool $isConnected;
public readonly DOMDocumentnull $ownerDocument;
public readonly stringnull $namespaceURI;
public string $prefix;
public readonly stringnull $localName;
public readonly stringnull $baseURI;
public string $textContent;
/* メソッド */
public DOMDocument::__construct(string $version = "1.0", string $encoding = "")
public DOMNodefalse DOMDocument::adoptNode(DOMNode $node)
public void DOMDocument::append(DOMNodestring ...$nodes)
public DOMAttrfalse DOMDocument::createAttribute(string $localName)
public DOMAttrfalse DOMDocument::createAttributeNS(stringnull $namespace, string $qualifiedName)
public DOMCdataSectionfalse DOMDocument::createCDATASection(string $data)
public DOMComment DOMDocument::createComment(string $data)
public DOMDocumentFragment DOMDocument::createDocumentFragment()
public DOMElementfalse DOMDocument::createElement(string $localName, string $value = "")
public DOMElementfalse DOMDocument::createElementNS(stringnull $namespace, string $qualifiedName, string $value = "")
public DOMEntityReferencefalse DOMDocument::createEntityReference(string $name)
public DOMProcessingInstructionfalse DOMDocument::createProcessingInstruction(string $target, string $data = "")
public DOMText DOMDocument::createTextNode(string $data)
public DOMElementnull DOMDocument::getElementById(string $elementId)
public DOMNodeList DOMDocument::getElementsByTagName(string $qualifiedName)
public DOMNodeList DOMDocument::getElementsByTagNameNS(stringnull $namespace, string $localName)
public DOMNodefalse DOMDocument::importNode(DOMNode $node, bool $deep = false)
public bool DOMDocument::load(string $filename, int $options = 0)
public bool DOMDocument::loadHTML(string $source, int $options = 0)
public bool DOMDocument::loadHTMLFile(string $filename, int $options = 0)
public bool DOMDocument::loadXML(string $source, int $options = 0)
public void DOMDocument::normalizeDocument()
public void DOMDocument::prepend(DOMNodestring ...$nodes)
public bool DOMDocument::registerNodeClass(string $baseClass, stringnull $extendedClass)
public bool DOMDocument::relaxNGValidate(string $filename)
public bool DOMDocument::relaxNGValidateSource(string $source)
public void DOMDocument::replaceChildren(DOMNodestring ...$nodes)
public intfalse DOMDocument::save(string $filename, int $options = 0)
public stringfalse DOMDocument::saveHTML(DOMNodenull $node = null)
public intfalse DOMDocument::saveHTMLFile(string $filename)
public stringfalse DOMDocument::saveXML(DOMNodenull $node = null, int $options = 0)
public bool DOMDocument::schemaValidate(string $filename, int $flags = 0)
public bool DOMDocument::schemaValidateSource(string $source, int $flags = 0)
public bool DOMDocument::validate()
public intfalse DOMDocument::xinclude(int $options = 0)
/* 継承したメソッド */
public DOMNodefalse appendChild(DOMNode $node)
public stringfalse C14N(
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public intfalse C14NFile(
    string $uri,
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public DOMNodefalse cloneNode(bool $deep = false)
public bool contains(DOMNodeDOMNameSpaceNodenull $other)
public int getLineNo()
public stringnull getNodePath()
public DOMNode getRootNode(array $options = null)
public bool hasAttributes()
public bool hasChildNodes()
public DOMNodefalse insertBefore(DOMNode $node, DOMNodenull $child = null)
public bool isDefaultNamespace(string $namespace)
public bool isEqualNode(DOMNodenull $otherNode)
public bool isSameNode(DOMNode $otherNode)
public bool isSupported(string $feature, string $version)
public stringnull lookupNamespaceURI(stringnull $prefix)
public stringnull lookupPrefix(string $namespace)
public void normalize()
public DOMNodefalse removeChild(DOMNode $child)
public DOMNodefalse replaceChild(DOMNode $node, DOMNode $child)

プロパティ

actualEncoding

非推奨。ドキュメントの実際のエンコーディング。 読み込み専用で、 encoding と同等の内容です。

childElementCount

子要素の数

config

非推奨DOMDocument::normalizeDocument を実行する際に使用する設定。

doctype

このドキュメントに関連付けられた文書型宣言

documentElement

最初のドキュメント要素を示す DOMElement オブジェクト。 存在しない場合は null になります。

documentURI

ドキュメントの位置。未定義の場合は null

encoding

XML 宣言で指定したドキュメントのエンコーディング。 この属性は、DOM Level 3 の最終的な仕様には存在しません。 しかし、この実装で XML ドキュメントのエンコーディングを扱うにはこれを使用するしかありません。

firstElementChild

最初の子要素。存在しない場合は null になります。

formatOutput

字下げや空白を考慮してきれいに整形した出力を行う。 これは、ドキュメントを preserveWhitespace を有効にして読み込んだ場合は効果がありません。

implementation

このドキュメントを処理する DOMImplementation オブジェクト

lastElementChild

最後の子要素。存在しない場合は null になります。

preserveWhiteSpace

余分な空白を取り除かない。デフォルトは true false に設定すると、 DOMDocument::loadoptionLIBXML_NOBLANKS を渡すのと同じ効果があります。

recover

非標準。 リカバリーモードを有効にし、整形式でないドキュメントのパースを試みます。 この属性は DOM の仕様にはなく、libxml 固有の独自仕様です。

resolveExternals

文書型宣言で外部エンティティを読み込む際に true を設定する。 XML ドキュメントに文字エンティティを含める際に便利です。

standalone

非推奨。 そのドキュメントがスタンドアローンかどうかを XML 宣言で指定したもの。 xmlStandalone に対応します。

strictErrorChecking

エラー時に DOMException をスローする。デフォルトは true

substituteEntities

非標準。 エンティティの置換を行うかどうか。 この属性は DOM の仕様にはなく、libxml 固有の独自仕様です。 デフォルトは false です。

警告

エンティティの置換を有効にすると、XML外部エンティティ参照攻撃(XXE) を容易にしてしまうかもしれません。

validateOnParse

DTD を読み込んで検証する。デフォルトは false

警告

DTD の検証を有効にすると、XML外部エンティティ参照攻撃(XXE) を容易にしてしまうかもしれません。

version

非推奨。 XML のバージョン。 xmlVersion に対応します。

xmlEncoding

XML 宣言の一部として、このドキュメントのエンコーディングを 指定する属性。指定されていない場合や不明な場合 (たとえば ドキュメントがメモリ上に存在する場合など) は null

xmlStandalone

XML 宣言の一部として、このドキュメントがスタンドアローンか どうかを指定する。指定されていない場合は false スタンドアローンドキュメントとは、 外部のマークアップ宣言を持たないドキュメントのことです。 スタンドアローンドキュメントの例としては、 DTD がデフォルトの値で宣言されているものが挙げられます。

xmlVersion

XML 宣言の一部として、このドキュメントのバージョン番号を指定する。 バージョン番号が定義されておらず、ドキュメントが "XML" の機能を サポートしている場合は、値は "1.0"

変更履歴

バージョン 説明
8.0.0 DOMDocument は、 DOMParentNode を実装しました。
8.0.0 実装されていなかったメソッド DOMDocument::renameNode が削除されました。

注意

注意:

DOM拡張モジュール は UTF-8 エンコーディングを使います。他のエンコーディングを扱う場合は、mb_convert_encoding, UConverter::transcode, iconv を使ってください。

注意:

DOMDocument オブジェクトに対して json_encode を使うと、結果は空オブジェクトをエンコードしたものになります。

DOMDocumentFragment クラス

クラス概要

DOMDocumentFragment
extends DOMNode
implements DOMParentNode
/* プロパティ */
public readonly DOMElementnull $firstElementChild;
public readonly DOMElementnull $lastElementChild;
public readonly int $childElementCount;
/* 継承したプロパティ */
public readonly string $nodeName;
public stringnull $nodeValue;
public readonly int $nodeType;
public readonly DOMNodenull $parentNode;
public readonly DOMElementnull $parentElement;
public readonly DOMNodeList $childNodes;
public readonly DOMNodenull $firstChild;
public readonly DOMNodenull $lastChild;
public readonly DOMNodenull $previousSibling;
public readonly DOMNodenull $nextSibling;
public readonly DOMNamedNodeMapnull $attributes;
public readonly bool $isConnected;
public readonly DOMDocumentnull $ownerDocument;
public readonly stringnull $namespaceURI;
public string $prefix;
public readonly stringnull $localName;
public readonly stringnull $baseURI;
public string $textContent;
/* メソッド */
public DOMDocumentFragment::__construct()
public void DOMDocumentFragment::append(DOMNodestring ...$nodes)
public bool DOMDocumentFragment::appendXML(string $data)
public void DOMDocumentFragment::prepend(DOMNodestring ...$nodes)
public void DOMDocumentFragment::replaceChildren(DOMNodestring ...$nodes)
/* 継承したメソッド */
public DOMNodefalse appendChild(DOMNode $node)
public stringfalse C14N(
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public intfalse C14NFile(
    string $uri,
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public DOMNodefalse cloneNode(bool $deep = false)
public bool contains(DOMNodeDOMNameSpaceNodenull $other)
public int getLineNo()
public stringnull getNodePath()
public DOMNode getRootNode(array $options = null)
public bool hasAttributes()
public bool hasChildNodes()
public DOMNodefalse insertBefore(DOMNode $node, DOMNodenull $child = null)
public bool isDefaultNamespace(string $namespace)
public bool isEqualNode(DOMNodenull $otherNode)
public bool isSameNode(DOMNode $otherNode)
public bool isSupported(string $feature, string $version)
public stringnull lookupNamespaceURI(stringnull $prefix)
public stringnull lookupPrefix(string $namespace)
public void normalize()
public DOMNodefalse removeChild(DOMNode $child)
public DOMNodefalse replaceChild(DOMNode $node, DOMNode $child)

プロパティ

childElementCount

子要素の数。

firstElementChild

最初の子要素。存在しない場合は null になります。

lastElementChild

最後の子要素。存在しない場合は null になります。

変更履歴

バージョン 説明
8.0.0 プロパティ firstElementChild, lastElementChild, childElementCount が追加されました。
8.0.0 DOMDocumentFragment は、 DOMParentNode を実装しました。

DOMDocumentType クラス

はじめに

DOMDocumentdoctype 属性を保持しており、その値は null あるいは DOMDocumentType オブジェクトです。

クラス概要

DOMDocumentType
extends DOMNode
/* プロパティ */
public readonly string $publicId;
public readonly string $systemId;
public readonly string $name;
public readonly DOMNamedNodeMap $entities;
public readonly DOMNamedNodeMap $notations;
public readonly string $internalSubset;
/* 継承したプロパティ */
public readonly string $nodeName;
public stringnull $nodeValue;
public readonly int $nodeType;
public readonly DOMNodenull $parentNode;
public readonly DOMElementnull $parentElement;
public readonly DOMNodeList $childNodes;
public readonly DOMNodenull $firstChild;
public readonly DOMNodenull $lastChild;
public readonly DOMNodenull $previousSibling;
public readonly DOMNodenull $nextSibling;
public readonly DOMNamedNodeMapnull $attributes;
public readonly bool $isConnected;
public readonly DOMDocumentnull $ownerDocument;
public readonly stringnull $namespaceURI;
public string $prefix;
public readonly stringnull $localName;
public readonly stringnull $baseURI;
public string $textContent;
/* 継承したメソッド */
public DOMNodefalse appendChild(DOMNode $node)
public stringfalse C14N(
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public intfalse C14NFile(
    string $uri,
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public DOMNodefalse cloneNode(bool $deep = false)
public bool contains(DOMNodeDOMNameSpaceNodenull $other)
public int getLineNo()
public stringnull getNodePath()
public DOMNode getRootNode(array $options = null)
public bool hasAttributes()
public bool hasChildNodes()
public DOMNodefalse insertBefore(DOMNode $node, DOMNodenull $child = null)
public bool isDefaultNamespace(string $namespace)
public bool isEqualNode(DOMNodenull $otherNode)
public bool isSameNode(DOMNode $otherNode)
public bool isSupported(string $feature, string $version)
public stringnull lookupNamespaceURI(stringnull $prefix)
public stringnull lookupPrefix(string $namespace)
public void normalize()
public DOMNodefalse removeChild(DOMNode $child)
public DOMNodefalse replaceChild(DOMNode $node, DOMNode $child)

プロパティ

publicId

外部サブセットの公開 ID。

systemId

外部サブセットのシステム ID。完全 URI である場合とそうでない場合がある。

name

DTD の名前。すなわち、DOCTYPE キーワードに続く値。

entities

DTD で宣言されている一般エンティティ (外部・内部とも) を含む DOMNamedNodeMap

notations

DTD で宣言されている記法を含む DOMNamedNodeMap

internalSubset

内部サブセットを文字列として取得する。存在しない場合は null となる。区切りの角括弧は含まない。

DOMElement クラス

クラス概要

DOMElement
extends DOMNode
implements DOMParentNode DOMChildNode
/* プロパティ */
public readonly string $tagName;
public string $className;
public string $id;
public readonly mixed $schemaTypeInfo = null;
public readonly DOMElementnull $firstElementChild;
public readonly DOMElementnull $lastElementChild;
public readonly int $childElementCount;
public readonly DOMElementnull $previousElementSibling;
public readonly DOMElementnull $nextElementSibling;
/* 継承したプロパティ */
public readonly string $nodeName;
public stringnull $nodeValue;
public readonly int $nodeType;
public readonly DOMNodenull $parentNode;
public readonly DOMElementnull $parentElement;
public readonly DOMNodeList $childNodes;
public readonly DOMNodenull $firstChild;
public readonly DOMNodenull $lastChild;
public readonly DOMNodenull $previousSibling;
public readonly DOMNodenull $nextSibling;
public readonly DOMNamedNodeMapnull $attributes;
public readonly bool $isConnected;
public readonly DOMDocumentnull $ownerDocument;
public readonly stringnull $namespaceURI;
public string $prefix;
public readonly stringnull $localName;
public readonly stringnull $baseURI;
public string $textContent;
/* メソッド */
public DOMElement::__construct(string $qualifiedName, stringnull $value = null, string $namespace = "")
public void DOMElement::after(DOMNodestring ...$nodes)
public void DOMElement::append(DOMNodestring ...$nodes)
public void DOMElement::before(DOMNodestring ...$nodes)
public string DOMElement::getAttribute(string $qualifiedName)
public array DOMElement::getAttributeNames()
public DOMAttrDOMNameSpaceNodefalse DOMElement::getAttributeNode(string $qualifiedName)
public DOMAttrDOMNameSpaceNodenull DOMElement::getAttributeNodeNS(stringnull $namespace, string $localName)
public string DOMElement::getAttributeNS(stringnull $namespace, string $localName)
public DOMNodeList DOMElement::getElementsByTagName(string $qualifiedName)
public DOMNodeList DOMElement::getElementsByTagNameNS(stringnull $namespace, string $localName)
public bool DOMElement::hasAttribute(string $qualifiedName)
public bool DOMElement::hasAttributeNS(stringnull $namespace, string $localName)
public DOMElementnull DOMElement::insertAdjacentElement(string $where, DOMElement $element)
public void DOMElement::insertAdjacentText(string $where, string $data)
public void DOMElement::prepend(DOMNodestring ...$nodes)
public void DOMElement::remove()
public bool DOMElement::removeAttribute(string $qualifiedName)
public DOMAttrfalse DOMElement::removeAttributeNode(DOMAttr $attr)
public void DOMElement::removeAttributeNS(stringnull $namespace, string $localName)
public void DOMElement::replaceChildren(DOMNodestring ...$nodes)
public void DOMElement::replaceWith(DOMNodestring ...$nodes)
public DOMAttrbool DOMElement::setAttribute(string $qualifiedName, string $value)
public DOMAttrnullfalse DOMElement::setAttributeNode(DOMAttr $attr)
public DOMAttrnullfalse DOMElement::setAttributeNodeNS(DOMAttr $attr)
public void DOMElement::setAttributeNS(stringnull $namespace, string $qualifiedName, string $value)
public void DOMElement::setIdAttribute(string $qualifiedName, bool $isId)
public void DOMElement::setIdAttributeNode(DOMAttr $attr, bool $isId)
public void DOMElement::setIdAttributeNS(string $namespace, string $qualifiedName, bool $isId)
public bool DOMElement::toggleAttribute(string $qualifiedName, boolnull $force = null)
/* 継承したメソッド */
public DOMNodefalse appendChild(DOMNode $node)
public stringfalse C14N(
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public intfalse C14NFile(
    string $uri,
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public DOMNodefalse cloneNode(bool $deep = false)
public bool contains(DOMNodeDOMNameSpaceNodenull $other)
public int getLineNo()
public stringnull getNodePath()
public DOMNode getRootNode(array $options = null)
public bool hasAttributes()
public bool hasChildNodes()
public DOMNodefalse insertBefore(DOMNode $node, DOMNodenull $child = null)
public bool isDefaultNamespace(string $namespace)
public bool isEqualNode(DOMNodenull $otherNode)
public bool isSameNode(DOMNode $otherNode)
public bool isSupported(string $feature, string $version)
public stringnull lookupNamespaceURI(stringnull $prefix)
public stringnull lookupPrefix(string $namespace)
public void normalize()
public DOMNodefalse removeChild(DOMNode $child)
public DOMNodefalse replaceChild(DOMNode $node, DOMNode $child)

プロパティ

childElementCount

子要素の数。

firstElementChild

最初の子要素。存在しない場合は null になります。

lastElementChild

最後の子要素。存在しない場合は null になります。

nextElementSibling

次の兄弟要素。存在しない場合は null になります。

previousElementSibling

前の兄弟要素。存在しない場合は null になります。

schemaTypeInfo

未実装。常に null を返す。

tagName

要素名

className

スペースで分割された、要素のクラスを表す文字列

id

要素のID

変更履歴

バージョン 説明
8.0.0 プロパティ firstElementChild, lastElementChild, childElementCount, previousElementSibling, nextElementSibling が追加されました。
8.0.0 DOMElement は、 DOMParentNodeDOMChildNode を実装しました。

注意

注意:

DOM拡張モジュール は UTF-8 エンコーディングを使います。他のエンコーディングを扱う場合は、mb_convert_encoding, UConverter::transcode, iconv を使ってください。

DOMEntity クラス

はじめに

このインターフェイスは、XML ドキュメント内の既知のエンティティを表します。 パース済みかどうかは関係ありません。

クラス概要

DOMEntity
extends DOMNode
/* プロパティ */
public readonly stringnull $publicId;
public readonly stringnull $systemId;
public readonly stringnull $notationName;
public readonly stringnull $actualEncoding = null;
public readonly stringnull $encoding = null;
public readonly stringnull $version = null;
/* 継承したプロパティ */
public readonly string $nodeName;
public stringnull $nodeValue;
public readonly int $nodeType;
public readonly DOMNodenull $parentNode;
public readonly DOMElementnull $parentElement;
public readonly DOMNodeList $childNodes;
public readonly DOMNodenull $firstChild;
public readonly DOMNodenull $lastChild;
public readonly DOMNodenull $previousSibling;
public readonly DOMNodenull $nextSibling;
public readonly DOMNamedNodeMapnull $attributes;
public readonly bool $isConnected;
public readonly DOMDocumentnull $ownerDocument;
public readonly stringnull $namespaceURI;
public string $prefix;
public readonly stringnull $localName;
public readonly stringnull $baseURI;
public string $textContent;
/* 継承したメソッド */
public DOMNodefalse appendChild(DOMNode $node)
public stringfalse C14N(
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public intfalse C14NFile(
    string $uri,
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public DOMNodefalse cloneNode(bool $deep = false)
public bool contains(DOMNodeDOMNameSpaceNodenull $other)
public int getLineNo()
public stringnull getNodePath()
public DOMNode getRootNode(array $options = null)
public bool hasAttributes()
public bool hasChildNodes()
public DOMNodefalse insertBefore(DOMNode $node, DOMNodenull $child = null)
public bool isDefaultNamespace(string $namespace)
public bool isEqualNode(DOMNodenull $otherNode)
public bool isSameNode(DOMNode $otherNode)
public bool isSupported(string $feature, string $version)
public stringnull lookupNamespaceURI(stringnull $prefix)
public stringnull lookupPrefix(string $namespace)
public void normalize()
public DOMNodefalse removeChild(DOMNode $child)
public DOMNodefalse replaceChild(DOMNode $node, DOMNode $child)

プロパティ

publicId

エンティティに関連付けられているパブリック ID が存在すればその値、 それ以外の場合は null

systemId

エンティティに関連付けられているシステム ID が存在すればその値、 それ以外の場合は null。これは完全な URI かもしれないし、 そうでないかもしれない。

notationName

パースされていないエンティティの場合はそのエンティティの名前、 パース済みのエンティティの場合は null

actualEncoding

外部でパースされたエンティティの場合は、このエンティティの パース時に使用されたエンコーディングを指定する属性。 内部サブセットからのエンティティであったり未知のエンティティで あった場合は null

encoding

外部でパースされたエンティティの場合は、テキスト宣言の一部として このエンティティのエンコーディングを指定する属性。それ以外の場合は null

version

外部でパースされたエンティティの場合は、テキスト宣言の一部として このエンティティのバージョン番号を指定する属性。それ以外の場合は null

DOMEntityReference クラス

クラス概要

DOMEntityReference
extends DOMNode
/* 継承したプロパティ */
public readonly string $nodeName;
public stringnull $nodeValue;
public readonly int $nodeType;
public readonly DOMNodenull $parentNode;
public readonly DOMElementnull $parentElement;
public readonly DOMNodeList $childNodes;
public readonly DOMNodenull $firstChild;
public readonly DOMNodenull $lastChild;
public readonly DOMNodenull $previousSibling;
public readonly DOMNodenull $nextSibling;
public readonly DOMNamedNodeMapnull $attributes;
public readonly bool $isConnected;
public readonly DOMDocumentnull $ownerDocument;
public readonly stringnull $namespaceURI;
public string $prefix;
public readonly stringnull $localName;
public readonly stringnull $baseURI;
public string $textContent;
/* メソッド */
public DOMEntityReference::__construct(string $name)
/* 継承したメソッド */
public DOMNodefalse appendChild(DOMNode $node)
public stringfalse C14N(
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public intfalse C14NFile(
    string $uri,
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public DOMNodefalse cloneNode(bool $deep = false)
public bool contains(DOMNodeDOMNameSpaceNodenull $other)
public int getLineNo()
public stringnull getNodePath()
public DOMNode getRootNode(array $options = null)
public bool hasAttributes()
public bool hasChildNodes()
public DOMNodefalse insertBefore(DOMNode $node, DOMNodenull $child = null)
public bool isDefaultNamespace(string $namespace)
public bool isEqualNode(DOMNodenull $otherNode)
public bool isSameNode(DOMNode $otherNode)
public bool isSupported(string $feature, string $version)
public stringnull lookupNamespaceURI(stringnull $prefix)
public stringnull lookupPrefix(string $namespace)
public void normalize()
public DOMNodefalse removeChild(DOMNode $child)
public DOMNodefalse replaceChild(DOMNode $node, DOMNode $child)

DOMException クラス

はじめに

しかるべき状況、すなわち論理的に不可能な操作を行った際などの場合に DOM 操作は例外を発生させます。

例外(exceptions) も参照ください。

クラス概要

final DOMException
extends Exception
/* プロパティ */
public int $code;
/* 継承したプロパティ */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private Throwablenull $previous = null;
/* 継承したメソッド */
public __construct(string $message = "", int $code = 0, Throwablenull $previous = null)
final public string getMessage()
final public Throwablenull getPrevious()
final public int getCode()
final public string getFile()
final public int getLine()
final public array getTrace()
final public string getTraceAsString()
public string __toString()
private void __clone()

プロパティ

code

発生したエラーの型を示す整数値

DOMImplementation クラス

はじめに

DOMImplementation クラスは、 個々のドキュメントオブジェクトモデルのインスタンス独自の操作を行うためのメソッド群を提供します。

クラス概要

DOMImplementation
/* メソッド */
public DOMDocumentfalse createDocument(stringnull $namespace = null, string $qualifiedName = "", DOMDocumentTypenull $doctype = null)
public DOMDocumentTypefalse createDocumentType(string $qualifiedName, string $publicId = "", string $systemId = "")
public bool hasFeature(string $feature, string $version)

DOMNamedNodeMap クラス

クラス概要

DOMNamedNodeMap
implements IteratorAggregate Countable
/* プロパティ */
public readonly int $length;
/* メソッド */
public int count()
public Iterator getIterator()
public DOMNodenull getNamedItem(string $qualifiedName)
public DOMNodenull getNamedItemNS(stringnull $namespace, string $localName)
public DOMNodenull item(int $index)

プロパティ

length

マップ内のノードの数。子ノードのインデックスとして有効な範囲は 0 から length - 1 まで (両端を含む) です。

変更履歴

バージョン 説明
8.0.0 実装されていなかったメソッド DOMNamedNodeMap::setNamedItem, DOMNamedNodeMap::removeNamedItem, DOMNamedNodeMap::setNamedItemNS, DOMNamedNodeMap::removeNamedItem が削除されました。
8.0.0 DOMNamedNodeMapIteratorAggregate を実装しました。 これより前のバージョンでは、 Traversable が代わりに実装されていました。

DOMNameSpaceNode クラス

クラス概要

DOMNameSpaceNode
/* プロパティ */
public readonly string $nodeName;
public readonly stringnull $nodeValue;
public readonly int $nodeType;
public readonly string $prefix;
public readonly stringnull $localName;
public readonly stringnull $namespaceURI;
public readonly bool $isConnected;
public readonly DOMDocumentnull $ownerDocument;
public readonly DOMNodenull $parentNode;
public readonly DOMElementnull $parentElement;

プロパティ

nodeName

このノードの修飾名

nodeValue

このノードが宣言している名前空間URI。 名前空間が空の場合は、null

nodeType

ノードのタイプ。 XML_NAMESPACE_DECL_NODE になります。

prefix

このノードが宣言している名前空間のprefix

localName

このノードの修飾名のローカルパート

namespaceURI

このノードが宣言している名前空間URI。 未指定の場合は null

isConnected

ノードがドキュメントに接続しているかどうか

ownerDocument

このノードと関連がある DOMDocument。 このノードが DOMDocument でない場合は null

parentNode

このノードの親ノード。 該当するノードがない場合、null を返します。

parentElement

このノードの親要素。 該当するノードがない場合、null を返します。

変更履歴

バージョン 説明
8.3.0 DOMNameSpaceNode::$parentElementDOMNameSpaceNode::$isConnected が追加されました。

DOMNode クラス

クラス概要

DOMNode
/* プロパティ */
public readonly string $nodeName;
public stringnull $nodeValue;
public readonly int $nodeType;
public readonly DOMNodenull $parentNode;
public readonly DOMElementnull $parentElement;
public readonly DOMNodeList $childNodes;
public readonly DOMNodenull $firstChild;
public readonly DOMNodenull $lastChild;
public readonly DOMNodenull $previousSibling;
public readonly DOMNodenull $nextSibling;
public readonly DOMNamedNodeMapnull $attributes;
public readonly bool $isConnected;
public readonly DOMDocumentnull $ownerDocument;
public readonly stringnull $namespaceURI;
public string $prefix;
public readonly stringnull $localName;
public readonly stringnull $baseURI;
public string $textContent;
/* メソッド */
public DOMNodefalse appendChild(DOMNode $node)
public stringfalse C14N(
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public intfalse C14NFile(
    string $uri,
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public DOMNodefalse cloneNode(bool $deep = false)
public bool contains(DOMNodeDOMNameSpaceNodenull $other)
public int getLineNo()
public stringnull getNodePath()
public DOMNode getRootNode(array $options = null)
public bool hasAttributes()
public bool hasChildNodes()
public DOMNodefalse insertBefore(DOMNode $node, DOMNodenull $child = null)
public bool isDefaultNamespace(string $namespace)
public bool isEqualNode(DOMNodenull $otherNode)
public bool isSameNode(DOMNode $otherNode)
public bool isSupported(string $feature, string $version)
public stringnull lookupNamespaceURI(stringnull $prefix)
public stringnull lookupPrefix(string $namespace)
public void normalize()
public DOMNodefalse removeChild(DOMNode $child)
public DOMNodefalse replaceChild(DOMNode $node, DOMNode $child)

プロパティ

nodeName

現在のノード型の正確な名前を返す

nodeValue

その型に応じてノードの値を返す。 W3C の仕様とは異なり、 DOMElement ノードの値は null ではなく DOMNode::textContent と等しくなる。

nodeType

ノードの型を、定義済みの定数 XML_xxx_NODE のいずれかで返す

parentNode

このノードの親 (存在しない場合は null) を返す

parentElement

この要素の親要素。存在しない場合は null を返す

childNodes

このノードのすべての子を含む DOMNodeList。 子が存在しない場合は、空の DOMNodeList

firstChild

このノードの最初の子。存在しない場合は null を返す

lastChild

このノードの最後の子。存在しない場合は null を返す

previousSibling

このノードの直前のノード。存在しない場合は null を返す

nextSibling

このノードの直後のノード。存在しない場合は null を返す

attributes

このノードが DOMElement の場合は ノードの属性を含む DOMNamedNodeMap、 それ以外の場合は null

isConnected

ノードが Document に接続されているかどうか

ownerDocument

このノードに関連付けられている DOMDocument オブジェクト このノードが DOMDocument だった場合は、null

namespaceURI

このノードの名前空間 URI。指定されていない場合は null

prefix

このノードの名前空間プレフィックス

localName

このノードの名前のローカル部分を返す

baseURI

このノードの完全なベース URI。もし実装が完全な URL を できなかった場合は null

textContent

このノードとその子孫ノードのテキスト

変更履歴

バージョン 説明
8.3.0 プロパティ DOMNode::$parentElementDOMNode::$isConnected が追加されました。
8.0.0 実装されていなかったメソッド DOMNode::compareDocumentPosition, DOMNode::isEqualNode, DOMNode::getFeature, DOMNode::setUserData, DOMNode::getUserData が削除されました。

注意

注意:

DOM拡張モジュール は UTF-8 エンコーディングを使います。他のエンコーディングを扱う場合は、mb_convert_encoding, UConverter::transcode, iconv を使ってください。

DOMNodeList クラス

クラス概要

DOMNodeList
implements IteratorAggregate Countable
/* プロパティ */
public readonly int $length;
/* メソッド */
public int count()
public Iterator getIterator()
public DOMElementDOMNodeDOMNameSpaceNodenull item(int $index)

プロパティ

length

リスト内のノードの数。有効な子ノードのインデックスの範囲は 0 以上 length - 1 以下

変更履歴

バージョン 説明
8.0.0 DOMNodeListIteratorAggregate を実装しました。 これより前のバージョンでは、 Traversable を代わりに実装していました。
7.2.0 Countable インターフェイスが実装され、 length の値を返すようになりました。

DOMNotation クラス

クラス概要

DOMNotation
extends DOMNode
/* プロパティ */
public readonly string $publicId;
public readonly string $systemId;
/* 継承したプロパティ */
public readonly string $nodeName;
public stringnull $nodeValue;
public readonly int $nodeType;
public readonly DOMNodenull $parentNode;
public readonly DOMElementnull $parentElement;
public readonly DOMNodeList $childNodes;
public readonly DOMNodenull $firstChild;
public readonly DOMNodenull $lastChild;
public readonly DOMNodenull $previousSibling;
public readonly DOMNodenull $nextSibling;
public readonly DOMNamedNodeMapnull $attributes;
public readonly bool $isConnected;
public readonly DOMDocumentnull $ownerDocument;
public readonly stringnull $namespaceURI;
public string $prefix;
public readonly stringnull $localName;
public readonly stringnull $baseURI;
public string $textContent;
/* 継承したメソッド */
public DOMNodefalse appendChild(DOMNode $node)
public stringfalse C14N(
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public intfalse C14NFile(
    string $uri,
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public DOMNodefalse cloneNode(bool $deep = false)
public bool contains(DOMNodeDOMNameSpaceNodenull $other)
public int getLineNo()
public stringnull getNodePath()
public DOMNode getRootNode(array $options = null)
public bool hasAttributes()
public bool hasChildNodes()
public DOMNodefalse insertBefore(DOMNode $node, DOMNodenull $child = null)
public bool isDefaultNamespace(string $namespace)
public bool isEqualNode(DOMNodenull $otherNode)
public bool isSameNode(DOMNode $otherNode)
public bool isSupported(string $feature, string $version)
public stringnull lookupNamespaceURI(stringnull $prefix)
public stringnull lookupPrefix(string $namespace)
public void normalize()
public DOMNodefalse removeChild(DOMNode $child)
public DOMNodefalse replaceChild(DOMNode $node, DOMNode $child)

プロパティ

publicId

systemId

DOMParentNode インターフェイス

インターフェイス概要

DOMParentNode
/* メソッド */
public void DOMParentNode::append(DOMNodestring ...$nodes)
public void DOMParentNode::prepend(DOMNodestring ...$nodes)
public void DOMParentNode::replaceChildren(DOMNodestring ...$nodes)

DOMProcessingInstruction クラス

クラス概要

DOMProcessingInstruction
extends DOMNode
/* プロパティ */
public readonly string $target;
public string $data;
/* 継承したプロパティ */
public readonly string $nodeName;
public stringnull $nodeValue;
public readonly int $nodeType;
public readonly DOMNodenull $parentNode;
public readonly DOMElementnull $parentElement;
public readonly DOMNodeList $childNodes;
public readonly DOMNodenull $firstChild;
public readonly DOMNodenull $lastChild;
public readonly DOMNodenull $previousSibling;
public readonly DOMNodenull $nextSibling;
public readonly DOMNamedNodeMapnull $attributes;
public readonly bool $isConnected;
public readonly DOMDocumentnull $ownerDocument;
public readonly stringnull $namespaceURI;
public string $prefix;
public readonly stringnull $localName;
public readonly stringnull $baseURI;
public string $textContent;
/* メソッド */
public DOMProcessingInstruction::__construct(string $name, string $value = "")
/* 継承したメソッド */
public DOMNodefalse appendChild(DOMNode $node)
public stringfalse C14N(
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public intfalse C14NFile(
    string $uri,
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public DOMNodefalse cloneNode(bool $deep = false)
public bool contains(DOMNodeDOMNameSpaceNodenull $other)
public int getLineNo()
public stringnull getNodePath()
public DOMNode getRootNode(array $options = null)
public bool hasAttributes()
public bool hasChildNodes()
public DOMNodefalse insertBefore(DOMNode $node, DOMNodenull $child = null)
public bool isDefaultNamespace(string $namespace)
public bool isEqualNode(DOMNodenull $otherNode)
public bool isSameNode(DOMNode $otherNode)
public bool isSupported(string $feature, string $version)
public stringnull lookupNamespaceURI(stringnull $prefix)
public stringnull lookupPrefix(string $namespace)
public void normalize()
public DOMNodefalse removeChild(DOMNode $child)
public DOMNodefalse replaceChild(DOMNode $node, DOMNode $child)

プロパティ

target

data

DOMText クラス

はじめに

DOMText クラスは DOMCharacterData を継承しており、 DOMElement あるいは DOMAttr の中身のテキストを表します。

クラス概要

DOMText
extends DOMCharacterData
/* プロパティ */
public readonly string $wholeText;
/* 継承したプロパティ */
public string $data;
public readonly int $length;
public readonly DOMElementnull $previousElementSibling;
public readonly DOMElementnull $nextElementSibling;
public readonly string $nodeName;
public stringnull $nodeValue;
public readonly int $nodeType;
public readonly DOMNodenull $parentNode;
public readonly DOMElementnull $parentElement;
public readonly DOMNodeList $childNodes;
public readonly DOMNodenull $firstChild;
public readonly DOMNodenull $lastChild;
public readonly DOMNodenull $previousSibling;
public readonly DOMNodenull $nextSibling;
public readonly DOMNamedNodeMapnull $attributes;
public readonly bool $isConnected;
public readonly DOMDocumentnull $ownerDocument;
public readonly stringnull $namespaceURI;
public string $prefix;
public readonly stringnull $localName;
public readonly stringnull $baseURI;
public string $textContent;
/* メソッド */
public DOMText::__construct(string $data = "")
public bool DOMText::isElementContentWhitespace()
public bool DOMText::isWhitespaceInElementContent()
public DOMTextfalse DOMText::splitText(int $offset)
/* 継承したメソッド */
public void after(DOMNodestring ...$nodes)
public true appendData(string $data)
public void before(DOMNodestring ...$nodes)
public bool deleteData(int $offset, int $count)
public bool insertData(int $offset, string $data)
public void remove()
public bool replaceData(int $offset, int $count, string $data)
public void replaceWith(DOMNodestring ...$nodes)
public stringfalse substringData(int $offset, int $count)
public DOMNodefalse DOMNode::appendChild(DOMNode $node)
public stringfalse DOMNode::C14N(
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public intfalse DOMNode::C14NFile(
    string $uri,
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
public DOMNodefalse DOMNode::cloneNode(bool $deep = false)
public bool DOMNode::contains(DOMNodeDOMNameSpaceNodenull $other)
public int DOMNode::getLineNo()
public stringnull DOMNode::getNodePath()
public DOMNode DOMNode::getRootNode(array $options = null)
public bool DOMNode::hasAttributes()
public bool DOMNode::hasChildNodes()
public DOMNodefalse DOMNode::insertBefore(DOMNode $node, DOMNodenull $child = null)
public bool DOMNode::isDefaultNamespace(string $namespace)
public bool DOMNode::isEqualNode(DOMNodenull $otherNode)
public bool DOMNode::isSameNode(DOMNode $otherNode)
public bool DOMNode::isSupported(string $feature, string $version)
public stringnull DOMNode::lookupNamespaceURI(stringnull $prefix)
public stringnull DOMNode::lookupPrefix(string $namespace)
public void DOMNode::normalize()
public DOMNodefalse DOMNode::removeChild(DOMNode $child)
public DOMNodefalse DOMNode::replaceChild(DOMNode $node, DOMNode $child)

プロパティ

wholeText

論理的に隣接した (要素やコメント、処理命令などで分割されていない) テキストノードの全テキストを保持します。

変更履歴

バージョン 説明
8.0.0 実装されていなかったメソッド DOMText::replaceWholeText が削除されました。

DOMXPath クラス

はじめに

XPath 1.0 をサポートします。

クラス概要

DOMXPath
/* プロパティ */
public readonly DOMDocument $document;
public bool $registerNodeNamespaces;
/* メソッド */
public __construct(DOMDocument $document, bool $registerNodeNS = true)
public mixed evaluate(string $expression, DOMNodenull $contextNode = null, bool $registerNodeNS = true)
public mixed query(string $expression, DOMNodenull $contextNode = null, bool $registerNodeNS = true)
public bool registerNamespace(string $prefix, string $namespace)
public void registerPhpFunctions(stringarraynull $restrict = null)

プロパティ

document

registerNodeNamespaces

true に設定すると、ノードの名前空間が登録されます。

変更履歴

バージョン 説明
8.0.0 プロパティ registerNodeNamespaces が追加されました。