ILIAS  trunk Revision v12.0_alpha-1221-g4e438232683
nusoap_xmlschema Class Reference

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

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

Public Member Functions

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

Data Fields

 $schema = ''
 
 $xml = ''
 
 $enclosingNamespaces
 
 $schemaInfo = array()
 
 $schemaTargetNamespace = ''
 
 $attributes = array()
 
 $complexTypes = array()
 
 $complexTypeStack = array()
 
 $currentComplexType = null
 
 $elements = array()
 
 $elementStack = array()
 
 $currentElement = null
 
 $simpleTypes = array()
 
 $simpleTypeStack = array()
 
 $currentSimpleType = null
 
 $imports = array()
 
 $parser
 
 $position = 0
 
 $depth = 0
 
 $depth_array = array()
 
 $message = array()
 
 $defaultNamespace = array()
 
- Data Fields inherited from nusoap_base
 $title = 'NuSOAP'
 
 $version = '0.7.3'
 
 $revision = '$Revision$'
 
 $error_str = ''
 
 $debug_str = ''
 
 $charencoding = true
 
 $debugLevel
 
 $XMLSchemaVersion = 'http://www.w3.org/2001/XMLSchema'
 
 $soap_defencoding = 'UTF-8'
 
 $namespaces
 
 $usedNamespaces = array()
 
 $typemap
 
 $xmlEntities
 

Detailed Description

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

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

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

Definition at line 1085 of file nusoap.php.

Constructor & Destructor Documentation

◆ __construct()

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

constructor

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

Definition at line 1124 of file nusoap.php.

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

Definition at line 1947 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)
Returns a string with the output of var_dump.
Definition: nusoap.php:867
appendDebug($string)
adds debug data to the instance debug string without formatting
Definition: nusoap.php:263
xdebug($string)
adds debug data to the clas level debug string
Definition: nusoap.php:1709

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 public

Definition at line 1997 of file nusoap.php.

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

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.

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

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

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

References $scope.

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:

Definition at line 1726 of file nusoap.php.

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

◆ 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

Definition at line 1760 of file nusoap.php.

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

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:

◆ 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

Definition at line 1157 of file nusoap.php.

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

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

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

Definition at line 1184 of file nusoap.php.

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

References $xml, nusoap_base\debug(), schemaCharacterData(), schemaEndElement(), schemaStartElement(), 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

Definition at line 1580 of file nusoap.php.

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

References $data.

Referenced by parseString().

+ Here is the caller graph for this function:

◆ schemaEndElement()

nusoap_xmlschema::schemaEndElement (   $parser,
  $name 
)

end-element handler

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

Definition at line 1542 of file nusoap.php.

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

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

Referenced by parseString().

+ Here is the call graph for this function:
+ Here is the caller 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

Definition at line 1244 of file nusoap.php.

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

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

Referenced by parseString().

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

◆ serializeSchema()

nusoap_xmlschema::serializeSchema ( )

serialize the schema

@access public

Definition at line 1591 of file nusoap.php.

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

Definition at line 1837 of file nusoap.php.

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

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:

Definition at line 1874 of file nusoap.php.

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

References nusoap_base\getLocalPart(), 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

Definition at line 1709 of file nusoap.php.

1710 {
1711 $this->debug('<' . $this->schemaTargetNamespace . '> ' . $string);
1712 }

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

◆ $complexTypes

nusoap_xmlschema::$complexTypes = array()

Definition at line 1097 of file nusoap.php.

◆ $complexTypeStack

nusoap_xmlschema::$complexTypeStack = array()

Definition at line 1098 of file nusoap.php.

◆ $currentComplexType

nusoap_xmlschema::$currentComplexType = null

Definition at line 1099 of file nusoap.php.

Referenced by schemaStartElement().

◆ $currentElement

nusoap_xmlschema::$currentElement = null

Definition at line 1102 of file nusoap.php.

◆ $currentSimpleType

nusoap_xmlschema::$currentSimpleType = null

Definition at line 1105 of file nusoap.php.

Referenced by schemaStartElement().

◆ $defaultNamespace

nusoap_xmlschema::$defaultNamespace = array()

Definition at line 1114 of file nusoap.php.

◆ $depth

nusoap_xmlschema::$depth = 0

Definition at line 1111 of file nusoap.php.

Referenced by schemaEndElement(), and schemaStartElement().

◆ $depth_array

nusoap_xmlschema::$depth_array = array()

Definition at line 1112 of file nusoap.php.

◆ $elements

nusoap_xmlschema::$elements = array()

Definition at line 1100 of file nusoap.php.

Referenced by addComplexType().

◆ $elementStack

nusoap_xmlschema::$elementStack = array()

Definition at line 1101 of file nusoap.php.

◆ $enclosingNamespaces

nusoap_xmlschema::$enclosingNamespaces

Definition at line 1091 of file nusoap.php.

◆ $imports

nusoap_xmlschema::$imports = array()

Definition at line 1107 of file nusoap.php.

◆ $message

nusoap_xmlschema::$message = array()

Definition at line 1113 of file nusoap.php.

◆ $parser

nusoap_xmlschema::$parser

Definition at line 1109 of file nusoap.php.

◆ $position

nusoap_xmlschema::$position = 0

Definition at line 1110 of file nusoap.php.

◆ $schema

nusoap_xmlschema::$schema = ''

Definition at line 1088 of file nusoap.php.

Referenced by __construct().

◆ $schemaInfo

nusoap_xmlschema::$schemaInfo = array()

Definition at line 1093 of file nusoap.php.

◆ $schemaTargetNamespace

nusoap_xmlschema::$schemaTargetNamespace = ''

Definition at line 1094 of file nusoap.php.

◆ $simpleTypes

nusoap_xmlschema::$simpleTypes = array()

Definition at line 1103 of file nusoap.php.

◆ $simpleTypeStack

nusoap_xmlschema::$simpleTypeStack = array()

Definition at line 1104 of file nusoap.php.

◆ $xml

nusoap_xmlschema::$xml = ''

Definition at line 1089 of file nusoap.php.

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


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