Blame | Letzte Änderung | Log anzeigen | RSS feed
<?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";?>