ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
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

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

Data Fields

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

Detailed Description

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

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

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

Definition at line 1092 of file nusoap.php.

Member Function Documentation

◆ addComplexType()

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

adds a complex type to the schema

example: array

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

example: PHP associative array ( SOAP Struct )

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

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

Reimplemented in XMLSchema.

Definition at line 1948 of file nusoap.php.

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

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

+ Here is the call graph for this function:

◆ addElement()

nusoap_xmlschema::addElement (   $attrs)

adds an element to the schema

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

Definition at line 1996 of file nusoap.php.

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

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

+ Here is the call graph for this function:

◆ addSimpleType()

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

adds a simple type to the schema

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

Definition at line 1976 of file nusoap.php.

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

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

+ Here is the call graph for this function:

◆ CreateTypeName()

nusoap_xmlschema::CreateTypeName (   $ename)

gets a type name for an unnamed type

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

Definition at line 1237 of file nusoap.php.

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

Referenced by schemaStartElement().

+ Here is the caller graph for this function:

◆ getPHPType()

nusoap_xmlschema::getPHPType (   $type,
  $ns 
)

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

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

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

Reimplemented in XMLSchema.

Definition at line 1731 of file nusoap.php.

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

◆ getTypeDef()

nusoap_xmlschema::getTypeDef (   $type)

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

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

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

Reimplemented in XMLSchema.

Definition at line 1764 of file nusoap.php.

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

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

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

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

◆ nusoap_xmlschema()

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

constructor

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

Definition at line 1131 of file nusoap.php.

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

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

+ Here is the call graph for this function:

◆ parseFile()

nusoap_xmlschema::parseFile (   $xml,
  $type 
)

parse an XML file

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

Reimplemented in XMLSchema.

Definition at line 1164 of file nusoap.php.

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

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

Referenced by nusoap_xmlschema().

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

◆ parseString()

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

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

Reimplemented in XMLSchema.

Definition at line 1190 of file nusoap.php.

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

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

Referenced by parseFile().

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

◆ schemaCharacterData()

nusoap_xmlschema::schemaCharacterData (   $parser,
  $data 
)

element content handler

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

Reimplemented in XMLSchema.

Definition at line 1587 of file nusoap.php.

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

References $data.

◆ schemaEndElement()

nusoap_xmlschema::schemaEndElement (   $parser,
  $name 
)

end-element handler

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

Reimplemented in XMLSchema.

Definition at line 1550 of file nusoap.php.

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

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

+ Here is the call graph for this function:

◆ schemaStartElement()

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

start-element handler

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

Reimplemented in XMLSchema.

Definition at line 1253 of file nusoap.php.

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

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

+ Here is the call graph for this function:

◆ serializeSchema()

nusoap_xmlschema::serializeSchema ( )

serialize the schema

@access public

Reimplemented in XMLSchema.

Definition at line 1597 of file nusoap.php.

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

References $xml, and nusoap_base\getPrefixFromNamespace().

+ Here is the call graph for this function:

◆ serializeTypeDef()

nusoap_xmlschema::serializeTypeDef (   $type)

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

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

Reimplemented in XMLSchema.

Definition at line 1840 of file nusoap.php.

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

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

Referenced by serializeTypeDef().

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

◆ typeToForm()

nusoap_xmlschema::typeToForm (   $name,
  $type 
)

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

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

Reimplemented in XMLSchema.

Definition at line 1876 of file nusoap.php.

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

References getTypeDef().

+ Here is the call graph for this function:

◆ xdebug()

nusoap_xmlschema::xdebug (   $string)

adds debug data to the clas level debug string

Parameters
string$stringdebug data @access private

Reimplemented in XMLSchema.

Definition at line 1715 of file nusoap.php.

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

References nusoap_base\debug().

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

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

Field Documentation

◆ $attributes

nusoap_xmlschema::$attributes = array()

Definition at line 1103 of file nusoap.php.

◆ $complexTypes

nusoap_xmlschema::$complexTypes = array()

Definition at line 1104 of file nusoap.php.

◆ $complexTypeStack

nusoap_xmlschema::$complexTypeStack = array()

Definition at line 1105 of file nusoap.php.

◆ $currentComplexType

nusoap_xmlschema::$currentComplexType = null

Definition at line 1106 of file nusoap.php.

Referenced by schemaStartElement().

◆ $currentElement

nusoap_xmlschema::$currentElement = null

Definition at line 1109 of file nusoap.php.

◆ $currentSimpleType

nusoap_xmlschema::$currentSimpleType = null

Definition at line 1112 of file nusoap.php.

Referenced by schemaStartElement().

◆ $defaultNamespace

nusoap_xmlschema::$defaultNamespace = array()

Definition at line 1121 of file nusoap.php.

◆ $depth

nusoap_xmlschema::$depth = 0

Definition at line 1118 of file nusoap.php.

Referenced by schemaEndElement(), and schemaStartElement().

◆ $depth_array

nusoap_xmlschema::$depth_array = array()

Definition at line 1119 of file nusoap.php.

◆ $elements

nusoap_xmlschema::$elements = array()

Definition at line 1107 of file nusoap.php.

Referenced by addComplexType().

◆ $elementStack

nusoap_xmlschema::$elementStack = array()

Definition at line 1108 of file nusoap.php.

◆ $enclosingNamespaces

nusoap_xmlschema::$enclosingNamespaces

Definition at line 1098 of file nusoap.php.

◆ $imports

nusoap_xmlschema::$imports = array()

Definition at line 1114 of file nusoap.php.

◆ $message

nusoap_xmlschema::$message = array()

Definition at line 1120 of file nusoap.php.

◆ $parser

nusoap_xmlschema::$parser

Definition at line 1116 of file nusoap.php.

◆ $position

nusoap_xmlschema::$position = 0

Definition at line 1117 of file nusoap.php.

◆ $schema

nusoap_xmlschema::$schema = ''

Definition at line 1095 of file nusoap.php.

Referenced by nusoap_xmlschema().

◆ $schemaInfo

nusoap_xmlschema::$schemaInfo = array()

Definition at line 1100 of file nusoap.php.

◆ $schemaTargetNamespace

nusoap_xmlschema::$schemaTargetNamespace = ''

Definition at line 1101 of file nusoap.php.

◆ $simpleTypes

nusoap_xmlschema::$simpleTypes = array()

Definition at line 1110 of file nusoap.php.

◆ $simpleTypeStack

nusoap_xmlschema::$simpleTypeStack = array()

Definition at line 1111 of file nusoap.php.

◆ $xml

nusoap_xmlschema::$xml = ''

Definition at line 1096 of file nusoap.php.

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


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