PHP - Funzione xmlwriter_write_dtd ()
Definizione e utilizzo
XML è un linguaggio di markup per condividere i dati sul Web, XML è sia leggibile dall'uomo che dalla macchina. L'estensione XMLWriter ha internamente l'API libxml xmlWriter e viene utilizzata per scrivere / creare il contenuto di un documento XML. I documenti XML generati da questo non sono memorizzati nella cache e sono solo forward.
Il xmlwriter_write_dtd() viene utilizzata per creare / scrivere un tag DTD completo.
Sintassi
xmlwriter_start_dtd($writer, $name, $public_id, $system_id, $subset);
Parametri
Suor n | Parametro e descrizione |
---|---|
1 | writer(Mandatory) Questo è un oggetto della classe XMLWriter che rappresenta il documento XML che si desidera modificare / creare. |
2 | name(Mandatory) Questo è un valore stringa che rappresenta il nome completo del tipo di documento. |
3 | public_id(Optional) Questo è un valore stringa che rappresenta l'identificatore pubblico del sottoinsieme esterno. |
4 | system_id(Optional) Questo è un valore stringa che rappresenta l'identificatore di sistema del sottoinsieme esterno. |
5 | subset(Optional) Questo è un valore stringa che rappresenta il contenuto del tag DTD. |
Valori restituiti
Questa funzione restituisce un valore booleano che è TRUE in caso di successo e FALSE in caso di fallimento.
Versione PHP
Questa funzione è stata introdotta per la prima volta nella versione 5 di PHP e funziona in tutte le versioni successive.
Esempio
L'esempio seguente mostra l'utilizzo di xmlwriter_start_dtd() funzione -
<?php
//Opening a writer
$uri = "result.xml";
$writer = xmlwriter_open_uri($uri);
//Starting the document
xmlwriter_start_document($writer);
//Setting the indentation
xmlwriter_set_indent($writer, TRUE);
xmlwriter_set_indent_string($writer, " ");
$dtd = "<!DOCTYPE address [
<!ELEMENT address (name,company,phone)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT company (#PCDATA)>
<!ELEMENT phone (#PCDATA)>
]>";
//Creating a DTD tag
xmlwriter_write_dtd($writer, 'test_dtd', 'pub_1001', 'sys_1001' , $dtd);
//Starting an element
xmlwriter_start_element($writer, 'address');
//Starting a element tag
xmlwriter_start_element($writer, 'name');
//Adding text to the element
xmlwriter_text($writer, 'Tanmay Patil');
xmlwriter_end_element($writer);
xmlwriter_start_element($writer, 'company');
//Adding text to the element
xmlwriter_text($writer, 'TutorialsPoint');
xmlwriter_end_element($writer);
xmlwriter_start_element($writer, 'phone');
//Adding text to the element
xmlwriter_text($writer, '(011) 123-4567');
xmlwriter_end_element($writer);
//Ending the element
xmlwriter_end_element($writer);
//Ending the document
xmlwriter_end_document($writer);
?>
Questo genererà il seguente documento XML:
<?xml version="1.0"?>
<!DOCTYPE test_dtd
PUBLIC "pub_1001" "sys_1001" [<!DOCTYPE address [
<!ELEMENT address (name,company,phone)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT company (#PCDATA)>
<!ELEMENT phone (#PCDATA)>
]>]>
<address>
<name>Tanmay Patil</name>
<company>TutorialsPoint</company>
<phone>(011) 123-4567</phone>
</address>
Esempio
Di seguito è riportato l'esempio di questa funzione in stile orientato agli oggetti:
<?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(" ");
$dtd = "<!DOCTYPE address [
<!ELEMENT address (name,company,phone)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT company (#PCDATA)>
<!ELEMENT phone (#PCDATA)>
]>";
//Creating a DTD tag
$writer->writeDtd('test_dtd', 'pub_1001', 'sys_1001' , $dtd);
//Starting an element
$writer->startElement(address);
$writer->startElement('name');
//Adding text to the element
$writer->text('Tanmay Patil');
$writer->endElement();
$writer->startElement('company');
//Adding text to the element
$writer->text('TutorialsPoint');
$writer->endElement();
$writer->startElement('phone');
//Adding text to the element
$writer->text('(011) 123-4567');
$writer->endElement();
//Ending the element
$writer->endElement();
//Ending the document
$writer->endDocument();
?>
Questo genererà il seguente documento XML:
<?xml version="1.0"?>
<!DOCTYPE test_dtd
PUBLIC "pub_1001" "sys_1001" [<!DOCTYPE address [
<!ELEMENT address (name,company,phone)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT company (#PCDATA)>
<!ELEMENT phone (#PCDATA)>
]>]>
<address>
<name>Tanmay Patil</name>
<company>TutorialsPoint</company>
<phone>(011) 123-4567</phone>
</address>