PHP - xmlwriter_start_dtd() Function
Definition and Usage
XML is a mark-up language to share the data across the web, XML is for both human read-able and machine read-able. XMLWriter extension internally has libxml xmlWriter API and is used to write/create the contents of an XML document. The XML documents generated by this are non-cached and forward-only.
The xmlwriter_start_dtd() function is used to create a start of the DTD tag.
Syntax
xmlwriter_start_dtd($writer, $name, $public_id, $system_id);
Parameters
| Sr.No | Parameter & Description |
|---|---|
| 1 |
writer(Mandatory) This is an object of the XMLWriter class representing the XML document that you want to modify/create. |
| 2 |
name(Mandatory) This is a string value representing the qualified name of the document type. |
| 3 |
public_id(Optional) This is a string value representing the qualified name of the document type. |
| 4 |
system_id(Optional) This is a string value representing the qualified name of the document type. |
Return Values
This function returns a boolean value which is TRUE in case of success and FALSE in case of failure.
PHP Version
This function was first introduced in PHP Version 5 and works in all the later versions.
Example
Following example demonstrates the usage of the xmlwriter_start_dtd() function −
<?php //Opening a writer $uri = "result.xml"; $writer = xmlwriter_open_uri($uri); //Starting the document xmlwriter_start_document($writer); //Starting the Dtd tag xmlwriter_start_dtd($writer, 'test_dtd', 'pub_1001', 'sys_1001'); //Ending the Dtd tag xmlwriter_end_dtd($writer); xmlwriter_set_indent($writer, TRUE); xmlwriter_set_indent_string($writer, " "); //Starting an element xmlwriter_start_element($writer, 'Tutorial'); //Starting a element tag xmlwriter_start_element($writer, 'name'); //Adding text to the element xmlwriter_text($writer, 'JavaFX'); xmlwriter_end_element($writer); xmlwriter_start_element($writer, 'Author'); //Adding text to the element xmlwriter_text($writer, 'Krishna'); xmlwriter_end_element($writer); //Ending the element xmlwriter_end_element($writer); //Ending the document xmlwriter_end_document($writer); ?>
This will generate the following XML document −
<?xml version="1.0"?> <!DOCTYPE test_dtd PUBLIC "pub_1001" "sys_1001"><Tutorial> <name>JavaFX</name> <Author>Krishna</Author> </Tutorial>
Example
Following is the example of this function in object oriented style −
<?php
//Creating an XMLWriter
$writer = new XMLWriter();
//Opening a writer
$uri = "result.xml";
$writer->openUri($uri);
//Starting the document
$writer->startDocument();
//Setting the indentation on
$writer->setIndent(TRUE);
//Setting the indentation
$writer->setIndentString(" ");
//Starting the Dtd tag
$writer->startDtd('test_dtd', 'pub_1001', 'sys_1001');
//Ending the Dtd tag
$writer->endDtd();
//Starting an element
$writer->startElement('Tutorial');
$writer->startElement('name');
//Adding text to the element
$writer->text('JavaFX');
$writer->endElement();
$writer->startElement('Author');
//Adding text to the element
$writer->text('Krishna');
$writer->endElement();
//Ending the element
$writer->endElement();
//Ending the document
$writer->endDocument();
?>
This will generate the following XML document −
<?xml version="1.0"?> <!DOCTYPE test_dtd PUBLIC "pub_1001" "sys_1001"> <Tutorial> <name>JavaFX</name> <Author>Krishna</Author> </Tutorial>