Author: as
Date: Mon Nov 12 13:45:28 2007
New Revision: 6711

Log:
- Added support for 'category' ATOM feed element.
- Added REQUIRED_ATTRIBUTES category for feed schemas.
# REQUIRED_ATTRIBUTES will be updated in all feed schemas where necessary.

Added:
    trunk/Feed/tests/atom/regression/generate/optional/category/
    
trunk/Feed/tests/atom/regression/generate/optional/category/category_empty.in
    
trunk/Feed/tests/atom/regression/generate/optional/category/category_empty.out
    
trunk/Feed/tests/atom/regression/generate/optional/category/category_label.in
    
trunk/Feed/tests/atom/regression/generate/optional/category/category_label.out
    
trunk/Feed/tests/atom/regression/generate/optional/category/category_multiple.in
    
trunk/Feed/tests/atom/regression/generate/optional/category/category_multiple.out
    
trunk/Feed/tests/atom/regression/generate/optional/category/category_scheme+label.in
    
trunk/Feed/tests/atom/regression/generate/optional/category/category_scheme+label.out
    
trunk/Feed/tests/atom/regression/generate/optional/category/category_scheme.in
    
trunk/Feed/tests/atom/regression/generate/optional/category/category_scheme.out
    
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+label.in
    
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+label.out
    
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+scheme+label.in
    
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+scheme+label.out
    
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+scheme.in
    
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+scheme.out
    trunk/Feed/tests/atom/regression/generate/optional/category/category_term.in
    
trunk/Feed/tests/atom/regression/generate/optional/category/category_term.out
    trunk/Feed/tests/atom/regression/parse/optional/
    trunk/Feed/tests/atom/regression/parse/optional/category/
    trunk/Feed/tests/atom/regression/parse/optional/category/category_empty.in
    trunk/Feed/tests/atom/regression/parse/optional/category/category_empty.out
    trunk/Feed/tests/atom/regression/parse/optional/category/category_label.in
    trunk/Feed/tests/atom/regression/parse/optional/category/category_label.out
    
trunk/Feed/tests/atom/regression/parse/optional/category/category_multiple.in
    
trunk/Feed/tests/atom/regression/parse/optional/category/category_multiple.out
    
trunk/Feed/tests/atom/regression/parse/optional/category/category_scheme+label.in
    
trunk/Feed/tests/atom/regression/parse/optional/category/category_scheme+label.out
    trunk/Feed/tests/atom/regression/parse/optional/category/category_scheme.in
    trunk/Feed/tests/atom/regression/parse/optional/category/category_scheme.out
    
trunk/Feed/tests/atom/regression/parse/optional/category/category_term+scheme+label.in
    
trunk/Feed/tests/atom/regression/parse/optional/category/category_term+scheme+label.out
    
trunk/Feed/tests/atom/regression/parse/optional/category/category_term+scheme.in
    
trunk/Feed/tests/atom/regression/parse/optional/category/category_term+scheme.out
    trunk/Feed/tests/atom/regression/parse/optional/category/category_term.in
    trunk/Feed/tests/atom/regression/parse/optional/category/category_term.out
Modified:
    trunk/Feed/src/processors/atom.php
    trunk/Feed/src/structs/feed_schema.php

