tags:

views:

92

answers:

1

I am trying to load a xml document I created using PHP and DOM into a xslt sheet, but having no luck.

$xml_string = $doc->saveXML();
//echo $xml_string;

$xml = new DOMDocument;
$xml->load($xml_string);

$xsl = new DOMDocument;
$xsl->load('musicInformation.xslt');

// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

echo $proc->transformToXML($xml);

I created a xml file based off some data extracted from a database and instead of saving it as an actual document I saved it as a string, I put the string into the xslt sheet and this error occurred

Warning: I/O warning : failed to load external entity Warning: xpath.c:11079 Internal error: document without root in /home/dd615/public_html/webservice.php on line 73

Any help would be much appreciated.

+1  A: 

A string is not XML.

Valid XML needs a root element (that is, a single element that wraps all other elements in the document, apart from the XML declaration).

Such as this:

<?xml version="1.0" ?>
<root>
  <element></element>
  <element></element>
  ...
</root>

If you have multiple such roots, the XML is not valid and will fail to load.

Oded