<?PHP
/**
 * XML Serializer example
 *
 * This example demonstrates, how XML_Serializer is able
 * to serialize scalar values as an attribute instead of a nested tag.
 *
 * In this example tags with more than one attribute become
 * multiline tags, as each attribute gets written to a
 * separate line as 'indentAttributes' is set to '_auto'.
 *
 * @author  Stephan Schmidt <schst@php.net>
 */
    error_reporting(E_ALL);
    require_once 'XML/Serializer.php';

    $options = array(
                        'indent'             => '    ',
                        'linebreak'          => "\n",
                        'mode'               => 'simplexml',
                        'rootName'			 => 'items'
                    );

    $data = array(
					'item' => array( array(
										'title'       => 'Foobar!',
										'description' => 'This is some text....',
										'link'        => 'http://foobar.com'
									),
									array(
										'title'       => 'Foobar2!',
										'description' => 'This is some text.ü &uuml; ä ö',
										'link'        => 'http://foobar.com'
									)
								)
	    												
    			);
                    
    
    $serializer = new XML_Serializer($options);
    
    $result = $serializer->serialize($data);
    
    if( $result === true ) {
		$xml = $serializer->getSerializedData();

	    echo	'<pre>';
	    print_r( htmlspecialchars($xml) );
	    echo	'</pre>';
    } else {
		echo	'<pre>';
		print_r($result);
		echo	'</pre>';
	}

	$newOptions = array(
						'rootName' => 'body',
						'replaceEntities' => XML_SERIALIZER_ENTITIES_HTML,
						'tagMap'   => array(
						                      'item'        => 'div',
						                      'title'       => 'h1',
						                      'description' => 'p',
						                      'link'        => 'tt'
						                  )
					);
	
    $result = $serializer->serialize($data, $newOptions);
    
    if( $result === true ) {
		$xml = $serializer->getSerializedData();

	    echo	'<pre>';
	    print_r( htmlspecialchars($xml) );
	    echo	'</pre>';
    } else {
		echo	'<pre>';
		print_r($result);
		echo	'</pre>';
	}

?>