ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
nusoap_xmlschema Class Reference

parses an XML Schema, allows access to it's data, other utility methods. More...

+ Inheritance diagram for nusoap_xmlschema:
+ Collaboration diagram for nusoap_xmlschema:

Public Member Functions

 __construct ($schema='', $xml='', $namespaces=array())
 constructor More...
 
 parseFile ($xml, $type)
 parse an XML file More...
 
 parseString ($xml, $type)
 
 CreateTypeName ($ename)
 gets a type name for an unnamed type More...
 
 schemaStartElement ($parser, $name, $attrs)
 start-element handler More...
 
 schemaEndElement ($parser, $name)
 end-element handler More...
 
 schemaCharacterData ($parser, $data)
 element content handler More...
 
 serializeSchema ()
 serialize the schema More...
 
 xdebug ($string)
 adds debug data to the clas level debug string More...
 
 getPHPType ($type, $ns)
 get the PHP type of a user defined type in the schema PHP type is kind of a misnomer since it actually returns 'struct' for assoc. More...
 
 getTypeDef ($type)
 returns an associative array of information about a given type returns false if no type exists by the given name More...
 
 serializeTypeDef ($type)
 returns a sample serialization of a given type, or false if no type by the given name More...
 
 typeToForm ($name, $type)
 returns HTML form elements that allow a user to enter values for creating an instance of the given type. More...
 
 addComplexType ($name, $typeClass='complexType', $phpType='array', $compositor='', $restrictionBase='', $elements=array(), $attrs=array(), $arrayType='')
 adds a complex type to the schema More...
 
 addSimpleType ($name, $restrictionBase='', $typeClass='simpleType', $phpType='scalar', $enumeration=array())
 adds a simple type to the schema More...
 
 addElement ($attrs)
 adds an element to the schema More...
 
- Public Member Functions inherited from nusoap_base
 debug ($string)
 adds debug data to the class level debug string More...
 
 expandEntities ($val)
 expands entities, e.g. More...
 
 getError ()
 returns error string if present More...
 
 setError ($str)
 sets error string More...
 
 isArraySimpleOrStruct ($val)
 detect if array is a simple array or a struct (associative array) More...
 
 serialize_val ($val, $name=false, $type=false, $name_ns=false, $type_ns=false, $attributes=false, $use='encoded')
 
 serializeEnvelope ($body, $headers=false, $namespaces=array(), $style='rpc', $use='encoded')
 serialize message More...
 
 formatDump ($str)
 
 contractQname ($qname)
 contracts a qualified name More...
 
 expandQname ($qname)
 expands a qualified name More...
 
 getLocalPart ($str)
 returns the local part of a prefixed string returns the original string, if not prefixed More...
 
 getPrefix ($str)
 returns the prefix part of a prefixed string returns false, if not prefixed More...
 
 getNamespaceFromPrefix ($prefix)
 pass it a prefix, it returns a namespace returns false if no namespace registered with the given prefix More...
 
 getPrefixFromNamespace ($ns)
 returns the prefix for a given namespace (or prefix) or false if no prefixes registered for the given namespace More...
 
 varDump ($data)
 
 __construct ()
 constructor More...
 
 getGlobalDebugLevel ()
 gets the global debug level, which applies to future instances More...
 
 setGlobalDebugLevel ($level)
 sets the global debug level, which applies to future instances More...
 
 getDebugLevel ()
 gets the debug level for this instance More...
 
 setDebugLevel ($level)
 sets the debug level for this instance More...
 
 debug ($string)
 adds debug data to the instance debug string with formatting More...
 
 appendDebug ($string)
 adds debug data to the instance debug string without formatting More...
 
 clearDebug ()
 clears the current debug data for this instance More...
 
& getDebug ()
 gets the current debug data for this instance More...
 
& getDebugAsXMLComment ()
 gets the current debug data for this instance as an XML comment this may change the contents of the debug data More...
 
 expandEntities ($val)
 expands entities, e.g. More...
 
 getError ()
 returns error string if present More...
 
 setError ($str)
 sets error string More...
 
 isArraySimpleOrStruct ($val)
 detect if array is a simple array or a struct (associative array) More...
 
 serialize_val ($val, $name=false, $type=false, $name_ns=false, $type_ns=false, $attributes=false, $use='encoded', $soapval=false)
 
 serializeEnvelope ($body, $headers=false, $namespaces=array(), $style='rpc', $use='encoded', $encodingStyle='http://schemas.xmlsoap.org/soap/encoding/')
 serializes a message More...
 
 formatDump ($str)
 formats a string to be inserted into an HTML stream More...
 
 contractQname ($qname)
 contracts (changes namespace to prefix) a qualified name More...
 
 expandQname ($qname)
 expands (changes prefix to namespace) a qualified name More...
 
 getLocalPart ($str)
 returns the local part of a prefixed string returns the original string, if not prefixed More...
 
 getPrefix ($str)
 returns the prefix part of a prefixed string returns false, if not prefixed More...
 
 getNamespaceFromPrefix ($prefix)
 pass it a prefix, it returns a namespace More...
 
 getPrefixFromNamespace ($ns)
 returns the prefix for a given namespace (or prefix) or false if no prefixes registered for the given namespace More...
 
 getmicrotime ()
 returns the time in ODBC canonical form with microseconds More...
 
 varDump ($data)
 Returns a string with the output of var_dump. More...
 
 __toString ()
 represents the object as a string More...
 

Data Fields

 $schema = ''
 
 $xml = ''
 
 $enclosingNamespaces
 
 $schemaInfo = array()
 
 $schemaTargetNamespace = ''
 
 $attributes = array()
 
 $complexTypes = array()
 
 $complexTypeStack = array()
 
 $currentComplexType = null
 
 $elements = array()
 
 $elementStack = array()
 
 $currentElement = null
 
 $simpleTypes = array()
 
 $simpleTypeStack = array()
 
 $currentSimpleType = null
 
 $imports = array()
 
 $parser
 
 $position = 0
 
 $depth = 0
 
 $depth_array = array()
 
 $message = array()
 
 $defaultNamespace = array()
 
- Data Fields inherited from nusoap_base
 $title = 'NuSOAP'
 
 $version = '0.6.7'
 
 $revision = '$Revision$'
 
 $error_str = false
 Current error string (manipulated by getError/setError) More...
 
 $debug_str = ''
 Current debug string (manipulated by debug/appendDebug/clearDebug/getDebug/getDebugAsXMLComment) More...
 
 $charencoding = true
 
 $XMLSchemaVersion = 'http://www.w3.org/2001/XMLSchema'
 
 $soap_defencoding = 'UTF-8'
 
 $namespaces
 
 $usedNamespaces = array()
 
 $typemap
 
 $xmlEntities
 
 $debugLevel
 

