Annotation of embedaddon/php/ext/soap/php_encoding.h, revision 1.1.1.4
1.1 misho 1: /*
2: +----------------------------------------------------------------------+
3: | PHP Version 5 |
4: +----------------------------------------------------------------------+
1.1.1.4 ! misho 5: | Copyright (c) 1997-2014 The PHP Group |
1.1 misho 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: Brad Lafountain <rodif_bl@yahoo.com> |
16: | Shane Caraveo <shane@caraveo.com> |
17: | Dmitry Stogov <dmitry@zend.com> |
18: +----------------------------------------------------------------------+
19: */
1.1.1.2 misho 20: /* $Id$ */
1.1 misho 21:
22: #ifndef PHP_ENCODING_H
23: #define PHP_ENCODING_H
24:
25: #define XSD_1999_NAMESPACE "http://www.w3.org/1999/XMLSchema"
26: #define XSD_1999_TIMEINSTANT 401
27: #define XSD_1999_TIMEINSTANT_STRING "timeInstant"
28:
29: #define SOAP_1_1_ENV_NAMESPACE "http://schemas.xmlsoap.org/soap/envelope/"
30: #define SOAP_1_1_ENV_NS_PREFIX "SOAP-ENV"
31:
32: #define SOAP_1_2_ENV_NAMESPACE "http://www.w3.org/2003/05/soap-envelope"
33: #define SOAP_1_2_ENV_NS_PREFIX "env"
34:
35: #define SOAP_1_1_ENC_NAMESPACE "http://schemas.xmlsoap.org/soap/encoding/"
36: #define SOAP_1_1_ENC_NS_PREFIX "SOAP-ENC"
37:
38: #define SOAP_1_2_ENC_NAMESPACE "http://www.w3.org/2003/05/soap-encoding"
39: #define SOAP_1_2_ENC_NS_PREFIX "enc"
40:
41: #define SCHEMA_NAMESPACE "http://www.w3.org/2001/XMLSchema"
42: #define XSD_NAMESPACE "http://www.w3.org/2001/XMLSchema"
43: #define XSD_NS_PREFIX "xsd"
44: #define XSI_NAMESPACE "http://www.w3.org/2001/XMLSchema-instance"
45: #define XSI_NS_PREFIX "xsi"
46: #define XML_NAMESPACE "http://www.w3.org/XML/1998/namespace"
47: #define XML_NS_PREFIX "xml"
48:
49: #define XSD_STRING 101
50: #define XSD_STRING_STRING "string"
51: #define XSD_BOOLEAN 102
52: #define XSD_BOOLEAN_STRING "boolean"
53: #define XSD_DECIMAL 103
54: #define XSD_DECIMAL_STRING "decimal"
55: #define XSD_FLOAT 104
56: #define XSD_FLOAT_STRING "float"
57: #define XSD_DOUBLE 105
58: #define XSD_DOUBLE_STRING "double"
59: #define XSD_DURATION 106
60: #define XSD_DURATION_STRING "duration"
61: #define XSD_DATETIME 107
62: #define XSD_DATETIME_STRING "dateTime"
63: #define XSD_TIME 108
64: #define XSD_TIME_STRING "time"
65: #define XSD_DATE 109
66: #define XSD_DATE_STRING "date"
67: #define XSD_GYEARMONTH 110
68: #define XSD_GYEARMONTH_STRING "gYearMonth"
69: #define XSD_GYEAR 111
70: #define XSD_GYEAR_STRING "gYear"
71: #define XSD_GMONTHDAY 112
72: #define XSD_GMONTHDAY_STRING "gMonthDay"
73: #define XSD_GDAY 113
74: #define XSD_GDAY_STRING "gDay"
75: #define XSD_GMONTH 114
76: #define XSD_GMONTH_STRING "gMonth"
77: #define XSD_HEXBINARY 115
78: #define XSD_HEXBINARY_STRING "hexBinary"
79: #define XSD_BASE64BINARY 116
80: #define XSD_BASE64BINARY_STRING "base64Binary"
81: #define XSD_ANYURI 117
82: #define XSD_ANYURI_STRING "anyURI"
83: #define XSD_QNAME 118
84: #define XSD_QNAME_STRING "QName"
85: #define XSD_NOTATION 119
86: #define XSD_NOTATION_STRING "NOTATION"
87: #define XSD_NORMALIZEDSTRING 120
88: #define XSD_NORMALIZEDSTRING_STRING "normalizedString"
89: #define XSD_TOKEN 121
90: #define XSD_TOKEN_STRING "token"
91: #define XSD_LANGUAGE 122
92: #define XSD_LANGUAGE_STRING "language"
93: #define XSD_NMTOKEN 123
94: #define XSD_NMTOKEN_STRING "NMTOKEN"
95: #define XSD_NAME 124
96: #define XSD_NAME_STRING "Name"
97: #define XSD_NCNAME 125
98: #define XSD_NCNAME_STRING "NCName"
99: #define XSD_ID 126
100: #define XSD_ID_STRING "ID"
101: #define XSD_IDREF 127
102: #define XSD_IDREF_STRING "IDREF"
103: #define XSD_IDREFS 128
104: #define XSD_IDREFS_STRING "IDREFS"
105: #define XSD_ENTITY 129
106: #define XSD_ENTITY_STRING "ENTITY"
107: #define XSD_ENTITIES 130
108: #define XSD_ENTITIES_STRING "ENTITIES"
109: #define XSD_INTEGER 131
110: #define XSD_INTEGER_STRING "integer"
111: #define XSD_NONPOSITIVEINTEGER 132
112: #define XSD_NONPOSITIVEINTEGER_STRING "nonPositiveInteger"
113: #define XSD_NEGATIVEINTEGER 133
114: #define XSD_NEGATIVEINTEGER_STRING "negativeInteger"
115: #define XSD_LONG 134
116: #define XSD_LONG_STRING "long"
117: #define XSD_INT 135
118: #define XSD_INT_STRING "int"
119: #define XSD_SHORT 136
120: #define XSD_SHORT_STRING "short"
121: #define XSD_BYTE 137
122: #define XSD_BYTE_STRING "byte"
123: #define XSD_NONNEGATIVEINTEGER 138
124: #define XSD_NONNEGATIVEINTEGER_STRING "nonNegativeInteger"
125: #define XSD_UNSIGNEDLONG 139
126: #define XSD_UNSIGNEDLONG_STRING "unsignedLong"
127: #define XSD_UNSIGNEDINT 140
128: #define XSD_UNSIGNEDINT_STRING "unsignedInt"
129: #define XSD_UNSIGNEDSHORT 141
130: #define XSD_UNSIGNEDSHORT_STRING "unsignedShort"
131: #define XSD_UNSIGNEDBYTE 142
132: #define XSD_UNSIGNEDBYTE_STRING "unsignedByte"
133: #define XSD_POSITIVEINTEGER 143
134: #define XSD_POSITIVEINTEGER_STRING "positiveInteger"
135: #define XSD_NMTOKENS 144
136: #define XSD_NMTOKENS_STRING "NMTOKENS"
137: #define XSD_ANYTYPE 145
138: #define XSD_ANYTYPE_STRING "anyType"
139: #define XSD_UR_TYPE 146
140: #define XSD_UR_TYPE_STRING "ur-type"
141:
142: #define XSD_ANYXML 147
143:
144: #define APACHE_NAMESPACE "http://xml.apache.org/xml-soap"
145: #define APACHE_MAP 200
146: #define APACHE_MAP_STRING "Map"
147:
148: #define SOAP_ENC_ARRAY 300
149: #define SOAP_ENC_ARRAY_STRING "Array"
150: #define SOAP_ENC_OBJECT 301
151: #define SOAP_ENC_OBJECT_STRING "Struct"
152:
153: #define WSDL_NAMESPACE "http://schemas.xmlsoap.org/wsdl/"
154: #define WSDL_NS_PREFIX "wsdl"
155:
156: #define WSDL_SOAP11_NAMESPACE "http://schemas.xmlsoap.org/wsdl/soap/"
157: #define WSDL_SOAP12_NAMESPACE "http://schemas.xmlsoap.org/wsdl/soap12/"
158: #define RPC_SOAP12_NAMESPACE "http://www.w3.org/2003/05/soap-rpc"
159: #define RPC_SOAP12_NS_PREFIX "rpc"
160:
161: #define WSDL_HTTP11_NAMESPACE "http://schemas.xmlsoap.org/wsdl/http/"
162: #define WSDL_HTTP12_NAMESPACE "http://www.w3.org/2003/05/soap/bindings/HTTP/"
163: #define WSDL_HTTP_NS_PREFIX "http"
164:
165: #define WSDL_HTTP_TRANSPORT "http://schemas.xmlsoap.org/soap/http"
166:
167: #define WSDL_MIME_NAMESPACE "http://schemas.xmlsoap.org/wsdl/mime/"
168:
169: #define WSDL_DIME_NAMESPACE "http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/"
170: #define WSDL_DIME_OPEN "http://schemas.xmlsoap.org/ws/2002/04/dime/open-layout"
171: #define WSDL_DIME_CLOSED "http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout"
172:
173: #define UNKNOWN_TYPE 999998
174: #define END_KNOWN_TYPES 999999
175:
176: struct _encodeType {
177: int type;
178: char *type_str;
179: char *ns;
180: sdlTypePtr sdl_type;
181: soapMappingPtr map;
182: };
183:
184: struct _encode {
185: encodeType details;
1.1.1.2 misho 186: zval *(*to_zval)(encodeTypePtr type, xmlNodePtr data TSRMLS_DC);
187: xmlNodePtr (*to_xml)(encodeTypePtr type, zval *data, int style, xmlNodePtr parent TSRMLS_DC);
1.1 misho 188: };
189:
190: /* Master functions all encode/decode should be called thur these functions */
1.1.1.2 misho 191: xmlNodePtr master_to_xml(encodePtr encode, zval *data, int style, xmlNodePtr parent TSRMLS_DC);
192: zval *master_to_zval(encodePtr encode, xmlNodePtr data TSRMLS_DC);
1.1 misho 193:
194: /* user defined mapping */
1.1.1.2 misho 195: xmlNodePtr to_xml_user(encodeTypePtr type, zval *data, int style, xmlNodePtr parent TSRMLS_DC);
196: zval *to_zval_user(encodeTypePtr type, xmlNodePtr node TSRMLS_DC);
1.1 misho 197:
198: void whiteSpace_replace(xmlChar* str);
199: void whiteSpace_collapse(xmlChar* str);
200:
1.1.1.2 misho 201: xmlNodePtr sdl_guess_convert_xml(encodeTypePtr enc, zval* data, int style, xmlNodePtr parent TSRMLS_DC);
202: zval *sdl_guess_convert_zval(encodeTypePtr enc, xmlNodePtr data TSRMLS_DC);
1.1 misho 203:
204: void encode_finish();
205: void encode_reset_ns();
206: xmlNsPtr encode_add_ns(xmlNodePtr node, const char* ns);
207:
208: encodePtr get_conversion(int encode);
209:
210: void delete_encoder(void *handle);
211: void delete_encoder_persistent(void *handle);
212:
213: extern encode defaultEncoding[];
214: extern int numDefaultEncodings;
215:
216: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>