public function toXml(XmlWriter $x) { $x->startElement('template'); $x->text($this->_template); $x->endElement(); $x->startElement('params'); foreach ($this->getVars() as $k => $v) { $x->startElement('param'); $x->writeAttribute('name', $k); $x->text($v); $x->endElement(); } $x->endElement(); }
public function writeValue($value) { if ($this->needsCdataWrapping($value)) { $this->cursor->writeCdata($value); } else { $this->cursor->text($value); } }
function toXml(XmlWriter $x, $writeEnvelope = true) { if ($writeEnvelope) { $x->startElement('http-request'); } $x->startElement('method'); $x->text($this->getMethod()); $x->endElement(); $x->startElement('url'); $x->text($this->getUrl()); $x->endElement(); $x->startElement('headers'); foreach ($this->getHeaders() as $k => $v) { $x->startElement('header'); $x->writeAttribute('name', $k); $x->text($v); $x->endElement(); } $x->endElement(); $x->startElement('params'); foreach ($this->getPostParams() as $k => $v) { $x->startElement('param'); $x->writeAttribute('name', $k); $x->text($v); $x->endElement(); } $x->endElement(); if (!$this->getPostParams() && $this->getBody()) { $x->startElement('body'); $x->writeCdata($this->getBody()); $x->endElement(); } if ($writeEnvelope) { $x->endElement(); } }
private function run($value, $name = null) { $this->startJSONxElement($value, $name); if ($this->isObjectLike($value)) { foreach ($value as $k => $v) { $this->run($v, $k); } } else { if (is_array($value)) { foreach ($value as $x) { $this->run($x); } } else { if (is_string($value) || is_numeric($value) || is_null($value)) { $this->writer->text($value); } else { if (is_bool($value)) { $this->writer->text($value ? 'true' : 'false'); } } } } $this->endJSONxElement(); }
public function executeXml(AgaviRequestDataHolder $request_data) { $report = $this->prepareReport($request_data); $xml = new XmlWriter(); $xml->openMemory(); $xml->setIndent(true); $xml->startDocument('1.0', 'UTF-8'); $xml->startElement('application'); $xml->writeAttribute('name', $report['application']); $xml->startElement('status'); $xml->text($report['status']); $xml->endElement(); $connections = $report['connections']; $xml->startElement('connections'); foreach ($connections['stats'] as $name => $value) { $xml->writeAttribute($name, $value); } $xml->writeElement('status', $connections['status']); $xml->startElement('stats'); foreach ($connections['stats'] as $name => $value) { $xml->writeElement($name, $value); } $xml->endElement(); // connections/stats foreach ($connections['details'] as $name => $value) { $xml->startElement('connection'); $xml->writeAttribute('name', $name); if (is_array($value)) { $this->array2xml($value, $xml); } else { $xml->writeCData((string) $value); } $xml->endElement(); } $xml->endElement(); // connections $xml->endElement(); // application $xml->endDocument(); return $xml->outputMemory(); }
public function html($mysqli_stmt) { $xml = new XmlWriter(); $xml->openMemory(); $xml->setIndent(true); $xml->setIndentString("\t"); $xml->startElement('table'); $xml->writeAttribute('class', $this->tbl_class); $xml->startElement('thead'); $xml->startElement('tr'); ////////////////////////////////// // Column Headers ///////////////////////////////// $cntcol = count($this->col_classes); $altcol = 0; foreach (array_keys($this->cols) as $th) { $xml->startElement('th'); $xml->writeAttribute('scope', 'col'); if ($this->col_classes[$altcol] != "") { $xml->writeAttribute('class', $this->col_classes[$altcol]); } $altcol = ++$altcol % $cntcol; if (substr($th, 0, 2) == "__") { $xml->text(''); } else { //Sorting $dir = "A"; if (isset($_GET["sn"]) && $_GET["sn"] == $th && $_GET["sd"] == "A") { $dir = "D"; } $xml->startElement('a'); $xml->startAttribute('href'); $xml->writeRaw(quickgrid::get_href(["sn" => $th, "sd" => $dir, "p" => 1])); $xml->endAttribute(); $xml->text($th); $xml->endElement(); //a } $xml->endElement(); //th } $xml->endElement(); //tr $xml->endElement(); //thead $xml->startElement('tfoot'); $xml->startElement('tr'); $xml->startElement('td'); $xml->writeAttribute('colspan', count($this->cols)); ////////////////////////////////// // Pager ///////////////////////////////// $last = ceil($this->row_count / $this->per_page); $length = 8; $lbound = $this->cur_page - $length / 2; $ubound = $this->cur_page + $length / 2; if ($lbound < 1) { $lbound = 1; } if ($ubound > $last) { $ubound = $last; } if ($this->cur_page != 1) { $xml->startElement('a'); $xml->startAttribute('href'); $xml->writeRaw(quickgrid::get_href(["p" => $this->cur_page - 1])); $xml->endAttribute(); $xml->text("<"); $xml->endElement(); //a } for ($i = $lbound; $i <= $ubound; $i++) { if ($i != $this->cur_page) { $xml->startElement('a'); $xml->startAttribute('href'); $xml->writeRaw(quickgrid::get_href(["p" => $i])); $xml->endAttribute(); $xml->text("{$i}"); $xml->endElement(); //a } else { $xml->startElement('span'); $xml->text("{$i}"); $xml->endElement(); //span } } if ($this->cur_page != $last) { $xml->startElement('a'); $xml->startAttribute('href'); $xml->writeRaw(quickgrid::get_href(["p" => $this->cur_page + 1])); $xml->endAttribute(); $xml->text(">"); $xml->endElement(); //a } $xml->endElement(); //td $xml->endElement(); //tr $xml->endElement(); //tfoot $xml->startElement('tbody'); ////////////////////////////////// // Table Data ///////////////////////////////// $cntrow = count($this->row_classes); $altrow = 0; $cntcol = count($this->col_classes); $altcol = 0; $result = $mysqli_stmt->get_result(); while ($row = $result->fetch_assoc()) { $xml->startElement('tr'); if ($this->row_classes[$altrow] != "") { $xml->writeAttribute('class', $this->row_classes[$altrow]); } $altrow = ++$altrow % $cntrow; foreach (array_keys($this->cols) as $th) { $xml->startElement('td'); if ($this->col_classes[$altcol] != "") { $xml->writeAttribute('class', $this->col_classes[$altcol]); } $altcol = ++$altcol % $cntcol; if (isset($this->td_formats[$th]) && is_callable($this->td_formats[$th])) { $tmp = $this->td_formats[$th]; $xml->writeRaw(call_user_func($tmp, $row)); } else { $td = $this->cols[$th]; if (isset($row[$td])) { $xml->text($row[$td]); } else { $xml->text(''); } } $xml->endElement(); //td } $xml->endElement(); //tr } $xml->endElement(); //tbody $xml->endElement(); //table return $xml->outputMemory(); }
/** * Generates a key attribute with $key as the value, if $key is not null * * @param \XmlWriter $writer * @param string|null $key */ protected function generateKeyAttribute(\XmlWriter $writer, $key = null) { if ($key !== null) { $writer->startAttribute('key'); $writer->text($key); $writer->endAttribute(); } }
/** * Function builds OpenPayU Xml Document * @access public * @param string $data * @param string $rootElement * @param string $version * @param string $encoding * @param string $rootElementXsi * @return string $xml */ public static function buildXmlFromArray($data, $rootElement, $version = '1.0', $encoding = 'UTF-8', $rootElementXsi = null) { if (!is_array($data)) { return null; } $xml = new XmlWriter(); $xml->openMemory(); $xml->setIndent(true); $xml->startDocument($version, $encoding); $xml->startElementNS(null, 'OpenPayU', 'http://www.openpayu.com/20/openpayu.xsd'); $xml->startElement($rootElement); if (!empty($rootElementXsi)) { $xml->startAttributeNs('xsi', 'type', 'http://www.w3.org/2001/XMLSchema-instance'); $xml->text($rootElementXsi); $xml->endAttribute(); } self::convertArrayToXml($xml, $data); $xml->endElement(); $xml->endElement(); $xml->endDocument(); return trim($xml->outputMemory(true)); }
/** * Indexes the document $document using definition $definition * * @param ezcSearchDocumentDefinition $definition * @param mixed $document */ public function index(ezcSearchDocumentDefinition $definition, $document) { $xml = new XmlWriter(); $xml->openMemory(); $xml->startElement('add'); $xml->startElement('doc'); $xml->startElement('field'); $xml->writeAttribute('name', 'ezcsearch_type_s'); $xml->text($definition->documentType); $xml->endElement(); $xml->startElement('field'); $xml->writeAttribute('name', 'id'); $xml->text($document[$definition->idProperty]); $xml->endElement(); foreach ($definition->fields as $field) { $value = $this->mapFieldValuesForIndex($field, $document[$field->field]); foreach ($value as $fieldValue) { $xml->startElement('field'); $xml->writeAttribute('name', $this->mapFieldType($field->field, $field->type)); $xml->text($fieldValue); $xml->endElement(); } } $xml->endElement(); $xml->endElement(); $doc = $xml->outputMemory(true); $r = $this->sendRawPostCommand('update', array('wt' => 'json'), $doc); if ($this->inTransaction == 0) { $this->runCommit(); } }
/** * Create document(s) update XML * * @param array $documents * * @return string */ protected function createUpdates(array $documents) { $xml = new \XmlWriter(); $xml->openMemory(); $xml->startElement('add'); foreach ($documents as $document) { $xml->startElement('doc'); foreach ($document as $field) { foreach ((array) $this->fieldValueMapper->map($field) as $value) { $xml->startElement('field'); $xml->writeAttribute('name', $this->nameGenerator->getTypedName($field->name, $field->type)); $xml->text($value); $xml->endElement(); } } $xml->endElement(); } $xml->endElement(); return $xml->outputMemory(true); }
/** * Generates the atom XML properties. * * @param \XmlWriter $xmlw The XML writer. * @param array $properties The atom properties. * * @return none */ private function _generateProperties($xmlw, $properties) { foreach ($properties as $key => $value) { $content = key($value); $attributes = $value[$content]; $xmlw->startElementNS($this->_dataServicesPrefix, $key, null); if (!is_null($attributes)) { foreach ($attributes as $attribute => $attributeValue) { $xmlw->writeAttributeNS($this->_dataServicesMetadataPrefix, $attribute, null, $attributeValue); } } $xmlw->text($content); $xmlw->endElement(); } }
function toXml(XmlWriter $x) { $x->startElement('url'); $x->startElement('method'); $x->text($this->getMethod()); $x->endElement(); $x->startElement('scheme'); $x->text($this->getScheme()); $x->endElement(); $x->startElement('base_url'); $x->text($this->getBaseUrl(true)); $x->endElement(); $x->startElement('path_info'); $x->text($this->getPathInfo()); $x->endElement(); $x->startElement('host'); $x->text($this->getHttpHost()); $x->endElement(); $x->startElement('remote_addr'); $x->text($this->getClientIp(false)); $x->endElement(); $x->endElement(); $x->startElement('params'); foreach ($this->getRequestOnlyParams() as $k => $v) { $x->startElement('param'); $x->writeAttribute('name', $k); if (is_array($v) || is_object($v)) { $v = json_encode($v); $x->writeAttribute("serialized", "json"); $x->writeCdata($v); } else { $x->text($v); } $x->endElement(); } $x->endElement(); }