Re: How to build a XML DTD on "the fly"?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Learn DTD and how it works first then you will know :-)


A DTD is contained in an external file and not in XML, so you would create a DTD file then link it from the XML like so,


<!DOCTYPE document SYSTEM "document.dtd">





Erik Franzén wrote:
The code below lacks the part where the folling DTD attribute is created: <!ATTLIST document id ID #IMPLIED>

How can I create the above DTD attribute in the code below?

<?php
// Creates an instance of the DOMImplementation class
$oDomImp = new DOMImplementation;

// Creates a DOMDocumentType instance
$oDomDtd = $oDomImp->createDocumentType('document', null, null);

// Creates a DOMDocument instance
$oDom = $oDomImp->createDocument("", "", $oDomDtd);

// Set other properties
$oDom->encoding = 'iso-8859-1';
$oDom->standalone = true;

// Create an empty element
$oElement = $oDom->createElement('document', 'test');
$oElement->setAttribute('id', '123');
// Append the element
$oDom->appendChild($oElement);

// Retrieve and print the document
echo $oDom->saveXML() . "\n";

echo "TagName: " . $oDom->getElementById('123')->tagName;
?>

Now the code produces the following result:

<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<!DOCTYPE document>
<document id="123">test</document>

TagName:


Thanks
/Erik

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux