Viewing file:      example.php (9 KB)      -rw-r--r-- Select action/file-type:    (+) |   (+) |   (+) | Code (+) | Session (+) |   (+) | SDB (+) |   (+) |   (+) |   (+) |   (+) |   (+) |
 
<?php
  /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
  /**  * Examples (file #1)  *  * several examples for the methods of XML_Util  *   * PHP versions 4 and 5  *  * LICENSE:  *  * Copyright (c) 2003-2008 Stephan Schmidt <schst@php.net>  * All rights reserved.  *  * Redistribution and use in source and binary forms, with or without  * modification, are permitted provided that the following conditions  * are met:  *  *    * Redistributions of source code must retain the above copyright  *      notice, this list of conditions and the following disclaimer.  *    * Redistributions in binary form must reproduce the above copyright  *      notice, this list of conditions and the following disclaimer in the  *      documentation and/or other materials provided with the distribution.  *    * The name of the author may not be used to endorse or promote products  *      derived from this software without specific prior written permission.  *  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS  * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY  * 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  * @subpackage Examples  * @author     Stephan Schmidt <schst@php.net>  * @copyright  2003-2008 Stephan Schmidt <schst@php.net>  * @license    http://opensource.org/licenses/bsd-license New BSD License  * @version    CVS: $Id: example.php,v 1.17 2008/05/05 19:05:28 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      */     print 'replace XML entities:<br>';     print XML_Util::replaceEntities('This string contains < & >.');     print "\n<br><br>\n";
      /**      * reversing XML entities      */     print 'replace XML entities:<br>';     print XML_Util::reverseEntities('This string contains < & >.');     print "\n<br><br>\n";
      /**      * building XML declaration      */     print 'building XML declaration:<br>';     print htmlspecialchars(XML_Util::getXMLDeclaration());     print "\n<br><br>\n";
      print 'building XML declaration with additional attributes:<br>';     print htmlspecialchars(XML_Util::getXMLDeclaration('1.0', 'UTF-8', true));     print "\n<br><br>\n";
      /**      * building document type declaration      */     print 'building DocType declaration:<br>';     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>';     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>';     print '<pre>';     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      */     $att = array(         'foo'  => 'bar',         'argh' => 'tomato'     );
      print 'converting array to string:<br>';     print XML_Util::attributesToString($att);     print "\n<br><br>\n";
 
      /**      * creating an attribute string with linebreaks      */     $att = array(         'foo'  => 'bar',         'argh' => 'tomato'     );
      print 'converting array to string (including line breaks):<br>';     print '<pre>';     print XML_Util::attributesToString($att, true, true);     print '</pre>';     print "\n<br><br>\n";
 
      /**      * splitting a qualified tag name      */     print 'splitting qualified tag name:<br>';     print '<pre>';     print_r(XML_Util::splitQualifiedName('xslt:stylesheet'));     print '</pre>';     print "\n<br>\n";
 
      /**      * splitting a qualified tag name (no namespace)      */     print 'splitting qualified tag name (no namespace):<br>';     print '<pre>';     print_r(XML_Util::splitQualifiedName('foo'));     print '</pre>';     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>';     print '<pre>';     print_r(XML_Util::splitQualifiedName('foo', 'bar'));     print '</pre>';     print "\n<br>\n";
      /**      * verifying XML names      */     print 'verifying \'My private tag\':<br>';     print '<pre>';     print_r(XML_Util::isValidname('My Private Tag'));     print '</pre>';     print "\n<br><br>\n";          print 'verifying \'-MyTag\':<br>';     print '<pre>';     print_r(XML_Util::isValidname('-MyTag'));     print '</pre>';     print "\n<br><br>\n";
      /**      * creating an XML tag      */     $tag = array(         '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      */     $tag = array(         '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>';     print htmlentities(XML_Util::createTagFromArray($tag));     print "\n<br><br>\n";
      /**      * creating an XML tag      */     $tag = array(         'qname'        => 'bar',         'namespaceUri' => 'http://foo.com',         'attributes'   => array('key' => 'value', 'argh' => 'fruit&vegetable')     );
      print 'creating an empty tag without namespace but namespace Uri:<br>';     print htmlentities(XML_Util::createTagFromArray($tag));     print "\n<br><br>\n";
      /**      * 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',         )     );
      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      */     $tag = array(         'qname'      => 'foo',         'attributes' => array('key' => 'value', 'argh' => 'fruit&vegetable'),         'content'    => 'I\'m inside the tag'     );
      print 'creating a tag with CData section:<br>';     print htmlentities(XML_Util::createTagFromArray($tag, XML_UTIL_CDATA_SECTION));     print "\n<br><br>\n";
      /**      * 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 Ä ä Ü ö <>.'     );
      print 'creating a tag with HTML entities:<br>';     print htmlentities(XML_Util::createTagFromArray($tag, XML_UTIL_ENTITIES_HTML));     print "\n<br><br>\n";
      /**     * 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 "\n<br><br>\n";
           /**      * trying to create an XML tag with an array as content      */     $tag = array(         'qname'   => 'bar',         'content' => array('foo' => 'bar')     );     print 'trying to create an XML tag with an array as content:<br>';     print '<pre>';     print_r(XML_Util::createTagFromArray($tag));     print '</pre>';     print "\n<br><br>\n";          /**      * trying to create an XML tag without a name      */     $tag = array(         'attributes' => array('foo' => 'bar'),     );     print 'trying to create an XML tag without a name:<br>';     print '<pre>';     print_r(XML_Util::createTagFromArray($tag));     print '</pre>';     print "\n<br><br>\n"; ?> 
  |