@@ -214,7 +214,7 @@ where
214214 curr_elem : RefCell :: new ( None ) ,
215215 namespace_stack : RefCell :: new ( NamespaceMapStack :: new ( ) ) ,
216216 current_namespace : RefCell :: new ( NamespaceMap :: empty ( ) ) ,
217- phase : Cell :: new ( Start ) ,
217+ phase : Cell :: new ( XmlPhase :: Start ) ,
218218 }
219219 }
220220
@@ -415,13 +415,13 @@ where
415415 return ProcessResult :: Done ;
416416 } ,
417417
418- tokenizer:: DoctypeToken ( d) => Doctype ( d) ,
419- tokenizer:: PIToken ( x ) => Pi ( x ) ,
420- tokenizer:: TagToken ( x) => Tag ( x) ,
421- tokenizer:: CommentToken ( x) => Comment ( x) ,
422- tokenizer:: NullCharacterToken => NullCharacter ,
423- tokenizer:: EOFToken => Eof ,
424- tokenizer:: CharacterTokens ( x) => Characters ( x) ,
418+ tokenizer:: DoctypeToken ( d) => Token :: Doctype ( d) ,
419+ tokenizer:: PIToken ( instruction ) => Token :: Pi ( instruction ) ,
420+ tokenizer:: TagToken ( x) => Token :: Tag ( x) ,
421+ tokenizer:: CommentToken ( x) => Token :: Comment ( x) ,
422+ tokenizer:: NullCharacterToken => Token :: NullCharacter ,
423+ tokenizer:: EOFToken => Token :: Eof ,
424+ tokenizer:: CharacterTokens ( x) => Token :: Characters ( x) ,
425425 } ;
426426
427427 self . process_to_completion ( token)
@@ -466,7 +466,7 @@ where
466466 let child = create_element ( & self . sink , tag. name , tag. attrs ) ;
467467 self . insert_appropriately ( AppendNode ( child. clone ( ) ) ) ;
468468 self . sink . pop ( & child) ;
469- Done
469+ XmlProcessResult :: Done
470470 }
471471
472472 fn append_tag_to_doc ( & self , tag : Tag ) -> Handle {
@@ -480,21 +480,21 @@ where
480480 fn add_to_open_elems ( & self , el : Handle ) -> XmlProcessResult < Handle > {
481481 self . open_elems . borrow_mut ( ) . push ( el) ;
482482
483- Done
483+ XmlProcessResult :: Done
484484 }
485485
486486 fn append_comment_to_doc ( & self , text : StrTendril ) -> XmlProcessResult < Handle > {
487487 let comment = self . sink . create_comment ( text) ;
488488 self . sink . append ( & self . doc_handle , AppendNode ( comment) ) ;
489- Done
489+ XmlProcessResult :: Done
490490 }
491491
492492 fn append_comment_to_tag ( & self , text : StrTendril ) -> XmlProcessResult < Handle > {
493493 let open_elems = self . open_elems . borrow ( ) ;
494494 let target = current_node ( & open_elems) ;
495495 let comment = self . sink . create_comment ( text) ;
496496 self . sink . append ( target, AppendNode ( comment) ) ;
497- Done
497+ XmlProcessResult :: Done
498498 }
499499
500500 fn append_doctype_to_doc ( & self , doctype : Doctype ) -> XmlProcessResult < Handle > {
@@ -509,26 +509,26 @@ where
509509 get_tendril ( doctype. public_id ) ,
510510 get_tendril ( doctype. system_id ) ,
511511 ) ;
512- Done
512+ XmlProcessResult :: Done
513513 }
514514
515515 fn append_pi_to_doc ( & self , pi : Pi ) -> XmlProcessResult < Handle > {
516516 let pi = self . sink . create_pi ( pi. target , pi. data ) ;
517517 self . sink . append ( & self . doc_handle , AppendNode ( pi) ) ;
518- Done
518+ XmlProcessResult :: Done
519519 }
520520
521521 fn append_pi_to_tag ( & self , pi : Pi ) -> XmlProcessResult < Handle > {
522522 let open_elems = self . open_elems . borrow ( ) ;
523523 let target = current_node ( & open_elems) ;
524524 let pi = self . sink . create_pi ( pi. target , pi. data ) ;
525525 self . sink . append ( target, AppendNode ( pi) ) ;
526- Done
526+ XmlProcessResult :: Done
527527 }
528528
529529 fn append_text ( & self , chars : StrTendril ) -> XmlProcessResult < Handle > {
530530 self . insert_appropriately ( AppendText ( chars) ) ;
531- Done
531+ XmlProcessResult :: Done
532532 }
533533
534534 fn tag_in_open_elems ( & self , tag : & Tag ) -> bool {
@@ -578,7 +578,7 @@ where
578578 self . pop ( ) ;
579579 }
580580
581- Done
581+ XmlProcessResult :: Done
582582 }
583583
584584 fn no_open_elems ( & self ) -> bool {
@@ -598,7 +598,7 @@ where
598598
599599 fn stop_parsing ( & self ) -> XmlProcessResult < Handle > {
600600 warn ! ( "stop_parsing for XML5 not implemented, full speed ahead!" ) ;
601- Done
601+ XmlProcessResult :: Done
602602 }
603603}
604604
@@ -617,8 +617,8 @@ where
617617 self . debug_step ( mode, & token) ;
618618
619619 match mode {
620- Start => match token {
621- Tag ( Tag {
620+ XmlPhase :: Start => match token {
621+ Token :: Tag ( Tag {
622622 kind : StartTag ,
623623 name,
624624 attrs,
@@ -632,11 +632,11 @@ where
632632 self . process_namespaces ( & mut tag) ;
633633 tag
634634 } ;
635- self . phase . set ( Main ) ;
635+ self . phase . set ( XmlPhase :: Main ) ;
636636 let handle = self . append_tag_to_doc ( tag) ;
637637 self . add_to_open_elems ( handle)
638638 } ,
639- Tag ( Tag {
639+ Token :: Tag ( Tag {
640640 kind : EmptyTag ,
641641 name,
642642 attrs,
@@ -650,32 +650,34 @@ where
650650 self . process_namespaces ( & mut tag) ;
651651 tag
652652 } ;
653- self . phase . set ( End ) ;
653+ self . phase . set ( XmlPhase :: End ) ;
654654 let handle = self . append_tag_to_doc ( tag) ;
655655 self . sink . pop ( & handle) ;
656- Done
656+ XmlProcessResult :: Done
657657 } ,
658- Comment ( comment) => self . append_comment_to_doc ( comment) ,
659- Pi ( pi) => self . append_pi_to_doc ( pi) ,
660- Characters ( ref chars) if !any_not_whitespace ( chars) => Done ,
661- Eof => {
658+ Token :: Comment ( comment) => self . append_comment_to_doc ( comment) ,
659+ Token :: Pi ( pi) => self . append_pi_to_doc ( pi) ,
660+ Token :: Characters ( ref chars) if !any_not_whitespace ( chars) => {
661+ XmlProcessResult :: Done
662+ } ,
663+ Token :: Eof => {
662664 self . sink
663665 . parse_error ( Borrowed ( "Unexpected EOF in start phase" ) ) ;
664- Reprocess ( End , Eof )
666+ XmlProcessResult :: Reprocess ( XmlPhase :: End , Token :: Eof )
665667 } ,
666- Doctype ( d) => {
668+ Token :: Doctype ( d) => {
667669 self . append_doctype_to_doc ( d) ;
668- Done
670+ XmlProcessResult :: Done
669671 } ,
670672 _ => {
671673 self . sink
672674 . parse_error ( Borrowed ( "Unexpected element in start phase" ) ) ;
673- Done
675+ XmlProcessResult :: Done
674676 } ,
675677 } ,
676- Main => match token {
677- Characters ( chs) => self . append_text ( chs) ,
678- Tag ( Tag {
678+ XmlPhase :: Main => match token {
679+ Token :: Characters ( chs) => self . append_text ( chs) ,
680+ Token :: Tag ( Tag {
679681 kind : StartTag ,
680682 name,
681683 attrs,
@@ -691,7 +693,7 @@ where
691693 } ;
692694 self . insert_tag ( tag)
693695 } ,
694- Tag ( Tag {
696+ Token :: Tag ( Tag {
695697 kind : EmptyTag ,
696698 name,
697699 attrs,
@@ -714,7 +716,7 @@ where
714716 self . append_tag ( tag)
715717 }
716718 } ,
717- Tag ( Tag {
719+ Token :: Tag ( Tag {
718720 kind : EndTag ,
719721 name,
720722 attrs,
@@ -732,41 +734,45 @@ where
732734 let script = current_node ( & self . open_elems . borrow ( ) ) . clone ( ) ;
733735 self . close_tag ( tag) ;
734736 if self . no_open_elems ( ) {
735- self . phase . set ( End ) ;
737+ self . phase . set ( XmlPhase :: End ) ;
736738 }
737739 return XmlProcessResult :: Script ( script) ;
738740 }
739741 let retval = self . close_tag ( tag) ;
740742 if self . no_open_elems ( ) {
741- self . phase . set ( End ) ;
743+ self . phase . set ( XmlPhase :: End ) ;
742744 }
743745 retval
744746 } ,
745- Tag ( Tag { kind : ShortTag , .. } ) => {
747+ Token :: Tag ( Tag { kind : ShortTag , .. } ) => {
746748 self . pop ( ) ;
747749 if self . no_open_elems ( ) {
748- self . phase . set ( End ) ;
750+ self . phase . set ( XmlPhase :: End ) ;
749751 }
750- Done
752+ XmlProcessResult :: Done
753+ } ,
754+ Token :: Comment ( comment) => self . append_comment_to_tag ( comment) ,
755+ Token :: Pi ( pi) => self . append_pi_to_tag ( pi) ,
756+ Token :: Eof | Token :: NullCharacter => {
757+ XmlProcessResult :: Reprocess ( XmlPhase :: End , Token :: Eof )
751758 } ,
752- Comment ( comment) => self . append_comment_to_tag ( comment) ,
753- Pi ( pi) => self . append_pi_to_tag ( pi) ,
754- Eof | NullCharacter => Reprocess ( End , Eof ) ,
755- Doctype ( _) => {
759+ Token :: Doctype ( _) => {
756760 self . sink
757761 . parse_error ( Borrowed ( "Unexpected element in main phase" ) ) ;
758- Done
762+ XmlProcessResult :: Done
759763 } ,
760764 } ,
761- End => match token {
762- Comment ( comment) => self . append_comment_to_doc ( comment) ,
763- Pi ( pi) => self . append_pi_to_doc ( pi) ,
764- Characters ( ref chars) if !any_not_whitespace ( chars) => Done ,
765- Eof => self . stop_parsing ( ) ,
765+ XmlPhase :: End => match token {
766+ Token :: Comment ( comment) => self . append_comment_to_doc ( comment) ,
767+ Token :: Pi ( pi) => self . append_pi_to_doc ( pi) ,
768+ Token :: Characters ( ref chars) if !any_not_whitespace ( chars) => {
769+ XmlProcessResult :: Done
770+ } ,
771+ Token :: Eof => self . stop_parsing ( ) ,
766772 _ => {
767773 self . sink
768774 . parse_error ( Borrowed ( "Unexpected element in end phase" ) ) ;
769- Done
775+ XmlProcessResult :: Done
770776 } ,
771777 } ,
772778 }
0 commit comments