xref: /php-src/ext/dom/dom_properties.h (revision 1fdbb0ab)
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_encoding_read(dom_object *obj, zval *retval);
40 zend_result dom_document_encoding_write(dom_object *obj, zval *newval);
41 zend_result dom_document_standalone_read(dom_object *obj, zval *retval);
42 zend_result dom_document_standalone_write(dom_object *obj, zval *newval);
43 zend_result dom_document_version_read(dom_object *obj, zval *retval);
44 zend_result dom_document_version_write(dom_object *obj, zval *newval);
45 zend_result dom_document_strict_error_checking_read(dom_object *obj, zval *retval);
46 zend_result dom_document_strict_error_checking_write(dom_object *obj, zval *newval);
47 zend_result dom_document_document_uri_read(dom_object *obj, zval *retval);
48 zend_result dom_document_document_uri_write(dom_object *obj, zval *newval);
49 zend_result dom_document_config_read(dom_object *obj, zval *retval);
50 zend_result dom_document_format_output_read(dom_object *obj, zval *retval);
51 zend_result dom_document_format_output_write(dom_object *obj, zval *newval);
52 zend_result dom_document_validate_on_parse_read(dom_object *obj, zval *retval);
53 zend_result dom_document_validate_on_parse_write(dom_object *obj, zval *newval);
54 zend_result dom_document_resolve_externals_read(dom_object *obj, zval *retval);
55 zend_result dom_document_resolve_externals_write(dom_object *obj, zval *newval);
56 zend_result dom_document_preserve_whitespace_read(dom_object *obj, zval *retval);
57 zend_result dom_document_preserve_whitespace_write(dom_object *obj, zval *newval);
58 zend_result dom_document_recover_read(dom_object *obj, zval *retval);
59 zend_result dom_document_recover_write(dom_object *obj, zval *newval);
60 zend_result dom_document_substitue_entities_read(dom_object *obj, zval *retval);
61 zend_result dom_document_substitue_entities_write(dom_object *obj, zval *newval);
62 
63 /* html5 document properties */
64 zend_result dom_html_document_encoding_write(dom_object *obj, zval *retval);
65 
66 /* documenttype properties */
67 zend_result dom_documenttype_name_read(dom_object *obj, zval *retval);
68 zend_result dom_documenttype_entities_read(dom_object *obj, zval *retval);
69 zend_result dom_documenttype_notations_read(dom_object *obj, zval *retval);
70 zend_result dom_documenttype_public_id_read(dom_object *obj, zval *retval);
71 zend_result dom_documenttype_system_id_read(dom_object *obj, zval *retval);
72 zend_result dom_documenttype_internal_subset_read(dom_object *obj, zval *retval);
73 
74 /* element properties */
75 zend_result dom_element_tag_name_read(dom_object *obj, zval *retval);
76 zend_result dom_element_class_name_read(dom_object *obj, zval *retval);
77 zend_result dom_element_class_name_write(dom_object *obj, zval *newval);
78 zend_result dom_element_id_read(dom_object *obj, zval *retval);
79 zend_result dom_element_id_write(dom_object *obj, zval *newval);
80 zend_result dom_element_schema_type_info_read(dom_object *obj, zval *retval);
81 
82 /* entity properties */
83 zend_result dom_entity_public_id_read(dom_object *obj, zval *retval);
84 zend_result dom_entity_system_id_read(dom_object *obj, zval *retval);
85 zend_result dom_entity_notation_name_read(dom_object *obj, zval *retval);
86 zend_result dom_entity_actual_encoding_read(dom_object *obj, zval *retval);
87 zend_result dom_entity_encoding_read(dom_object *obj, zval *retval);
88 zend_result dom_entity_version_read(dom_object *obj, zval *retval);
89 
90 /* entity reference properties */
91 zend_result dom_entity_reference_child_read(dom_object *obj, zval *retval);
92 zend_result dom_entity_reference_text_content_read(dom_object *obj, zval *retval);
93 zend_result dom_entity_reference_child_nodes_read(dom_object *obj, zval *retval);
94 
95 /* namednodemap properties */
96 zend_result dom_namednodemap_length_read(dom_object *obj, zval *retval);
97 
98 /* parent node properties */
99 zend_result dom_parent_node_first_element_child_read(dom_object *obj, zval *retval);
100 zend_result dom_parent_node_last_element_child_read(dom_object *obj, zval *retval);
101 zend_result dom_parent_node_child_element_count(dom_object *obj, zval *retval);
102 
103 /* node properties */
104 zend_result dom_node_node_name_read(dom_object *obj, zval *retval);
105 zend_result dom_node_node_value_read(dom_object *obj, zval *retval);
106 zend_result dom_node_node_value_write(dom_object *obj, zval *newval);
107 zend_result dom_node_node_type_read(dom_object *obj, zval *retval);
108 zend_result dom_node_parent_node_read(dom_object *obj, zval *retval);
109 zend_result dom_node_parent_element_read(dom_object *obj, zval *retval);
110 zend_result dom_node_child_nodes_read(dom_object *obj, zval *retval);
111 zend_result dom_node_first_child_read(dom_object *obj, zval *retval);
112 zend_result dom_node_last_child_read(dom_object *obj, zval *retval);
113 zend_result dom_node_previous_sibling_read(dom_object *obj, zval *retval);
114 zend_result dom_node_next_sibling_read(dom_object *obj, zval *retval);
115 zend_result dom_node_previous_element_sibling_read(dom_object *obj, zval *retval);
116 zend_result dom_node_next_element_sibling_read(dom_object *obj, zval *retval);
117 zend_result dom_node_attributes_read(dom_object *obj, zval *retval);
118 zend_result dom_node_is_connected_read(dom_object *obj, zval *retval);
119 zend_result dom_node_owner_document_read(dom_object *obj, zval *retval);
120 zend_result dom_node_namespace_uri_read(dom_object *obj, zval *retval);
121 zend_result dom_node_prefix_read(dom_object *obj, zval *retval);
122 zend_result dom_modern_node_prefix_read(dom_object *obj, zval *retval);
123 zend_result dom_node_prefix_write(dom_object *obj, zval *newval);
124 zend_result dom_node_local_name_read(dom_object *obj, zval *retval);
125 zend_result dom_node_base_uri_read(dom_object *obj, zval *retval);
126 zend_result dom_node_text_content_read(dom_object *obj, zval *retval);
127 zend_result dom_node_text_content_write(dom_object *obj, zval *newval);
128 
129 /* nodelist properties */
130 zend_result dom_nodelist_length_read(dom_object *obj, zval *retval);
131 
132 /* notation properties */
133 zend_result dom_notation_public_id_read(dom_object *obj, zval *retval);
134 zend_result dom_notation_system_id_read(dom_object *obj, zval *retval);
135 
136 /* processinginstruction properties */
137 zend_result dom_processinginstruction_target_read(dom_object *obj, zval *retval);
138 zend_result dom_processinginstruction_data_read(dom_object *obj, zval *retval);
139 zend_result dom_processinginstruction_data_write(dom_object *obj, zval *newval);
140 
141 /* text properties */
142 zend_result dom_text_whole_text_read(dom_object *obj, zval *retval);
143 
144 #ifdef LIBXML_XPATH_ENABLED
145 /* xpath properties */
146 zend_result dom_xpath_document_read(dom_object *obj, zval *retval);
147 zend_result dom_xpath_register_node_ns_read(dom_object *obj, zval *retval);
148 zend_result dom_xpath_register_node_ns_write(dom_object *obj, zval *newval);
149 #endif
150 
151 #define DOM_PROP_NODE(type, name, obj) \
152 	type name = (type) dom_object_get_node(obj); \
153 	if (UNEXPECTED(name == NULL)) { \
154 		php_dom_throw_error(INVALID_STATE_ERR, true); \
155 		return FAILURE; \
156 	}
157 
158 #endif /* DOM_PROPERTIES_H */
159