/[suikacvs]/messaging/manakai/lib/Message/DOM/XMLParser.dis
Suika

Diff of /messaging/manakai/lib/Message/DOM/XMLParser.dis

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.10 by wakaba, Sun Jan 29 07:09:25 2006 UTC revision 1.24 by wakaba, Wed Feb 15 13:36:21 2006 UTC
# Line 25  Module: Line 25  Module:
25  Namespace:  Namespace:
26    @c:    @c:
27      http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#      http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#
28      @cfg:
29        http://suika.fam.cx/www/2006/dom-config/
30    @d:    @d:
31      http://suika.fam.cx/~wakaba/archive/2004/dom/xdt#      http://suika.fam.cx/~wakaba/archive/2004/dom/xdt#
32    @dis:    @dis:
# Line 37  Namespace: Line 39  Namespace:
39      http://suika.fam.cx/~wakaba/archive/2005/manakai/Util/Error/Core/      http://suika.fam.cx/~wakaba/archive/2005/manakai/Util/Error/Core/
40    @f:    @f:
41      http://suika.fam.cx/~wakaba/archive/2004/dom/feature#      http://suika.fam.cx/~wakaba/archive/2004/dom/feature#
42      @fe:
43        http://suika.fam.cx/www/2006/feature/
44      @gls:
45        http://suika.fam.cx/~wakaba/archive/2004/dom/gls#
46    @idl:    @idl:
47      http://suika.fam.cx/~wakaba/archive/2004/dis/IDL#      http://suika.fam.cx/~wakaba/archive/2004/dis/IDL#
48    @infoset:    @infoset:
# Line 55  Namespace: Line 61  Namespace:
61      http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom#ManakaiDOM.      http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom#ManakaiDOM.
62    @MDOMX:    @MDOMX:
63      http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#      http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#
64      @mn:
65        http://suika.fam.cx/~wakaba/archive/2005/manakai/Util/ManakaiNode#
66    @rdf:    @rdf:
67      http://www.w3.org/1999/02/22-rdf-syntax-ns#      http://www.w3.org/1999/02/22-rdf-syntax-ns#
68    @rdfs:    @rdfs:
# Line 193  ClsDef: Line 201  ClsDef:
201      @@@: DOMLS|LSFeature30      @@@: DOMLS|LSFeature30
202      @@For: ManakaiDOM|DOM3      @@For: ManakaiDOM|DOM3
203    
204    @DISLang:role: DOMLS|ParserRole    @DISLang:role: gls|ParserRole
205    
206    @enDesc:    @enDesc:
207      Note that the <Class::ManakaiXMLParser> reports any XML errors      Note that the <Class::ManakaiXMLParser> reports any XML errors
# Line 235  ClsDef: Line 243  ClsDef:
243        Creates a new instance of the object.        Creates a new instance of the object.
244      @@Param:      @@Param:
245        @@@Name: impl        @@@Name: impl
246        @@@Type: DOMLS|GLSImplementation        @@@Type: gls|GLSImplementation
247        @@@enDesc:        @@@enDesc:
248          The implementation from which the parser is created.          The implementation from which the parser is created.
249      @@Param:      @@Param:
# Line 274  ClsDef: Line 282  ClsDef:
282            column => 1,            column => 1,
283            pos => 0,            pos => 0,
284          }];          }];
285            $self->{location} = $self->{entity}->[-1];
286          $self->{entity_char} = [];          $self->{entity_char} = [];
287          $self->{entity_token} = [];          $self->{entity_token} = [];
288          $self->{xml_version} = '1.0';          $self->{xml_version} = '1.0';
289          $self->{standalone} = false;          $self->{standalone} = false;
290          $self->{general_entity} = {};          $self->{has_xref} = false;
291            $self->{general_entity} = {
292              lt => {is_predefined => true},
293              gt => {is_predefined => true},
294              amp => {is_predefined => true},
295              quot => {is_predefined => true},
296              apos => {is_predefined => true},
297            };
298          $self->{param_entity} = {};          $self->{param_entity} = {};
299          $self->{attr} = {};          $self->{attr} = {};
300            # $self->{attr}->{$element_type_name}->{$attr_name} = $attr_def            # $self->{attr}->{$element_type_name}->{$attr_name} = $attr_def
301          $self->{has_error} = false;  
302            ## Well-formedness constraint Entity Declared takes effect?            ## Well-formedness constraint Entity Declared takes effect?
303    
304          __DEEP{          __DEEP{
305            $r = $self->_parse_DocumentEntity            $r = $self->{<H::c|implementation>}-><M::DOMImpl.createDocument>;
306                          ($self->{<H::DOMCore:implementation>});            $self->{doc} = $r;
307              $self->{doc_cfg} = $r-><AG::Document.domConfig>;
308              CORE::delete $self->{docx};
309              CORE::delete $self->{dtdef};
310              CORE::delete $self->{dtdecl};
311    
312              $r-><AS::Document.strictErrorChecking> (false);
313                ## NOTE: Any checks such as |Name| validity done by
314                ##       methods on DOM nodes are disabled.  It might result
315                ##       in creating an ill-formed DOM tree when parser
316                ##       errors are traped by |error-handler|.
317              $self->{doc_cfg}-><M::c|DOMConfiguration.setParameter>
318                                  (<Q::cfg|entity-reference-read-only> => false);
319                ## NOTE: Turn this configuration parameter off is required
320                ##       because entity reference subtree is created by
321                ##       the parser rather than |createEntityReference|'s
322                ##       cloning.  Parser's |cfg:entity-reference-read-only|
323                ##       configuration parameter controls whether generated
324                ##       subtree is then marked as read-only or not.
325              $self->{doc_cfg}-><M::c|DOMConfiguration.setParameter>
326                                  (<Q::cfg|clone-entity-reference-subtree> => true);
327                ## NOTE: Turn this configuration parameter on makes
328                ##       entity reference subtrees in attribute default values
329                ##       cloned as is into default attribute node subtrees.
330    
331              ## Document entity -> |Document| node
332              $self->_parse_DocumentEntity;
333    
334              ## Replacement tree for general |Entity| nodes
335              my @ent = values %{$self->{general_entity}};
336              for my $ent (@ent) {
337                if (exists $ent->{has_replacement_text}) {
338                    my $ent_name = $ent->{name};
339                    $self->{entity} = [<Code::getCopyOfEntityState::
340                                                  $entity_type = 'general_entity',
341                                                  $entity_name = $ent_name>];
342                    $self->{location} = $self->{entity}->[-1];
343                    $self->{token} = [];
344                    $self->{char} = [];
345                    local $ent->{is_opened} = true;
346                    ## TODO: External entity support
347                    $self->_parse_InternalGeneralParsedEntity ($ent->{node});
348                    $ent->{node}-><AS::x|Entity.hasReplacementTree> (true);
349                  ## ISSUE: Should errors detected by this phase result
350                  ##        in |DOMLS:PARSE_ERR| exception thrown?
351                }
352                  ## TODO: Read-only if configuration (for all entities)
353              }
354    
355              ## Turns flags to their default value
356              $self->{doc_cfg}-><M::c|DOMConfiguration.setParameter>
357                                  (<Q::cfg|entity-reference-read-only> => null);
358              $self->{doc_cfg}-><M::c|DOMConfiguration.setParameter>
359                                  (<Q::cfg|clone-entity-reference-subtree> => null);
360              $r-><AS::Document.strictErrorChecking> (true);
361          }__;          }__;
362    
363    @Method:    @Method:
# Line 310  ClsDef: Line 380  ClsDef:
380            GETCHAR: {            GETCHAR: {
381              my $char = substr (${$self->{entity}->[-1]->{reptxt}},              my $char = substr (${$self->{entity}->[-1]->{reptxt}},
382                                 $self->{entity}->[-1]->{pos}, 1);                                 $self->{entity}->[-1]->{pos}, 1);
             $self->{entity}->[-1]->{pos}++;  
383    
384              if (defined $char and length $char) {              if (defined $char and length $char) {
385                  $self->{entity}->[-1]->{pos}++;
386                $r = ord $char;                $r = ord $char;
387                if ($r == 0x000A) {                if ($r == 0x000A) {
388                  $self->{entity}->[-1]->{line}++;                  $self->{entity}->[-1]->{line}++;
# Line 322  ClsDef: Line 392  ClsDef:
392                                          $self->{entity}->[-1]->{pos}, 1);                                          $self->{entity}->[-1]->{pos}, 1);
393                  if ($next_char eq "\x0A") {                  if ($next_char eq "\x0A") {
394                    $self->{entity}->[-1]->{pos}++;                    $self->{entity}->[-1]->{pos}++;
395                      $self->{entity}->[-1]->{line}++;
396                    $self->{entity}->[-1]->{column} = 1;                    $self->{entity}->[-1]->{column} = 1;
397                  } elsif ($next_char eq "\x85") {                  } elsif ($next_char eq "\x85") {
398                    if ($self->{xml_version} eq '1.1') {                    if ($self->{xml_version} eq '1.1') {
399                        if ($self->{entity}->[-1]->{no_xml11_eol}) {
400                          my $location = {
401                            utf32_offset => $self->{entity}->[-1]->{pos} - 1,
402                            line_number => $self->{entity}->[-1]->{line},
403                            column_number => $self->{entity}->[-1]->{column},
404                          };
405                          my $continue = __DOMCore:ERROR{
406                          xp|fatal-xml11-end-of-line-in-xml-declaration::
407                            DOMCore|location => {$location},
408                            xp|character-number => {$r},
409                          }__;
410                          unless ($continue) {
411                            __EXCEPTION{DOMLS|PARSE_ERR}__;
412                          }
413                        } # no_xml11_eol
414                      $self->{entity}->[-1]->{pos}++;                      $self->{entity}->[-1]->{pos}++;
415                        $self->{entity}->[-1]->{line}++;
416                      $self->{entity}->[-1]->{column} = 1;                      $self->{entity}->[-1]->{column} = 1;
417                    } else {                    } else {
418                      $self->{entity}->[-1]->{column} = 0;                      ## |no_xml11_eol| will be tested later.
419                        $self->{entity}->[-1]->{column}++;
420                        ## Line number will be increased by next |shiftChar| call.
421                    }                    }
422                  } else {                  } else {
423                      $self->{entity}->[-1]->{line}++;
424                    $self->{entity}->[-1]->{column} = 1;                    $self->{entity}->[-1]->{column} = 1;
425                  }                  }
426                  $r = 0x000A;                  $r = 0x000A;
                 $self->{entity}->[-1]->{line}++;  
427                } elsif (                } elsif (
428                  not ((0x0020 <= $r and $r <= 0x007E) or                  not ((0x0020 <= $r and $r <= 0x007E) or
429                       (0x00A0 <= $r and $r <= 0xD7FF) or                       (0x00A0 <= $r and $r <= 0xD7FF) or
# Line 345  ClsDef: Line 434  ClsDef:
434                       (0x007F <= $r and $r <= 0x009F))                       (0x007F <= $r and $r <= 0x009F))
435                ) {                ) {
436                  my $location = {                  my $location = {
437                    utf32_offset => $self->{entity}->[-1]->{pos},                    utf32_offset => $self->{entity}->[-1]->{pos} - 1,
438                    line_number => $self->{entity}->[-1]->{line},                    line_number => $self->{entity}->[-1]->{line},
439                    column_number => $self->{entity}->[-1]->{column},                    column_number => $self->{entity}->[-1]->{column},
440                  };                  };
# Line 356  ClsDef: Line 445  ClsDef:
445                  unless ($continue) {                  unless ($continue) {
446                    __EXCEPTION{DOMLS|PARSE_ERR}__;                    __EXCEPTION{DOMLS|PARSE_ERR}__;
447                  }                  }
                 $self->{has_error} = true;  
448                  $self->{entity}->[-1]->{column}++;                  $self->{entity}->[-1]->{column}++;
449                } elsif ($r == 0x0085 or $r == 0x2028) {                } elsif ($r == 0x0085 or $r == 0x2028) {
450                    if ($self->{entity}->[-1]->{no_xml11_eol}) {
451                      my $location = {
452                        utf32_offset => $self->{entity}->[-1]->{pos} - 1,
453                        line_number => $self->{entity}->[-1]->{line},
454                        column_number => $self->{entity}->[-1]->{column},
455                      };
456                      my $continue = __DOMCore:ERROR{
457                      xp|fatal-xml11-end-of-line-in-xml-declaration::
458                        DOMCore|location => {$location},
459                        xp|character-number => {$r},
460                      }__;
461                      unless ($continue) {
462                        __EXCEPTION{DOMLS|PARSE_ERR}__;
463                      }
464                    } # no_xml11_eol
465                  $r = 0x000A if $self->{xml_version} eq '1.1';                  $r = 0x000A if $self->{xml_version} eq '1.1';
466                    ## Even in XML 1.0 it increases the line number.
467                  $self->{entity}->[-1]->{line}++;                  $self->{entity}->[-1]->{line}++;
468                  $self->{entity}->[-1]->{column} = 1;                  $self->{entity}->[-1]->{column} = 1;
469                } else {                } else {
470                  $self->{entity}->[-1]->{column}++;                  $self->{entity}->[-1]->{column}++;
471                }                }
 #            } elsif (@{$self->{entity}} > 1) {  
 #              pop @{$self->{entity}};  
 #              redo GETCHAR;  
 #              ## ISSUE: How cope with delimiter scanning &  
 #              ##        self-containedness constraints??  
472              } else {              } else {
473                $r = -1;                $r = -1;
474              }              }
# Line 424  ClsDef: Line 523  ClsDef:
523          document := prolog element *Misc          document := prolog element *Misc
524                    - *Char RestrictedChar *Char  ;; [1]                    - *Char RestrictedChar *Char  ;; [1]
525      */      */
526      rule DocumentEntity ($impl) : standalone {      rule DocumentEntity : standalone {
       my $doc : return;  
       
       lang:Perl {  
         $doc = $impl-><M::DOMImpl.createDocument>;  
         $doc-><AS::Document.strictErrorChecking> (false);  
       }  
       
527        /*        /*
528          prolog := XMLDecl? *Misc [doctypedecl *Misc]  ;; [22]          prolog := XMLDecl? *Misc [doctypedecl *Misc]  ;; [22]
529        */        */
530        ?lexmode 'DocumentStart';        ?lexmode DocumentStart;
531    
532          my $doc;
533          lang:Perl {
534            $doc = $self->{doc};
535          }
536                
537        ~? (XDO) {        ~? (XDO) {
538          &_XMLDeclaration_ ($doc => $doc);          ?lexmode XMLDeclarationOrPI;
539                    lang:Perl {
540          ~ (PIC) {            $self->{entity}->[-1]->{no_xml11_eol} = true;
541            ?lexmode DocumentProlog;          }
542            ~ (S) {        // XML declaration
543              &_XMLDeclaration_ ($doc => $doc);
544              ~ (PIC2) {
545                ?lexmode DocumentProlog;
546              } else {
547                ?lexmode DocumentProlog;
548              }
549            } (NameChar) {  // Processing instruction whose target begins with |xml|
550              my $target_token;
551              lang:Perl ($v => $token.value) {
552                $target_token = $token;
553                $target_token->{value} = 'xml'.$target_token->{value};
554                $self->{entity}->[-1]->{no_xml11_eol} = false;
555              }
556              ?lexmode PINmtoken;
557              ~? (Nmtoken) {
558                lang:Perl ($v => $token.value) {
559                  $target_token->{value} .= $v;
560                }
561                ?lexmode PIName;
562              }
563              lang:Perl {
564                $target_token->{type} = 'Name';
565                $target_token->{location_d} += 3; # 'xml'
566                unshift @{$self->{token}}, $token;
567                $token = $target_token;
568              }
569              &_ProcessingInstruction_ ($doc => $doc, $parent => $doc);
570              ~ (PIC) {
571                ?lexmode DocumentProlog;
572              } else {
573                ?lexmode DocumentProlog;
574              }
575          } else {          } else {
576            ?lexmode DocumentProlog;            lang:Perl {
577                $self->{entity}->[-1]->{no_xml11_eol} = false;
578              }
579          }          }
580        } else {        } else {
581          ?lexmode 'DocumentProlog';          ?lexmode 'DocumentProlog';
# Line 480  ClsDef: Line 612  ClsDef:
612            ?lexmode DocumentMisc;            ?lexmode DocumentMisc;
613          }          }
614        } else {        } else {
         lang:Perl {  
           $self->{standalone} = true;  
         }  
615          ?lexmode DocumentMisc;          ?lexmode DocumentMisc;
616        }        }
617                
# Line 541  ClsDef: Line 670  ClsDef:
670        }        }
671                
672        ~ (#EOF) { }        ~ (#EOF) { }
673        } // DocumentEntity
674    
675        /*
676          Internal General Parsed Entity
677    
678            An internal general parsed entity is well-formed if its
679            replacement text matches the production labeled |content|.
680        */
681        rule InternalGeneralParsedEntity ($ent) : standalone {
682          ?lexmode ElementContent;
683    
684          my $ns;
685        lang:Perl {        lang:Perl {
686          if ($self->{has_error}) {          $ns = {
687            __EXCEPTION{DOMLS|PARSE_ERR::            xml => <Q::xml:>,
688            }__;            xmlns => <Q::xmlns:>,
689          }          };
           
         $doc-><AS::Document.strictErrorChecking> (true);  
690        }        }
691      } // DocumentEntity  
692            &content ($parent => $ent, $ns => $ns);
693    
694          ~ (#EOF) { }
695        } // InternalGeneralParsedEntity
696    
697      /*      /*
698        XML Declaration        XML Declaration
699                
# Line 563  ClsDef: Line 705  ClsDef:
705        NOTE: XML declaration is optional in XML 1.0        NOTE: XML declaration is optional in XML 1.0
706              while it is required in XML 1.1.              while it is required in XML 1.1.
707      */      */
708      rule _XMLDeclaration_ ($doc) {      rule _XMLDeclaration_ {
709          // ~ (XDO) { }
710        ?lexmode XMLDeclaration;        ?lexmode XMLDeclaration;
711          //lang:Perl {
712        ~ (S) { }        //  $self->{entity}->[-1]->{no_xml11_eol} = true;
713          //}
714          //~ (S) { }
715    
716        ~ (Name == 'version') {        ~ (Name == 'version') {
717          ~? (S) { }          ~? (S) { }
# Line 613  ClsDef: Line 758  ClsDef:
758              }__;              }__;
759              my $continue = __DOMCore:ERROR{xp|wf-unsupported-xml-version::              my $continue = __DOMCore:ERROR{xp|wf-unsupported-xml-version::
760                DOMCore|location => {$location},                DOMCore|location => {$location},
761                xp|parent => {$doc},                xp|parent => {$self->{doc}},
762                infoset|version => {$ver},                infoset|version => {$ver},
763                xp|error-token => {$bad_token},                xp|error-token => {$bad_token},
764              }__;              }__;
765              unless ($continue) {              unless ($continue) {
766                __EXCEPTION{DOMLS|PARSE_ERR}__;                __EXCEPTION{DOMLS|PARSE_ERR}__;
767              }              }
             $self->{has_error} = true;  
768            }            }
769            $doc-><AS::Document.xmlVersion> ($ver);            $self->{doc}-><AS::Document.xmlVersion> ($ver);
770            $self->{xml_version} = $ver;            $self->{xml_version} = $ver;
771          }          }
772    
# Line 674  ClsDef: Line 818  ClsDef:
818              }__;              }__;
819              my $continue = __DOMCore:ERROR{xp|wf-malformed-enc-name::              my $continue = __DOMCore:ERROR{xp|wf-malformed-enc-name::
820                DOMCore|location => {$location},                DOMCore|location => {$location},
821                xp|parent => {$doc},                xp|parent => {$self->{doc}},
822                xp|name => {$ver},                xp|name => {$ver},
823                xp|error-token => {$bad_token},                xp|error-token => {$bad_token},
824              }__;              }__;
825              unless ($continue) {              unless ($continue) {
826                __EXCEPTION{DOMLS|PARSE_ERR}__;                __EXCEPTION{DOMLS|PARSE_ERR}__;
827              }              }
             $self->{has_error} = true;  
828            }            }
829            $doc-><AS::Document.xmlEncoding> ($ver);            $self->{doc}-><AS::Document.xmlEncoding> ($ver);
830          }          }
831    
832          ~? (S) { }          ~? (S) { }
# Line 734  ClsDef: Line 877  ClsDef:
877              }__;              }__;
878              my $continue = __DOMCore:ERROR{xp|wf-malformed-xml-standalone::              my $continue = __DOMCore:ERROR{xp|wf-malformed-xml-standalone::
879                DOMCore|location => {$location},                DOMCore|location => {$location},
880                xp|parent => {$doc},                xp|parent => {$self->{doc}},
881                xp|name => {$ver},                xp|name => {$ver},
882                xp|error-token => {$bad_token},                xp|error-token => {$bad_token},
883              }__;              }__;
884              unless ($continue) {              unless ($continue) {
885                __EXCEPTION{DOMLS|PARSE_ERR}__;                __EXCEPTION{DOMLS|PARSE_ERR}__;
886              }              }
             $self->{has_error} = true;  
887            }            }
888            $doc-><AS::Document.xmlStandalone> ($ver);            if ($ver eq 'yes') {
889            $self->{standalone} = true if $ver eq 'yes';              $self->{doc}-><AS::Document.xmlStandalone> (true);
890                $self->{standalone} = true;
891              }
892          }          }
893    
894          ~? (S) { }          ~? (S) { }
895        }        }
896    
897        // ~ (PIC) { }        ~ (PIC1) {
898            lang:Perl {
899              $self->{entity}->[-1]->{no_xml11_eol} = false;
900            }
901          } else {
902            lang:Perl {
903              $self->{entity}->[-1]->{no_xml11_eol} = false;
904            }
905          }
906    
907          // ~ (PIC2) { }
908      } // _XMLDeclaration_      } // _XMLDeclaration_
909            
910      /*      /*
# Line 782  ClsDef: Line 936  ClsDef:
936                
937        // ~ (MDC) { }        // ~ (MDC) { }
938      } // _CommentDeclaration      } // _CommentDeclaration
939  _  
940      rule _CommentDeclarationDTD ($doc) {      rule _CommentDeclarationDTD {
941        ?lexmode 'CommentDeclaration';        ?lexmode CommentDeclaration;
942                
943        ~? (STRING) {        ~? (STRING) {
944          //          //
# Line 831  _ Line 985  _
985                __EXCEPTION{DOMLS|PARSE_ERR::                __EXCEPTION{DOMLS|PARSE_ERR::
986                }__;                }__;
987              }              }
             $self->{has_error} = true;  
988            }            }
989            ## TODO: Namespace well-formedness            ## TODO: Namespace well-formedness
990            $pi = $doc-><M::Document.createProcessingInstruction>            $pi = $doc-><M::Document.createProcessingInstruction>
991                          ($name);                          ($name);
992          }          }
993          } else {
994            lang:Perl {
995              $pi = $doc-><M::Document.createProcessingInstruction> ('#INVALID');
996            }
997        }        }
998                
999        ~ (S) {        ~? (S) {
1000          ?lexmode 'PIData';          ?lexmode 'PIData';
1001                    
1002          my $tdata;          my $tdata;
# Line 891  _ Line 1048  _
1048                __EXCEPTION{DOMLS|PARSE_ERR::                __EXCEPTION{DOMLS|PARSE_ERR::
1049                }__;                }__;
1050              }              }
             $self->{has_error} = true;  
1051            }            }
1052            ## TODO: Namespace well-formedness            ## TODO: Namespace well-formedness
1053            $pi = $doc-><M::Document.createProcessingInstruction>            $pi = $doc-><M::Document.createProcessingInstruction>
1054                          ($name);                          ($name);
1055          }                }      
1056          } else {
1057            lang:Perl {
1058              $pi = $doc-><M::Document.createProcessingInstruction> ('#INVALID');
1059            }
1060        }        }
1061                
1062        ~ (S) {        ~? (S) {
1063          ?lexmode 'PIData';          ?lexmode 'PIData';
1064                    
1065          my $tdata;          my $tdata;
# Line 1224  _ Line 1384  _
1384                unless ($continue) {                unless ($continue) {
1385                  __EXCEPTION{DOMLS|PARSE_ERR}__;                  __EXCEPTION{DOMLS|PARSE_ERR}__;
1386                }                }
               $self->{has_error} = true;  
1387              }              }
1388            }            }
1389          }          }
# Line 1251  _ Line 1410  _
1410                  }                  }
1411                  $node = shift @{$nodes};                  $node = shift @{$nodes};
1412                }                }
               $self->{has_error} = true;  
1413              }              }
1414            }            }
1415            return;            return;
# Line 1312  _ Line 1470  _
1470    
1471        ~ (#NONE) { }        ~ (#NONE) { }
1472      } // Element_      } // Element_
1473    
1474        /*
1475          content := [CharData]
1476                     *((element / Reference / CDSect / PI / Comment) [CharData])
1477        */
1478        rule content ($parent, $ns) {
1479          // ?lexmode ElementContent;
1480    
1481          my $doc;
1482          lang:Perl {
1483            $doc = $self->{doc};
1484          }
1485    
1486          ~* (CharData) {
1487            lang:Perl ($data => $token.value) {
1488              $parent-><M::Node.appendChild>
1489                ($self->{doc}-><M::Document.createTextNode> ($data));
1490            }
1491          } (STAGO) {
1492              &Element_ ($doc => $doc, $parent => $parent, $ns => $ns)
1493                : unshift-current-token;
1494              ~ (TAGC) {
1495                ?lexmode ElementContent;
1496              } else {
1497                ?lexmode ElementContent;
1498              }
1499            } (HCRO) {
1500              &_HexadecimalCharacterReference_
1501                ($doc => $doc, $parent => $parent);
1502    
1503              ~ (REFC) {
1504                ?lexmode 'ElementContent';
1505              } else {
1506                ?lexmode ElementContent;
1507              }
1508            } (CRO) {
1509              &_NumericCharacterReference_
1510                ($doc => $doc, $parent => $parent);
1511    
1512              ~ (REFC) {
1513                ?lexmode 'ElementContent';
1514              } else {
1515                ?lexmode ElementContent;
1516              }
1517            } (ERO) {
1518              &_GeneralEntityReferenceEC
1519                ($doc => $doc, $parent => $parent, $ns => $ns);
1520            } (CDO) {
1521              &_CommentDeclaration_ ($doc => $doc, $parent => $parent);
1522    
1523              ~ (MDC) {
1524                ?lexmode ElementContent;
1525              } else {
1526                ?lexmode ElementContent;
1527              }
1528            } (CDSO) {
1529              &_CDATASection_ ($doc => $doc, $parent => $parent);
1530    
1531              ~ (MSE) {
1532                ?lexmode 'ElementContent';
1533              } else {
1534                ?lexmode ElementContent;
1535              }
1536            } (PIO) {
1537              &_ProcessingInstruction_ ($doc => $doc, $parent => $parent);
1538    
1539              ~ (PIC) {
1540                ?lexmode 'ElementContent';
1541              } else {
1542                ?lexmode ElementContent;
1543              }
1544            }
1545        } // content
1546            
1547      rule AttributeSpecificationList ($doc, $attrs)      rule AttributeSpecificationList ($doc, $attrs)
1548        : standalone        : standalone
# Line 1330  _ Line 1561  _
1561          }          }
1562                    
1563          my $vals;          my $vals;
1564          lang:Perl {          lang:Perl : has-error {
1565            if ($attrs->{$atqname}) {            if ($attrs->{$atqname}) {
1566              my $location;              my $location;
1567              __CODE{xp|get-location-from-token::              __CODE{xp|get-location-from-token::
# Line 1345  _ Line 1576  _
1576              unless ($continue) {              unless ($continue) {
1577                __EXCEPTION{DOMLS|PARSE_ERR}__;                __EXCEPTION{DOMLS|PARSE_ERR}__;
1578              }              }
             $self->{has_error} = true;  
1579            }            }
1580                        
1581            $vals = $attrs->{$atqname} = {            $vals = $attrs->{$atqname} = {
# Line 1470  _ Line 1700  _
1700      } // _AttributeValueSpecificationA_      } // _AttributeValueSpecificationA_
1701            
1702      /*      /*
1703          Parsing replacement text of an entity referenced in
1704          an attribute value specification.
1705        */
1706        rule AttributeValueLiteralE_ ($parent, $vals)
1707          : recursive
1708        {
1709          // ?lexmode AttributeValueLiteralE;
1710          
1711          ~* (STRING) {
1712            lang:Perl ($value => $token.value) {
1713              $value =~ s/[\x09\x0A\x0D]/ /g;
1714              my $text = $self->{doc}-><M::Document.createTextNode> ($value);
1715              $parent-><M::Node.appendChild> ($text);
1716              $vals->{value} .= $value;
1717            }
1718          } (HCRO) {
1719            &_HexadecimalCharacterReferenceAE_
1720              ($parent => $parent, $vals => $vals);
1721    
1722            ~ (REFC) {
1723              ?lexmode AttributeValueLiteralE;
1724            } else {
1725              ?lexmode AttributeValueLiteralE;
1726            }
1727          } (CRO) {
1728            &_NumericCharacterReferenceAE_
1729              ($parent => $parent, $vals => $vals);
1730    
1731            ~ (REFC) {
1732              ?lexmode AttributeValueLiteralE;
1733            } else {
1734              ?lexmode AttributeValueLiteralE;
1735            }
1736          } (ERO) {
1737            &_GeneralEntityReferenceAE_ ($parent => $parent, $vals => $vals);
1738    
1739            ~ (REFC) {
1740              ?lexmode AttributeValueLiteralE;
1741            } else {
1742              ?lexmode AttributeValueLiteralE;
1743            }
1744          } (#INVALID == '<') {
1745            lang:Perl : has-error {
1746              my $location;
1747              __CODE{xp|get-location-from-token::
1748                $token => $token,
1749                $result => $location,
1750              }__;
1751              my $continue = __DOMCore:ERROR{xp|wf-no-lt-in-attribute-values::
1752                c|location => {$location},
1753                xp|token => {$token},
1754              }__;
1755              unless ($continue) {
1756                __EXCEPTION{DOMLS|PARSE_ERR}__;
1757              }
1758    
1759              my $text = $self->{doc}-><M::Document.createTextNode> ('<');
1760              $parent-><M::Node.appendChild> ($text);
1761              $vals->{value} .= '<';
1762            }
1763          }
1764          
1765          // ~ (#EOF) { }
1766        } // AttributeValueLiteralE_
1767        
1768        /*
1769        CDATA Section Content Parsing Mode        CDATA Section Content Parsing Mode
1770      */      */
1771      rule _CDATASection_ ($doc, $parent) {      rule _CDATASection_ ($doc, $parent) {
# Line 1527  _ Line 1823  _
1823              unless ($continue) {              unless ($continue) {
1824                __EXCEPTION{DOMLS|PARSE_ERR}__;                __EXCEPTION{DOMLS|PARSE_ERR}__;
1825              }              }
             $self->{has_error} = true;  
1826            }            }
1827            my $ncr = $doc-><M::Document.createTextNode> (chr $num);            my $ncr = $doc-><M::Document.createTextNode> (chr $num);
1828            $parent-><M::Node.appendChild> ($ncr);            $parent-><M::Node.appendChild> ($ncr);
# Line 1567  _ Line 1862  _
1862              unless ($continue) {              unless ($continue) {
1863                __EXCEPTION{DOMLS|PARSE_ERR}__;                __EXCEPTION{DOMLS|PARSE_ERR}__;
1864              }              }
             $self->{has_error} = true;  
1865            }            }
1866            my $ncr = $doc-><M::Document.createTextNode>            my $ncr = $doc-><M::Document.createTextNode>
1867                              (my $char = chr $num);                              (my $char = chr $num);
# Line 1579  _ Line 1873  _
1873        // ~ (REFC) { }        // ~ (REFC) { }
1874      } // _NumericCharacterReferenceV_      } // _NumericCharacterReferenceV_
1875            
1876        /*
1877          Numeric character reference in the replacement text
1878          of the entity referenced in an attribute value specification
1879        */
1880        rule _NumericCharacterReferenceAE_ ($parent, $vals)
1881        {
1882          ?lexmode NumericCharacterReference;
1883          
1884          ~ (NUMBER) {
1885            lang:Perl ($num => $token.value) : has-error {
1886              $num += 0;
1887              unless (
1888                ($self->{xml_version} eq '1.0' and
1889                  ((0x0020 <= $num and $num <= 0xD7FF) or
1890                   (0xE000 <= $num and $num <= 0xFFFD) or
1891                   (0x10000 <= $num and $num <= 0x10FFFF) or
1892                   $num == 0x9 or $num == 0xA or $num == 0xD)) or
1893                ($self->{xml_version} eq '1.1' and
1894                  ((0x0001 <= $num and $num <= 0xD7FF) or
1895                   (0xE000 <= $num and $num <= 0xFFFD) or
1896                   (0x10000 <= $num and $num <= 0x10FFFF)))
1897              ) {
1898                my $location;
1899                __CODE{xp|get-location-from-token::
1900                  $token => $token,
1901                  $result => $location,
1902                }__;
1903                my $continue = __DOMCore:ERROR{xp|wf-legal-character::
1904                  DOMCore:location => {$location},
1905                  xp|token => {$token},
1906                  xp|character-number => {$num},
1907                }__;
1908                unless ($continue) {
1909                  __EXCEPTION{DOMLS|PARSE_ERR}__;
1910                }
1911              }
1912              my $ncr = $self->{doc}-><M::Document.createTextNode>
1913                                (my $char = chr $num);
1914              $parent-><M::Node.appendChild> ($ncr);
1915              $vals->{value} .= $char;
1916            }
1917          }
1918          
1919          // ~ (REFC) { }
1920        } // _NumericCharacterReferenceAE_
1921        
1922        rule _NumericCharacterReferenceEV_ ($vals)
1923        {
1924          ?lexmode 'NumericCharacterReference';
1925          
1926          ~ (NUMBER) {
1927            lang:Perl ($num => $token.value) : has-error {
1928              $num += 0;
1929              unless (
1930                ($self->{xml_version} eq '1.0' and
1931                  ((0x0020 <= $num and $num <= 0xD7FF) or
1932                   (0xE000 <= $num and $num <= 0xFFFD) or
1933                   (0x10000 <= $num and $num <= 0x10FFFF) or
1934                   $num == 0x9 or $num == 0xA or $num == 0xD)) or
1935                ($self->{xml_version} eq '1.1' and
1936                  ((0x0001 <= $num and $num <= 0xD7FF) or
1937                   (0xE000 <= $num and $num <= 0xFFFD) or
1938                   (0x10000 <= $num and $num <= 0x10FFFF)))
1939              ) {
1940                my $location;
1941                __CODE{xp|get-location-from-token::
1942                  $token => $token,
1943                  $result => $location,
1944                }__;
1945                my $continue = __DOMCore:ERROR{xp|wf-legal-character::
1946                  DOMCore:location => {$location},
1947                  xp|token => {$token},
1948                  xp|character-number => {$num},
1949                }__;
1950                unless ($continue) {
1951                  __EXCEPTION{DOMLS|PARSE_ERR}__;
1952                }
1953              }
1954              push @{$vals}, chr $num;
1955            }
1956          }
1957          
1958          // ~ (REFC) { }
1959        } // _NumericCharacterReferenceEV_
1960        
1961      rule _HexadecimalCharacterReference_ ($doc, $parent) {      rule _HexadecimalCharacterReference_ ($doc, $parent) {
1962        ?lexmode 'HexadecimalCharacterReference';        ?lexmode 'HexadecimalCharacterReference';
1963                
# Line 1610  _ Line 1989  _
1989              unless ($continue) {              unless ($continue) {
1990                __EXCEPTION{DOMLS|PARSE_ERR}__;                __EXCEPTION{DOMLS|PARSE_ERR}__;
1991              }              }
             $self->{has_error} = true;  
1992            }            }
1993            my $ncr = $doc-><M::Document.createTextNode>            my $ncr = $doc-><M::Document.createTextNode>
1994                        (chr $num);                        (chr $num);
# Line 1651  _ Line 2029  _
2029              unless ($continue) {              unless ($continue) {
2030                __EXCEPTION{DOMLS|PARSE_ERR}__;                __EXCEPTION{DOMLS|PARSE_ERR}__;
2031              }              }
             $self->{has_error} = true;  
2032            }            }
2033            my $ncr = $doc-><M::Document.createTextNode>            my $ncr = $doc-><M::Document.createTextNode>
2034                        (my $char = chr $num);                        (my $char = chr $num);
# Line 1664  _ Line 2041  _
2041      } // _HexadecimalCharacterReferenceV_      } // _HexadecimalCharacterReferenceV_
2042            
2043      /*      /*
2044          Hexadecimal character reference in the replacement text
2045          of the entity referenced in an attribute value literal
2046        */
2047        rule _HexadecimalCharacterReferenceAE_ ($parent, $vals)
2048        {
2049          ?lexmode HexadecimalCharacterReference;
2050          
2051          ~ (Hex) {
2052            lang:Perl ($v => $token.value) : has-error {
2053              my $num = hex $v;
2054              unless (
2055                ($self->{xml_version} eq '1.0' and
2056                  ((0x0020 <= $num and $num <= 0xD7FF) or
2057                   (0xE000 <= $num and $num <= 0xFFFD) or
2058                   (0x10000 <= $num and $num <= 0x10FFFF) or
2059                   $num == 0x9 or $num == 0xA or $num == 0xD)) or
2060                ($self->{xml_version} eq '1.1' and
2061                  ((0x0001 <= $num and $num <= 0xD7FF) or
2062                   (0xE000 <= $num and $num <= 0xFFFD) or
2063                   (0x10000 <= $num and $num <= 0x10FFFF)))
2064              ) {
2065                my $location;
2066                __CODE{xp|get-location-from-token::
2067                  $token => $token,
2068                  $result => $location,
2069                }__;
2070                my $continue = __DOMCore:ERROR{xp|wf-legal-character::
2071                  DOMCore:location => {$location},
2072                  xp|token => {$token},
2073                  xp|character-number => {$num},
2074                }__;
2075                unless ($continue) {
2076                  __EXCEPTION{DOMLS|PARSE_ERR}__;
2077                }
2078              }
2079              my $ncr = $self->{doc}-><M::Document.createTextNode>
2080                          (my $char = chr $num);
2081              $parent-><M::Node.appendChild> ($ncr);
2082              $vals->{value} .= $char;
2083            }
2084          }
2085          
2086          // ~ (REFC) { }
2087        } // _HexadecimalCharacterReferenceAE_
2088        
2089        rule _HexadecimalCharacterReferenceEV_ ($vals) {
2090          ?lexmode HexadecimalCharacterReference;
2091          
2092          ~ (Hex) {
2093            lang:Perl ($v => $token.value) : has-error {
2094              my $num = hex $v;
2095              unless (
2096                ($self->{xml_version} eq '1.0' and
2097                  ((0x0020 <= $num and $num <= 0xD7FF) or
2098                   (0xE000 <= $num and $num <= 0xFFFD) or
2099                   (0x10000 <= $num and $num <= 0x10FFFF) or
2100                   $num == 0x9 or $num == 0xA or $num == 0xD)) or
2101                ($self->{xml_version} eq '1.1' and
2102                  ((0x0001 <= $num and $num <= 0xD7FF) or
2103                   (0xE000 <= $num and $num <= 0xFFFD) or
2104                   (0x10000 <= $num and $num <= 0x10FFFF)))
2105              ) {
2106                my $location;
2107                __CODE{xp|get-location-from-token::
2108                  $token => $token,
2109                  $result => $location,
2110                }__;
2111                my $continue = __DOMCore:ERROR{xp|wf-legal-character::
2112                  DOMCore:location => {$location},
2113                  xp|token => {$token},
2114                  xp|character-number => {$num},
2115                }__;
2116                unless ($continue) {
2117                  __EXCEPTION{DOMLS|PARSE_ERR}__;
2118                }
2119              }
2120              push @{$vals}, chr $num;
2121            }
2122          }
2123          
2124          // ~ (REFC) { }
2125        } // _HexadecimalCharacterReferenceEV_
2126        
2127        /*
2128        General entity reference in element's content        General entity reference in element's content
2129      */      */
2130      rule _GeneralEntityReferenceEC ($doc, $parent, $ns)      rule _GeneralEntityReferenceEC ($doc, $parent, $ns)
# Line 1671  _ Line 2132  _
2132      {      {
2133        ?lexmode 'EntityReference';        ?lexmode 'EntityReference';
2134                
2135        ~ (Name) {        ~ (Name == 'lt') {
2136            lang:Perl {
2137              $parent-><M::Node.appendChild>
2138                         ($self->{doc}-><M::Document.createTextNode> ('<'));
2139            }
2140          } (Name == 'gt') {
2141            lang:Perl {
2142              $parent-><M::Node.appendChild>
2143                         ($self->{doc}-><M::Document.createTextNode> ('>'));
2144            }
2145          } (Name == 'amp') {
2146            lang:Perl {
2147              $parent-><M::Node.appendChild>
2148                         ($self->{doc}-><M::Document.createTextNode> ('&'));
2149            }
2150          } (Name == 'quot') {
2151            lang:Perl {
2152              $parent-><M::Node.appendChild>
2153                         ($self->{doc}-><M::Document.createTextNode> ('"'));
2154            }
2155          } (Name == 'apos') {
2156            lang:Perl {
2157              $parent-><M::Node.appendChild>
2158                         ($self->{doc}-><M::Document.createTextNode> ("'"));
2159            }
2160          } (Name) {
2161          my $er;          my $er;
2162          lang:Perl ($name => $token.value) {          lang:Perl ($name => $token.value) : has-error {
2163            ## TODO: Namespace well-formedness            ## TODO: Namespace well-formedness
           ## TODO: Entity declared constraints  
2164            $er = $doc-><M::Document.createEntityReference>            $er = $doc-><M::Document.createEntityReference>
2165                             ($name);                             ($name);
2166              $er-><AS::Node.textContent> ('');
2167                ## NOTE: When document entity (and entities referenced directly
2168                ##       or indirectly from it) is parsed, no general entity
2169                ##       node have its replacement tree.  During general
2170                ##       entity node collection construction, however,
2171                ##       some entity node has replacement tree.
2172            $parent-><M::Node.appendChild> ($er);            $parent-><M::Node.appendChild> ($er);
2173            push @{$self->{entity}}, <Code::getCopyOfEntityState::  
2174              my $ent = $self->{general_entity}->{$name};
2175              if (not $ent) {  # no entity declaration
2176                if ($self->{standalone} or not $self->{has_xref}) { # WFC error
2177                  my $location;
2178                  __CODE{xp|get-location-from-token::
2179                    $token => {$token},
2180                    $result => {$location},
2181                  }__;
2182                  my $continue = __DOMCore:ERROR{xp|wf-entity-declared::
2183                    xp|error-token => {$token},
2184                    c|location => {$location},
2185                    xp|name => {$name},
2186                  }__;
2187                  unless ($continue) {
2188                    __EXCEPTION{DOMLS|PARSE_ERR}__;
2189                  }
2190                }                 # Otherwise VC error
2191                push @{$self->{entity}}, <Code::getEmptyEntityState::
2192                                                  $name = $name>;
2193                $er-><AS::x|EntityReference.isExpanded> (false);
2194    
2195              } else {         # there IS entity declaration
2196                if (($self->{standalone} or not $self->{has_xref}) and
2197                    $ent->{is_externally_declared} and
2198                    not $self->{entity}->[-1]->{is_externally_declared}) {
2199                  my $location;
2200                  __CODE{xp|get-location-from-token::
2201                    $token => {$token},
2202                    $result => {$location},
2203                  }__;
2204                  my $continue = __DOMCore:ERROR{xp|wf-entity-declared::
2205                    xp|error-token => {$token},
2206                    c|location => {$location},
2207                    xp|name => {$name},
2208                  }__;
2209                  unless ($continue) {
2210                    __EXCEPTION{DOMLS|PARSE_ERR}__;
2211                  }
2212                }          
2213                $er-><AS::x|EntityReference.isExpanded>
2214                       ($ent->{has_replacement_text});
2215                push @{$self->{entity}}, <Code::getCopyOfEntityState::
2216                                              $entity_type = 'general_entity',                                              $entity_type = 'general_entity',
2217                                              $entity_name = $name>;                                              $entity_name = $name>;
2218    
2219                if (defined $ent->{notation}) {
2220                  my $location;
2221                  __CODE{xp|get-location-from-token::
2222                    $token => {$token},
2223                    $result => {$location},
2224                  }__;
2225                  my $continue = __c|ERROR{xp|wf-parsed-entity::
2226                    xp|error-token => {$token},
2227                    c|location => {$location},
2228                    xp|name => {$name},
2229                  }__;
2230                  unless ($continue) {  
2231                    __EXCEPTION{DOMLS|PARSE_ERR::
2232                    }__;
2233                  }
2234                } # if unparsed entity
2235                
2236                if ($ent->{is_opened}) {
2237                  my $location;
2238                  __CODE{xp|get-location-from-token::
2239                    $token => {$token},
2240                    $result => {$location},
2241                  }__;
2242                  my $continue = __c|ERROR{xp|wf-no-recursion::
2243                    xp|error-token => {$token},
2244                    c|location => {$location},
2245                    xp|name => {$name},
2246                  }__;
2247                  unless ($continue) {  
2248                    __EXCEPTION{DOMLS|PARSE_ERR::
2249                    }__;
2250                  }
2251                  $self->{entity}->[-1]->{reptxt} = \'';
2252                  $er-><AS::x|EntityReference.isExpanded> (false);
2253                } # recursive
2254                $ent->{is_opened} = true;
2255              } # entity declared
2256              $self->{location} = $self->{entity}->[-1];
2257            push @{$self->{entity_token}}, $self->{token};            push @{$self->{entity_token}}, $self->{token};
2258            $self->{token} = [];            $self->{token} = [];
2259            push @{$self->{entity_char}}, $self->{char};            push @{$self->{entity_char}}, $self->{char};
# Line 1689  _ Line 2261  _
2261          }          }
2262    
2263          ?lexmode ElementContent;          ?lexmode ElementContent;
2264          ~* (CharData) {          &content ($doc => $doc, $parent => $er, $ns => $ns);
           lang:Perl ($data => $token.value) {  
             $er-><M::Node.appendChild>  
               ($doc-><M::Document.createTextNode> ($data));  
           }  
         } (STAGO) {  
           &Element_ ($doc => $doc, $parent => $er, $ns => $ns)  
             : unshift-current-token;  
           ~ (TAGC) {  
             ?lexmode ElementContent;  
           } else {  
             ?lexmode ElementContent;  
           }  
         } (HCRO) {  
           &_HexadecimalCharacterReference_  
             ($doc => $doc, $parent => $er);  
   
           ~ (REFC) {  
             ?lexmode 'ElementContent';  
           } else {  
             ?lexmode ElementContent;  
           }  
         } (CRO) {  
           &_NumericCharacterReference_  
             ($doc => $doc, $parent => $er);  
   
           ~ (REFC) {  
             ?lexmode 'ElementContent';  
           } else {  
             ?lexmode ElementContent;  
           }  
         } (ERO) {  
           &_GeneralEntityReferenceEC  
             ($doc => $doc, $parent => $er, $ns => $ns);  
         } (CDO) {  
           &_CommentDeclaration_ ($doc => $doc, $parent => $er);  
   
           ~ (MDC) {  
             ?lexmode ElementContent;  
           } else {  
             ?lexmode ElementContent;  
           }  
         } (CDSO) {  
           &_CDATASection_ ($doc => $doc, $parent => $er);  
   
           ~ (MSE) {  
             ?lexmode 'ElementContent';  
           } else {  
             ?lexmode ElementContent;  
           }  
         } (PIO) {  
           &_ProcessingInstruction_ ($doc => $doc, $parent => $er);  
   
           ~ (PIC) {  
             ?lexmode 'ElementContent';  
           } else {  
             ?lexmode ElementContent;  
           }  
         }  
   
2265          ~ (#EOF) { }          ~ (#EOF) { }
2266          lang:Perl {          lang:Perl {
2267              $self->{general_entity}->{$self->{entity}->[-1]->{name}}
2268                   ->{is_opened} = false
2269                if $self->{general_entity}->{$self->{entity}->[-1]->{name}};
2270            $self->{token} = pop @{$self->{entity_token}};            $self->{token} = pop @{$self->{entity_token}};
2271            $self->{char} = pop @{$self->{entity_char}};            $self->{char} = pop @{$self->{entity_char}};
2272            pop @{$self->{entity}};            pop @{$self->{entity}};
2273              $self->{location} = $self->{entity}->[-1];
2274          }          }
2275    
2276            // TODO: Set read-only flag
2277    
2278          ?lexmode EntityReference;          ?lexmode EntityReference;
2279          ?requires-next-token;          ?requires-next-token;
2280        }        }
# Line 1767  _ Line 2286  _
2286        }        }
2287      } // _GeneralEntityReferenceEC      } // _GeneralEntityReferenceEC
2288            
2289      rule _GeneralEntityReferenceV_ ($doc, $vals) {      /*
2290        // TODO: Expansion        General entity reference in an attribute value literal
2291        ?lexmode 'EntityReference';      */
2292        rule _GeneralEntityReferenceV_ ($vals) {
2293          ?lexmode EntityReference;
2294                
2295        ~ (Name) {        ~ (Name == 'lt') {
2296          lang:Perl ($name => $token.value) {          lang:Perl {
2297              push @{$vals->{nodes}}, $self->{doc}-><M::Document.createTextNode>
2298                                                      ('<');
2299              $vals->{value} .= '<';
2300            }
2301          } (Name == 'gt') {
2302            lang:Perl {
2303              push @{$vals->{nodes}}, $self->{doc}-><M::Document.createTextNode>
2304                                                      ('>');
2305              $vals->{value} .= '>';
2306            }
2307          } (Name == 'amp') {
2308            lang:Perl {
2309              push @{$vals->{nodes}}, $self->{doc}-><M::Document.createTextNode>
2310                                                      ('&');
2311              $vals->{value} .= '&';
2312            }
2313          } (Name == 'quot') {
2314            lang:Perl {
2315              push @{$vals->{nodes}}, $self->{doc}-><M::Document.createTextNode>
2316                                                      ('"');
2317              $vals->{value} .= '"';
2318            }
2319          } (Name == 'apos') {
2320            lang:Perl {
2321              push @{$vals->{nodes}}, $self->{doc}-><M::Document.createTextNode>
2322                                                      ("'");
2323              $vals->{value} .= "'";
2324            }
2325          } (Name) {
2326            my $er;
2327            lang:Perl ($name => $token.value) : has-error {
2328            ## TODO: Namespace well-formedness            ## TODO: Namespace well-formedness
2329            ## TODO: Entity declared constraints            
2330            my $er = $doc-><M::Document.createEntityReference>            $er = $self->{doc}-><M::Document.createEntityReference> ($name);
2331                             ($name);            $er-><AS::Node.textContent> ('');
2332                ## NOTE: When document entity (and entities referenced directly
2333                ##       or indirectly from it) is parsed, no general entity
2334                ##       node have its replacement tree.  During general
2335                ##       entity node collection construction, however,
2336                ##       some entity node has replacement tree.
2337              my $ent = $self->{general_entity}->{$name};
2338              if (not $ent) {  # no entity declaration
2339                if ($self->{standalone} or not $self->{has_xref}) { # WFC error
2340                  my $location;
2341                  __CODE{xp|get-location-from-token::
2342                    $token => {$token},
2343                    $result => {$location},
2344                  }__;
2345                  my $continue = __DOMCore:ERROR{xp|wf-entity-declared::
2346                    xp|error-token => {$token},
2347                    c|location => {$location},
2348                    xp|name => {$name},
2349                  }__;
2350                  unless ($continue) {
2351                    __EXCEPTION{DOMLS|PARSE_ERR}__;
2352                  }
2353                }                 # Otherwise VC error
2354                push @{$self->{entity}}, <Code::getEmptyEntityState::
2355                                                  $name = $name>;
2356                $er-><AS::x|EntityReference.isExpanded> (false);
2357    
2358              } else {         # there IS entity declaration
2359                if (($self->{standalone} or not $self->{has_xref}) and
2360                    $ent->{is_externally_declared} and
2361                    not $self->{entity}->[-1]->{is_externally_declared}) {
2362                  my $location;
2363                  __CODE{xp|get-location-from-token::
2364                    $token => {$token},
2365                    $result => {$location},
2366                  }__;
2367                  my $continue = __DOMCore:ERROR{xp|wf-entity-declared::
2368                    xp|error-token => {$token},
2369                    c|location => {$location},
2370                    xp|name => {$name},
2371                  }__;
2372                  unless ($continue) {
2373                    __EXCEPTION{DOMLS|PARSE_ERR}__;
2374                  }
2375                }          
2376    
2377                if ($ent->{is_external_entity}) {
2378                  my $location;
2379                  __CODE{xp|get-location-from-token::
2380                    $token => {$token},
2381                    $result => {$location},
2382                  }__;
2383                  my $continue = __c|ERROR{xp|wf-no-external-entity-references::
2384                    xp|error-token => {$token},
2385                    c|location => {$location},
2386                    xp|name => {$name},
2387                  }__;
2388                  unless ($continue) {  
2389                    __EXCEPTION{DOMLS|PARSE_ERR::
2390                    }__;
2391                  }
2392                  ## NOTE: |xp:wf-parsed-entity| is not checked
2393                } # if external entity
2394    
2395                $er-><AS::x|EntityReference.isExpanded>
2396                       ($ent->{has_replacement_text});
2397                push @{$self->{entity}}, <Code::getCopyOfEntityState::
2398                                                $entity_type = 'general_entity',
2399                                                $entity_name = $name>;
2400                
2401                if ($ent->{is_opened}) {
2402                  my $location;
2403                  __CODE{xp|get-location-from-token::
2404                    $token => {$token},
2405                    $result => {$location},
2406                  }__;
2407                  my $continue = __c|ERROR{xp|wf-no-recursion::
2408                    xp|error-token => {$token},
2409                    c|location => {$location},
2410                    xp|name => {$name},
2411                  }__;
2412                  unless ($continue) {  
2413                    __EXCEPTION{DOMLS|PARSE_ERR::
2414                    }__;
2415                  }
2416                  $self->{entity}->[-1]->{reptxt} = \'';
2417                  $er-><AS::x|EntityReference.isExpanded> (false);
2418                } # recursive
2419                $ent->{is_opened} = true;
2420              }
2421            push @{$vals->{nodes}}, $er;            push @{$vals->{nodes}}, $er;
2422              $self->{location} = $self->{entity}->[-1];
2423              push @{$self->{entity_token}}, $self->{token};
2424              $self->{token} = [];
2425              push @{$self->{entity_char}}, $self->{char};
2426              $self->{char} = [];
2427            }
2428    
2429            ?lexmode AttributeValueLiteralE;
2430            &AttributeValueLiteralE_ ($parent => $er, $vals => $vals);      
2431            ~ (#EOF) { }
2432            lang:Perl {
2433              $self->{general_entity}->{$self->{entity}->[-1]->{name}}
2434                   ->{is_opened} = false
2435                if $self->{general_entity}->{$self->{entity}->[-1]->{name}};
2436              $self->{token} = pop @{$self->{entity_token}};
2437              $self->{char} = pop @{$self->{entity_char}};
2438              pop @{$self->{entity}};
2439              $self->{location} = $self->{entity}->[-1];
2440          }          }
2441    
2442            // TODO: Set read-only flag
2443    
2444            ?lexmode EntityReference;
2445            ?requires-next-token;
2446        }        }
2447                
2448        // ~ (REFC) { }        // ~ (REFC) { }
2449      } // _GeneralEntityReferenceV_      } // _GeneralEntityReferenceV_
2450            
2451      /*      /*
2452        General entity reference in literal entity value        General entity reference in the replacement text
2453          of the entity referenced in an attribute value literal
2454      */      */
2455      rule _GeneralEntityReferenceEV_ ($doc, $vals) {      rule _GeneralEntityReferenceAE_ ($parent, $vals)
2456        {
2457          ?lexmode EntityReference;
2458          
2459          ~ (Name == 'lt') {
2460            lang:Perl {
2461              $parent-><M::Node.appendChild>
2462                         ($self->{doc}-><M::Document.createTextNode> ('<'));
2463              $vals->{value} .= '<';
2464            }
2465          } (Name == 'gt') {
2466            lang:Perl {
2467              $parent-><M::Node.appendChild>
2468                         ($self->{doc}-><M::Document.createTextNode> ('>'));
2469              $vals->{value} .= '>';
2470            }
2471          } (Name == 'amp') {
2472            lang:Perl {
2473              $parent-><M::Node.appendChild>
2474                         ($self->{doc}-><M::Document.createTextNode> ('&'));
2475              $vals->{value} .= '&';
2476            }
2477          } (Name == 'quot') {
2478            lang:Perl {
2479              $parent-><M::Node.appendChild>
2480                         ($self->{doc}-><M::Document.createTextNode> ('"'));
2481              $vals->{value} .= '"';
2482            }
2483          } (Name == 'apos') {
2484            lang:Perl {
2485              $parent-><M::Node.appendChild>
2486                         ($self->{doc}-><M::Document.createTextNode> ("'"));
2487              $vals->{value} .= "'";
2488            }
2489          } (Name) {
2490            my $er;
2491            lang:Perl ($name => $token.value) {
2492              ## TODO: Namespace well-formedness
2493    
2494              $er = $self->{doc}-><M::Document.createEntityReference> ($name);
2495              $er-><AS::Node.textContent> ('');
2496                ## NOTE: When document entity (and entities referenced directly
2497                ##       or indirectly from it) is parsed, no general entity
2498                ##       node have its replacement tree.  During general
2499                ##       entity node collection construction, however,
2500                ##       some entity node has replacement tree.
2501              my $ent = $self->{general_entity}->{$name};
2502              if (not $ent) {  # no entity declaration
2503                if ($self->{standalone} or not $self->{has_xref}) { # WFC error
2504                  my $location;
2505                  __CODE{xp|get-location-from-token::
2506                    $token => {$token},
2507                    $result => {$location},
2508                  }__;
2509                  my $continue = __DOMCore:ERROR{xp|wf-entity-declared::
2510                    xp|error-token => {$token},
2511                    c|location => {$location},
2512                    xp|name => {$name},
2513                  }__;
2514                  unless ($continue) {
2515                    __EXCEPTION{DOMLS|PARSE_ERR}__;
2516                  }
2517                }                 # Otherwise VC error
2518                push @{$self->{entity}}, <Code::getEmptyEntityState::
2519                                                  $name = $name>;
2520                $er-><AS::x|EntityReference.isExpanded> (false);
2521    
2522              } else {         # there IS entity declaration
2523                if (($self->{standalone} or not $self->{has_xref}) and
2524                    $ent->{is_externally_declared} and
2525                    not $self->{entity}->[-1]->{is_externally_declared}) {
2526                  my $location;
2527                  __CODE{xp|get-location-from-token::
2528                    $token => {$token},
2529                    $result => {$location},
2530                  }__;
2531                  my $continue = __DOMCore:ERROR{xp|wf-entity-declared::
2532                    xp|error-token => {$token},
2533                    c|location => {$location},
2534                    xp|name => {$name},
2535                  }__;
2536                  unless ($continue) {
2537                    __EXCEPTION{DOMLS|PARSE_ERR}__;
2538                  }
2539                }          
2540    
2541                if ($ent->{is_external_entity}) {
2542                  my $location;
2543                  __CODE{xp|get-location-from-token::
2544                    $token => {$token},
2545                    $result => {$location},
2546                  }__;
2547                  my $continue = __c|ERROR{xp|wf-no-external-entity-references::
2548                    xp|error-token => {$token},
2549                    c|location => {$location},
2550                    xp|name => {$name},
2551                  }__;
2552                  unless ($continue) {  
2553                    __EXCEPTION{DOMLS|PARSE_ERR::
2554                    }__;
2555                  }
2556                  ## NOTE: |xp:wf-parsed-entity| is not checked
2557                } # if external entity
2558    
2559                $er-><AS::x|EntityReference.isExpanded>
2560                       ($ent->{has_replacement_text});
2561                push @{$self->{entity}}, <Code::getCopyOfEntityState::
2562                                                $entity_type = 'general_entity',
2563                                                $entity_name = $name>;
2564                
2565                if ($ent->{is_opened}) {
2566                  my $location;
2567                  __CODE{xp|get-location-from-token::
2568                    $token => {$token},
2569                    $result => {$location},
2570                  }__;
2571                  my $continue = __c|ERROR{xp|wf-no-recursion::
2572                    xp|error-token => {$token},
2573                    c|location => {$location},
2574                    xp|name => {$name},
2575                  }__;
2576                  unless ($continue) {  
2577                    __EXCEPTION{DOMLS|PARSE_ERR::
2578                    }__;
2579                  }
2580                  $self->{entity}->[-1]->{reptxt} = \'';
2581                  $er-><AS::x|EntityReference.isExpanded> (false);
2582                } # recursive
2583                $ent->{is_opened} = true;
2584              }
2585              $parent-><M::Node.appendChild> ($er);
2586              $self->{location} = $self->{entity}->[-1];
2587              push @{$self->{entity_token}}, $self->{token};
2588              $self->{token} = [];
2589              push @{$self->{entity_char}}, $self->{char};
2590              $self->{char} = [];
2591            }
2592    
2593            ?lexmode AttributeValueLiteralE;
2594            &AttributeValueLiteralE_ ($parent => $er, $vals => $vals);      
2595            ~ (#EOF) { }
2596            lang:Perl {
2597              $self->{general_entity}->{$self->{entity}->[-1]->{name}}
2598                   ->{is_opened} = false
2599                if $self->{general_entity}->{$self->{entity}->[-1]->{name}};
2600              $self->{token} = pop @{$self->{entity_token}};
2601              $self->{char} = pop @{$self->{entity_char}};
2602              pop @{$self->{entity}};
2603              $self->{location} = $self->{entity}->[-1];
2604            }
2605    
2606            // TODO: Set read-only flag
2607    
2608            ?lexmode EntityReference;
2609            ?requires-next-token;
2610          }
2611          
2612          // ~ (REFC) { }
2613        } // _GeneralEntityReferenceAE_
2614        
2615        /*
2616          General Entity Reference in Literal Entity Value in Entity Declaration
2617        */
2618        rule _GeneralEntityReferenceEV_ ($vals) {
2619        ?lexmode 'EntityReference';        ?lexmode 'EntityReference';
2620                
2621        ~ (Name) {        ~ (Name) {
2622          lang:Perl ($name => $token.value) {          lang:Perl ($name => $token.value) {
2623            ## TODO: Namespace well-formedness            ## TODO: Namespace well-formedness
           ## TODO: Entity declared constraints  
2624            push @$vals, $name;            push @$vals, $name;
2625          }          }
2626            /*
2627              WFCs such as Entity Declared are not checked
2628              <http://www.w3.org/TR/xml11/#bypass>
2629    
2630              Note that violation to the Parsed Entity WFC is an error
2631              rather than fatal error here.
2632            */
2633        }        }
2634    
2635          // No expansion
2636                
2637        // ~ (REFC) { }        // ~ (REFC) { }
2638      } // _GeneralEntityReferenceEV_      } // _GeneralEntityReferenceEV_
# Line 1811  _ Line 2647  _
2647                
2648        ~ (S) { }        ~ (S) { }
2649                
       my $node;  
2650        // Document type name        // Document type name
2651        my $name;        my $name;
2652        ~ (Name) {        ~ (Name) {
# Line 1819  _ Line 2654  _
2654            $name = $v;            $name = $v;
2655          }          }
2656        }        }
2657    
2658          my $node;
2659          my $decl;
2660        lang:Perl {        lang:Perl {
2661          $node = $doc-><M::DocumentXDoctype.createDocumentTypeDefinition> ($name);          $self->{docx} = $self->{doc}
2662          $doc-><M::Node.appendChild> ($node);                               -><M::Node.getFeature> (<Q::fe:XDoctype>, '3.0');
2663          $doc-><AG::Document.domConfig>          $node = $self->{docx}-><M::DocumentXDoctype.createDocumentTypeDefinition>
2664              -><M::c|DOMConfiguration.setParameter>                                   ($name);
2665                  ('schema-type' => <Q::xml-dtd:>);          $decl = $self->{dtdecl} = $node-><M::Node.getFeature>
2666                                               (<Q::fe:XDoctypeDeclaration>, '3.0');
2667        }        }
2668    
2669        ~? (S) {        ~? (S) {
2670          ~? (Name == 'PUBLIC') {          ~? (Name == 'PUBLIC') {
2671            ~ (S) { }            ~ (S) { }
2672        
2673            &PubidLiteral ($doc => $doc);            &PubidLiteral ($decl => $decl);
2674        
2675            ~ (S) { }            ~ (S) { }
2676        
2677            &SystemLiteral ($doc => $doc);            &SystemLiteral ($decl => $decl);
2678        
2679            ~? (S) { }            ~? (S) { }
2680    
2681              lang:Perl {
2682                $self->{has_xref} = true;
2683              }
2684          } (Name == 'SYSTEM') {          } (Name == 'SYSTEM') {
2685            ~ (S) { }            ~ (S) { }
2686        
2687            &SystemLiteral ($doc => $doc);            &SystemLiteral ($decl => $decl);
2688        
2689            ~? (S) { }            ~? (S) { }
2690    
2691              lang:Perl {
2692                $self->{has_xref} = true;
2693              }
2694          }          }
2695        }        }
2696    
2697          lang:Perl {
2698            $self->{dtdef} = $node;
2699            $self->{doc}-><M::Node.appendChild> ($node);
2700            $self->{doc_cfg}-><M::c|DOMConfiguration.setParameter>
2701                                ('schema-type' => <Q::xml-dtd:>);
2702            ## ISSUE: Should default schema language information be
2703            ##        preserved by some other flag?
2704          }
2705                
2706        ~? (DSO) {        ~? (DSO) {
2707          &InternalSubset ($doc => $doc, $doctype => $node);          &InternalSubset ($doc => $doc, $doctype => $node);
# Line 1858  _ Line 2714  _
2714    
2715          ~? (S) { }          ~? (S) { }
2716        }        }
         
       // TODO: set $self->{standalone} true if only internal subset  
       //       with no param ref  
2717    
2718        // ~ (MDC) { }        // ~ (MDC) { }
2719      } // _DocumentTypeDeclaration_      } // _DocumentTypeDeclaration_
2720    
2721      rule PubidLiteral ($doc) {      /*
2722          Public Identifier Literal
2723        */
2724        rule PubidLiteral ($decl) {
2725          my $pubid;
2726          my $pubid_token;
2727        ~ (LIT) {        ~ (LIT) {
2728          ?lexmode SystemLiteral;          ?lexmode SystemLiteral;
2729    
2730          ~? (STRING) {          ~? (STRING) {
2731            // TODO: Charrange check & normalization is required            lang:Perl ($v => $token.value) {
2732                $pubid = $v;
2733                $pubid_token = $token;
2734              }
2735          }          }
2736    
2737          ~ (LIT) {          ~ (LIT) {
# Line 1883  _ Line 2743  _
2743          ?lexmode SystemLiteralA;          ?lexmode SystemLiteralA;
2744    
2745          ~? (STRING) {          ~? (STRING) {
2746            // TODO: Charrange check & normalization is required            lang:Perl ($v => $token.value) {
2747                $pubid = $v;
2748                $pubid_token = $token;
2749              }
2750          }          }
2751    
2752          ~ (LITA) {          ~ (LITA) {
# Line 1893  _ Line 2755  _
2755            ?lexmode MarkupDeclaration;            ?lexmode MarkupDeclaration;
2756          }          }
2757        }        }
2758    
2759          if-true ($pubid_token) {
2760            lang:Perl : has-error {
2761              if ($pubid =~ m{[^\x20\x0D\x0Aa-zA-Z0-9'()+,./:=?;!*#\@\$_%-]}s) {
2762                my $location;
2763                __CODE{xp|get-location-from-token::
2764                  $token => {$pubid_token},
2765                  $result => {$location},
2766                }__;
2767                                      ## Should this be other (new) error type?
2768                my $continue = __DOMCore:ERROR{xp|wf-syntax-error::
2769                  xp|error-token => {$token},
2770                  c|location => {$location},
2771                }__;
2772                unless ($continue) {
2773                  __EXCEPTION{DOMLS|PARSE_ERR::
2774                 }__;
2775                }
2776              }
2777    
2778              ## NOTE: U+0009 is syntactically illegal.
2779              $pubid =~ s/[\x09\x0A\x0D\x20]+/\x20/gs;
2780              $pubid =~ s/\A\x20//s;
2781              $pubid =~ s/\x20\z//s;
2782                     ## NOTE: Bare attribute name is written.
2783              $decl->public_id ($pubid);
2784            }
2785          }
2786      } // PubidLiteral      } // PubidLiteral
2787    
2788      rule SystemLiteral ($doc) {      /*
2789          System Identifier Literal
2790        */
2791        rule SystemLiteral ($decl) {
2792        ~ (LIT) {        ~ (LIT) {
2793          ?lexmode SystemLiteral;          ?lexmode SystemLiteral;
2794          &_SystemLiteral ($doc => $doc);          &_SystemLiteral ($decl => $decl);
2795        } (LITA) {        } (LITA) {
2796          ?lexmode SystemLiteralA;          ?lexmode SystemLiteralA;
2797          &_SystemLiteral ($doc => $doc);          &_SystemLiteral ($decl => $decl);
2798        }        }
2799      } // SystemLiteral      } // SystemLiteral
2800    
2801      rule _SystemLiteral ($doc) {      /*
2802        ~? (STRING) {        System Identifier Literal Content
2803        */
2804        rule _SystemLiteral ($decl) {
2805          // LIT or LITA
2806    
2807          ~? (STRING) {
2808            lang:Perl ($v => $token.value) {
2809                     ## NOTE: Bare attribute name is written.
2810              $decl->system_id ($v);
2811            }
2812        }        }
2813    
2814        ~ (LIT) {        ~ (LIT) {
# Line 1948  _ Line 2849  _
2849        } (PERO) {        } (PERO) {
2850          ?lexmode EntityReference;          ?lexmode EntityReference;
2851    
2852            lang:Perl {
2853              $self->{has_xref} = true;
2854            }
2855    
2856          ~ (Name) {          ~ (Name) {
2857    
2858          }          }
# Line 2138  _ Line 3043  _
3043        lang:Perl {        lang:Perl {
3044          $et = $doctype-><M::DTDef.getElementTypeDefinitionNode> ($name);          $et = $doctype-><M::DTDef.getElementTypeDefinitionNode> ($name);
3045          unless ($et) {          unless ($et) {
3046            $docxd = $doc-><M::Node.getFeature> (<Q::ManakaiDOM:XDoctype>, '3.0');            $docxd = $doc-><M::Node.getFeature> (<Q::fe:XDoctype>, '3.0');
3047            $et = $docxd-><M::DocumentXDoctype.createElementTypeDefinition>            $et = $docxd-><M::DocumentXDoctype.createElementTypeDefinition>
3048                            ($name);                            ($name);
3049            $doctype-><M::DTDef.setElementTypeDefinitionNode> ($et)            $doctype-><M::DTDef.setElementTypeDefinitionNode> ($et)
# Line 2152  _ Line 3057  _
3057          my $at;          my $at;
3058          lang:Perl ($v => $token.value) {          lang:Perl ($v => $token.value) {
3059            $docxd ||= $doc-><M::Node.getFeature>            $docxd ||= $doc-><M::Node.getFeature>
3060                               (<Q::ManakaiDOM:XDoctype>, '3.0');                               (<Q::fe:XDoctype>, '3.0');
3061            $at = $docxd-><M::DocumentXDoctype.createAttributeDefinition> ($v);            $at = $docxd-><M::DocumentXDoctype.createAttributeDefinition> ($v);
3062            unless (exists $et-><AG::ETDef.attributeDefinitions>->{$v}) {            unless (exists $et-><AG::ETDef.attributeDefinitions>->{$v}) {
3063              $et-><M::ETDef.setAttributeDefinitionNode> ($at);              $et-><M::ETDef.setAttributeDefinitionNode> ($at);
# Line 2350  _ Line 3255  _
3255        }        }
3256      } // _AttlistDeclaration      } // _AttlistDeclaration
3257    
3258        /*
3259          Entity declaration
3260        */
3261      rule _EntityDeclaration ($doc) {      rule _EntityDeclaration ($doc) {
3262        // ~ (MDO) { }        // ~ (MDO) { }
3263        // ~ (Name == ENTITY) { }        // ~ (Name == ENTITY) { }
3264    
3265        ~ (S) { }        ~ (S) { }
3266    
3267          my $is_param_entity;
3268        my $decl;        my $decl;
3269        lang:Perl { $decl = {}; }        lang:Perl { $decl = { name => '#ILLEGAL', reptxt => \'' }; }
3270    
3271        ~? (PERO) {        ~? (PERO) {
3272          ~ (S) { }          ~ (S) { }
3273          lang:Perl {          lang:Perl {
3274            $decl->{is_param_entity} = true;            $is_param_entity = $decl->{is_param_entity} = true;
3275          }          }
3276        }        }
3277    
3278          /*
3279            TODO: Set |$decl->{is_externally_declared}| flag
3280                  and |Entity.isExternallyDeclared| attribute
3281                  for entity declarations in external subset or
3282                  in parameter entity.
3283          */
3284    
3285        ~ (Name) {        ~ (Name) {
3286          lang:Perl ($v => $token.value) {          lang:Perl ($v => $token.value) {
3287            $decl->{name} = $v;            $decl->{name} = $v;
3288          }          }
3289        }        }
3290    
3291          my $node;
3292          lang:Perl {
3293            $node =
3294            $decl->{node} = $self->{docx}-><M::DocumentXDoctype.createGeneralEntity>
3295                                             ($decl->{name});
3296            ## TODO: Parameter entity...
3297          }
3298    
3299        ~ (S) { }        ~ (S) { }
3300    
3301        ~ (LIT) {        ~ (LIT) {
# Line 2381  _ Line 3305  _
3305        } (Name == 'PUBLIC') {        } (Name == 'PUBLIC') {
3306          ~ (S) { }          ~ (S) { }
3307    
3308          &PubidLiteral ($doc => $doc, $decl => $decl);          &PubidLiteral ($decl => $node);
3309    
3310          ~ (S) { }          ~ (S) { }
3311    
3312          &SystemLiteral ($doc => $doc, $decl => $decl);          &SystemLiteral ($decl => $node);
3313    
3314            lang:Perl {
3315              $decl->{is_external_entity} = true;
3316            }
3317        } (Name == 'SYSTEM') {        } (Name == 'SYSTEM') {
3318          ~ (S) { }          ~ (S) { }
3319    
3320          &SystemLiteral ($doc => $doc, $decl => $decl);          &SystemLiteral ($decl => $node);
3321    
3322            lang:Perl {
3323              $decl->{is_external_entity} = true;
3324            }
3325        }        }
3326    
3327        ~? (S) {        ~? (S) {
3328          ~? (Name == 'NDATA') {          ~? (Name == 'NDATA') {
3329            // TODO: error if parameter entity            if-true ($is_param_entity) {
3330                lang:Perl : has-error {
3331                  my $location;
3332                  __CODE{xp|get-location-from-token::
3333                    $token => {$token},
3334                    $result => {$location},
3335                  }__;
3336                  my $continue = __DOMCore:ERROR{xp|wf-syntax-error::
3337                    xp|error-token => {$token},
3338                    c|location => {$location},
3339                  }__;
3340                  unless ($continue) {
3341                    __EXCEPTION{DOMLS|PARSE_ERR::
3342                    }__;
3343                  }
3344                }
3345              }
3346    
3347            ~ (S) { }            ~ (S) { }
3348        
3349            ~ (Name) {            ~ (Name) {
3350              lang:Perl ($v => $token.value) {              lang:Perl ($v => $token.value) {
3351                $decl->{notation} = $v;                $decl->{notation} = $v;
3352                  $decl->{node}-><AG::x|Entity.notationName> ($v);
3353              }              }
3354            }            }
3355    
# Line 2408  _ Line 3357  _
3357          }          }
3358        }        }
3359    
3360        lang:Perl {        lang:Perl : has-error {
3361          if ($self->{$decl->{is_param_entity} ? 'param_entity' : 'general_entity'}          if ($self->{$decl->{is_param_entity} ? 'param_entity' : 'general_entity'}
3362                   ->{$decl->{name}}) {                   ->{$decl->{name}}) {
3363            ## TODO: error            ## Predefined entity
3364              if (not $decl->{is_param_entity} and
3365                  {lt => true, gt => true, amp => true,
3366                   quot => true, apos => true}->{$decl->{name}}) {
3367                if ($decl->{is_external_entity}) {
3368                  my $location;
3369                  __CODE{xp|get-location-from-token::
3370                    $token => {$token},
3371                    $result => {$location},
3372                  }__;
3373                  my $continue = __c|ERROR{xp|error-internal-predefined-entity::
3374                    xp|error-token => {$token},
3375                    c|location => {$location},
3376                    xp|name => {$decl->{name}},
3377                  }__;
3378                  unless ($continue) {
3379                    __EXCEPTION{DOMLS|PARSE_ERR::
3380                    }__;
3381                  }              
3382                } elsif (
3383                  not ({gt => true, apos => true, quot => true}->{$decl->{name}} and
3384                       ${$decl->{reptxt}} eq {
3385                         gt => '>', apos => "'", quot => '"',
3386                       }->{$decl->{name}}) and
3387                  not (${$decl->{reptxt}} =~ /\A&#0*@{[{
3388                         lt => '60', gt => '62', amp => '38',
3389                         apos => '39', quot => '34',
3390                       }->{$decl->{name}}]};\z/) and
3391                  not (${$decl->{reptxt}} =~ /\A&#x0*(?:(?i)@{[{
3392                         lt => '3C', gt => '3E', amp => '26',
3393                         apos => '27', quot => '22',
3394                       }->{$decl->{name}}]});\z/)
3395                ) {
3396                  ## NOTE: See "SuikaWiki - Predefined Entities"
3397                  ##       "http://suika.fam.cx/gate/2005/sw/%E5%AE%9A%E7%BE%A9%E6%B8%88%E5%AE%9F%E4%BD%93".
3398                  my $location;
3399                  __CODE{xp|get-location-from-token::
3400                    $token => {$token},
3401                    $result => {$location},
3402                  }__;
3403                  my $continue = __c|ERROR{xp|error-malformed-predefined-entity::
3404                    xp|error-token => {$token},
3405                    c|location => {$location},
3406                    xp|name => {$decl->{name}},
3407                    xp|replacement-text => {${$decl->{reptxt}}},
3408                  }__;
3409                  unless ($continue) {
3410                    __EXCEPTION{DOMLS|PARSE_ERR::
3411                    }__;
3412                  }
3413                }
3414     ## TODO:
3415              } else {  ## Dupulicating declaration
3416                my $location;
3417                __CODE{xp|get-location-from-token::
3418                  $token => {$token},
3419                  $result => {$location},
3420                }__;
3421                my $continue = __c|ERROR{xp|warning-entity-declaration-ignored::
3422                  xp|error-token => {$token},
3423                  c|location => {$location},
3424                  xp|name => {$decl->{name}},
3425                }__;
3426                unless ($continue) {
3427                  __EXCEPTION{DOMLS|PARSE_ERR::
3428                  }__;
3429                }
3430              }
3431          } else {          } else {
3432            $self->{$decl->{is_param_entity} ? 'param_entity' : 'general_entity'}            $self->{$decl->{is_param_entity} ? 'param_entity' : 'general_entity'}
3433                 ->{$decl->{name}} = $decl;                 ->{$decl->{name}} = $decl;
3434              $self->{dtdef}-><M::DTDef.setGeneralEntityNode> ($decl->{node})
3435                unless $decl->{is_param_entity};
3436          }          }
3437        }        }
3438    
# Line 2437  _ Line 3455  _
3455    
3456        ~ (S) { }        ~ (S) { }
3457    
3458          my $decl;
3459          lang:Perl {
3460            $decl = $self->{docx}-><M::DocumentXDoctype.createGeneralEntity>
3461                                                   ($decl->{name});
3462               ## Temporary: to avoid error.
3463          }
3464    
3465        ~ (Name == 'PUBLIC') {        ~ (Name == 'PUBLIC') {
3466          ~ (S) { }          ~ (S) { }
3467    
3468          &PubidLiteral ($doc => $doc);          &PubidLiteral ($decl => $decl);
3469    
3470          ~? (S) {          ~? (S) {
3471            ~? (LIT) {            ~? (LIT) {
3472              ?lexmode SystemLiteral;              ?lexmode SystemLiteral;
3473              &_SystemLiteral ($doc => $doc);              &_SystemLiteral ($decl => $decl);
3474    
3475              ~? (S) { }              ~? (S) { }
3476            } (LITA) {            } (LITA) {
3477              ?lexmode SystemLiteralA;              ?lexmode SystemLiteralA;
3478              &_SystemLiteral ($doc => $doc);              &_SystemLiteral ($decl => $decl);
3479    
3480              ~? (S) { }              ~? (S) { }
3481            }            }
# Line 2458  _ Line 3483  _
3483        } (Name == 'SYSTEM') {        } (Name == 'SYSTEM') {
3484          ~ (S) { }          ~ (S) { }
3485    
3486          &SystemLiteral ($doc => $doc);          &SystemLiteral ($decl => $decl);
3487    
3488          ~? (S) { }          ~? (S) { }
3489        }        }
# Line 2470  _ Line 3495  _
3495        }        }
3496      } // _NotationDeclaration      } // _NotationDeclaration
3497    
3498      rule _EntityValue ($doc, $decl) {      rule _EntityValue ($decl) {
3499        ?lexmode EntityValue;        ?lexmode EntityValue;
3500    
3501        my $vals;        my $vals;
# Line 2486  _ Line 3511  _
3511          }          }
3512        } (PERO) {        } (PERO) {
3513          ?lexmode EntityDeclaration;          ?lexmode EntityDeclaration;
3514    
3515            lang:Perl {
3516              $self->{has_xref} = true;
3517            }
3518            
3519          // TODO: Expand or wferror if internal subset          // TODO: Expand or wferror if internal subset
3520    
# Line 2499  _ Line 3528  _
3528            ?lexmode EntityValue;            ?lexmode EntityValue;
3529          }          }
3530        } (HCRO) {        } (HCRO) {
3531          &_HexadecimalCharacterReferenceV_          &_HexadecimalCharacterReferenceEV_ ($vals => $vals);
           ($doc => $doc, $vals => $vals);  
3532    
3533          lang:Perl {          lang:Perl {
3534            $reptxt .= $vals->[0]-><AG::Node.textContent>;            $reptxt .= $vals->[-1];
           $vals = [];  
3535          }          }
3536    
3537          ~ (REFC) {          ~ (REFC) {
# Line 2513  _ Line 3540  _
3540            ?lexmode EntityValue;            ?lexmode EntityValue;
3541          }          }
3542        } (CRO) {        } (CRO) {
3543          &_NumericCharacterReferenceV_          &_NumericCharacterReferenceEV_ ($vals => $vals);
           ($doc => $doc, $vals => $vals);  
3544    
3545          lang:Perl {          lang:Perl {
3546            $reptxt .= $vals->[0]-><AG::Node.textContent>;            $reptxt .= $vals->[-1];
           $vals = [];  
3547          }          }
3548    
3549          ~ (REFC) {          ~ (REFC) {
# Line 2527  _ Line 3552  _
3552            ?lexmode EntityValue;            ?lexmode EntityValue;
3553          }          }
3554        } (ERO) {        } (ERO) {
3555          &_GeneralEntityReferenceEV_          &_GeneralEntityReferenceEV_ ($vals => $vals);
           ($doc => $doc, $vals => $vals);  
3556    
3557          lang:Perl {          lang:Perl {
3558            $reptxt .= '&' . $vals->[0] . ';';            $reptxt .= '&' . $vals->[-1] . ';';
           $vals = [];  
3559          }          }
3560    
3561          ~ (REFC) {          ~ (REFC) {
# Line 2552  _ Line 3575  _
3575    
3576        lang:Perl {        lang:Perl {
3577          $decl->{reptxt} = \$reptxt;          $decl->{reptxt} = \$reptxt;
3578            $decl->{has_replacement_text} = true;
3579        }        }
3580      } // _EntityValue      } // _EntityValue
3581    
3582      rule _EntityValueA ($doc, $decl) {      rule _EntityValueA ($decl) {
3583        ?lexmode EntityValueA;        ?lexmode EntityValueA;
3584    
3585        my $vals;        my $vals;
# Line 2572  _ Line 3596  _
3596        } (PERO) {        } (PERO) {
3597          ?lexmode EntityDeclaration;          ?lexmode EntityDeclaration;
3598    
3599            lang:Perl {
3600              $self->{has_xref} = true;
3601            }
3602    
3603          // TODO: implement this          // TODO: implement this
3604          ~ (Name) {          ~ (Name) {
3605    
# Line 2583  _ Line 3611  _
3611            ?lexmode EntityValueA;            ?lexmode EntityValueA;
3612          }          }
3613        } (HCRO) {        } (HCRO) {
3614          &_HexadecimalCharacterReferenceV_          &_HexadecimalCharacterReferenceEV_ ($vals => $vals);
           ($doc => $doc, $vals => $vals);  
3615    
3616          lang:Perl {          lang:Perl {
3617            $reptxt .= $vals->[0]-><AG::Node.textContent>;            $reptxt .= $vals->[-1];
           $vals = [];  
3618          }          }
3619    
3620    
# Line 2598  _ Line 3624  _
3624            ?lexmode EntityValueA;            ?lexmode EntityValueA;
3625          }          }
3626        } (CRO) {        } (CRO) {
3627          &_NumericCharacterReferenceV_          &_NumericCharacterReferenceEV_ ($vals => $vals);
           ($doc => $doc, $vals => $vals);  
3628    
3629          lang:Perl {          lang:Perl {
3630            $reptxt .= $vals->[0]-><AG::Node.textContent>;            $reptxt .= $vals->[-1];
           $vals = [];  
3631          }          }
3632    
3633          ~ (REFC) {          ~ (REFC) {
# Line 2612  _ Line 3636  _
3636            ?lexmode EntityValueA;            ?lexmode EntityValueA;
3637          }          }
3638        } (ERO) {        } (ERO) {
3639          &_GeneralEntityReferenceEV_          &_GeneralEntityReferenceEV_ ($vals => $vals);
           ($doc => $doc, $vals => $vals);  
3640    
3641          lang:Perl {          lang:Perl {
3642            $reptxt .= '&' . $vals->[0] . ';';            $reptxt .= '&' . $vals->[-1] . ';';
           $vals = [];  
3643          }          }
3644    
3645          ~ (REFC) {          ~ (REFC) {
# Line 2635  _ Line 3657  _
3657    
3658        lang:Perl {        lang:Perl {
3659          $decl->{reptxt} = \$reptxt;          $decl->{reptxt} = \$reptxt;
3660            $decl->{has_replacement_text} = true;
3661        }        }
3662      } // _EntityValueA      } // _EntityValueA
3663    
# Line 2862  _ Line 3885  _
3885      } // Nmtoken      } // Nmtoken
3886            
3887      /*      /*
3888        Space        S
3889      */      */
3890      lexmode S {      lexmode S {
3891        S := [U+0009 U+000A U+000D U+0020]+;        $s := [U+0009 U+000A U+000D U+0020];
3892          S := $s+;
3893      } // S      } // S
3894            
3895      /*      /*
# Line 2914  _ Line 3938  _
3938        */        */
3939        MDO := ['<'] ['!'];        MDO := ['<'] ['!'];
3940      } // DocumentProlog      } // DocumentProlog
3941        
3942      /*      /*
3943        Document start scanning mode        Document Start Scanning Mode
3944      */      */
3945      lexmode DocumentStart      lexmode DocumentStart
       : initial  
3946        : standalone        : standalone
3947        : extends => 'DocumentProlog'        : extends => 'DocumentProlog'
3948      {      {
# Line 2943  _ Line 3966  _
3966        /*        /*
3967          Comment data          Comment data
3968        */        */
3969        $string := ['-']? [^'-'];        ?default-token STRING : value;
       STRING : value := $string+;  
3970      } // CommentDeclaration      } // CommentDeclaration
3971            
3972      /*      /*
# Line 2962  _ Line 3984  _
3984      } // PIName      } // PIName
3985            
3986      /*      /*
3987          Processing instruction name and |S| scanning mode
3988        */
3989        lexmode PINmtoken
3990          : standalone
3991          : extends => 'Nmtoken'
3992          : extends => 'S'
3993        {
3994          /*
3995            Processing instruction close
3996          */
3997          PIC := ['?'] ['>'];
3998        } // PINmtoken
3999        
4000        /*
4001        Processing instruction data scanning mode        Processing instruction data scanning mode
4002      */      */
4003      lexmode PIData      lexmode PIData
# Line 3098  _ Line 4134  _
4134        REFC := [';'];        REFC := [';'];
4135      } // HexadecimalCharacterReference      } // HexadecimalCharacterReference
4136            
4137        /*
4138          The XML Declaration and Text Declaration Scanning Mode
4139        */
4140      lexmode XMLDeclaration      lexmode XMLDeclaration
4141        : standalone        : standalone
4142        : extends => 'Name'        : extends => 'Name'
# Line 3117  _ Line 4156  _
4156                
4157        /*        /*
4158          Processing instruction close          Processing instruction close
4159    
4160              The |PIC|, i.e. |?>|, is split into two tokens |PIC1| and |PIC2|
4161              in this scanning mode to set |no_xml11_eol| flag in the
4162              |_XMLDeclaration_| |rule|.
4163        */        */
4164        PIC := ['?'] ['>'];        PIC1 := ['?'];
4165          PIC2 := ['>'];
4166      } // XMLDeclaration      } // XMLDeclaration
4167    
4168        /*
4169          The XML Declaration or Processing Instruction Scanning Mode
4170    
4171               '<?xml'               S                 ...
4172            (DocumentStart) (XMLDeclarationOrPI) (XMLDeclaration)
4173               '<?xml'              '1'                S                ...
4174            (DocumentStart) (XMLDeclarationOrPI) (PINmtoken)(PIName) (PITarget)
4175               '<?xml'              '-'         'stylesheet'    S       ...
4176            (DocumentStart) (XMLDeclarationOrPI) (PINmtoken) (PIName) (PITarget)
4177        */
4178        lexmode XMLDeclarationOrPI
4179          : standalone
4180          : extends => 'NameChar'
4181          : extends => 'S'
4182        {
4183          NameChar : value := $NameChar11;
4184        } // XMLDeclarationOrPI
4185            
4186      lexmode StartTag      lexmode StartTag
4187        : standalone        : standalone
# Line 3181  _ Line 4243  _
4243        LITA := [U+0027];        LITA := [U+0027];
4244        STRING : value := [^U+0027 '&' '<']+;        STRING : value := [^U+0027 '&' '<']+;
4245      } // AttributeValueLiteralA      } // AttributeValueLiteralA
4246        
4247        lexmode AttributeValueLiteralE
4248          : standalone
4249          : extends => 'AttributeValueLiteral_'
4250        {
4251          STRING : value := [^'&' '<']+;
4252        } // AttributeValueLiteralE
4253    
4254      lexmode EntityValue_ {      lexmode EntityValue_ {
4255        PERO := ['%'];        PERO := ['%'];
# Line 3382  _ Line 4451  _
4451            __EXCEPTION{DOMLS|PARSE_ERR::            __EXCEPTION{DOMLS|PARSE_ERR::
4452            }__;            }__;
4453          }          }
         $self->{has_error} = true;  
4454        }        }
4455      } // default      } // default
4456    
4457    @XMLTests:    @XMLTests:
4458      @@XMLTest:      @@XMLTest:
4459          @@@QName: xp.char.xml10.test
4460          @@@DEnt:
4461            @@@@test:value:
4462              <?xml version="1.0"?>
4463              <p>$u0009$u000A$u000D$u0020$uD7FF$uE000$uFFFD$U00010000$U0010FFFF</p>
4464          @@@test:domTree:
4465            document {
4466              xml-version: '1.0';
4467              element {
4468                text-content: U+0009 U+000A U+000A U+0020 U+D7FF
4469                              U+E000 U+FFFD U+10000 U+10FFFF;
4470              }
4471            }
4472        @@XMLTest:
4473          @@@QName: xp.char.xml11.test
4474          @@@DEnt:
4475            @@@@test:value:
4476              <?xml version="1.1"?>
4477              <p>$u0009$u000A$u000D$u0020$uD7FF$uE000$uFFFD$U00010000$U0010FFFF</p>
4478          @@@test:domTree:
4479            document {
4480              xml-version: '1.1';
4481              element {
4482                text-content: U+0009 U+000A U+000A U+0020 U+D7FF
4483                              U+E000 U+FFFD U+10000 U+10FFFF;
4484              }
4485            }
4486        @@XMLTest:
4487          @@@QName: xp.char.xml10.c0.test
4488          @@@DEnt:
4489            @@@@test:value:
4490              <?xml version="1.0"?>
4491              <p>$u0000$u0001$u0002$u0003$u0004$u0005$u0006$u0007$u0008$u000B$
4492              $u000C$u000E$u000F$u0010$u0011$u0012$u0013$u0014$u0015$u0016$
4493              $u0017$u0018$u0019$u001A$u001B$u001C$u001D$u001E$u001F</p>
4494          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 4); } /* U+0000 */
4495          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 5); } /* U+0001 */
4496          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 6); } /* U+0002 */
4497          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 7); } /* U+0003 */
4498          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 8); } /* U+0004 */
4499          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 9); } /* U+0005 */
4500          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 10); } /* U+0006 */
4501          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 11); } /* U+0007 */
4502          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 12); } /* U+0008 */
4503          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 13); } /* U+000B */
4504          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 14); } /* U+000C */
4505          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 15); } /* U+000E */
4506          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 16); } /* U+000F */
4507          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 17); } /* U+0010 */
4508          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 18); } /* U+0011 */
4509          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 19); } /* U+0012 */
4510          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 20); } /* U+0013 */
4511          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 21); } /* U+0014 */
4512          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 22); } /* U+0015 */
4513          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 23); } /* U+0016 */
4514          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 24); } /* U+0017 */
4515          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 25); } /* U+0018 */
4516          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 26); } /* U+0019 */
4517          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 27); } /* U+001A */
4518          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 28); } /* U+001B */
4519          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 29); } /* U+001C */
4520          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 30); } /* U+001D */
4521          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 31); } /* U+001E */
4522          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 32); } /* U+001F */
4523        @@XMLTest:
4524          @@@QName: xp.char.xml11.c0.test
4525          @@@DEnt:
4526            @@@@test:value:
4527              <?xml version="1.1"?>
4528              <p>$u0000$u0001$u0002$u0003$u0004$u0005$u0006$u0007$u0008$u000B$
4529              $u000C$u000E$u000F$u0010$u0011$u0012$u0013$u0014$u0015$u0016$
4530              $u0017$u0018$u0019$u001A$u001B$u001C$u001D$u001E$u001F</p>
4531          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 4); } /* U+0000 */
4532          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 5); } /* U+0001 */
4533          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 6); } /* U+0002 */
4534          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 7); } /* U+0003 */
4535          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 8); } /* U+0004 */
4536          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 9); } /* U+0005 */
4537          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 10); } /* U+0006 */
4538          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 11); } /* U+0007 */
4539          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 12); } /* U+0008 */
4540          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 13); } /* U+000B */
4541          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 14); } /* U+000C */
4542          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 15); } /* U+000E */
4543          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 16); } /* U+000F */
4544          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 17); } /* U+0010 */
4545          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 18); } /* U+0011 */
4546          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 19); } /* U+0012 */
4547          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 20); } /* U+0013 */
4548          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 21); } /* U+0014 */
4549          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 22); } /* U+0015 */
4550          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 23); } /* U+0016 */
4551          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 24); } /* U+0017 */
4552          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 25); } /* U+0018 */
4553          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 26); } /* U+0019 */
4554          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 27); } /* U+001A */
4555          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 28); } /* U+001B */
4556          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 29); } /* U+001C */
4557          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 30); } /* U+001D */
4558          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 31); } /* U+001E */
4559          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 32); } /* U+001F */
4560        @@XMLTest:
4561          @@@QName: xp.char.xml10.c1.test
4562          @@@DEnt:
4563            @@@@test:value:
4564              <?xml version="1.0"?>
4565              <p>$u007F$u0080$u0081$u0082$u0083$u0084$u0086$u0087$u0088$
4566              $u0089$u008A$u008B$u008C$
4567              $u008D$u008E$u008F$u0090$u0091$u0092$u0093$u0094$u0095$u0096$
4568              $u0097$u0098$u0099$u009A$u009B$u009C$u009D$u009E$u009F$u0085</p>
4569          @@@test:domTree:
4570            document {
4571              xml-version: '1.0';
4572              element {
4573                text-content: U+007F U+0080 U+0081 U+0082 U+0083 U+0084 U+0086
4574                              U+0087 U+0088 U+0089 U+008A U+008B U+008C U+008D
4575                              U+008E U+008F U+0090 U+0091 U+0092 U+0093 U+0094
4576                              U+0095 U+0096 U+0097 U+0098 U+0099 U+009A U+009B
4577                              U+009C U+009D U+009E U+009F U+0085;
4578              }
4579            }
4580        @@XMLTest:
4581          @@@QName: xp.char.xml11.c1.test
4582          @@@DEnt:
4583            @@@@test:value:
4584              <?xml version="1.1"?>
4585              <p>$u007F$u0080$u0081$u0082$u0083$u0084$u0086$u0087$u0088$
4586              $u0089$u008A$u008B$u008C$
4587              $u008D$u008E$u008F$u0090$u0091$u0092$u0093$u0094$u0095$u0096$
4588              $u0097$u0098$u0099$u009A$u009B$u009C$u009D$u009E$u009F$u0085</p>
4589          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 4); } /* U+007F */
4590          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 5); } /* U+0080 */
4591          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 6); } /* U+0081 */
4592          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 7); } /* U+0082 */
4593          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 8); } /* U+0083 */
4594          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 9); } /* U+0084 */
4595          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 10); } /* U+0086 */
4596          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 11); } /* U+0087 */
4597          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 12); } /* U+0088 */
4598          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 13); } /* U+0089 */
4599          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 14); } /* U+008A */
4600          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 15); } /* U+008B */
4601          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 16); } /* U+008C */
4602          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 17); } /* U+008D */
4603          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 18); } /* U+008E */
4604          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 19); } /* U+008F */
4605          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 20); } /* U+0090 */
4606          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 21); } /* U+0091 */
4607          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 22); } /* U+0092 */
4608          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 23); } /* U+0093 */
4609          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 24); } /* U+0094 */
4610          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 25); } /* U+0095 */
4611          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 26); } /* U+0096 */
4612          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 27); } /* U+0097 */
4613          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 28); } /* U+0098 */
4614          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 29); } /* U+0099 */
4615          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 30); } /* U+009A */
4616          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 31); } /* U+009B */
4617          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 32); } /* U+009C */
4618          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 33); } /* U+009D */
4619          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 34); } /* U+009E */
4620          @@@c:erred: <[[xp|wf-legal-literal-character]]> { (2, 35); } /* U+009F */
4621    
4622        @@XMLTest:
4623          @@@QName: xp.syntax.empty.test
4624          @@@DEnt:
4625            @@@@test:value: \
4626          @@@c:erred:
4627            <[[xp:wf-syntax-error]]> { (1, 1); }
4628        @@XMLTest:
4629          @@@QName: xp.syntax.space.test
4630          @@@DEnt:
4631            @@@@test:value: \  
4632          @@@c:erred:
4633            <[[xp:wf-syntax-error]]> { (1, 4); }
4634        @@XMLTest:
4635          @@@QName: xp.syntax.newlines.test
4636          @@@DEnt:
4637            @@@@test:value:
4638              \
4639              \
4640              \
4641          @@@c:erred:
4642            <[[xp:wf-syntax-error]]> { (3, 1); }
4643    
4644        @@XMLTest:
4645        @@@QName: xp.only.docel.test        @@@QName: xp.only.docel.test
4646        @@@DEnt:        @@@DEnt:
4647          @@@@test:value:          @@@@test:value:
# Line 3421  _ Line 4675  _
4675              text-content: '';              text-content: '';
4676            }            }
4677          }          }
4678        @@XMLTest:
4679          @@@QName: xp.root.s.1.test
4680          @@@DEnt:
4681            @@@@test:value:
4682              <?xml version="1.0"?>$u0020$u000D$u000A$u0009
4683              <p></p>
4684          @@@test:domTree:
4685            document {
4686              element { }
4687            }
4688    
4689        @@XMLTest:
4690          @@@QName: xp.Name.1.test
4691          @@@DEnt:
4692            @@@@test:value: <name/>
4693          @@@test:domTree:
4694            document {
4695              element {
4696                node-name: 'name';
4697              }
4698            }
4699        @@XMLTest:
4700          @@@QName: xp.Name.2.test
4701          @@@DEnt:
4702            @@@@test:value: <name0/>
4703          @@@test:domTree:
4704            document {
4705              element {
4706                node-name: 'name0';
4707              }
4708            }
4709        @@enImplNote:
4710          @@@ddid: xml11name
4711          @@@@:
4712            {TODO:: XML 1.1 Name tests required
4713            }
4714    
4715        @@XMLTest:
4716          @@@QName: xp.content.mse.1.test
4717          @@@DEnt:
4718            @@@@test:value:
4719              <p>]]></p>
4720          @@@c:erred:
4721            <[[xp|wf-syntax-error]]> { (1, 4)..(1, 6); }
4722        @@XMLTest:
4723          @@@QName: xp.content.mse.2.test
4724          @@@DEnt:
4725            @@@@test:value:
4726              <p>aaa]]>bbb</p>
4727          @@@c:erred:
4728            <[[xp|wf-syntax-error]]> { (1, 7)..(1, 9); }
4729    
4730        @@XMLTest:
4731          @@@QName: xp.root.comment.1.test
4732          @@@DEnt:
4733            @@@@test:value:
4734              <!--comment data-->
4735              <p/>
4736          @@@test:domTree:
4737            document {
4738              comment {
4739                data: 'comment data';
4740              }
4741              element { }
4742            }
4743        @@XMLTest:
4744          @@@QName: xp.root.comment.2.test
4745          @@@DEnt:
4746            @@@@test:value:
4747              <!---->
4748              <p/>
4749          @@@test:domTree:
4750            document {
4751              comment {
4752                data: '';
4753              }
4754              element { }
4755            }
4756        @@XMLTest:
4757          @@@QName: xp.root.after.pi.comment.1.test
4758          @@@DEnt:
4759            @@@@test:value:
4760              <?pi?>
4761              <!--comment data-->
4762              <p/>
4763          @@@test:domTree:
4764            document {
4765              pi { }
4766              comment {
4767                data: 'comment data';
4768              }
4769              element { }
4770            }
4771        @@XMLTest:
4772          @@@QName: xp.root.after.pi.comment.2.test
4773          @@@DEnt:
4774            @@@@test:value:
4775              <?pi?>
4776              <!---->
4777              <p/>
4778          @@@test:domTree:
4779            document {
4780              pi { }
4781              comment {
4782                data: '';
4783              }
4784              element { }
4785            }
4786        @@XMLTest:
4787          @@@QName: xp.root.after.element.comment.1.test
4788          @@@DEnt:
4789            @@@@test:value:
4790              <p/>
4791              <!--comment data-->
4792          @@@test:domTree:
4793            document {
4794              element { }
4795              comment {
4796                data: 'comment data';
4797              }
4798            }
4799        @@XMLTest:
4800          @@@QName: xp.root.after.element.comment.2.test
4801          @@@DEnt:
4802            @@@@test:value:
4803              <p/>
4804              <!---->
4805          @@@test:domTree:
4806            document {
4807              element { }
4808              comment {
4809                data: '';
4810              }
4811            }
4812        @@XMLTest:
4813          @@@QName: xp.doctype.intsubset.comment.1.test
4814          @@@DEnt:
4815            @@@@test:value:
4816              <!DOCTYPE a [
4817              <!--comment data-->
4818              ]>
4819              <p/>
4820          @@@test:domTree:
4821            document {
4822              document-type { }
4823              element { }
4824            }
4825        @@XMLTest:
4826          @@@QName: xp.doctype.intsubset.comment.2.test
4827          @@@DEnt:
4828            @@@@test:value:
4829              <!DOCTYPE a [
4830              <!---->
4831              ]>
4832              <p/>
4833          @@@test:domTree:
4834            document {
4835              document-type { }
4836              element { }
4837            }
4838        @@XMLTest:
4839          @@@QName: xp.doctype.intsubset.comment.3.test
4840          @@@DEnt:
4841            @@@@test:value:
4842              <!DOCTYPE a [
4843              <?pi?>
4844              <!---->
4845              ]>
4846              <p/>
4847          @@@test:domTree:
4848            document {
4849              document-type {
4850                pi { }
4851              }
4852              element { }
4853            }
4854        @@XMLTest:
4855          @@@QName: xp.content.comment.1.test
4856          @@@DEnt:
4857            @@@@test:value:
4858              <p><!--comment data--></p>
4859          @@@test:domTree:
4860            document {
4861              element {
4862                comment {
4863                  data: 'comment data';
4864                }
4865              }
4866            }
4867        @@XMLTest:
4868          @@@QName: xp.content.comment.2.test
4869          @@@DEnt:
4870            @@@@test:value:
4871              <p><!----></p>
4872          @@@test:domTree:
4873            document {
4874              element {
4875                comment {
4876                  data: '';
4877                }
4878              }
4879            }
4880        @@XMLTest:
4881          @@@QName: xp.content.comment.3.test
4882          @@@DEnt:
4883            @@@@test:value:
4884              <p>aaaaa<!---->bbbbb</p>
4885          @@@test:domTree:
4886            document {
4887              element {
4888                text {
4889                  data: 'aaaaa';
4890                }
4891                comment {
4892                  data: '';
4893                }
4894                text {
4895                  data: 'bbbbb';
4896                }
4897              }
4898            }
4899        @@XMLTest:
4900          @@@QName: xp.content.comment.--.1.test
4901          @@@DEnt:
4902            @@@@test:value:
4903              <p><!--data--data--></p>
4904          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 12)..(1, 17); }
4905        @@XMLTest:
4906          @@@QName: xp.content.comment.---gt.test
4907          @@@DEnt:
4908            @@@@test:value:
4909              <p><!--data---></p>
4910          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 12)..(1, 15); }
4911    
4912        @@XMLTest:
4913          @@@QName: xp.xmldecl.version.1.0.test
4914          @@@DEnt:
4915            @@@@test:value:
4916              <?xml version="1.0"?>
4917              <p></p>
4918          @@@test:domTree:
4919            document {
4920              xml-version: '1.0';
4921              xml-encoding: null;
4922              xml-standalone: false;
4923              element { }
4924            }
4925        @@XMLTest:
4926          @@@QName: xp.xmldecl.version.1.0.lita.test
4927          @@@DEnt:
4928            @@@@test:value:
4929              <?xml version='1.0'?>
4930              <p></p>
4931          @@@test:domTree:
4932            document {
4933              xml-version: '1.0';
4934              xml-encoding: null;
4935              xml-standalone: false;
4936              element { }
4937            }
4938        @@XMLTest:
4939          @@@QName: xp.xmldecl.version.1.0.s.test
4940          @@@DEnt:
4941            @@@@test:value:
4942              <?xml  version  =  "1.0"  ?>
4943              <p></p>
4944          @@@test:domTree:
4945            document {
4946              xml-version: '1.0';
4947              xml-encoding: null;
4948              xml-standalone: false;
4949              element { }
4950            }
4951        @@XMLTest:
4952          @@@QName: xp.xmldecl.version.1.1.test
4953          @@@DEnt:
4954            @@@@test:value:
4955              <?xml version="1.1"?>
4956              <p></p>
4957          @@@test:domTree:
4958            document {
4959              xml-version: '1.1';
4960              xml-encoding: null;
4961              xml-standalone: false;
4962              element { }
4963            }
4964    
4965        @@XMLTest:
4966          @@@QName: xp.xmldecl.version.1.0.encoding.usascii.test
4967          @@@DEnt:
4968            @@@@test:value:
4969              <?xml version="1.0" encoding="US-ascii"?>
4970              <p></p>
4971          @@@test:domTree:
4972            document {
4973              xml-version: '1.0';
4974              xml-encoding: 'US-ascii';
4975              xml-standalone: false;
4976              element { }
4977            }
4978        @@XMLTest:
4979          @@@QName: xp.xmldecl.version.1.0.encoding.usascii.lita.test
4980          @@@DEnt:
4981            @@@@test:value:
4982              <?xml version="1.0" encoding='US-ascii'?>
4983              <p></p>
4984          @@@test:domTree:
4985            document {
4986              xml-version: '1.0';
4987              xml-encoding: 'US-ascii';
4988              xml-standalone: false;
4989              element { }
4990            }
4991        @@XMLTest:
4992          @@@QName: xp.xmldecl.version.1.0.encoding.usascii.s.test
4993          @@@DEnt:
4994            @@@@test:value:
4995              <?xml version="1.0" encoding  = "US-ascii" ?>
4996              <p></p>
4997          @@@test:domTree:
4998            document {
4999              xml-version: '1.0';
5000              xml-encoding: 'US-ascii';
5001              xml-standalone: false;
5002              element { }
5003            }
5004    
5005        @@XMLTest:
5006          @@@QName: xp.xmldecl.version.1.0.encoding.usascii.standalone.yes.test
5007          @@@DEnt:
5008            @@@@test:value:
5009              <?xml version="1.0" encoding="us-ascii" standalone="yes"?>
5010              <p></p>
5011          @@@test:domTree:
5012            document {
5013              xml-version: '1.0';
5014              xml-encoding: 'us-ascii';
5015              xml-standalone: true;
5016              element { }
5017            }
5018        @@XMLTest:
5019          @@@QName: xp.xmldecl.version.1.0.encoding.usascii.standalone.no.test
5020          @@@DEnt:
5021            @@@@test:value:
5022              <?xml version="1.0" encoding="us-ascii" standalone="no"?>
5023              <p></p>
5024          @@@test:domTree:
5025            document {
5026              xml-version: '1.0';
5027              xml-encoding: 'us-ascii';
5028              xml-standalone: false;
5029              element { }
5030            }
5031        @@XMLTest:
5032          @@@QName: xp.xmldecl.version.1.0.encoding.usascii.standalone.yes.lita.test
5033          @@@DEnt:
5034            @@@@test:value:
5035              <?xml version="1.0" encoding="us-ascii" standalone='yes'?>
5036              <p></p>
5037          @@@test:domTree:
5038            document {
5039              xml-version: '1.0';
5040              xml-encoding: 'us-ascii';
5041              xml-standalone: true;
5042              element { }
5043            }
5044        @@XMLTest:
5045          @@@QName: xp.xmldecl.version.1.0.encoding.usascii.standalone.yes.s.test
5046          @@@DEnt:
5047            @@@@test:value:
5048              <?xml version="1.0" encoding="us-ascii"  standalone  = "yes"  ?>
5049              <p></p>
5050          @@@test:domTree:
5051            document {
5052              xml-version: '1.0';
5053              xml-encoding: 'us-ascii';
5054              xml-standalone: true;
5055              element { }
5056            }
5057        @@XMLTest:
5058          @@@QName: xp.xmldecl.no.encoding.but.standalone.attr.test
5059          @@@DEnt:
5060            @@@@test:value:
5061              <?xml version="1.0" standalone="yes"?>
5062              <p></p>
5063          @@@test:domTree:
5064            document {
5065              xml-version: '1.0';
5066              xml-encoding: null;
5067              xml-standalone: true;
5068              element { }
5069            }
5070        @@XMLTest:
5071          @@@QName: xp.xmldecl.encoding.encname.test
5072          @@@DEnt:
5073            @@@@test:value:
5074              <?xml version="1.0" encoding="a-._01-"?>
5075              <p></p>
5076          @@@test:domTree:
5077            document {
5078              xml-version: '1.0';
5079              xml-encoding: 'a-._01-';
5080              xml-standalone: false;
5081              element { }
5082            }
5083    
5084        @@XMLTest:
5085          @@@QName: xp.xmldecl.no.s.no.attr.test
5086          @@@DEnt:
5087            @@@@test:value:
5088              <?xml?>
5089              <p></p>
5090          @@@c:erred:
5091            <[[xp:wf-syntax-error]]> { (1, 1)..(1, 7); }
5092        @@XMLTest:
5093          @@@QName: xp.xmldecl.s.no.attr.test
5094          @@@DEnt:
5095            @@@@test:value:
5096              <?xml  ?>
5097              <p></p>
5098          @@@c:erred:
5099            <[[xp:wf-syntax-error]]> { (1, 8)..(1, 9); }
5100        @@XMLTest:
5101          @@@QName: xp.xmldecl.unknown.attr.test
5102          @@@DEnt:
5103            @@@@test:value:
5104              <?xml  unknown="value"?>
5105              <p></p>
5106          @@@c:erred:
5107            <[[xp:wf-syntax-error]]> { (1, 8)..(1, 22); }
5108        @@XMLTest:
5109          @@@QName: xp.xmldecl.version.unknown.attr.test
5110          @@@DEnt:
5111            @@@@test:value:
5112              <?xml version="1.0" unknown="value"?>
5113              <p></p>
5114          @@@c:erred:
5115            <[[xp:wf-syntax-error]]> { (1, 21)..(1, 35); }
5116        @@XMLTest:
5117          @@@QName: xp.xmldecl.version.encoding.unknown.attr.test
5118          @@@DEnt:
5119            @@@@test:value:
5120              <?xml version="1.0" encoding="us-ascii" unknown="value"?>
5121              <p></p>
5122          @@@c:erred:
5123            <[[xp:wf-syntax-error]]> { (1, 41)..(1, 55); }
5124        @@XMLTest:
5125          @@@QName: xp.xmldecl.version.encoding.standalone.unknown.attr.test
5126          @@@DEnt:
5127            @@@@test:value:
5128              <?xml version="1.0" encoding="us-ascii" standalone="yes"
5129              unknown="value"?>
5130              <p></p>
5131          @@@c:erred:
5132            <[[xp:wf-syntax-error]]> { (2, 1)..(2, 15); }
5133        @@XMLTest:
5134          @@@QName: xp.xmldecl.no.version.but.encoding.attr.test
5135          @@@DEnt:
5136            @@@@test:value:
5137              <?xml encoding="us-ascii"?>
5138              <p></p>
5139          @@@c:erred:
5140            <[[xp:wf-syntax-error]]> { (1, 7)..(1, 25); }
5141        @@XMLTest:
5142          @@@QName: xp.xmldecl.no.version.but.standalone.attr.test
5143          @@@DEnt:
5144            @@@@test:value:
5145              <?xml standalone="yes"?>
5146              <p></p>
5147          @@@c:erred:
5148            <[[xp:wf-syntax-error]]> { (1, 7)..(1, 24); }
5149        @@XMLTest:
5150          @@@QName: xp.xmldecl.version.unsupported.test
5151          @@@DEnt:
5152            @@@@test:value:
5153              <?xml version="1.2"?>
5154              <p></p>
5155          @@@c:erred:
5156            <[[xp:wf-unsupported-xml-version]]> { (1, 7)..(1, 19); }
5157        @@XMLTest:
5158          @@@QName: xp.xmldecl.version.unsupported.2.test
5159          @@@DEnt:
5160            @@@@test:value:
5161              <?xml version=" 1.0 "?>
5162              <p></p>
5163          @@@c:erred:
5164            <[[xp:wf-unsupported-xml-version]]> { (1, 7)..(1, 21); }
5165        @@XMLTest:
5166          @@@QName: xp.xmldecl.version.unsupported.3.test
5167          @@@DEnt:
5168            @@@@test:value:
5169              <?xml version="01.00"?>
5170              <p></p>
5171          @@@c:erred:
5172            <[[xp:wf-unsupported-xml-version]]> { (1, 7)..(1, 21); }
5173        @@XMLTest:
5174          @@@QName: xp.xmldecl.encoding.malformed.1.test
5175          @@@DEnt:
5176            @@@@test:value:
5177              <?xml version="1.0" encoding="0088"?>
5178              <p></p>
5179          @@@c:erred:
5180            <[[xp:wf-malformed-enc-name]]> { (1, 21)..(1, 35); }
5181        @@XMLTest:
5182          @@@QName: xp.xmldecl.encoding.malformed.2.test
5183          @@@DEnt:
5184            @@@@test:value:
5185              <?xml version="1.0" encoding="D.V.D!"?>
5186              <p></p>
5187          @@@c:erred:
5188            <[[xp:wf-malformed-enc-name]]> { (1, 21)..(1, 38); }
5189        @@XMLTest:
5190          @@@QName: xp.xmldecl.standalone.malformed.1.test
5191          @@@DEnt:
5192            @@@@test:value:
5193              <?xml version="1.0" standalone="true"?>
5194              <p></p>
5195          @@@c:erred:
5196            <[[xp:wf-malformed-xml-standalone]]> { (1, 21)..(1, 38); }
5197        @@XMLTest:
5198          @@@QName: xp.xmldecl.standalone.malformed.2.test
5199          @@@DEnt:
5200            @@@@test:value:
5201              <?xml version="1.0" standalone="YES"?>
5202              <p></p>
5203          @@@c:erred:
5204            <[[xp:wf-malformed-xml-standalone]]> { (1, 21)..(1, 37); }
5205        @@XMLTest:
5206          @@@QName: xp.xmldecl.standalone.malformed.3.test
5207          @@@DEnt:
5208            @@@@test:value:
5209              <?xml version="1.0" standalone="no  "?>
5210              <p></p>
5211          @@@c:erred:
5212            <[[xp:wf-malformed-xml-standalone]]> { (1, 21)..(1, 38); }
5213            
5214      @@XMLTest:      @@XMLTest:
5215          @@@QName: xp.no-xmldecl.xml...-pi.test
5216          @@@DEnt:
5217            @@@@test:value:
5218              <?xmldeclaration?>
5219              <a></a>
5220          @@@test:domTree:
5221            document {
5222              pi {
5223                node-name: 'xmldeclaration';
5224                node-value: '';
5225              }
5226              element { }
5227            }
5228        @@XMLTest:
5229          @@@QName: xp.no-xmldecl.xml...-pi.after.document.element.test
5230          @@@DEnt:
5231            @@@@test:value:
5232              <a></a>
5233              <?xmldeclaration?>
5234          @@@test:domTree:
5235            document {
5236              element { }
5237              pi {
5238                node-name: 'xmldeclaration';
5239                node-value: '';
5240              }
5241            }
5242        @@XMLTest:
5243          @@@QName: xp.no-xmldecl.xml...-pi.in.document.element.test
5244          @@@DEnt:
5245            @@@@test:value:
5246              <a>
5247              <?xmldeclaration?>
5248              </a>
5249          @@@test:domTree:
5250            document {
5251              element {
5252                text { }
5253                pi {
5254                  node-name: 'xmldeclaration';
5255                  node-value: '';
5256                }
5257                text { }
5258              }
5259            }
5260        @@XMLTest:
5261          @@@QName: xp.no-xmldecl.xml...-pi.in.doctype.test
5262          @@@DEnt:
5263            @@@@test:value:
5264              <!DOCTYPE a [
5265              <?xmldeclaration?>
5266              ]>
5267              <a></a>
5268          @@@test:domTree:
5269            document {
5270              document-type {
5271                pi {
5272                  node-name: 'xmldeclaration';
5273                  node-value: '';
5274                }
5275              }
5276              element { }
5277            }
5278    
5279        @@XMLTest:
5280          @@@QName: xp.XMLdecl.test
5281          @@@DEnt:
5282            @@@@test:value:
5283              <?XML version="1.0"?>
5284              <p></p>
5285          @@@c:erred:
5286            <[[xp:wf-pi-target-is-xml]]> { (1, 1)..(1, 5); }
5287        @@XMLTest:
5288          @@@QName: xp.Xmldecl.test
5289          @@@DEnt:
5290            @@@@test:value:
5291              <?Xml version="1.0"?>
5292              <p></p>
5293          @@@c:erred:
5294            <[[xp:wf-pi-target-is-xml]]> { (1, 1)..(1, 5); }
5295        @@XMLTest:
5296          @@@QName: xp.xmldecl.after.document.element.empty.test
5297          @@@DEnt:
5298            @@@@test:value:
5299              <p></p>
5300              <?xml?>
5301          @@@c:erred:
5302            <[[xp:wf-pi-target-is-xml]]> { (2, 1)..(2, 5); }
5303        @@XMLTest:
5304          @@@QName: xp.xmldecl.after.document.element.test
5305          @@@DEnt:
5306            @@@@test:value:
5307              <p></p>
5308              <?xml version="1.0"?>
5309          @@@c:erred:
5310            <[[xp:wf-pi-target-is-xml]]> { (2, 1)..(2, 5); }
5311        @@XMLTest:
5312          @@@QName: xp.xmldecl.in.element.empty.test
5313          @@@DEnt:
5314            @@@@test:value:
5315              <p>
5316              <?xml?>
5317              </p>
5318          @@@c:erred:
5319            <[[xp:wf-pi-target-is-xml]]> { (2, 1)..(2, 5); }
5320        @@XMLTest:
5321          @@@QName: xp.xmldecl.in.element.test
5322          @@@DEnt:
5323            @@@@test:value:
5324              <p>
5325              <?xml version="1.0"?>
5326              </p>
5327          @@@c:erred:
5328            <[[xp:wf-pi-target-is-xml]]> { (2, 1)..(2, 5); }
5329        @@XMLTest:
5330          @@@QName: xp.xmldecl.after.comment.test
5331          @@@DEnt:
5332            @@@@test:value:
5333              <!---->
5334              <?xml version="1.0"?>
5335              <p></p>
5336          @@@c:erred:
5337            <[[xp:wf-pi-target-is-xml]]> { (2, 1)..(2, 5); }
5338        @@XMLTest:
5339          @@@QName: xp.xmldecl.after.comment.empty.test
5340          @@@DEnt:
5341            @@@@test:value:
5342              <!---->
5343              <?xml?>
5344              <p></p>
5345          @@@c:erred:
5346            <[[xp:wf-pi-target-is-xml]]> { (2, 1)..(2, 5); }
5347        @@XMLTest:
5348          @@@QName: xp.xmldecl.after.pi.test
5349          @@@DEnt:
5350            @@@@test:value:
5351              <?xml-declaration?>
5352              <?xml version="1.0"?>
5353              <p></p>
5354          @@@c:erred:
5355            <[[xp:wf-pi-target-is-xml]]> { (2, 1)..(2, 5); }
5356        @@XMLTest:
5357          @@@QName: xp.xmldecl.after.pi.empty.test
5358          @@@DEnt:
5359            @@@@test:value:
5360              <?xml-declaration?>
5361              <?xml?>
5362              <p></p>
5363          @@@c:erred:
5364            <[[xp:wf-pi-target-is-xml]]> { (2, 1)..(2, 5); }
5365        @@XMLTest:
5366          @@@QName: xp.xmldecl.after.pi.2.test
5367          @@@DEnt:
5368            @@@@test:value:
5369              <?declaration?>
5370              <?xml version="1.0"?>
5371              <p></p>
5372          @@@c:erred:
5373            <[[xp:wf-pi-target-is-xml]]> { (2, 1)..(2, 5); }
5374        @@XMLTest:
5375          @@@QName: xp.xmldecl.after.pi.empty.2.test
5376          @@@DEnt:
5377            @@@@test:value:
5378              <?declaration?>
5379              <?xml?>
5380              <p></p>
5381          @@@c:erred:
5382            <[[xp:wf-pi-target-is-xml]]> { (2, 1)..(2, 5); }
5383        @@XMLTest:
5384          @@@QName: xp.xmldecl.after.doctype.test
5385          @@@DEnt:
5386            @@@@test:value:
5387              <!DOCTYPE a>
5388              <?xml version="1.0"?>
5389              <p></p>
5390          @@@c:erred:
5391            <[[xp:wf-pi-target-is-xml]]> { (2, 1)..(2, 5); }
5392        @@XMLTest:
5393          @@@QName: xp.xmldecl.after.doctype.empty.test
5394          @@@DEnt:
5395            @@@@test:value:
5396              <!DOCTYPE a>
5397              <?xml?>
5398              <p></p>
5399          @@@c:erred:
5400            <[[xp:wf-pi-target-is-xml]]> { (2, 1)..(2, 5); }
5401        @@XMLTest:
5402          @@@QName: xp.xmldecl.in.doctype.test
5403          @@@DEnt:
5404            @@@@test:value:
5405              <!DOCTYPE a [
5406              <?xml version="1.0"?>
5407              ]>
5408              <p></p>
5409          @@@c:erred:
5410            <[[xp:wf-pi-target-is-xml]]> { (2, 1)..(2, 5); }
5411        @@XMLTest:
5412          @@@QName: xp.xmldecl.in.doctype.empty.test
5413          @@@DEnt:
5414            @@@@test:value:
5415              <!DOCTYPE a [
5416              <?xml?>
5417              ]>
5418              <p></p>
5419          @@@c:erred:
5420            <[[xp:wf-pi-target-is-xml]]> { (2, 1)..(2, 5); }
5421    
5422        @@XMLTest:
5423          @@@QName: xp.pi.before.element.empty.test
5424          @@@DEnt:
5425            @@@@test:value:
5426              <?target?>
5427              <a></a>
5428          @@@test:domTree:
5429            document {
5430              pi {
5431                node-name: 'target';
5432                node-value: '';
5433              }
5434              element { }
5435            }
5436        @@XMLTest:
5437          @@@QName: xp.pi.before.element.s.test
5438          @@@DEnt:
5439            @@@@test:value:
5440              <?target  ?>
5441              <a></a>
5442          @@@test:domTree:
5443            document {
5444              pi {
5445                node-name: 'target';
5446                node-value: '';
5447              }
5448              element { }
5449            }
5450        @@XMLTest:
5451          @@@QName: xp.pi.before.element.string.test
5452          @@@DEnt:
5453            @@@@test:value:
5454              <?target string?>
5455              <a></a>
5456          @@@test:domTree:
5457            document {
5458              pi {
5459                node-name: 'target';
5460                node-value: 'string';
5461              }
5462              element { }
5463            }
5464        @@XMLTest:
5465          @@@QName: xp.pi.before.element.string.s.test
5466          @@@DEnt:
5467            @@@@test:value:
5468              <?target string  ?>
5469              <a></a>
5470          @@@test:domTree:
5471            document {
5472              pi {
5473                node-name: 'target';
5474                node-value: 'string  ';
5475              }
5476              element { }
5477            }
5478        @@XMLTest:
5479          @@@QName: xp.pi.before.element.gt.test
5480          @@@DEnt:
5481            @@@@test:value:
5482              <?target string>string?>
5483              <a></a>
5484          @@@test:domTree:
5485            document {
5486              pi {
5487                node-name: 'target';
5488                node-value: 'string>string';
5489              }
5490              element { }
5491            }
5492        @@XMLTest:
5493          @@@QName: xp.pi.doctype.empty.test
5494          @@@DEnt:
5495            @@@@test:value:
5496              <!DOCTYPE a [
5497              <?target?>
5498              ]>
5499              <a></a>
5500          @@@test:domTree:
5501            document {
5502              document-type {
5503                pi {
5504                  node-name: 'target';
5505                  node-value: '';
5506                }
5507              }
5508              element { }
5509            }
5510    
5511        @@XMLTest:
5512          @@@QName: xp.pi.no.target.test
5513          @@@DEnt:
5514            @@@@test:value:
5515              <??>
5516              <p></p>
5517          @@@c:erred:
5518            <[[xp:wf-syntax-error]]> { (1, 3)..(1, 4); }
5519        @@XMLTest:
5520          @@@QName: xp.pi.no.target.2.test
5521          @@@DEnt:
5522            @@@@test:value:
5523              <?  ?>
5524              <p></p>
5525          @@@c:erred:
5526            <[[xp:wf-syntax-error]]> { (1, 3)..(1, 4); }
5527        @@XMLTest:
5528          @@@QName: xp.pi.bad.target.1.test
5529          @@@DEnt:
5530            @@@@test:value:
5531              <?target!  ?>
5532              <p></p>
5533          @@@c:erred:
5534            <[[xp:wf-syntax-error]]> { (1, 9)..(1, 9); }
5535        @@XMLTest:
5536          @@@QName: xp.pi.bad.target.2.test
5537          @@@DEnt:
5538            @@@@test:value:
5539              <?0target  ?>
5540              <p></p>
5541          @@@c:erred:
5542            <[[xp:wf-syntax-error]]> { (1, 3)..(1, 3); }
5543    
5544        @@XMLTest:
5545          @@@QName: xp.cdatasection.empty.1.test
5546          @@@DEnt:
5547            @@@@test:value:
5548              <p><![CDATA[]]></p>
5549          @@@test:domTree:
5550            document {
5551              element {
5552                cdata-section {
5553                  data: '';
5554                }
5555              }
5556            }
5557        @@XMLTest:
5558          @@@QName: xp.cdatasection.empty.2.test
5559          @@@DEnt:
5560            @@@@test:value:
5561              <p>aa<![CDATA[]]>bb</p>
5562          @@@test:domTree:
5563            document {
5564              element {
5565                text { data: 'aa'; }
5566                cdata-section {
5567                  data: '';
5568                }
5569                text { data: 'bb'; }
5570              }
5571            }
5572        @@XMLTest:
5573          @@@QName: xp.cdatasection.1.test
5574          @@@DEnt:
5575            @@@@test:value:
5576              <p><![CDATA[abcdefg]]></p>
5577          @@@test:domTree:
5578            document {
5579              element {
5580                cdata-section {
5581                  data: 'abcdefg';
5582                }
5583              }
5584            }
5585        @@XMLTest:
5586          @@@QName: xp.cdatasection.2.test
5587          @@@DEnt:
5588            @@@@test:value:
5589              <p>aa<![CDATA[abcdefg]]>bb</p>
5590          @@@test:domTree:
5591            document {
5592              element {
5593                text { data: 'aa'; }
5594                cdata-section {
5595                  data: 'abcdefg';
5596                }
5597                text { data: 'bb'; }
5598              }
5599            }
5600        @@XMLTest:
5601          @@@QName: xp.cdatasection.ref.1.test
5602          @@@DEnt:
5603            @@@@test:value:
5604              <p><![CDATA[a&amp;&#x32;&#32;%abc;&def;]]&gt;b]]></p>
5605          @@@test:domTree:
5606            document {
5607              element {
5608                cdata-section {
5609                  data: 'a&amp;&#x32;&#32;%abc;&def;]]&gt;b';
5610                }
5611              }
5612            }
5613        @@XMLTest:
5614          @@@QName: xp.cdatasection.in.general.entity.test
5615          @@@DEnt:
5616            @@@@test:value:
5617              <!DOCTYPE p [
5618                <!ENTITY cdata "<![CDATA[text]]>">
5619              ]>
5620              <p>&cdata;</p>
5621          @@@test:domTree:
5622            document {
5623              document-type {
5624                general-entity {
5625                  node-name: 'cdata';
5626                  cdata-section {
5627                    data: 'text';
5628                  }
5629                }
5630              }
5631              element {
5632                general-entity-reference {
5633                  node-name: 'cdata';
5634                  is-expanded: true;
5635                  cdata-section {
5636                    data: 'text';
5637                  }
5638                }
5639              }
5640            }
5641        @@XMLTest:
5642          @@@QName: xp.cdatasection.no.mse.test
5643          @@@DEnt:
5644            @@@@test:value:
5645              <p><![CDATA[text</p>
5646          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 21); }
5647        @@XMLTest:
5648          @@@QName: xp.cdatasection.nest.test
5649          @@@DEnt:
5650            @@@@test:value:
5651              <p><![CDATA[text01<![CDATA[txt2]]>text3]]></p>
5652          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 40)..(1, 42); }
5653    
5654        @@XMLTest:
5655        @@@QName: xp.doctype.empty.test        @@@QName: xp.doctype.empty.test
5656        @@@DEnt:        @@@DEnt:
5657          @@@@test:value:          @@@@test:value:
# Line 3435  _ Line 5664  _
5664            xml-standalone: false;            xml-standalone: false;
5665            document-type {            document-type {
5666              node-name: 'a';              node-name: 'a';
5667                public-id: null;
5668                system-id: null;
5669            }            }
5670            element {            element {
5671              namespace-uri: null;              namespace-uri: null;
# Line 3443  _ Line 5674  _
5674              text-content: '';              text-content: '';
5675            }            }
5676          }          }
5677        @@XMLTest:
5678          @@@QName: xp.doctype.empty.after.document.element.test
5679          @@@DEnt:
5680            @@@@test:value:
5681              <a></a>
5682              <!DOCTYPE a>
5683          @@@c:erred: <[[xp|wf-syntax-error]]> { (2, 1)..(2, 12); }
5684        @@XMLTest:
5685          @@@QName: xp.doctype.empty.in.element.test
5686          @@@DEnt:
5687            @@@@test:value:
5688              <a>
5689              <!DOCTYPE a>
5690              </a>
5691          @@@c:erred: <[[xp|wf-syntax-error]]> { (2, 1)..(2, 12); }
5692        @@XMLTest:
5693          @@@QName: xp.doctype.empty.dup.test
5694          @@@DEnt:
5695            @@@@test:value:
5696              <!DOCTYPE a>
5697              <!DOCTYPE a>
5698              <a></a>
5699          @@@c:erred: <[[xp|wf-syntax-error]]> { (2, 1)..(2, 12); }
5700        @@XMLTest:
5701          @@@QName: xp.doctype.empty.in.intsubset.test
5702          @@@DEnt:
5703            @@@@test:value:
5704              <!DOCTYPE a [
5705              <!DOCTYPE a>
5706              ]>
5707              <a></a>
5708          @@@c:erred: <[[xp|wf-syntax-error]]> { (2, 1)..(2, 12); }
5709        @@XMLTest:
5710          @@@QName: xp.doctype.no.s.no.name.test
5711          @@@DEnt:
5712            @@@@test:value:
5713              <!DOCTYPE>
5714              <a></a>
5715          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 10); }
5716        @@XMLTest:
5717          @@@QName: xp.doctype.no.name.test
5718          @@@DEnt:
5719            @@@@test:value:
5720              <!DOCTYPE >
5721              <a></a>
5722          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 11); }
5723        @@XMLTest:
5724          @@@QName: xp.doctype.name.s.test
5725          @@@DEnt:
5726            @@@@test:value:
5727              <!DOCTYPE aa   >
5728              <aa></aa>
5729          @@@test:domTree:
5730            document {
5731              document-type {
5732                node-name: 'aa';
5733                public-id: null;
5734                system-id: null;
5735              }
5736              element { }
5737            }
5738        @@XMLTest:
5739          @@@QName: xp.doctype.no.mdc.test
5740          @@@DEnt:
5741            @@@@test:value:
5742              <!DOCTYPE aa
5743              <aa></aa>
5744          @@@c:erred: <[[xp|wf-syntax-error]]> { (2, 1); }
5745    
5746      @@XMLTest:      @@XMLTest:
5747        @@@QName: xp.doctype.intsubset.empty.test        @@@QName: xp.doctype.intsubset.empty.1.test
5748          @@@DEnt:
5749            @@@@test:value:
5750              <!DOCTYPE a []>
5751              <a></a>
5752          @@@test:domTree:
5753            document {
5754              xml-version: '1.0';
5755              xml-encoding: null;
5756              xml-standalone: false;
5757              document-type {
5758                node-name: 'a';
5759                public-id: null;
5760                system-id: null;
5761              }
5762              element {
5763                namespace-uri: null;
5764                prefix: null;
5765                local-name: 'a';
5766                text-content: '';
5767              }
5768            }
5769        @@XMLTest:
5770          @@@QName: xp.doctype.intsubset.empty.2.test
5771        @@@DEnt:        @@@DEnt:
5772          @@@@test:value:          @@@@test:value:
5773            <!DOCTYPE a [            <!DOCTYPE a [
# Line 3459  _ Line 5781  _
5781            xml-standalone: false;            xml-standalone: false;
5782            document-type {            document-type {
5783              node-name: 'a';              node-name: 'a';
5784                public-id: null;
5785                system-id: null;
5786            }            }
5787            element {            element {
5788              namespace-uri: null;              namespace-uri: null;
# Line 3467  _ Line 5791  _
5791              text-content: '';              text-content: '';
5792            }            }
5793          }          }
5794        @@XMLTest:
5795          @@@QName: xp.doctype.intsubset.empty.3.test
5796          @@@DEnt:
5797            @@@@test:value:
5798              <!DOCTYPE a[]>
5799              <a></a>
5800          @@@test:domTree:
5801            document {
5802              document-type {
5803                node-name: 'a';
5804                public-id: null;
5805                system-id: null;
5806              }
5807              element { }
5808            }
5809        @@XMLTest:
5810          @@@QName: xp.doctype.intsubset.empty.4.test
5811          @@@DEnt:
5812            @@@@test:value:
5813              <!DOCTYPE a[]  >
5814              <a></a>
5815          @@@test:domTree:
5816            document {
5817              document-type {
5818                node-name: 'a';
5819                public-id: null;
5820                system-id: null;
5821              }
5822              element { }
5823            }
5824        @@XMLTest:
5825          @@@QName: xp.doctype.intsubset.no.dsc.1.test
5826          @@@DEnt:
5827            @@@@test:value:
5828              <!DOCTYPE a [>
5829              <a></a>
5830          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 14); }
5831        @@XMLTest:
5832          @@@QName: xp.doctype.intsubset.no.dsc.2.test
5833          @@@DEnt:
5834            @@@@test:value:
5835              <!DOCTYPE a [
5836              <a></a>
5837          @@@c:erred: <[[xp|wf-syntax-error]]> { (2, 1); }
5838        @@XMLTest:
5839          @@@QName: xp.doctype.intsubset.no.dsc.3.test
5840          @@@DEnt:
5841            @@@@test:value:
5842              <!DOCTYPE a [
5843          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 14); }
5844        @@XMLTest:
5845          @@@QName: xp.doctype.intsubset.no.mdc.1.test
5846          @@@DEnt:
5847            @@@@test:value:
5848              <!DOCTYPE a []
5849              <a/>
5850          @@@c:erred: <[[xp|wf-syntax-error]]> { (2, 1); }
5851        @@XMLTest:
5852          @@@QName: xp.doctype.intsubset.no.mdc.2.test
5853          @@@DEnt:
5854            @@@@test:value:
5855              <!DOCTYPE a []]>
5856              <a/>
5857          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 15); }
5858        @@XMLTest:
5859          @@@QName: xp.doctype.pubid.sysid.1.test
5860          @@@DEnt:
5861            @@@@test:value:
5862              <!DOCTYPE a PUBLIC "pubid" "sysid">
5863              <a/>
5864          @@@test:domTree:
5865            document {
5866              document-type {
5867                node-name: 'a';
5868                public-id: 'pubid';
5869                system-id: 'sysid';
5870              }
5871              element { }
5872            }
5873        @@XMLTest:
5874          @@@QName: xp.doctype.pubid.sysid.2.test
5875          @@@DEnt:
5876            @@@@test:value:
5877              <!DOCTYPE a PUBLIC 'pubid' "sysid">
5878              <a/>
5879          @@@test:domTree:
5880            document {
5881              document-type {
5882                node-name: 'a';
5883                public-id: 'pubid';
5884                system-id: 'sysid';
5885              }
5886              element { }
5887            }
5888        @@XMLTest:
5889          @@@QName: xp.doctype.pubid.sysid.3.test
5890          @@@DEnt:
5891            @@@@test:value:
5892              <!DOCTYPE a PUBLIC "pubid" 'sysid'>
5893              <a/>
5894          @@@test:domTree:
5895            document {
5896              document-type {
5897                node-name: 'a';
5898                public-id: 'pubid';
5899                system-id: 'sysid';
5900              }
5901              element { }
5902            }
5903        @@XMLTest:
5904          @@@QName: xp.doctype.pubid.sysid.4.test
5905          @@@DEnt:
5906            @@@@test:value:
5907              <!DOCTYPE a PUBLIC 'pubid' 'sysid'>
5908              <a/>
5909          @@@test:domTree:
5910            document {
5911              document-type {
5912                node-name: 'a';
5913                public-id: 'pubid';
5914                system-id: 'sysid';
5915              }
5916              element { }
5917            }
5918        @@XMLTest:
5919          @@@QName: xp.doctype.pubid.sysid.5.test
5920          @@@DEnt:
5921            @@@@test:value:
5922              <!DOCTYPE a PUBLIC "pubid" "sysid"  >
5923              <a/>
5924          @@@test:domTree:
5925            document {
5926              document-type {
5927                node-name: 'a';
5928                public-id: 'pubid';
5929                system-id: 'sysid';
5930              }
5931              element { }
5932            }
5933        @@XMLTest:
5934          @@@QName: xp.doctype.pubid.sysid.6.test
5935          @@@DEnt:
5936            @@@@test:value:
5937              <!DOCTYPE a PUBLIC 'pubid' 'sysid'  >
5938              <a/>
5939          @@@test:domTree:
5940            document {
5941              document-type {
5942                node-name: 'a';
5943                public-id: 'pubid';
5944                system-id: 'sysid';
5945              }
5946              element { }
5947            }
5948        @@XMLTest:
5949          @@@QName: xp.doctype.pubid.sysid.intsubset.1.test
5950          @@@DEnt:
5951            @@@@test:value:
5952              <!DOCTYPE a PUBLIC "pubid" "sysid"[]>
5953              <a/>
5954          @@@test:domTree:
5955            document {
5956              document-type {
5957                node-name: 'a';
5958                public-id: 'pubid';
5959                system-id: 'sysid';
5960              }
5961              element { }
5962            }
5963        @@XMLTest:
5964          @@@QName: xp.doctype.pubid.sysid.intsubset.2.test
5965          @@@DEnt:
5966            @@@@test:value:
5967              <!DOCTYPE a PUBLIC "pubid" "sysid"  []>
5968              <a/>
5969          @@@test:domTree:
5970            document {
5971              document-type {
5972                node-name: 'a';
5973                public-id: 'pubid';
5974                system-id: 'sysid';
5975              }
5976              element { }
5977            }
5978        @@XMLTest:
5979          @@@QName: xp.doctype.pubid.sysid.intsubset.3.test
5980          @@@DEnt:
5981            @@@@test:value:
5982              <!DOCTYPE a PUBLIC 'pubid' 'sysid'[]>
5983              <a/>
5984          @@@test:domTree:
5985            document {
5986              document-type {
5987                node-name: 'a';
5988                public-id: 'pubid';
5989                system-id: 'sysid';
5990              }
5991              element { }
5992            }
5993        @@XMLTest:
5994          @@@QName: xp.doctype.pubid.sysid.intsubset.4.test
5995          @@@DEnt:
5996            @@@@test:value:
5997              <!DOCTYPE a PUBLIC 'pubid' 'sysid'  []>
5998              <a/>
5999          @@@test:domTree:
6000            document {
6001              document-type {
6002                node-name: 'a';
6003                public-id: 'pubid';
6004                system-id: 'sysid';
6005              }
6006              element { }
6007            }
6008        @@XMLTest:
6009          @@@QName: xp.doctype.sysid.1.test
6010          @@@DEnt:
6011            @@@@test:value:
6012              <!DOCTYPE a SYSTEM "sysid">
6013              <a/>
6014          @@@test:domTree:
6015            document {
6016              document-type {
6017                node-name: 'a';
6018                public-id: null;
6019                system-id: 'sysid';
6020              }
6021              element { }
6022            }
6023        @@XMLTest:
6024          @@@QName: xp.doctype.sysid.2.test
6025          @@@DEnt:
6026            @@@@test:value:
6027              <!DOCTYPE a SYSTEM 'sysid'>
6028              <a/>
6029          @@@test:domTree:
6030            document {
6031              document-type {
6032                node-name: 'a';
6033                public-id: null;
6034                system-id: 'sysid';
6035              }
6036              element { }
6037            }
6038        @@XMLTest:
6039          @@@QName: xp.doctype.sysid.3.test
6040          @@@DEnt:
6041            @@@@test:value:
6042              <!DOCTYPE a SYSTEM "sysid"  >
6043              <a/>
6044          @@@test:domTree:
6045            document {
6046              document-type {
6047                node-name: 'a';
6048                public-id: null;
6049                system-id: 'sysid';
6050              }
6051              element { }
6052            }
6053        @@XMLTest:
6054          @@@QName: xp.doctype.sysid.4.test
6055          @@@DEnt:
6056            @@@@test:value:
6057              <!DOCTYPE a SYSTEM 'sysid'  >
6058              <a/>
6059          @@@test:domTree:
6060            document {
6061              document-type {
6062                node-name: 'a';
6063                public-id: null;
6064                system-id: 'sysid';
6065              }
6066              element { }
6067            }
6068        @@XMLTest:
6069          @@@QName: xp.doctype.sysid.intsubset.1.test
6070          @@@DEnt:
6071            @@@@test:value:
6072              <!DOCTYPE a SYSTEM "sysid"[]>
6073              <a/>
6074          @@@test:domTree:
6075            document {
6076              document-type {
6077                node-name: 'a';
6078                public-id: null;
6079                system-id: 'sysid';
6080              }
6081              element { }
6082            }
6083        @@XMLTest:
6084          @@@QName: xp.doctype.sysid.intsubset.2.test
6085          @@@DEnt:
6086            @@@@test:value:
6087              <!DOCTYPE a SYSTEM "sysid"  []>
6088              <a/>
6089          @@@test:domTree:
6090            document {
6091              document-type {
6092                node-name: 'a';
6093                public-id: null;
6094                system-id: 'sysid';
6095              }
6096              element { }
6097            }
6098        @@XMLTest:
6099          @@@QName: xp.doctype.sysid.intsubset.3.test
6100          @@@DEnt:
6101            @@@@test:value:
6102              <!DOCTYPE a SYSTEM 'sysid'[]>
6103              <a/>
6104          @@@test:domTree:
6105            document {
6106              document-type {
6107                node-name: 'a';
6108                public-id: null;
6109                system-id: 'sysid';
6110              }
6111              element { }
6112            }
6113        @@XMLTest:
6114          @@@QName: xp.doctype.sysid.intsubset.4.test
6115          @@@DEnt:
6116            @@@@test:value:
6117              <!DOCTYPE a SYSTEM 'sysid'   []>
6118              <a/>
6119          @@@test:domTree:
6120            document {
6121              document-type {
6122                node-name: 'a';
6123                public-id: null;
6124                system-id: 'sysid';
6125              }
6126              element { }
6127            }
6128        @@XMLTest:
6129          @@@QName: xp.doctype.public.stago.test
6130          @@@DEnt:
6131            @@@@test:value:
6132              <!DOCTYPE a PUBLIC<a/>
6133          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 19); }
6134        @@XMLTest:
6135          @@@QName: xp.doctype.public.mdc.test
6136          @@@DEnt:
6137            @@@@test:value:
6138              <!DOCTYPE a PUBLIC>
6139              <a/>
6140          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 19); }
6141        @@XMLTest:
6142          @@@QName: xp.doctype.public.s.stago.test
6143          @@@DEnt:
6144            @@@@test:value:
6145              <!DOCTYPE a PUBLIC <a/>
6146          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 20); }
6147        @@XMLTest:
6148          @@@QName: xp.doctype.public.s.mdc.test
6149          @@@DEnt:
6150            @@@@test:value:
6151              <!DOCTYPE a PUBLIC >
6152              <a/>
6153          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 20); }
6154        @@XMLTest:
6155          @@@QName: xp.doctype.public.lit.test
6156          @@@DEnt:
6157            @@@@test:value:
6158              <!DOCTYPE a PUBLIC"p" "s">
6159              <a/>
6160          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 19); }
6161        @@XMLTest:
6162          @@@QName: xp.doctype.public.lita.test
6163          @@@DEnt:
6164            @@@@test:value:
6165              <!DOCTYPE a PUBLIC'p' "s">
6166              <a/>
6167          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 19); }
6168        @@XMLTest:
6169          @@@QName: xp.doctype.pubid.lit.lita.unmatched.1.test
6170          @@@DEnt:
6171            @@@@test:value:
6172              <!DOCTYPE a PUBLIC "p' "s">
6173              <a/>
6174          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 25); }
6175        @@XMLTest:
6176          @@@QName: xp.doctype.pubid.lit.lita.unmatched.2.test
6177          @@@DEnt:
6178            @@@@test:value:
6179              <!DOCTYPE a PUBLIC "p' 's'><a/>
6180          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 32); }
6181        @@XMLTest:
6182          @@@QName: xp.doctype.pubid.lita.lit.unmatched.1.test
6183          @@@DEnt:
6184            @@@@test:value:
6185              <!DOCTYPE a PUBLIC 'p" "s"><a/>
6186          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 32); }
6187        @@XMLTest:
6188          @@@QName: xp.doctype.pubid.lita.lit.unmatched.2.test
6189          @@@DEnt:
6190            @@@@test:value:
6191              <!DOCTYPE a PUBLIC 'p" 's'>
6192              <a/>
6193          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 21)..(1, 25); }
6194        @@XMLTest:
6195          @@@QName: xp.doctype.public.s.lit.mdc.test
6196          @@@DEnt:
6197            @@@@test:value:
6198              <!DOCTYPE a PUBLIC "><a/>
6199          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 26); }
6200        @@XMLTest:
6201          @@@QName: xp.doctype.public.s.lita.mdc.test
6202          @@@DEnt:
6203            @@@@test:value:
6204              <!DOCTYPE a PUBLIC '><a/>
6205          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 26); }
6206        @@XMLTest:
6207          @@@QName: xp.doctype.public.lit.pubid.lit.mdc.test
6208          @@@DEnt:
6209            @@@@test:value:
6210              <!DOCTYPE a PUBLIC "p">
6211              <a/>
6212          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 23); }
6213        @@XMLTest:
6214          @@@QName: xp.doctype.public.lita.pubid.lita.mdc.test
6215          @@@DEnt:
6216            @@@@test:value:
6217              <!DOCTYPE a PUBLIC 'p'>
6218              <a/>
6219          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 23); }
6220        @@XMLTest:
6221          @@@QName: xp.doctype.public.lit.pubid.lit.s.mdc.test
6222          @@@DEnt:
6223            @@@@test:value:
6224              <!DOCTYPE a PUBLIC "p" >
6225              <a/>
6226          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 24); }
6227        @@XMLTest:
6228          @@@QName: xp.doctype.public.lita.pubid.lita.s.mdc.test
6229          @@@DEnt:
6230            @@@@test:value:
6231              <!DOCTYPE a PUBLIC 'p' >
6232              <a/>
6233          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 24); }
6234        @@XMLTest:
6235          @@@QName: xp.doctype.public.lit.pubid.lit.s.lit.mdc.test
6236          @@@DEnt:
6237            @@@@test:value:
6238              <!DOCTYPE a PUBLIC "p" "><a/>
6239          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 30); }
6240        @@XMLTest:
6241          @@@QName: xp.doctype.public.lit.pubid.lit.s.lita.mdc.test
6242          @@@DEnt:
6243            @@@@test:value:
6244              <!DOCTYPE a PUBLIC "p" '><a/>
6245          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 30); }
6246        @@XMLTest:
6247          @@@QName: xp.doctype.public.lita.pubid.lita.s.lit.mdc.test
6248          @@@DEnt:
6249            @@@@test:value:
6250              <!DOCTYPE a PUBLIC 'p' "><a/>
6251          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 30); }
6252        @@XMLTest:
6253          @@@QName: xp.doctype.public.lita.pubid.lita.s.lita.mdc.test
6254          @@@DEnt:
6255            @@@@test:value:
6256              <!DOCTYPE a PUBLIC 'p' '><a/>
6257          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 30); }
6258        @@XMLTest:
6259          @@@QName: xp.doctype.public.lit.pubid.lit.lit.lita.unmatched.mdc.test
6260          @@@DEnt:
6261            @@@@test:value:
6262              <!DOCTYPE a PUBLIC "p" "s'><a/>
6263          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 32); }
6264        @@XMLTest:
6265          @@@QName: xp.doctype.public.lita.pubid.lita.lita.lit.unmatched.mdc.test
6266          @@@DEnt:
6267            @@@@test:value:
6268              <!DOCTYPE a PUBLIC 'p' 's"><a/>
6269          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 32); }
6270        @@XMLTest:
6271          @@@QName: xp.doctype.pubid.sysid.stago.1.test
6272          @@@DEnt:
6273            @@@@test:value:
6274              <!DOCTYPE a PUBLIC "p" "s"<a/>
6275          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 27); }
6276        @@XMLTest:
6277          @@@QName: xp.doctype.pubid.sysid.stago.2.test
6278          @@@DEnt:
6279            @@@@test:value:
6280              <!DOCTYPE a PUBLIC "p" 's'<a/>
6281          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 27); }
6282        @@XMLTest:
6283          @@@QName: xp.doctype.pubid.sysid.stago.s.1.test
6284          @@@DEnt:
6285            @@@@test:value:
6286              <!DOCTYPE a PUBLIC "p" "s" <a/>
6287          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 28); }
6288        @@XMLTest:
6289          @@@QName: xp.doctype.pubid.sysid.stago.s.2.test
6290          @@@DEnt:
6291            @@@@test:value:
6292              <!DOCTYPE a PUBLIC "p" 's' <a/>
6293          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 28); }
6294    
6295        @@XMLTest:
6296          @@@QName: xp.endofline.1.0.crlf.test
6297          @@@DEnt:
6298            @@@@test:value:
6299              <?xml version="1.0"?>
6300              <p>aaa$u000D$u000Abbb</p>
6301          @@@test:domTree:
6302            document {
6303              xml-version: '1.0';
6304              element {
6305                text-content: 'aaa' U+000A 'bbb';
6306              }
6307            }
6308        @@XMLTest:
6309          @@@QName: xp.endofline.1.1.crlf.test
6310          @@@DEnt:
6311            @@@@test:value:
6312              <?xml version="1.1"?>
6313              <p>aaa$u000D$u000Abbb</p>
6314          @@@test:domTree:
6315            document {
6316              xml-version: '1.1';
6317              element {
6318                text-content: 'aaa' U+000A 'bbb';
6319              }
6320            }
6321        @@XMLTest:
6322          @@@QName: xp.endofline.1.0.crnl.test
6323          @@@DEnt:
6324            @@@@test:value:
6325              <?xml version="1.0"?>
6326              <p>aaa$u000D$u0085bbb</p>
6327          @@@test:domTree:
6328            document {
6329              xml-version: '1.0';
6330              element {
6331                text-content: 'aaa' U+000A U+0085 'bbb';
6332              }
6333            }
6334        @@XMLTest:
6335          @@@QName: xp.endofline.1.1.crnl.test
6336          @@@DEnt:
6337            @@@@test:value:
6338              <?xml version="1.1"?>
6339              <p>aaa$u000D$u0085bbb</p>
6340          @@@test:domTree:
6341            document {
6342              xml-version: '1.1';
6343              element {
6344                text-content: 'aaa' U+000A 'bbb';
6345              }
6346            }
6347        @@XMLTest:
6348          @@@QName: xp.endofline.1.0.nl.test
6349          @@@DEnt:
6350            @@@@test:value:
6351              <?xml version="1.0"?>
6352              <p>aaa$u0085bbb</p>
6353          @@@test:domTree:
6354            document {
6355              xml-version: '1.0';
6356              element {
6357                text-content: 'aaa' U+0085 'bbb';
6358              }
6359            }
6360        @@XMLTest:
6361          @@@QName: xp.endofline.1.1.nl.test
6362          @@@DEnt:
6363            @@@@test:value:
6364              <?xml version="1.1"?>
6365              <p>aaa$u0085bbb</p>
6366          @@@test:domTree:
6367            document {
6368              xml-version: '1.1';
6369              element {
6370                text-content: 'aaa' U+000A 'bbb';
6371              }
6372            }
6373        @@XMLTest:
6374          @@@QName: xp.endofline.1.0.ls.test
6375          @@@DEnt:
6376            @@@@test:value:
6377              <?xml version="1.0"?>
6378              <p>aaa$u2028bbb</p>
6379          @@@test:domTree:
6380            document {
6381              xml-version: '1.0';
6382              element {
6383                text-content: 'aaa' U+2028 'bbb';
6384              }
6385            }
6386        @@XMLTest:
6387          @@@QName: xp.endofline.1.1.ls.test
6388          @@@DEnt:
6389            @@@@test:value:
6390              <?xml version="1.1"?>
6391              <p>aaa$u2028bbb</p>
6392          @@@test:domTree:
6393            document {
6394              xml-version: '1.1';
6395              element {
6396                text-content: 'aaa' U+000A 'bbb';
6397              }
6398            }
6399        @@XMLTest:
6400          @@@QName: xp.endofline.1.0.cr.test
6401          @@@DEnt:
6402            @@@@test:value:
6403              <?xml version="1.0"?>
6404              <p>aaa$u000Dbbb</p>
6405          @@@test:domTree:
6406            document {
6407              xml-version: '1.0';
6408              element {
6409                text-content: 'aaa' U+000A 'bbb';
6410              }
6411            }
6412        @@XMLTest:
6413          @@@QName: xp.endofline.1.1.cr.test
6414          @@@DEnt:
6415            @@@@test:value:
6416              <?xml version="1.1"?>
6417              <p>aaa$u000Dbbb</p>
6418          @@@test:domTree:
6419            document {
6420              xml-version: '1.1';
6421              element {
6422                text-content: 'aaa' U+000A 'bbb';
6423              }
6424            }
6425        @@XMLTest:
6426          @@@QName: xp.endofline.1.0.lf.test
6427          @@@DEnt:
6428            @@@@test:value:
6429              <?xml version="1.0"?>
6430              <p>aaa$u000Abbb</p>
6431          @@@test:domTree:
6432            document {
6433              xml-version: '1.0';
6434              element {
6435                text-content: 'aaa' U+000A 'bbb';
6436              }
6437            }
6438        @@XMLTest:
6439          @@@QName: xp.endofline.1.1.lf.test
6440          @@@DEnt:
6441            @@@@test:value:
6442              <?xml version="1.1"?>
6443              <p>aaa$u000Abbb</p>
6444          @@@test:domTree:
6445            document {
6446              xml-version: '1.1';
6447              element {
6448                text-content: 'aaa' U+000A 'bbb';
6449              }
6450            }
6451        @@XMLTest:
6452          @@@QName: xp.xml10.endofline.nl.in.xmldecl.1.test
6453          @@@DEnt:
6454            @@@@test:value:
6455              <?xml$u0085version="1.0"?>
6456              <p/>
6457          @@@c:erred:
6458            <[[xp|fatal-xml11-end-of-line-in-xml-declaration]]> { (1, 6)..(2, 0); }
6459          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6460        @@XMLTest:
6461          @@@QName: xp.xml11.endofline.nl.in.xmldecl.1.test
6462          @@@DEnt:
6463            @@@@test:value:
6464              <?xml$u0085version="1.1"?>
6465              (err)<p/>
6466          @@@c:erred:
6467            <[[xp|fatal-xml11-end-of-line-in-xml-declaration]]> { (1, 6)..(2, 0); }
6468          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6469        @@XMLTest:
6470          @@@QName: xp.xml10.endofline.crnl.in.xmldecl.1.test
6471          @@@DEnt:
6472            @@@@test:value:
6473              <?xml$u000D$u0085version="1.0"?>
6474              <p/>
6475          @@@c:erred:
6476            <[[xp|fatal-xml11-end-of-line-in-xml-declaration]]> { (1, 6)..(2, 0); }
6477          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6478        @@XMLTest:
6479          @@@QName: xp.xml11.endofline.crnl.in.xmldecl.1.test
6480          @@@DEnt:
6481            @@@@test:value:
6482              <?xml$u000D$u0085version="1.1"?>
6483              (err)<p/>
6484          @@@c:erred:
6485            <[[xp|fatal-xml11-end-of-line-in-xml-declaration]]> { (1, 6)..(2, 0); }
6486          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6487        @@XMLTest:
6488          @@@QName: xp.xml10.endofline.ls.in.xmldecl.1.test
6489          @@@DEnt:
6490            @@@@test:value:
6491              <?xml$u2028version="1.0"?>
6492              <p/>
6493          @@@c:erred:
6494            <[[xp|fatal-xml11-end-of-line-in-xml-declaration]]> { (1, 6)..(2, 0); }
6495          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6496        @@XMLTest:
6497          @@@QName: xp.xml11.endofline.ls.in.xmldecl.1.test
6498          @@@DEnt:
6499            @@@@test:value:
6500              <?xml$u2028version="1.1"?>
6501              (err)<p/>
6502          @@@c:erred:
6503            <[[xp|fatal-xml11-end-of-line-in-xml-declaration]]> { (1, 6)..(2, 0); }
6504          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6505        @@XMLTest:
6506          @@@QName: xp.xml10.endofline.nl.in.xmldecl.2.test
6507          @@@DEnt:
6508            @@@@test:value:
6509              <?xml version="1.0"$u0085?>
6510              <p/>
6511          @@@c:erred:
6512            <[[xp|fatal-xml11-end-of-line-in-xml-declaration]]> { (1, 20)..(2, 0); }
6513          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6514        @@XMLTest:
6515          @@@QName: xp.xml11.endofline.nl.in.xmldecl.2.test
6516          @@@DEnt:
6517            @@@@test:value:
6518              <?xml version="1.1"$u0085?>
6519              (err)<p/>
6520          @@@c:erred:
6521            <[[xp|fatal-xml11-end-of-line-in-xml-declaration]]> { (1, 20)..(2, 0); }
6522          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6523        @@XMLTest:
6524          @@@QName: xp.xml10.endofline.crnl.in.xmldecl.2.test
6525          @@@DEnt:
6526            @@@@test:value:
6527              <?xml version="1.0"$u000D$u0085?>
6528              <p/>
6529          @@@c:erred:
6530            <[[xp|fatal-xml11-end-of-line-in-xml-declaration]]> { (1, 20)..(2, 0); }
6531          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6532        @@XMLTest:
6533          @@@QName: xp.xml11.endofline.crnl.in.xmldecl.2.test
6534          @@@DEnt:
6535            @@@@test:value:
6536              <?xml version="1.1"$u000D$u0085?>
6537              (err)<p/>
6538          @@@c:erred:
6539            <[[xp|fatal-xml11-end-of-line-in-xml-declaration]]> { (1, 20)..(2, 0); }
6540          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6541        @@XMLTest:
6542          @@@QName: xp.xml10.endofline.ls.in.xmldecl.2.test
6543          @@@DEnt:
6544            @@@@test:value:
6545              <?xml version="1.0"$u2028?>
6546              <p/>
6547          @@@c:erred:
6548            <[[xp|fatal-xml11-end-of-line-in-xml-declaration]]> { (1, 20)..(2, 0); }
6549          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6550        @@XMLTest:
6551          @@@QName: xp.xml11.endofline.ls.in.xmldecl.2.test
6552          @@@DEnt:
6553            @@@@test:value:
6554              <?xml version="1.1"$u2028?>
6555              (err)<p/>
6556          @@@c:erred:
6557            <[[xp|fatal-xml11-end-of-line-in-xml-declaration]]> { (1, 20)..(2, 0); }
6558          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6559        @@XMLTest:
6560          @@@QName: xp.xml10.endofline.nl.in.xmldecl.3.test
6561          @@@DEnt:
6562            @@@@test:value:
6563              <?xml $u0085version="1.0"?>
6564              <p/>
6565          @@@c:erred:
6566            <[[xp|fatal-xml11-end-of-line-in-xml-declaration]]> { (1, 7)..(2, 0); }
6567          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6568        @@XMLTest:
6569          @@@QName: xp.xml11.endofline.nl.in.xmldecl.3.test
6570          @@@DEnt:
6571            @@@@test:value:
6572              <?xml $u0085version="1.1"?>
6573              (err)<p/>
6574          @@@c:erred:
6575            <[[xp|fatal-xml11-end-of-line-in-xml-declaration]]> { (1, 7)..(2, 0); }
6576          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6577        @@XMLTest:
6578          @@@QName: xp.xml10.endofline.crnl.in.xmldecl.3.test
6579          @@@DEnt:
6580            @@@@test:value:
6581              <?xml $u000D$u0085version="1.0"?>
6582              <p/>
6583          @@@c:erred:
6584            <[[xp|fatal-xml11-end-of-line-in-xml-declaration]]> { (1, 7)..(2, 0); }
6585          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6586        @@XMLTest:
6587          @@@QName: xp.xml11.endofline.crnl.in.xmldecl.3.test
6588          @@@DEnt:
6589            @@@@test:value:
6590              <?xml $u000D$u0085version="1.1"?>
6591              (err)<p/>
6592          @@@c:erred:
6593            <[[xp|fatal-xml11-end-of-line-in-xml-declaration]]> { (1, 7)..(2, 0); }
6594          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6595        @@XMLTest:
6596          @@@QName: xp.xml10.endofline.ls.in.xmldecl.3.test
6597          @@@DEnt:
6598            @@@@test:value:
6599              <?xml $u2028version="1.0"?>
6600              <p/>
6601          @@@c:erred:
6602            <[[xp|fatal-xml11-end-of-line-in-xml-declaration]]> { (1, 7)..(2, 0); }
6603          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6604        @@XMLTest:
6605          @@@QName: xp.xml11.endofline.ls.in.xmldecl.3.test
6606          @@@DEnt:
6607            @@@@test:value:
6608              <?xml $u2028version="1.1"?>
6609              (err)<p/>
6610          @@@c:erred:
6611            <[[xp|fatal-xml11-end-of-line-in-xml-declaration]]> { (1, 7)..(2, 0); }
6612          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6613        @@XMLTest:
6614          @@@QName: xp.xml10implied.endofline.nl.in.pi.1.test
6615          @@@DEnt:
6616            @@@@test:value:
6617              <?xml-$u0085?>
6618              <p/>
6619          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 7)..(2, 0); }
6620        @@XMLTest:
6621          @@@QName: xp.xml10.endofline.nl.in.pi.1.test
6622          @@@DEnt:
6623            @@@@test:value:
6624              <?xml version="1.0"?>
6625              <?xml-$u0085?>
6626              <p/>
6627          @@@c:erred: <[[xp|wf-syntax-error]]> { (2, 7)..(3, 0); }
6628        @@XMLTest:
6629          @@@QName: xp.xml11.endofline.nl.in.pi.1.test
6630          @@@DEnt:
6631            @@@@test:value:
6632              <?xml version="1.1"?>
6633              <?xml-$u0085?>
6634              <p/>
6635          @@@test:domTree:
6636            document {
6637              xml-version: '1.1';
6638              pi {
6639                node-name: 'xml-';
6640                node-value: '';
6641              }
6642              element { }
6643            }
6644        @@XMLTest:
6645          @@@QName: xp.xml10implied.endofline.crnl.in.pi.1.test
6646          @@@DEnt:
6647            @@@@test:value:
6648              <?xml-$u000D$u0085?>
6649              <p/>
6650          @@@test:domTree:
6651            document {
6652              xml-version: '1.0';
6653              pi {
6654                node-name: 'xml-';
6655                node-value: U+0085;
6656              }
6657              element { }
6658            }
6659        @@XMLTest:
6660          @@@QName: xp.xml10.endofline.crnl.in.pi.1.test
6661          @@@DEnt:
6662            @@@@test:value:
6663              <?xml version="1.0"?>
6664              <?xml-$u000D$u0085?>
6665              <p/>
6666          @@@test:domTree:
6667            document {
6668              xml-version: '1.0';
6669              pi {
6670                node-name: 'xml-';
6671                node-value: U+0085;
6672              }
6673              element { }
6674            }
6675        @@XMLTest:
6676          @@@QName: xp.xml11.endofline.crnl.in.pi.1.test
6677          @@@DEnt:
6678            @@@@test:value:
6679              <?xml version="1.1"?>
6680              <?xml-$u000D$u0085?>
6681              <p/>
6682          @@@test:domTree:
6683            document {
6684              xml-version: '1.1';
6685              pi {
6686                node-name: 'xml-';
6687                node-value: '';
6688              }
6689              element { }
6690            }
6691        @@XMLTest:
6692          @@@QName: xp.xml10implied.endofline.ls.in.pi.1.test
6693          @@@DEnt:
6694            @@@@test:value:
6695              <?xml-$u2028?>
6696              <p/>
6697          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 7)..(2, 0); }
6698        @@XMLTest:
6699          @@@QName: xp.xml10.endofline.ls.in.pi.1.test
6700          @@@DEnt:
6701            @@@@test:value:
6702              <?xml version="1.0"?>
6703              <?xml-$u2028?>
6704              <p/>
6705          @@@c:erred: <[[xp|wf-syntax-error]]> { (2, 7)..(3, 0); }
6706        @@XMLTest:
6707          @@@QName: xp.xml11.endofline.ls.in.pi.1.test
6708          @@@DEnt:
6709            @@@@test:value:
6710              <?xml version="1.1"?>
6711              <?xml-$u2028?>
6712              <p/>
6713          @@@test:domTree:
6714            document {
6715              xml-version: '1.1';
6716              pi {
6717                node-name: 'xml-';
6718                node-value: '';
6719              }
6720              element { }
6721            }
6722        @@XMLTest:
6723          @@@QName: xp.noxmldecl.pi.pi.test
6724          @@@DEnt:
6725            @@@@test:value:
6726              <?noxml 1?><?noxml 2?><p/>
6727          @@@test:domTree:
6728            document {
6729              xml-version: '1.0';
6730              pi {
6731                node-name: 'noxml';
6732                node-value: '1';
6733              }
6734              pi {
6735                node-name: 'noxml';
6736                node-value: '2';
6737              }
6738              element { }
6739            }
6740        @@XMLTest:
6741          @@@QName: xp.noxmldecl.pi.pi.2.test
6742          @@@DEnt:
6743            @@@@test:value:
6744              <?xmlno 1?><?xmlno 2?><p/>
6745          @@@test:domTree:
6746            document {
6747              xml-version: '1.0';
6748              pi {
6749                node-name: 'xmlno';
6750                node-value: '1';
6751              }
6752              pi {
6753                node-name: 'xmlno';
6754                node-value: '2';
6755              }
6756              element { }
6757            }
6758        @@XMLTest:
6759          @@@QName: xp.noxmldecl.pi.pi.3.test
6760          @@@DEnt:
6761            @@@@test:value:
6762              <?xmln 1?><?xmln 2?><p/>
6763          @@@test:domTree:
6764            document {
6765              xml-version: '1.0';
6766              pi {
6767                node-name: 'xmln';
6768                node-value: '1';
6769              }
6770              pi {
6771                node-name: 'xmln';
6772                node-value: '2';
6773              }
6774              element { }
6775            }
6776        @@XMLTest:
6777          @@@QName: xp.noxml.s.nl.test
6778          @@@DEnt:
6779            @@@@test:value:
6780              $u0085<p/>
6781          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 1)..(2, 0); }
6782        @@XMLTest:
6783          @@@QName: xp.noxml.s.crnl.test
6784          @@@DEnt:
6785            @@@@test:value:
6786              $u000D$u0085<p/>
6787          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 1)..(2, 0); }
6788        @@XMLTest:
6789          @@@QName: xp.noxml.s.ls.test
6790          @@@DEnt:
6791            @@@@test:value:
6792              $u2028<p/>
6793          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 1)..(2, 0); }
6794        @@XMLTest:
6795          @@@QName: xp.xml10.decl.s.nl.test
6796          @@@DEnt:
6797            @@@@test:value:
6798              <?xml version="1.0"?>$u0085<p/>
6799          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 22)..(2, 0); }
6800        @@XMLTest:
6801          @@@QName: xp.xml10.decl.s.crnl.test
6802          @@@DEnt:
6803            @@@@test:value:
6804              <?xml version="1.0"?>$u000D$u0085<p/>
6805          @@@c:erred: <[[xp|wf-syntax-error]]> { (2, 0)..(3, 0); }
6806        @@XMLTest:
6807          @@@QName: xp.xml10.decl.s.ls.test
6808          @@@DEnt:
6809            @@@@test:value:
6810              <?xml version="1.0"?>$u2028<p/>
6811          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 22)..(2, 0); }
6812        @@XMLTest:
6813          @@@QName: xp.xml11.decl.s.nl.test
6814          @@@DEnt:
6815            @@@@test:value:
6816              <?xml version="1.1"?>$u0085<p/>
6817          @@@test:domTree:
6818            document {
6819              xml-version: '1.1';
6820              element { }
6821            }
6822        @@XMLTest:
6823          @@@QName: xp.xml11.decl.s.crnl.test
6824          @@@DEnt:
6825            @@@@test:value:
6826              <?xml version="1.1"?>$u000D$u0085<p/>
6827          @@@test:domTree:
6828            document {
6829              xml-version: '1.1';
6830              element { }
6831            }
6832        @@XMLTest:
6833          @@@QName: xp.xml11.decl.s.ls.test
6834          @@@DEnt:
6835            @@@@test:value:
6836              <?xml version="1.1"?>$u2028<p/>
6837          @@@test:domTree:
6838            document {
6839              xml-version: '1.1';
6840              element { }
6841            }
6842    
6843        @@XMLTest:
6844          @@@QName: xp.element.type.match.1.test
6845          @@@DEnt:
6846            @@@@test:value:
6847              <p></pa>(err)
6848          @@@c:erred: <[[xp|wf-element-type-match]]> { (1, 4)..(1, 8); }
6849          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6850        @@XMLTest:
6851          @@@QName: xp.element.type.match.2.test
6852          @@@DEnt:
6853            @@@@test:value:
6854              <p><pa></pa></pa>(err)
6855          @@@c:erred: <[[xp|wf-element-type-match]]> { (1, 13)..(1, 17); }
6856          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6857        @@XMLTest:
6858          @@@QName: xp.element.type.match.3.test
6859          @@@DEnt:
6860            @@@@test:value:
6861              <p><pa></p></p>(err)
6862          @@@c:erred: <[[xp|wf-element-type-match]]> { (1, 8)..(1, 11); }
6863          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6864        @@XMLTest:
6865          @@@QName: xp.element.type.match.4.test
6866          @@@DEnt:
6867            @@@@test:value:
6868              <a:p xmlns:a="about:1"></p>(err)
6869          @@@c:erred: <[[xp|wf-element-type-match]]> { (1, 24)..(1, 27); }
6870          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6871        @@XMLTest:
6872          @@@QName: xp.element.type.match.5.test
6873          @@@DEnt:
6874            @@@@test:value:
6875              <a:p xmlns:a="about:1" xmlns:b="about:1"></b:p>(err)
6876          @@@c:erred: <[[xp|wf-element-type-match]]> { (1, 42)..(1, 47); }
6877          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6878    
6879        @@XMLTest:
6880          @@@QName: xp.stag.stago.name.etago.test
6881          @@@DEnt:
6882            @@@@test:value:
6883              <a</a>
6884          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 3); }
6885        @@XMLTest:
6886          @@@QName: xp.stag.stago.name.s.etago.test
6887          @@@DEnt:
6888            @@@@test:value:
6889              <a </a>
6890          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 4); }
6891        @@XMLTest:
6892          @@@QName: xp.stag.stago.name.s.attr.etago.test
6893          @@@DEnt:
6894            @@@@test:value:
6895              <a a="b"</a>
6896          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 9); }
6897        @@XMLTest:
6898          @@@QName: xp.stag.stago.name.s.attr.s.attr.etago.test
6899          @@@DEnt:
6900            @@@@test:value:
6901              <a a="b" c="d"</a>
6902          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 15); }
6903        @@XMLTest:
6904          @@@QName: xp.stag.stago.name.s.attr.s.etago.test
6905          @@@DEnt:
6906            @@@@test:value:
6907              <a a="b" </a>
6908          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 10); }
6909        @@XMLTest:
6910          @@@QName: xp.stag.etag.1.test
6911          @@@DEnt:
6912            @@@@test:value:
6913              <root><a></a></root>
6914          @@@test:domTree:
6915            document {
6916              element {
6917                element {
6918                  node-name: 'a';
6919                }
6920              }
6921            }      
6922        @@XMLTest:
6923          @@@QName: xp.stag.etag.2.test
6924          @@@DEnt:
6925            @@@@test:value:
6926              <root><ab></ab></root>
6927          @@@test:domTree:
6928            document {
6929              element {
6930                element {
6931                  node-name: 'ab';
6932                }
6933              }
6934            }      
6935        @@XMLTest:
6936          @@@QName: xp.stag.etag.s.1.test
6937          @@@DEnt:
6938            @@@@test:value:
6939              <root><a  ></a  ></root>
6940          @@@test:domTree:
6941            document {
6942              element {
6943                element {
6944                  node-name: 'a';
6945                }
6946              }
6947            }      
6948        @@XMLTest:
6949          @@@QName: xp.etag.1.test
6950          @@@DEnt:
6951            @@@@test:value:
6952              <root><a/></root>
6953          @@@test:domTree:
6954            document {
6955              element {
6956                element {
6957                  node-name: 'a';
6958                }
6959              }
6960            }      
6961        @@XMLTest:
6962          @@@QName: xp.etag.2.test
6963          @@@DEnt:
6964            @@@@test:value:
6965              <root><a    /></root>
6966          @@@test:domTree:
6967            document {
6968              element {
6969                element {
6970                  node-name: 'a';
6971                }
6972              }
6973            }      
6974        @@XMLTest:
6975          @@@QName: xp.stag.etag.attr.1.test
6976          @@@DEnt:
6977            @@@@test:value:
6978              <root><a at="v"></a></root>
6979          @@@test:domTree:
6980            document {
6981              element {
6982                element {
6983                  node-name: 'a';
6984                  attribute {
6985                    node-name: 'at';
6986                    value: 'v';
6987                  }
6988                }
6989              }
6990            }      
6991        @@XMLTest:
6992          @@@QName: xp.stag.etag.attr.2.test
6993          @@@DEnt:
6994            @@@@test:value:
6995              <root><a at="v"  ></a></root>
6996          @@@test:domTree:
6997            document {
6998              element {
6999                element {
7000                  node-name: 'a';
7001                  attribute {
7002                    node-name: 'at';
7003                    value: 'v';
7004                  }
7005                }
7006              }
7007            }      
7008        @@XMLTest:
7009          @@@QName: xp.stag.etag.attr.3.test
7010          @@@DEnt:
7011            @@@@test:value:
7012              <root><a at     ="v"></a></root>
7013          @@@test:domTree:
7014            document {
7015              element {
7016                element {
7017                  node-name: 'a';
7018                  attribute {
7019                    node-name: 'at';
7020                    value: 'v';
7021                  }
7022                }
7023              }
7024            }      
7025        @@XMLTest:
7026          @@@QName: xp.stag.etag.attr.4.test
7027          @@@DEnt:
7028            @@@@test:value:
7029              <root><a at=   "v"></a></root>
7030          @@@test:domTree:
7031            document {
7032              element {
7033                element {
7034                  node-name: 'a';
7035                  attribute {
7036                    node-name: 'at';
7037                    value: 'v';
7038                  }
7039                }
7040              }
7041            }      
7042        @@XMLTest:
7043          @@@QName: xp.stag.etag.attr.5.test
7044          @@@DEnt:
7045            @@@@test:value:
7046              <root><a at='v'></a></root>
7047          @@@test:domTree:
7048            document {
7049              element {
7050                element {
7051                  node-name: 'a';
7052                  attribute {
7053                    node-name: 'at';
7054                    value: 'v';
7055                  }
7056                }
7057              }
7058            }      
7059        @@XMLTest:
7060          @@@QName: xp.stag.etag.attr.6.test
7061          @@@DEnt:
7062            @@@@test:value:
7063              <root><a at=   'v'  ></a></root>
7064          @@@test:domTree:
7065            document {
7066              element {
7067                element {
7068                  node-name: 'a';
7069                  attribute {
7070                    node-name: 'at';
7071                    value: 'v';
7072                  }
7073                }
7074              }
7075            }      
7076        @@XMLTest:
7077          @@@QName: xp.stag.etag.attr.attr.1.test
7078          @@@DEnt:
7079            @@@@test:value:
7080              <root><a at="v"  tr="w"></a></root>
7081          @@@test:domTree:
7082            document {
7083              element {
7084                element {
7085                  node-name: 'a';
7086                  attribute {
7087                    node-name: 'at';
7088                    value: 'v';
7089                  }
7090                  attribute {
7091                    node-name: 'tr';
7092                    value: 'w';
7093                  }
7094                }
7095              }
7096            }      
7097        @@XMLTest:
7098          @@@QName: xp.stag.etag.attr.attr.2.test
7099          @@@DEnt:
7100            @@@@test:value:
7101              <root><a tr="w" at="v"></a></root>
7102          @@@test:domTree:
7103            document {
7104              element {
7105                element {
7106                  node-name: 'a';
7107                  attribute {
7108                    node-name: 'at';
7109                    value: 'v';
7110                  }
7111                  attribute {
7112                    node-name: 'tr';
7113                    value: 'w';
7114                  }
7115                }
7116              }
7117            }      
7118        @@XMLTest:
7119          @@@QName: xp.stag.etag.attr.no.s.attr.test
7120          @@@DEnt:
7121            @@@@test:value:
7122              <root><a at="v"tr="w"></a></root>
7123          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 16)..(1, 17); }
7124        @@XMLTest:
7125          @@@QName: xp.etag.attr.1.test
7126          @@@DEnt:
7127            @@@@test:value:
7128              <root><a at="v" tr="w"></a b="c"></root>
7129          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 28); }
7130        @@XMLTest:
7131          @@@QName: xp.etag.no.etagc.1.test
7132          @@@DEnt:
7133            @@@@test:value:
7134              <root><a at="v" tr="w"></a</root>
7135          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 27)..(1, 28); }
7136        @@XMLTest:
7137          @@@QName: xp.etag.no.etagc.2.test
7138          @@@DEnt:
7139            @@@@test:value:
7140              <root><a at="v" tr="w"></a  </root>
7141          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 29)..(1, 30); }
7142        @@XMLTest:
7143          @@@QName: xp.mtag.attr.1.test
7144          @@@DEnt:
7145            @@@@test:value:
7146              <root><a  b="c"/></root>
7147          @@@test:domTree:
7148            document {
7149              element {
7150                element {
7151                  node-name: 'a';
7152                  attribute {
7153                    node-name: 'b';
7154                    value: 'c';
7155                  }
7156                }
7157              }
7158            }      
7159        @@XMLTest:
7160          @@@QName: xp.mtag.attr.2.test
7161          @@@DEnt:
7162            @@@@test:value:
7163              <root><a  b="c"  /></root>
7164          @@@test:domTree:
7165            document {
7166              element {
7167                element {
7168                  node-name: 'a';
7169                  attribute {
7170                    node-name: 'b';
7171                    value: 'c';
7172                  }
7173                }
7174              }
7175            }      
7176        @@XMLTest:
7177          @@@QName: xp.mtag.attr.3.test
7178          @@@DEnt:
7179            @@@@test:value:
7180              <root><a  b='c'/></root>
7181          @@@test:domTree:
7182            document {
7183              element {
7184                element {
7185                  node-name: 'a';
7186                  attribute {
7187                    node-name: 'b';
7188                    value: 'c';
7189                  }
7190                }
7191              }
7192            }      
7193        @@XMLTest:
7194          @@@QName: xp.mtag.attr.4.test
7195          @@@DEnt:
7196            @@@@test:value:
7197              <root><a  b="c" d="e"/></root>
7198          @@@test:domTree:
7199            document {
7200              element {
7201                element {
7202                  node-name: 'a';
7203                  attribute {
7204                    node-name: 'b';
7205                    value: 'c';
7206                  }
7207                  attribute {
7208                    node-name: 'd';
7209                    value: 'e';
7210                  }
7211                }
7212              }
7213            }      
7214    
7215        @@XMLTest:
7216          @@@QName: xp.attvalue.lt.1.test
7217          @@@DEnt:
7218            @@@@test:value:
7219              <a b="aa<dd"/>
7220          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 9); }
7221        @@XMLTest:
7222          @@@QName: xp.attvalue.lt.2.test
7223          @@@DEnt:
7224            @@@@test:value:
7225              <a b='aa<dd'/>
7226          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 9); }
7227        @@XMLTest:
7228          @@@QName: xp.attvalue.amp.1.test
7229          @@@DEnt:
7230            @@@@test:value:
7231              <a b="aa& dd"/>
7232          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 9)..(1, 12); }
7233        @@XMLTest:
7234          @@@QName: xp.attvalue.amp.2.test
7235          @@@DEnt:
7236            @@@@test:value:
7237              <a b='aa& dd'/>
7238          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 9)..(1, 12); }
7239        @@XMLTest:
7240          @@@QName: xp.attvalue.amp.3.test
7241          @@@DEnt:
7242            @@@@test:value:
7243              <a b="aa&# dd"/>
7244          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 9)..(1, 13); }
7245        @@XMLTest:
7246          @@@QName: xp.attvalue.amp.4.test
7247          @@@DEnt:
7248            @@@@test:value:
7249              <a b="aa&#x dd"/>
7250          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 9)..(1, 14); }
7251    
7252        @@XMLTest:
7253          @@@QName: xp.unique.att.spec.1.test
7254          @@@DEnt:
7255            @@@@test:value:
7256              <a b="c" b="d"/>
7257          @@@c:erred: <[[xp|wf-unique-att-spec]]> { (1, 4)..(1, 14); }
7258        @@XMLTest:
7259          @@@QName: xp.unique.att.spec.2.test
7260          @@@DEnt:
7261            @@@@test:value:
7262              <a d:b="c" d:b="d" xmlns:d="about:2"/>
7263          @@@c:erred: <[[xp|wf-unique-att-spec]]> { (1, 4)..(1, 18); }
7264    
7265        @@XMLTest:
7266          @@@QName: xp.no.external.entity.references.1.test
7267          @@@DEnt:
7268            @@@@test:value:
7269              <!DOCTYPE a [
7270                <!ENTITY ent SYSTEM "something">
7271              ]>
7272              <a b="c&ent;"/>
7273          @@@c:erred: <[[xp|wf-no-external-entity-references]]> { (4, 8)..(4, 12); }
7274        @@XMLTest:
7275          @@@QName: xp.no.external.entity.references.2.test
7276          @@@DEnt:
7277            @@@@test:value:
7278              <!DOCTYPE a [
7279                <!NOTATION n SYSTEM "notation">
7280                <!ENTITY ent SYSTEM "something" NDATA n>
7281              ]>
7282              <a b="c&ent;"/>
7283          @@@c:erred: <[[xp|wf-no-external-entity-references]]> { (5, 8)..(5, 12); }
7284        @@XMLTest:
7285          @@@QName: xp.no.external.entity.references.3.test
7286          @@@DEnt:
7287            @@@@test:value:
7288              <!DOCTYPE a [
7289                <!ENTITY ent SYSTEM "something">
7290                <!ENTITY ent2 "ddd&ent;">
7291              ]>
7292              <a b="c&ent2;"/>
7293          @@@c:erred: <[[xp|wf-no-external-entity-references]]> { (1, 4)..(1, 8); }
7294        @@XMLTest:
7295          @@@QName: xp.no.external.entity.references.4.test
7296          @@@DEnt:
7297            @@@@test:value:
7298              <!DOCTYPE a [
7299                <!NOTATION n SYSTEM "notation">
7300                <!ENTITY ent SYSTEM "something" NDATA n>
7301                <!ENTITY ent2 "ddd&ent;">
7302              ]>
7303              <a b="c&ent2;"/>
7304          @@@c:erred: <[[xp|wf-no-external-entity-references]]> { (1, 4)..(1, 8); }
7305          @@@c:erred: <[[xp|wf-parsed-entity]]> { }
7306        @@XMLTest:
7307          @@@QName: xp.no.lt.in.attr.value.1.test
7308          @@@DEnt:
7309            @@@@test:value:
7310              <!DOCTYPE a [
7311              <!ENTITY ent "aa<bb">
7312              ]>
7313              <a b="c&ent;"/>
7314          @@@c:erred: <[[xp|wf-no-lt-in-attribute-values]]> { (1, 3); }
7315          @@@c:erred:
7316            @@@@@: <[[xp|wf-syntax-error]]> { (1, 3)..(1, 6); }
7317            @@@@enImplNote: When entity node is created.
7318        @@XMLTest:
7319          @@@QName: xp.no.lt.in.attr.value.2.test
7320          @@@DEnt:
7321            @@@@test:value:
7322              <!DOCTYPE a [
7323              <!ENTITY ent "aa<bb">
7324              <!ENTITY ent2 "ccc&ent;">
7325              ]>
7326              <a b="c&ent2;"/>
7327          @@@c:erred: <[[xp|wf-no-lt-in-attribute-values]]> { (1, 3); }
7328          @@@c:erred:
7329            @@@@@: <[[xp|wf-syntax-error]]> { (1, 3)..(1, 6); }
7330            @@@@enImplNote: When entity node is created.
7331        @@XMLTest:
7332          @@@QName: xp.no.lt.in.attr.value.3.test
7333          @@@DEnt:
7334            @@@@test:value:
7335              <!DOCTYPE a [
7336              <!ENTITY ent "aa&#x3C;bb">
7337              ]>
7338              <a b="c&ent;"/>
7339          @@@c:erred: <[[xp|wf-no-lt-in-attribute-values]]> { (1, 3); }
7340          @@@c:erred:
7341            @@@@@: <[[xp|wf-syntax-error]]> { (1, 3)..(1, 6); }
7342            @@@@enImplNote: When entity node is created.
7343        @@XMLTest:
7344          @@@QName: xp.no.lt.in.attr.value.4.test
7345          @@@DEnt:
7346            @@@@test:value:
7347              <!DOCTYPE a [
7348              <!ENTITY ent "aa&#x3C;bb">
7349              <!ENTITY ent2 "ccc&ent;">
7350              ]>
7351              <a b="c&ent2;"/>
7352          @@@c:erred: <[[xp|wf-no-lt-in-attribute-values]]> { (1, 3); }
7353          @@@c:erred:
7354            @@@@@: <[[xp|wf-syntax-error]]> { (1, 3)..(1, 6); }
7355            @@@@enImplNote: When entity node is created.
7356        @@XMLTest:
7357          @@@QName: xp.ger.lt.in.attr.value.1.test
7358          @@@DEnt:
7359            @@@@test:value:
7360              <!DOCTYPE a [
7361              <!ENTITY ent "aa&lt;bb">
7362              ]>
7363              <a b="c&ent;"/>
7364          @@@test:domTree:
7365            document {
7366              document-type {
7367                general-entity {
7368                  node-name: 'ent';
7369                  text-content: 'aa<bb';
7370                }
7371              }
7372              element {
7373                attribute {
7374                  node-name: 'b';
7375                  text { data: 'c'; }
7376                  general-entity-reference {
7377                    is-expanded: true;
7378                    node-name: 'ent';
7379                    text-content: 'aa<bb';
7380                  }
7381                }
7382              }
7383            }
7384        @@XMLTest:
7385          @@@QName: xp.ger.lt.in.attr.value.2.test
7386          @@@DEnt:
7387            @@@@test:value:
7388              <!DOCTYPE a [
7389              <!ENTITY ent "aa&lt;bb">
7390              <!ENTITY ent2 "ccc&ent;">
7391              ]>
7392              <a b="c&ent2;"/>
7393          @@@test:domTree:
7394            document {
7395              document-type {
7396                general-entity {
7397                  node-name: 'ent';
7398                  text-content: 'aa<bb';
7399                }
7400                general-entity {
7401                  node-name: 'ent2';
7402                  text { data: 'ccc'; }
7403                  general-entity-reference {
7404                    node-name: 'ent';
7405                    text-content: 'aa<bb';
7406                    is-expanded: true;
7407                  }
7408                }
7409              }
7410              element {
7411                attribute {
7412                  node-name: 'b';
7413                  text { data: 'c'; }
7414                  general-entity-reference {
7415                    node-name: 'ent2';
7416                    text { data: 'ccc'; }
7417                    general-entity-reference {
7418                      node-name: 'ent';
7419                      text-content: 'aa<bb';
7420                      is-expanded: true;
7421                    }
7422                    is-expanded: true;
7423                  }
7424                }
7425              }
7426            }
7427    
7428      @@XMLTest:      @@XMLTest:
7429        @@@QName: xp.doctype.intsubset.pi.test        @@@QName: xp.doctype.intsubset.pi.test
# Line 3514  _ Line 7471  _
7471            xml-standalone: false;            xml-standalone: false;
7472            document-type {            document-type {
7473              node-name: 'a';              node-name: 'a';
7474                general-entity {
7475                  node-name: 'entity';
7476                  text-content: 'entity value';
7477                  has-replacement-tree: true;
7478                }
7479            }            }
7480            element {            element {
7481              namespace-uri: null;              namespace-uri: null;
# Line 3561  _ Line 7523  _
7523            xml-standalone: false;            xml-standalone: false;
7524            document-type {            document-type {
7525              node-name: 'a';              node-name: 'a';
7526                general-entity {
7527                  node-name: 'entity';
7528                  text-content: 'entity value';
7529                  has-replacement-tree: true;
7530                }
7531            }            }
7532            element {            element {
7533              namespace-uri: null;              namespace-uri: null;
# Line 3571  _ Line 7538  _
7538                text {                text {
7539                  data: 'entity value';                  data: 'entity value';
7540                }                }
7541                  is-expanded: true;
7542              }              }
7543            }            }
7544          }          }
# Line 3589  _ Line 7557  _
7557            xml-standalone: false;            xml-standalone: false;
7558            document-type {            document-type {
7559              node-name: 'a';              node-name: 'a';
7560                general-entity {
7561                  node-name: 'entity';
7562                  text-content: 'entity value';
7563                  has-replacement-tree: true;
7564                }
7565            }            }
7566            element {            element {
7567              namespace-uri: null;              namespace-uri: null;
# Line 3599  _ Line 7572  _
7572                text {                text {
7573                  data: 'entity value';                  data: 'entity value';
7574                }                }
7575                  is-expanded: true;
7576              }              }
7577              text { data: ' and '; }              text { data: ' and '; }
7578              general-entity-reference {              general-entity-reference {
# Line 3606  _ Line 7580  _
7580                text {                text {
7581                  data: 'entity value';                  data: 'entity value';
7582                }                }
7583                  is-expanded: true;
7584              }              }
7585            }            }
7586          }          }
# Line 3624  _ Line 7599  _
7599            xml-standalone: false;            xml-standalone: false;
7600            document-type {            document-type {
7601              node-name: 'a';              node-name: 'a';
7602                general-entity {
7603                  node-name: 'entity';
7604                  has-replacement-tree: true;
7605                  text { data: 'entity '; }
7606                  element {
7607                    node-name: 'p';
7608                    text-content: 'value';
7609                  }
7610                  text { data: ' with '; }
7611                  element {
7612                    node-name: 'e';
7613                    text-content: 'element';
7614                  }
7615                  text { data: ' '; }
7616                }
7617            }            }
7618            element {            element {
7619              namespace-uri: null;              namespace-uri: null;
# Line 3631  _ Line 7621  _
7621              local-name: 'a';              local-name: 'a';
7622              general-entity-reference {              general-entity-reference {
7623                node-name: 'entity';                node-name: 'entity';
7624                  is-expanded: true;
7625                text {                text {
7626                  data: 'entity ';                  data: 'entity ';
7627                }                }
# Line 3675  _ Line 7666  _
7666            xml-standalone: false;            xml-standalone: false;
7667            document-type {            document-type {
7668              node-name: 'a';              node-name: 'a';
7669                general-entity {
7670                  node-name: 'entity1';
7671                  text-content: 'entity value';
7672                }
7673                general-entity {
7674                  node-name: 'entity2';
7675                  text { data: 'e'; }
7676                  general-entity-reference {
7677                    node-name: 'entity1';
7678                    text-content: 'entity value';
7679                    is-expanded: true;
7680                  }
7681                  text { data: 'n'; }
7682                }
7683            }            }
7684            element {            element {
7685              namespace-uri: null;              namespace-uri: null;
# Line 3683  _ Line 7688  _
7688              general-entity-reference {              general-entity-reference {
7689                node-name: 'entity2';                node-name: 'entity2';
7690                text { data: 'e'; }                text { data: 'e'; }
7691                  is-expanded: true;
7692                general-entity-reference {                general-entity-reference {
7693                  node-name: 'entity1';                  node-name: 'entity1';
7694                  text {                  text {
7695                    data: 'entity value';                    data: 'entity value';
7696                  }                  }
7697                    is-expanded: true;
7698                }                }
7699                text { data: 'n'; }                text { data: 'n'; }
7700              }              }
7701            }            }
7702          }          }
7703    
7704        @@XMLTest:
7705          @@@QName: xp.doctype.entity.value.charref.test
7706          @@@DEnt:
7707            @@@@test:value:
7708              <!DOCTYPE a [
7709                <!ENTITY entity1 "entity &#x21;value&#35;">
7710                <!ENTITY entity2 '&#x21;value&#35;'>
7711              ]>
7712              <a></a>
7713          @@@test:domTree:
7714            document {
7715              document-type {
7716                general-entity {
7717                  node-name: 'entity1';
7718                  text-content: 'entity !value#';
7719                  has-replacement-tree: true;
7720                }
7721                general-entity {
7722                  node-name: 'entity2';
7723                  text-content: '!value#';
7724                  has-replacement-tree: true;
7725                }
7726              }
7727              element { }
7728            }
7729    
7730        @@XMLTest:
7731          @@@QName: xp.predefined.in.content.test
7732          @@@DEnt:
7733            @@@@test:value:
7734              <a>_&lt;_&gt;_&quot;_&apos;_&amp;_</a>
7735          @@@test:domTree:
7736            document {
7737              element {
7738                text-content: '_<_>_"_' U+0027 '_&_';
7739              }
7740            }
7741        @@XMLTest:
7742          @@@QName: xp.predefined.in.attr.test
7743          @@@DEnt:
7744            @@@@test:value:
7745              <a at="_&lt;_&gt;_&quot;_&apos;_&amp;_"></a>
7746          @@@test:domTree:
7747            document {
7748              element {
7749                attribute {
7750                  node-name: 'at';
7751                  text-content: '_<_>_"_' U+0027 '_&_';
7752                }
7753              }
7754            }
7755        @@XMLTest:
7756          @@@QName: xp.predefined.in.content.in.entity.test
7757          @@@DEnt:
7758            @@@@test:value:
7759              <!DOCTYPE a [
7760                <!ENTITY ent "_&lt;_&gt;_&quot;_&apos;_&amp;_">
7761              ]>
7762              <a>&ent;</a>
7763          @@@test:domTree:
7764            document {
7765              document-type {
7766                general-entity {
7767                  node-name: 'ent';
7768                  text-content: '_<_>_"_' U+0027 '_&_';
7769                }
7770              }
7771              element {
7772                text-content: '_<_>_"_' U+0027 '_&_';
7773              }
7774            }
7775        @@XMLTest:
7776          @@@QName: xp.predefined.decl.ignore.test
7777          @@@DEnt:
7778            @@@@test:value:
7779              <!DOCTYPE a [
7780                <!ENTITY lt "&#x26;#x3C;">
7781                <!ENTITY gt "&#x3E;">
7782                <!ENTITY amp "&#x26;#x26;">
7783                <!ENTITY quot "&#x22;">
7784                <!ENTITY apos "&#x27;">
7785                <!ENTITY other "other">
7786              ]>
7787              <a>_&lt;_&gt;_&quot;_&apos;_&amp;_&other;_</a>
7788          @@@test:domTree:
7789            document {
7790              document-type {
7791                general-entity {
7792                  node-name: 'other';
7793                  text-content: 'other';
7794                }
7795              }
7796              element {
7797                text-content: '_<_>_"_' U+0027 '_&_other_';
7798              }
7799            }
7800    
7801      @@XMLTest:      @@XMLTest:
7802        @@@QName: xp.doctype.internal.attr.empty.test        @@@QName: xp.doctype.internal.attr.empty.test
7803        @@@DEnt:        @@@DEnt:
# Line 4227  _ Line 8332  _
8332            }            }
8333          }          }
8334    
8335        @@XMLTest:
8336          @@@QName: xp.attr.literal.charref.test
8337          @@@DEnt:
8338            @@@@test:value:
8339              <a at1 = "value&#33;_&#x25;value"
8340                 at2 = 'value&#x25;_&#33;value'></a>
8341          @@@test:domTree:
8342            document {
8343              element {
8344                attribute {
8345                  node-name: 'at1';
8346                  text-content: 'value!_%value';
8347                }
8348                attribute {
8349                  node-name: 'at2';
8350                  text-content: 'value%_!value';
8351                }
8352              }
8353            }
8354        @@XMLTest:
8355          @@@QName: xp.attr.literal.entref.test
8356          @@@DEnt:
8357            @@@@test:value:
8358              <!DOCTYPE a [
8359                <!ENTITY ent "entity&#x26;#33;_&#x26;#x29;value">
8360              ]>
8361              <a at1 = "value&ent;value"
8362                 at2 = 'value&ent;value'></a>
8363          @@@test:domTree:
8364            document {
8365              document-type {
8366                general-entity {
8367                  node-name: 'ent';
8368                  text-content: 'entity!_)value';
8369                }
8370              }
8371              element {
8372                attribute {
8373                  node-name: 'at1';
8374                  text-content: 'valueentity!_)valuevalue';
8375                }
8376                attribute {
8377                  node-name: 'at2';
8378                  text-content: 'valueentity!_)valuevalue';
8379                }
8380              }
8381            }
8382        @@XMLTest:
8383          @@@QName: xp.attr.literal.entref.nest.test
8384          @@@DEnt:
8385            @@@@test:value:
8386              <!DOCTYPE a [
8387                <!ENTITY ent1 "entity&#x26;#33;_&#x26;#x29;value">
8388                <!ENTITY ent2 "@&ent1;@">
8389              ]>
8390              <a at1 = "value&ent2;value"
8391                 at2 = 'value&ent2;value'></a>
8392          @@@test:domTree:
8393            document {
8394              document-type {
8395                general-entity {
8396                  node-name: 'ent1';
8397                  text-content: 'entity!_)value';
8398                }
8399                general-entity {
8400                  node-name: 'ent2';
8401                  text-content: '@entity!_)value@';
8402                }
8403              }
8404              element {
8405                attribute {
8406                  node-name: 'at1';
8407                  text-content: 'value@entity!_)value@value';
8408                }
8409                attribute {
8410                  node-name: 'at2';
8411                  text-content: 'value@entity!_)value@value';
8412                }
8413              }
8414            }
8415    
8416        @@XMLTest:
8417          @@@QName: xp.element.content.ncr.1.test
8418          @@@DEnt:
8419            @@@@test:value:
8420              <e>&#33;</e>
8421          @@@test:domTree:
8422            document {
8423              element {
8424                text-content: '!';
8425              }
8426            }
8427        @@XMLTest:
8428          @@@QName: xp.element.content.ncr.2.test
8429          @@@DEnt:
8430            @@@@test:value:
8431              <e>aaaa&#33;bbbb</e>
8432          @@@test:domTree:
8433            document {
8434              element {
8435                text-content: 'aaaa!bbbb';
8436              }
8437            }
8438        @@XMLTest:
8439          @@@QName: xp.attrval.ncr.1.test
8440          @@@DEnt:
8441            @@@@test:value:
8442              <e a="&#33;"/>
8443          @@@test:domTree:
8444            document {
8445              element {
8446                attribute {
8447                  node-name: 'a';
8448                  text-content: '!';
8449                }
8450              }
8451            }
8452        @@XMLTest:
8453          @@@QName: xp.attrval.ncr.2.test
8454          @@@DEnt:
8455            @@@@test:value:
8456              <e a="aaaaa&#33;bbbbb"/>
8457          @@@test:domTree:
8458            document {
8459              element {
8460                attribute {
8461                  node-name: 'a';
8462                  text-content: 'aaaaa!bbbbb';
8463                }
8464              }
8465            }
8466        @@XMLTest:
8467          @@@QName: xp.attrval.ncr.3.test
8468          @@@DEnt:
8469            @@@@test:value:
8470              <e a='&#33;'/>
8471          @@@test:domTree:
8472            document {
8473              element {
8474                attribute {
8475                  node-name: 'a';
8476                  text-content: '!';
8477                }
8478              }
8479            }
8480        @@XMLTest:
8481          @@@QName: xp.attrval.ncr.4.test
8482          @@@DEnt:
8483            @@@@test:value:
8484              <e a='aaaaa&#33;bbbbb'/>
8485          @@@test:domTree:
8486            document {
8487              element {
8488                attribute {
8489                  node-name: 'a';
8490                  text-content: 'aaaaa!bbbbb';
8491                }
8492              }
8493            }
8494        @@XMLTest:
8495          @@@QName: xp.entval.ncr.1.test
8496          @@@DEnt:
8497            @@@@test:value:
8498              <!DOCTYPE e [
8499                <!ENTITY ent "&#33;">
8500              ]>
8501              <e/>
8502          @@@test:domTree:
8503            document {
8504              document-type {
8505                general-entity {
8506                  node-name: 'ent';
8507                  text-content: '!';
8508                }
8509              }
8510              element { }
8511            }
8512        @@XMLTest:
8513          @@@QName: xp.entval.ncr.2.test
8514          @@@DEnt:
8515            @@@@test:value:
8516              <!DOCTYPE e [
8517                <!ENTITY ent "aaaaa&#33;bbbbb">
8518              ]>
8519              <e/>
8520          @@@test:domTree:
8521            document {
8522              document-type {
8523                general-entity {
8524                  node-name: 'ent';
8525                  text-content: 'aaaaa!bbbbb';
8526                }
8527              }
8528              element { }
8529            }
8530        @@XMLTest:
8531          @@@QName: xp.element.content.reptxt.ncr.1.test
8532          @@@DEnt:
8533            @@@@test:value:
8534              <!DOCTYPE e [
8535                <!ENTITY ent "&#38;#33;">
8536              ]>
8537              <e>&ent;</e>
8538          @@@test:domTree:
8539            document {
8540              document-type { }
8541              element {
8542                general-entity-reference {
8543                  node-name: 'ent';
8544                  text-content: '!';
8545                  is-expanded: true;
8546                }
8547              }
8548            }
8549        @@XMLTest:
8550          @@@QName: xp.element.content.reptxt.ncr.2.test
8551          @@@DEnt:
8552            @@@@test:value:
8553              <!DOCTYPE e [
8554                <!ENTITY ent "aaaaa&#38;#33;bbbbb">
8555              ]>
8556              <e>&ent;</e>
8557          @@@test:domTree:
8558            document {
8559              document-type { }
8560              element {
8561                general-entity-reference {
8562                  node-name: 'ent';
8563                  text-content: 'aaaaa!bbbbb';
8564                  is-expanded: true;
8565                }
8566              }
8567            }
8568        @@XMLTest:
8569          @@@QName: xp.element.content.reptxt.reptxt.ncr.1.test
8570          @@@DEnt:
8571            @@@@test:value:
8572              <!DOCTYPE e [
8573                <!ENTITY ent "&#38;#33;">
8574                <!ENTITY ent2 "&ent;">
8575              ]>
8576              <e>&ent2;</e>
8577          @@@test:domTree:
8578            document {
8579              document-type { }
8580              element {
8581                general-entity-reference {
8582                  node-name: 'ent2';
8583                  general-entity-reference {
8584                    node-name: 'ent';
8585                    text-content: '!';
8586                    is-expanded: true;
8587                  }
8588                  is-expanded: true;
8589                }
8590              }
8591            }
8592        @@XMLTest:
8593          @@@QName: xp.element.content.reptxt.reptxt.ncr.2.test
8594          @@@DEnt:
8595            @@@@test:value:
8596              <!DOCTYPE e [
8597                <!ENTITY ent "aa&#38;#33;bb">
8598                <!ENTITY ent2 "&ent;">
8599              ]>
8600              <e>&ent2;</e>
8601          @@@test:domTree:
8602            document {
8603              document-type { }
8604              element {
8605                general-entity-reference {
8606                  node-name: 'ent2';
8607                  general-entity-reference {
8608                    node-name: 'ent';
8609                    text-content: 'aa!bb';
8610                    is-expanded: true;
8611                  }
8612                  is-expanded: true;
8613                }
8614              }
8615            }
8616        @@XMLTest:
8617          @@@QName: xp.attval.reptxt.ncr.1.test
8618          @@@DEnt:
8619            @@@@test:value:
8620              <!DOCTYPE e [
8621                <!ENTITY ent "&#38;#33;">
8622              ]>
8623              <e a="&ent;"/>
8624          @@@test:domTree:
8625            document {
8626              document-type { }
8627              element {
8628                attribute {
8629                  node-name: 'a';
8630                  general-entity-reference {
8631                    node-name: 'ent';
8632                    text-content: '!';
8633                    is-expanded: true;
8634                  }
8635                }
8636              }
8637            }
8638        @@XMLTest:
8639          @@@QName: xp.attval.reptxt.ncr.2.test
8640          @@@DEnt:
8641            @@@@test:value:
8642              <!DOCTYPE e [
8643                <!ENTITY ent "aaaaa&#38;#33;bbbbb">
8644              ]>
8645              <e a="&ent;"/>
8646          @@@test:domTree:
8647            document {
8648              document-type { }
8649              element {
8650                attribute {
8651                  node-name: 'a';
8652                  general-entity-reference {
8653                    node-name: 'ent';
8654                    text-content: 'aaaaa!bbbbb';
8655                    is-expanded: true;
8656                  }
8657                }
8658              }
8659            }
8660        @@XMLTest:
8661          @@@QName: xp.attval.reptxt.reptxt.ncr.1.test
8662          @@@DEnt:
8663            @@@@test:value:
8664              <!DOCTYPE e [
8665                <!ENTITY ent "&#38;#33;">
8666                <!ENTITY ent2 "&ent;">
8667              ]>
8668              <e a="&ent2;"/>
8669          @@@test:domTree:
8670            document {
8671              document-type { }
8672              element {
8673                attribute {
8674                  node-name: 'a';
8675                  general-entity-reference {
8676                    node-name: 'ent2';
8677                    is-expanded: true;
8678                    general-entity-reference {
8679                      node-name: 'ent';
8680                      text-content: '!';
8681                      is-expanded: true;
8682                    }
8683                  }
8684                }
8685              }
8686            }
8687        @@XMLTest:
8688          @@@QName: xp.attval.reptxt.reptxt.ncr.2.test
8689          @@@DEnt:
8690            @@@@test:value:
8691              <!DOCTYPE e [
8692                <!ENTITY ent "aa&#38;#33;bb">
8693                <!ENTITY ent2 "&ent;">
8694              ]>
8695              <e a="&ent2;"/>
8696          @@@test:domTree:
8697            document {
8698              document-type { }
8699              element {
8700                attribute {
8701                  node-name: 'a';
8702                  general-entity-reference {
8703                    node-name: 'ent2';
8704                    is-expanded: true;
8705                    general-entity-reference {
8706                      node-name: 'ent';
8707                      text-content: 'aa!bb';
8708                      is-expanded: true;
8709                    }
8710                  }
8711                }
8712              }
8713            }
8714    
8715        @@XMLTest:
8716          @@@QName: xp.element.content.hcr.1.test
8717          @@@DEnt:
8718            @@@@test:value:
8719              <e>&#x21;</e>
8720          @@@test:domTree:
8721            document {
8722              element {
8723                text-content: '!';
8724              }
8725            }
8726        @@XMLTest:
8727          @@@QName: xp.element.content.hcr.2.test
8728          @@@DEnt:
8729            @@@@test:value:
8730              <e>aaaa&#x21;bbbb</e>
8731          @@@test:domTree:
8732            document {
8733              element {
8734                text-content: 'aaaa!bbbb';
8735              }
8736            }
8737        @@XMLTest:
8738          @@@QName: xp.attrval.hcr.1.test
8739          @@@DEnt:
8740            @@@@test:value:
8741              <e a="&#x21;"/>
8742          @@@test:domTree:
8743            document {
8744              element {
8745                attribute {
8746                  node-name: 'a';
8747                  text-content: '!';
8748                }
8749              }
8750            }
8751        @@XMLTest:
8752          @@@QName: xp.attrval.hcr.2.test
8753          @@@DEnt:
8754            @@@@test:value:
8755              <e a="aaaaa&#x21;bbbbb"/>
8756          @@@test:domTree:
8757            document {
8758              element {
8759                attribute {
8760                  node-name: 'a';
8761                  text-content: 'aaaaa!bbbbb';
8762                }
8763              }
8764            }
8765        @@XMLTest:
8766          @@@QName: xp.attrval.hcr.3.test
8767          @@@DEnt:
8768            @@@@test:value:
8769              <e a='&#x21;'/>
8770          @@@test:domTree:
8771            document {
8772              element {
8773                attribute {
8774                  node-name: 'a';
8775                  text-content: '!';
8776                }
8777              }
8778            }
8779        @@XMLTest:
8780          @@@QName: xp.attrval.hcr.4.test
8781          @@@DEnt:
8782            @@@@test:value:
8783              <e a='aaaaa&#x21;bbbbb'/>
8784          @@@test:domTree:
8785            document {
8786              element {
8787                attribute {
8788                  node-name: 'a';
8789                  text-content: 'aaaaa!bbbbb';
8790                }
8791              }
8792            }
8793        @@XMLTest:
8794          @@@QName: xp.entval.hcr.1.test
8795          @@@DEnt:
8796            @@@@test:value:
8797              <!DOCTYPE e [
8798                <!ENTITY ent "&#x21;">
8799              ]>
8800              <e/>
8801          @@@test:domTree:
8802            document {
8803              document-type {
8804                general-entity {
8805                  node-name: 'ent';
8806                  text-content: '!';
8807                }
8808              }
8809              element { }
8810            }
8811        @@XMLTest:
8812          @@@QName: xp.entval.hcr.2.test
8813          @@@DEnt:
8814            @@@@test:value:
8815              <!DOCTYPE e [
8816                <!ENTITY ent "aaaaa&#x21;bbbbb">
8817              ]>
8818              <e/>
8819          @@@test:domTree:
8820            document {
8821              document-type {
8822                general-entity {
8823                  node-name: 'ent';
8824                  text-content: 'aaaaa!bbbbb';
8825                }
8826              }
8827              element { }
8828            }
8829        @@XMLTest:
8830          @@@QName: xp.element.content.reptxt.hcr.1.test
8831          @@@DEnt:
8832            @@@@test:value:
8833              <!DOCTYPE e [
8834                <!ENTITY ent "&#38;#x21;">
8835              ]>
8836              <e>&ent;</e>
8837          @@@test:domTree:
8838            document {
8839              document-type { }
8840              element {
8841                general-entity-reference {
8842                  node-name: 'ent';
8843                  text-content: '!';
8844                  is-expanded: true;
8845                }
8846              }
8847            }
8848        @@XMLTest:
8849          @@@QName: xp.element.content.reptxt.hcr.2.test
8850          @@@DEnt:
8851            @@@@test:value:
8852              <!DOCTYPE e [
8853                <!ENTITY ent "aaaaa&#38;#x21;bbbbb">
8854              ]>
8855              <e>&ent;</e>
8856          @@@test:domTree:
8857            document {
8858              document-type { }
8859              element {
8860                general-entity-reference {
8861                  node-name: 'ent';
8862                  text-content: 'aaaaa!bbbbb';
8863                  is-expanded: true;
8864                }
8865              }
8866            }
8867        @@XMLTest:
8868          @@@QName: xp.element.content.reptxt.reptxt.hcr.1.test
8869          @@@DEnt:
8870            @@@@test:value:
8871              <!DOCTYPE e [
8872                <!ENTITY ent "&#38;#x21;">
8873                <!ENTITY ent2 "&ent;">
8874              ]>
8875              <e>&ent2;</e>
8876          @@@test:domTree:
8877            document {
8878              document-type { }
8879              element {
8880                general-entity-reference {
8881                  node-name: 'ent2';
8882                  is-expanded: true;
8883                  general-entity-reference {
8884                    node-name: 'ent';
8885                    text-content: '!';
8886                    is-expanded: true;
8887                  }
8888                }
8889              }
8890            }
8891        @@XMLTest:
8892          @@@QName: xp.element.content.reptxt.reptxt.hcr.2.test
8893          @@@DEnt:
8894            @@@@test:value:
8895              <!DOCTYPE e [
8896                <!ENTITY ent "aa&#38;#x21;bb">
8897                <!ENTITY ent2 "&ent;">
8898              ]>
8899              <e>&ent2;</e>
8900          @@@test:domTree:
8901            document {
8902              document-type { }
8903              element {
8904                general-entity-reference {
8905                  node-name: 'ent2';
8906                  is-expanded: true;
8907                  general-entity-reference {
8908                    node-name: 'ent';
8909                    is-expanded: true;
8910                    text-content: 'aa!bb';
8911                  }
8912                }
8913              }
8914            }
8915        @@XMLTest:
8916          @@@QName: xp.attval.reptxt.hcr.1.test
8917          @@@DEnt:
8918            @@@@test:value:
8919              <!DOCTYPE e [
8920                <!ENTITY ent "&#38;#x21;">
8921              ]>
8922              <e a="&ent;"/>
8923          @@@test:domTree:
8924            document {
8925              document-type { }
8926              element {
8927                attribute {
8928                  node-name: 'a';
8929                  general-entity-reference {
8930                    node-name: 'ent';
8931                    is-expanded: true;
8932                    text-content: '!';
8933                  }
8934                }
8935              }
8936            }
8937        @@XMLTest:
8938          @@@QName: xp.attval.reptxt.hcr.2.test
8939          @@@DEnt:
8940            @@@@test:value:
8941              <!DOCTYPE e [
8942                <!ENTITY ent "aaaaa&#38;#x21;bbbbb">
8943              ]>
8944              <e a="&ent;"/>
8945          @@@test:domTree:
8946            document {
8947              document-type { }
8948              element {
8949                attribute {
8950                  node-name: 'a';
8951                  general-entity-reference {
8952                    node-name: 'ent';
8953                    is-expanded: true;
8954                    text-content: 'aaaaa!bbbbb';
8955                  }
8956                }
8957              }
8958            }
8959        @@XMLTest:
8960          @@@QName: xp.attval.reptxt.reptxt.hcr.1.test
8961          @@@DEnt:
8962            @@@@test:value:
8963              <!DOCTYPE e [
8964                <!ENTITY ent "&#38;#x21;">
8965                <!ENTITY ent2 "&ent;">
8966              ]>
8967              <e a="&ent2;"/>
8968          @@@test:domTree:
8969            document {
8970              document-type { }
8971              element {
8972                attribute {
8973                  node-name: 'a';
8974                  general-entity-reference {
8975                    node-name: 'ent2';
8976                    is-expanded: true;
8977                    general-entity-reference {
8978                      node-name: 'ent';
8979                      is-expanded: true;
8980                      text-content: '!';
8981                    }
8982                  }
8983                }
8984              }
8985            }
8986        @@XMLTest:
8987          @@@QName: xp.attval.reptxt.reptxt.hcr.2.test
8988          @@@DEnt:
8989            @@@@test:value:
8990              <!DOCTYPE e [
8991                <!ENTITY ent "aa&#38;#x21;bb">
8992                <!ENTITY ent2 "&ent;">
8993              ]>
8994              <e a="&ent2;"/>
8995          @@@test:domTree:
8996            document {
8997              document-type { }
8998              element {
8999                attribute {
9000                  node-name: 'a';
9001                  general-entity-reference {
9002                    node-name: 'ent2';
9003                    is-expanded: true;
9004                    general-entity-reference {
9005                      node-name: 'ent';
9006                      is-expanded: true;
9007                      text-content: 'aa!bb';
9008                    }
9009                  }
9010                }
9011              }
9012            }
9013    
9014        @@XMLTest:
9015          @@@QName: xp.element.content.ncr.legal.char.1.0.1.test
9016          @@@DEnt:
9017            @@@@test:value:
9018              <?xml version="1.0"?>
9019              <e>&#0;</e>
9020          @@@c:erred: <[[xp|wf-legal-character]]> { (2, 4)..(2, 7); }
9021        @@XMLTest:
9022          @@@QName: xp.element.content.ncr.legal.char.1.1.1.test
9023          @@@DEnt:
9024            @@@@test:value:
9025              <?xml version="1.1"?>
9026              <e>&#0;</e>
9027          @@@c:erred: <[[xp|wf-legal-character]]> { (2, 4)..(2, 7); }
9028        @@XMLTest:
9029          @@@QName: xp.element.content.ncr.legal.char.1.0.2.test
9030          @@@DEnt:
9031            @@@@test:value:
9032              <?xml version="1.0"?>
9033              <e>&#1;</e>
9034          @@@c:erred: <[[xp|wf-legal-character]]> { (2, 4)..(2, 7); }
9035        @@XMLTest:
9036          @@@QName: xp.element.content.ncr.legal.char.1.1.2.test
9037          @@@DEnt:
9038            @@@@test:value:
9039              <?xml version="1.1"?>
9040              <e>&#1;</e>
9041          @@@test:domTree:
9042            document {
9043              xml-version: '1.1';
9044              element {
9045                text-content: U+0001;
9046              }
9047            }
9048        @@XMLTest:
9049          @@@QName: xp.element.content.hcr.legal.char.1.0.1.test
9050          @@@DEnt:
9051            @@@@test:value:
9052              <?xml version="1.0"?>
9053              <e>&#x0;</e>
9054          @@@c:erred: <[[xp|wf-legal-character]]> { (2, 4)..(2, 8); }
9055        @@XMLTest:
9056          @@@QName: xp.element.content.hcr.legal.char.1.1.1.test
9057          @@@DEnt:
9058            @@@@test:value:
9059              <?xml version="1.1"?>
9060              <e>&#x0;</e>
9061          @@@c:erred: <[[xp|wf-legal-character]]> { (2, 4)..(2, 8); }
9062        @@XMLTest:
9063          @@@QName: xp.element.content.hcr.legal.char.1.0.2.test
9064          @@@DEnt:
9065            @@@@test:value:
9066              <?xml version="1.0"?>
9067              <e>&#x1;</e>
9068          @@@c:erred: <[[xp|wf-legal-character]]> { (2, 4)..(2, 8); }
9069        @@XMLTest:
9070          @@@QName: xp.element.content.hcr.legal.char.1.1.2.test
9071          @@@DEnt:
9072            @@@@test:value:
9073              <?xml version="1.1"?>
9074              <e>&#x1;</e>
9075          @@@test:domTree:
9076            document {
9077              xml-version: '1.1';
9078              element {
9079                text-content: U+0001;
9080              }
9081            }
9082    
9083        @@XMLTest:
9084          @@@QName: xp.element.content.ger.entity.declared.nodtd.1.test
9085          @@@DEnt:
9086            @@@@test:value:
9087              <p>&entity;</p>
9088          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 4)..(1, 11); }
9089        @@XMLTest:
9090          @@@QName: xp.element.content.ger.entity.declared.nodtd.2.test
9091          @@@DEnt:
9092            @@@@test:value:
9093              <?xml version="1.0" standalone="yes"?>
9094              <p>&entity;</p>
9095          @@@c:erred: <[[xp|wf-entity-declared]]> { (2, 4)..(2, 11); }
9096        @@XMLTest:
9097          @@@QName: xp.element.content.ger.entity.declared.nodtd.3.test
9098          @@@DEnt:
9099            @@@@test:value:
9100              <?xml version="1.0" standalone="no"?>
9101              <p>&entity;</p>
9102          @@@c:erred: <[[xp|wf-entity-declared]]> { (2, 4)..(2, 11); }
9103        @@XMLTest:
9104          @@@QName: xp.element.content.ger.entity.declared.nodtd.-1.test
9105          @@@DEnt:
9106            @@@@test:value:
9107              <p>&lt;&gt;&amp;&quot;&apos;</p>
9108          @@@test:domTree:
9109            document {
9110              element {
9111                text-content: '<>&"' U+0027;
9112              }
9113            }
9114        @@XMLTest:
9115          @@@QName: xp.element.content.ger.entity.declared.nopref.1.test
9116          @@@DEnt:
9117            @@@@test:value:
9118              <!DOCTYPE p []>
9119              <p>&entity;</p>
9120          @@@c:erred: <[[xp|wf-entity-declared]]> { (2, 4)..(2, 11); }
9121        @@XMLTest:
9122          @@@QName: xp.element.content.ger.entity.declared.nopref.2.test
9123          @@@DEnt:
9124            @@@@test:value:
9125              <!DOCTYPE p [
9126                <!ENTITY other "aa">
9127                <!ENTITY % another "aa">
9128              ]>
9129              <p>&entity;</p>
9130          @@@c:erred: <[[xp|wf-entity-declared]]> { (5, 4)..(5, 11); }
9131        @@XMLTest:
9132          @@@QName: xp.element.content.ger.entity.declared.nopref.3.test
9133          @@@DEnt:
9134            @@@@test:value:
9135              <?xml version="1.0" standalone="yes"?>
9136              <!DOCTYPE p []>
9137              <p>&entity;</p>
9138          @@@c:erred: <[[xp|wf-entity-declared]]> { (3, 4)..(3, 11); }
9139        @@XMLTest:
9140          @@@QName: xp.element.content.ger.entity.declared.nopref.4.test
9141          @@@DEnt:
9142            @@@@test:value:
9143              <?xml version="1.0" standalone="no"?>
9144              <!DOCTYPE p []>
9145              <p>&entity;</p>
9146          @@@c:erred: <[[xp|wf-entity-declared]]> { (3, 4)..(3, 11); }
9147        @@XMLTest:
9148          @@@QName: xp.element.content.ger.entity.declared.nopref.5.test
9149          @@@DEnt:
9150            @@@@test:value:
9151              <?xml version="1.0" standalone="yes"?>
9152              <!DOCTYPE p [
9153                <!ENTITY other "aa">
9154                <!ENTITY % another "aa">
9155              ]>
9156              <p>&entity;</p>
9157          @@@c:erred: <[[xp|wf-entity-declared]]> { (6, 4)..(6, 11); }
9158        @@XMLTest:
9159          @@@QName: xp.element.content.ger.entity.declared.nopref.6.test
9160          @@@DEnt:
9161            @@@@test:value:
9162              <?xml version="1.0" standalone="no"?>
9163              <!DOCTYPE p [
9164                <!ENTITY other "aa">
9165                <!ENTITY % another "aa">
9166              ]>
9167              <p>&entity;</p>
9168          @@@c:erred: <[[xp|wf-entity-declared]]> { (6, 4)..(6, 11); }
9169        @@XMLTest:
9170          @@@QName: xp.element.content.ger.entity.declared.nopref.-1.test
9171          @@@DEnt:
9172            @@@@test:value:
9173              <!DOCTYPE p [
9174                <!ENTITY entity "value">
9175              ]>
9176              <p>&entity;</p>
9177          @@@test:domTree:
9178            document {
9179              document-type {
9180                general-entity {
9181                  node-name: 'entity';
9182                  text-content: 'value';
9183                }
9184              }
9185              element {
9186                general-entity-reference {
9187                  node-name: 'entity';
9188                  is-expanded: true;
9189                  text-content: 'value';
9190                }
9191              }
9192            }
9193        @@XMLTest:
9194          @@@QName: xp.element.content.ger.entity.declared.nopref.-2.test
9195          @@@DEnt:
9196            @@@@test:value:
9197              <!DOCTYPE p [
9198                <!ENTITY entity "value">
9199                <!ENTITY another SYSTEM "another">
9200              ]>
9201              <p>&entity;</p>
9202          @@@test:domTree:
9203            document {
9204              document-type {
9205                general-entity {
9206                  node-name: 'entity';
9207                  text-content: 'value';
9208                }
9209                general-entity {
9210                  node-name: 'another';
9211                  public-id: null;
9212                  system-id: 'another';
9213                }
9214              }
9215              element {
9216                general-entity-reference {
9217                  node-name: 'entity';
9218                  is-expanded: true;
9219                  text-content: 'value';
9220                }
9221              }
9222            }
9223        @@XMLTest:
9224          @@@QName: xp.element.content.ger.entity.declared.standalone.1.test
9225          @@@DEnt:
9226            @@@@test:value:
9227              <?xml version="1.0" standalone="yes"?>
9228              <p>&entity;</p>
9229          @@@c:erred: <[[xp|wf-entity-declared]]> { (2, 4)..(2, 11); }
9230        @@XMLTest:
9231          @@@QName: xp.element.content.ger.entity.declared.standalone.2.test
9232          @@@DEnt:
9233            @@@@test:value:
9234              <?xml version="1.0" standalone="yes"?>
9235              <!DOCTYPE p []>
9236              <p>&entity;</p>
9237          @@@c:erred: <[[xp|wf-entity-declared]]> { (3, 4)..(3, 11); }
9238        @@XMLTest:
9239          @@@QName: xp.element.content.ger.entity.declared.standalone.3.test
9240          @@@DEnt:
9241            @@@@test:value:
9242              <?xml version="1.0" standalone="yes"?>
9243              <!DOCTYPE p [
9244                <!ENTITY % para "<!-- -->">
9245                %para;
9246              ]>
9247              <p>&entity;</p>
9248          @@@c:erred: <[[xp|wf-entity-declared]]> { (6, 4)..(6, 11); }
9249        @@XMLTest:
9250          @@@QName: xp.element.content.ger.entity.declared.standalone.-1.test
9251          @@@DEnt:
9252            @@@@test:value:
9253              <?xml version="1.0" standalone="no"?>
9254              <!DOCTYPE p [
9255                <!ENTITY % para "<!-- -->">
9256                %para;
9257              ]>
9258              <p>&entity;</p>
9259          @@@test:domTree:
9260            document {
9261              document-type { }
9262              element {
9263                general-entity-reference {
9264                  is-expanded: false;
9265                }
9266              }
9267            }
9268        @@XMLTest:
9269          @@@QName: xp.element.content.ger.entity.declared.standalone.-2.test
9270          @@@DEnt:
9271            @@@@test:value:
9272              <!DOCTYPE p [
9273                <!ENTITY % para "<!-- -->">
9274                %para;
9275              ]>
9276              <p>&entity;</p>
9277          @@@test:domTree:
9278            document {
9279              document-type { }
9280              element {
9281                general-entity-reference {
9282                  is-expanded: false;
9283                }
9284              }
9285            }
9286        @@XMLTest:
9287          @@@QName: xp.element.content.ger.entity.declared.standalone.4.test
9288          @@@DEnt:
9289            @@@@test:value:
9290              <?xml version="1.0" standalone="yes"?>
9291              <!DOCTYPE p [
9292                <!ENTITY % para SYSTEM "para">
9293                %para;
9294              ]>
9295              <p>&entity;</p>
9296          @@@c:erred: <[[xp|wf-entity-declared]]> { (6, 4)..(6, 11); }
9297        @@XMLTest:
9298          @@@QName: xp.element.content.ger.entity.declared.standalone.-3.test
9299          @@@DEnt:
9300            @@@@test:value:
9301              <?xml version="1.0" standalone="no"?>
9302              <!DOCTYPE p [
9303                <!ENTITY % para SYSTEM "para">
9304                %para;
9305              ]>
9306              <p>&entity;</p>
9307          @@@test:domTree:
9308            document {
9309              document-type { }
9310              element {
9311                general-entity-reference {
9312                  is-expanded: false;
9313                }
9314              }
9315            }
9316        @@XMLTest:
9317          @@@QName: xp.element.content.ger.entity.declared.standalone.-4.test
9318          @@@DEnt:
9319            @@@@test:value:
9320              <!DOCTYPE p [
9321                <!ENTITY % para SYSTEM "para">
9322                %para;
9323              ]>
9324              <p>&entity;</p>
9325          @@@test:domTree:
9326            document {
9327              document-type { }
9328              element {
9329                general-entity-reference {
9330                  is-expanded: false;
9331                }
9332              }
9333            }
9334        @@XMLTest:
9335          @@@QName: xp.element.content.ger.entity.declared.standalone.5.test
9336          @@@DEnt:
9337            @@@@test:value:
9338              <?xml version="1.0" standalone="yes"?>
9339              <!DOCTYPE p SYSTEM "dtd">
9340              <p>&entity;</p>
9341          @@@c:erred: <[[xp|wf-entity-declared]]> { (3, 4)..(3, 11); }
9342        @@XMLTest:
9343          @@@QName: xp.element.content.ger.entity.declared.standalone.-5.test
9344          @@@DEnt:
9345            @@@@test:value:
9346              <?xml version="1.0" standalone="no"?>
9347              <!DOCTYPE p SYSTEM "dtd">
9348              <p>&entity;</p>
9349          @@@test:domTree:
9350            document {
9351              document-type { }
9352              element {
9353                general-entity-reference {
9354                  is-expanded: false;
9355                }
9356              }
9357            }
9358        @@XMLTest:
9359          @@@QName: xp.element.content.ger.entity.declared.standalone.-6.test
9360          @@@DEnt:
9361            @@@@test:value:
9362              <!DOCTYPE p SYSTEM "dtd">
9363              <p>&entity;</p>
9364          @@@test:domTree:
9365            document {
9366              document-type { }
9367              element {
9368                general-entity-reference {
9369                  is-expanded: false;
9370                }
9371              }
9372            }
9373    
9374        @@XMLTest:
9375          @@@QName: xp.reptxt.element.content.ger.entity.declared.nopref.1.test
9376          @@@DEnt:
9377            @@@@test:value:
9378              <!DOCTYPE p [
9379              <!ENTITY c "&entity;">
9380              ]>
9381              <p>&c;</p>
9382          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
9383        @@XMLTest:
9384          @@@QName: xp.reptxt.element.content.ger.entity.declared.nopref.2.test
9385          @@@DEnt:
9386            @@@@test:value:
9387              <!DOCTYPE p [
9388                <!ENTITY other "aa">
9389                <!ENTITY % another "aa">
9390              <!ENTITY c "&entity;">
9391              ]>
9392              <p>&c;</p>
9393          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
9394        @@XMLTest:
9395          @@@QName: xp.reptxt.element.content.ger.entity.declared.nopref.3.test
9396          @@@DEnt:
9397            @@@@test:value:
9398              <?xml version="1.0" standalone="yes"?>
9399              <!DOCTYPE p [
9400              <!ENTITY c "&entity;">
9401              ]>
9402              <p>&c;</p>
9403          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
9404        @@XMLTest:
9405          @@@QName: xp.reptxt.element.content.ger.entity.declared.nopref.4.test
9406          @@@DEnt:
9407            @@@@test:value:
9408              <?xml version="1.0" standalone="no"?>
9409              <!DOCTYPE p [
9410              <!ENTITY c "&entity;">
9411              ]>
9412              <p>&c;</p>
9413          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
9414        @@XMLTest:
9415          @@@QName: xp.reptxt.element.content.ger.entity.declared.nopref.5.test
9416          @@@DEnt:
9417            @@@@test:value:
9418              <?xml version="1.0" standalone="yes"?>
9419              <!DOCTYPE p [
9420                <!ENTITY other "aa">
9421                <!ENTITY % another "aa">
9422              <!ENTITY c "&entity;">
9423              ]>
9424              <p>&c;</p>
9425          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
9426        @@XMLTest:
9427          @@@QName: xp.reptxt.element.content.ger.entity.declared.nopref.6.test
9428          @@@DEnt:
9429            @@@@test:value:
9430              <?xml version="1.0" standalone="no"?>
9431              <!DOCTYPE p [
9432                <!ENTITY other "aa">
9433                <!ENTITY % another "aa">
9434              <!ENTITY c "&entity;">
9435              ]>
9436              <p>&c;</p>
9437          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
9438        @@XMLTest:
9439          @@@QName: xp.reptxt.element.content.ger.entity.declared.nopref.-1.test
9440          @@@DEnt:
9441            @@@@test:value:
9442              <!DOCTYPE p [
9443                <!ENTITY entity "value">
9444              <!ENTITY c "&entity;">
9445              ]>
9446              <p>&c;</p>
9447          @@@test:domTree:
9448            document {
9449              document-type {
9450                general-entity {
9451                  node-name: 'entity';
9452                  text-content: 'value';
9453                }
9454                general-entity {
9455                  node-name: 'c';
9456                  general-entity-reference {
9457                    node-name: 'entity';
9458                    text-content: 'value';
9459                  }
9460                }
9461              }
9462              element {
9463                general-entity-reference {
9464                  node-name: 'c';
9465                  general-entity-reference {
9466                    node-name: 'entity';
9467                    text-content: 'value';
9468                  }
9469                }
9470              }
9471            }
9472        @@XMLTest:
9473          @@@QName: xp.reptxt.element.content.ger.entity.declared.nopref.-2.test
9474          @@@DEnt:
9475            @@@@test:value:
9476              <!DOCTYPE p [
9477                <!ENTITY entity "value">
9478                <!ENTITY another SYSTEM "another">
9479              <!ENTITY c "&entity;">
9480              ]>
9481              <p>&c;</p>
9482          @@@test:domTree:
9483            document {
9484              document-type {
9485                general-entity {
9486                  node-name: 'entity';
9487                  text-content: 'value';
9488                }
9489                general-entity {
9490                  node-name: 'c';
9491                  general-entity-reference {
9492                    node-name: 'entity';
9493                    is-expanded: true;
9494                    text-content: 'value';
9495                  }
9496                }
9497                general-entity {
9498                  node-name: 'another';
9499                  public-id: null;
9500                  system-id: 'another';
9501                  has-replacement-tree: false;
9502                }
9503              }
9504              element {
9505                general-entity-reference {
9506                  node-name: 'c';
9507                  is-expanded: true;
9508                  general-entity-reference {
9509                    node-name: 'entity';
9510                    is-expanded: true;
9511                    text-content: 'value';
9512                  }
9513                }
9514              }
9515            }
9516        @@XMLTest:
9517          @@@QName: xp.reptxt.element.content.ger.entity.declared.standalone.2.test
9518          @@@DEnt:
9519            @@@@test:value:
9520              <?xml version="1.0" standalone="yes"?>
9521              <!DOCTYPE p [
9522              <!ENTITY c "&entity;">
9523              ]>
9524              <p>&c;</p>
9525          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
9526        @@XMLTest:
9527          @@@QName: xp.reptxt.element.content.ger.entity.declared.standalone.3.test
9528          @@@DEnt:
9529            @@@@test:value:
9530              <?xml version="1.0" standalone="yes"?>
9531              <!DOCTYPE p [
9532                <!ENTITY % para "<!-- -->">
9533                %para;
9534              <!ENTITY c "&entity;">
9535              ]>
9536              <p>&c;</p>
9537          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
9538        @@XMLTest:
9539          @@@QName: xp.reptxt.element.content.ger.entity.declared.standalone.-1.test
9540          @@@DEnt:
9541            @@@@test:value:
9542              <?xml version="1.0" standalone="no"?>
9543              <!DOCTYPE p [
9544              <!ENTITY c "&entity;">
9545                <!ENTITY % para "<!-- -->">
9546                %para;
9547              ]>
9548              <p>&c;</p>
9549          @@@test:domTree:
9550            document {
9551              document-type {
9552                general-entity {
9553                  node-name: 'c';
9554                  general-entity-reference {
9555                    node-name: 'entity';
9556                    is-expanded: false;
9557                  }
9558                }
9559              }
9560              element {
9561                general-entity-reference {
9562                  node-name: 'c';
9563                  general-entity-reference {
9564                    node-name: 'entity';
9565                    is-expanded: false;
9566                  }
9567                }
9568              }
9569            }
9570        @@XMLTest:
9571          @@@QName:
9572            xp.reptxt.element.content.ger.entity.declared.standalone.-1.2.test
9573          @@@DEnt:
9574            @@@@test:value:
9575              <?xml version="1.0" standalone="no"?>
9576              <!DOCTYPE p [
9577                <!ENTITY % para "<!-- -->">
9578                %para;
9579              <!ENTITY c "&entity;">
9580              ]>
9581              <p>&c;</p>
9582          @@@test:domTree:
9583            document {
9584              document-type { }
9585              element {
9586                general-entity-reference {
9587                  node-name: 'c';
9588                  is-expanded: false;
9589                }
9590              }
9591            }
9592        @@XMLTest:
9593          @@@QName: xp.reptxt.element.content.ger.entity.declared.standalone.-2.test
9594          @@@DEnt:
9595            @@@@test:value:
9596              <!DOCTYPE p [
9597              <!ENTITY c "&entity;">
9598                <!ENTITY % para "<!-- -->">
9599                %para;
9600              ]>
9601              <p>&c;</p>
9602          @@@test:domTree:
9603            document {
9604              document-type { }
9605              element {
9606                general-entity-reference {
9607                  node-name: 'c';
9608                  is-expanded: true;
9609                  general-entity-reference {
9610                    node-name: 'entity';
9611                    is-expanded: false;
9612                  }
9613                }
9614              }
9615            }
9616        @@XMLTest:
9617          @@@QName:
9618            xp.reptxt.element.content.ger.entity.declared.standalone.-2.2.test
9619          @@@DEnt:
9620            @@@@test:value:
9621              <!DOCTYPE p [
9622                <!ENTITY % para "<!-- -->">
9623                %para;
9624              <!ENTITY c "&entity;">
9625              ]>
9626              <p>&c;</p>
9627          @@@test:domTree:
9628            document {
9629              document-type { }
9630              element {
9631                general-entity-reference {
9632                  node-name: 'c';
9633                  is-expanded: false;
9634                }
9635              }
9636            }
9637        @@XMLTest:
9638          @@@QName: xp.reptxt.element.content.ger.entity.declared.standalone.4.test
9639          @@@DEnt:
9640            @@@@test:value:
9641              <?xml version="1.0" standalone="yes"?>
9642              <!DOCTYPE p [
9643                <!ENTITY % para SYSTEM "para">
9644                %para;
9645              <!ENTITY c "&entity;">
9646              ]>
9647              <p>&c;</p>
9648          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
9649        @@XMLTest:
9650          @@@QName: xp.reptxt.element.content.ger.entity.declared.standalone.-3.test
9651          @@@DEnt:
9652            @@@@test:value:
9653              <?xml version="1.0" standalone="no"?>
9654              <!DOCTYPE p [
9655              <!ENTITY c "&entity;">
9656                <!ENTITY % para SYSTEM "para">
9657                %para;
9658              ]>
9659              <p>&c;</p>
9660          @@@test:domTree:
9661            document {
9662              document-type { }
9663              element {
9664                general-entity-reference {
9665                  node-name: 'c';
9666                  is-expanded: true;
9667                  general-entity-reference {
9668                    node-name: 'entity';
9669                    is-expanded: false;
9670                  }
9671                }
9672              }
9673            }
9674        @@XMLTest:
9675          @@@QName:
9676            xp.reptxt.element.content.ger.entity.declared.standalone.-3.2.test
9677          @@@DEnt:
9678            @@@@test:value:
9679              <?xml version="1.0" standalone="no"?>
9680              <!DOCTYPE p [
9681                <!ENTITY % para SYSTEM "para">
9682                %para;
9683              <!ENTITY c "&entity;">
9684              ]>
9685              <p>&c;</p>
9686          @@@test:domTree:
9687            document {
9688              document-type { }
9689              element {
9690                general-entity-reference {
9691                  node-name: 'c';
9692                  is-expanded: false;
9693                }
9694              }
9695            }
9696        @@XMLTest:
9697          @@@QName: xp.reptxt.element.content.ger.entity.declared.standalone.-4.test
9698          @@@DEnt:
9699            @@@@test:value:
9700              <!DOCTYPE p [
9701              <!ENTITY c "&entity;">
9702                <!ENTITY % para SYSTEM "para">
9703                %para;
9704              ]>
9705              <p>&c;</p>
9706          @@@test:domTree:
9707            document {
9708              document-type { }
9709              element {
9710                general-entity-reference {
9711                  node-name: 'c';
9712                  is-expanded: true;
9713                  general-entity-reference {
9714                    node-name: 'entity';
9715                    is-expanded: false;
9716                  }
9717                }
9718              }
9719            }
9720        @@XMLTest:
9721          @@@QName:
9722            xp.reptxt.element.content.ger.entity.declared.standalone.-4.2.test
9723          @@@DEnt:
9724            @@@@test:value:
9725              <!DOCTYPE p [
9726                <!ENTITY % para SYSTEM "para">
9727                %para;
9728              <!ENTITY c "&entity;">
9729              ]>
9730              <p>&c;</p>
9731          @@@test:domTree:
9732            document {
9733              document-type { }
9734              element {
9735                general-entity-reference {
9736                  node-name: 'c';
9737                  is-expanded: false;
9738                }
9739              }
9740            }
9741        @@XMLTest:
9742          @@@QName: xp.reptxt.element.content.ger.entity.declared.standalone.5.test
9743          @@@DEnt:
9744            @@@@test:value:
9745              <?xml version="1.0" standalone="yes"?>
9746              <!DOCTYPE p SYSTEM "dtd" [
9747              <!ENTITY c "&entity;">
9748              ]>
9749              <p>&c;</p>
9750          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
9751        @@XMLTest:
9752          @@@QName: xp.reptxt.element.content.ger.entity.declared.standalone.-5.test
9753          @@@DEnt:
9754            @@@@test:value:
9755              <?xml version="1.0" standalone="no"?>
9756              <!DOCTYPE p SYSTEM "dtd" [
9757              <!ENTITY c "&entity;">
9758              ]>
9759              <p>&c;</p>
9760          @@@test:domTree:
9761            document {
9762              document-type { }
9763              element {
9764                general-entity-reference {
9765                  node-name: 'c';
9766                  is-expanded: true;
9767                  general-entity-reference {
9768                    node-name: 'entity';
9769                    is-expanded: false;
9770                  }
9771                }
9772              }
9773            }
9774        @@XMLTest:
9775          @@@QName: xp.reptxt.element.content.ger.entity.declared.standalone.-6.test
9776          @@@DEnt:
9777            @@@@test:value:
9778              <!DOCTYPE p SYSTEM "dtd" [<!ENTITY c "&entity;">]>
9779              <p>&c;</p>
9780          @@@test:domTree:
9781            document {
9782              document-type { }
9783              element {
9784                general-entity-reference {
9785                  node-name: 'c';
9786                  is-expanded: true;
9787                  general-entity-reference {
9788                    node-name: 'entity';
9789                    is-expanded: false;
9790                  }
9791                }
9792              }
9793            }
9794    
9795        @@XMLTest:
9796          @@@QName: xp.attval.ger.entity.declared.nodtd.1.test
9797          @@@DEnt:
9798            @@@@test:value:
9799              <p a="&entity;"/>
9800          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 7)..(1, 14); }
9801        @@XMLTest:
9802          @@@QName: xp.attval.ger.entity.declared.nodtd.2.test
9803          @@@DEnt:
9804            @@@@test:value:
9805              <?xml version="1.0" standalone="yes"?>
9806              <p a="&entity;"/>
9807          @@@c:erred: <[[xp|wf-entity-declared]]> { (2, 7)..(2, 14); }
9808        @@XMLTest:
9809          @@@QName: xp.attval.ger.entity.declared.nodtd.3.test
9810          @@@DEnt:
9811            @@@@test:value:
9812              <?xml version="1.0" standalone="no"?>
9813              <p a="&entity;"/>
9814          @@@c:erred: <[[xp|wf-entity-declared]]> { (2, 7)..(2, 14); }
9815        @@XMLTest:
9816          @@@QName: xp.attval.ger.entity.declared.nodtd.-1.test
9817          @@@DEnt:
9818            @@@@test:value:
9819              <p a="&lt;&gt;&amp;&quot;&apos;"/>
9820          @@@test:domTree:
9821            document {
9822              element {
9823                attribute {
9824                  node-name: 'a';
9825                  text-content: '<>&"' U+0027;
9826                }
9827              }
9828            }
9829        @@XMLTest:
9830          @@@QName: xp.attval.ger.entity.declared.nopref.1.test
9831          @@@DEnt:
9832            @@@@test:value:
9833              <!DOCTYPE p []>
9834              <p a="&entity;"/>
9835          @@@c:erred: <[[xp|wf-entity-declared]]> { (2, 7)..(2, 14); }
9836        @@XMLTest:
9837          @@@QName: xp.attval.ger.entity.declared.nopref.2.test
9838          @@@DEnt:
9839            @@@@test:value:
9840              <!DOCTYPE p [
9841                <!ENTITY other "aa">
9842                <!ENTITY % another "aa">
9843              ]>
9844              <p a="&entity;"/>
9845          @@@c:erred: <[[xp|wf-entity-declared]]> { (5, 7)..(5, 14); }
9846        @@XMLTest:
9847          @@@QName: xp.attval.ger.entity.declared.nopref.3.test
9848          @@@DEnt:
9849            @@@@test:value:
9850              <?xml version="1.0" standalone="yes"?>
9851              <!DOCTYPE p []>
9852              <p a="&entity;"/>
9853          @@@c:erred: <[[xp|wf-entity-declared]]> { (3, 7)..(3, 14); }
9854        @@XMLTest:
9855          @@@QName: xp.attval.ger.entity.declared.nopref.4.test
9856          @@@DEnt:
9857            @@@@test:value:
9858              <?xml version="1.0" standalone="no"?>
9859              <!DOCTYPE p []>
9860              <p a="&entity;"/>
9861          @@@c:erred: <[[xp|wf-entity-declared]]> { (3, 7)..(3, 14); }
9862        @@XMLTest:
9863          @@@QName: xp.attval.ger.entity.declared.nopref.5.test
9864          @@@DEnt:
9865            @@@@test:value:
9866              <?xml version="1.0" standalone="yes"?>
9867              <!DOCTYPE p [
9868                <!ENTITY other "aa">
9869                <!ENTITY % another "aa">
9870              ]>
9871              <p a="&entity;"/>
9872          @@@c:erred: <[[xp|wf-entity-declared]]> { (6, 7)..(6, 14); }
9873        @@XMLTest:
9874          @@@QName: xp.attval.ger.entity.declared.nopref.6.test
9875          @@@DEnt:
9876            @@@@test:value:
9877              <?xml version="1.0" standalone="no"?>
9878              <!DOCTYPE p [
9879                <!ENTITY other "aa">
9880                <!ENTITY % another "aa">
9881              ]>
9882              <p a="&entity;"/>
9883          @@@c:erred: <[[xp|wf-entity-declared]]> { (6, 7)..(6, 14); }
9884        @@XMLTest:
9885          @@@QName: xp.attval.ger.entity.declared.nopref.-1.test
9886          @@@DEnt:
9887            @@@@test:value:
9888              <!DOCTYPE p [
9889                <!ENTITY entity "value">
9890              ]>
9891              <p a="&entity;"/>
9892          @@@test:domTree:
9893            document {
9894              document-type {
9895                general-entity {
9896                  node-name: 'entity';
9897                  text-content: 'value';
9898                }
9899              }
9900              element {
9901                attribute {
9902                  node-name: 'a';
9903                  general-entity-reference {
9904                    node-name: 'entity';
9905                    is-expanded: true;
9906                    text-content: 'value';
9907                  }
9908                }
9909              }
9910            }
9911        @@XMLTest:
9912          @@@QName: xp.attval.ger.entity.declared.nopref.-2.test
9913          @@@DEnt:
9914            @@@@test:value:
9915              <!DOCTYPE p [
9916                <!ENTITY entity "value">
9917                <!ENTITY another SYSTEM "another">
9918              ]>
9919              <p a="&entity;"/>
9920          @@@test:domTree:
9921            document {
9922              document-type {
9923                general-entity {
9924                  node-name: 'entity';
9925                  text-content: 'value';
9926                  has-replacement-tree: true;
9927                }
9928                general-entity {
9929                  node-name: 'another';
9930                  public-id: null;
9931                  system-id: 'another';
9932                  has-replacement-tree: false;
9933                }
9934              }
9935              element {
9936                attribute {
9937                  node-name: 'a';
9938                  general-entity-reference {
9939                    node-name: 'entity';
9940                    is-expanded: true;
9941                    text-content: 'value';
9942                  }
9943                }
9944              }
9945            }
9946        @@XMLTest:
9947          @@@QName: xp.attval.ger.entity.declared.standalone.1.test
9948          @@@DEnt:
9949            @@@@test:value:
9950              <?xml version="1.0" standalone="yes"?>
9951              <p a="&entity;"/>
9952          @@@c:erred: <[[xp|wf-entity-declared]]> { (2, 7)..(2, 14); }
9953        @@XMLTest:
9954          @@@QName: xp.attval.ger.entity.declared.standalone.2.test
9955          @@@DEnt:
9956            @@@@test:value:
9957              <?xml version="1.0" standalone="yes"?>
9958              <!DOCTYPE p []>
9959              <p a="&entity;"/>
9960          @@@c:erred: <[[xp|wf-entity-declared]]> { (3, 7)..(3, 14); }
9961        @@XMLTest:
9962          @@@QName: xp.attval.ger.entity.declared.standalone.3.test
9963          @@@DEnt:
9964            @@@@test:value:
9965              <?xml version="1.0" standalone="yes"?>
9966              <!DOCTYPE p [
9967                <!ENTITY % para "<!-- -->">
9968                %para;
9969              ]>
9970              <p a="&entity;"/>
9971          @@@c:erred: <[[xp|wf-entity-declared]]> { (6, 7)..(6, 14); }
9972        @@XMLTest:
9973          @@@QName: xp.attval.ger.entity.declared.standalone.-1.test
9974          @@@DEnt:
9975            @@@@test:value:
9976              <?xml version="1.0" standalone="no"?>
9977              <!DOCTYPE p [
9978                <!ENTITY % para "<!-- -->">
9979                %para;
9980              ]>
9981              <p a="&entity;"/>
9982          @@@test:domTree:
9983            document {
9984              document-type { }
9985              element {
9986                attribute {
9987                  node-name: 'a';
9988                  general-entity-reference {
9989                    is-expanded: false;
9990                  }
9991                }
9992              }
9993            }
9994        @@XMLTest:
9995          @@@QName: xp.attval.ger.entity.declared.standalone.-2.test
9996          @@@DEnt:
9997            @@@@test:value:
9998              <!DOCTYPE p [
9999                <!ENTITY % para "<!-- -->">
10000                %para;
10001              ]>
10002              <p a="&entity;"/>
10003          @@@test:domTree:
10004            document {
10005              document-type { }
10006              element {
10007                attribute {
10008                  node-name: 'a';
10009                  general-entity-reference {
10010                    is-expanded: false;
10011                  }
10012                }
10013              }
10014            }
10015        @@XMLTest:
10016          @@@QName: xp.attval.ger.entity.declared.standalone.4.test
10017          @@@DEnt:
10018            @@@@test:value:
10019              <?xml version="1.0" standalone="yes"?>
10020              <!DOCTYPE p [
10021                <!ENTITY % para SYSTEM "para">
10022                %para;
10023              ]>
10024              <p a="&entity;"/>
10025          @@@c:erred: <[[xp|wf-entity-declared]]> { (6, 7)..(6, 14); }
10026        @@XMLTest:
10027          @@@QName: xp.attval.ger.entity.declared.standalone.-3.test
10028          @@@DEnt:
10029            @@@@test:value:
10030              <?xml version="1.0" standalone="no"?>
10031              <!DOCTYPE p [
10032                <!ENTITY % para SYSTEM "para">
10033                %para;
10034              ]>
10035              <p a="&entity;"/>
10036          @@@test:domTree:
10037            document {
10038              document-type { }
10039              element {
10040                attribute {
10041                  node-name: 'a';
10042                  general-entity-reference {
10043                    is-expanded: false;
10044                  }
10045                }
10046              }
10047            }
10048        @@XMLTest:
10049          @@@QName: xp.attval.ger.entity.declared.standalone.-4.test
10050          @@@DEnt:
10051            @@@@test:value:
10052              <!DOCTYPE p [
10053                <!ENTITY % para SYSTEM "para">
10054                %para;
10055              ]>
10056              <p a="&entity;"/>
10057          @@@test:domTree:
10058            document {
10059              document-type { }
10060              element {
10061                attribute {
10062                  node-name: 'a';
10063                  general-entity-reference {
10064                    is-expanded: false;
10065                  }
10066                }
10067              }
10068            }
10069        @@XMLTest:
10070          @@@QName: xp.attval.ger.entity.declared.standalone.5.test
10071          @@@DEnt:
10072            @@@@test:value:
10073              <?xml version="1.0" standalone="yes"?>
10074              <!DOCTYPE p SYSTEM "dtd">
10075              <p a="&entity;"/>
10076          @@@c:erred: <[[xp|wf-entity-declared]]> { (3, 7)..(3, 14); }
10077        @@XMLTest:
10078          @@@QName: xp.attval.ger.entity.declared.standalone.-5.test
10079          @@@DEnt:
10080            @@@@test:value:
10081              <?xml version="1.0" standalone="no"?>
10082              <!DOCTYPE p SYSTEM "dtd">
10083              <p a="&entity;"/>
10084          @@@test:domTree:
10085            document {
10086              document-type { }
10087              element {
10088                attribute {
10089                  node-name: 'a';
10090                  general-entity-reference {
10091                    is-expanded: false;
10092                  }
10093                }
10094              }
10095            }
10096        @@XMLTest:
10097          @@@QName: xp.attval.ger.entity.declared.standalone.-6.test
10098          @@@DEnt:
10099            @@@@test:value:
10100              <!DOCTYPE p SYSTEM "dtd">
10101              <p a="&entity;"/>
10102          @@@test:domTree:
10103            document {
10104              document-type { }
10105              element {
10106                attribute {
10107                  node-name: 'a';
10108                  general-entity-reference {
10109                    is-expanded: false;
10110                  }
10111                }
10112              }
10113            }
10114    
10115        @@XMLTest:
10116          @@@QName: xp.reptxt.attval.ger.entity.declared.nopref.1.test
10117          @@@DEnt:
10118            @@@@test:value:
10119              <!DOCTYPE p [
10120              <!ENTITY c "&entity;">
10121              ]>
10122              <p a="&c;"/>
10123          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10124        @@XMLTest:
10125          @@@QName: xp.reptxt.attval.ger.entity.declared.nopref.2.test
10126          @@@DEnt:
10127            @@@@test:value:
10128              <!DOCTYPE p [
10129                <!ENTITY other "aa">
10130                <!ENTITY % another "aa">
10131              <!ENTITY c "&entity;">
10132              ]>
10133              <p a="&c;"/>
10134          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10135        @@XMLTest:
10136          @@@QName: xp.reptxt.attval.ger.entity.declared.nopref.3.test
10137          @@@DEnt:
10138            @@@@test:value:
10139              <?xml version="1.0" standalone="yes"?>
10140              <!DOCTYPE p [
10141              <!ENTITY c "&entity;">
10142              ]>
10143              <p a="&c;"/>
10144          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10145        @@XMLTest:
10146          @@@QName: xp.reptxt.attval.ger.entity.declared.nopref.4.test
10147          @@@DEnt:
10148            @@@@test:value:
10149              <?xml version="1.0" standalone="no"?>
10150              <!DOCTYPE p [
10151              <!ENTITY c "&entity;">
10152              ]>
10153              <p a="&c;"/>
10154          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10155        @@XMLTest:
10156          @@@QName: xp.reptxt.attval.ger.entity.declared.nopref.5.test
10157          @@@DEnt:
10158            @@@@test:value:
10159              <?xml version="1.0" standalone="yes"?>
10160              <!DOCTYPE p [
10161                <!ENTITY other "aa">
10162                <!ENTITY % another "aa">
10163              <!ENTITY c "&entity;">
10164              ]>
10165              <p a="&c;"/>
10166          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10167        @@XMLTest:
10168          @@@QName: xp.reptxt.attval.ger.entity.declared.nopref.6.test
10169          @@@DEnt:
10170            @@@@test:value:
10171              <?xml version="1.0" standalone="no"?>
10172              <!DOCTYPE p [
10173                <!ENTITY other "aa">
10174                <!ENTITY % another "aa">
10175              <!ENTITY c "&entity;">
10176              ]>
10177              <p a="&c;"/>
10178          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10179        @@XMLTest:
10180          @@@QName: xp.reptxt.attval.ger.entity.declared.nopref.-1.test
10181          @@@DEnt:
10182            @@@@test:value:
10183              <!DOCTYPE p [
10184                <!ENTITY entity "value">
10185              <!ENTITY c "&entity;">
10186              ]>
10187              <p a="&c;"/>
10188          @@@test:domTree:
10189            document {
10190              document-type {
10191                general-entity {
10192                  node-name: 'entity';
10193                  text-content: 'value';
10194                }
10195                general-entity {
10196                  node-name: 'c';
10197                  general-entity-reference {
10198                    node-name: 'entity';
10199                    text-content: 'value';
10200                  }
10201                }
10202              }
10203              element {
10204                attribute {
10205                  node-name: 'a';
10206                  general-entity-reference {
10207                    node-name: 'c';
10208                    general-entity-reference {
10209                      node-name: 'entity';
10210                      text-content: 'value';
10211                    }
10212                  }
10213                }
10214              }
10215            }
10216        @@XMLTest:
10217          @@@QName: xp.reptxt.attval.ger.entity.declared.nopref.-2.test
10218          @@@DEnt:
10219            @@@@test:value:
10220              <!DOCTYPE p [
10221                <!ENTITY entity "value">
10222                <!ENTITY another SYSTEM "another">
10223              <!ENTITY c "&entity;">
10224              ]>
10225              <p a="&c;"/>
10226          @@@test:domTree:
10227            document {
10228              document-type {
10229                general-entity {
10230                  node-name: 'entity';
10231                  text-content: 'value';
10232                }
10233                general-entity {
10234                  node-name: 'c';
10235                  general-entity-reference {
10236                    node-name: 'entity';
10237                    text-content: 'value';
10238                  }
10239                }
10240                general-entity {
10241                  node-name: 'another';
10242                  public-id: null;
10243                  system-id: 'another';
10244                  has-replacement-tree: false;
10245                }
10246              }
10247              element {
10248                attribute {
10249                  node-name: 'a';
10250                  general-entity-reference {
10251                    node-name: 'c';
10252                    general-entity-reference {
10253                      node-name: 'entity';
10254                      text-content: 'value';
10255                    }
10256                  }
10257                }
10258              }
10259            }
10260        @@XMLTest:
10261          @@@QName: xp.reptxt.attval.ger.entity.declared.standalone.2.test
10262          @@@DEnt:
10263            @@@@test:value:
10264              <?xml version="1.0" standalone="yes"?>
10265              <!DOCTYPE p [
10266              <!ENTITY c "&entity;">
10267              ]>
10268              <p a="&c;"/>
10269          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10270        @@XMLTest:
10271          @@@QName: xp.reptxt.attval.ger.entity.declared.standalone.3.test
10272          @@@DEnt:
10273            @@@@test:value:
10274              <?xml version="1.0" standalone="yes"?>
10275              <!DOCTYPE p [
10276                <!ENTITY % para "<!-- -->">
10277                %para;
10278              <!ENTITY c "&entity;">
10279              ]>
10280              <p a="&c;"/>
10281          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10282        @@XMLTest:
10283          @@@QName: xp.reptxt.attval.ger.entity.declared.standalone.-1.test
10284          @@@DEnt:
10285            @@@@test:value:
10286              <?xml version="1.0" standalone="no"?>
10287              <!DOCTYPE p [
10288              <!ENTITY c "&entity;">
10289                <!ENTITY % para "<!-- -->">
10290                %para;
10291              ]>
10292              <p a="&c;"/>
10293          @@@test:domTree:
10294            document {
10295              document-type {
10296                general-entity {
10297                  node-name: 'c';
10298                  general-entity-reference {
10299                    node-name: 'entity';
10300                    is-expanded: false;
10301                  }
10302                }
10303              }
10304              element {
10305                attribute {
10306                  node-name: 'a';
10307                  general-entity-reference {
10308                    node-name: 'c';
10309                    general-entity-reference {
10310                      node-name: 'entity';
10311                      is-expanded: false;
10312                    }
10313                  }
10314                }
10315              }
10316            }
10317        @@XMLTest:
10318          @@@QName:
10319            xp.reptxt.attval.ger.entity.declared.standalone.-1.2.test
10320          @@@DEnt:
10321            @@@@test:value:
10322              <?xml version="1.0" standalone="no"?>
10323              <!DOCTYPE p [
10324                <!ENTITY % para "<!-- -->">
10325                %para;
10326              <!ENTITY c "&entity;">
10327              ]>
10328              <p a="&c;"/>
10329          @@@test:domTree:
10330            document {
10331              document-type { }
10332              element {
10333                attribute {
10334                  node-name: 'a';
10335                  general-entity-reference {
10336                    node-name: 'c';
10337                    is-expanded: false;
10338                  }
10339                }
10340              }
10341            }
10342        @@XMLTest:
10343          @@@QName: xp.reptxt.attval.ger.entity.declared.standalone.-2.test
10344          @@@DEnt:
10345            @@@@test:value:
10346              <!DOCTYPE p [
10347              <!ENTITY c "&entity;">
10348                <!ENTITY % para "<!-- -->">
10349                %para;
10350              ]>
10351              <p a="&c;"/>
10352          @@@test:domTree:
10353            document {
10354              document-type { }
10355              element {
10356                attribute {
10357                  node-name: 'a';
10358                  general-entity-reference {
10359                    node-name: 'c';
10360                    is-expanded: true;
10361                    general-entity-reference {
10362                      node-name: 'entity';
10363                      is-expanded: false;
10364                    }
10365                  }
10366                }
10367              }
10368            }
10369        @@XMLTest:
10370          @@@QName:
10371            xp.reptxt.attval.ger.entity.declared.standalone.-2.2.test
10372          @@@DEnt:
10373            @@@@test:value:
10374              <!DOCTYPE p [
10375                <!ENTITY % para "<!-- -->">
10376                %para;
10377              <!ENTITY c "&entity;">
10378              ]>
10379              <p a="&c;"/>
10380          @@@test:domTree:
10381            document {
10382              document-type { }
10383              element {
10384                attribute {
10385                  node-name: 'a';
10386                  general-entity-reference {
10387                    node-name: 'c';
10388                    is-expanded: false;
10389                  }
10390                }
10391              }
10392            }
10393        @@XMLTest:
10394          @@@QName: xp.reptxt.attval.ger.entity.declared.standalone.4.test
10395          @@@DEnt:
10396            @@@@test:value:
10397              <?xml version="1.0" standalone="yes"?>
10398              <!DOCTYPE p [
10399                <!ENTITY % para SYSTEM "para">
10400                %para;
10401              <!ENTITY c "&entity;">
10402              ]>
10403              <p a="&c;"/>
10404          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10405        @@XMLTest:
10406          @@@QName: xp.reptxt.attval.ger.entity.declared.standalone.-3.test
10407          @@@DEnt:
10408            @@@@test:value:
10409              <?xml version="1.0" standalone="no"?>
10410              <!DOCTYPE p [
10411              <!ENTITY c "&entity;">
10412                <!ENTITY % para SYSTEM "para">
10413                %para;
10414              ]>
10415              <p a="&c;"/>
10416          @@@test:domTree:
10417            document {
10418              document-type { }
10419              element {
10420                attribute {
10421                  node-name: 'a';
10422                  general-entity-reference {
10423                    node-name: 'c';
10424                    is-expanded: true;
10425                    general-entity-reference {
10426                      node-name: 'entity';
10427                      is-expanded: false;
10428                    }
10429                  }
10430                }
10431              }
10432            }
10433        @@XMLTest:
10434          @@@QName:
10435            xp.reptxt.attval.ger.entity.declared.standalone.-3.2.test
10436          @@@DEnt:
10437            @@@@test:value:
10438              <?xml version="1.0" standalone="no"?>
10439              <!DOCTYPE p [
10440                <!ENTITY % para SYSTEM "para">
10441                %para;
10442              <!ENTITY c "&entity;">
10443              ]>
10444              <p a="&c;"/>
10445          @@@test:domTree:
10446            document {
10447              document-type { }
10448              element {
10449                attribute {
10450                  node-name: 'a';
10451                  general-entity-reference {
10452                    node-name: 'c';
10453                    is-expanded: false;
10454                  }
10455                }
10456              }
10457            }
10458        @@XMLTest:
10459          @@@QName: xp.reptxt.attval.ger.entity.declared.standalone.-4.test
10460          @@@DEnt:
10461            @@@@test:value:
10462              <!DOCTYPE p [
10463              <!ENTITY c "&entity;">
10464                <!ENTITY % para SYSTEM "para">
10465                %para;
10466              ]>
10467              <p a="&c;"/>
10468          @@@test:domTree:
10469            document {
10470              document-type { }
10471              element {
10472                attribute {
10473                  node-name: 'a';
10474                  general-entity-reference {
10475                    node-name: 'c';
10476                    is-expanded: true;
10477                    general-entity-reference {
10478                      node-name: 'entity';
10479                      is-expanded: false;
10480                    }
10481                  }
10482                }
10483              }
10484            }
10485        @@XMLTest:
10486          @@@QName:
10487            xp.reptxt.attval.ger.entity.declared.standalone.-4.2.test
10488          @@@DEnt:
10489            @@@@test:value:
10490              <!DOCTYPE p [
10491                <!ENTITY % para SYSTEM "para">
10492                %para;
10493              <!ENTITY c "&entity;">
10494              ]>
10495              <p a="&c;"/>
10496          @@@test:domTree:
10497            document {
10498              document-type { }
10499              element {
10500                attribute {
10501                  node-name: 'a';
10502                  general-entity-reference {
10503                    node-name: 'c';
10504                    is-expanded: false;
10505                  }
10506                }
10507              }
10508            }
10509        @@XMLTest:
10510          @@@QName: xp.reptxt.attval.ger.entity.declared.standalone.5.test
10511          @@@DEnt:
10512            @@@@test:value:
10513              <?xml version="1.0" standalone="yes"?>
10514              <!DOCTYPE p SYSTEM "dtd" [
10515              <!ENTITY c "&entity;">
10516              ]>
10517              <p a="&c;"/>
10518          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10519        @@XMLTest:
10520          @@@QName: xp.reptxt.attval.ger.entity.declared.standalone.-5.test
10521          @@@DEnt:
10522            @@@@test:value:
10523              <?xml version="1.0" standalone="no"?>
10524              <!DOCTYPE p SYSTEM "dtd" [
10525              <!ENTITY c "&entity;">
10526              ]>
10527              <p a="&c;"/>
10528          @@@test:domTree:
10529            document {
10530              document-type { }
10531              element {
10532                attribute {
10533                  node-name: 'a';
10534                  general-entity-reference {
10535                    node-name: 'c';
10536                    is-expanded: true;
10537                    general-entity-reference {
10538                      node-name: 'entity';
10539                      is-expanded: false;
10540                    }
10541                  }
10542                }
10543              }
10544            }
10545        @@XMLTest:
10546          @@@QName: xp.reptxt.attval.ger.entity.declared.standalone.-6.test
10547          @@@DEnt:
10548            @@@@test:value:
10549              <!DOCTYPE p SYSTEM "dtd" [<!ENTITY c "&entity;">]>
10550              <p a="&c;"/>
10551          @@@test:domTree:
10552            document {
10553              document-type { }
10554              element {
10555                attribute {
10556                  node-name: 'a';
10557                  general-entity-reference {
10558                    node-name: 'c';
10559                    is-expanded: true;
10560                    general-entity-reference {
10561                      node-name: 'entity';
10562                      is-expanded: false;
10563                    }
10564                  }
10565                }
10566              }
10567            }
10568    
10569        @@XMLTest:
10570          @@@QName: xp.attlist.dup.entity.declared.1.test
10571          @@@DEnt:
10572            @@@@test:value:
10573              <!DOCTYPE p [
10574              <!ATTLIST p a CDATA "no-entity">
10575              <!ATTLIST p a CDATA "&entity;">
10576              ]>
10577              <p/>
10578          @@@c:erred: <[[xp|wf-entity-declared]]> { (3, 21)..(3, 29); }
10579        @@XMLTest:
10580          @@@QName: xp.attlist.dup.entity.declared.2.test
10581          @@@DEnt:
10582            @@@@test:value:
10583              <!DOCTYPE p [
10584              <!ATTLIST p a CDATA "no-entity"
10585                          a CDATA "&entity;">
10586              ]>
10587              <p/>
10588          @@@c:erred: <[[xp|wf-entity-declared]]> { (3, 21)..(3, 29); }
10589        @@XMLTest:
10590          @@@QName: xp.attlist.unused.entity.declared.1.test
10591          @@@DEnt:
10592            @@@@test:value:
10593              <!DOCTYPE p [
10594              <!ATTLIST q a CDATA "&entity;">
10595              ]>
10596              <p/>
10597          @@@c:erred: <[[xp|wf-entity-declared]]> { (2, 21)..(2, 29); }
10598        @@XMLTest:
10599          @@@QName: xp.attlist.unused.entity.declared.2.test
10600          @@@DEnt:
10601            @@@@test:value:
10602              <!DOCTYPE p [
10603              <!ATTLIST p a CDATA "&entity;">
10604              ]>
10605              <p a="bb"/>
10606          @@@c:erred: <[[xp|wf-entity-declared]]> { (2, 21)..(2, 29); }
10607    
10608        @@XMLTest:
10609          @@@QName: xp.reptxt.attlist.attval.ger.entity.declared.nopref.1.test
10610          @@@DEnt:
10611            @@@@test:value:
10612              <!DOCTYPE p [
10613              <!ENTITY c "&entity;">
10614              <!ATTLIST p a CDATA "&c;">
10615              ]>
10616              <p/>
10617          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10618        @@XMLTest:
10619          @@@QName: xp.reptxt.attlist.attval.ger.entity.declared.nopref.2.test
10620          @@@DEnt:
10621            @@@@test:value:
10622              <!DOCTYPE p [
10623                <!ENTITY other "aa">
10624                <!ENTITY % another "aa">
10625              <!ENTITY c "&entity;">
10626              <!ATTLIST p a CDATA "&c;">
10627              ]>
10628              <p/>
10629          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10630        @@XMLTest:
10631          @@@QName: xp.reptxt.attlist.attval.ger.entity.declared.nopref.3.test
10632          @@@DEnt:
10633            @@@@test:value:
10634              <?xml version="1.0" standalone="yes"?>
10635              <!DOCTYPE p [
10636              <!ENTITY c "&entity;">
10637              <!ATTLIST p a CDATA "&c;">
10638              ]>
10639              <p/>
10640          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10641        @@XMLTest:
10642          @@@QName: xp.reptxt.attlist.attval.ger.entity.declared.nopref.4.test
10643          @@@DEnt:
10644            @@@@test:value:
10645              <?xml version="1.0" standalone="no"?>
10646              <!DOCTYPE p [
10647              <!ENTITY c "&entity;">
10648              <!ATTLIST p a CDATA "&c;">
10649              ]>
10650              <p/>
10651          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10652        @@XMLTest:
10653          @@@QName: xp.reptxt.attlist.attval.ger.entity.declared.nopref.5.test
10654          @@@DEnt:
10655            @@@@test:value:
10656              <?xml version="1.0" standalone="yes"?>
10657              <!DOCTYPE p [
10658                <!ENTITY other "aa">
10659                <!ENTITY % another "aa">
10660              <!ENTITY c "&entity;">
10661              <!ATTLIST p a CDATA "&c;">
10662              ]>
10663              <p/>
10664          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10665        @@XMLTest:
10666          @@@QName: xp.reptxt.attlist.attval.ger.entity.declared.nopref.6.test
10667          @@@DEnt:
10668            @@@@test:value:
10669              <?xml version="1.0" standalone="no"?>
10670              <!DOCTYPE p [
10671                <!ENTITY other "aa">
10672                <!ENTITY % another "aa">
10673              <!ENTITY c "&entity;">
10674              <!ATTLIST p a CDATA "&c;">
10675              ]>
10676              <p/>
10677          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10678        @@XMLTest:
10679          @@@QName: xp.reptxt.attlist.attval.ger.entity.declared.nopref.-1.test
10680          @@@DEnt:
10681            @@@@test:value:
10682              <!DOCTYPE p [
10683                <!ENTITY entity "value">
10684              <!ENTITY c "&entity;">
10685              <!ATTLIST p a CDATA "&c;">
10686              ]>
10687              <p/>
10688          @@@test:domTree:
10689            document {
10690              document-type {
10691                general-entity {
10692                  node-name: 'entity';
10693                  text-content: 'value';
10694                }
10695                general-entity {
10696                  node-name: 'c';
10697                  general-entity-reference {
10698                    node-name: 'entity';
10699                    is-expanded: true;
10700                    text-content: 'value';
10701                  }
10702                }
10703                element-type-definition {
10704                  node-name: 'p';
10705                  attribute-definition {
10706                    node-name: 'a';
10707                    general-entity-reference {
10708                      node-name: 'c';
10709                      is-expanded: true;
10710                      general-entity-reference {
10711                        node-name: 'entity';
10712                        is-expanded: true;
10713                        text-content: 'value';
10714                      }
10715                    }
10716                  }
10717                }
10718              }
10719              element {
10720                attribute {
10721                  node-name: 'a';
10722                  specified: false;
10723                  general-entity-reference {
10724                    node-name: 'c';
10725                    general-entity-reference {
10726                      node-name: 'entity';
10727                      text-content: 'value';
10728                    }
10729                  }
10730                }
10731              }
10732            }
10733        @@XMLTest:
10734          @@@QName: xp.reptxt.attlist.attval.ger.entity.declared.nopref.-2.test
10735          @@@DEnt:
10736            @@@@test:value:
10737              <!DOCTYPE p [
10738                <!ENTITY entity "value">
10739                <!ENTITY another SYSTEM "another">
10740              <!ENTITY c "&entity;">
10741              <!ATTLIST p a CDATA "&c;">
10742              ]>
10743              <p/>
10744          @@@test:domTree:
10745            document {
10746              document-type {
10747                general-entity {
10748                  node-name: 'entity';
10749                  text-content: 'value';
10750                }
10751                general-entity {
10752                  node-name: 'c';
10753                  general-entity-reference {
10754                    node-name: 'entity';
10755                    text-content: 'value';
10756                  }
10757                }
10758                general-entity {
10759                  node-name: 'another';
10760                  public-id: null;
10761                  system-id: 'another';
10762                  has-replacement-tree: false;
10763                }
10764                element-type-definition {
10765                  node-name: 'p';
10766                  attribute-definition {
10767                    node-name: 'a';
10768                    general-entity-reference {
10769                      node-name: 'c';
10770                      is-expanded: true;
10771                      general-entity-reference {
10772                        node-name: 'entity';
10773                        is-expanded: true;
10774                        text-content: 'value';
10775                      }
10776                    }
10777                  }
10778                }
10779              }
10780              element {
10781                attribute {
10782                  node-name: 'a';
10783                  specified: false;
10784                  general-entity-reference {
10785                    node-name: 'c';
10786                    general-entity-reference {
10787                      node-name: 'entity';
10788                      text-content: 'value';
10789                    }
10790                  }
10791                }
10792              }
10793            }
10794        @@XMLTest:
10795          @@@QName: xp.reptxt.attlist.attval.ger.entity.declared.standalone.2.test
10796          @@@DEnt:
10797            @@@@test:value:
10798              <?xml version="1.0" standalone="yes"?>
10799              <!DOCTYPE p [
10800              <!ENTITY c "&entity;">
10801              <!ATTLIST p a CDATA "&c;">
10802              ]>
10803              <p/>
10804          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10805        @@XMLTest:
10806          @@@QName: xp.reptxt.attlist.attval.ger.entity.declared.standalone.3.test
10807          @@@DEnt:
10808            @@@@test:value:
10809              <?xml version="1.0" standalone="yes"?>
10810              <!DOCTYPE p [
10811                <!ENTITY % para "<!-- -->">
10812                %para;
10813              <!ENTITY c "&entity;">
10814              <!ATTLIST p a CDATA "&c;">
10815              ]>
10816              <p/>
10817          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10818        @@XMLTest:
10819          @@@QName: xp.reptxt.attlist.attval.ger.entity.declared.standalone.-1.test
10820          @@@DEnt:
10821            @@@@test:value:
10822              <?xml version="1.0" standalone="no"?>
10823              <!DOCTYPE p [
10824              <!ENTITY c "&entity;">
10825              <!ATTLIST p a CDATA "&c;">
10826                <!ENTITY % para "<!-- -->">
10827                %para;
10828              ]>
10829              <p/>
10830          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10831        @@XMLTest:
10832          @@@QName:
10833            xp.reptxt.attlist.attval.ger.entity.declared.standalone.-1.2.test
10834          @@@DEnt:
10835            @@@@test:value:
10836              <?xml version="1.0" standalone="no"?>
10837              <!DOCTYPE p [
10838                <!ENTITY % para "<!-- -->">
10839                %para;
10840              <!ENTITY c "&entity;">
10841              <!ATTLIST p a CDATA "&c;">
10842              ]>
10843              <p g="h"/>
10844          @@@test:domTree:
10845            document {
10846              document-type { }
10847              element {
10848                attribute {
10849                  node-name: 'g';
10850                  text-content: 'h';
10851                }
10852              }
10853            }
10854        @@XMLTest:
10855          @@@QName: xp.reptxt.attlist.attval.ger.entity.declared.standalone.-2.test
10856          @@@DEnt:
10857            @@@@test:value:
10858              <!DOCTYPE p [
10859              <!ENTITY c "&entity;">
10860              <!ATTLIST p a CDATA "&c;">
10861                <!ENTITY % para "<!-- -->">
10862                %para;
10863              ]>
10864              <p/>
10865          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10866        @@XMLTest:
10867          @@@QName:
10868            xp.reptxt.attlist.attval.ger.entity.declared.standalone.-2.2.test
10869          @@@DEnt:
10870            @@@@test:value:
10871              <!DOCTYPE p [
10872                <!ENTITY % para "<!-- -->">
10873                %para;
10874              <!ENTITY c "&entity;">
10875              <!ATTLIST p a CDATA "&c;">
10876              ]>
10877              <p g="h"/>
10878          @@@test:domTree:
10879            document {
10880              document-type { }
10881              element {
10882                attribute {
10883                  node-name: 'g';
10884                  text-content: 'h';
10885                }
10886              }
10887            }
10888        @@XMLTest:
10889          @@@QName: xp.reptxt.attlist.attval.ger.entity.declared.standalone.4.test
10890          @@@DEnt:
10891            @@@@test:value:
10892              <?xml version="1.0" standalone="yes"?>
10893              <!DOCTYPE p [
10894                <!ENTITY % para SYSTEM "para">
10895                %para;
10896              <!ENTITY c "&entity;">
10897              <!ATTLIST p a CDATA "&c;">
10898              ]>
10899              <p/>
10900          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10901        @@XMLTest:
10902          @@@QName: xp.reptxt.attlist.attval.ger.entity.declared.standalone.-3.test
10903          @@@DEnt:
10904            @@@@test:value:
10905              <?xml version="1.0" standalone="no"?>
10906              <!DOCTYPE p [
10907              <!ENTITY c "&entity;">
10908              <!ATTLIST p a CDATA "&c;">
10909                <!ENTITY % para SYSTEM "para">
10910                %para;
10911              ]>
10912              <p/>
10913          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10914        @@XMLTest:
10915          @@@QName:
10916            xp.reptxt.attlist.attval.ger.entity.declared.standalone.-3.2.test
10917          @@@DEnt:
10918            @@@@test:value:
10919              <?xml version="1.0" standalone="no"?>
10920              <!DOCTYPE p [
10921                <!ENTITY % para SYSTEM "para">
10922                %para;
10923              <!ENTITY c "&entity;">
10924              <!ATTLIST p a CDATA "&c;">
10925              ]>
10926              <p g="h"/>
10927          @@@test:domTree:
10928            document {
10929              document-type { }
10930              element {
10931                attribute {
10932                  node-name: 'g';
10933                  text-content: 'h';
10934                }
10935              }
10936            }
10937        @@XMLTest:
10938          @@@QName: xp.reptxt.attlist.attval.ger.entity.declared.standalone.-4.test
10939          @@@DEnt:
10940            @@@@test:value:
10941              <!DOCTYPE p [
10942              <!ENTITY c "&entity;">
10943              <!ATTLIST p a CDATA "&c;">
10944                <!ENTITY % para SYSTEM "para">
10945                %para;
10946              ]>
10947              <p/>
10948          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10949        @@XMLTest:
10950          @@@QName:
10951            xp.reptxt.attlist.attval.ger.entity.declared.standalone.-4.2.test
10952          @@@DEnt:
10953            @@@@test:value:
10954              <!DOCTYPE p [
10955                <!ENTITY % para SYSTEM "para">
10956                %para;
10957              <!ENTITY c "&entity;">
10958              <!ATTLIST p a CDATA "&c;">
10959              ]>
10960              <p g="h"/>
10961          @@@test:domTree:
10962            document {
10963              document-type { }
10964              element {
10965                attribute {
10966                  node-name: 'g';
10967                  text-content: 'h';
10968                }
10969              }
10970            }
10971        @@XMLTest:
10972          @@@QName: xp.reptxt.attlist.attval.ger.entity.declared.standalone.5.test
10973          @@@DEnt:
10974            @@@@test:value:
10975              <?xml version="1.0" standalone="yes"?>
10976              <!DOCTYPE p SYSTEM "dtd" [
10977              <!ENTITY c "&entity;">
10978              <!ATTLIST p a CDATA "&c;">
10979              ]>
10980              <p/>
10981          @@@c:erred: <[[xp|wf-entity-declared]]> { (1, 1)..(1, 8); }
10982        @@XMLTest:
10983          @@@QName: xp.reptxt.attlist.attval.ger.entity.declared.standalone.-5.test
10984          @@@DEnt:
10985            @@@@test:value:
10986              <?xml version="1.0" standalone="no"?>
10987              <!DOCTYPE p SYSTEM "dtd" [
10988              <!ENTITY c "&entity;">
10989              <!ATTLIST p a CDATA "&c;">
10990              ]>
10991              <p/>
10992          @@@test:domTree:
10993            document {
10994              document-type { }
10995              element {
10996                attribute {
10997                  node-name: 'a';
10998                  specified: false;
10999                  general-entity-reference {
11000                    node-name: 'c';
11001                    is-expanded: true;
11002                    general-entity-reference {
11003                      node-name: 'entity';
11004                      is-expanded: false;
11005                    }
11006                  }
11007                }
11008              }
11009            }
11010        @@XMLTest:
11011          @@@QName: xp.reptxt.attlist.attval.ger.entity.declared.standalone.-6.test
11012          @@@DEnt:
11013            @@@@test:value:
11014              <!DOCTYPE p SYSTEM "dtd" [<!ENTITY c "&entity;">
11015              <!ATTLIST p a CDATA "&c;">
11016              ]>
11017              <p/>
11018          @@@test:domTree:
11019            document {
11020              document-type { }
11021              element {
11022                attribute {
11023                  node-name: 'a';
11024                  specified: false;
11025                  general-entity-reference {
11026                    node-name: 'c';
11027                    is-expanded: true;
11028                    general-entity-reference {
11029                      node-name: 'entity';
11030                      is-expanded: false;
11031                    }
11032                  }
11033                }
11034              }
11035            }
11036    
11037        @@XMLTest:
11038          @@@QName: xp.attlist.attval.ger.entity.declared.nopref.1.test
11039          @@@DEnt:
11040            @@@@test:value:
11041              <!DOCTYPE p [
11042              <!ATTLIST p a CDATA "&entity;">
11043              ]>
11044              <p/>
11045          @@@c:erred: <[[xp|wf-entity-declared]]> { (2, 22)..(2, 29); }
11046        @@XMLTest:
11047          @@@QName: xp.attlist.attval.ger.entity.declared.nopref.2.test
11048          @@@DEnt:
11049            @@@@test:value:
11050              <!DOCTYPE p [
11051                <!ENTITY other "aa">
11052                <!ENTITY % another "aa">
11053              <!ATTLIST p a CDATA "&entity;">
11054              ]>
11055              <p/>
11056          @@@c:erred: <[[xp|wf-entity-declared]]> { (4, 22)..(4, 29); }
11057        @@XMLTest:
11058          @@@QName: xp.attlist.attval.ger.entity.declared.nopref.3.test
11059          @@@DEnt:
11060            @@@@test:value:
11061              <?xml version="1.0" standalone="yes"?>
11062              <!DOCTYPE p [
11063              <!ATTLIST p a CDATA "&entity;">
11064              ]>
11065              <p/>
11066          @@@c:erred: <[[xp|wf-entity-declared]]> { (3, 22)..(3, 29); }
11067        @@XMLTest:
11068          @@@QName: xp.attlist.attval.ger.entity.declared.nopref.4.test
11069          @@@DEnt:
11070            @@@@test:value:
11071              <?xml version="1.0" standalone="no"?>
11072              <!DOCTYPE p [
11073              <!ATTLIST p a CDATA "&entity;">
11074              ]>
11075              <p/>
11076          @@@c:erred: <[[xp|wf-entity-declared]]> { (3, 22)..(3, 29); }
11077        @@XMLTest:
11078          @@@QName: xp.attlist.attval.ger.entity.declared.nopref.5.test
11079          @@@DEnt:
11080            @@@@test:value:
11081              <?xml version="1.0" standalone="yes"?>
11082              <!DOCTYPE p [
11083                <!ENTITY other "aa">
11084                <!ENTITY % another "aa">
11085              <!ATTLIST p a CDATA "&entity;">
11086              ]>
11087              <p/>
11088          @@@c:erred: <[[xp|wf-entity-declared]]> { (5, 22)..(5, 29); }
11089        @@XMLTest:
11090          @@@QName: xp.attlist.attval.ger.entity.declared.nopref.6.test
11091          @@@DEnt:
11092            @@@@test:value:
11093              <?xml version="1.0" standalone="no"?>
11094              <!DOCTYPE p [
11095                <!ENTITY other "aa">
11096                <!ENTITY % another "aa">
11097              <!ATTLIST p a CDATA "&entity;">
11098              ]>
11099              <p/>
11100          @@@c:erred: <[[xp|wf-entity-declared]]> { (5, 22)..(5, 29); }
11101        @@XMLTest:
11102          @@@QName: xp.attlist.attval.ger.entity.declared.nopref.-1.test
11103          @@@DEnt:
11104            @@@@test:value:
11105              <!DOCTYPE p [
11106                <!ENTITY entity "value">
11107              <!ATTLIST p a CDATA "&entity;">
11108              ]>
11109              <p/>
11110          @@@test:domTree:
11111            document {
11112              document-type {
11113                general-entity {
11114                  node-name: 'entity';
11115                  text-content: 'value';
11116                }
11117                element-type-definition {
11118                  node-name: 'p';
11119                  attribute-definition {
11120                    node-name: 'a';
11121                    general-entity-reference {
11122                      node-name: 'entity';
11123                      is-expanded: true;
11124                      text-content: 'value';
11125                    }
11126                  }
11127                }
11128              }
11129              element {
11130                attribute {
11131                  node-name: 'a';
11132                  specified: false;
11133                  general-entity-reference {
11134                    node-name: 'entity';
11135                    is-expanded: true;
11136                    text-content: 'value';
11137                  }
11138                }
11139              }
11140            }
11141        @@XMLTest:
11142          @@@QName: xp.attlist.attval.ger.entity.declared.nopref.-1.2.test
11143          @@@DEnt:
11144            @@@@test:value:
11145              <!DOCTYPE p [
11146              <!ATTLIST p a CDATA "&entity;">
11147                <!ENTITY entity "value">
11148              ]>
11149              <p/>
11150          @@@c:erred: <[[xp|wf-entity-declared]]> { (2, 22)..(2, 29); }
11151        @@XMLTest:
11152          @@@QName: xp.attlist.attval.ger.entity.declared.nopref.-2.test
11153          @@@DEnt:
11154            @@@@test:value:
11155              <!DOCTYPE p [
11156                <!ENTITY entity "value">
11157                <!ENTITY another SYSTEM "another">
11158              <!ATTLIST p a CDATA "&entity;">
11159              ]>
11160              <p/>
11161          @@@test:domTree:
11162            document {
11163              document-type {
11164                element-type-definition {
11165                  node-name: 'p';
11166                  attribute-definition {
11167                    node-name: 'a';
11168                    general-entity-reference {
11169                      node-name: 'entity';
11170                      is-expanded: true;
11171                      text-content: 'value';
11172                    }
11173                  }
11174                }
11175                general-entity {
11176                  node-name: 'entity';
11177                  text-content: 'value';
11178                  has-replacement-tree: true;
11179                }
11180                general-entity {
11181                  node-name: 'another';
11182                  public-id: null;
11183                  system-id: 'another';
11184                  has-replacement-tree: false;
11185                }
11186              }
11187              element {
11188                attribute {
11189                  node-name: 'a';
11190                  specified: false;
11191                  general-entity-reference {
11192                    node-name: 'entity';
11193                    is-expanded: true;
11194                    text-content: 'value';
11195                  }
11196                }
11197              }
11198            }
11199        @@XMLTest:
11200          @@@QName: xp.attlist.attval.ger.entity.declared.nopref.-2.2.test
11201          @@@DEnt:
11202            @@@@test:value:
11203              <!DOCTYPE p [
11204              <!ATTLIST p a CDATA "&entity;">
11205                <!ENTITY entity "value">
11206                <!ENTITY another SYSTEM "another">
11207              ]>
11208              <p/>
11209          @@@c:erred: <[[xp|wf-entity-declared]]> { (2, 22)..(2, 29); }
11210        @@XMLTest:
11211          @@@QName: xp.attlist.attval.ger.entity.declared.standalone.2.test
11212          @@@DEnt:
11213            @@@@test:value:
11214              <?xml version="1.0" standalone="yes"?>
11215              <!DOCTYPE p [
11216              <!ATTLIST p a CDATA "&entity;">
11217              ]>
11218              <p/>
11219          @@@c:erred: <[[xp|wf-entity-declared]]> { (3, 22)..(3, 29); }
11220        @@XMLTest:
11221          @@@QName: xp.attlist.attval.ger.entity.declared.standalone.3.test
11222          @@@DEnt:
11223            @@@@test:value:
11224              <?xml version="1.0" standalone="yes"?>
11225              <!DOCTYPE p [
11226              <!ATTLIST p a CDATA "&entity;">
11227                <!ENTITY % para "<!-- -->">
11228                %para;
11229              ]>
11230              <p/>
11231          @@@c:erred: <[[xp|wf-entity-declared]]> { (3, 22)..(3, 29); }
11232        @@XMLTest:
11233          @@@QName: xp.attlist.attval.ger.entity.declared.standalone.3.2.test
11234          @@@DEnt:
11235            @@@@test:value:
11236              <?xml version="1.0" standalone="yes"?>
11237              <!DOCTYPE p [
11238                <!ENTITY % para "<!-- -->">
11239                %para;
11240              <!ATTLIST p a CDATA "&entity;">
11241              ]>
11242              <p/>
11243          @@@c:erred: <[[xp|wf-entity-declared]]> { (5, 22)..(5, 29); }
11244          @@@enImplNote:
11245            The <XML::ATTLIST> declaration is processed since
11246            it is a <XA::standalone> document.
11247        @@XMLTest:
11248          @@@QName: xp.attlist.attval.ger.entity.declared.standalone.-1.test
11249          @@@DEnt:
11250            @@@@test:value:
11251              <?xml version="1.0" standalone="no"?>
11252              <!DOCTYPE p [
11253              <!ATTLIST p a CDATA "&entity;">
11254                <!ENTITY % para "<!-- -->">
11255                %para;
11256              ]>
11257              <p/>
11258          @@@c:erred: <[[xp|wf-entity-declared]]> { (3, 22)..(3, 29); }
11259        @@XMLTest:
11260          @@@QName: xp.attlist.attval.ger.entity.declared.standalone.-1.2.test
11261          @@@DEnt:
11262            @@@@test:value:
11263              <?xml version="1.0" standalone="no"?>
11264              <!DOCTYPE p [
11265                <!ATTLIST q b CDATA #IMPLIED>
11266                <!ENTITY % para "<!-- -->">
11267                %para;
11268              <!ATTLIST p a CDATA "&entity;">
11269              ]>
11270              <p c="d"/>
11271          @@@test:domTree:
11272            document {
11273              document-type {
11274                element-type-definition {
11275                  node-name: 'q';
11276                  attribute-definition {
11277                    node-name: 'b';
11278                  }
11279                }
11280              }
11281              element {
11282                attribute {
11283                  node-name: 'c';
11284                  text-content: 'd';
11285                }
11286              }
11287            }
11288          @@@enImplNote:
11289            The second <XML::ATTLIST> declaration is read but not processed
11290            and its <XML::&entity;> general entity reference violates
11291            entity declared validty constraint rather than well-formedness
11292            constraint.
11293        @@XMLTest:
11294          @@@QName: xp.attlist.attval.ger.entity.declared.standalone.-2.test
11295          @@@DEnt:
11296            @@@@test:value:
11297              <!DOCTYPE p [
11298              <!ATTLIST p a CDATA "&entity;">
11299                <!ENTITY % para "<!-- -->">
11300                %para;
11301              ]>
11302              <p/>
11303          @@@c:erred: <[[xp|wf-entity-declared]]> { (2, 22)..(2, 29); }
11304        @@XMLTest:
11305          @@@QName: xp.attlist.attval.ger.entity.declared.standalone.-2.2.test
11306          @@@DEnt:
11307            @@@@test:value:
11308              <!DOCTYPE p [
11309                <!ATTLIST q b CDATA #IMPLIED>
11310                <!ENTITY % para "<!-- -->">
11311                %para;
11312              <!ATTLIST p a CDATA "&entity;">
11313              ]>
11314              <p c="d"/>
11315          @@@test:domTree:
11316            document {
11317              document-type {
11318                element-type-definition {
11319                  node-name: 'q';
11320                  attribute-definition {
11321                    node-name: 'b';
11322                  }
11323                }
11324              }
11325              element {
11326                attribute {
11327                  node-name: 'c';
11328                  text-content: 'd';
11329                }
11330              }
11331            }
11332        @@XMLTest:
11333          @@@QName: xp.attlist.attval.ger.entity.declared.standalone.4.test
11334          @@@DEnt:
11335            @@@@test:value:
11336              <?xml version="1.0" standalone="yes"?>
11337              <!DOCTYPE p [
11338              <!ATTLIST p a CDATA "&entity;">
11339                <!ENTITY % para SYSTEM "p">
11340                %para;
11341              ]>
11342              <p/>
11343          @@@c:erred: <[[xp|wf-entity-declared]]> { (3, 22)..(3, 29); }
11344        @@XMLTest:
11345          @@@QName: xp.attlist.attval.ger.entity.declared.standalone.4.2.test
11346          @@@DEnt:
11347            @@@@test:value:
11348              <?xml version="1.0" standalone="yes"?>
11349              <!DOCTYPE p [
11350                <!ENTITY % para SYSTEM "p">
11351                %para;
11352              <!ATTLIST p a CDATA "&entity;">
11353              ]>
11354              <p/>
11355          @@@c:erred: <[[xp|wf-entity-declared]]> { (5, 22)..(5, 29); }
11356          @@@enImplNote:
11357            The <XML::ATTLIST> declaration is processed since
11358            it is a <XA::standalone> document.
11359        @@XMLTest:
11360          @@@QName: xp.attlist.attval.ger.entity.declared.standalone.-3.test
11361          @@@DEnt:
11362            @@@@test:value:
11363              <?xml version="1.0" standalone="no"?>
11364              <!DOCTYPE p [
11365              <!ATTLIST p a CDATA "&entity;">
11366                <!ENTITY % para SYSTEM "p">
11367                %para;
11368              ]>
11369              <p/>
11370          @@@c:erred: <[[xp|wf-entity-declared]]> { (3, 22)..(3, 29); }
11371          @@@enImplNote:
11372            Is this well-formed?  It has a parameter entity reference,
11373            therefore, it does not violates Entity Declared WFC, isn't it?
11374    
11375            Note that Firefox 1.5 and Opera 9 TP1 reports that this document has a
11376            fatal error (also note that they does not support unexpanded).
11377    
11378            See also:
11379            <URI::http://suika.fam.cx/gate/2005/sw/%E5%B1%9E%E6%80%A7%E5%80%A4%E8%A1%A8%E8%A8%98#anchor-8>
11380        @@XMLTest:
11381          @@@QName: xp.attlist.attval.ger.entity.declared.standalone.-3.2.test
11382          @@@DEnt:
11383            @@@@test:value:
11384              <?xml version="1.0" standalone="no"?>
11385              <!DOCTYPE p [
11386                <!ATTLIST q b CDATA #IMPLIED>
11387                <!ENTITY % para SYSTEM "p">
11388                %para;
11389              <!ATTLIST p a CDATA "&entity;">
11390              ]>
11391              <p c="d"/>
11392          @@@test:domTree:
11393            document {
11394              document-type {
11395                element-type-definition {
11396                  node-name: 'q';
11397                  attribute-definition {
11398                    node-name: 'b';
11399                  }
11400                }
11401              }
11402              element {
11403                attribute {
11404                  node-name: 'c';
11405                  text-content: 'd';
11406                }
11407              }
11408            }
11409          @@@enImplNote:
11410            The second <XML::ATTLIST> declaration is read but not processed
11411            and its <XML::&entity;> general entity reference violates
11412            entity declared validty constraint rather than well-formedness
11413            constraint.
11414        @@XMLTest:
11415          @@@QName: xp.attlist.attval.ger.entity.declared.standalone.-4.test
11416          @@@DEnt:
11417            @@@@test:value:
11418              <!DOCTYPE p [
11419              <!ATTLIST p a CDATA "&entity;">
11420                <!ENTITY % para SYSTEM "p">
11421                %para;
11422              ]>
11423              <p/>
11424          @@@c:erred: <[[xp|wf-entity-declared]]> { (2, 22)..(2, 29); }
11425        @@XMLTest:
11426          @@@QName: xp.attlist.attval.ger.entity.declared.standalone.-4.2.test
11427          @@@DEnt:
11428            @@@@test:value:
11429              <!DOCTYPE p [
11430                <!ATTLIST q b CDATA #IMPLIED>
11431                <!ENTITY % para SYSTEM "p">
11432                %para;
11433              <!ATTLIST p a CDATA "&entity;">
11434              ]>
11435              <p c="d"/>
11436          @@@test:domTree:
11437            document {
11438              document-type {
11439                element-type-definition {
11440                  node-name: 'q';
11441                  attribute-definition {
11442                    node-name: 'b';
11443                  }
11444                }
11445              }
11446              element {
11447                attribute {
11448                  node-name: 'c';
11449                  text-content: 'd';
11450                }
11451              }
11452            }
11453        @@XMLTest:
11454          @@@QName: xp.attlist.attval.ger.entity.declared.standalone.5.test
11455          @@@DEnt:
11456            @@@@test:value:
11457              <?xml version="1.0" standalone="yes"?>
11458              <!DOCTYPE p SYSTEM "dtd" [
11459              <!ATTLIST p a CDATA "&entity;">
11460              ]>
11461              <p/>
11462          @@@c:erred: <[[xp|wf-entity-declared]]> { (3, 22)..(3, 29); }
11463          @@@enImplNote:
11464            This document has an error - result is implementation dependent.
11465        @@XMLTest:
11466          @@@QName: xp.attlist.attval.ger.entity.declared.standalone.-5.test
11467          @@@DEnt:
11468            @@@@test:value:
11469              <?xml version="1.0" standalone="no"?>
11470              <!DOCTYPE p SYSTEM "dtd" [
11471              <!ATTLIST p a CDATA "&entity;">
11472              ]>
11473              <p/>
11474          @@@test:domTree:
11475            document {
11476              document-type {
11477                element-type-definition {
11478                  node-name: 'p';
11479                  attribute-definition {
11480                    node-name: 'a';
11481                    general-entity-reference {
11482                      node-name: 'entity';
11483                      is-expanded: false;
11484                    }
11485                  }
11486                }
11487              }
11488              element {
11489                attribute {
11490                  node-name: 'a';
11491                  specified: false;
11492                  general-entity-reference {
11493                    node-name: 'entity';
11494                    is-expanded: false;
11495                  }
11496                }
11497              }
11498            }
11499          @@@enImplNote:
11500            This document has an error - result is implementation dependent.
11501        @@XMLTest:
11502          @@@QName: xp.attlist.attval.ger.entity.declared.standalone.-6.test
11503          @@@DEnt:
11504            @@@@test:value:
11505              <!DOCTYPE p SYSTEM "dtd" [
11506              <!ATTLIST p a CDATA "&entity;">
11507              ]>
11508              <p/>
11509          @@@test:domTree:
11510            document {
11511              document-type {
11512                element-type-definition {
11513                  node-name: 'p';
11514                  attribute-definition {
11515                    node-name: 'a';
11516                    general-entity-reference {
11517                      node-name: 'entity';
11518                      is-expanded: false;
11519                    }
11520                  }
11521                }
11522              }
11523              element {
11524                attribute {
11525                  node-name: 'a';
11526                  specified: false;
11527                  general-entity-reference {
11528                    node-name: 'entity';
11529                    is-expanded: false;
11530                  }
11531                }
11532              }
11533            }
11534          @@@enImplNote:
11535            This document has an error - result is implementation dependent.
11536    
11537        @@enImplNote:
11538          {TODO:: Entity declared WFC for
11539    
11540             - General entity references in entity value??
11541    
11542          }
11543    
11544        @@XMLTest:
11545          @@@QName: xp.element.content.parsed.entity.reference.test
11546          @@@DEnt:
11547            @@@@test:value:
11548              <!DOCTYPE p [
11549              <!NOTATION n SYSTEM "notation">
11550              <!ENTITY ext SYSTEM "system" NDATA n>
11551              ]>
11552              <p>&ext;</p>
11553          @@@c:erred: <[[xp|wf-parsed-entity]]> { (5, 4)..(5, 8); }
11554        @@XMLTest:
11555          @@@QName: xp.attval.parsed.entity.reference.test
11556          @@@DEnt:
11557            @@@@test:value:
11558              <!DOCTYPE p [
11559              <!NOTATION n SYSTEM "notation">
11560              <!ENTITY ext SYSTEM "system" NDATA n>
11561              ]>
11562              <p a="&ext;"/>
11563    #      @@@c:erred: <[[xp|wf-parsed-entity]]> { (5, 7)..(5, 11); }
11564          @@@c:erred: <[[xp|wf-no-external-entity-references]]> { (5, 7)..(5, 11); }
11565        @@XMLTest:
11566          @@@QName: xp.element.content.reptxt.parsed.entity.reference.test
11567          @@@DEnt:
11568            @@@@test:value:
11569              <!DOCTYPE p [
11570              <!NOTATION n SYSTEM "notation">
11571              <!ENTITY ext SYSTEM "system" NDATA n>
11572              <!ENTITY c "&#x26;ext;">
11573              ]>
11574              <p>&c;</p>
11575          @@@c:erred: <[[xp|wf-parsed-entity]]> { (1, 1)..(1, 5); }
11576        @@XMLTest:
11577          @@@QName: xp.attval.reptxt.parsed.entity.reference.test
11578          @@@DEnt:
11579            @@@@test:value:
11580              <!DOCTYPE p [
11581              <!NOTATION n SYSTEM "notation">
11582              <!ENTITY ext SYSTEM "system" NDATA n>
11583              <!ENTITY c "&#x26;ext;">
11584              ]>
11585              <p a="&c;"/>
11586          @@@c:erred: <[[xp|wf-no-external-entity-references]]> { (1, 1)..(1, 5); }
11587          @@@c:erred:
11588            @@@@@: <[[xp|wf-parsed-entity]]> { }
11589            @@@@enImplNote: During entity node construction.
11590        @@XMLTest:
11591          @@@QName: xp.element.content.entval.parsed.entity.reference.test
11592          @@@DEnt:
11593            @@@@test:value:
11594              <!DOCTYPE p [
11595              <!NOTATION n SYSTEM "notation">
11596              <!ENTITY ext SYSTEM "system" NDATA n>
11597              <!ENTITY c "&ext;">
11598              ]>
11599              <p>&c;</p>
11600          @@@c:erred: <[[xp|wf-parsed-entity]]> { }
11601        @@XMLTest:
11602          @@@QName: xp.attval.entval.parsed.entity.reference.test
11603          @@@DEnt:
11604            @@@@test:value:
11605              <!DOCTYPE p [
11606              <!NOTATION n SYSTEM "notation">
11607              <!ENTITY ext SYSTEM "system" NDATA n>
11608              <!ENTITY c "&ext;">
11609              ]>
11610              <p a="&c;"/>
11611          @@@c:erred: <[[xp|wf-no-external-entity-references]]> { }
11612          @@@c:erred: <[[xp|wf-parsed-entity]]> { }
11613    
11614        @@XMLTest:
11615          @@@QName: xp.element.content.no.recursion.direct.test
11616          @@@DEnt:
11617            @@@@test:value:
11618              <!DOCTYPE p [
11619              <!ENTITY c "&c;">
11620              ]>
11621              <p>&c;</p>
11622          @@@c:erred: <[[xp|wf-no-recursion]]> { (1, 1)..(1, 3); }
11623        @@XMLTest:
11624          @@@QName: xp.element.content.no.recursion.indirect.test
11625          @@@DEnt:
11626            @@@@test:value:
11627              <!DOCTYPE p [
11628              <!ENTITY d "&c;">
11629              <!ENTITY c "&d;">
11630              ]>
11631              <p>&c;</p>
11632          @@@c:erred: <[[xp|wf-no-recursion]]> { /* |d| */ (1, 1)..(1, 3); }
11633        @@XMLTest:
11634          @@@QName: xp.attval.no.recursion.direct.test
11635          @@@DEnt:
11636            @@@@test:value:
11637              <!DOCTYPE p [
11638              <!ENTITY c "&c;">
11639              ]>
11640              <p a="&c;"/>
11641          @@@c:erred: <[[xp|wf-no-recursion]]> { (1, 1)..(1, 3); }
11642        @@XMLTest:
11643          @@@QName: xp.attval.no.recursion.indirect.test
11644          @@@DEnt:
11645            @@@@test:value:
11646              <!DOCTYPE p [
11647              <!ENTITY d "&c;">
11648              <!ENTITY c "&d;">
11649              ]>
11650              <p a="&c;"/>
11651          @@@c:erred: <[[xp|wf-no-recursion]]> { /* |d| */ (1, 1)..(1, 3); }
11652        @@XMLTest:
11653          @@@QName: xp.reptxt.element.content.no.recursion.direct.test
11654          @@@DEnt:
11655            @@@@test:value:
11656              <!DOCTYPE p [
11657              <!ENTITY c "&c;">
11658              <!ENTITY e "&#x26;c;">
11659              ]>
11660              <p>&e;</p>
11661          @@@c:erred: <[[xp|wf-no-recursion]]> { /* |e| */ (1, 1)..(1, 3); }
11662        @@XMLTest:
11663          @@@QName: xp.reptxt.element.content.no.recursion.indirect.test
11664          @@@DEnt:
11665            @@@@test:value:
11666              <!DOCTYPE p [
11667              <!ENTITY d "&c;">
11668              <!ENTITY c "&d;">
11669              <!ENTITY e "&#x26;c;">
11670              ]>
11671              <p>&e;</p>
11672          @@@c:erred: <[[xp|wf-no-recursion]]> { /* |d| */ (1, 1)..(1, 3); }
11673        @@XMLTest:
11674          @@@QName: xp.reptxt.attval.no.recursion.direct.test
11675          @@@DEnt:
11676            @@@@test:value:
11677              <!DOCTYPE p [
11678              <!ENTITY c "&c;">
11679              <!ENTITY e "&#x26;c;">
11680              ]>
11681              <p a="&e;"/>
11682          @@@c:erred: <[[xp|wf-no-recursion]]> { /* |e| */ (1, 1)..(1, 3); }
11683        @@XMLTest:
11684          @@@QName: xp.reptxt.attval.no.recursion.indirect.test
11685          @@@DEnt:
11686            @@@@test:value:
11687              <!DOCTYPE p [
11688              <!ENTITY d "&c;">
11689              <!ENTITY c "&d;">
11690              <!ENTITY e "&#x26;c;">
11691              ]>
11692              <p a="&e;"/>
11693          @@@c:erred: <[[xp|wf-no-recursion]]> { /* |d| */ (1, 1)..(1, 3); }
11694    
11695        @@XMLTest:
11696          @@@QName: xp.ENTITY.system.ndata.name.test
11697          @@@DEnt:
11698            @@@@test:value:
11699              <!DOCTYPE a [
11700              <!NOTATION n SYSTEM "n">
11701              <!ENTITY % e SYSTEM "sys" NDATA n>
11702              ]><a/>
11703          @@@c:erred: <[[xp|wf-syntax-error]]> { (3, 26)..(3, 30); }
11704        @@XMLTest:
11705          @@@QName: xp.ENTITY.public.ndata.name.test
11706          @@@DEnt:
11707            @@@@test:value:
11708              <!DOCTYPE a [
11709              <!NOTATION n SYSTEM "n">
11710              <!ENTITY % e PUBLIC "pub" "sys" NDATA n>
11711              ]><a/>
11712          @@@c:erred: <[[xp|wf-syntax-error]]> { (3, 33)..(3, 37); }
11713        @@XMLTest:
11714          @@@QName: xp.ENTITY.public.ndata.name.-1.test
11715          @@@DEnt:
11716            @@@@test:value:
11717              <!DOCTYPE a [
11718              <!NOTATION n SYSTEM "n">
11719              <!ENTITY % e PUBLIC "pub" "sys" >
11720              ]><a/>
11721          @@@test:domTree:
11722            document { }
11723    
11724        @@XMLTest:
11725          @@@QName: xp.ENTITY.pubid.1.test
11726          @@@DEnt:
11727            @@@@test:value:
11728              <!DOCTYPE a [
11729              <!ENTITY e PUBLIC "p" "s">
11730              ]><a/>
11731          @@@test:domTree:
11732            document {
11733              document-type {
11734                general-entity {
11735                  node-name: 'e';
11736                  public-id: 'p';
11737                  system-id: 's';
11738                }
11739              }
11740              element { }
11741            }
11742        @@XMLTest:
11743          @@@QName: xp.ENTITY.pubid.2.test
11744          @@@DEnt:
11745            @@@@test:value:
11746              <!DOCTYPE a [
11747              <!ENTITY e PUBLIC "  p  " "s">
11748              ]><a/>
11749          @@@test:domTree:
11750            document {
11751              document-type {
11752                general-entity {
11753                  node-name: 'e';
11754                  public-id: 'p';
11755                  system-id: 's';
11756                }
11757              }
11758              element { }
11759            }
11760        @@XMLTest:
11761          @@@QName: xp.ENTITY.pubid.3.test
11762          @@@DEnt:
11763            @@@@test:value:
11764              <!DOCTYPE a [
11765              <!ENTITY e PUBLIC "  p  $u000Aq$u000A " "s">
11766              ]><a/>
11767          @@@test:domTree:
11768            document {
11769              document-type {
11770                general-entity {
11771                  node-name: 'e';
11772                  public-id: 'p q';
11773                  system-id: 's';
11774                }
11775              }
11776              element { }
11777            }
11778        @@XMLTest:
11779          @@@QName: xp.ENTITY.pubid.4.test
11780          @@@DEnt:
11781            @@@@test:value:
11782              <!DOCTYPE a [
11783              <!ENTITY e PUBLIC "  p  $u000D$u000Aq" "s">
11784              ]><a/>
11785          @@@test:domTree:
11786            document {
11787              document-type {
11788                general-entity {
11789                  node-name: 'e';
11790                  public-id: 'p q';
11791                  system-id: 's';
11792                }
11793              }
11794              element { }
11795            }
11796        @@XMLTest:
11797          @@@QName: xp.ENTITY.pubid.5.test
11798          @@@DEnt:
11799            @@@@test:value:
11800              <?xml version="1.1"?>
11801              <!DOCTYPE a [
11802              <!ENTITY e PUBLIC "  p  $u0085$u000Aq" "s">
11803              ]><a/>
11804          @@@test:domTree:
11805            document {
11806              document-type {
11807                general-entity {
11808                  node-name: 'e';
11809                  public-id: 'p q';
11810                  system-id: 's';
11811                }
11812              }
11813              element { }
11814            }
11815    
11816        @@XMLTest:
11817          @@@QName: xp.ENTITY.ignored.test
11818          @@@DEnt:
11819            @@@@test:value:
11820              <!DOCTYPE a [
11821              <!ENTITY e "a">
11822              <!ENTITY e "b">
11823              ]><a/>
11824          @@@test:domTree:
11825            document {
11826              document-type {
11827                general-entity {
11828                  node-name: 'e';
11829                  text-content: 'a';
11830                }
11831              }
11832              element { }
11833            }
11834          @@@c:erred:
11835            <[[xp|warning-entity-declaration-ignored]]> { (3, 1)..(3, 15); }
11836        @@XMLTest:
11837          @@@QName: xp.ENTITY.ignored.2.test
11838          @@@DEnt:
11839            @@@@test:value:
11840              <!DOCTYPE a [
11841              <!ENTITY % e "a">
11842              <!ENTITY % e "b">
11843              ]><a/>
11844          @@@test:domTree:
11845            document { }
11846          @@@c:erred:
11847            <[[xp|warning-entity-declaration-ignored]]> { (3, 1)..(3, 17); }
11848    
11849        @@XMLTest:
11850          @@@QName: xp.ENTITY.predefined.1.test
11851          @@@DEnt:
11852            @@@@test:value:
11853              <!DOCTYPE a [
11854              <!ENTITY lt     "&#38;#60;">
11855              <!ENTITY gt     "&#62;">
11856              <!ENTITY amp    "&#38;#38;">
11857              <!ENTITY apos   "&#39;">
11858              <!ENTITY quot   "&#34;">
11859              <!ENTITY e      "f">
11860              ]><a>&lt;&gt;&amp;&apos;&quot;</a>
11861          @@@test:domTree:
11862            document {
11863              document-type {
11864                general-entity {
11865                  node-name: 'e';
11866                  text-content: 'f';
11867                }
11868              }
11869              element {
11870                text-content: '<>&' U+0027 '"';
11871              }
11872            }
11873        @@XMLTest:
11874          @@@QName: xp.ENTITY.predefined.2.test
11875          @@@DEnt:
11876            @@@@test:value:
11877              <!DOCTYPE a [
11878              <!ENTITY lt     "&#38;#60;">
11879              <!ENTITY gt     "&#x26;#62;">
11880              <!ENTITY amp    "&#38;#38;">
11881              <!ENTITY apos   "&#x26;#39;">
11882              <!ENTITY quot   "&#x26;#34;">
11883              <!ENTITY e      "f">
11884              ]><a>&lt;&gt;&amp;&apos;&quot;</a>
11885          @@@test:domTree:
11886            document {
11887              document-type {
11888                general-entity {
11889                  node-name: 'e';
11890                  text-content: 'f';
11891                }
11892              }
11893              element {
11894                text-content: '<>&' U+0027 '"';
11895              }
11896            }
11897        @@XMLTest:
11898          @@@QName: xp.ENTITY.predefined.3.test
11899          @@@DEnt:
11900            @@@@test:value:
11901              <!DOCTYPE a [
11902              <!ENTITY lt     "&#60;">
11903              <!ENTITY gt     "&#62;">
11904              <!ENTITY amp    "&#38;">
11905              <!ENTITY apos   "&#39;">
11906              <!ENTITY quot   "&#34;">
11907              <!ENTITY e      "f">
11908              ]><a>&lt;&gt;&amp;&apos;&quot;</a>
11909          @@@c:erred: <[[xp|error-malformed-predefined-entity]]> { (2, 1)..(2, 24); }
11910          @@@c:erred: <[[xp|error-malformed-predefined-entity]]> { (4, 1)..(4, 24); }
11911          @@@test:domTree:
11912            document {
11913              document-type {
11914                general-entity {
11915                  node-name: 'e';
11916                  text-content: 'f';
11917                }
11918              }
11919              element {
11920                text-content: '<>&' U+0027 '"';
11921              }
11922            }
11923        @@XMLTest:
11924          @@@QName: xp.ENTITY.predefined.4.test
11925          @@@DEnt:
11926            @@@@test:value:
11927              <!DOCTYPE a [
11928              <!ENTITY lt     "1">
11929              <!ENTITY gt     "2">
11930              <!ENTITY amp    "3">
11931              <!ENTITY apos   "4">
11932              <!ENTITY quot   "5">
11933              <!ENTITY e      "f">
11934              ]><a>&lt;&gt;&amp;&apos;&quot;</a>
11935          @@@c:erred: <[[xp|error-malformed-predefined-entity]]> { (2, 1)..(2, 24); }
11936          @@@c:erred: <[[xp|error-malformed-predefined-entity]]> { (3, 1)..(3, 24); }
11937          @@@c:erred: <[[xp|error-malformed-predefined-entity]]> { (4, 1)..(4, 24); }
11938          @@@c:erred: <[[xp|error-malformed-predefined-entity]]> { (5, 1)..(5, 24); }
11939          @@@c:erred: <[[xp|error-malformed-predefined-entity]]> { (6, 1)..(6, 24); }
11940          @@@test:domTree:
11941            document {
11942              document-type {
11943                general-entity {
11944                  node-name: 'e';
11945                  text-content: 'f';
11946                }
11947              }
11948              element {
11949                text-content: '<>&' U+0027 '"';
11950              }
11951            }
11952        @@XMLTest:
11953          @@@QName: xp.ENTITY.predefined.5.test
11954          @@@DEnt:
11955            @@@@test:value:
11956              <!DOCTYPE a [
11957              <!ENTITY lt     SYSTEM "1">
11958              <!ENTITY gt     SYSTEM "2">
11959              <!ENTITY amp    SYSTEM "3">
11960              <!ENTITY apos   SYSTEM "4">
11961              <!ENTITY quot   SYSTEM "5">
11962              <!ENTITY e      "f">
11963              ]><a>&lt;&gt;&amp;&apos;&quot;</a>
11964          @@@c:erred: <[[xp|error-internal-predefined-entity]]> { (2, 1)..(2, 27); }
11965          @@@c:erred: <[[xp|error-internal-predefined-entity]]> { (3, 1)..(3, 27); }
11966          @@@c:erred: <[[xp|error-internal-predefined-entity]]> { (4, 1)..(4, 27); }
11967          @@@c:erred: <[[xp|error-internal-predefined-entity]]> { (5, 1)..(5, 27); }
11968          @@@c:erred: <[[xp|error-internal-predefined-entity]]> { (6, 1)..(6, 27); }
11969          @@@test:domTree:
11970            document {
11971              document-type {
11972                general-entity {
11973                  node-name: 'e';
11974                  text-content: 'f';
11975                }
11976              }
11977              element {
11978                text-content: '<>&' U+0027 '"';
11979              }
11980            }
11981        @@XMLTest:
11982          @@@QName: xp.ENTITY.predefined.6.test
11983          @@@DEnt:
11984            @@@@test:value:
11985              <!DOCTYPE a [
11986              <!ENTITY % lt     SYSTEM "1">
11987              <!ENTITY % gt     SYSTEM "2">
11988              <!ENTITY % amp    SYSTEM "3">
11989              <!ENTITY % apos   SYSTEM "4">
11990              <!ENTITY % quot   SYSTEM "5">
11991              <!ENTITY e      "f">
11992              ]><a>&lt;&gt;&amp;&apos;&quot;</a>
11993          @@@test:domTree:
11994            document {
11995              document-type {
11996                general-entity {
11997                  node-name: 'e';
11998                  text-content: 'f';
11999                }
12000              }
12001              element {
12002                text-content: '<>&' U+0027 '"';
12003              }
12004            }
12005        @@XMLTest:
12006          @@@QName: xp.ENTITY.predefined.7.test
12007          @@@DEnt:
12008            @@@@test:value:
12009              <!DOCTYPE a [
12010              <!ENTITY lt     "&#38;#x3C;">
12011              <!ENTITY gt     "&#x3E;">
12012              <!ENTITY amp    "&#38;#x26;">
12013              <!ENTITY apos   "&#x27;">
12014              <!ENTITY quot   "&#x22;">
12015              <!ENTITY e      "f">
12016              ]><a>&lt;&gt;&amp;&apos;&quot;</a>
12017          @@@test:domTree:
12018            document {
12019              document-type {
12020                general-entity {
12021                  node-name: 'e';
12022                  text-content: 'f';
12023                }
12024              }
12025              element {
12026                text-content: '<>&' U+0027 '"';
12027              }
12028            }
12029        @@XMLTest:
12030          @@@QName: xp.ENTITY.predefined.8.test
12031          @@@DEnt:
12032            @@@@test:value:
12033              <!DOCTYPE a [
12034              <!ENTITY lt     "&#38;#x3c;">
12035              <!ENTITY gt     "&#x3e;">
12036              <!ENTITY amp    "&#38;#x26;">
12037              <!ENTITY apos   "&#x27;">
12038              <!ENTITY quot   "&#x22;">
12039              <!ENTITY e      "f">
12040              ]><a>&lt;&gt;&amp;&apos;&quot;</a>
12041          @@@test:domTree:
12042            document {
12043              document-type {
12044                general-entity {
12045                  node-name: 'e';
12046                  text-content: 'f';
12047                }
12048              }
12049              element {
12050                text-content: '<>&' U+0027 '"';
12051              }
12052            }
12053        @@XMLTest:
12054          @@@QName: xp.ENTITY.predefined.9.test
12055          @@@DEnt:
12056            @@@@test:value:
12057              <!DOCTYPE a [
12058              <!ENTITY lt     "&#38;#x00003C;">
12059              <!ENTITY gt     "&#x0003E;">
12060              <!ENTITY amp    "&#38;#x026;">
12061              <!ENTITY apos   "&#x000027;">
12062              <!ENTITY quot   "&#x0022;">
12063              <!ENTITY e      "f">
12064              ]><a>&lt;&gt;&amp;&apos;&quot;</a>
12065          @@@test:domTree:
12066            document {
12067              document-type {
12068                general-entity {
12069                  node-name: 'e';
12070                  text-content: 'f';
12071                }
12072              }
12073              element {
12074                text-content: '<>&' U+0027 '"';
12075              }
12076            }
12077        @@XMLTest:
12078          @@@QName: xp.ENTITY.predefined.10.test
12079          @@@DEnt:
12080            @@@@test:value:
12081              <!DOCTYPE a [
12082              <!ENTITY lt     "&#38;#00060;">
12083              <!ENTITY gt     "&#062;">
12084              <!ENTITY amp    "&#38;#000038;">
12085              <!ENTITY apos   "&#0000039;">
12086              <!ENTITY quot   "&#0034;">
12087              <!ENTITY e      "f">
12088              ]><a>&lt;&gt;&amp;&apos;&quot;</a>
12089          @@@test:domTree:
12090            document {
12091              document-type {
12092                general-entity {
12093                  node-name: 'e';
12094                  text-content: 'f';
12095                }
12096              }
12097              element {
12098                text-content: '<>&' U+0027 '"';
12099              }
12100            }
12101    
12102      @@PerlDef:      @@PerlDef:
12103        my $impl = $Message::DOM::ImplementationRegistry->get_implementation ({        my $impl = $Message::DOM::ImplementationRegistry->get_implementation ({
12104          'Core' => '3.0',          'Core' => '3.0',
# Line 4238  _ Line 12110  _
12110        for my $test_data (@$TestData) {        for my $test_data (@$TestData) {
12111          $test->start_new_test ($test_data->{uri});          $test->start_new_test ($test_data->{uri});
12112          my $doc_ent = $test_data->{entity}->{$test_data->{root_uri}};          my $doc_ent = $test_data->{entity}->{$test_data->{root_uri}};
12113          my $doc = $parser->parse_string ($doc_ent->{<H::test:value>});          my $not_ok;
12114          try {  
12115            $test->assert_dom_tree_equals          $parser->dom_config->set_parameter ('error-handler' => sub ($$) {
12116                     (actual_value => $doc,            my (undef, $err) = @_;
12117                      expected_hash => $test_data->{dom_tree});            my $err_type = $err->type;
12118            $test->ok;            if ($test_data->{dom_error}->{$err_type}) {
12119          } catch Message::Util::IF::DTException with { };              $test->assert_error_equals
12120                         (actual_value => $err,
12121                          expected_hash => shift @{$test_data->{dom_error}
12122                                                             ->{$err_type}});
12123              } else { # Uncatched error
12124                warn $err;
12125                unless ($err->severity == <C::c|DOMError.SEVERITY_WARNING>) {
12126                  $test->failure_comment ('Unexpected error |'.$err->type.'|');
12127                  $not_ok = true;
12128                }
12129              }
12130              return true; # continue as far as possible
12131            });
12132    
12133            if ($test_data->{dom_tree}) { # Successful test
12134              try {
12135                my $doc = $parser->parse_string ($doc_ent->{<H::test:value>});
12136                $test->assert_dom_tree_equals
12137                         (actual_value => $doc,
12138                          expected_hash => $test_data->{dom_tree});
12139                for (values %{$test_data->{dom_error}||{}}) {
12140                  if (@$_) {
12141                    $test->failure_comment
12142                             (@$_.' |DOMError|s of type |'.
12143                              $_->[0]->{type}->{value}.'| are not reported');
12144                    $not_ok = true;
12145                  }
12146                }
12147                $not_ok ? $test->not_ok : $test->ok;
12148              } catch Message::Util::IF::DTException with {
12149                #
12150              } catch Message::DOM::IF::LSException with {
12151                # not_ok
12152              } otherwise {
12153                my $err = shift;
12154                warn $err;
12155                $test->not_ok;
12156              };
12157            } else {
12158              try {
12159                my $doc = $parser->parse_string ($doc_ent->{<H::test:value>});
12160              } catch Message::Util::IF::DTException with {
12161                #
12162              } catch Message::DOM::IF::LSException with {
12163                #
12164              } otherwise {
12165                my $err = shift;
12166                warn $err;
12167                $test->not_ok;
12168              };
12169              for (values %{$test_data->{dom_error}||{}}) {
12170                if (@$_) {
12171                  $test->failure_comment
12172                           (@$_.' |DOMError|s of type |'.
12173                            $_->[0]->{type}->{value}.'| are not reported');
12174                  $not_ok = true;
12175                }
12176              }
12177              $not_ok ? $test->not_ok : $test->ok;
12178            }
12179        }        }
12180    
12181    @ResourceDef:    @ResourceDef:
12182        @@QName: getEmptyEntityState
12183        @@rdf:type: DISPerl|InlineCode
12184        @@ForCheck: ManakaiDOM|ForClass
12185        @@PerlDef:
12186          {reptxt => \'', line => 1, column => 1, pos => 0,
12187           is_externally_declared => true, name => $name}
12188    
12189      @ResourceDef:
12190      @@QName: getCopyOfEntityState      @@QName: getCopyOfEntityState
12191      @@rdf:type: DISPerl|InlineCode      @@rdf:type: DISPerl|InlineCode
12192      @@ForCheck: ManakaiDOM|ForClass      @@ForCheck: ManakaiDOM|ForClass
# Line 4292  ResourceDef: Line 12231  ResourceDef:
12231    @enDesc:    @enDesc:
12232      Creates a <IF::DOMCore:DOMLocator> object from a token.      Creates a <IF::DOMCore:DOMLocator> object from a token.
12233    @PerlDef:    @PerlDef:
12234        my $__d = $token->{type} ne '#EOF'
12235                    ? $token->{location}->{char_d}
12236                    : 0;
12237        $__d -= $token->{location_d} if $token->{location_d};
12238      $result = {      $result = {
12239        utf32_offset => $self->{entity}->[-1]->{pos},        utf32_offset => $token->{location}->{pos} - $__d,
12240          line_number => $token->{location}->{line},
12241          column_number => $token->{location}->{column} - $__d,
12242      };      };
12243        $result->{utf32_offset} = 0 if $result->{utf32_offset} < 0;
12244        $result->{column_number} = 0 if $result->{column_number} < 0;
12245                                ## 0 or 1, which should be?
12246    @For: ManakaiDOM|ManakaiDOM3    @For: ManakaiDOM|ManakaiDOM3
12247    
12248  ElementTypeBinding:  ElementTypeBinding:
# Line 4320  ElementTypeBinding: Line 12268  ElementTypeBinding:
12268      @@lang:en      @@lang:en
12269    
12270  ElementTypeBinding:  ElementTypeBinding:
12271    @Name: ErrDef    @Name: WFErrDef
12272    @ElementType:    @ElementType:
12273      dis:ResourceDef      dis:ResourceDef
12274    @ShadowContent:    @ShadowContent:
12275      @@rdf:type: DOMCore|DOMErrorType      @@rdf:type: DOMCore|DOMErrorType
12276      @@For: ManakaiDOM|DOM3      @@For: ManakaiDOM|DOM3
12277      @@ecore:textFormatter: ManakaiXMLParserExceptionFormatter      @@ecore:textFormatter: ManakaiXMLParserExceptionFormatter
12278        @@c:severity: c|SEVERITY_FATAL_ERROR
12279    
12280  ElementTypeBinding:  ElementTypeBinding:
12281    @Name: WFErrDef    @Name: FatalErrDef
12282    @ElementType:    @ElementType:
12283      dis:ResourceDef      dis:ResourceDef
12284    @ShadowContent:    @ShadowContent:
12285      @@rdf:type: DOMCore|DOMErrorType      @@rdf:type: DOMCore|DOMErrorType
12286      @@For: ManakaiDOM|DOM3      @@For: ManakaiDOM|DOM3
12287      @@ecore:textFormatter: ManakaiXMLParserExceptionFormatter      @@ecore:textFormatter: ManakaiXMLParserExceptionFormatter
12288        @@c:severity: c|SEVERITY_FATAL_ERROR
12289    
12290    ElementTypeBinding:
12291      @Name: VCErrDef
12292      @ElementType:
12293        dis:ResourceDef
12294      @ShadowContent:
12295        @@rdf:type: c|DOMErrorType
12296        @@For: ManakaiDOM|DOM3
12297        @@ecore:textFormatter: ManakaiXMLParserExceptionFormatter
12298        @@c:severity: c|SEVERITY_ERROR
12299    
12300    ElementTypeBinding:
12301      @Name: ErrDef
12302      @ElementType:
12303        dis:ResourceDef
12304      @ShadowContent:
12305        @@rdf:type: c|DOMErrorType
12306        @@For: ManakaiDOM|DOM3
12307        @@ecore:textFormatter: ManakaiXMLParserExceptionFormatter
12308        @@c:severity: c|SEVERITY_ERROR
12309    
12310    ElementTypeBinding:
12311      @Name: WarnDef
12312      @ElementType:
12313        dis:ResourceDef
12314      @ShadowContent:
12315        @@rdf:type: c|DOMErrorType
12316        @@For: ManakaiDOM|DOM3
12317        @@ecore:textFormatter: ManakaiXMLParserExceptionFormatter
12318        @@c:severity: c|SEVERITY_WARNING
12319    
12320  WFErrDef:  WFErrDef:
12321    @QName: xp|wf-syntax-error    @QName: xp|wf-syntax-error
12322    @enDesc:    @enDesc:
12323      The entity does not match to the production rule; it is not      The entity does not match to the production rule; it is not
12324      well-formed.      well-formed.
   @DOMCore:severity: DOMCore|SEVERITY_FATAL_ERROR  
12325    @enMufDef:    @enMufDef:
12326      |%xp-error-token-type;|%xp-error-token-value      |%xp-error-token-type;|%xp-error-token-value
12327      (prefix => { (|}, suffix => {|)}); is not      (prefix => { (|}, suffix => {|)}); is not
# Line 4357  WFErrDef: Line 12336  WFErrDef:
12336    @enDesc:    @enDesc:
12337      A processing instruction has its <CODE::PITarget> of      A processing instruction has its <CODE::PITarget> of
12338      <XML::xml> (in any case) which is not allowed.      <XML::xml> (in any case) which is not allowed.
   @DOMCore:severity: DOMCore|SEVERITY_ERROR  
12339    @enMufDef:    @enMufDef:
12340      Processing instruction target name cannot be |%p      Processing instruction target name cannot be |%p
12341      (name => {<Q::xp|name>});|      (name => {<Q::xp|name>});|
# Line 4374  WFErrDef: Line 12352  WFErrDef:
12352    
12353  WFErrDef:  WFErrDef:
12354    @QName: xp|wf-no-end-tag    @QName: xp|wf-no-end-tag
   @DOMCore:severity: DOMCore|SEVERITY_ERROR  
12355    @enDesc:    @enDesc:
12356      An end-tag is not found.      An end-tag is not found.
12357    @enMufDef:    @enMufDef:
# Line 4391  WFErrDef: Line 12368  WFErrDef:
12368    
12369  WFErrDef:  WFErrDef:
12370    @QName: xp|wf-unsupported-xml-version    @QName: xp|wf-unsupported-xml-version
   @DOMCore:severity: DOMCore|SEVERITY_ERROR  
12371    @enDesc:    @enDesc:
12372      The XML version specified in the version declaration is not supported.      The XML version specified in the version declaration is not supported.
12373    @enMufDef:    @enMufDef:
# Line 4408  WFErrDef: Line 12384  WFErrDef:
12384    
12385  WFErrDef:  WFErrDef:
12386    @QName: xp|wf-malformed-enc-name    @QName: xp|wf-malformed-enc-name
   @DOMCore:severity: DOMCore|SEVERITY_ERROR  
12387    @enDesc:    @enDesc:
12388      An <XA::encoding> pseudo-attribute value does not match      An <XA::encoding> pseudo-attribute value does not match
12389      to the procduction rule <CODE::EncName>.      to the procduction rule <CODE::EncName>.
# Line 4425  WFErrDef: Line 12400  WFErrDef:
12400    
12401  WFErrDef:  WFErrDef:
12402    @QName: xp|wf-malformed-xml-standalone    @QName: xp|wf-malformed-xml-standalone
   @DOMCore:severity: DOMCore|SEVERITY_ERROR  
12403    @enDesc:    @enDesc:
12404      An <XA::standalone> pseudo-attribute value is neither <XML::yes>      An <XA::standalone> pseudo-attribute value is neither <XML::yes>
12405      or <XML::no>.      or <XML::no>.
# Line 4443  WFErrDef: Line 12417  WFErrDef:
12417    
12418  WFErrDef:  WFErrDef:
12419    @QName: xp|wf-legal-literal-character    @QName: xp|wf-legal-literal-character
   @DOMCore:severity: DOMCore|SEVERITY_ERROR  
12420    @enDesc:    @enDesc:
12421      Each character in XML entity must match to the production      Each character in XML entity must match to the production
12422      rule <CODE::Char - RestrictedChar>.      rule <CODE::Char - RestrictedChar>.
# Line 4457  WFErrDef: Line 12430  WFErrDef:
12430    
12431  WFErrDef:  WFErrDef:
12432    @QName: xp|wf-element-type-match    @QName: xp|wf-element-type-match
   @DOMCore:severity: DOMCore|SEVERITY_FATAL_ERROR  
12433    @enDesc:    @enDesc:
12434      The <CODE::Name> in an element's end-tag must match the element type      The <CODE::Name> in an element's end-tag must match the element type
12435      in the start-tag.      in the start-tag.
# Line 4480  WFErrDef: Line 12452  WFErrDef:
12452    
12453  WFErrDef:  WFErrDef:
12454    @QName: xp|wf-unique-att-spec    @QName: xp|wf-unique-att-spec
   @DOMCore:severity: DOMCore|SEVERITY_ERROR  
12455    @enDesc:    @enDesc:
12456      An attribute name <kwd:MUST-NOT> appear more than once in      An attribute name <kwd:MUST-NOT> appear more than once in
12457      the same start-tag or empty-element tag.      the same start-tag or empty-element tag.
# Line 4494  WFErrDef: Line 12465  WFErrDef:
12465        The name of the attribute.        The name of the attribute.
12466    
12467  WFErrDef:  WFErrDef:
12468      @QName: xp|wf-no-external-entity-references
12469      @enDesc:
12470        Attribute values <kwd:MUST-NOT> contain direct or indirect
12471        entity references to external entities.
12472      @enMufDef:
12473        External entity |%p (name => {<Q::xp|name>});| is referenced
12474        in an attribute value literal
12475      @ecore:hasParameter: xp|error-token
12476      @ecore:hasParameter:
12477        @@@: xp|name
12478        @@enDesc:
12479          The name of the entity.
12480    
12481    WFErrDef:
12482      @QName: xp|wf-no-lt-in-attribute-values
12483      @enDesc:
12484        The replacement text of any entity referred to directly or indirectly
12485        in an attribute value literal <kwd:MUST-NOT> contain a
12486        <CHAR::LESS-THAN SIGN>.
12487      @enMufDef:
12488        Entity replacement text cannot contain a
12489        |LESS-THAN SIGN| since it is referenced from an attribute
12490        value literal
12491      @ecore:hasParameter: xp|error-token
12492    
12493    WFErrDef:
12494    @QName: xp|wf-legal-character    @QName: xp|wf-legal-character
   @DOMCore:severity: DOMCore|SEVERITY_ERROR  
12495    @enDesc:    @enDesc:
12496      Characters referred to using character references <kwd:MUST>      Characters referred to using character references <kwd:MUST>
12497      match the production for <CODE::Char>.      match the production for <CODE::Char>.
# Line 4513  WFErrDef: Line 12509  WFErrDef:
12509        The parent node in which the character reference has        The parent node in which the character reference has
12510        occurred, if available.        occurred, if available.
12511    
12512    WFErrDef:
12513      @QName: xp|wf-entity-declared
12514      @enDesc:
12515        {P:: In a document
12516    
12517           - without any DTD,
12518    
12519           - with only an internal DTD subset that contains no parameter
12520             entity references, or
12521    
12522           - with <XML::standalone="yes">,
12523    
12524        for an entity reference that does not occur within the external
12525        subset or a parameter entity, the <CODE::Name> given in the
12526        entity reference <kwd:MUST> match the <CODE::Name> does not
12527        occur within the external subset or a parameter entity,
12528        except that five predefined character entities need not
12529        be declared.  The declaration of a general entity <kwd:MUST>
12530        precede any reference to it which appears in a default value
12531        in an attribute list declaration.
12532      @enMufDef:
12533        Entity |%p (name => {<Q::xp|name>});| must be declared
12534        in the internal subset
12535      @ecore:hasParameter: xp|error-token
12536      @ecore:hasParameter:
12537        @@@: xp|name
12538        @@enDesc:
12539          The name of the entity.
12540    
12541    WFErrDef:
12542      @QName: xp|wf-parsed-entity
12543      @enDesc:
12544        An entity reference <kwd:MUST-NOT> contain the name of an
12545        unparsed entity.
12546      @enMufDef:
12547        Entity |%p (name => {<Q::xp|name>});| is an unparsed entity
12548      @ecore:hasParameter: xp|error-token
12549      @ecore:hasParameter:
12550        @@@: xp|name
12551        @@enDesc:
12552          The name of the entity.
12553    
12554    WFErrDef:
12555      @QName: xp|wf-no-recursion
12556      @enDesc:
12557        A parsed entity <kwd:MUST-NOT> contain a recursive reference
12558        to itself, either directly or indirectly.
12559      @enMufDef:
12560        Entity |%p (name => {<Q::xp|name>});| is recursively referenced
12561      @ecore:hasParameter: xp|error-token
12562      @ecore:hasParameter:
12563        @@@: xp|name
12564        @@enDesc:
12565          The name of the entity.
12566    
12567    FatalErrDef:
12568      @QName: xp|fatal-xml11-end-of-line-in-xml-declaration
12569      @enDesc:
12570        An end-of-line character <CODE::U+0085> or <CODE::U+2028> is appeared
12571        within an XML declaration or text declaration.
12572      @enMufDef:
12573        End-of-line character %character-code-point
12574        (v => {<Q::xp|character-number>}); cannot be used within the
12575        XML or text declaration
12576      @ecore:hasParameter:
12577        @@@: xp|character-number
12578        @@enDesc:
12579          The code position of the end-of-line character.
12580    
12581    ErrDef:
12582      @QName: xp|error-internal-predefined-entity
12583      @enDesc:
12584        A general entity declaration whose <CODE::Name> equals to one
12585        of predefined entities <kwd:MUST> declare it as an internal entity.
12586      @enMufDef:
12587        Entity |%p (name => {<Q::xp|name>});| must be declared as an
12588        internal entity
12589      @ecore:hasParameter: xp|error-token
12590      @ecore:hasParameter:
12591        @@@: xp|name
12592        @@enDesc:
12593          The name of the entity.
12594    
12595    ErrDef:
12596      @QName: xp|error-malformed-predefined-entity
12597      @enDesc:
12598        A general entity declaration whose <CODE::Name> equals to one
12599        of predefined entities <kwd:MUST> declare it as a data
12600        character for the entity.
12601      @enMufDef:
12602        Entity declaration for |%p (name => {<Q::xp|name>});|
12603        (replacement text |%p (name => {<Q::xp|replacement-text>});|) is malformed
12604      @ecore:hasParameter: xp|error-token
12605      @ecore:hasParameter:
12606        @@@: xp|name
12607        @@enDesc:
12608          The name of the entity.
12609      @ecore:hasParameter:
12610        @@@: xp|replacement-text
12611        @@enDesc:
12612          The replacement text of the entity declaration.
12613    
12614    WarnDef:
12615      @QName: xp|warning-entity-declaration-ignored
12616      @enDesc:
12617        An entity declaration is ignored because the same entity
12618        is declared before.
12619      @enMufDef:
12620        Entity declaration for |%p (name => {<Q::xp|name>});| is ignored
12621      @ecore:hasParameter: xp|error-token
12622      @ecore:hasParameter:
12623        @@@: xp|name
12624        @@enDesc:
12625          The name of the entity.
12626    
12627    VCErrDef:
12628      @QName: xp|vc-unique-notation-name
12629      @enDesc:
12630        A <CODE::Name> <kwd:MUST-NOT> be declared in more than
12631        one notation declaration.
12632      @enMufDef:
12633        Notation |%p (name => {<Q::xp|name>});| is already declared
12634      @ecore:hasParameter: xp|error-token
12635      @ecore:hasParameter:
12636        @@@: xp|name
12637        @@enDesc:
12638          The name of the notation.
12639    
12640    XWParam:
12641      @QName: xp|replacement-text
12642      @enDesc:
12643        The replacement text.
12644    
12645  XWParam:  XWParam:
12646    @QName: xp|error-token    @QName: xp|error-token
12647    @enDesc:    @enDesc:

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.24

[email protected]
ViewVC Help
Powered by ViewVC 1.1.24