SunshinePHP 2019

DOMImplementation::createDocument

(PHP 5, PHP 7)

DOMImplementation::createDocument Создает объект класса DOMDocument заданного типа с его элементом document

Описание

public DOMDocument DOMImplementation::createDocument ([ string $namespaceURI = NULL [, string $qualifiedName = NULL [, DOMDocumentType $doctype = NULL ]]] )

Создает объект класса DOMDocument заданного типа с его элементом document.

Список параметров

namespaceURI

URI пространства имен создаваемого элемента document.

qualifiedName

Квалифицированное имя создаваемого элемента document.

doctype

Тип создаваемого элемента document или NULL.

Возвращаемые значения

Новый объект класса DOMDocument. Если аргументы namespaceURI, qualifiedName, и doctype имеют значение null, возвращаемый объект DOMDocument будет пустым и без элемента document.

Ошибки

DOM_WRONG_DOCUMENT_ERR

Возникает, если аргумент doctype уже использовался с другим документом или был создан в другой реализации.

DOM_NAMESPACE_ERR

Возникает, если обнаружена ошибка в строках namespaceURI и qualifiedName.

Этот метод может быть вызван статически, но при этом будет сгенерирована ошибка уровня E_STRICT.

Смотрите также

add a note add a note

User Contributed Notes 3 notes

up
3
eboyjr
8 years ago
To add on to the other example, here's how to create an XHTML 1.0 transitional document with head, title, and body elements.

<?php

$document
= DOMImplementation::createDocument(null, 'html',
   
DOMImplementation::createDocumentType("html",
       
"-//W3C//DTD XHTML 1.0 Transitional//EN",
       
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"));
$document->formatOutput = true;

$html = $document->documentElement;
$head = $document->createElement('head');
$title = $document->createElement('title');
$text = $document->createTextNode('Title of Page');
$body = $document->createElement('body');

$title->appendChild($text);
$head->appendChild($title);
$html->appendChild($head);
$html->appendChild($body);

echo
$document->saveXML();
?>

This outputs: (http links removed due to spam)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "doctype.dtd">
<html xmlns="w3org1999xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Title of Page</title>
  </head>
  <body></body>
</html>

Note the saveXML function. If saveHTML was used instead, you get the output:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "doctype.dtd">
<html>
<head><title>Title of Page</title></head>
<body></body>
</html>
up
0
sleistico at gmail dot com
5 months ago
I just recently got an error, having to do with deprecation, by using the type of calls in the other example listed here.  What I had to do instead looks like this...

$htmldoc = (new DOMImplementation)->createDocument(null, 'html', (new DOMImplementation)->createDocumentType("html"));

This creates a document with <!DOCTYPE html> at the top of it.
up
0
arturm at union dot com dot pl
12 years ago
To create HTML document with doctype:

<?php
$doctype
= DOMImplementation::createDocumentType("html",
               
"-//W3C//DTD HTML 4.01//EN",
               
"http://www.w3.org/TR/html4/strict.dtd");
$doc = DOMImplementation::createDocument(null, 'html', $doctype);
?>
To Top