xref: /php-src/ext/dom/dom_properties.h (revision 378b0153)
1 /*
2    +----------------------------------------------------------------------+
3    | Copyright (c) The PHP Group                                          |
4    +----------------------------------------------------------------------+
5    | This source file is subject to version 3.01 of the PHP license,      |
6    | that is bundled with this package in the file LICENSE, and is        |
7    | available through the world-wide-web at the following url:           |
8    | https://www.php.net/license/3_01.txt                                 |
9    | If you did not receive a copy of the PHP license and are unable to   |
10    | obtain it through the world-wide-web, please send a note to          |
11    | license@php.net so we can mail you a copy immediately.               |
12    +----------------------------------------------------------------------+
13    | Authors: Christian Stocker <chregu@php.net>                          |
14    |          Rob Richards <rrichards@php.net>                            |
15    +----------------------------------------------------------------------+
16 */
17 
18 #ifndef DOM_PROPERTIES_H
19 #define DOM_PROPERTIES_H
20 
21 /* attr properties */
22 zend_result dom_attr_name_read(dom_object *obj, zval *retval);
23 zend_result dom_attr_specified_read(dom_object *obj, zval *retval);
24 zend_result dom_attr_value_read(dom_object *obj, zval *retval);
25 zend_result dom_attr_value_write(dom_object *obj, zval *newval);
26 zend_result dom_attr_owner_element_read(dom_object *obj, zval *retval);
27 zend_result dom_attr_schema_type_info_read(dom_object *obj, zval *retval);
28 
29 /* characterdata properties */
30 zend_result dom_characterdata_data_read(dom_object *obj, zval *retval);
31 zend_result dom_characterdata_data_write(dom_object *obj, zval *newval);
32 zend_result dom_characterdata_length_read(dom_object *obj, zval *retval);
33 
34 /* document properties */
35 zend_result dom_document_doctype_read(dom_object *obj, zval *retval);
36 zend_result dom_document_implementation_read(dom_object *obj, zval *retval);
37 zend_result dom_modern_document_implementation_read(dom_object *obj, zval *retval);
38 zend_result dom_document_document_element_read(dom_object *obj, zval *retval);
39 zend_result dom_document_actual_encoding_read(dom_object *obj, zval *retval);
40 zend_result dom_document_actual_encoding_write(dom_object *obj, zval *newval);
41 zend_result dom_document_encoding_read(dom_object *obj, zval *retval);
42 zend_result dom_document_encoding_write(dom_object *obj, zval *newval);
43 zend_result dom_document_standalone_read(dom_object *obj, zval *retval);
44 zend_result dom_document_standalone_write(dom_object *obj, zval *newval);
45 zend_result dom_document_version_read(dom_object *obj, zval *retval);
46 zend_result dom_document_version_write(dom_object *obj, zval *newval);
47 zend_result dom_document_strict_error_checking_read(dom_object *obj, zval *retval);
48 zend_result dom_document_strict_error_checking_write(dom_object *obj, zval *newval);
49 zend_result dom_document_document_uri_read(dom_object *obj, zval *retval);
50 zend_result dom_document_document_uri_write(dom_object *obj, zval *newval);
51 zend_result dom_document_config_read(dom_object *obj, zval *retval);
52 zend_result dom_document_format_output_read(dom_object *obj, zval *retval);
53 zend_result dom_document_format_output_write(dom_object *obj, zval *newval);
54 zend_result dom_document_validate_on_parse_read(dom_object *obj, zval *retval);
55 zend_result dom_document_validate_on_parse_write(dom_object *obj, zval *newval);
56 zend_result dom_document_resolve_externals_read(dom_object *obj, zval *retval);
57 zend_result dom_document_resolve_externals_write(dom_object *obj, zval *newval);
58 zend_result dom_document_preserve_whitespace_read(dom_object *obj, zval *retval);
59 zend_result dom_document_preserve_whitespace_write(dom_object *obj, zval *newval);
60 zend_result dom_document_recover_read(dom_object *obj, zval *retval);
61 zend_result dom_document_recover_write(dom_object *obj, zval *newval);
62 zend_result dom_document_substitue_entities_read(dom_object *obj, zval *retval);
63 zend_result dom_document_substitue_entities_write(dom_object *obj, zval *newval);
64 
65 /* html5 document properties */
66 zend_result dom_html_document_encoding_write(dom_object *obj, zval *retval);
67 
68 /* documenttype properties */
69 zend_result dom_documenttype_name_read(dom_object *obj, zval *retval);
70 zend_result dom_documenttype_entities_read(dom_object *obj, zval *retval);
71 zend_result dom_documenttype_notations_read(dom_object *obj, zval *retval);
72 zend_result dom_documenttype_public_id_read(dom_object *obj, zval *retval);
73 zend_result dom_documenttype_system_id_read(dom_object *obj, zval *retval);
74 zend_result dom_documenttype_internal_subset_read(dom_object *obj, zval *retval);
75 
76 /* element properties */
77 zend_result dom_element_tag_name_read(dom_object *obj, zval *retval);
78 zend_result dom_element_class_name_read(dom_object *obj, zval *retval);
79 zend_result dom_element_class_name_write(dom_object *obj, zval *newval);
80 zend_result dom_element_id_read(dom_object *obj, zval *retval);
81 zend_result dom_element_id_write(dom_object *obj, zval *newval);
82 zend_result dom_element_schema_type_info_read(dom_object *obj, zval *retval);
83 
84 /* entity properties */
85 zend_result dom_entity_public_id_read(dom_object *obj, zval *retval);
86 zend_result dom_entity_system_id_read(dom_object *obj, zval *retval);
87 zend_result dom_entity_notation_name_read(dom_object *obj, zval *retval);
88 zend_result dom_entity_actual_encoding_read(dom_object *obj, zval *retval);
89 zend_result dom_entity_encoding_read(dom_object *obj, zval *retval);
90 zend_result dom_entity_version_read(dom_object *obj, zval *retval);
91 
92 /* entity reference properties */
93 zend_result dom_entity_reference_child_read(dom_object *obj, zval *retval);
94 zend_result dom_entity_reference_text_content_read(dom_object *obj, zval *retval);
95 zend_result dom_entity_reference_child_nodes_read(dom_object *obj, zval *retval);
96 
97 /* namednodemap properties */
98 zend_result dom_namednodemap_length_read(dom_object *obj, zval *retval);
99 
100 /* parent node properties */
101 zend_result dom_parent_node_first_element_child_read(dom_object *obj, zval *retval);
102 zend_result dom_parent_node_last_element_child_read(dom_object *obj, zval *retval);
103 zend_result dom_parent_node_child_element_count(dom_object *obj, zval *retval);
104 
105 /* node properties */
106 zend_result dom_node_node_name_read(dom_object *obj, zval *retval);
107 zend_result dom_node_node_value_read(dom_object *obj, zval *retval);
108 zend_result dom_node_node_value_write(dom_object *obj, zval *newval);
109 zend_result dom_node_node_type_read(dom_object *obj, zval *retval);
110 zend_result dom_node_parent_node_read(dom_object *obj, zval *retval);
111 zend_result dom_node_parent_element_read(dom_object *obj, zval *retval);
112 zend_result dom_node_child_nodes_read(dom_object *obj, zval *retval);
113 zend_result dom_node_first_child_read(dom_object *obj, zval *retval);
114 zend_result dom_node_last_child_read(dom_object *obj, zval *retval);
115 zend_result dom_node_previous_sibling_read(dom_object *obj, zval *retval);
116 zend_result dom_node_next_sibling_read(dom_object *obj, zval *retval);
117 zend_result dom_node_previous_element_sibling_read(dom_object *obj, zval *retval);
118 zend_result dom_node_next_element_sibling_read(dom_object *obj, zval *retval);
119 zend_result dom_node_attributes_read(dom_object *obj, zval *retval);
120 zend_result dom_node_is_connected_read(dom_object *obj, zval *retval);
121 zend_result dom_node_owner_document_read(dom_object *obj, zval *retval);
122 zend_result dom_node_namespace_uri_read(dom_object *obj, zval *retval);
123 zend_result dom_node_prefix_read(dom_object *obj, zval *retval);
124 zend_result dom_modern_node_prefix_read(dom_object *obj, zval *retval);
125 zend_result dom_node_prefix_write(dom_object *obj, zval *newval);
126 zend_result dom_node_local_name_read(dom_object *obj, zval *retval);
127 zend_result dom_node_base_uri_read(dom_object *obj, zval *retval);
128 zend_result dom_node_text_content_read(dom_object *obj, zval *retval);
129 zend_result dom_node_text_content_write(dom_object *obj, zval *newval);
130 
131 /* nodelist properties */
132 zend_result dom_nodelist_length_read(dom_object *obj, zval *retval);
133 
134 /* notation properties */
135 zend_result dom_notation_public_id_read(dom_object *obj, zval *retval);
136 zend_result dom_notation_system_id_read(dom_object *obj, zval *retval);
137 
138 /* processinginstruction properties */
139 zend_result dom_processinginstruction_target_read(dom_object *obj, zval *retval);
140 zend_result dom_processinginstruction_data_read(dom_object *obj, zval *retval);
141 zend_result dom_processinginstruction_data_write(dom_object *obj, zval *newval);
142 
143 /* text properties */
144 zend_result dom_text_whole_text_read(dom_object *obj, zval *retval);
145 
146 #ifdef LIBXML_XPATH_ENABLED
147 /* xpath properties */
148 zend_result dom_xpath_document_read(dom_object *obj, zval *retval);
149 zend_result dom_xpath_register_node_ns_read(dom_object *obj, zval *retval);
150 zend_result dom_xpath_register_node_ns_write(dom_object *obj, zval *newval);
151 #endif
152 
153 #define DOM_PROP_NODE(type, name, obj) \
154 	type name = (type) dom_object_get_node(obj); \
155 	if (UNEXPECTED(name == NULL)) { \
156 		php_dom_throw_error(INVALID_STATE_ERR, true); \
157 		return FAILURE; \
158 	}
159 
160 #endif /* DOM_PROPERTIES_H */
161