Detailed Description

parses an XML Schema, allows access to it's data, other utility methods.

imperfect, no validation... yet, but quite functional.

Author
Dietrich Ayala dietr.nosp@m.ich@.nosp@m.ganx4.nosp@m..com
Scott Nichol snich.nosp@m.ol@u.nosp@m.sers..nosp@m.sour.nosp@m.cefor.nosp@m.ge.n.nosp@m.et
Version
$Id$ @access public

Definition at line 1092 of file nusoap.php.

Constructor & Destructor Documentation

◆ __construct()

nusoap_xmlschema::__construct (   $schema = '',
  $xml = '',
  $namespaces = array() 
)

constructor

Parameters
string$schemaschema document URI
string$xmlxml document URI
string$namespacesnamespaces defined in enclosing XML @access public

Definition at line 1131 of file nusoap.php.

1131 {
1132 parent::__construct();
1133 $this->debug('nusoap_xmlschema class instantiated, inside constructor');
1134 // files
1135 $this->schema = $schema;
1136 $this->xml = $xml;
1137
1138 // namespaces
1139 $this->enclosingNamespaces = $namespaces;
1140 $this->namespaces = array_merge($this->namespaces, $namespaces);
1141
1142 // parse schema file
1143 if($schema != ''){
1144 $this->debug('initial schema file: '.$schema);
1145 $this->parseFile($schema, 'schema');
1146 }
1147
1148 // parse xml file
1149 if($xml != ''){
1150 $this->debug('initial xml file: '.$xml);
1151 $this->parseFile($xml, 'xml');
1152 }
1153
1154 }
debug($string)
adds debug data to the class level debug string
Definition: nusoap.php:144
parseFile($xml, $type)
parse an XML file
Definition: nusoap.php:1164

References nusoap_base\$namespaces, $schema, $xml, nusoap_base\debug(), and parseFile().

+ Here is the call graph for this function:

Member Function Documentation

◆ addComplexType()

nusoap_xmlschema::addComplexType (   $name,
  $typeClass = 'complexType',
  $phpType = 'array',
  $compositor = '',
  $restrictionBase = '',
  $elements = array(),
  $attrs = array(),
  $arrayType = '' 
)

adds a complex type to the schema

example: array

addType( 'ArrayOfstring', 'complexType', 'array', '', 'SOAP-ENC:Array', array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'string[]'), 'xsd:string' );

example: PHP associative array ( SOAP Struct )

