13/05
2016
Clacy Builders XML Express is a library for creating XML documents.
XML Express for PHP requires PHP 5.4 or newer., (*1)
Add the following to your project's composer.json
file:, (*2)
{ "minimum-stability": "dev", "require": { "clacy-builders/xml": "dev-master@dev" } }
Run composer install
or composer update
., (*3)
/vendor/clacy-builders/xml
.xml-express-php-master
inside the ZIP file copy the files it contains
into the previously created xml
folder.Replace, (*4)
require_once 'vendor/autoload.php';
with, (*5)
require_once 'vendor/clacy-builders/xml/allIncl.php';
append('Placemark'); $pm->append('name', $name); $pm->append('description', $description); $pm->append('Point') ->append('coordinates', $longitude . ',' . $latitude . ',' . $altitude); return $pm; } } $myKml = Kml::createKml(); $myKml->placemark('Cologne Cathedral', 'Cologne Cathedral is a Roman Catholic cathedral in Cologne, Germany.', '50.9413', '6.958'); $myKml->headerfields('cologne-cathedral'); print $myKml; ``` The generated markup: ```xml <kml xmlns="http://www.opengis.net/kml/2.2"> <Placemark> <name>Cologne Cathedral</name> <description>Cologne Cathedral is a Roman Catholic cathedral in Cologne, Germany.</description> <Point> <coordinates>50.9413,6.958,0</coordinates> </Point> </Placemark> </kml>
Adhoc
traitAdhoc
allows you to use any method name not previously defined to add XML elements or attributes., (*6)
<?php require_once 'vendor/autoload.php'; use \ClacyBuilders\Xml; use \ClacyBuilders\Adhoc; class Html extends Xml { use Adhoc; const XML_DECLARATION = false; const DOCTYPE = '<!DOCTYPE html>'; const HTML_MODE = true; public static function createHtml($lang = null, $manifest = null) { return static::createRoot('html') ->attrib('lang', $lang) ->setManifest($manifest); } } $html = Html::createHtml('en'); $body = $html->body(); $article = $body->article(); $article->h1('Scripting languages'); $article->p(Html::abbr('PHP')->setTitle('PHP: Hypertext Preprocessor') . ' is a server-side scripting language designed for web development but also used as a general-purpose programming language.'); print $html;
The generated markup:, (*7)
<!DOCTYPE html> <html lang="en"> <body> <article> <h1>Scripting languages</h1> <p><abbr title="PHP: Hypertext Preprocessor">PHP</abbr> is a server-side scripting language designed for web development but also used as a general-purpose programming language.</p> </article> </body> </html>