ILIAS  trunk Revision v11.0_alpha-1761-g6dbbfa7b760
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
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)
 parse an XML string More...
 
 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
 __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)
 serializes PHP values in accordance w/ section 5. More...
 
 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.7.3'
 
 $revision = '$Revision$'
 
 $error_str = ''
 
 $debug_str = ''
 
 $charencoding = true
 
 $debugLevel
 
 $XMLSchemaVersion = 'http://www.w3.org/2001/XMLSchema'
 
 $soap_defencoding = 'UTF-8'
 
 $namespaces
 
 $usedNamespaces = array()
 
 $typemap
 
 $xmlEntities
 

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$ public

Definition at line 1085 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 public

Definition at line 1124 of file nusoap.php.

References nusoap_base\$namespaces, ILIAS\GlobalScreen\Provider\__construct(), and nusoap_base\debug().

1125  {
1127  $this->debug('nusoap_xmlschema class instantiated, inside constructor');
1128  // files
1129  $this->schema = $schema;
1130  $this->xml = $xml;
1131 
1132  // namespaces
1133  $this->enclosingNamespaces = $namespaces;
1134  $this->namespaces = array_merge($this->namespaces, $namespaces);
1135 
1136  // parse schema file
1137  if ($schema != '') {
1138  $this->debug('initial schema file: ' . $schema);
1139  $this->parseFile($schema, 'schema');
1140  }
1141 
1142  // parse xml file
1143  if ($xml != '') {
1144  $this->debug('initial xml file: ' . $xml);
1145  $this->parseFile($xml, 'xml');
1146  }
1147  }
parseFile($xml, $type)
parse an XML file
Definition: nusoap.php:1157
debug($string)
adds debug data to the instance debug string with formatting
Definition: nusoap.php:250
__construct(Container $dic, ilPlugin $plugin)
+ 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) public
See also
getTypeDef

Definition at line 1949 of file nusoap.php.

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

1950  {
1951  $this->complexTypes[$name] = array(
1952  'name' => $name,
1953  'typeClass' => $typeClass,
1954  'phpType' => $phpType,
1955  'compositor' => $compositor,
1956  'restrictionBase' => $restrictionBase,
1957  'elements' => $elements,
1958  'attrs' => $attrs,
1959  'arrayType' => $arrayType
1960  );
1961 
1962  $this->xdebug("addComplexType $name:");
1963  $this->appendDebug($this->varDump($this->complexTypes[$name]));
1964  }
appendDebug($string)
adds debug data to the instance debug string without formatting
Definition: nusoap.php:263
xdebug($string)
adds debug data to the clas level debug string
Definition: nusoap.php:1711
varDump($data)
Returns a string with the output of var_dump.
Definition: nusoap.php:867
+ 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 public

Definition at line 1999 of file nusoap.php.

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

2000  {
2001  if (! $this->getPrefix($attrs['type'])) {
2002  $attrs['type'] = $this->schemaTargetNamespace . ':' . $attrs['type'];
2003  }
2004  $this->elements[ $attrs['name'] ] = $attrs;
2005  $this->elements[ $attrs['name'] ]['typeClass'] = 'element';
2006 
2007  $this->xdebug("addElement " . $attrs['name']);
2008  $this->appendDebug($this->varDump($this->elements[ $attrs['name'] ]));
2009  }
appendDebug($string)
adds debug data to the instance debug string without formatting
Definition: nusoap.php:263
xdebug($string)
adds debug data to the clas level debug string
Definition: nusoap.php:1711
varDump($data)
Returns a string with the output of var_dump.
Definition: nusoap.php:867
getPrefix($str)
returns the prefix part of a prefixed string returns false, if not prefixed
Definition: nusoap.php:797
+ 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 public
See also
nusoap_xmlschema
getTypeDef

Definition at line 1978 of file nusoap.php.

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

1979  {
1980  $this->simpleTypes[$name] = array(
1981  'name' => $name,
1982  'typeClass' => $typeClass,
1983  'phpType' => $phpType,
1984  'type' => $restrictionBase,
1985  'enumeration' => $enumeration
1986  );
1987 
1988  $this->xdebug("addSimpleType $name:");
1989  $this->appendDebug($this->varDump($this->simpleTypes[$name]));
1990  }
appendDebug($string)
adds debug data to the instance debug string without formatting
Definition: nusoap.php:263
xdebug($string)
adds debug data to the clas level debug string
Definition: nusoap.php:1711
varDump($data)
Returns a string with the output of var_dump.
Definition: nusoap.php:867
+ 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 private

Definition at line 1229 of file nusoap.php.

References $scope.

1230  {
1231  $scope = '';
1232  for ($i = 0; $i < count($this->complexTypeStack); $i++) {
1233  $scope .= $this->complexTypeStack[$i] . '_';
1234  }
1235  return $scope . $ename . '_ContainedType';
1236  }
$scope
Definition: ltiregstart.php:47

◆ 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 public
Deprecated:

Definition at line 1728 of file nusoap.php.

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

◆ 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 public
See also
addComplexType
addSimpleType
addElement

Definition at line 1762 of file nusoap.php.

References nusoap_base\varDump().

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

Definition at line 1157 of file nusoap.php.

References nusoap_base\debug(), and nusoap_base\setError().

1158  {
1159  // parse xml file
1160  if ($xml != "") {
1161  $xmlStr = @join("", @file($xml));
1162  if ($xmlStr == "") {
1163  $msg = 'Error reading XML from ' . $xml;
1164  $this->setError($msg);
1165  $this->debug($msg);
1166  return false;
1167  } else {
1168  $this->debug("parsing $xml");
1169  $this->parseString($xmlStr, $type);
1170  $this->debug("done parsing $xml");
1171  return true;
1172  }
1173  }
1174  return false;
1175  }
setError($str)
sets error string
Definition: nusoap.php:353
parseString($xml, $type)
parse an XML string
Definition: nusoap.php:1184
debug($string)
adds debug data to the instance debug string with formatting
Definition: nusoap.php:250
+ Here is the call graph for this function:

◆ parseString()

nusoap_xmlschema::parseString (   $xml,
  $type 
)

parse an XML string

Parameters
string$xmlpath or URL
string$type(schema|xml) private

Definition at line 1184 of file nusoap.php.

References nusoap_base\debug(), and nusoap_base\setError().

1185  {
1186  // parse xml string
1187  if ($xml != "") {
1188  // Create an XML parser.
1189  $this->parser = xml_parser_create();
1190  // Set the options for parsing the XML data.
1191  xml_parser_set_option($this->parser, XML_OPTION_CASE_FOLDING, 0);
1192 
1193  // Set the element handlers for the parser.
1194  if ($type == "schema") {
1195  xml_set_element_handler($this->parser, $this->schemaStartElement(...), $this->schemaEndElement(...));
1196  xml_set_character_data_handler($this->parser, $this->schemaCharacterData(...));
1197  } elseif ($type == "xml") {
1198  xml_set_element_handler($this->parser, $this->xmlStartElement(...), $this->xmlEndElement(...));
1199  xml_set_character_data_handler($this->parser, $this->xmlCharacterData(...));
1200  }
1201 
1202  // Parse the XML file.
1203  if (!xml_parse($this->parser, $xml, true)) {
1204  // Display an error message.
1205  $errstr = sprintf(
1206  'XML error parsing XML schema on line %d: %s',
1207  xml_get_current_line_number($this->parser),
1208  xml_error_string(xml_get_error_code($this->parser))
1209  );
1210  $this->debug($errstr);
1211  $this->debug("XML payload:\n" . $xml);
1212  $this->setError($errstr);
1213  }
1214 
1215  xml_parser_free($this->parser);
1216  } else {
1217  $this->debug('no xml passed to parseString()!!');
1218  $this->setError('no xml passed to parseString()!!');
1219  }
1220  }
setError($str)
sets error string
Definition: nusoap.php:353
schemaStartElement($parser, $name, $attrs)
start-element handler
Definition: nusoap.php:1246
debug($string)
adds debug data to the instance debug string with formatting
Definition: nusoap.php:250
schemaCharacterData($parser, $data)
element content handler
Definition: nusoap.php:1582
schemaEndElement($parser, $name)
end-element handler
Definition: nusoap.php:1544
+ Here is the call graph for this function:

◆ schemaCharacterData()

nusoap_xmlschema::schemaCharacterData (   $parser,
  $data 
)

element content handler

Parameters
string$parserXML parser object
string$dataelement content private

Definition at line 1582 of file nusoap.php.

References $data.

1583  {
1584  $pos = $this->depth_array[$this->depth - 1];
1585  $this->message[$pos]['cdata'] .= $data;
1586  }

◆ schemaEndElement()

nusoap_xmlschema::schemaEndElement (   $parser,
  $name 
)

end-element handler

Parameters
string$parserXML parser object
string$nameelement name private

Definition at line 1544 of file nusoap.php.

References nusoap_base\getLocalPart(), and nusoap_base\getPrefix().

1545  {
1546  // bring depth down a notch
1547  $this->depth--;
1548  // position of current element is equal to the last value left in depth_array for my depth
1549  if (isset($this->depth_array[$this->depth])) {
1550  $pos = $this->depth_array[$this->depth];
1551  }
1552  // get element prefix
1553  if ($prefix = $this->getPrefix($name)) {
1554  // get unqualified name
1555  $name = $this->getLocalPart($name);
1556  } else {
1557  $prefix = '';
1558  }
1559  // move on...
1560  if ($name == 'complexType') {
1561  $this->xdebug('done processing complexType ' . ($this->currentComplexType ? $this->currentComplexType : '(unknown)'));
1562  $this->currentComplexType = array_pop($this->complexTypeStack);
1563  //$this->currentElement = false;
1564  }
1565  if ($name == 'element') {
1566  $this->xdebug('done processing element ' . ($this->currentElement ? $this->currentElement : '(unknown)'));
1567  $this->currentElement = array_pop($this->elementStack);
1568  }
1569  if ($name == 'simpleType') {
1570  $this->xdebug('done processing simpleType ' . ($this->currentSimpleType ? $this->currentSimpleType : '(unknown)'));
1571  $this->currentSimpleType = array_pop($this->simpleTypeStack);
1572  }
1573  }
getLocalPart($str)
returns the local part of a prefixed string returns the original string, if not prefixed ...
Definition: nusoap.php:779
xdebug($string)
adds debug data to the clas level debug string
Definition: nusoap.php:1711
getPrefix($str)
returns the prefix part of a prefixed string returns false, if not prefixed
Definition: nusoap.php:797
+ 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 private

Definition at line 1246 of file nusoap.php.

References nusoap_base\appendDebug(), nusoap_base\expandQname(), nusoap_base\getLocalPart(), nusoap_base\getNamespaceFromPrefix(), nusoap_base\getPrefix(), nusoap_base\getPrefixFromNamespace(), and nusoap_base\varDump().

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

◆ serializeSchema()

nusoap_xmlschema::serializeSchema ( )

serialize the schema

public

Definition at line 1593 of file nusoap.php.

References Vendor\Package\$a, Vendor\Package\$e, and nusoap_base\getPrefixFromNamespace().

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

Definition at line 1839 of file nusoap.php.

References $data.

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  }
getTypeDef($type)
returns an associative array of information about a given type returns false if no type exists by the...
Definition: nusoap.php:1762
serializeTypeDef($type)
returns a sample serialization of a given type, or false if no type by the given name ...
Definition: nusoap.php:1839

◆ 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 public
Deprecated:

Definition at line 1876 of file nusoap.php.

References nusoap_base\getLocalPart().

