ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
All Data Structures Namespaces Files Functions Variables 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
 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')
 serializes PHP values in accordance w/ section 5. More...
 
 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)
 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.6.7'
 
 $revision = '$Revision$'
 
 $error_str = false
 
 $debug_str = ''
 
 $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$ public

Definition at line 1096 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 1135 of file nusoap.php.

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

1135  {
1137  $this->debug('nusoap_xmlschema class instantiated, inside constructor');
1138  // files
1139  $this->schema = $schema;
1140  $this->xml = $xml;
1141 
1142  // namespaces
1143  $this->enclosingNamespaces = $namespaces;
1144  $this->namespaces = array_merge($this->namespaces, $namespaces);
1145 
1146  // parse schema file
1147  if($schema != ''){
1148  $this->debug('initial schema file: '.$schema);
1149  $this->parseFile($schema, 'schema');
1150  }
1151 
1152  // parse xml file
1153  if($xml != ''){
1154  $this->debug('initial xml file: '.$xml);
1155  $this->parseFile($xml, 'xml');
1156  }
1157 
1158  }
parseFile($xml, $type)
parse an XML file
Definition: nusoap.php:1168
debug($string)
adds debug data to the class level debug string
Definition: nusoap.php:144
__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 1952 of file nusoap.php.

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

1952  {
1953  $this->complexTypes[$name] = array(
1954  'name' => $name,
1955  'typeClass' => $typeClass,
1956  'phpType' => $phpType,
1957  'compositor'=> $compositor,
1958  'restrictionBase' => $restrictionBase,
1959  'elements' => $elements,
1960  'attrs' => $attrs,
1961  'arrayType' => $arrayType
1962  );
1963 
1964  $this->xdebug("addComplexType $name:");
1965  $this->appendDebug($this->varDump($this->complexTypes[$name]));
1966  }
appendDebug($string)
adds debug data to the instance debug string without formatting
Definition: nusoap.php:298
xdebug($string)
adds debug data to the clas level debug string
Definition: nusoap.php:1719
if($format !==null) $name
Definition: metadata.php:230
varDump($data)
Definition: nusoap.php:567
+ 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 User interface

Definition at line 2000 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:298
xdebug($string)
adds debug data to the clas level debug string
Definition: nusoap.php:1719
varDump($data)
Definition: nusoap.php:567
getPrefix($str)
returns the prefix part of a prefixed string returns false, if not prefixed
Definition: nusoap.php:525
+ 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 1980 of file nusoap.php.

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

1980  {
1981  $this->simpleTypes[$name] = array(
1982  'name' => $name,
1983  'typeClass' => $typeClass,
1984  'phpType' => $phpType,
1985  'type' => $restrictionBase,
1986  'enumeration' => $enumeration
1987  );
1988 
1989  $this->xdebug("addSimpleType $name:");
1990  $this->appendDebug($this->varDump($this->simpleTypes[$name]));
1991  }
appendDebug($string)
adds debug data to the instance debug string without formatting
Definition: nusoap.php:298
xdebug($string)
adds debug data to the clas level debug string
Definition: nusoap.php:1719
if($format !==null) $name
Definition: metadata.php:230
varDump($data)
Definition: nusoap.php:567
+ 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 1241 of file nusoap.php.

References $i.

1241  {
1242  $scope = '';
1243  for ($i = 0; $i < count($this->complexTypeStack); $i++) {
1244  $scope .= $this->complexTypeStack[$i] . '_';
1245  }
1246  return $scope . $ename . '_ContainedType';
1247  }
$i
Definition: metadata.php:24

◆ 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 1735 of file nusoap.php.

References $type.

1735  {
1736  if(isset($this->typemap[$ns][$type])){
1737  //print "found type '$type' and ns $ns in typemap<br>";
1738  return $this->typemap[$ns][$type];
1739  } elseif(isset($this->complexTypes[$type])){
1740  //print "getting type '$type' and ns $ns from complexTypes array<br>";
1741  return $this->complexTypes[$type]['phpType'];
1742  }
1743  return false;
1744  }
$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 public
See also
addComplexType
addSimpleType
addElement