addType( 'SOAPStruct', 'complexType', 'struct', 'all', array('myVar'=> array('name'=>'myVar','type'=>'string') );

Parameters
name
typeClass(complexType|simpleType|attribute)
phpTypecurrently supported are array and struct (php assoc array)
compositor(all|sequence|choice)
restrictionBasenamespace:name (http://schemas.xmlsoap.org/soap/encoding/:Array)
elements= array ( name = array(name=>'',type=>'') )
attrs= array( array( 'ref' => "http://schemas.xmlsoap.org/soap/encoding/:arrayType", "http://schemas.xmlsoap.org/wsdl/:arrayType" => "string[]" ) )
arrayTypenamespace:name (http://www.w3.org/2001/XMLSchema:string) @access public
See also
getTypeDef

Reimplemented in XMLSchema.

Definition at line 1948 of file nusoap.php.

1948 {
1949 $this->complexTypes[$name] = array(
1950 'name' => $name,
1951 'typeClass' => $typeClass,
1952 'phpType' => $phpType,
1953 'compositor'=> $compositor,
1954 'restrictionBase' => $restrictionBase,
1955 'elements' => $elements,
1956 'attrs' => $attrs,
1957 'arrayType' => $arrayType
1958 );
1959
1960 $this->xdebug("addComplexType $name:");
1961 $this->appendDebug($this->varDump($this->complexTypes[$name]));
1962 }
varDump($data)
Definition: nusoap.php:567
appendDebug($string)
adds debug data to the instance debug string without formatting
Definition: nusoap.php:294
xdebug($string)
adds debug data to the clas level debug string
Definition: nusoap.php:1715

References $elements, $name, nusoap_base\appendDebug(), nusoap_base\varDump(), and xdebug().

+ Here is the call graph for this function:

◆ addElement()

nusoap_xmlschema::addElement (   $attrs)

adds an element to the schema

Parameters
array$attrsattributes that must include name and type
See also
nusoap_xmlschema @access User interface

Definition at line 1996 of file nusoap.php.

1996 {
1997 if (! $this->getPrefix($attrs['type'])) {
1998 $attrs['type'] = $this->schemaTargetNamespace . ':' . $attrs['type'];
1999 }
2000 $this->elements[ $attrs['name'] ] = $attrs;
2001 $this->elements[ $attrs['name'] ]['typeClass'] = 'element';
2002
2003 $this->xdebug("addElement " . $attrs['name']);
2004 $this->appendDebug($this->varDump($this->elements[ $attrs['name'] ]));
2005 }
getPrefix($str)
returns the prefix part of a prefixed string returns false, if not prefixed
Definition: nusoap.php:525

References nusoap_base\appendDebug(), nusoap_base\getPrefix(), nusoap_base\varDump(), and xdebug().

+ Here is the call graph for this function:

◆ addSimpleType()

nusoap_xmlschema::addSimpleType (   $name,
  $restrictionBase = '',
  $typeClass = 'simpleType',
  $phpType = 'scalar',
  $enumeration = array() 
)

adds a simple type to the schema

Parameters
string$name
string$restrictionBasenamespace:name (http://schemas.xmlsoap.org/soap/encoding/:Array)
string$typeClass(should always be simpleType)
string$phpType(should always be scalar)
array$enumerationarray of values @access public
See also
nusoap_xmlschema
getTypeDef

Definition at line 1976 of file nusoap.php.

1976 {
1977 $this->simpleTypes[$name] = array(
1978 'name' => $name,
1979 'typeClass' => $typeClass,
1980 'phpType' => $phpType,
1981 'type' => $restrictionBase,
1982 'enumeration' => $enumeration
1983 );
1984
1985 $this->xdebug("addSimpleType $name:");
1986 $this->appendDebug($this->varDump($this->simpleTypes[$name]));
1987 }

References $name, nusoap_base\appendDebug(), nusoap_base\varDump(), and xdebug().

+ Here is the call graph for this function:

◆ CreateTypeName()

nusoap_xmlschema::CreateTypeName (   $ename)

gets a type name for an unnamed type

Parameters
stringElement name
Returns
string A type name for an unnamed type @access private

Definition at line 1237 of file nusoap.php.

1237 {
1238 $scope = '';
1239 for ($i = 0; $i < count($this->complexTypeStack); $i++) {
1240 $scope .= $this->complexTypeStack[$i] . '_';
1241 }
1242 return $scope . $ename . '_ContainedType';
1243 }
$i
Definition: disco.tpl.php:19

References $i.

Referenced by schemaStartElement().

+ Here is the caller graph for this function:

◆ getPHPType()

nusoap_xmlschema::getPHPType (   $type,
  $ns 
)

get the PHP type of a user defined type in the schema PHP type is kind of a misnomer since it actually returns 'struct' for assoc.

arrays returns false if no type exists, or not w/ the given namespace else returns a string that is either a native php type, or 'struct'

Parameters
string$typename of defined type
string$nsnamespace of type
Returns
mixed @access public
Deprecated:

Reimplemented in XMLSchema.

Definition at line 1731 of file nusoap.php.

1731 {
1732 if(isset($this->typemap[$ns][$type])){
1733 //print "found type '$type' and ns $ns in typemap<br>";
1734 return $this->typemap[$ns][$type];
1735 } elseif(isset($this->complexTypes[$type])){
1736 //print "getting type '$type' and ns $ns from complexTypes array<br>";
1737 return $this->complexTypes[$type]['phpType'];
1738 }
1739 return false;
1740 }
$type

References $type.

◆ getTypeDef()

nusoap_xmlschema::getTypeDef (   $type)

returns an associative array of information about a given type returns false if no type exists by the given name

    For a complexType typeDef = array(
    'restrictionBase' => '',
    'phpType' => '',
    'compositor' => '(sequence|all)',
    'elements' => array(), // refs to elements array
    'attrs' => array() // refs to attributes array
    ... and so on (see addComplexType)
    )

  For simpleType or element, the array has different keys.
Parameters
string$type
Returns
mixed @access public
See also
addComplexType
addSimpleType
addElement

Reimplemented in XMLSchema.

Definition at line 1764 of file nusoap.php.

1764 {
1765 //$this->debug("in getTypeDef for type $type");
1766 if (substr($type, -1) == '^') {
1767 $is_element = 1;
1768 $type = substr($type, 0, -1);
1769 } else {
1770 $is_element = 0;
1771 }
1772
1773 if((! $is_element) && isset($this->complexTypes[$type])){
1774 $this->xdebug("in getTypeDef, found complexType $type");
1775 return $this->complexTypes[$type];
1776 } elseif((! $is_element) && isset($this->simpleTypes[$type])){
1777 $this->xdebug("in getTypeDef, found simpleType $type");
1778 if (!isset($this->simpleTypes[$type]['phpType'])) {
1779 // get info for type to tack onto the simple type
1780 // TODO: can this ever really apply (i.e. what is a simpleType really?)
1781 $uqType = substr($this->simpleTypes[$type]['type'], strrpos($this->simpleTypes[$type]['type'], ':') + 1);
1782 $ns = substr($this->simpleTypes[$type]['type'], 0, strrpos($this->simpleTypes[$type]['type'], ':'));
1783 $etype = $this->getTypeDef($uqType);
1784 if ($etype) {
1785 $this->xdebug("in getTypeDef, found type for simpleType $type:");
1786 $this->xdebug($this->varDump($etype));
1787 if (isset($etype['phpType'])) {
1788 $this->simpleTypes[$type]['phpType'] = $etype['phpType'];
1789 }
1790 if (isset($etype['elements'])) {
1791 $this->simpleTypes[$type]['elements'] = $etype['elements'];
1792 }
1793 }
1794 }
1795 return $this->simpleTypes[$type];
1796 } elseif(isset($this->elements[$type])){
1797 $this->xdebug("in getTypeDef, found element $type");
1798 if (!isset($this->elements[$type]['phpType'])) {
1799 // get info for type to tack onto the element
1800 $uqType = substr($this->elements[$type]['type'], strrpos($this->elements[$type]['type'], ':') + 1);
1801 $ns = substr($this->elements[$type]['type'], 0, strrpos($this->elements[$type]['type'], ':'));
1802 $etype = $this->getTypeDef($uqType);
1803 if ($etype) {
1804 $this->xdebug("in getTypeDef, found type for element $type:");
1805 $this->xdebug($this->varDump($etype));
1806 if (isset($etype['phpType'])) {
1807 $this->elements[$type]['phpType'] = $etype['phpType'];
1808 }
1809 if (isset($etype['elements'])) {
1810 $this->elements[$type]['elements'] = $etype['elements'];
1811 }
1812 } elseif ($ns == 'http://www.w3.org/2001/XMLSchema') {
1813 $this->xdebug("in getTypeDef, element $type is an XSD type");
1814 $this->elements[$type]['phpType'] = 'scalar';
1815 }
1816 }
1817 return $this->elements[$type];
1818 } elseif(isset($this->attributes[$type])){
1819 $this->xdebug("in getTypeDef, found attribute $type");
1820 return $this->attributes[$type];
1821 } elseif (preg_match('/_ContainedType$/', $type)) {
1822 $this->xdebug("in getTypeDef, have an untyped element $type");
1823 $typeDef['typeClass'] = 'simpleType';
1824 $typeDef['phpType'] = 'scalar';
1825 $typeDef['type'] = 'http://www.w3.org/2001/XMLSchema:string';
1826 return $typeDef;
1827 }
1828 $this->xdebug("in getTypeDef, did not find $type");
1829 return false;
1830 }
getTypeDef($type)
returns an associative array of information about a given type returns false if no type exists by the...
Definition: nusoap.php:1764

References $type, getTypeDef(), nusoap_base\varDump(), and xdebug().

Referenced by getTypeDef(), serializeTypeDef(), and typeToForm().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parseFile()

nusoap_xmlschema::parseFile (   $xml,
  $type 
)

parse an XML file

Parameters
string$xmlpath/URL to XML file
string$type(schema | xml)
Returns
boolean @access public

Reimplemented in XMLSchema.

Definition at line 1164 of file nusoap.php.

1164 {
1165 // parse xml file
1166 if($xml != ""){
1167 $xmlStr = @join("",@file($xml));
1168 if($xmlStr == ""){
1169 $msg = 'Error reading XML from '.$xml;
1170 $this->setError($msg);
1171 $this->debug($msg);
1172 return false;
1173 } else {
1174 $this->debug("parsing $xml");
1175 $this->parseString($xmlStr,$type);
1176 $this->debug("done parsing $xml");
1177 return true;
1178 }
1179 }
1180 return false;
1181 }
setError($str)
sets error string
Definition: nusoap.php:184
parseString($xml, $type)
Definition: nusoap.php:1190

References $type, $xml, nusoap_base\debug(), parseString(), and nusoap_base\setError().

Referenced by __construct().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parseString()

nusoap_xmlschema::parseString (   $xml,
  $type 
)
parse an XML string

@param    string $xml path or URL
Parameters
string$type(schema|xml) @access private

Reimplemented in XMLSchema.

Definition at line 1190 of file nusoap.php.

1190 {
1191 // parse xml string
1192 if($xml != ""){
1193
1194 // Create an XML parser.
1195 $this->parser = xml_parser_create();
1196 // Set the options for parsing the XML data.
1197 xml_parser_set_option($this->parser, XML_OPTION_CASE_FOLDING, 0);
1198
1199 // Set the object for the parser.
1200 xml_set_object($this->parser, $this);
1201
1202 // Set the element handlers for the parser.
1203 if($type == "schema"){
1204 xml_set_element_handler($this->parser, 'schemaStartElement','schemaEndElement');
1205 xml_set_character_data_handler($this->parser,'schemaCharacterData');
1206 } elseif($type == "xml"){
1207 xml_set_element_handler($this->parser, 'xmlStartElement','xmlEndElement');
1208 xml_set_character_data_handler($this->parser,'xmlCharacterData');
1209 }
1210
1211 // Parse the XML file.
1212 if(!xml_parse($this->parser,$xml,true)){
1213 // Display an error message.
1214 $errstr = sprintf('XML error parsing XML schema on line %d: %s',
1215 xml_get_current_line_number($this->parser),
1216 xml_error_string(xml_get_error_code($this->parser))
1217 );
1218 $this->debug($errstr);
1219 $this->debug("XML payload:\n" . $xml);
1220 $this->setError($errstr);
1221 }
1222
1223 xml_parser_free($this->parser);
1224 } else{
1225 $this->debug('no xml passed to parseString()!!');
1226 $this->setError('no xml passed to parseString()!!');
1227 }
1228 }

References $type, $xml, nusoap_base\debug(), and nusoap_base\setError().

Referenced by parseFile().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ schemaCharacterData()

nusoap_xmlschema::schemaCharacterData (   $parser,
  $data 
)

element content handler

Parameters
string$parserXML parser object
string$dataelement content @access private

Reimplemented in XMLSchema.

Definition at line 1587 of file nusoap.php.

1587 {
1588 $pos = $this->depth_array[$this->depth - 1];
1589 $this->message[$pos]['cdata'] .= $data;
1590 }
$data
Definition: bench.php:6

References $data.

◆ schemaEndElement()

nusoap_xmlschema::schemaEndElement (   $parser,
  $name 
)

end-element handler

Parameters
string$parserXML parser object
string$nameelement name @access private

Reimplemented in XMLSchema.

Definition at line 1550 of file nusoap.php.

1550 {
1551 // bring depth down a notch
1552 $this->depth--;
1553 // position of current element is equal to the last value left in depth_array for my depth
1554 if(isset($this->depth_array[$this->depth])){
1555 $pos = $this->depth_array[$this->depth];
1556 }
1557 // get element prefix
1558 if ($prefix = $this->getPrefix($name)){
1559 // get unqualified name
1560 $name = $this->getLocalPart($name);
1561 } else {
1562 $prefix = '';
1563 }
1564 // move on...
1565 if($name == 'complexType'){
1566 $this->xdebug('done processing complexType ' . ($this->currentComplexType ? $this->currentComplexType : '(unknown)'));
1567 $this->currentComplexType = array_pop($this->complexTypeStack);
1568 //$this->currentElement = false;
1569 }
1570 if($name == 'element'){
1571 $this->xdebug('done processing element ' . ($this->currentElement ? $this->currentElement : '(unknown)'));
1572 $this->currentElement = array_pop($this->elementStack);
1573 }
1574 if($name == 'simpleType'){
1575 $this->xdebug('done processing simpleType ' . ($this->currentSimpleType ? $this->currentSimpleType : '(unknown)'));
1576 $this->currentSimpleType = array_pop($this->simpleTypeStack);
1577 }
1578 }
getLocalPart($str)
returns the local part of a prefixed string returns the original string, if not prefixed
Definition: nusoap.php:508

References $depth, $name, nusoap_base\getLocalPart(), nusoap_base\getPrefix(), and xdebug().

+ Here is the call graph for this function:

◆ schemaStartElement()

nusoap_xmlschema::schemaStartElement (   $parser,
  $name,
  $attrs 
)

start-element handler

Parameters
string$parserXML parser object
string$nameelement name
string$attrsassociative array of attributes @access private

Reimplemented in XMLSchema.

Definition at line 1253 of file nusoap.php.

1253 {
1254
1255 // position in the total number of elements, starting from 0
1256 $pos = $this->position++;
1257 $depth = $this->depth++;
1258 // set self as current value for this depth
1259 $this->depth_array[$depth] = $pos;
1260 $this->message[$pos] = array('cdata' => '');
1261 if ($depth > 0) {
1262 $this->defaultNamespace[$pos] = $this->defaultNamespace[$this->depth_array[$depth - 1]];
1263 } else {
1264 $this->defaultNamespace[$pos] = false;
1265 }
1266
1267 // get element prefix
1268 if($prefix = $this->getPrefix($name)){
1269 // get unqualified name
1270 $name = $this->getLocalPart($name);
1271 } else {
1272 $prefix = '';
1273 }
1274
1275 // loop thru attributes, expanding, and registering namespace declarations
1276 if(count($attrs) > 0){
1277 foreach($attrs as $k => $v){
1278 // if ns declarations, add to class level array of valid namespaces
1279 if(preg_match('/^xmlns/',$k)){
1280 //$this->xdebug("$k: $v");
1281 //$this->xdebug('ns_prefix: '.$this->getPrefix($k));
1282 if($ns_prefix = substr(strrchr($k,':'),1)){
1283 //$this->xdebug("Add namespace[$ns_prefix] = $v");
1284 $this->namespaces[$ns_prefix] = $v;
1285 } else {
1286 $this->defaultNamespace[$pos] = $v;
1287 if (! $this->getPrefixFromNamespace($v)) {
1288 $this->namespaces['ns'.(count($this->namespaces)+1)] = $v;
1289 }
1290 }
1291 if($v == 'http://www.w3.org/2001/XMLSchema' || $v == 'http://www.w3.org/1999/XMLSchema' || $v == 'http://www.w3.org/2000/10/XMLSchema'){
1292 $this->XMLSchemaVersion = $v;
1293 $this->namespaces['xsi'] = $v.'-instance';
1294 }
1295 }
1296 }
1297 foreach($attrs as $k => $v){
1298 // expand each attribute
1299 $k = strpos($k,':') ? $this->expandQname($k) : $k;
1300 $v = strpos($v,':') ? $this->expandQname($v) : $v;
1301 $eAttrs[$k] = $v;
1302 }
1303 $attrs = $eAttrs;
1304 } else {
1305 $attrs = array();
1306 }
1307 // find status, register data
1308 switch($name){
1309 case 'all': // (optional) compositor content for a complexType
1310 case 'choice':
1311 case 'group':
1312 case 'sequence':
1313 //$this->xdebug("compositor $name for currentComplexType: $this->currentComplexType and currentElement: $this->currentElement");
1314 $this->complexTypes[$this->currentComplexType]['compositor'] = $name;
1315 //if($name == 'all' || $name == 'sequence'){
1316 // $this->complexTypes[$this->currentComplexType]['phpType'] = 'struct';
1317 //}
1318 break;
1319 case 'attribute': // complexType attribute
1320 //$this->xdebug("parsing attribute $attrs[name] $attrs[ref] of value: ".$attrs['http://schemas.xmlsoap.org/wsdl/:arrayType']);
1321 $this->xdebug("parsing attribute:");
1322 $this->appendDebug($this->varDump($attrs));
1323 if (!isset($attrs['form'])) {
1324 $attrs['form'] = $this->schemaInfo['attributeFormDefault'];
1325 }
1326 if (isset($attrs['http://schemas.xmlsoap.org/wsdl/:arrayType'])) {
1327 $v = $attrs['http://schemas.xmlsoap.org/wsdl/:arrayType'];
1328 if (!strpos($v, ':')) {
1329 // no namespace in arrayType attribute value...
1330 if ($this->defaultNamespace[$pos]) {
1331 // ...so use the default
1332 $attrs['http://schemas.xmlsoap.org/wsdl/:arrayType'] = $this->defaultNamespace[$pos] . ':' . $attrs['http://schemas.xmlsoap.org/wsdl/:arrayType'];
1333 }
1334 }
1335 }
1336 if(isset($attrs['name'])){
1337 $this->attributes[$attrs['name']] = $attrs;
1338 $aname = $attrs['name'];
1339 } elseif(isset($attrs['ref']) && $attrs['ref'] == 'http://schemas.xmlsoap.org/soap/encoding/:arrayType'){
1340 if (isset($attrs['http://schemas.xmlsoap.org/wsdl/:arrayType'])) {
1341 $aname = $attrs['http://schemas.xmlsoap.org/wsdl/:arrayType'];
1342 } else {
1343 $aname = '';
1344 }
1345 } elseif(isset($attrs['ref'])){
1346 $aname = $attrs['ref'];
1347 $this->attributes[$attrs['ref']] = $attrs;
1348 }
1349
1350 if($this->currentComplexType){ // This should *always* be
1351 $this->complexTypes[$this->currentComplexType]['attrs'][$aname] = $attrs;
1352 }
1353 // arrayType attribute
1354 if(isset($attrs['http://schemas.xmlsoap.org/wsdl/:arrayType']) || $this->getLocalPart($aname) == 'arrayType'){
1355 $this->complexTypes[$this->currentComplexType]['phpType'] = 'array';
1356 $prefix = $this->getPrefix($aname);
1357 if(isset($attrs['http://schemas.xmlsoap.org/wsdl/:arrayType'])){
1358 $v = $attrs['http://schemas.xmlsoap.org/wsdl/:arrayType'];
1359 } else {
1360 $v = '';
1361 }
1362 if(strpos($v,'[,]')){
1363 $this->complexTypes[$this->currentComplexType]['multidimensional'] = true;
1364 }
1365 $v = substr($v,0,strpos($v,'[')); // clip the []
1366 if(!strpos($v,':') && isset($this->typemap[$this->XMLSchemaVersion][$v])){
1367 $v = $this->XMLSchemaVersion.':'.$v;
1368 }
1369 $this->complexTypes[$this->currentComplexType]['arrayType'] = $v;
1370 }
1371 break;
1372 case 'complexContent': // (optional) content for a complexType
1373 break;
1374 case 'complexType':
1375 array_push($this->complexTypeStack, $this->currentComplexType);
1376 if(isset($attrs['name'])){
1377 // TODO: what is the scope of named complexTypes that appear
1378 // nested within other c complexTypes?
1379 $this->xdebug('processing named complexType '.$attrs['name']);
1380 //$this->currentElement = false;
1381 $this->currentComplexType = $attrs['name'];
1382 $this->complexTypes[$this->currentComplexType] = $attrs;
1383 $this->complexTypes[$this->currentComplexType]['typeClass'] = 'complexType';
1384 // This is for constructs like
1385 // <complexType name="ListOfString" base="soap:Array">
1386 // <sequence>
1387 // <element name="string" type="xsd:string"
1388 // minOccurs="0" maxOccurs="unbounded" />
1389 // </sequence>
1390 // </complexType>
1391 if(isset($attrs['base']) && preg_match('/:Array$/',$attrs['base'])){
1392 $this->xdebug('complexType is unusual array');
1393 $this->complexTypes[$this->currentComplexType]['phpType'] = 'array';
1394 } else {
1395 $this->complexTypes[$this->currentComplexType]['phpType'] = 'struct';
1396 }
1397 } else {
1398 $name = $this->CreateTypeName($this->currentElement);
1399 $this->xdebug('processing unnamed complexType for element ' . $this->currentElement . ' named ' . $name);
1400 $this->currentComplexType = $name;
1401 //$this->currentElement = false;
1402 $this->complexTypes[$this->currentComplexType] = $attrs;
1403 $this->complexTypes[$this->currentComplexType]['typeClass'] = 'complexType';
1404 // This is for constructs like
1405 // <complexType name="ListOfString" base="soap:Array">
1406 // <sequence>
1407 // <element name="string" type="xsd:string"
1408 // minOccurs="0" maxOccurs="unbounded" />
1409 // </sequence>
1410 // </complexType>
1411 if(isset($attrs['base']) && preg_match('/:Array$/',$attrs['base'])){
1412 $this->xdebug('complexType is unusual array');
1413 $this->complexTypes[$this->currentComplexType]['phpType'] = 'array';
1414 } else {
1415 $this->complexTypes[$this->currentComplexType]['phpType'] = 'struct';
1416 }
1417 }
1418 break;
1419 case 'element':
1420 array_push($this->elementStack, $this->currentElement);
1421 if (!isset($attrs['form'])) {
1422 $attrs['form'] = $this->schemaInfo['elementFormDefault'];
1423 }
1424 if(isset($attrs['type'])){
1425 $this->xdebug("processing typed element ".$attrs['name']." of type ".$attrs['type']);
1426 if (! $this->getPrefix($attrs['type'])) {
1427 if ($this->defaultNamespace[$pos]) {
1428 $attrs['type'] = $this->defaultNamespace[$pos] . ':' . $attrs['type'];
1429 $this->xdebug('used default namespace to make type ' . $attrs['type']);
1430 }
1431 }
1432 // This is for constructs like
1433 // <complexType name="ListOfString" base="soap:Array">
1434 // <sequence>
1435 // <element name="string" type="xsd:string"
1436 // minOccurs="0" maxOccurs="unbounded" />
1437 // </sequence>
1438 // </complexType>
1439 if ($this->currentComplexType && $this->complexTypes[$this->currentComplexType]['phpType'] == 'array') {
1440 $this->xdebug('arrayType for unusual array is ' . $attrs['type']);
1441 $this->complexTypes[$this->currentComplexType]['arrayType'] = $attrs['type'];
1442 }
1443 $this->currentElement = $attrs['name'];
1444 $ename = $attrs['name'];
1445 } elseif(isset($attrs['ref'])){
1446 $this->xdebug("processing element as ref to ".$attrs['ref']);
1447 $this->currentElement = "ref to ".$attrs['ref'];
1448 $ename = $this->getLocalPart($attrs['ref']);
1449 } else {
1450 $type = $this->CreateTypeName($this->currentComplexType . '_' . $attrs['name']);
1451 $this->xdebug("processing untyped element " . $attrs['name'] . ' type ' . $type);
1452 $this->currentElement = $attrs['name'];
1453 $attrs['type'] = $this->schemaTargetNamespace . ':' . $type;
1454 $ename = $attrs['name'];
1455 }
1456 if (isset($ename) && $this->currentComplexType) {
1457 $this->xdebug("add element $ename to complexType $this->currentComplexType");
1458 $this->complexTypes[$this->currentComplexType]['elements'][$ename] = $attrs;
1459 } elseif (!isset($attrs['ref'])) {
1460 $this->xdebug("add element $ename to elements array");
1461 $this->elements[ $attrs['name'] ] = $attrs;
1462 $this->elements[ $attrs['name'] ]['typeClass'] = 'element';
1463 }
1464 break;
1465 case 'enumeration': // restriction value list member
1466 $this->xdebug('enumeration ' . $attrs['value']);
1467 if ($this->currentSimpleType) {
1468 $this->simpleTypes[$this->currentSimpleType]['enumeration'][] = $attrs['value'];
1469 } elseif ($this->currentComplexType) {
1470 $this->complexTypes[$this->currentComplexType]['enumeration'][] = $attrs['value'];
1471 }
1472 break;
1473 case 'extension': // simpleContent or complexContent type extension
1474 $this->xdebug('extension ' . $attrs['base']);
1475 if ($this->currentComplexType) {
1476 $this->complexTypes[$this->currentComplexType]['extensionBase'] = $attrs['base'];
1477 }
1478 break;
1479 case 'import':
1480 if (isset($attrs['schemaLocation'])) {
1481 //$this->xdebug('import namespace ' . $attrs['namespace'] . ' from ' . $attrs['schemaLocation']);
1482 $this->imports[$attrs['namespace']][] = array('location' => $attrs['schemaLocation'], 'loaded' => false);
1483 } else {
1484 //$this->xdebug('import namespace ' . $attrs['namespace']);
1485 $this->imports[$attrs['namespace']][] = array('location' => '', 'loaded' => true);
1486 if (! $this->getPrefixFromNamespace($attrs['namespace'])) {
1487 $this->namespaces['ns'.(count($this->namespaces)+1)] = $attrs['namespace'];
1488 }
1489 }
1490 break;
1491 case 'list': // simpleType value list
1492 break;
1493 case 'restriction': // simpleType, simpleContent or complexContent value restriction
1494 $this->xdebug('restriction ' . $attrs['base']);
1495 if($this->currentSimpleType){
1496 $this->simpleTypes[$this->currentSimpleType]['type'] = $attrs['base'];
1497 } elseif($this->currentComplexType){
1498 $this->complexTypes[$this->currentComplexType]['restrictionBase'] = $attrs['base'];
1499 if(strstr($attrs['base'],':') == ':Array'){
1500 $this->complexTypes[$this->currentComplexType]['phpType'] = 'array';
1501 }
1502 }
1503 break;
1504 case 'schema':
1505 $this->schemaInfo = $attrs;
1506 $this->schemaInfo['schemaVersion'] = $this->getNamespaceFromPrefix($prefix);
1507 if (isset($attrs['targetNamespace'])) {
1508 $this->schemaTargetNamespace = $attrs['targetNamespace'];
1509 }
1510 if (!isset($attrs['elementFormDefault'])) {
1511 $this->schemaInfo['elementFormDefault'] = 'unqualified';
1512 }
1513 if (!isset($attrs['attributeFormDefault'])) {
1514 $this->schemaInfo['attributeFormDefault'] = 'unqualified';
1515 }
1516 break;
1517 case 'simpleContent': // (optional) content for a complexType
1518 break;
1519 case 'simpleType':
1520 array_push($this->simpleTypeStack, $this->currentSimpleType);
1521 if(isset($attrs['name'])){
1522 $this->xdebug("processing simpleType for name " . $attrs['name']);
1523 $this->currentSimpleType = $attrs['name'];
1524 $this->simpleTypes[ $attrs['name'] ] = $attrs;
1525 $this->simpleTypes[ $attrs['name'] ]['typeClass'] = 'simpleType';
1526 $this->simpleTypes[ $attrs['name'] ]['phpType'] = 'scalar';
1527 } else {
1528 $name = $this->CreateTypeName($this->currentComplexType . '_' . $this->currentElement);
1529 $this->xdebug('processing unnamed simpleType for element ' . $this->currentElement . ' named ' . $name);
1530 $this->currentSimpleType = $name;
1531 //$this->currentElement = false;
1532 $this->simpleTypes[$this->currentSimpleType] = $attrs;
1533 $this->simpleTypes[$this->currentSimpleType]['phpType'] = 'scalar';
1534 }
1535 break;
1536 case 'union': // simpleType type list
1537 break;
1538 default:
1539 //$this->xdebug("do not have anything to do for element $name");
1540 }
1541 }
getNamespaceFromPrefix($prefix)
pass it a prefix, it returns a namespace returns false if no namespace registered with the given pref...
Definition: nusoap.php:541
getPrefixFromNamespace($ns)
returns the prefix for a given namespace (or prefix) or false if no prefixes registered for the given...
Definition: nusoap.php:557
expandQname($qname)
expands a qualified name
Definition: nusoap.php:483
CreateTypeName($ename)
gets a type name for an unnamed type
Definition: nusoap.php:1237

References $currentComplexType, $currentSimpleType, $depth, $name, $type, nusoap_base\appendDebug(), CreateTypeName(), nusoap_base\expandQname(), nusoap_base\getLocalPart(), nusoap_base\getNamespaceFromPrefix(), nusoap_base\getPrefix(), nusoap_base\getPrefixFromNamespace(), nusoap_base\varDump(), and xdebug().

+ Here is the call graph for this function:

◆ serializeSchema()

nusoap_xmlschema::serializeSchema ( )

serialize the schema

@access public

Reimplemented in XMLSchema.

Definition at line 1597 of file nusoap.php.

1597 {
1598
1599 $schemaPrefix = $this->getPrefixFromNamespace($this->XMLSchemaVersion);
1600 $xml = '';
1601 // imports
1602 if (sizeof($this->imports) > 0) {
1603 foreach($this->imports as $ns => $list) {
1604 foreach ($list as $ii) {
1605 if ($ii['location'] != '') {
1606 $xml .= " <$schemaPrefix:import location=\"" . $ii['location'] . '" namespace="' . $ns . "\" />\n";
1607 } else {
1608 $xml .= " <$schemaPrefix:import namespace=\"" . $ns . "\" />\n";
1609 }
1610 }
1611 }
1612 }
1613 // complex types
1614 foreach($this->complexTypes as $typeName => $attrs){
1615 $contentStr = '';
1616 // serialize child elements
1617 if(isset($attrs['elements']) && (count($attrs['elements']) > 0)){
1618 foreach($attrs['elements'] as $element => $eParts){
1619 if(isset($eParts['ref'])){
1620 $contentStr .= " <$schemaPrefix:element ref=\"$element\"/>\n";
1621 } else {
1622 $contentStr .= " <$schemaPrefix:element name=\"$element\" type=\"" . $this->contractQName($eParts['type']) . "\"";
1623 foreach ($eParts as $aName => $aValue) {
1624 // handle, e.g., abstract, default, form, minOccurs, maxOccurs, nillable
1625 if ($aName != 'name' && $aName != 'type') {
1626 $contentStr .= " $aName=\"$aValue\"";
1627 }
1628 }
1629 $contentStr .= "/>\n";
1630 }
1631 }
1632 // compositor wraps elements
1633 if (isset($attrs['compositor']) && ($attrs['compositor'] != '')) {
1634 $contentStr = " <$schemaPrefix:$attrs[compositor]>\n".$contentStr." </$schemaPrefix:$attrs[compositor]>\n";
1635 }
1636 }
1637 // attributes
1638 if(isset($attrs['attrs']) && (count($attrs['attrs']) >= 1)){
1639 foreach($attrs['attrs'] as $attr => $aParts){
1640 $contentStr .= " <$schemaPrefix:attribute";
1641 foreach ($aParts as $a => $v) {
1642 if ($a == 'ref' || $a == 'type') {
1643 $contentStr .= " $a=\"".$this->contractQName($v).'"';
1644 } elseif ($a == 'http://schemas.xmlsoap.org/wsdl/:arrayType') {
1645 $this->usedNamespaces['wsdl'] = $this->namespaces['wsdl'];
1646 $contentStr .= ' wsdl:arrayType="'.$this->contractQName($v).'"';
1647 } else {
1648 $contentStr .= " $a=\"$v\"";
1649 }
1650 }
1651 $contentStr .= "/>\n";
1652 }
1653 }
1654 // if restriction
1655 if (isset($attrs['restrictionBase']) && $attrs['restrictionBase'] != ''){
1656 $contentStr = " <$schemaPrefix:restriction base=\"".$this->contractQName($attrs['restrictionBase'])."\">\n".$contentStr." </$schemaPrefix:restriction>\n";
1657 // complex or simple content
1658 if ((isset($attrs['elements']) && count($attrs['elements']) > 0) || (isset($attrs['attrs']) && count($attrs['attrs']) > 0)){
1659 $contentStr = " <$schemaPrefix:complexContent>\n".$contentStr." </$schemaPrefix:complexContent>\n";
1660 }
1661 }
1662 // finalize complex type
1663 if($contentStr != ''){
1664 $contentStr = " <$schemaPrefix:complexType name=\"$typeName\">\n".$contentStr." </$schemaPrefix:complexType>\n";
1665 } else {
1666 $contentStr = " <$schemaPrefix:complexType name=\"$typeName\"/>\n";
1667 }
1668 $xml .= $contentStr;
1669 }
1670 // simple types
1671 if(isset($this->simpleTypes) && count($this->simpleTypes) > 0){
1672 foreach($this->simpleTypes as $typeName => $eParts){
1673 $xml .= " <$schemaPrefix:simpleType name=\"$typeName\">\n <$schemaPrefix:restriction base=\"".$this->contractQName($eParts['type'])."\">\n";
1674 if (isset($eParts['enumeration'])) {
1675 foreach ($eParts['enumeration'] as $e) {
1676 $xml .= " <$schemaPrefix:enumeration value=\"$e\"/>\n";
1677 }
1678 }
1679 $xml .= " </$schemaPrefix:restriction>\n </$schemaPrefix:simpleType>";
1680 }
1681 }
1682 // elements
1683 if(isset($this->elements) && count($this->elements) > 0){
1684 foreach($this->elements as $element => $eParts){
1685 $xml .= " <$schemaPrefix:element name=\"$element\" type=\"".$this->contractQName($eParts['type'])."\"/>\n";
1686 }
1687 }
1688 // attributes
1689 if(isset($this->attributes) && count($this->attributes) > 0){
1690 foreach($this->attributes as $attr => $aParts){
1691 $xml .= " <$schemaPrefix:attribute name=\"$attr\" type=\"".$this->contractQName($aParts['type'])."\"\n/>";
1692 }
1693 }
1694 // finish 'er up
1695 $attr = '';
1696 foreach ($this->schemaInfo as $k => $v) {
1697 if ($k == 'elementFormDefault' || $k == 'attributeFormDefault') {
1698 $attr .= " $k=\"$v\"";
1699 }
1700 }
1701 $el = "<$schemaPrefix:schema$attr targetNamespace=\"$this->schemaTargetNamespace\"\n";
1702 foreach (array_diff($this->usedNamespaces, $this->enclosingNamespaces) as $nsp => $ns) {
1703 $el .= " xmlns:$nsp=\"$ns\"";
1704 }
1705 $xml = $el . ">\n".$xml."</$schemaPrefix:schema>\n";
1706 return $xml;
1707 }
if(isset($_REQUEST['delete'])) $list
Definition: registry.php:41

References $ii, $list, $xml, and nusoap_base\getPrefixFromNamespace().

+ Here is the call graph for this function:

◆ serializeTypeDef()

nusoap_xmlschema::serializeTypeDef (   $type)

returns a sample serialization of a given type, or false if no type by the given name

Parameters
string$typename of type
Returns
mixed @access public
Deprecated:

Reimplemented in XMLSchema.

Definition at line 1840 of file nusoap.php.

1840 {
1841 //print "in sTD() for type $type<br>";
1842 if($typeDef = $this->getTypeDef($type)){
1843 $str .= '<'.$type;
1844 if(is_array($typeDef['attrs'])){
1845 foreach($typeDef['attrs'] as $attName => $data){
1846 $str .= " $attName=\"{type = ".$data['type']."}\"";
1847 }
1848 }
1849 $str .= " xmlns=\"".$this->schema['targetNamespace']."\"";
1850 if(count($typeDef['elements']) > 0){
1851 $str .= ">";
1852 foreach($typeDef['elements'] as $element => $eData){
1853 $str .= $this->serializeTypeDef($element);
1854 }
1855 $str .= "</$type>";
1856 } elseif($typeDef['typeClass'] == 'element') {
1857 $str .= "></$type>";
1858 } else {
1859 $str .= "/>";
1860 }
1861 return $str;
1862 }
1863 return false;
1864 }
serializeTypeDef($type)
returns a sample serialization of a given type, or false if no type by the given name
Definition: nusoap.php:1840

References $data, $type, getTypeDef(), and serializeTypeDef().

Referenced by serializeTypeDef().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ typeToForm()

nusoap_xmlschema::typeToForm (   $name,
  $type 
)

returns HTML form elements that allow a user to enter values for creating an instance of the given type.

Parameters
string$namename for type instance
string$typename of type
Returns
string @access public
Deprecated:

Reimplemented in XMLSchema.

Definition at line 1876 of file nusoap.php.

1876 {
1877 // get typedef
1878 if($typeDef = $this->getTypeDef($type)){
1879 // if struct
1880 if($typeDef['phpType'] == 'struct'){
1881 $buffer .= '<table>';
1882 foreach($typeDef['elements'] as $child => $childDef){
1883 $buffer .= "
1884 <tr><td align='right'>$childDef[name] (type: ".$this->getLocalPart($childDef['type'])."):</td>
1885 <td><input type='text' name='parameters[".$name."][$childDef[name]]'></td></tr>";
1886 }
1887 $buffer .= '</table>';
1888 // if array
1889 } elseif($typeDef['phpType'] == 'array'){
1890 $buffer .= '<table>';
1891 for($i=0;$i < 3; $i++){
1892 $buffer .= "
1893 <tr><td align='right'>array item (type: $typeDef[arrayType]):</td>
1894 <td><input type='text' name='parameters[".$name."][]'></td></tr>";
1895 }
1896 $buffer .= '</table>';
1897 // if scalar
1898 } else {
1899 $buffer .= "<input type='text' name='parameters[$name]'>";
1900 }
1901 } else {
1902 $buffer .= "<input type='text' name='parameters[$name]'>";
1903 }
1904 return $buffer;
1905 }

References $i, $name, $type, and getTypeDef().

+ Here is the call graph for this function:

◆ xdebug()

nusoap_xmlschema::xdebug (   $string)

adds debug data to the clas level debug string

Parameters
string$stringdebug data @access private

Reimplemented in XMLSchema.

Definition at line 1715 of file nusoap.php.

1715 {
1716 $this->debug('<' . $this->schemaTargetNamespace . '> '.$string);
1717 }

References nusoap_base\debug().

Referenced by addComplexType(), addElement(), addSimpleType(), getTypeDef(), schemaEndElement(), and schemaStartElement().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $attributes

nusoap_xmlschema::$attributes = array()

Definition at line 1103 of file nusoap.php.

◆ $complexTypes

nusoap_xmlschema::$complexTypes = array()

Definition at line 1104 of file nusoap.php.

◆ $complexTypeStack

nusoap_xmlschema::$complexTypeStack = array()

Definition at line 1105 of file nusoap.php.

◆ $currentComplexType

nusoap_xmlschema::$currentComplexType = null

Definition at line 1106 of file nusoap.php.

Referenced by schemaStartElement().

◆ $currentElement

nusoap_xmlschema::$currentElement = null

Definition at line 1109 of file nusoap.php.

◆ $currentSimpleType

nusoap_xmlschema::$currentSimpleType = null

Definition at line 1112 of file nusoap.php.

Referenced by schemaStartElement().

◆ $defaultNamespace

nusoap_xmlschema::$defaultNamespace = array()

Definition at line 1121 of file nusoap.php.

◆ $depth

nusoap_xmlschema::$depth = 0

Definition at line 1118 of file nusoap.php.

Referenced by schemaEndElement(), and schemaStartElement().

◆ $depth_array

nusoap_xmlschema::$depth_array = array()

Definition at line 1119 of file nusoap.php.

◆ $elements

nusoap_xmlschema::$elements = array()

Definition at line 1107 of file nusoap.php.

Referenced by addComplexType().

◆ $elementStack

nusoap_xmlschema::$elementStack = array()

Definition at line 1108 of file nusoap.php.

◆ $enclosingNamespaces

nusoap_xmlschema::$enclosingNamespaces

Definition at line 1098 of file nusoap.php.

◆ $imports

nusoap_xmlschema::$imports = array()

Definition at line 1114 of file nusoap.php.

◆ $message

nusoap_xmlschema::$message = array()

Definition at line 1120 of file nusoap.php.

◆ $parser

nusoap_xmlschema::$parser

Definition at line 1116 of file nusoap.php.

◆ $position

nusoap_xmlschema::$position = 0

Definition at line 1117 of file nusoap.php.

◆ $schema

nusoap_xmlschema::$schema = ''

Definition at line 1095 of file nusoap.php.

Referenced by __construct().

◆ $schemaInfo

nusoap_xmlschema::$schemaInfo = array()

Definition at line 1100 of file nusoap.php.

◆ $schemaTargetNamespace

nusoap_xmlschema::$schemaTargetNamespace = ''

Definition at line 1101 of file nusoap.php.

◆ $simpleTypes

nusoap_xmlschema::$simpleTypes = array()

Definition at line 1110 of file nusoap.php.

◆ $simpleTypeStack

nusoap_xmlschema::$simpleTypeStack = array()

Definition at line 1111 of file nusoap.php.

◆ $xml

nusoap_xmlschema::$xml = ''

Definition at line 1096 of file nusoap.php.

Referenced by __construct(), parseFile(), parseString(), and serializeSchema().


The documentation for this class was generated from the following file: