xsd_attrs are a FieldList now, so you can have multiple of them and they are typed

Reviewed By: xsd


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664984 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/compiler/cpp/src/thrifty.yy b/compiler/cpp/src/thrifty.yy
index c1d383b..19f1ba8 100644
--- a/compiler/cpp/src/thrifty.yy
+++ b/compiler/cpp/src/thrifty.yy
@@ -157,7 +157,7 @@
 %type<tbool>     XsdAll
 %type<tbool>     XsdOptional
 %type<tbool>     XsdNillable
-%type<id>        XsdAttributes
+%type<tstruct>   XsdAttributes
 %type<id>        CppType
 
 %type<tdoc>      DocTextOptional
@@ -530,9 +530,9 @@
     }
 
 XsdAttributes:
-  tok_xsd_attrs tok_identifier
+  tok_xsd_attrs '{' FieldList '}'
     {
-      $$ = $2;
+      $$ = $3;
     }
 |
     {
@@ -660,7 +660,7 @@
         $$->set_doc($1);
       }
       if ($8 != NULL) {
-        $$->add_xsd_attr($8);
+        $$->set_xsd_attrs($8);
       }
     }