OSDN Git Service

101115_dom3\1.8, 2.1 (向こうもやっとマージしたー!!)
authorMyun2 <myun2@nwhite.info>
Tue, 21 Dec 2010 17:53:06 +0000 (02:53 +0900)
committerMyun2 <myun2@nwhite.info>
Tue, 21 Dec 2010 17:56:21 +0000 (02:56 +0900)
roast/include/roast/xml/roast_xml/rule_xml.hpp

index d2ad341..b17d8e7 100644 (file)
@@ -29,6 +29,8 @@ namespace roast
                                        _null = 0,
                                        null = 0,
 
+                                       xml_start,
+
                                        //      XML declaration
                                        start_xml_declaration,
                                        end_xml_declaration,
@@ -195,8 +197,8 @@ namespace roast
                                send_normal_event<evtcode::end_comment>
                        > comment_str;
        
-                       typedef seq<
-                               lesser, exclamation,                                            //      <!
+                       typedef angle_bracket<seq<
+                               exclamation,                                                            //      !
                                false_ret_to_event<seq<hyphen, hyphen>,         //      --
                                        error_event<evtcode::invalid_comment_start> >,
 
@@ -206,11 +208,8 @@ namespace roast
                        /*      false_ret_to_event<comment_str,
                                        error_event<evtcode::illegal_term_in_comment> >,*/
 
-                               skip<2>, //hyphen, hyphen                                       //      --
-                               _debug_point,
-                               false_ret_to_event<greater,                             //      >
-                                       error_event<evtcode::invalid_comment_end> >
-                       > comment;
+                               skip<2> //hyphen, hyphen                                        //      --
+                       > > comment;
 
                        //typedef opt_repeat<comment> opt_comments;
 
@@ -244,6 +243,7 @@ namespace roast
                                lcnoreqws,
                                equal,  //      =
                                lcnoreqws,
+                               dblquote,
 
                                //      Attribute Value
                                attr_value
@@ -333,13 +333,6 @@ namespace roast
                        typedef angle_bracket<
                                seq< not< slash >, element_impl, send_normal_event<evtcode::end_element> >
                        > element;
-                       typedef element body;
-                       
-                       typedef angle_bracket<seq<
-                               not<slash>,
-                               element_impl,
-                               send_normal_event<evtcode::end_element>
-                       > > element;
                        typedef element root_element;
 
                        class element_
@@ -395,20 +388,21 @@ namespace roast
                        ////
 
                        //      XML Document Rule
-                       typedef ::roast::lexical::rule::seq
-                       <
+                       typedef seq<
+                               send_normal_event<evtcode::xml_start>,
+
                                comments_and_whitespaces,       //      Comments and Whitespaces
                                optional<seq<
                                        header,                                 //      XML Header
                                        comments_and_whitespaces//      Comments and Whitespaces
                                > >,
-                               root_element,                           //      XML Body
+                               root_element,                           //      Root Element
                                comments_and_whitespaces,       //      Comments and Whitespaces
                                zeroterm
-                       > _rule_1;
+                       > xml_document_rule;
 
                        typedef exception_to_event<
-                               _rule_1,
+                               xml_document_rule,
                                eoi_exception,
                                error_event<evtcode::illegal_term>
                        > _rule;