1877  {
1878  // get typedef
1879  if ($typeDef = $this->getTypeDef($type)) {
1880  // if struct
1881  if ($typeDef['phpType'] == 'struct') {
1882  $buffer .= '<table>';
1883  foreach ($typeDef['elements'] as $child => $childDef) {
1884  $buffer .= "
1885  <tr><td align='right'>$childDef[name] (type: " . $this->getLocalPart($childDef['type']) . "):</td>
1886  <td><input type='text' name='parameters[" . $name . "][$childDef[name]]'></td></tr>";
1887  }
1888  $buffer .= '</table>';
1889  // if array
1890  } elseif ($typeDef['phpType'] == 'array') {
1891  $buffer .= '<table>';
1892  for ($i = 0;$i < 3; $i++) {
1893  $buffer .= "
1894  <tr><td align='right'>array item (type: $typeDef[arrayType]):</td>
1895  <td><input type='text' name='parameters[" . $name . "][]'></td></tr>";
1896  }
1897  $buffer .= '</table>';
1898  // if scalar
1899  } else {
1900  $buffer .= "<input type='text' name='parameters[$name]'>";
1901  }
1902  } else {
1903  $buffer .= "<input type='text' name='parameters[$name]'>";
1904  }
1905  return $buffer;
1906  }
getLocalPart($str)
returns the local part of a prefixed string returns the original string, if not prefixed ...
Definition: nusoap.php:779
getTypeDef($type)
returns an associative array of information about a given type returns false if no type exists by the...
Definition: nusoap.php:1762
+ 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 private

Definition at line 1711 of file nusoap.php.

References nusoap_base\debug().

1712  {
1713  $this->debug('<' . $this->schemaTargetNamespace . '> ' . $string);
1714  }
debug($string)
adds debug data to the instance debug string with formatting
Definition: nusoap.php:250
+ Here is the call graph for this function:

Field Documentation

◆ $attributes

nusoap_xmlschema::$attributes = array()

Definition at line 1096 of file nusoap.php.

◆ $complexTypes

nusoap_xmlschema::$complexTypes = array()

Definition at line 1097 of file nusoap.php.

◆ $complexTypeStack

nusoap_xmlschema::$complexTypeStack = array()

Definition at line 1098 of file nusoap.php.

◆ $currentComplexType

nusoap_xmlschema::$currentComplexType = null

Definition at line 1099 of file nusoap.php.

◆ $currentElement

nusoap_xmlschema::$currentElement = null

Definition at line 1102 of file nusoap.php.

◆ $currentSimpleType

nusoap_xmlschema::$currentSimpleType = null

Definition at line 1105 of file nusoap.php.

◆ $defaultNamespace

nusoap_xmlschema::$defaultNamespace = array()

Definition at line 1114 of file nusoap.php.

◆ $depth

nusoap_xmlschema::$depth = 0

Definition at line 1111 of file nusoap.php.

◆ $depth_array

nusoap_xmlschema::$depth_array = array()

Definition at line 1112 of file nusoap.php.

◆ $elements

nusoap_xmlschema::$elements = array()

Definition at line 1100 of file nusoap.php.

◆ $elementStack

nusoap_xmlschema::$elementStack = array()

Definition at line 1101 of file nusoap.php.

◆ $enclosingNamespaces

nusoap_xmlschema::$enclosingNamespaces

Definition at line 1091 of file nusoap.php.

◆ $imports

nusoap_xmlschema::$imports = array()

Definition at line 1107 of file nusoap.php.

◆ $message

nusoap_xmlschema::$message = array()

Definition at line 1113 of file nusoap.php.

◆ $parser

nusoap_xmlschema::$parser

Definition at line 1109 of file nusoap.php.

◆ $position

nusoap_xmlschema::$position = 0

Definition at line 1110 of file nusoap.php.

◆ $schema

nusoap_xmlschema::$schema = ''

Definition at line 1088 of file nusoap.php.

◆ $schemaInfo

nusoap_xmlschema::$schemaInfo = array()

Definition at line 1093 of file nusoap.php.

◆ $schemaTargetNamespace

nusoap_xmlschema::$schemaTargetNamespace = ''

Definition at line 1094 of file nusoap.php.

◆ $simpleTypes

nusoap_xmlschema::$simpleTypes = array()

Definition at line 1103 of file nusoap.php.

◆ $simpleTypeStack

nusoap_xmlschema::$simpleTypeStack = array()

Definition at line 1104 of file nusoap.php.

◆ $xml

nusoap_xmlschema::$xml = ''

Definition at line 1089 of file nusoap.php.


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