Modified: trunk/Feed/src/processors/atom.php
==============================================================================
--- trunk/Feed/src/processors/atom.php [iso-8859-1] (original)
+++ trunk/Feed/src/processors/atom.php [iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -40,7 +40,15 @@
 
         'author'        => array( '#'          => 'string' ),
         'link'          => array( '#'          => 'string' ),
-        'category'      => array( '#'          => 'string' ),
+        'category'      => array( '#'          => 'none',
+                                  'ATTRIBUTES' => array( 'term' => 'string',
+                                                         'scheme' => 'string',
+                                                         'label' => 'string' ),
+
+                                  'REQUIRED_ATTRIBUTES'   => array( 'term' ),
+                                  
+                                  'MULTI'      => 'categories' ),
+
         'contributor'   => array( '#'          => 'none',
                                   'NODES'      => array(
                                                     'name' => 'string',
@@ -191,6 +199,8 @@
         $root->appendChild( $elementTag );
 
         $attributes = array();
+        $required = $this->schema->getRequiredAttributes( $element );
+
         foreach ( $this->schema->getAttributes( $element ) as $attribute => 
$type )
         {
             if ( isset( $dataNode->$attribute ) )
@@ -223,10 +233,21 @@
 
                     }
                 }
-            }
-        }
-
-        $elementTag->nodeValue = $dataNode;
+                else
+                {
+                    $this->addAttribute( $elementTag, $attribute, $val );
+                }
+            }
+            else if ( in_array( $attribute, $required ) )
+            {
+                throw new ezcFeedRequiredMetaDataMissingException( $attribute 
);
+            }
+        }
+
+        if ( !$this->schema->isEmpty( $element ) )
+        {
+            $elementTag->nodeValue = $dataNode;
+        }
     }
 
     /**
@@ -311,6 +332,10 @@
                         $feed->$tagName = ezcFeedTools::prepareDate( 
$channelChild->textContent );
                         break;
 
+                    case 'category':
+                        $element = $feed->add( $tagName );
+                        break;
+
                     default:
                         // check if it's part of a known module/namespace
                 }

Modified: trunk/Feed/src/structs/feed_schema.php
==============================================================================
--- trunk/Feed/src/structs/feed_schema.php [iso-8859-1] (original)
+++ trunk/Feed/src/structs/feed_schema.php [iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -65,6 +65,36 @@
     }
 
     /**
+     * Returns the required attributes defined for the element $element in this
+     * feed schema.
+     *
+     * @param string $element The schema element
+     * @param string $subElement The subelement of $element
+     * @return array(string)
+     */
+    public function getRequiredAttributes( $element, $subElement = null )
+    {
+        $result = array();
+
+        if ( $subElement === null )
+        {
+            if ( isset( $this->schema[$element]['REQUIRED_ATTRIBUTES'] ) )
+            {
+                $result = $this->schema[$element]['REQUIRED_ATTRIBUTES'];
+            }
+        }
+        else
+        {
+            if ( isset( 
$this->schema[$element]['NODES'][$subElement]['REQUIRED_ATTRIBUTES'] ) )
+            {
+                $result = 
$this->schema[$element]['NODES'][$subElement]['REQUIRED_ATTRIBUTES'];
+            }
+        }
+
+        return $result;
+    }
+
+    /**
      * Returns the required elements defined for the element $element in this
      * feed schema. If $element is null then it returns the required elements
      * in the root.

Added: 
trunk/Feed/tests/atom/regression/generate/optional/category/category_empty.in
==============================================================================
--- 
trunk/Feed/tests/atom/regression/generate/optional/category/category_empty.in 
(added)
+++ 
trunk/Feed/tests/atom/regression/generate/optional/category/category_empty.in 
[iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,7 @@
+<?php
+return array( 'id' => 'Feed id',
+              'title' => array( array( '#' => 'Feed title',
+                                       'type' => '' ) ),
+              'updated' => 'Feed updated',
+              'category' => array( array() ) );
+?>

Added: 
trunk/Feed/tests/atom/regression/generate/optional/category/category_empty.out
==============================================================================
--- 
trunk/Feed/tests/atom/regression/generate/optional/category/category_empty.out 
(added)
+++ 
trunk/Feed/tests/atom/regression/generate/optional/category/category_empty.out 
[iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,1 @@
+There was no data submitted for required channel attribute 'term'.

Added: 
trunk/Feed/tests/atom/regression/generate/optional/category/category_label.in
==============================================================================
--- 
trunk/Feed/tests/atom/regression/generate/optional/category/category_label.in 
(added)
+++ 
trunk/Feed/tests/atom/regression/generate/optional/category/category_label.in 
[iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,7 @@
+<?php
+return array( 'id' => 'Feed id',
+              'title' => array( array( '#' => 'Feed title',
+                                       'type' => '' ) ),
+              'updated' => 'Feed updated',
+              'category' => array( array( 'label' => 'Category label' ) ) );
+?>

Added: 
trunk/Feed/tests/atom/regression/generate/optional/category/category_label.out
==============================================================================
--- 
trunk/Feed/tests/atom/regression/generate/optional/category/category_label.out 
(added)
+++ 
trunk/Feed/tests/atom/regression/generate/optional/category/category_label.out 
[iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,1 @@
+There was no data submitted for required channel attribute 'term'.

Added: 
trunk/Feed/tests/atom/regression/generate/optional/category/category_multiple.in
==============================================================================
--- 
trunk/Feed/tests/atom/regression/generate/optional/category/category_multiple.in
 (added)
+++ 
trunk/Feed/tests/atom/regression/generate/optional/category/category_multiple.in
 [iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,12 @@
+<?php
+return array( 'id' => 'Feed id',
+              'title' => array( array( '#' => 'Feed title',
+                                       'type' => '' ) ),
+              'updated' => 'Feed updated',
+              'category' => array( array( 'term' => 'Category term 1',
+                                          'scheme' => 'Category scheme 1',
+                                          'label' => 'Category label 1' ),
+                                   array( 'term' => 'Category term 2',
+                                          'scheme' => 'Category scheme 2',
+                                          'label' => 'Category label 2' ) ) );
+?>

Added: 
trunk/Feed/tests/atom/regression/generate/optional/category/category_multiple.out
==============================================================================
--- 
trunk/Feed/tests/atom/regression/generate/optional/category/category_multiple.out
 (added)
+++ 
trunk/Feed/tests/atom/regression/generate/optional/category/category_multiple.out
 [iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom";>
+  <id>Feed id</id>
+  <title type="text">Feed title</title>
+  <updated>Feed updated</updated>
+  <category term="Category term 1" scheme="Category scheme 1" label="Category 
label 1"/>
+  <category term="Category term 2" scheme="Category scheme 2" label="Category 
label 2"/>
+</feed>

Added: 
trunk/Feed/tests/atom/regression/generate/optional/category/category_scheme+label.in
==============================================================================
--- 
trunk/Feed/tests/atom/regression/generate/optional/category/category_scheme+label.in
 (added)
+++ 
trunk/Feed/tests/atom/regression/generate/optional/category/category_scheme+label.in
 [iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,8 @@
+<?php
+return array( 'id' => 'Feed id',
+              'title' => array( array( '#' => 'Feed title',
+                                       'type' => '' ) ),
+              'updated' => 'Feed updated',
+              'category' => array( array( 'scheme' => 'Category scheme',
+                                          'label' => 'Category label' ) ) );
+?>

Added: 
trunk/Feed/tests/atom/regression/generate/optional/category/category_scheme+label.out
==============================================================================
--- 
trunk/Feed/tests/atom/regression/generate/optional/category/category_scheme+label.out
 (added)
+++ 
trunk/Feed/tests/atom/regression/generate/optional/category/category_scheme+label.out
 [iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,1 @@
+There was no data submitted for required channel attribute 'term'.

Added: 
trunk/Feed/tests/atom/regression/generate/optional/category/category_scheme.in
==============================================================================
--- 
trunk/Feed/tests/atom/regression/generate/optional/category/category_scheme.in 
(added)
+++ 
trunk/Feed/tests/atom/regression/generate/optional/category/category_scheme.in 
[iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,7 @@
+<?php
+return array( 'id' => 'Feed id',
+              'title' => array( array( '#' => 'Feed title',
+                                       'type' => '' ) ),
+              'updated' => 'Feed updated',
+              'category' => array( array( 'scheme' => 'Category scheme' ) ) );
+?>

Added: 
trunk/Feed/tests/atom/regression/generate/optional/category/category_scheme.out
==============================================================================
--- 
trunk/Feed/tests/atom/regression/generate/optional/category/category_scheme.out 
(added)
+++ 
trunk/Feed/tests/atom/regression/generate/optional/category/category_scheme.out 
[iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,1 @@
+There was no data submitted for required channel attribute 'term'.

Added: 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+label.in
==============================================================================
--- 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+label.in
 (added)
+++ 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+label.in
 [iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,8 @@
+<?php
+return array( 'id' => 'Feed id',
+              'title' => array( array( '#' => 'Feed title',
+                                       'type' => '' ) ),
+              'updated' => 'Feed updated',
+              'category' => array( array( 'term' => 'Category term',
+                                          'label' => 'Category label' ) ) );
+?>

Added: 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+label.out
==============================================================================
--- 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+label.out
 (added)
+++ 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+label.out
 [iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom";>
+  <id>Feed id</id>
+  <title type="text">Feed title</title>
+  <updated>Feed updated</updated>
+  <category term="Category term" label="Category label"/>
+</feed>

Added: 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+scheme+label.in
==============================================================================
--- 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+scheme+label.in
 (added)
+++ 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+scheme+label.in
 [iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,9 @@
+<?php
+return array( 'id' => 'Feed id',
+              'title' => array( array( '#' => 'Feed title',
+                                       'type' => '' ) ),
+              'updated' => 'Feed updated',
+              'category' => array( array( 'term' => 'Category term',
+                                          'scheme' => 'Category scheme',
+                                          'label' => 'Category label' ) ) );
+?>

Added: 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+scheme+label.out
==============================================================================
--- 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+scheme+label.out
 (added)
+++ 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+scheme+label.out
 [iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom";>
+  <id>Feed id</id>
+  <title type="text">Feed title</title>
+  <updated>Feed updated</updated>
+  <category term="Category term" scheme="Category scheme" label="Category 
label"/>
+</feed>

Added: 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+scheme.in
==============================================================================
--- 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+scheme.in
 (added)
+++ 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+scheme.in
 [iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,8 @@
+<?php
+return array( 'id' => 'Feed id',
+              'title' => array( array( '#' => 'Feed title',
+                                       'type' => '' ) ),
+              'updated' => 'Feed updated',
+              'category' => array( array( 'term' => 'Category term',
+                                          'scheme' => 'Category scheme' ) ) );
+?>

Added: 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+scheme.out
==============================================================================
--- 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+scheme.out
 (added)
+++ 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term+scheme.out
 [iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom";>
+  <id>Feed id</id>
+  <title type="text">Feed title</title>
+  <updated>Feed updated</updated>
+  <category term="Category term" scheme="Category scheme"/>
+</feed>

Added: 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term.in
==============================================================================
--- 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term.in 
(added)
+++ 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term.in 
[iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,7 @@
+<?php
+return array( 'id' => 'Feed id',
+              'title' => array( array( '#' => 'Feed title',
+                                       'type' => '' ) ),
+              'updated' => 'Feed updated',
+              'category' => array( array( 'term' => 'Category term' ) ) );
+?>

Added: 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term.out
==============================================================================
--- 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term.out 
(added)
+++ 
trunk/Feed/tests/atom/regression/generate/optional/category/category_term.out 
[iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom";>
+  <id>Feed id</id>
+  <title type="text">Feed title</title>
+  <updated>Feed updated</updated>
+  <category term="Category term"/>
+</feed>

Added: 
trunk/Feed/tests/atom/regression/parse/optional/category/category_empty.in
==============================================================================
--- trunk/Feed/tests/atom/regression/parse/optional/category/category_empty.in 
(added)
+++ trunk/Feed/tests/atom/regression/parse/optional/category/category_empty.in 
[iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom";>
+  <id>Feed id</id>
+  <title type="text">Feed title</title>
+  <updated>Feed updated</updated>
+  <category/>
+</feed>

Added: 
trunk/Feed/tests/atom/regression/parse/optional/category/category_empty.out
==============================================================================
--- trunk/Feed/tests/atom/regression/parse/optional/category/category_empty.out 
(added)
+++ trunk/Feed/tests/atom/regression/parse/optional/category/category_empty.out 
[iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,12 @@
+<?php
+$feed = new ezcFeed( 'atom' );
+
+$feed->id = 'Feed id';
+$feed->title = 'Feed title';
+$feed->title->type = 'text';
+$feed->updated = 'Feed updated';
+
+$category = $feed->add( 'category' );
+
+return $feed;
+?>

Added: 
trunk/Feed/tests/atom/regression/parse/optional/category/category_label.in
==============================================================================
--- trunk/Feed/tests/atom/regression/parse/optional/category/category_label.in 
(added)
+++ trunk/Feed/tests/atom/regression/parse/optional/category/category_label.in 
[iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom";>
+  <id>Feed id</id>
+  <title type="text">Feed title</title>
+  <updated>Feed updated</updated>
+  <category label="Category label"/>
+</feed>

Added: 
trunk/Feed/tests/atom/regression/parse/optional/category/category_label.out
==============================================================================
--- trunk/Feed/tests/atom/regression/parse/optional/category/category_label.out 
(added)
+++ trunk/Feed/tests/atom/regression/parse/optional/category/category_label.out 
[iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,13 @@
+<?php
+$feed = new ezcFeed( 'atom' );
+
+$feed->id = 'Feed id';
+$feed->title = 'Feed title';
+$feed->title->type = 'text';
+$feed->updated = 'Feed updated';
+
+$category = $feed->add( 'category' );
+$category->label = 'Category label';
+
+return $feed;
+?>

Added: 
trunk/Feed/tests/atom/regression/parse/optional/category/category_multiple.in
==============================================================================
--- 
trunk/Feed/tests/atom/regression/parse/optional/category/category_multiple.in 
(added)
+++ 
trunk/Feed/tests/atom/regression/parse/optional/category/category_multiple.in 
[iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom";>
+  <id>Feed id</id>
+  <title type="text">Feed title</title>
+  <updated>Feed updated</updated>
+  <category term="Category term 1" scheme="Category scheme 1" label="Category 
label 1"/>
+  <category term="Category term 2" scheme="Category scheme 2" label="Category 
label 2"/>
+</feed>

Added: 
trunk/Feed/tests/atom/regression/parse/optional/category/category_multiple.out
==============================================================================
--- 
trunk/Feed/tests/atom/regression/parse/optional/category/category_multiple.out 
(added)
+++ 
trunk/Feed/tests/atom/regression/parse/optional/category/category_multiple.out 
[iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,20 @@
+<?php
+$feed = new ezcFeed( 'atom' );
+
+$feed->id = 'Feed id';
+$feed->title = 'Feed title';
+$feed->title->type = 'text';
+$feed->updated = 'Feed updated';
+
+$category = $feed->add( 'category' );
+$category->term = 'Category term 1';
+$category->scheme = 'Category scheme 1';
+$category->label = 'Category label 1';
+
+$category = $feed->add( 'category' );
+$category->term = 'Category term 2';
+$category->scheme = 'Category scheme 2';
+$category->label = 'Category label 2';
+
+return $feed;
+?>

Added: 
trunk/Feed/tests/atom/regression/parse/optional/category/category_scheme+label.in
==============================================================================
--- 
trunk/Feed/tests/atom/regression/parse/optional/category/category_scheme+label.in
 (added)
+++ 
trunk/Feed/tests/atom/regression/parse/optional/category/category_scheme+label.in
 [iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom";>
+  <id>Feed id</id>
+  <title type="text">Feed title</title>
+  <updated>Feed updated</updated>
+  <category label="Category label" scheme="Category scheme"/>
+</feed>

Added: 
trunk/Feed/tests/atom/regression/parse/optional/category/category_scheme+label.out
==============================================================================
--- 
trunk/Feed/tests/atom/regression/parse/optional/category/category_scheme+label.out
 (added)
+++ 
trunk/Feed/tests/atom/regression/parse/optional/category/category_scheme+label.out
 [iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,14 @@
+<?php
+$feed = new ezcFeed( 'atom' );
+
+$feed->id = 'Feed id';
+$feed->title = 'Feed title';
+$feed->title->type = 'text';
+$feed->updated = 'Feed updated';
+
+$category = $feed->add( 'category' );
+$category->scheme = 'Category scheme';
+$category->label = 'Category label';
+
+return $feed;
+?>

Added: 
trunk/Feed/tests/atom/regression/parse/optional/category/category_scheme.in
==============================================================================
--- trunk/Feed/tests/atom/regression/parse/optional/category/category_scheme.in 
(added)
+++ trunk/Feed/tests/atom/regression/parse/optional/category/category_scheme.in 
[iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom";>
+  <id>Feed id</id>
+  <title type="text">Feed title</title>
+  <updated>Feed updated</updated>
+  <category scheme="Category scheme"/>
+</feed>

Added: 
trunk/Feed/tests/atom/regression/parse/optional/category/category_scheme.out
==============================================================================
--- 
trunk/Feed/tests/atom/regression/parse/optional/category/category_scheme.out 
(added)
+++ 
trunk/Feed/tests/atom/regression/parse/optional/category/category_scheme.out 
[iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,13 @@
+<?php
+$feed = new ezcFeed( 'atom' );
+
+$feed->id = 'Feed id';
+$feed->title = 'Feed title';
+$feed->title->type = 'text';
+$feed->updated = 'Feed updated';
+
+$category = $feed->add( 'category' );
+$category->scheme = 'Category scheme';
+
+return $feed;
+?>

Added: 
trunk/Feed/tests/atom/regression/parse/optional/category/category_term+scheme+label.in
==============================================================================
--- 
trunk/Feed/tests/atom/regression/parse/optional/category/category_term+scheme+label.in
 (added)
+++ 
trunk/Feed/tests/atom/regression/parse/optional/category/category_term+scheme+label.in
 [iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom";>
+  <id>Feed id</id>
+  <title type="text">Feed title</title>
+  <updated>Feed updated</updated>
+  <category term="Category term" scheme="Category scheme" label="Category 
label"/>
+</feed>

Added: 
trunk/Feed/tests/atom/regression/parse/optional/category/category_term+scheme+label.out
==============================================================================
--- 
trunk/Feed/tests/atom/regression/parse/optional/category/category_term+scheme+label.out
 (added)
+++ 
trunk/Feed/tests/atom/regression/parse/optional/category/category_term+scheme+label.out
 [iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,15 @@
+<?php
+$feed = new ezcFeed( 'atom' );
+
+$feed->id = 'Feed id';
+$feed->title = 'Feed title';
+$feed->title->type = 'text';
+$feed->updated = 'Feed updated';
+
+$category = $feed->add( 'category' );
+$category->term = 'Category term';
+$category->scheme = 'Category scheme';
+$category->label = 'Category label';
+
+return $feed;
+?>

Added: 
trunk/Feed/tests/atom/regression/parse/optional/category/category_term+scheme.in
==============================================================================
--- 
trunk/Feed/tests/atom/regression/parse/optional/category/category_term+scheme.in
 (added)
+++ 
trunk/Feed/tests/atom/regression/parse/optional/category/category_term+scheme.in
 [iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom";>
+  <id>Feed id</id>
+  <title type="text">Feed title</title>
+  <updated>Feed updated</updated>
+  <category term="Category term" scheme="Category scheme"/>
+</feed>

Added: 
trunk/Feed/tests/atom/regression/parse/optional/category/category_term+scheme.out
==============================================================================
--- 
trunk/Feed/tests/atom/regression/parse/optional/category/category_term+scheme.out
 (added)
+++ 
trunk/Feed/tests/atom/regression/parse/optional/category/category_term+scheme.out
 [iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,14 @@
+<?php
+$feed = new ezcFeed( 'atom' );
+
+$feed->id = 'Feed id';
+$feed->title = 'Feed title';
+$feed->title->type = 'text';
+$feed->updated = 'Feed updated';
+
+$category = $feed->add( 'category' );
+$category->term = 'Category term';
+$category->scheme = 'Category scheme';
+
+return $feed;
+?>

Added: trunk/Feed/tests/atom/regression/parse/optional/category/category_term.in
==============================================================================
--- trunk/Feed/tests/atom/regression/parse/optional/category/category_term.in 
(added)
+++ trunk/Feed/tests/atom/regression/parse/optional/category/category_term.in 
[iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom";>
+  <id>Feed id</id>
+  <title type="text">Feed title</title>
+  <updated>Feed updated</updated>
+  <category term="Category term"/>
+</feed>

Added: 
trunk/Feed/tests/atom/regression/parse/optional/category/category_term.out
==============================================================================
--- trunk/Feed/tests/atom/regression/parse/optional/category/category_term.out 
(added)
+++ trunk/Feed/tests/atom/regression/parse/optional/category/category_term.out 
[iso-8859-1] Mon Nov 12 13:45:28 2007
@@ -1,0 +1,13 @@
+<?php
+$feed = new ezcFeed( 'atom' );
+
+$feed->id = 'Feed id';
+$feed->title = 'Feed title';
+$feed->title->type = 'text';
+$feed->updated = 'Feed updated';
+
+$category = $feed->add( 'category' );
+$category->term = 'Category term';
+
+return $feed;
+?>


-- 
svn-components mailing list
svn-components@lists.ez.no
http://lists.ez.no/mailman/listinfo/svn-components

Reply via email to