DOMImplementation::createDocumentType

(PHP 5, PHP 7)

DOMImplementation::createDocumentType Создает пустой объект класса DOMDocumentType

Описание

public DOMDocumentType DOMImplementation::createDocumentType ([ string $qualifiedName = NULL [, string $publicId = NULL [, string $systemId = NULL ]]] )

Создает пустой объект класса DOMDocumentType. Объявления сущностей и условных обозначений будет недоступно. Ссылки на сущности не будут заменяться, и умолчания значений атрибутов не будут применены.

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

qualifiedName

Стандартизованное имя типа документа для создания.

publicId

Общедоступный идентификатор внешнего подмножества.

systemId

Системный идентификатор внешнего подмножества.

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

Новый объект класса DOMDocumentType с атрибутом ownerDocument установленным в NULL.

Ошибки

DOM_NAMESPACE_ERR

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

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

Примеры

Пример #1 Создание документа с прикрепленной DTD

<?php

// Создает экземпляр класса DOMImplementation
$imp = new DOMImplementation;

// Создает экземпляр класса DOMDocumentType
$dtd $imp->createDocumentType('graph''''graph.dtd');

// Создает объект DOMDocument
$dom $imp->createDocument(""""$dtd);

// установка других параметров
$dom->encoding 'UTF-8';
$dom->standalone false;

// создание пустого элемента
$element $dom->createElement('graph');

// присоединение элемента
$dom->appendChild($element);

// извлечение и печать документа
echo $dom->saveXML();

?>

Результат выполнения данного примера:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE graph SYSTEM "graph.dtd">
<graph/>

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

Коментарии

I had problems to use a DTD from a file. It needed to be resolved relatively and it contained characters that made DomDocument failed to resolve the file.

Encoding and an absolute filename did not help much. So I used the data:// streamwrapper ( wrappers.data ) as a work-around:

<?php

// relative or absolute filename
$path '...';

// convert file contents into a filename
$data file_get_contents($path);
$systemId 'data://text/plain;base64,'.base64_encode($data);

// ...

// Creates a DOMDocumentType instance
$dtd $aImp->createDocumentType('qualified name'''$systemId);

?>

Works like a charm.
2011-04-09 07:28:20
http://php5.kiev.ua/manual/ru/domimplementation.createdocumenttype.html

    Поддержать сайт на родительском проекте КГБ