function ARC_erdf_parser::get_rdfxml in Taxonomy import/export via XML 5
Same name and namespace in other branches
- 5.2 arc/ARC_erdf_parser.php \ARC_erdf_parser::get_rdfxml()
- 6.2 arc/ARC_erdf_parser.php \ARC_erdf_parser::get_rdfxml()
- 6 arc/ARC_erdf_parser.php \ARC_erdf_parser::get_rdfxml()
File
- arc/
ARC_erdf_parser.php, line 635
Class
Code
function get_rdfxml() {
$infos = $this
->get_triple_infos();
$nl = "\n";
$ind = " ";
$ni = $nl . $ind;
$ni2 = $ni . $ind;
$result = '<?xml version="1.0" encoding="UTF-8"?>';
$result .= $nl . '<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"';
if (isset($infos["triples"])) {
$triples = $infos["triples"];
$prefixes = $infos["prefixes"];
if (!isset($prefixes["rdfs"])) {
$prefixes["rdfs"] = "http://www.w3.org/2000/01/rdf-schema#";
}
if (!isset($prefixes["owl"])) {
$prefixes["owl"] = "http://www.w3.org/2002/07/owl#";
}
/* ns declarations */
foreach ($prefixes as $prefix => $iri) {
$result .= !in_array($prefix, array(
"rdf",
)) ? $ni . 'xmlns:' . $prefix . '="' . htmlspecialchars($iri) . '"' : '';
}
/* base */
$result .= $ni . 'xml:base="' . htmlspecialchars($this->base) . '"';
$result .= '>';
/* triples */
$r_props = array();
foreach ($triples as $t) {
$cur_result = "";
/* s */
$s = $t["s"];
if (!isset($r_props[$s])) {
$r_props[$s] = array();
}
/* p, o */
$p = $t["p"];
$p_qname = $t["p_qname"];
$p_type = $t["p_type"];
$cur_result = $ni2 . '<' . $p_qname;
if ($p_type == "obj") {
$cur_result .= ' rdf:resource="' . htmlspecialchars($t["o"]) . '" />';
}
else {
$cur_result .= '>' . htmlspecialchars(trim($t["o"])) . '</' . $p_qname . '>';
}
if (!in_array($cur_result, $r_props[$s])) {
$r_props[$s][] = $cur_result;
}
}
foreach ($r_props as $s => $props) {
$result .= $nl . $ni . '<rdf:Description rdf:about="' . htmlspecialchars($s) . '">';
foreach ($props as $cur_prop) {
$result .= $cur_prop;
}
$result .= $ni . '</rdf:Description>';
}
}
else {
$result .= '>';
}
$result .= $nl . '</rdf:RDF>' . $nl;
return $result;
}