/**
 * Generates pagecachexml obj from pages xml
 * @return simpleXmlobj pagecache xml
 */
function generate_pageCacheXml()
{
    // read in each pages xml file
    $path = GSDATAPAGESPATH;
    $filenames = getXmlFiles($path);
    $xml = @new SimpleXMLExtended('<channel></channel>');
    if (count($filenames) != 0) {
        foreach ($filenames as $file) {
            $data = getXml($path . $file);
            $id = $data->url;
            $pages = $xml->addChild('item');
            // $pages->addChild('url', $id);
            $children = $data->children();
            foreach ($children as $item => $itemdata) {
                if ($item != "content") {
                    $note = $pages->addChild($item);
                    $note->addCData($itemdata);
                }
            }
            // removed from xml , redundant
            # $note = $pages->addChild('slug');
            # $note->addCData($id);
            # $note = $pages->addChild('filename');
            # $note->addCData($file);
        }
    }
    return $xml;
}
/**
 * Generates pagecachexml obj from pages xml
 * @return simpleXmlobj pagecache xml
 */
function generate_pageCacheXml()
{
    debugLog('page cache: re-generated from disk');
    // read in each pages xml file
    $path = GSDATAPAGESPATH;
    $filenames = getXmlFiles($path);
    $cacheXml = new SimpleXMLExtended('<?xml version="1.0" encoding="UTF-8"?><channel></channel>');
    if (count($filenames) != 0) {
        foreach ($filenames as $file) {
            // load page xml
            $pageXml = getXml($path . $file);
            if (!$pageXml) {
                continue;
            }
            $id = $pageXml->url;
            // page id
            $cacheItems = $cacheXml->addChild('item');
            // $pages->addChild('url', $id);
            $children = $pageXml->children();
            foreach ($children as $item => $itemdata) {
                // add all fields skip content
                if ($item != "content") {
                    $note = $cacheItems->addChild($item);
                    $note->addCData($itemdata);
                }
            }
            pageCacheAddRoutes($id, $cacheItems);
            // removed from xml , redundant
            # $note = $pages->addChild('slug');
            # $note->addCData($id);
            # $note = $pages->addChild('filename');
            # $note->addCData($file);
        }
    }
    return $cacheXml;
}