Skip to content

Commit 3cd6518

Browse files
committed
Enable xmlwriter_start_dtd_entity(), xmlwriter_end_dtd_entity() & xmlwriter_write_dtd_entity()
1 parent 26fb0b5 commit 3cd6518

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

ext/xmlwriter/php_xmlwriter.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,9 @@ static PHP_FUNCTION(xmlwriter_write_dtd_element);
7272
static PHP_FUNCTION(xmlwriter_start_dtd_attlist);
7373
static PHP_FUNCTION(xmlwriter_end_dtd_attlist);
7474
static PHP_FUNCTION(xmlwriter_write_dtd_attlist);
75+
static PHP_FUNCTION(xmlwriter_start_dtd_entity);
76+
static PHP_FUNCTION(xmlwriter_end_dtd_entity);
77+
static PHP_FUNCTION(xmlwriter_write_dtd_entity);
7578
#endif
7679
static PHP_FUNCTION(xmlwriter_open_uri);
7780
static PHP_FUNCTION(xmlwriter_open_memory);
@@ -215,6 +218,9 @@ static zend_function_entry xmlwriter_functions[] = {
215218
PHP_FE(xmlwriter_start_dtd_attlist, NULL)
216219
PHP_FE(xmlwriter_end_dtd_attlist, NULL)
217220
PHP_FE(xmlwriter_write_dtd_attlist, NULL)
221+
PHP_FE(xmlwriter_start_dtd_entity, NULL)
222+
PHP_FE(xmlwriter_end_dtd_entity, NULL)
223+
PHP_FE(xmlwriter_write_dtd_entity, NULL)
218224
#endif
219225
PHP_FE(xmlwriter_output_memory, NULL)
220226
PHP_FE(xmlwriter_flush, NULL)
@@ -273,6 +279,9 @@ static zend_function_entry xmlwriter_class_functions[] = {
273279
PHP_ME_MAPPING(startDtdAttlist, xmlwriter_start_dtd_attlist, NULL, 0)
274280
PHP_ME_MAPPING(endDtdAttlist, xmlwriter_end_dtd_attlist, NULL, 0)
275281
PHP_ME_MAPPING(writeDtdAttlist, xmlwriter_write_dtd_attlist, NULL, 0)
282+
PHP_ME_MAPPING(startDtdEntity, xmlwriter_start_dtd_entity, NULL, 0)
283+
PHP_ME_MAPPING(endDtdEntity, xmlwriter_end_dtd_entity, NULL, 0)
284+
PHP_ME_MAPPING(writeDtdEntity, xmlwriter_write_dtd_entity, NULL, 0)
276285
#endif
277286
PHP_ME_MAPPING(outputMemory, xmlwriter_output_memory, NULL, 0)
278287
PHP_ME_MAPPING(flush, xmlwriter_flush, NULL, 0)

ext/xmlwriter/tests/008.phpt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ if (!extension_loaded("xmlwriter")) die("skip");
1111
$xw = xmlwriter_open_memory();
1212
xmlwriter_set_indent($xw, TRUE);
1313
xmlwriter_start_document($xw, NULL, "UTF-8");
14+
xmlwriter_start_dtd_entity($xw, "ent", false);
15+
xmlwriter_text($xw, "val");
16+
xmlwriter_end_dtd_entity($xw);
17+
xmlwriter_write_dtd_entity($xw, "ent2", "val2");
1418
xmlwriter_write_dtd_element($xw, 'sxe', '(elem1+, elem11, elem22*)');
1519
xmlwriter_write_dtd_attlist($xw, 'sxe', 'id CDATA #implied');
1620
xmlwriter_start_dtd_element($xw, 'elem1');
@@ -27,6 +31,8 @@ print $output;
2731
?>
2832
--EXPECT--
2933
<?xml version="1.0" encoding="UTF-8"?>
34+
<!ENTITY ent "val">
35+
<!ENTITY ent2 "val2">
3036
<!ELEMENT sxe (elem1+, elem11, elem22*)>
3137
<!ATTLIST sxe id CDATA #implied>
3238
<!ELEMENT elem1 elem2*>

0 commit comments

Comments
 (0)