cvs: pear /XML_Util Util.php /XML_Util/examples example.php example2.php
[email protected] ("Chuck Burgess") Sun, 04 May 2008 23:35:05 -0000
| Newsgroups | php.pear.cvs |
|---|---|
| Message-ID | <cvsashnazg1209944105@cvsserver> |
ashnazg Sun May 4 23:35:05 2008 UTC
Modified files:
/pear/XML_Util Util.php
/pear/XML_Util/examples example.php example2.php
Log:
PEAR CS cleanup
ashnazg-20080504233505.txt
(text/plain, 60.5 KB)
http://cvs.php.net/viewvc.cgi/pear/XML_Util/Util.php?r1=1.31&r2=1.32&diff_format=u Index: pear/XML_Util/Util.php diff -u pear/XML_Util/Util.php:1.31 pear/XML_Util/Util.php:1.32 --- pear/XML_Util/Util.php:1.31 Sun May 4 22:24:17 2008 +++ pear/XML_Util/Util.php Sun May 4 23:35:05 2008 @@ -37,6 +37,14 @@ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * @category XML + * @package XML_Util + * @author Stephan Schmidt <[email protected]> + * @copyright 2003-2008 Stephan Schmidt <[email protected]> + * @license http://opensource.org/licenses/bsd-license New BSD License + * @version CVS: $Id: Util.php,v 1.32 2008/05/04 23:35:05 ashnazg Exp $ + * @link http://pear.php.net/package/XML_Util */ /** @@ -88,7 +96,7 @@ /** * replace HTML entitites - * @link http://www.php.net/htmlentities + * @link http://www.php.net/htmlentities */ define("XML_UTIL_ENTITIES_HTML", 3); @@ -105,137 +113,153 @@ /** * utility class for working with XML documents * - * @category XML - * @package XML_Util - * @version 1.1.0 - * @author Stephan Schmidt <[email protected]> - */ -class XML_Util { - - /** - * return API version - * - * @access public - * @static - * @return string $version API version - */ + + * @category XML + * @package XML_Util + * @author Stephan Schmidt <[email protected]> + * @copyright 2003-2008 Stephan Schmidt <[email protected]> + * @license http://opensource.org/licenses/bsd-license New BSD License + * @version Release: 1.1.0 + * @link http://pear.php.net/package/XML_Util + */ +class XML_Util +{ + /** + * return API version + * + * @return string $version API version + * @access public + * @static + */ function apiVersion() { return '1.1'; } - /** - * replace XML entities - * - * With the optional second parameter, you may select, which - * entities should be replaced. - * - * <code> - * require_once 'XML/Util.php'; - * - * // replace XML entites: - * $string = XML_Util::replaceEntities("This string contains < & >."); - * </code> - * - * @access public - * @static - * @param string string where XML special chars should be replaced - * @param integer setting for entities in attribute values (one of XML_UTIL_ENTITIES_XML, XML_UTIL_ENTITIES_XML_REQUIRED, XML_UTIL_ENTITIES_HTML) - * @return string string with replaced chars - * @see reverseEntities() - */ + /** + * replace XML entities + * + * With the optional second parameter, you may select, which + * entities should be replaced. + * + * <code> + * require_once 'XML/Util.php'; + * + * // replace XML entites: + * $string = XML_Util::replaceEntities("This string contains < & >."); + * </code> + * + * @param string $string string where XML special chars + * should be replaced + * @param int $replaceEntities setting for entities in attribute values + * (one of XML_UTIL_ENTITIES_XML, + * XML_UTIL_ENTITIES_XML_REQUIRED, + * XML_UTIL_ENTITIES_HTML) + * + * @return string string with replaced chars + * @access public + * @static + * @see reverseEntities() + */ function replaceEntities($string, $replaceEntities = XML_UTIL_ENTITIES_XML) { switch ($replaceEntities) { - case XML_UTIL_ENTITIES_XML: - return strtr($string,array( - '&' => '&', - '>' => '>', - '<' => '<', - '"' => '"', - '\'' => ''' )); - break; - case XML_UTIL_ENTITIES_XML_REQUIRED: - return strtr($string,array( - '&' => '&', - '<' => '<', - '"' => '"' )); - break; - case XML_UTIL_ENTITIES_HTML: - return htmlentities($string); - break; + case XML_UTIL_ENTITIES_XML: + return strtr($string, array( + '&' => '&', + '>' => '>', + '<' => '<', + '"' => '"', + '\'' => ''' )); + break; + case XML_UTIL_ENTITIES_XML_REQUIRED: + return strtr($string, array( + '&' => '&', + '<' => '<', + '"' => '"' )); + break; + case XML_UTIL_ENTITIES_HTML: + return htmlentities($string); + break; } return $string; } - /** - * reverse XML entities - * - * With the optional second parameter, you may select, which - * entities should be reversed. - * - * <code> - * require_once 'XML/Util.php'; - * - * // reverse XML entites: - * $string = XML_Util::reverseEntities("This string contains < & >."); - * </code> - * - * @access public - * @static - * @param string string where XML special chars should be replaced - * @param integer setting for entities in attribute values (one of XML_UTIL_ENTITIES_XML, XML_UTIL_ENTITIES_XML_REQUIRED, XML_UTIL_ENTITIES_HTML) - * @return string string with replaced chars - * @see replaceEntities() - */ + /** + * reverse XML entities + * + * With the optional second parameter, you may select, which + * entities should be reversed. + * + * <code> + * require_once 'XML/Util.php'; + * + * // reverse XML entites: + * $string = XML_Util::reverseEntities("This string contains < & >."); + * </code> + * + * @param string $string string where XML special chars + * should be replaced + * @param int $replaceEntities setting for entities in attribute values + * (one of XML_UTIL_ENTITIES_XML, + * XML_UTIL_ENTITIES_XML_REQUIRED, + * XML_UTIL_ENTITIES_HTML) + * + * @return string string with replaced chars + * @access public + * @static + * @see replaceEntities() + */ function reverseEntities($string, $replaceEntities = XML_UTIL_ENTITIES_XML) { switch ($replaceEntities) { - case XML_UTIL_ENTITIES_XML: - return strtr($string,array( - '&' => '&', - '>' => '>', - '<' => '<', - '"' => '"', - ''' => '\'' )); - break; - case XML_UTIL_ENTITIES_XML_REQUIRED: - return strtr($string,array( - '&' => '&', - '<' => '<', - '"' => '"' )); - break; - case XML_UTIL_ENTITIES_HTML: - $arr = array_flip(get_html_translation_table(HTML_ENTITIES)); - return strtr($string, $arr); - break; + case XML_UTIL_ENTITIES_XML: + return strtr($string, array( + '&' => '&', + '>' => '>', + '<' => '<', + '"' => '"', + ''' => '\'' )); + break; + case XML_UTIL_ENTITIES_XML_REQUIRED: + return strtr($string, array( + '&' => '&', + '<' => '<', + '"' => '"' )); + break; + case XML_UTIL_ENTITIES_HTML: + $arr = array_flip(get_html_translation_table(HTML_ENTITIES)); + return strtr($string, $arr); + break; } return $string; } - /** - * build an xml declaration - * - * <code> - * require_once 'XML/Util.php'; - * - * // get an XML declaration: - * $xmlDecl = XML_Util::getXMLDeclaration("1.0", "UTF-8", true); - * </code> - * - * @access public - * @static - * @param string $version xml version - * @param string $encoding character encoding - * @param boolean $standAlone document is standalone (or not) - * @return string $decl xml declaration - * @uses XML_Util::attributesToString() to serialize the attributes of the XML declaration - */ - function getXMLDeclaration($version = "1.0", $encoding = null, $standalone = null) + /** + * build an xml declaration + * + * <code> + * require_once 'XML/Util.php'; + * + * // get an XML declaration: + * $xmlDecl = XML_Util::getXMLDeclaration("1.0", "UTF-8", true); + * </code> + * + * @param string $version xml version + * @param string $encoding character encoding + * @param bool $standalone document is standalone (or not) + * + * @return string xml declaration + * @access public + * @static + * @uses attributesToString() to serialize the attributes of the XML declaration + */ + function getXMLDeclaration($version = "1.0", $encoding = null, + $standalone = null) { $attributes = array( - "version" => $version, - ); + "version" => $version, + ); // add encoding if ($encoding !== null) { $attributes["encoding"] = $encoding; @@ -245,33 +269,36 @@ $attributes["standalone"] = $standalone ? "yes" : "no"; } - return sprintf("<?xml%s?>", XML_Util::attributesToString($attributes, false)); + return sprintf("<?xml%s?>", + XML_Util::attributesToString($attributes, false)); } - /** - * build a document type declaration - * - * <code> - * require_once 'XML/Util.php'; - * - * // get a doctype declaration: - * $xmlDecl = XML_Util::getDocTypeDeclaration("rootTag","myDocType.dtd"); - * </code> - * - * @access public - * @static - * @param string $root name of the root tag - * @param string $uri uri of the doctype definition (or array with uri and public id) - * @param string $internalDtd internal dtd entries - * @return string $decl doctype declaration - * @since 0.2 - */ + /** + * build a document type declaration + * + * <code> + * require_once 'XML/Util.php'; + * + * // get a doctype declaration: + * $xmlDecl = XML_Util::getDocTypeDeclaration("rootTag","myDocType.dtd"); + * </code> + * + * @param string $root name of the root tag + * @param string $uri uri of the doctype definition + * (or array with uri and public id) + * @param string $internalDtd internal dtd entries + * + * @return string doctype declaration + * @access public + * @static + * @since 0.2 + */ function getDocTypeDeclaration($root, $uri = null, $internalDtd = null) { if (is_array($uri)) { - $ref = sprintf( ' PUBLIC "%s" "%s"', $uri["id"], $uri["uri"] ); + $ref = sprintf(' PUBLIC "%s" "%s"', $uri["id"], $uri["uri"]); } elseif (!empty($uri)) { - $ref = sprintf( ' SYSTEM "%s"', $uri ); + $ref = sprintf(' SYSTEM "%s"', $uri); } else { $ref = ""; } @@ -283,36 +310,48 @@ } } - /** - * create string representation of an attribute list - * - * <code> - * require_once 'XML/Util.php'; - * - * // build an attribute string - * $att = array( - * "foo" => "bar", - * "argh" => "tomato" - * ); - * - * $attList = XML_Util::attributesToString($att); - * </code> - * - * @access public - * @static - * @param array $attributes attribute array - * @param boolean|array $sort sort attribute list alphabetically, may also be an assoc array containing the keys 'sort', 'multiline', 'indent', 'linebreak' and 'entities' - * @param boolean $multiline use linebreaks, if more than one attribute is given - * @param string $indent string used for indentation of multiline attributes - * @param string $linebreak string used for linebreaks of multiline attributes - * @param integer $entities setting for entities in attribute values (one of XML_UTIL_ENTITIES_NONE, XML_UTIL_ENTITIES_XML, XML_UTIL_ENTITIES_XML_REQUIRED, XML_UTIL_ENTITIES_HTML) - * @return string string representation of the attributes - * @uses XML_Util::replaceEntities() to replace XML entities in attribute values - * @todo allow sort also to be an options array - */ - function attributesToString($attributes, $sort = true, $multiline = false, $indent = ' ', $linebreak = "\n", $entities = XML_UTIL_ENTITIES_XML) + /** + * create string representation of an attribute list + * + * <code> + * require_once 'XML/Util.php'; + * + * // build an attribute string + * $att = array( + * "foo" => "bar", + * "argh" => "tomato" + * ); + * + * $attList = XML_Util::attributesToString($att); + * </code> + * + * @param array $attributes attribute array + * @param bool|array $sort sort attribute list alphabetically, + * may also be an assoc array containing + * the keys 'sort', 'multiline', 'indent', + * 'linebreak' and 'entities' + * @param bool $multiline use linebreaks, if more than + * one attribute is given + * @param string $indent string used for indentation of + * multiline attributes + * @param string $linebreak string used for linebreaks of + * multiline attributes + * @param int $entities setting for entities in attribute values + * (one of XML_UTIL_ENTITIES_NONE, + * XML_UTIL_ENTITIES_XML, + * XML_UTIL_ENTITIES_XML_REQUIRED, + * XML_UTIL_ENTITIES_HTML) + * + * @return string string representation of the attributes + * @access public + * @static + * @uses replaceEntities() to replace XML entities in attribute values + * @todo allow sort also to be an options array + */ + function attributesToString($attributes, $sort = true, $multiline = false, + $indent = ' ', $linebreak = "\n", $entities = XML_UTIL_ENTITIES_XML) { - /** + /* * second parameter may be an array */ if (is_array($sort)) { @@ -339,15 +378,15 @@ if ($sort) { ksort($attributes); } - if( !$multiline || count($attributes) == 1) { + if ( !$multiline || count($attributes) == 1) { foreach ($attributes as $key => $value) { if ($entities != XML_UTIL_ENTITIES_NONE) { if ($entities === XML_UTIL_CDATA_SECTION) { - $entities = XML_UTIL_ENTITIES_XML; + $entities = XML_UTIL_ENTITIES_XML; } $value = XML_Util::replaceEntities($value, $entities); } - $string .= ' '.$key.'="'.$value.'"'; + $string .= ' ' . $key . '="' . $value . '"'; } } else { $first = true; @@ -356,10 +395,10 @@ $value = XML_Util::replaceEntities($value, $entities); } if ($first) { - $string .= " ".$key.'="'.$value.'"'; - $first = false; + $string .= " " . $key . '="' . $value . '"'; + $first = false; } else { - $string .= $linebreak.$indent.$key.'="'.$value.'"'; + $string .= $linebreak . $indent . $key . '="' . $value . '"'; } } } @@ -367,65 +406,77 @@ return $string; } - /** - * Collapses empty tags. - * - * @access public - * @static - * @param string $xml XML - * @param integer $mode Whether to collapse all empty tags (XML_UTIL_COLLAPSE_ALL) or only XHTML (XML_UTIL_COLLAPSE_XHTML_ONLY) ones. - * @return string $xml XML - */ - function collapseEmptyTags($xml, $mode = XML_UTIL_COLLAPSE_ALL) { + /** + * Collapses empty tags. + * + * @param string $xml XML + * @param int $mode Whether to collapse all empty tags (XML_UTIL_COLLAPSE_ALL) + * or only XHTML (XML_UTIL_COLLAPSE_XHTML_ONLY) ones. + * + * @return string XML + * @access public + * @static + * @todo PEAR CS - unable to avoid "space after open parens" error + * in the IF branch + */ + function collapseEmptyTags($xml, $mode = XML_UTIL_COLLAPSE_ALL) + { if ($mode == XML_UTIL_COLLAPSE_XHTML_ONLY) { return preg_replace( - '/<(area|base|br|col|hr|img|input|link|meta|param)([^>]*)><\/\\1>/s', - '<\\1\\2 />', - $xml - ); + '/<(area|base|br|col|hr|img|input|link|meta|param)([^>]*)><\/\\1>/s', + '<\\1\\2 />', + $xml); } else { - return preg_replace( - '/<(\w+)([^>]*)><\/\\1>/s', - '<\\1\\2 />', - $xml - ); + return preg_replace('/<(\w+)([^>]*)><\/\\1>/s', '<\\1\\2 />', $xml); } } - /** - * create a tag - * - * This method will call XML_Util::createTagFromArray(), which - * is more flexible. - * - * <code> - * require_once 'XML/Util.php'; - * - * // create an XML tag: - * $tag = XML_Util::createTag("myNs:myTag", array("foo" => "bar"), "This is inside the tag", "http://www.w3c.org/myNs#"); - * </code> - * - * @access public - * @static - * @param string $qname qualified tagname (including namespace) - * @param array $attributes array containg attributes - * @param mixed $content - * @param string $namespaceUri URI of the namespace - * @param integer $replaceEntities whether to replace XML special chars in content, embedd it in a CData section or none of both - * @param boolean $multiline whether to create a multiline tag where each attribute gets written to a single line - * @param string $indent string used to indent attributes (_auto indents attributes so they start at the same column) - * @param string $linebreak string used for linebreaks - * @param boolean $sortAttributes Whether to sort the attributes or not - * @return string $string XML tag - * @see XML_Util::createTagFromArray() - * @uses XML_Util::createTagFromArray() to create the tag - */ - function createTag($qname, $attributes = array(), $content = null, $namespaceUri = null, $replaceEntities = XML_UTIL_REPLACE_ENTITIES, $multiline = false, $indent = "_auto", $linebreak = "\n", $sortAttributes = true) + /** + * create a tag + * + * This method will call XML_Util::createTagFromArray(), which + * is more flexible. + * + * <code> + * require_once 'XML/Util.php'; + * + * // create an XML tag: + * $tag = XML_Util::createTag("myNs:myTag", + * array("foo" => "bar"), + * "This is inside the tag", + * "http://www.w3c.org/myNs#"); + * </code> + * + * @param string $qname qualified tagname (including namespace) + * @param array $attributes array containg attributes + * @param mixed $content the content + * @param string $namespaceUri URI of the namespace + * @param int $replaceEntities whether to replace XML special chars in + * content, embedd it in a CData section + * or none of both + * @param bool $multiline whether to create a multiline tag where + * each attribute gets written to a single line + * @param string $indent string used to indent attributes + * (_auto indents attributes so they start + * at the same column) + * @param string $linebreak string used for linebreaks + * @param bool $sortAttributes Whether to sort the attributes or not + * + * @return string XML tag + * @access public + * @static + * @see createTagFromArray() + * @uses createTagFromArray() to create the tag + */ + function createTag($qname, $attributes = array(), $content = null, + $namespaceUri = null, $replaceEntities = XML_UTIL_REPLACE_ENTITIES, + $multiline = false, $indent = "_auto", $linebreak = "\n", + $sortAttributes = true) { $tag = array( - "qname" => $qname, - "attributes" => $attributes - ); + "qname" => $qname, + "attributes" => $attributes + ); // add tag content if ($content !== null) { @@ -437,57 +488,82 @@ $tag["namespaceUri"] = $namespaceUri; } - return XML_Util::createTagFromArray($tag, $replaceEntities, $multiline, $indent, $linebreak, $sortAttributes); + return XML_Util::createTagFromArray($tag, $replaceEntities, $multiline, + $indent, $linebreak, $sortAttributes); } - /** - * create a tag from an array - * this method awaits an array in the following format - * <pre> - * array( - * "qname" => $qname // qualified name of the tag - * "namespace" => $namespace // namespace prefix (optional, if qname is specified or no namespace) - * "localpart" => $localpart, // local part of the tagname (optional, if qname is specified) - * "attributes" => array(), // array containing all attributes (optional) - * "content" => $content, // tag content (optional) - * "namespaceUri" => $namespaceUri // namespaceUri for the given namespace (optional) - * ) - * </pre> - * - * <code> - * require_once 'XML/Util.php'; - * - * $tag = array( - * "qname" => "foo:bar", - * "namespaceUri" => "http://foo.com", - * "attributes" => array( "key" => "value", "argh" => "fruit&vegetable" ), - * "content" => "I'm inside the tag", - * ); - * // creating a tag with qualified name and namespaceUri - * $string = XML_Util::createTagFromArray($tag); - * </code> - * - * @access public - * @static - * @param array $tag tag definition - * @param integer $replaceEntities whether to replace XML special chars in content, embedd it in a CData section or none of both - * @param boolean $multiline whether to create a multiline tag where each attribute gets written to a single line - * @param string $indent string used to indent attributes (_auto indents attributes so they start at the same column) - * @param string $linebreak string used for linebreaks - * @param boolean $sortAttributes Whether to sort the attributes or not - * @return string $string XML tag - * @see XML_Util::createTag() - * @uses XML_Util::attributesToString() to serialize the attributes of the tag - * @uses XML_Util::splitQualifiedName() to get local part and namespace of a qualified name - */ - function createTagFromArray($tag, $replaceEntities = XML_UTIL_REPLACE_ENTITIES, $multiline = false, $indent = "_auto", $linebreak = "\n", $sortAttributes = true) + /** + * create a tag from an array + * this method awaits an array in the following format + * <pre> + * array( + * // qualified name of the tag + * "qname" => $qname + * + * // namespace prefix (optional, if qname is specified or no namespace) + * "namespace" => $namespace + * + * // local part of the tagname (optional, if qname is specified) + * "localpart" => $localpart, + * + * // array containing all attributes (optional) + * "attributes" => array(), + * + * // tag content (optional) + * "content" => $content, + * + * // namespaceUri for the given namespace (optional) + * "namespaceUri" => $namespaceUri + * ) + * </pre> + * + * <code> + * require_once 'XML/Util.php'; + * + * $tag = array( + * "qname" => "foo:bar", + * "namespaceUri" => "http://foo.com", + * "attributes" => array("key" => "value", "argh" => "fruit&vegetable"), + * "content" => "I'm inside the tag", + * ); + * // creating a tag with qualified name and namespaceUri + * $string = XML_Util::createTagFromArray($tag); + * </code> + * + * @param array $tag tag definition + * @param int $replaceEntities whether to replace XML special chars in + * content, embedd it in a CData section + * or none of both + * @param bool $multiline whether to create a multiline tag where each + * attribute gets written to a single line + * @param string $indent string used to indent attributes + * (_auto indents attributes so they start + * at the same column) + * @param string $linebreak string used for linebreaks + * @param bool $sortAttributes Whether to sort the attributes or not + * + * @return string XML tag + * @access public + * @static + * @see createTag() + * @uses attributesToString() to serialize the attributes of the tag + * @uses splitQualifiedName() to get local part and namespace of a qualified name + * @uses createCDataSection() + * @uses raiseError() + */ + function createTagFromArray($tag, $replaceEntities = XML_UTIL_REPLACE_ENTITIES, + $multiline = false, $indent = "_auto", $linebreak = "\n", + $sortAttributes = true) { if (isset($tag['content']) && !is_scalar($tag['content'])) { - return XML_Util::raiseError( 'Supplied non-scalar value as tag content', XML_UTIL_ERROR_NON_SCALAR_CONTENT ); + return XML_Util::raiseError('Supplied non-scalar value as tag content', + XML_UTIL_ERROR_NON_SCALAR_CONTENT); } if (!isset($tag['qname']) && !isset($tag['localPart'])) { - return XML_Util::raiseError( 'You must either supply a qualified name (qname) or local tag name (localPart).', XML_UTIL_ERROR_NO_TAG_NAME ); + return XML_Util::raiseError('You must either supply a qualified name ' + . '(qname) or local tag name (localPart).', + XML_UTIL_ERROR_NO_TAG_NAME); } // if no attributes hav been set, use empty attributes @@ -496,22 +572,25 @@ } if (isset($tag['namespaces'])) { - foreach ($tag['namespaces'] as $ns => $uri) { - $tag['attributes']['xmlns:'.$ns] = $uri; - } + foreach ($tag['namespaces'] as $ns => $uri) { + $tag['attributes']['xmlns:' . $ns] = $uri; + } } - // qualified name is not given if (!isset($tag["qname"])) { + // qualified name is not given + // check for namespace if (isset($tag["namespace"]) && !empty($tag["namespace"])) { - $tag["qname"] = $tag["namespace"].":".$tag["localPart"]; + $tag["qname"] = $tag["namespace"] . ":" . $tag["localPart"]; } else { $tag["qname"] = $tag["localPart"]; } - // namespace URI is set, but no namespace } elseif (isset($tag["namespaceUri"]) && !isset($tag["namespace"])) { + // namespace URI is set, but no namespace + $parts = XML_Util::splitQualifiedName($tag["qname"]); + $tag["localPart"] = $parts["localPart"]; if (isset($parts["namespace"])) { $tag["namespace"] = $parts["namespace"]; @@ -521,7 +600,8 @@ if (isset($tag["namespaceUri"]) && !empty($tag["namespaceUri"])) { // is a namespace given if (isset($tag["namespace"]) && !empty($tag["namespace"])) { - $tag["attributes"]["xmlns:".$tag["namespace"]] = $tag["namespaceUri"]; + $tag["attributes"]["xmlns:" . $tag["namespace"]] = + $tag["namespaceUri"]; } else { // define this Uri as the default namespace $tag["attributes"]["xmlns"] = $tag["namespaceUri"]; @@ -536,48 +616,57 @@ } // create attribute list - $attList = XML_Util::attributesToString($tag['attributes'], $sortAttributes, $multiline, $indent, $linebreak, $replaceEntities ); + $attList = XML_Util::attributesToString($tag['attributes'], + $sortAttributes, $multiline, $indent, $linebreak, $replaceEntities); if (!isset($tag['content']) || (string)$tag['content'] == '') { - $tag = sprintf('<%s%s />', $tag['qname'], $attList); + $tag = sprintf('<%s%s />', $tag['qname'], $attList); } else { switch ($replaceEntities) { - case XML_UTIL_ENTITIES_NONE: - break; - case XML_UTIL_CDATA_SECTION: - $tag['content'] = XML_Util::createCDataSection($tag['content']); - break; - default: - $tag['content'] = XML_Util::replaceEntities($tag['content'], $replaceEntities); - break; - } - $tag = sprintf('<%s%s>%s</%s>', $tag['qname'], $attList, $tag['content'], $tag['qname'] ); - } - return $tag; - } - - /** - * create a start element - * - * <code> - * require_once 'XML/Util.php'; - * - * // create an XML start element: - * $tag = XML_Util::createStartElement("myNs:myTag", array("foo" => "bar") ,"http://www.w3c.org/myNs#"); - * </code> - * - * @access public - * @static - * @param string $qname qualified tagname (including namespace) - * @param array $attributes array containg attributes - * @param string $namespaceUri URI of the namespace - * @param boolean $multiline whether to create a multiline tag where each attribute gets written to a single line - * @param string $indent string used to indent attributes (_auto indents attributes so they start at the same column) - * @param string $linebreak string used for linebreaks - * @param boolean $sortAttributes Whether to sort the attributes or not - * @return string $string XML start element - * @see XML_Util::createEndElement(), XML_Util::createTag() - */ - function createStartElement($qname, $attributes = array(), $namespaceUri = null, $multiline = false, $indent = '_auto', $linebreak = "\n", $sortAttributes = true) + case XML_UTIL_ENTITIES_NONE: + break; + case XML_UTIL_CDATA_SECTION: + $tag['content'] = XML_Util::createCDataSection($tag['content']); + break; + default: + $tag['content'] = XML_Util::replaceEntities($tag['content'], + $replaceEntities); + break; + } + $tag = sprintf('<%s%s>%s</%s>', $tag['qname'], $attList, $tag['content'], + $tag['qname']); + } + return $tag; + } + + /** + * create a start element + * + * <code> + * require_once 'XML/Util.php'; + * + * // create an XML start element: + * $tag = XML_Util::createStartElement("myNs:myTag", + * array("foo" => "bar") ,"http://www.w3c.org/myNs#"); + * </code> + * + * @param string $qname qualified tagname (including namespace) + * @param array $attributes array containg attributes + * @param string $namespaceUri URI of the namespace + * @param bool $multiline whether to create a multiline tag where each + * attribute gets written to a single line + * @param string $indent string used to indent attributes (_auto indents + * attributes so they start at the same column) + * @param string $linebreak string used for linebreaks + * @param bool $sortAttributes Whether to sort the attributes or not + * + * @return string XML start element + * @access public + * @static + * @see createEndElement(), createTag() + */ + function createStartElement($qname, $attributes = array(), $namespaceUri = null, + $multiline = false, $indent = '_auto', $linebreak = "\n", + $sortAttributes = true) { // if no attributes hav been set, use empty attributes if (!isset($attributes) || !is_array($attributes)) { @@ -598,7 +687,7 @@ if ($namespaceUri != null) { // is a namespace given if (isset($parts["namespace"]) && !empty($parts["namespace"])) { - $attributes["xmlns:".$parts["namespace"]] = $namespaceUri; + $attributes["xmlns:" . $parts["namespace"]] = $namespaceUri; } else { // define this Uri as the default namespace $attributes["xmlns"] = $namespaceUri; @@ -606,165 +695,179 @@ } // create attribute list - $attList = XML_Util::attributesToString($attributes, $sortAttributes, $multiline, $indent, $linebreak); - $element = sprintf("<%s%s>", $qname, $attList); + $attList = XML_Util::attributesToString($attributes, $sortAttributes, + $multiline, $indent, $linebreak); + $element = sprintf("<%s%s>", $qname, $attList); return $element; } - /** - * create an end element - * - * <code> - * require_once 'XML/Util.php'; - * - * // create an XML start element: - * $tag = XML_Util::createEndElement("myNs:myTag"); - * </code> - * - * @access public - * @static - * @param string $qname qualified tagname (including namespace) - * @return string $string XML end element - * @see XML_Util::createStartElement(), XML_Util::createTag() - */ + /** + * create an end element + * + * <code> + * require_once 'XML/Util.php'; + * + * // create an XML start element: + * $tag = XML_Util::createEndElement("myNs:myTag"); + * </code> + * + * @param string $qname qualified tagname (including namespace) + * + * @return string XML end element + * @access public + * @static + * @see createStartElement(), createTag() + */ function createEndElement($qname) { - $element = sprintf("</%s>", $qname); - return $element; + $element = sprintf("</%s>", $qname); + return $element; } - /** - * create an XML comment - * - * <code> - * require_once 'XML/Util.php'; - * - * // create an XML start element: - * $tag = XML_Util::createComment("I am a comment"); - * </code> - * - * @access public - * @static - * @param string $content content of the comment - * @return string $comment XML comment - */ + /** + * create an XML comment + * + * <code> + * require_once 'XML/Util.php'; + * + * // create an XML start element: + * $tag = XML_Util::createComment("I am a comment"); + * </code> + * + * @param string $content content of the comment + * + * @return string XML comment + * @access public + * @static + */ function createComment($content) { - $comment = sprintf("<!-- %s -->", $content); - return $comment; + $comment = sprintf("<!-- %s -->", $content); + return $comment; } - /** - * create a CData section - * - * <code> - * require_once 'XML/Util.php'; - * - * // create a CData section - * $tag = XML_Util::createCDataSection("I am content."); - * </code> - * - * @access public - * @static - * @param string $data data of the CData section - * @return string $string CData section with content - */ + /** + * create a CData section + * + * <code> + * require_once 'XML/Util.php'; + * + * // create a CData section + * $tag = XML_Util::createCDataSection("I am content."); + * </code> + * + * @param string $data data of the CData section + * + * @return string CData section with content + * @access public + * @static + */ function createCDataSection($data) { return sprintf("<![CDATA[%s]]>", preg_replace('/\]\]>/', "]]>]]><![CDATA[", strval($data))); } - /** - * split qualified name and return namespace and local part - * - * <code> - * require_once 'XML/Util.php'; - * - * // split qualified tag - * $parts = XML_Util::splitQualifiedName("xslt:stylesheet"); - * </code> - * the returned array will contain two elements: - * <pre> - * array( - * "namespace" => "xslt", - * "localPart" => "stylesheet" - * ); - * </pre> - * - * @access public - * @static - * @param string $qname qualified tag name - * @param string $defaultNs default namespace (optional) - * @return array $parts array containing namespace and local part - */ + /** + * split qualified name and return namespace and local part + * + * <code> + * require_once 'XML/Util.php'; + * + * // split qualified tag + * $parts = XML_Util::splitQualifiedName("xslt:stylesheet"); + * </code> + * the returned array will contain two elements: + * <pre> + * array( + * "namespace" => "xslt", + * "localPart" => "stylesheet" + * ); + * </pre> + * + * @param string $qname qualified tag name + * @param string $defaultNs default namespace (optional) + * + * @return array array containing namespace and local part + * @access public + * @static + */ function splitQualifiedName($qname, $defaultNs = null) { if (strstr($qname, ':')) { $tmp = explode(":", $qname); return array( - "namespace" => $tmp[0], - "localPart" => $tmp[1] - ); + "namespace" => $tmp[0], + "localPart" => $tmp[1] + ); } return array( - "namespace" => $defaultNs, - "localPart" => $qname - ); - } - - /** - * check, whether string is valid XML name - * - * <p>XML names are used for tagname, attribute names and various - * other, lesser known entities.</p> - * <p>An XML name may only consist of alphanumeric characters, - * dashes, undescores and periods, and has to start with a letter - * or an underscore. - * </p> - * - * <code> - * require_once 'XML/Util.php'; - * - * // verify tag name - * $result = XML_Util::isValidName("invalidTag?"); - * if (is_a($result, 'PEAR_Error')) { - * print "Invalid XML name: " . $result->getMessage(); - * } - * </code> - * - * @access public - * @static - * @param string $string string that should be checked - * @return mixed $valid true, if string is a valid XML name, PEAR error otherwise - * @todo support for other charsets - */ + "namespace" => $defaultNs, + "localPart" => $qname + ); + } + + /** + * check, whether string is valid XML name + * + * <p>XML names are used for tagname, attribute names and various + * other, lesser known entities.</p> + * <p>An XML name may only consist of alphanumeric characters, + * dashes, undescores and periods, and has to start with a letter + * or an underscore.</p> + * + * <code> + * require_once 'XML/Util.php'; + * + * // verify tag name + * $result = XML_Util::isValidName("invalidTag?"); + * if (is_a($result, 'PEAR_Error')) { + * print "Invalid XML name: " . $result->getMessage(); + * } + * </code> + * + * @param string $string string that should be checked + * + * @return mixed true, if string is a valid XML name, PEAR error otherwise + * @access public + * @static + * @todo support for other charsets + * @todo PEAR CS - unable to avoid 85-char limit on second preg_match + */ function isValidName($string) { // check for invalid chars if (!preg_match('/^[[:alpha:]_]$/', $string{0})) { - return XML_Util::raiseError('XML names may only start with letter or underscore', XML_UTIL_ERROR_INVALID_START); + return XML_Util::raiseError('XML names may only start with letter ' + . 'or underscore', XML_UTIL_ERROR_INVALID_START); } // check for invalid chars - if (!preg_match('/^([[:alpha:]_]([[:alnum:]\-\.]*)?:)?[[:alpha:]_]([[:alnum:]\_\-\.]+)?$/', $string)) { - return XML_Util::raiseError('XML names may only contain alphanumeric chars, period, hyphen, colon and underscores', XML_UTIL_ERROR_INVALID_CHARS); - } + if (!preg_match('/^([[:alpha:]_]([[:alnum:]\-\.]*)?:)?[[:alpha:]_]([[:alnum:]\_\-\.]+)?$/', + $string) + ) { + return XML_Util::raiseError('XML names may only contain alphanumeric ' + . 'chars, period, hyphen, colon and underscores', + XML_UTIL_ERROR_INVALID_CHARS); + } // XML name is valid return true; } - /** - * replacement for XML_Util::raiseError - * - * Avoids the necessity to always require - * PEAR.php - * - * @access public - * @param string error message - * @param integer error code - * @return object PEAR_Error - */ + /** + * replacement for XML_Util::raiseError + * + * Avoids the necessity to always require + * PEAR.php + * + * @param string $msg error message + * @param int $code error code + * + * @return PEAR_Error + * @access public + * @static + * @todo PEAR CS - should this use include_once instead? + */ function raiseError($msg, $code) { require_once 'PEAR.php'; http://cvs.php.net/viewvc.cgi/pear/XML_Util/examples/example.php?r1=1.14&r2=1.15&diff_format=u Index: pear/XML_Util/examples/example.php diff -u pear/XML_Util/examples/example.php:1.14 pear/XML_Util/examples/example.php:1.15 --- pear/XML_Util/examples/example.php:1.14 Sat May 3 01:43:32 2008 +++ pear/XML_Util/examples/example.php Sun May 4 23:35:05 2008 @@ -38,34 +38,40 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: example.php,v 1.14 2008/05/03 01:43:32 ashnazg Exp $ - * - * @author Stephan Schmidt - * @package XML_Util - * @subpackage examples - * @category XML + * @category XML + * @package XML_Util + * @subpackage Examples + * @author Stephan Schmidt <[email protected]> + * @copyright 2003-2008 Stephan Schmidt <[email protected]> + * @license http://opensource.org/licenses/bsd-license New BSD License + * @version CVS: $Id: example.php,v 1.15 2008/05/04 23:35:05 ashnazg Exp $ + * @link http://pear.php.net/package/XML_Util */ + + /** + * set error level + */ error_reporting(E_ALL); require_once 'XML/Util.php'; /** - * replacing XML entities - */ + * replacing XML entities + */ print "replace XML entities:<br>\n"; print XML_Util::replaceEntities("This string contains < & >."); print "\n<br><br>\n"; /** - * reversing XML entities - */ + * reversing XML entities + */ print "replace XML entities:<br>\n"; print XML_Util::reverseEntities("This string contains < & >."); print "\n<br><br>\n"; /** - * building XML declaration - */ + * building XML declaration + */ print "building XML declaration:<br>\n"; print htmlspecialchars(XML_Util::getXMLDeclaration()); print "\n<br><br>\n"; @@ -75,29 +81,34 @@ print "\n<br><br>\n"; /** - * building document type declaration - */ + * building document type declaration + */ print "building DocType declaration:<br>\n"; - print htmlspecialchars(XML_Util::getDocTypeDeclaration('package', 'http://pear.php.net/dtd/package-1.0')); + print htmlspecialchars(XML_Util::getDocTypeDeclaration('package', + 'http://pear.php.net/dtd/package-1.0')); print "\n<br><br>\n"; print "building DocType declaration with public ID (does not exist):<br>\n"; - print htmlspecialchars(XML_Util::getDocTypeDeclaration('package', array('uri' => 'http://pear.php.net/dtd/package-1.0', 'id' => '-//PHP//PEAR/DTD PACKAGE 0.1'))); + print htmlspecialchars(XML_Util::getDocTypeDeclaration('package', + array('uri' => 'http://pear.php.net/dtd/package-1.0', + 'id' => '-//PHP//PEAR/DTD PACKAGE 0.1'))); print "\n<br><br>\n"; print "building DocType declaration with internal DTD:<br>\n"; print "<pre>"; - print htmlspecialchars(XML_Util::getDocTypeDeclaration('package', 'http://pear.php.net/dtd/package-1.0', '<!ELEMENT additionalInfo (#PCDATA)>')); + print htmlspecialchars(XML_Util::getDocTypeDeclaration('package', + 'http://pear.php.net/dtd/package-1.0', + '<!ELEMENT additionalInfo (#PCDATA)>')); print "</pre>"; print "\n<br><br>\n"; /** - * creating an attribute string - */ + * creating an attribute string + */ $att = array( - "foo" => "bar", - "argh" => "tomato" - ); + "foo" => "bar", + "argh" => "tomato" + ); print "converting array to string:<br>\n"; print XML_Util::attributesToString($att); @@ -105,12 +116,12 @@ /** - * creating an attribute string with linebreaks - */ + * creating an attribute string with linebreaks + */ $att = array( - "foo" => "bar", - "argh" => "tomato" - ); + "foo" => "bar", + "argh" => "tomato" + ); print "converting array to string (including line breaks):<br>\n"; print "<pre>"; @@ -120,8 +131,8 @@ /** - * splitting a qualified tag name - */ + * splitting a qualified tag name + */ print "splitting qualified tag name:<br>\n"; print "<pre>"; print_r(XML_Util::splitQualifiedName("xslt:stylesheet")); @@ -130,8 +141,8 @@ /** - * splitting a qualified tag name (no namespace) - */ + * splitting a qualified tag name (no namespace) + */ print "splitting qualified tag name (no namespace):<br>\n"; print "<pre>"; print_r(XML_Util::splitQualifiedName("foo")); @@ -139,17 +150,18 @@ print "\n<br>\n"; /** - * splitting a qualified tag name (no namespace, but default namespace specified) - */ - print "splitting qualified tag name (no namespace, but default namespace specified):<br>\n"; + * splitting a qualified tag name (no namespace, but default namespace specified) + */ + print "splitting qualified tag name " + . "(no namespace, but default namespace specified):<br>\n"; print "<pre>"; print_r(XML_Util::splitQualifiedName("foo", "bar")); print "</pre>"; print "\n<br>\n"; /** - * verifying XML names - */ + * verifying XML names + */ print "verifying 'My private tag':<br>\n"; print "<pre>"; print_r(XML_Util::isValidname('My Private Tag')); @@ -163,85 +175,87 @@ print "\n<br><br>\n"; /** - * creating an XML tag - */ + * creating an XML tag + */ $tag = array( - "namespace" => "foo", - "localPart" => "bar", - "attributes" => array( "key" => "value", "argh" => "fruit&vegetable" ), - "content" => "I'm inside the tag" - ); + "namespace" => "foo", + "localPart" => "bar", + "attributes" => array("key" => "value", "argh" => "fruit&vegetable"), + "content" => "I'm inside the tag" + ); print "creating a tag with namespace and local part:<br>"; print htmlentities(XML_Util::createTagFromArray($tag)); print "\n<br><br>\n"; /** - * creating an XML tag - */ + * creating an XML tag + */ $tag = array( - "qname" => "foo:bar", - "namespaceUri" => "http://foo.com", - "attributes" => array( "key" => "value", "argh" => "fruit&vegetable" ), - "content" => "I'm inside the tag" - ); + "qname" => "foo:bar", + "namespaceUri" => "http://foo.com", + "attributes" => array("key" => "value", "argh" => "fruit&vegetable"), + "content" => "I'm inside the tag" + ); print "creating a tag with qualified name and namespaceUri:<br>\n"; print htmlentities(XML_Util::createTagFromArray($tag)); print "\n<br><br>\n"; /** - * creating an XML tag - */ + * creating an XML tag + */ $tag = array( - "qname" => "bar", - "namespaceUri" => "http://foo.com", - "attributes" => array( "key" => "value", "argh" => "fruit&vegetable" ) - ); + "qname" => "bar", + "namespaceUri" => "http://foo.com", + "attributes" => array("key" => "value", "argh" => "fruit&vegetable") + ); print "creating an empty tag without namespace but namespace Uri:<br>\n"; print htmlentities(XML_Util::createTagFromArray($tag)); print "\n<br><br>\n"; /** - * creating an XML tag with more namespaces - */ + * creating an XML tag with more namespaces + */ $tag = array( - "namespace" => "foo", - "localPart" => "bar", - "attributes" => array( "key" => "value", "argh" => "fruit&vegetable" ), - "content" => "I'm inside the tag", - "namespaces" => array( - "bar" => "http://bar.com", - "pear" => "http://pear.php.net", - ) - ); + "namespace" => "foo", + "localPart" => "bar", + "attributes" => array("key" => "value", "argh" => "fruit&vegetable"), + "content" => "I'm inside the tag", + "namespaces" => array( + "bar" => "http://bar.com", + "pear" => "http://pear.php.net", + ) + ); print "creating an XML tag with more namespaces:<br />"; print htmlentities(XML_Util::createTagFromArray($tag)); print "\n<br><br>\n"; /** - * creating an XML tag with a CData Section - */ + * creating an XML tag with a CData Section + */ $tag = array( - "qname" => "foo", - "attributes" => array( "key" => "value", "argh" => "fruit&vegetable" ), - "content" => "I'm inside the tag" - ); + "qname" => "foo", + "attributes" => array("key" => "value", "argh" => "fruit&vegetable"), + "content" => "I'm inside the tag" + ); print "creating a tag with CData section:<br>\n"; print htmlentities(XML_Util::createTagFromArray($tag, XML_UTIL_CDATA_SECTION)); print "\n<br><br>\n"; /** - * creating an XML tag with a CData Section - */ + * creating an XML tag with a CData Section + */ $tag = array( - "qname" => "foo", - "attributes" => array( "key" => "value", "argh" => "tütü" ), - "content" => "Also XHTML-tags can be created and HTML entities can be replaced Ä ä Ü ö <>." - ); + "qname" => "foo", + "attributes" => array("key" => "value", "argh" => "tütü"), + "content" => + "Also XHTML-tags can be created " + . "and HTML entities can be replaced Ä ä Ü ö <>." + ); print "creating a tag with HTML entities:<br>\n"; print htmlentities(XML_Util::createTagFromArray($tag, XML_UTIL_ENTITIES_HTML)); @@ -251,17 +265,20 @@ * creating an XML tag with createTag */ print "creating a tag with createTag:<br>"; - print htmlentities(XML_Util::createTag("myNs:myTag", array("foo" => "bar"), "This is inside the tag", "http://www.w3c.org/myNs#")); + print htmlentities(XML_Util::createTag("myNs:myTag", + array("foo" => "bar"), + "This is inside the tag", + "http://www.w3c.org/myNs#")); print "\n<br><br>\n"; /** - * trying to create an XML tag with an array as content - */ + * trying to create an XML tag with an array as content + */ $tag = array( - "qname" => "bar", - "content" => array( "foo" => "bar" ) - ); + "qname" => "bar", + "content" => array("foo" => "bar") + ); print "trying to create an XML tag with an array as content:<br>\n"; print "<pre>"; print_r(XML_Util::createTagFromArray($tag)); @@ -269,14 +286,14 @@ print "\n<br><br>\n"; /** - * trying to create an XML tag without a name - */ + * trying to create an XML tag without a name + */ $tag = array( - "attributes" => array( "foo" => "bar" ), - ); + "attributes" => array("foo" => "bar"), + ); print "trying to create an XML tag without a name:<br>\n"; print "<pre>"; print_r(XML_Util::createTagFromArray($tag)); print "</pre>"; print "\n<br><br>\n"; -?> \ No newline at end of file +?> http://cvs.php.net/viewvc.cgi/pear/XML_Util/examples/example2.php?r1=1.9&r2=1.10&diff_format=u Index: pear/XML_Util/examples/example2.php diff -u pear/XML_Util/examples/example2.php:1.9 pear/XML_Util/examples/example2.php:1.10 --- pear/XML_Util/examples/example2.php:1.9 Sat May 3 01:43:32 2008 +++ pear/XML_Util/examples/example2.php Sun May 4 23:35:05 2008 @@ -38,94 +38,108 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: example2.php,v 1.9 2008/05/03 01:43:32 ashnazg Exp $ - * - * @author Stephan Schmidt - * @package XML_Util - * @subpackage examples - * @category XML + * @category XML + * @package XML_Util + * @subpackage Examples + * @author Stephan Schmidt <[email protected]> + * @copyright 2003-2008 Stephan Schmidt <[email protected]> + * @license http://opensource.org/licenses/bsd-license New BSD License + * @version CVS: $Id: example2.php,v 1.10 2008/05/04 23:35:05 ashnazg Exp $ + * @link http://pear.php.net/package/XML_Util */ + + /** + * set error level + */ error_reporting(E_ALL); require_once 'XML/Util.php'; /** - * creating a start element - */ + * creating a start element + */ print "creating a start element:<br>"; - print htmlentities(XML_Util::createStartElement("myNs:myTag", array("foo" => "bar"), "http://www.w3c.org/myNs#")); + print htmlentities(XML_Util::createStartElement("myNs:myTag", + array("foo" => "bar"), "http://www.w3c.org/myNs#")); print "\n<br><br>\n"; /** - * creating a start element - */ + * creating a start element + */ print "creating a start element:<br>"; - print htmlentities(XML_Util::createStartElement("myTag", array(), "http://www.w3c.org/myNs#")); + print htmlentities(XML_Util::createStartElement("myTag", + array(), "http://www.w3c.org/myNs#")); print "\n<br><br>\n"; /** - * creating a start element - */ + * creating a start element + */ print "creating a start element:<br>"; print "<pre>"; - print htmlentities(XML_Util::createStartElement("myTag", array( "foo" => "bar", "argh" => "tomato" ), "http://www.w3c.org/myNs#", true)); + print htmlentities(XML_Util::createStartElement("myTag", + array("foo" => "bar", "argh" => "tomato"), + "http://www.w3c.org/myNs#", true)); print "</pre>"; print "\n<br><br>\n"; /** - * creating an end element - */ + * creating an end element + */ print "creating an end element:<br>"; print htmlentities(XML_Util::createEndElement("myNs:myTag")); print "\n<br><br>\n"; /** - * creating a CData section - */ + * creating a CData section + */ print "creating a CData section:<br>"; print htmlentities(XML_Util::createCDataSection("I am content.")); print "\n<br><br>\n"; /** - * creating a comment - */ + * creating a comment + */ print "creating a comment:<br>"; print htmlentities(XML_Util::createComment("I am a comment.")); print "\n<br><br>\n"; /** - * creating an XML tag with multiline mode - */ + * creating an XML tag with multiline mode + */ $tag = array( - "qname" => "foo:bar", - "namespaceUri" => "http://foo.com", - "attributes" => array( "key" => "value", "argh" => "fruit&vegetable" ), - "content" => "I'm inside the tag & contain dangerous chars" - ); + "qname" => "foo:bar", + "namespaceUri" => "http://foo.com", + "attributes" => array("key" => "value", "argh" => "fruit&vegetable"), + "content" => "I'm inside the tag & contain dangerous chars" + ); print "creating a tag with qualified name and namespaceUri:<br>\n"; print "<pre>"; - print htmlentities(XML_Util::createTagFromArray($tag, XML_UTIL_REPLACE_ENTITIES, true)); + print htmlentities(XML_Util::createTagFromArray($tag, + XML_UTIL_REPLACE_ENTITIES, true)); print "</pre>"; print "\n<br><br>\n"; /** - * create an attribute string without replacing the entities - */ - $atts = array( 'series' => 'Starsky & Hutch', 'channel' => 'ABC' ); - print "creating a attribute string, entities in values already had been replaced:<br>"; - print htmlentities(XML_Util::attributesToString($atts, true, false, false, false, XML_UTIL_ENTITIES_NONE)); + * create an attribute string without replacing the entities + */ + $atts = array('series' => 'Starsky & Hutch', 'channel' => 'ABC'); + print "creating a attribute string, " + . "entities in values already had been replaced:<br>"; + print htmlentities(XML_Util::attributesToString($atts, + true, false, false, false, XML_UTIL_ENTITIES_NONE)); print "\n<br><br>\n"; /** - * using the array-syntax for attributesToString() - */ - $atts = array( 'series' => 'Starsky & Hutch', 'channel' => 'ABC' ); + * using the array-syntax for attributesToString() + */ + $atts = array('series' => 'Starsky & Hutch', 'channel' => 'ABC'); print "using the array-syntax for attributesToString()<br>"; - print htmlentities(XML_Util::attributesToString($atts, array('entities' => XML_UTIL_ENTITIES_NONE))); + print htmlentities(XML_Util::attributesToString($atts, + array('entities' => XML_UTIL_ENTITIES_NONE))); print "\n<br><br>\n"; -?> \ No newline at end of file +?>