Definition at line 1768 of file nusoap.php.

References $type, and nusoap_base\varDump().

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

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

1168  {
1169  // parse xml file
1170  if($xml != ""){
1171  $xmlStr = @join("",@file($xml));
1172  if($xmlStr == ""){
1173  $msg = 'Error reading XML from '.$xml;
1174  $this->setError($msg);
1175  $this->debug($msg);
1176  return false;
1177  } else {
1178  $this->debug("parsing $xml");
1179  $this->parseString($xmlStr,$type);
1180  $this->debug("done parsing $xml");
1181  return true;
1182  }
1183  }
1184  return false;
1185  }
setError($str)
sets error string
Definition: nusoap.php:184
parseString($xml, $type)
parse an XML string
Definition: nusoap.php:1194
$type
debug($string)
adds debug data to the class level debug string
Definition: nusoap.php:144
+ 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 1194 of file nusoap.php.

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

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

References $data.

1591  {
1592  $pos = $this->depth_array[$this->depth - 1];
1593  $this->message[$pos]['cdata'] .= $data;
1594  }
$data
Definition: storeScorm.php:23

◆ schemaEndElement()

nusoap_xmlschema::schemaEndElement (   $parser,
  $name 
)

end-element handler

Parameters
string$parserXML parser object
string$nameelement name private

Definition at line 1554 of file nusoap.php.

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

1554  {
1555  // bring depth down a notch
1556  $this->depth--;
1557  // position of current element is equal to the last value left in depth_array for my depth
1558  if(isset($this->depth_array[$this->depth])){
1559  $pos = $this->depth_array[$this->depth];
1560  }
1561  // get element prefix
1562  if ($prefix = $this->getPrefix($name)){
1563  // get unqualified name
1564  $name = $this->getLocalPart($name);
1565  } else {
1566  $prefix = '';
1567  }
1568  // move on...
1569  if($name == 'complexType'){
1570  $this->xdebug('done processing complexType ' . ($this->currentComplexType ? $this->currentComplexType : '(unknown)'));
1571  $this->currentComplexType = array_pop($this->complexTypeStack);
1572  //$this->currentElement = false;
1573  }
1574  if($name == 'element'){
1575  $this->xdebug('done processing element ' . ($this->currentElement ? $this->currentElement : '(unknown)'));
1576  $this->currentElement = array_pop($this->elementStack);
1577  }
1578  if($name == 'simpleType'){
1579  $this->xdebug('done processing simpleType ' . ($this->currentSimpleType ? $this->currentSimpleType : '(unknown)'));
1580  $this->currentSimpleType = array_pop($this->simpleTypeStack);
1581  }
1582  }
getLocalPart($str)
returns the local part of a prefixed string returns the original string, if not prefixed ...
Definition: nusoap.php:508
xdebug($string)
adds debug data to the clas level debug string
Definition: nusoap.php:1719
if($format !==null) $name
Definition: metadata.php:230
getPrefix($str)
returns the prefix part of a prefixed string returns false, if not prefixed
Definition: nusoap.php:525
+ 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 1257 of file nusoap.php.

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

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

◆ serializeSchema()

nusoap_xmlschema::serializeSchema ( )

serialize the schema

public

Definition at line 1601 of file nusoap.php.

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

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

References $data, and $type.

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

◆ 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 1880 of file nusoap.php.

References $i, $name, and $type.

