1 /*
2 +----------------------------------------------------------------------+
3 | PHP Version 5 |
4 +----------------------------------------------------------------------+
5 | Copyright (c) 1997-2014 The PHP Group |
6 +----------------------------------------------------------------------+
7 | This source file is subject to version 3.01 of the PHP license, |
8 | that is bundled with this package in the file LICENSE, and is |
9 | available through the world-wide-web at the following url: |
10 | http://www.php.net/license/3_01.txt |
11 | If you did not receive a copy of the PHP license and are unable to |
12 | obtain it through the world-wide-web, please send a note to |
13 | license@php.net so we can mail you a copy immediately. |
14 +----------------------------------------------------------------------+
15 | Authors: Christian Stocker <chregu@php.net> |
16 | Rob Richards <rrichards@php.net> |
17 +----------------------------------------------------------------------+
18 */
19
20 /* $Id$ */
21
22 #ifdef HAVE_CONFIG_H
23 #include "config.h"
24 #endif
25
26 #include "php.h"
27 #if HAVE_LIBXML && HAVE_DOM
28 #include "php_dom.h"
29
30
31 /*
32 * class DOMEntity extends DOMNode
33 *
34 * URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#ID-527DCFF2
35 * Since:
36 */
37
38 const zend_function_entry php_dom_entity_class_functions[] = {
39 PHP_FE_END
40 };
41
42 /* {{{ publicId string
43 readonly=yes
44 URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#ID-D7303025
45 Since:
46 */
dom_entity_public_id_read(dom_object * obj,zval ** retval TSRMLS_DC)47 int dom_entity_public_id_read(dom_object *obj, zval **retval TSRMLS_DC)
48 {
49 xmlEntity *nodep;
50
51 nodep = (xmlEntity *) dom_object_get_node(obj);
52
53 if (nodep == NULL) {
54 php_dom_throw_error(INVALID_STATE_ERR, 0 TSRMLS_CC);
55 return FAILURE;
56 }
57
58 ALLOC_ZVAL(*retval);
59 if (nodep->etype != XML_EXTERNAL_GENERAL_UNPARSED_ENTITY) {
60 ZVAL_NULL(*retval);
61 } else {
62 ZVAL_STRING(*retval, (char *) (nodep->ExternalID), 1);
63 }
64
65 return SUCCESS;
66 }
67
68 /* }}} */
69
70 /* {{{ systemId string
71 readonly=yes
72 URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#ID-D7C29F3E
73 Since:
74 */
dom_entity_system_id_read(dom_object * obj,zval ** retval TSRMLS_DC)75 int dom_entity_system_id_read(dom_object *obj, zval **retval TSRMLS_DC)
76 {
77 xmlEntity *nodep;
78
79 nodep = (xmlEntity *) dom_object_get_node(obj);
80
81 if (nodep == NULL) {
82 php_dom_throw_error(INVALID_STATE_ERR, 0 TSRMLS_CC);
83 return FAILURE;
84 }
85
86 ALLOC_ZVAL(*retval);
87 if (nodep->etype != XML_EXTERNAL_GENERAL_UNPARSED_ENTITY) {
88 ZVAL_NULL(*retval);
89 } else {
90 ZVAL_STRING(*retval, (char *) (nodep->SystemID), 1);
91 }
92
93 return SUCCESS;
94 }
95
96 /* }}} */
97
98 /* {{{ notationName string
99 readonly=yes
100 URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#ID-6ABAEB38
101 Since:
102 */
dom_entity_notation_name_read(dom_object * obj,zval ** retval TSRMLS_DC)103 int dom_entity_notation_name_read(dom_object *obj, zval **retval TSRMLS_DC)
104 {
105 xmlEntity *nodep;
106 char *content;
107
108 nodep = (xmlEntity *) dom_object_get_node(obj);
109
110 if (nodep == NULL) {
111 php_dom_throw_error(INVALID_STATE_ERR, 0 TSRMLS_CC);
112 return FAILURE;
113 }
114
115 ALLOC_ZVAL(*retval);
116 if (nodep->etype != XML_EXTERNAL_GENERAL_UNPARSED_ENTITY) {
117 ZVAL_NULL(*retval);
118 } else {
119 content = xmlNodeGetContent((xmlNodePtr) nodep);
120 ZVAL_STRING(*retval, content, 1);
121 xmlFree(content);
122 }
123
124 return SUCCESS;
125 }
126
127 /* }}} */
128
129 /* {{{ actualEncoding string
130 readonly=no
131 URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#Entity3-actualEncoding
132 Since: DOM Level 3
133 */
dom_entity_actual_encoding_read(dom_object * obj,zval ** retval TSRMLS_DC)134 int dom_entity_actual_encoding_read(dom_object *obj, zval **retval TSRMLS_DC)
135 {
136 ALLOC_ZVAL(*retval);
137 ZVAL_NULL(*retval);
138 return SUCCESS;
139 }
140
dom_entity_actual_encoding_write(dom_object * obj,zval * newval TSRMLS_DC)141 int dom_entity_actual_encoding_write(dom_object *obj, zval *newval TSRMLS_DC)
142 {
143 return SUCCESS;
144 }
145
146 /* }}} */
147
148 /* {{{ encoding string
149 readonly=no
150 URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#Entity3-encoding
151 Since: DOM Level 3
152 */
dom_entity_encoding_read(dom_object * obj,zval ** retval TSRMLS_DC)153 int dom_entity_encoding_read(dom_object *obj, zval **retval TSRMLS_DC)
154 {
155 ALLOC_ZVAL(*retval);
156 ZVAL_NULL(*retval);
157 return SUCCESS;
158 }
159
dom_entity_encoding_write(dom_object * obj,zval * newval TSRMLS_DC)160 int dom_entity_encoding_write(dom_object *obj, zval *newval TSRMLS_DC)
161 {
162 return SUCCESS;
163 }
164
165 /* }}} */
166
167 /* {{{ version string
168 readonly=no
169 URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#Entity3-version
170 Since: DOM Level 3
171 */
dom_entity_version_read(dom_object * obj,zval ** retval TSRMLS_DC)172 int dom_entity_version_read(dom_object *obj, zval **retval TSRMLS_DC)
173 {
174 ALLOC_ZVAL(*retval);
175 ZVAL_NULL(*retval);
176 return SUCCESS;
177 }
178
dom_entity_version_write(dom_object * obj,zval * newval TSRMLS_DC)179 int dom_entity_version_write(dom_object *obj, zval *newval TSRMLS_DC)
180 {
181 return SUCCESS;
182 }
183
184 /* }}} */
185
186 #endif
187
188 /*
189 * Local variables:
190 * tab-width: 4
191 * c-basic-offset: 4
192 * End:
193 * vim600: noet sw=4 ts=4 fdm=marker
194 * vim<600: noet sw=4 ts=4
195 */
196