123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- /*
- +----------------------------------------------------------------------+
- | Copyright (c) The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 3.01 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available through the world-wide-web at the following url: |
- | https://www.php.net/license/3_01.txt |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Brad Lafountain <rodif_bl@yahoo.com> |
- | Shane Caraveo <shane@caraveo.com> |
- | Dmitry Stogov <dmitry@php.net> |
- +----------------------------------------------------------------------+
- */
- #ifndef PHP_ENCODING_H
- #define PHP_ENCODING_H
- #define XSD_1999_NAMESPACE "http://www.w3.org/1999/XMLSchema"
- #define XSD_1999_TIMEINSTANT 401
- #define XSD_1999_TIMEINSTANT_STRING "timeInstant"
- #define SOAP_1_1_ENV_NAMESPACE "http://schemas.xmlsoap.org/soap/envelope/"
- #define SOAP_1_1_ENV_NS_PREFIX "SOAP-ENV"
- #define SOAP_1_2_ENV_NAMESPACE "http://www.w3.org/2003/05/soap-envelope"
- #define SOAP_1_2_ENV_NS_PREFIX "env"
- #define SOAP_1_1_ENC_NAMESPACE "http://schemas.xmlsoap.org/soap/encoding/"
- #define SOAP_1_1_ENC_NS_PREFIX "SOAP-ENC"
- #define SOAP_1_2_ENC_NAMESPACE "http://www.w3.org/2003/05/soap-encoding"
- #define SOAP_1_2_ENC_NS_PREFIX "enc"
- #define SCHEMA_NAMESPACE "http://www.w3.org/2001/XMLSchema"
- #define XSD_NAMESPACE "http://www.w3.org/2001/XMLSchema"
- #define XSD_NS_PREFIX "xsd"
- #define XSI_NAMESPACE "http://www.w3.org/2001/XMLSchema-instance"
- #define XSI_NS_PREFIX "xsi"
- #define XML_NAMESPACE "http://www.w3.org/XML/1998/namespace"
- #define XML_NS_PREFIX "xml"
- #define XSD_STRING 101
- #define XSD_STRING_STRING "string"
- #define XSD_BOOLEAN 102
- #define XSD_BOOLEAN_STRING "boolean"
- #define XSD_DECIMAL 103
- #define XSD_DECIMAL_STRING "decimal"
- #define XSD_FLOAT 104
- #define XSD_FLOAT_STRING "float"
- #define XSD_DOUBLE 105
- #define XSD_DOUBLE_STRING "double"
- #define XSD_DURATION 106
- #define XSD_DURATION_STRING "duration"
- #define XSD_DATETIME 107
- #define XSD_DATETIME_STRING "dateTime"
- #define XSD_TIME 108
- #define XSD_TIME_STRING "time"
- #define XSD_DATE 109
- #define XSD_DATE_STRING "date"
- #define XSD_GYEARMONTH 110
- #define XSD_GYEARMONTH_STRING "gYearMonth"
- #define XSD_GYEAR 111
- #define XSD_GYEAR_STRING "gYear"
- #define XSD_GMONTHDAY 112
- #define XSD_GMONTHDAY_STRING "gMonthDay"
- #define XSD_GDAY 113
- #define XSD_GDAY_STRING "gDay"
- #define XSD_GMONTH 114
- #define XSD_GMONTH_STRING "gMonth"
- #define XSD_HEXBINARY 115
- #define XSD_HEXBINARY_STRING "hexBinary"
- #define XSD_BASE64BINARY 116
- #define XSD_BASE64BINARY_STRING "base64Binary"
- #define XSD_ANYURI 117
- #define XSD_ANYURI_STRING "anyURI"
- #define XSD_QNAME 118
- #define XSD_QNAME_STRING "QName"
- #define XSD_NOTATION 119
- #define XSD_NOTATION_STRING "NOTATION"
- #define XSD_NORMALIZEDSTRING 120
- #define XSD_NORMALIZEDSTRING_STRING "normalizedString"
- #define XSD_TOKEN 121
- #define XSD_TOKEN_STRING "token"
- #define XSD_LANGUAGE 122
- #define XSD_LANGUAGE_STRING "language"
- #define XSD_NMTOKEN 123
- #define XSD_NMTOKEN_STRING "NMTOKEN"
- #define XSD_NAME 124
- #define XSD_NAME_STRING "Name"
- #define XSD_NCNAME 125
- #define XSD_NCNAME_STRING "NCName"
- #define XSD_ID 126
- #define XSD_ID_STRING "ID"
- #define XSD_IDREF 127
- #define XSD_IDREF_STRING "IDREF"
- #define XSD_IDREFS 128
- #define XSD_IDREFS_STRING "IDREFS"
- #define XSD_ENTITY 129
- #define XSD_ENTITY_STRING "ENTITY"
- #define XSD_ENTITIES 130
- #define XSD_ENTITIES_STRING "ENTITIES"
- #define XSD_INTEGER 131
- #define XSD_INTEGER_STRING "integer"
- #define XSD_NONPOSITIVEINTEGER 132
- #define XSD_NONPOSITIVEINTEGER_STRING "nonPositiveInteger"
- #define XSD_NEGATIVEINTEGER 133
- #define XSD_NEGATIVEINTEGER_STRING "negativeInteger"
- #define XSD_LONG 134
- #define XSD_LONG_STRING "long"
- #define XSD_INT 135
- #define XSD_INT_STRING "int"
- #define XSD_SHORT 136
- #define XSD_SHORT_STRING "short"
- #define XSD_BYTE 137
- #define XSD_BYTE_STRING "byte"
- #define XSD_NONNEGATIVEINTEGER 138
- #define XSD_NONNEGATIVEINTEGER_STRING "nonNegativeInteger"
- #define XSD_UNSIGNEDLONG 139
- #define XSD_UNSIGNEDLONG_STRING "unsignedLong"
- #define XSD_UNSIGNEDINT 140
- #define XSD_UNSIGNEDINT_STRING "unsignedInt"
- #define XSD_UNSIGNEDSHORT 141
- #define XSD_UNSIGNEDSHORT_STRING "unsignedShort"
- #define XSD_UNSIGNEDBYTE 142
- #define XSD_UNSIGNEDBYTE_STRING "unsignedByte"
- #define XSD_POSITIVEINTEGER 143
- #define XSD_POSITIVEINTEGER_STRING "positiveInteger"
- #define XSD_NMTOKENS 144
- #define XSD_NMTOKENS_STRING "NMTOKENS"
- #define XSD_ANYTYPE 145
- #define XSD_ANYTYPE_STRING "anyType"
- #define XSD_UR_TYPE 146
- #define XSD_UR_TYPE_STRING "ur-type"
- #define XSD_ANYXML 147
- #define APACHE_NAMESPACE "http://xml.apache.org/xml-soap"
- #define APACHE_MAP 200
- #define APACHE_MAP_STRING "Map"
- #define SOAP_ENC_ARRAY 300
- #define SOAP_ENC_ARRAY_STRING "Array"
- #define SOAP_ENC_OBJECT 301
- #define SOAP_ENC_OBJECT_STRING "Struct"
- #define WSDL_NAMESPACE "http://schemas.xmlsoap.org/wsdl/"
- #define WSDL_NS_PREFIX "wsdl"
- #define WSDL_SOAP11_NAMESPACE "http://schemas.xmlsoap.org/wsdl/soap/"
- #define WSDL_SOAP12_NAMESPACE "http://schemas.xmlsoap.org/wsdl/soap12/"
- #define RPC_SOAP12_NAMESPACE "http://www.w3.org/2003/05/soap-rpc"
- #define RPC_SOAP12_NS_PREFIX "rpc"
- #define WSDL_HTTP11_NAMESPACE "http://schemas.xmlsoap.org/wsdl/http/"
- #define WSDL_HTTP12_NAMESPACE "http://www.w3.org/2003/05/soap/bindings/HTTP/"
- #define WSDL_HTTP_NS_PREFIX "http"
- #define WSDL_HTTP_TRANSPORT "http://schemas.xmlsoap.org/soap/http"
- #define WSDL_MIME_NAMESPACE "http://schemas.xmlsoap.org/wsdl/mime/"
- #define WSDL_DIME_NAMESPACE "http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/"
- #define WSDL_DIME_OPEN "http://schemas.xmlsoap.org/ws/2002/04/dime/open-layout"
- #define WSDL_DIME_CLOSED "http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout"
- #define UNKNOWN_TYPE 999998
- #define END_KNOWN_TYPES 999999
- #define Z_VAR_ENC_TYPE_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 0))
- #define Z_VAR_ENC_VALUE_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 1))
- #define Z_VAR_ENC_STYPE_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 2))
- #define Z_VAR_ENC_NS_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 3))
- #define Z_VAR_ENC_NAME_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 4))
- #define Z_VAR_ENC_NAMENS_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 5))
- struct _encodeType {
- int type;
- char *type_str;
- char *ns;
- sdlTypePtr sdl_type;
- soapMappingPtr map;
- };
- struct _encode {
- encodeType details;
- zval *(*to_zval)(zval *ret, encodeTypePtr type, xmlNodePtr data);
- xmlNodePtr (*to_xml)(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
- };
- /* Master functions all encode/decode should be called thur these functions */
- xmlNodePtr master_to_xml(encodePtr encode, zval *data, int style, xmlNodePtr parent);
- zval *master_to_zval(zval *ret, encodePtr encode, xmlNodePtr data);
- /* user defined mapping */
- xmlNodePtr to_xml_user(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
- zval *to_zval_user(zval *ret, encodeTypePtr type, xmlNodePtr node);
- void whiteSpace_replace(xmlChar* str);
- void whiteSpace_collapse(xmlChar* str);
- xmlNodePtr sdl_guess_convert_xml(encodeTypePtr enc, zval* data, int style, xmlNodePtr parent);
- zval *sdl_guess_convert_zval(zval *ret, encodeTypePtr enc, xmlNodePtr data);
- void encode_finish(void);
- void encode_reset_ns(void);
- xmlNsPtr encode_add_ns(xmlNodePtr node, const char* ns);
- encodePtr get_conversion(int encode);
- void delete_encoder(zval *zv);
- void delete_encoder_persistent(zval *zv);
- extern const encode defaultEncoding[];
- extern int numDefaultEncodings;
- #endif
|