1880  {
1881  // get typedef
1882  if($typeDef = $this->getTypeDef($type)){
1883  // if struct
1884  if($typeDef['phpType'] == 'struct'){
1885  $buffer .= '<table>';
1886  foreach($typeDef['elements'] as $child => $childDef){
1887  $buffer .= "
1888  <tr><td align='right'>$childDef[name] (type: ".$this->getLocalPart($childDef['type'])."):</td>
1889  <td><input type='text' name='parameters[".$name."][$childDef[name]]'></td></tr>";
1890  }
1891  $buffer .= '</table>';
1892  // if array
1893  } elseif($typeDef['phpType'] == 'array'){
1894  $buffer .= '<table>';
1895  for($i=0;$i < 3; $i++){
1896  $buffer .= "
1897  <tr><td align='right'>array item (type: $typeDef[arrayType]):</td>
1898  <td><input type='text' name='parameters[".$name."][]'></td></tr>";
1899  }
1900  $buffer .= '</table>';
1901  // if scalar
1902  } else {
1903  $buffer .= "<input type='text' name='parameters[$name]'>";
1904  }
1905  } else {
1906  $buffer .= "<input type='text' name='parameters[$name]'>";
1907  }
1908  return $buffer;
1909  }
$type
getTypeDef($type)
returns an associative array of information about a given type returns false if no type exists by the...
Definition: nusoap.php:1768
if($format !==null) $name
Definition: metadata.php:230
$i
Definition: metadata.php:24

◆ xdebug()

nusoap_xmlschema::xdebug (   $string)

adds debug data to the clas level debug string

Parameters
string$stringdebug data private

Definition at line 1719 of file nusoap.php.

References nusoap_base\debug().

1719  {
1720  $this->debug('<' . $this->schemaTargetNamespace . '> '.$string);
1721  }
debug($string)
adds debug data to the class level debug string
Definition: nusoap.php:144
+ Here is the call graph for this function:

Field Documentation

◆ $attributes

nusoap_xmlschema::$attributes = array()

Definition at line 1107 of file nusoap.php.

◆ $complexTypes

nusoap_xmlschema::$complexTypes = array()

Definition at line 1108 of file nusoap.php.

◆ $complexTypeStack

nusoap_xmlschema::$complexTypeStack = array()

Definition at line 1109 of file nusoap.php.

◆ $currentComplexType

nusoap_xmlschema::$currentComplexType = null

Definition at line 1110 of file nusoap.php.

◆ $currentElement

nusoap_xmlschema::$currentElement = null

Definition at line 1113 of file nusoap.php.

◆ $currentSimpleType

nusoap_xmlschema::$currentSimpleType = null

Definition at line 1116 of file nusoap.php.

◆ $defaultNamespace

nusoap_xmlschema::$defaultNamespace = array()

Definition at line 1125 of file nusoap.php.

◆ $depth

nusoap_xmlschema::$depth = 0

Definition at line 1122 of file nusoap.php.

◆ $depth_array

nusoap_xmlschema::$depth_array = array()

Definition at line 1123 of file nusoap.php.

◆ $elements

nusoap_xmlschema::$elements = array()

Definition at line 1111 of file nusoap.php.

◆ $elementStack

nusoap_xmlschema::$elementStack = array()

Definition at line 1112 of file nusoap.php.

◆ $enclosingNamespaces

nusoap_xmlschema::$enclosingNamespaces

Definition at line 1102 of file nusoap.php.

◆ $imports

nusoap_xmlschema::$imports = array()

Definition at line 1118 of file nusoap.php.

◆ $message

nusoap_xmlschema::$message = array()

Definition at line 1124 of file nusoap.php.

◆ $parser

nusoap_xmlschema::$parser

Definition at line 1120 of file nusoap.php.

◆ $position

nusoap_xmlschema::$position = 0

Definition at line 1121 of file nusoap.php.

◆ $schema

nusoap_xmlschema::$schema = ''

Definition at line 1099 of file nusoap.php.

◆ $schemaInfo

nusoap_xmlschema::$schemaInfo = array()

Definition at line 1104 of file nusoap.php.

◆ $schemaTargetNamespace

nusoap_xmlschema::$schemaTargetNamespace = ''

Definition at line 1105 of file nusoap.php.

◆ $simpleTypes

nusoap_xmlschema::$simpleTypes = array()

Definition at line 1114 of file nusoap.php.

◆ $simpleTypeStack

nusoap_xmlschema::$simpleTypeStack = array()

Definition at line 1115 of file nusoap.php.

◆ $xml

nusoap_xmlschema::$xml = ''

Definition at line 1100 of file nusoap.php.


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