• PHP Video Tutorials

PHP - xmlwriter_end_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_end_dtd() function is used to end the current 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 external subset public identifier.

4

system_id(Optional)

This is a string value representing the external subset system identifier.

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>
php_function_reference.htm
Advertisements