Home arrow XML arrow Page 7 - XSL Transformation With PHP And Sablotron

Publish Or Die! - XML

So you've got your XML, and you've also got an XSLT stylesheet to format it. But how do you put the two of them together? Fear not - you can use PHP's Sablotron extension to perform XSLT transformation of XML data on the server. This article tells you how.

TABLE OF CONTENTS:
  1. XSL Transformation With PHP And Sablotron
  2. Getting Down To Business
  3. Start It Up
  4. Handling Things Better
  5. An Evening At The Moulin Rouge
  6. Mistakes Happen
  7. Publish Or Die!
  8. Endzone
By: Harish Kamath, (c) Melonfire
Rating: starstarstarstarstar / 6
November 30, 2001

print this article
SEARCH DEV SHED

TOOLS YOU CAN USE

advertisement
Now that you've seen the different techniques available to process XSLT stylesheets, here's a simple example which demonstrates a real-life use of this technology - a simple XML to HTML publishing system.

Let's assume that you have a collection of data, all neatly tagged and marked up in XML. Now, you need to use this information in different places. Some of it may need to be converted into HTML, for use on a Web site; other bits of it may need to be converted into WML, for wireless transfer, or imported into a database, or transformed into PDF documents, or...

With PHP's XSLT engine, accomplishing all this becomes a snap. All you need are separate stylesheets, each one taking care of a particular type of conversion. Feed these stylesheets to a PHP script which knows how to handle them, and Bob's your uncle.

As an example, consider the following script, which accepts XML and XSLT input and saves the results of this transformation as an HTML document:

<?php




// the fodder for the Sablotron XSLT processor
$xmlfile = "person.xml";
$xslfile
= "person.xsl";
$htmlfile = "/www/person.html";




// create the XSLT processor
$xslthandler = xslt_create() or die("Can't create
XSLT handle!");




// process the two files to get the desired output
if(xslt_run($xslthandler,
$xslfile, $xmlfile))
{
// get result buffer
$result = xslt_fetch_result($xslthandler);




// publish the result to a static HTML file
$htmlfp = fopen($htmlfile,"w+");
fputs($htmlfp,$result);
fclose($htmlfp);




echo "File $htmlfile successfully created!";
}
else
{
// error handler
echo
"An error occurred:n";
echo "Error number: " . xslt_errno($xslthandler) . "n";
echo
"Error string: " . xslt_error($xslthandler) . "n";
exit;
}




// clean up
xslt_free($xslthandler);
?>

Granted, it's pretty simple - but isn't that a good thing?

In a similar manner, you could write scripts to convert your XML data into other formats, insert it into a database or exchange it with other servers.

 
 
>>> More XML Articles          >>> More By Harish Kamath, (c) Melonfire
 

blog comments powered by Disqus
escort Bursa Bursa escort Antalya eskort
   

XML ARTICLES

- Google Docs and Xpath Data Functions
- Flex Array Collection Sort and Filtering
- The Flex Tree Control
- Flex List Controls
- Working with Flex and Datagrids
- How to Set Up Podcasting and Vodcasting
- Creating an RSS Reader Application
- Building an RSS File
- An Introduction to XUL Part 6
- An Introduction to XUL Part 5
- An Introduction to XUL Part 4
- An Introduction to XUL Part 3
- An Introduction to XUL Part 2
- An Introduction to XUL Part 1
- XML Matters: Practical XML Data Design and M...

Developer Shed Affiliates

 


Dev Shed Tutorial Topics: