ILIAS  release_7 Revision v7.30-3-g800a261c036
nusoap_xmlschema Class Reference

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

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

Public Member Functions

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

Data Fields

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

Detailed Description

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

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

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

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

Definition at line 1135 of file nusoap.php.

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 }
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:1168
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc

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

+ Here is the call graph for this function:

Member Function Documentation

◆ addComplexType()

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

adds a complex type to the schema

example: array

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

example: PHP associative array ( SOAP Struct )

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

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

Reimplemented in XMLSchema.

Definition at line 1952 of file nusoap.php.

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 }
varDump($data)
Definition: nusoap.php:567
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

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

+ Here is the call graph for this function:

◆ addElement()

nusoap_xmlschema::addElement (   $attrs)

adds an element to the schema

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

Definition at line 2000 of file nusoap.php.

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 }
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 1980 of file nusoap.php.

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 }

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

+ Here is the call graph for this function:

◆ CreateTypeName()

nusoap_xmlschema::CreateTypeName (   $ename)

gets a type name for an unnamed type

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

Definition at line 1241 of file nusoap.php.

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

References $i.

Referenced by schemaStartElement().

+ Here is the caller graph for this function:

◆ getPHPType()

nusoap_xmlschema::getPHPType (   $type,
  $ns 
)

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

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

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

Reimplemented in XMLSchema.

Definition at line 1735 of file nusoap.php.

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

References $type.

◆ getTypeDef()

nusoap_xmlschema::getTypeDef (   $type)

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

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

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

Reimplemented in XMLSchema.

Definition at line 1768 of file nusoap.php.

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 }
getTypeDef($type)
returns an associative array of information about a given type returns false if no type exists by the...
Definition: nusoap.php:1768

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

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

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

◆ parseFile()

nusoap_xmlschema::parseFile (   $xml,
  $type 
)

parse an XML file

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

Reimplemented in XMLSchema.

Definition at line 1168 of file nusoap.php.

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)
Definition: nusoap.php:1194

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

Referenced by __construct().

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

◆ parseString()

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

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

Reimplemented in XMLSchema.

Definition at line 1194 of file nusoap.php.

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 }

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

Referenced by parseFile().

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

◆ schemaCharacterData()

nusoap_xmlschema::schemaCharacterData (   $parser,
  $data 
)

element content handler

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

Reimplemented in XMLSchema.

Definition at line 1591 of file nusoap.php.

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

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

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

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

+ Here is the call graph for this function:

◆ schemaStartElement()

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

start-element handler

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

Reimplemented in XMLSchema.

Definition at line 1257 of file nusoap.php.

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 }
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:1241

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

+ Here is the call graph for this function:

◆ serializeSchema()

nusoap_xmlschema::serializeSchema ( )

serialize the schema

@access public

Reimplemented in XMLSchema.

Definition at line 1601 of file nusoap.php.

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 }
$a
thx to https://mlocati.github.io/php-cs-fixer-configurator for the examples

References Vendor\Package\$a, Vendor\Package\$e, $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 1844 of file nusoap.php.

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 }
serializeTypeDef($type)
returns a sample serialization of a given type, or false if no type by the given name
Definition: nusoap.php:1844

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

Referenced by serializeTypeDef().

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

◆ typeToForm()

nusoap_xmlschema::typeToForm (   $name,
  $type 
)

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

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

Reimplemented in XMLSchema.

Definition at line 1880 of file nusoap.php.

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 }

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

+ Here is the call graph for this function:

◆ xdebug()

nusoap_xmlschema::xdebug (   $string)

adds debug data to the clas level debug string

Parameters
string$stringdebug data @access private

Reimplemented in XMLSchema.

Definition at line 1719 of file nusoap.php.

1719 {
1720 $this->debug('<' . $this->schemaTargetNamespace . '> '.$string);
1721 }

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 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.

Referenced by schemaStartElement().

◆ $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.

Referenced by schemaStartElement().

◆ $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.

Referenced by schemaEndElement(), and schemaStartElement().

◆ $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.

Referenced by addComplexType().

◆ $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.

Referenced by __construct().

◆ $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.

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


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