root/ext/soap/php_encoding.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2   +----------------------------------------------------------------------+
   3   | PHP Version 7                                                        |
   4   +----------------------------------------------------------------------+
   5   | Copyright (c) 1997-2016 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: Brad Lafountain <rodif_bl@yahoo.com>                        |
  16   |          Shane Caraveo <shane@caraveo.com>                           |
  17   |          Dmitry Stogov <dmitry@zend.com>                             |
  18   +----------------------------------------------------------------------+
  19 */
  20 /* $Id$ */
  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;
 186         zval *(*to_zval)(zval *ret, encodeTypePtr type, xmlNodePtr data);
 187         xmlNodePtr (*to_xml)(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
 188 };
 189 
 190 /* Master functions all encode/decode should be called thur these functions */
 191 xmlNodePtr master_to_xml(encodePtr encode, zval *data, int style, xmlNodePtr parent);
 192 zval *master_to_zval(zval *ret, encodePtr encode, xmlNodePtr data);
 193 
 194 /* user defined mapping */
 195 xmlNodePtr to_xml_user(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
 196 zval *to_zval_user(zval *ret, encodeTypePtr type, xmlNodePtr node);
 197 
 198 void whiteSpace_replace(xmlChar* str);
 199 void whiteSpace_collapse(xmlChar* str);
 200 
 201 xmlNodePtr sdl_guess_convert_xml(encodeTypePtr enc, zval* data, int style, xmlNodePtr parent);
 202 zval *sdl_guess_convert_zval(zval *ret, encodeTypePtr enc, xmlNodePtr data);
 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(zval *zv);
 211 void delete_encoder_persistent(zval *zv);
 212 
 213 extern encode defaultEncoding[];
 214 extern int numDefaultEncodings;
 215 
 216 #endif

/* [<][>][^][v][top][bottom][index][help] */