static function CMISRepositoryWrapper::extractTypeDefFromNode in CMIS API 6.3
Same name and namespace in other branches
- 6.4 cmis_common/lib/cmis_repository_wrapper.php \CMISRepositoryWrapper::extractTypeDefFromNode()
- 7 cmis_common/lib/cmis_repository_wrapper.php \CMISRepositoryWrapper::extractTypeDefFromNode()
1 call to CMISRepositoryWrapper::extractTypeDefFromNode()
- CMISRepositoryWrapper::extractTypeDef in cmis_common/
lib/ cmis_repository_wrapper.php
File
- cmis_common/
lib/ cmis_repository_wrapper.php, line 229
Class
Code
static function extractTypeDefFromNode($xmlnode) {
// Extracts the contents of an Object and organizes them into:
// -- Links
// -- Properties
// -- the Object ID
// RRM -- NEED TO ADD ALLOWABLEACTIONS
$retval = new stdClass();
$retval->links = CMISRepositoryWrapper::getLinksArray($xmlnode);
$retval->properties = array();
$retval->attributes = array();
$result = CMISRepositoryWrapper::doXQueryFromNode($xmlnode, "//cmisra:type/*");
foreach ($result as $node) {
if (substr($node->nodeName, 0, 13) == "cmis:property" && substr($node->nodeName, -10) == "Definition") {
$id = $node
->getElementsByTagName("id")
->item(0)->nodeValue;
$cardinality = $node
->getElementsByTagName("cardinality")
->item(0)->nodeValue;
$propertyType = $node
->getElementsByTagName("propertyType")
->item(0)->nodeValue;
// Stop Gap for now
$retval->properties[$id] = array(
"cmis:propertyType" => $propertyType,
"cmis:cardinality" => $cardinality,
);
}
else {
$retval->attributes[$node->nodeName] = $node->nodeValue;
}
$retval->id = $retval->attributes["cmis:id"];
}
/*
*
$prop_nodes = $xmlnode->getElementsByTagName("object")->item(0)->getElementsByTagName("properties")->item(0)->childNodes;
foreach ($prop_nodes as $pn) {
if ($pn->attributes) {
$retval->properties[$pn->attributes->getNamedItem("propertyDefinitionId")->nodeValue] = $pn->getElementsByTagName("value")->item(0)->nodeValue;
}
}
$retval->uuid=$xmlnode->getElementsByTagName("id")->item(0)->nodeValue;
$retval->id=$retval->properties["cmis:objectId"];
*/
return $retval;
}