-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathserializeRDF.php
64 lines (57 loc) · 3.02 KB
/
serializeRDF.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?PHP
/**
* This example shows how to create an RDF document
* with a few lines of code.
* This can also be done with mode => simplexml
*
* @author Stephan Schmidt <[email protected]>
* @see serializeIndexedArray.php
*/
error_reporting(E_ALL);
require_once 'XML/Serializer.php';
$options = array(
XML_SERIALIZER_OPTION_INDENT => ' ',
XML_SERIALIZER_OPTION_LINEBREAKS => "\n",
XML_SERIALIZER_OPTION_TYPEHINTS => false,
XML_SERIALIZER_OPTION_XML_DECL_ENABLED => true,
XML_SERIALIZER_OPTION_XML_ENCODING => 'UTF-8',
XML_SERIALIZER_OPTION_ROOT_NAME => 'rdf:RDF',
XML_SERIALIZER_OPTION_ROOT_ATTRIBS => array('version' => '0.91'),
XML_SERIALIZER_OPTION_DEFAULT_TAG => 'item',
XML_SERIALIZER_OPTION_ATTRIBUTES_KEY => '_attributes'
);
$serializer = new XML_Serializer($options);
$rdf = array(
"channel" => array(
"title" => "Example RDF channel",
"link" => "http://www.php-tools.de",
"image" => array(
"title" => "Example image",
"url" => "http://www.php-tools.de/image.gif",
"link" => "http://www.php-tools.de"
),
"_attributes" => array( "rdf:about" => "http://example.com/foobar.html" ),
array(
"title" => "Example item",
"link" => "http://example.com",
"_attributes" => array( "rdf:about" => "http://example.com/foobar.html" )
),
array(
"title" => "Another item",
"link" => "http://example.com",
"_attributes" => array( "rdf:about" => "http://example.com/foobar.html" )
),
array(
"title" => "I think you get it...",
"link" => "http://example.com",
"_attributes" => array( "rdf:about" => "http://example.com/foobar.html" )
)
)
);
$result = $serializer->serialize($rdf);
if ($result === true) {
echo "<pre>";
echo htmlentities($serializer->getSerializedData());
echo "</pre>";
}
?>