![]() |
Documentación GVHIDRA 3.1.5
|
Métodos públicos | |
marshal ($var=NULL, $level=0, $name=NULL, $child=false) | |
_processTags ($var) | |
_processVar ($var, $level, $child) | |
_tab ($level) | |
xmlentities ($xml, $utf8=false) | |
transform ($xml, $xsls, $params=array()) |
The Xml utility class provides methods to generate and transform Xml.
_processTags | ( | $ | var | ) |
Utility method used to process the var and return the correct tags.
private
mixed | $var |
Definición en la línea 68 del archivo Xml.php.
{ if (is_object($var)) { $tags = get_class($var); } else if (is_array($var)) { $tags = 'array'; } else { $tags = 'value'; } return $tags; }
_processVar | ( | $ | var, |
$ | level, | ||
$ | child | ||
) |
Utility method used to process the var and return the correct Xml.
private
mixed | $var | |
integer | $level | |
boolean | $child |
Definición en la línea 88 del archivo Xml.php.
{ foreach ($var as $key => $value) { if (!is_null($value)) { $tabs = ($child) ? $level + 2 : $level + 1; $xml.= Xml::marshal($value, $tabs, $key, (is_array($var))); } } return $xml; }
_tab | ( | $ | level | ) |
marshal | ( | $ | var = NULL , |
$ | level = 0 , |
||
$ | name = NULL , |
||
$ | child = false |
||
) |
Generates Xml data based on variable introspection.
public
mixed | $var | |
integer | $level | |
string | $name | |
boolean | $child |
Definición en la línea 20 del archivo Xml.php.
{ //automatically process if subclassed if (is_null($var)) { $xml = $this->marshal($this); } //build tags if (is_null($name)) { $open = $close = Xml::_processTags($var); } else if ($child) { $open = "value key='$name'"; $tags = Xml::_processTags($var); $close = 'value'; } else { $open = $close = $name; } //build xml if (is_object($var)) { $vars = get_object_vars($var); $xml.= Xml::_tab($level)."<$open>\n"; if ($child) { $xml.= Xml::_tab($level + 1)."<$tags>\n"; } //process each var in object $xml.= Xml::_processVar($var, $level, $child); if ($child) { $xml.= Xml::_tab($level + 1)."</$tags>\n"; } $xml.= Xml::_tab($level)."</$close>\n"; } else if (is_array($var)) { $xml.= Xml::_tab($level)."<$open>\n"; if ($child) { $xml.= Xml::_tab($level + 1)."<$tags>\n"; } //process each var in array $xml.= Xml::_processVar($var, $level, $child); if ($child) { $xml.= Xml::_tab($level + 1)."</$tags>\n"; } $xml.= Xml::_tab($level)."</$close>\n"; } else if (is_string($var)) { $xml.= Xml::_tab($level); $xml.= "<$open>".Xml::xmlentities($var)."</$close>\n"; } else if (is_bool($var)) { $xml.= Xml::_tab($level); $xml.= "<$open>".(($var) ? 'true' : 'false')."</$close>\n"; } else if (is_numeric($var)) { $xml.= Xml::_tab($level)."<$open>".strval($var)."</$close>\n"; } return $xml; }
transform | ( | $ | xml, |
$ | xsls, | ||
$ | params = array() |
||
) |
Transform a document from the supplied Xml data and Xsl stylesheet array (pipelining) optionally processing any runtime parameters to the transformer.
public
string | $xml | |
array | $xsls | |
array | $params |
Definición en la línea 149 del archivo Xml.php.
{ //automatically process if subclassed if (is_null($xml)) { $xml = $this->marshal($this); } $xslt = xslt_create(); //process each stylesheet in pipeline foreach ($xsls as $xsl) { //utilize previously processed Xml if available if (!is_null($result)) { $xml = $result; } //force the processor to accept an Xml string instead of a file $result = xslt_process($xslt, 'arg:/_xml', $xsl, NULL, array('/_xml' => $xml), $params); } xslt_free($xslt); return $result; }
xmlentities | ( | $ | xml, |
$ | utf8 = false |
||
) |
Converts all applicable characters to xml entities. This is similar to the htmlentities() php function.
public
string | $xml | |
boolean | $utf8 |
Definición en la línea 122 del archivo Xml.php.
{ //http://www.w3.org/TR/1998/REC-xml-19980210#sec-predefined-ent $entities = array( '<' => '<', '>' => '>', '`' => ''', '\"' => '"', '&' => '&', ); if (is_string($xml)) { if ($utf8) { $xml = utf8_encode($xml); } $xml = strtr($xml, $entities); } return $xml; }