/[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.17 by wakaba, Sat Feb 11 05:05:46 2006 UTC revision 1.18 by wakaba, Sat Feb 11 07:57:23 2006 UTC
# Line 1541  ClsDef: Line 1541  ClsDef:
1541          }          }
1542                    
1543          my $vals;          my $vals;
1544          lang:Perl {          lang:Perl : has-error {
1545            if ($attrs->{$atqname}) {            if ($attrs->{$atqname}) {
1546              my $location;              my $location;
1547              __CODE{xp|get-location-from-token::              __CODE{xp|get-location-from-token::
# Line 1721  ClsDef: Line 1721  ClsDef:
1721          } else {          } else {
1722            ?lexmode AttributeValueLiteralE;            ?lexmode AttributeValueLiteralE;
1723          }          }
1724          } (#INVALID == '<') {
1725            lang:Perl : has-error {
1726              my $location;
1727              __CODE{xp|get-location-from-token::
1728                $token => $token,
1729                $result => $location,
1730              }__;
1731              my $continue = __DOMCore:ERROR{xp|wf-no-lt-in-attribute-values::
1732                c|location => {$location},
1733                xp|token => {$token},
1734              }__;
1735              unless ($continue) {
1736                __EXCEPTION{DOMLS|PARSE_ERR}__;
1737              }
1738    
1739              my $text = $self->{doc}-><M::Document.createTextNode> ('<');
1740              $parent-><M::Node.appendChild> ($text);
1741              $vals->{value} .= '<';
1742            }
1743        }        }
1744                
1745        // ~ (#EOF) { }        // ~ (#EOF) { }
# Line 2197  ClsDef: Line 2216  ClsDef:
2216          }          }
2217        } (Name) {        } (Name) {
2218          my $er;          my $er;
2219          lang:Perl ($name => $token.value) {          lang:Perl ($name => $token.value) : has-error {
2220            ## TODO: Namespace well-formedness            ## TODO: Namespace well-formedness
2221            ## TODO: Entity declared constraints            ## TODO: Entity declared constraints
2222            ## TODO: No external entity constraint            
2223            $er = $self->{doc}-><M::Document.createEntityReference> ($name);            $er = $self->{doc}-><M::Document.createEntityReference> ($name);
2224            push @{$vals->{nodes}}, $er;            push @{$vals->{nodes}}, $er;
2225            push @{$self->{entity}}, <Code::getCopyOfEntityState::            push @{$self->{entity}}, <Code::getCopyOfEntityState::
# Line 2211  ClsDef: Line 2230  ClsDef:
2230            $self->{token} = [];            $self->{token} = [];
2231            push @{$self->{entity_char}}, $self->{char};            push @{$self->{entity_char}}, $self->{char};
2232            $self->{char} = [];            $self->{char} = [];
2233    
2234              if ($self->{entity}->[-1]->{is_external_entity}) {
2235                my $location;
2236                __CODE{xp|get-location-from-token::
2237                  $token => {$token},
2238                  $result => {$location},
2239                }__;
2240                my $continue = __DOMCore:ERROR{xp|wf-no-external-entity-references::
2241                  xp|error-token => {$token},
2242                  c|location => {$location},
2243                  xp|name => {$name},
2244                }__;
2245                unless ($continue) {
2246                  __EXCEPTION{DOMLS|PARSE_ERR::
2247                  }__;
2248                }
2249              } # if external entity
2250          }          }
2251    
2252          ?lexmode AttributeValueLiteralE;          ?lexmode AttributeValueLiteralE;
# Line 2275  ClsDef: Line 2311  ClsDef:
2311          lang:Perl ($name => $token.value) {          lang:Perl ($name => $token.value) {
2312            ## TODO: Namespace well-formedness            ## TODO: Namespace well-formedness
2313            ## TODO: Entity declared constraints            ## TODO: Entity declared constraints
2314            ## TODO: No external entity constraint  
2315            $er = $self->{doc}-><M::Document.createEntityReference> ($name);            $er = $self->{doc}-><M::Document.createEntityReference> ($name);
2316            $parent-><M::Node.appendChild> ($er);            $parent-><M::Node.appendChild> ($er);
2317            push @{$self->{entity}}, <Code::getCopyOfEntityState::            push @{$self->{entity}}, <Code::getCopyOfEntityState::
# Line 2286  ClsDef: Line 2322  ClsDef:
2322            $self->{token} = [];            $self->{token} = [];
2323            push @{$self->{entity_char}}, $self->{char};            push @{$self->{entity_char}}, $self->{char};
2324            $self->{char} = [];            $self->{char} = [];
2325    
2326              if ($self->{entity}->[-1]->{is_external_entity}) {
2327                my $location;
2328                __CODE{xp|get-location-from-token::
2329                  $token => {$token},
2330                  $result => {$location},
2331                }__;
2332                my $continue = __DOMCore:ERROR{xp|wf-no-external-entity-references::
2333                  xp|error-token => {$token},
2334                  c|location => {$location},
2335                  xp|name => {$name},
2336                }__;
2337                unless ($continue) {
2338                  __EXCEPTION{DOMLS|PARSE_ERR::
2339                  }__;
2340                }
2341              } # if external entity
2342          }          }
2343    
2344          ?lexmode AttributeValueLiteralE;          ?lexmode AttributeValueLiteralE;
# Line 2944  ClsDef: Line 2997  ClsDef:
2997        ~ (S) { }        ~ (S) { }
2998    
2999        my $decl;        my $decl;
3000        lang:Perl { $decl = { name => '#ILLEGAL' }; }        lang:Perl { $decl = { name => '#ILLEGAL', reptxt => \'' }; }
3001    
3002        ~? (PERO) {        ~? (PERO) {
3003          ~ (S) { }          ~ (S) { }
# Line 2959  ClsDef: Line 3012  ClsDef:
3012          }          }
3013        }        }
3014    
3015          my $node;
3016        lang:Perl {        lang:Perl {
3017            $node =
3018          $decl->{node} = $self->{docx}-><M::DocumentXDoctype.createGeneralEntity>          $decl->{node} = $self->{docx}-><M::DocumentXDoctype.createGeneralEntity>
3019                                           ($decl->{name});                                           ($decl->{name});
3020          ## TODO: Parameter entity...          ## TODO: Parameter entity...
# Line 2974  ClsDef: Line 3029  ClsDef:
3029        } (Name == 'PUBLIC') {        } (Name == 'PUBLIC') {
3030          ~ (S) { }          ~ (S) { }
3031    
3032          &PubidLiteral ($decl => $decl);          &PubidLiteral ($decl => $node);
3033    
3034          ~ (S) { }          ~ (S) { }
3035    
3036          &SystemLiteral ($decl => $decl);          &SystemLiteral ($decl => $node);
3037    
3038            lang:Perl {
3039              $decl->{is_external_entity} = true;
3040            }
3041        } (Name == 'SYSTEM') {        } (Name == 'SYSTEM') {
3042          ~ (S) { }          ~ (S) { }
3043    
3044          &SystemLiteral ($decl => $decl);          &SystemLiteral ($decl => $node);
3045    
3046            lang:Perl {
3047              $decl->{is_external_entity} = true;
3048            }
3049        }        }
3050    
3051        ~? (S) {        ~? (S) {
# Line 6408  ClsDef: Line 6471  ClsDef:
6471          }          }
6472    
6473      @@XMLTest:      @@XMLTest:
6474          @@@QName: xp.element.type.match.1.test
6475          @@@DEnt:
6476            @@@@test:value:
6477              <p></pa>(err)
6478          @@@c:erred: <[[xp|wf-element-type-match]]> { (1, 4)..(1, 8); }
6479          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6480        @@XMLTest:
6481          @@@QName: xp.element.type.match.2.test
6482          @@@DEnt:
6483            @@@@test:value:
6484              <p><pa></pa></pa>(err)
6485          @@@c:erred: <[[xp|wf-element-type-match]]> { (1, 13)..(1, 17); }
6486          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6487        @@XMLTest:
6488          @@@QName: xp.element.type.match.3.test
6489          @@@DEnt:
6490            @@@@test:value:
6491              <p><pa></p></p>(err)
6492          @@@c:erred: <[[xp|wf-element-type-match]]> { (1, 8)..(1, 11); }
6493          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6494        @@XMLTest:
6495          @@@QName: xp.element.type.match.4.test
6496          @@@DEnt:
6497            @@@@test:value:
6498              <a:p xmlns:a="about:1"></p>(err)
6499          @@@c:erred: <[[xp|wf-element-type-match]]> { (1, 24)..(1, 27); }
6500          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6501        @@XMLTest:
6502          @@@QName: xp.element.type.match.5.test
6503          @@@DEnt:
6504            @@@@test:value:
6505              <a:p xmlns:a="about:1" xmlns:b="about:1"></b:p>(err)
6506          @@@c:erred: <[[xp|wf-element-type-match]]> { (1, 42)..(1, 47); }
6507          @@@c:erred: <[[xp|wf-syntax-error]]> { }
6508    
6509        @@XMLTest:
6510          @@@QName: xp.stag.stago.name.etago.test
6511          @@@DEnt:
6512            @@@@test:value:
6513              <a</a>
6514          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 3); }
6515        @@XMLTest:
6516          @@@QName: xp.stag.stago.name.s.etago.test
6517          @@@DEnt:
6518            @@@@test:value:
6519              <a </a>
6520          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 4); }
6521        @@XMLTest:
6522          @@@QName: xp.stag.stago.name.s.attr.etago.test
6523          @@@DEnt:
6524            @@@@test:value:
6525              <a a="b"</a>
6526          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 9); }
6527        @@XMLTest:
6528          @@@QName: xp.stag.stago.name.s.attr.s.attr.etago.test
6529          @@@DEnt:
6530            @@@@test:value:
6531              <a a="b" c="d"</a>
6532          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 15); }
6533        @@XMLTest:
6534          @@@QName: xp.stag.stago.name.s.attr.s.etago.test
6535          @@@DEnt:
6536            @@@@test:value:
6537              <a a="b" </a>
6538          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 10); }
6539        @@XMLTest:
6540          @@@QName: xp.stag.etag.1.test
6541          @@@DEnt:
6542            @@@@test:value:
6543              <root><a></a></root>
6544          @@@test:domTree:
6545            document {
6546              element {
6547                element {
6548                  node-name: 'a';
6549                }
6550              }
6551            }      
6552        @@XMLTest:
6553          @@@QName: xp.stag.etag.2.test
6554          @@@DEnt:
6555            @@@@test:value:
6556              <root><ab></ab></root>
6557          @@@test:domTree:
6558            document {
6559              element {
6560                element {
6561                  node-name: 'ab';
6562                }
6563              }
6564            }      
6565        @@XMLTest:
6566          @@@QName: xp.stag.etag.s.1.test
6567          @@@DEnt:
6568            @@@@test:value:
6569              <root><a  ></a  ></root>
6570          @@@test:domTree:
6571            document {
6572              element {
6573                element {
6574                  node-name: 'a';
6575                }
6576              }
6577            }      
6578        @@XMLTest:
6579          @@@QName: xp.etag.1.test
6580          @@@DEnt:
6581            @@@@test:value:
6582              <root><a/></root>
6583          @@@test:domTree:
6584            document {
6585              element {
6586                element {
6587                  node-name: 'a';
6588                }
6589              }
6590            }      
6591        @@XMLTest:
6592          @@@QName: xp.etag.2.test
6593          @@@DEnt:
6594            @@@@test:value:
6595              <root><a    /></root>
6596          @@@test:domTree:
6597            document {
6598              element {
6599                element {
6600                  node-name: 'a';
6601                }
6602              }
6603            }      
6604        @@XMLTest:
6605          @@@QName: xp.stag.etag.attr.1.test
6606          @@@DEnt:
6607            @@@@test:value:
6608              <root><a at="v"></a></root>
6609          @@@test:domTree:
6610            document {
6611              element {
6612                element {
6613                  node-name: 'a';
6614                  attribute {
6615                    node-name: 'at';
6616                    value: 'v';
6617                  }
6618                }
6619              }
6620            }      
6621        @@XMLTest:
6622          @@@QName: xp.stag.etag.attr.2.test
6623          @@@DEnt:
6624            @@@@test:value:
6625              <root><a at="v"  ></a></root>
6626          @@@test:domTree:
6627            document {
6628              element {
6629                element {
6630                  node-name: 'a';
6631                  attribute {
6632                    node-name: 'at';
6633                    value: 'v';
6634                  }
6635                }
6636              }
6637            }      
6638        @@XMLTest:
6639          @@@QName: xp.stag.etag.attr.3.test
6640          @@@DEnt:
6641            @@@@test:value:
6642              <root><a at     ="v"></a></root>
6643          @@@test:domTree:
6644            document {
6645              element {
6646                element {
6647                  node-name: 'a';
6648                  attribute {
6649                    node-name: 'at';
6650                    value: 'v';
6651                  }
6652                }
6653              }
6654            }      
6655        @@XMLTest:
6656          @@@QName: xp.stag.etag.attr.4.test
6657          @@@DEnt:
6658            @@@@test:value:
6659              <root><a at=   "v"></a></root>
6660          @@@test:domTree:
6661            document {
6662              element {
6663                element {
6664                  node-name: 'a';
6665                  attribute {
6666                    node-name: 'at';
6667                    value: 'v';
6668                  }
6669                }
6670              }
6671            }      
6672        @@XMLTest:
6673          @@@QName: xp.stag.etag.attr.5.test
6674          @@@DEnt:
6675            @@@@test:value:
6676              <root><a at='v'></a></root>
6677          @@@test:domTree:
6678            document {
6679              element {
6680                element {
6681                  node-name: 'a';
6682                  attribute {
6683                    node-name: 'at';
6684                    value: 'v';
6685                  }
6686                }
6687              }
6688            }      
6689        @@XMLTest:
6690          @@@QName: xp.stag.etag.attr.6.test
6691          @@@DEnt:
6692            @@@@test:value:
6693              <root><a at=   'v'  ></a></root>
6694          @@@test:domTree:
6695            document {
6696              element {
6697                element {
6698                  node-name: 'a';
6699                  attribute {
6700                    node-name: 'at';
6701                    value: 'v';
6702                  }
6703                }
6704              }
6705            }      
6706        @@XMLTest:
6707          @@@QName: xp.stag.etag.attr.attr.1.test
6708          @@@DEnt:
6709            @@@@test:value:
6710              <root><a at="v"  tr="w"></a></root>
6711          @@@test:domTree:
6712            document {
6713              element {
6714                element {
6715                  node-name: 'a';
6716                  attribute {
6717                    node-name: 'at';
6718                    value: 'v';
6719                  }
6720                  attribute {
6721                    node-name: 'tr';
6722                    value: 'w';
6723                  }
6724                }
6725              }
6726            }      
6727        @@XMLTest:
6728          @@@QName: xp.stag.etag.attr.attr.2.test
6729          @@@DEnt:
6730            @@@@test:value:
6731              <root><a tr="w" at="v"></a></root>
6732          @@@test:domTree:
6733            document {
6734              element {
6735                element {
6736                  node-name: 'a';
6737                  attribute {
6738                    node-name: 'at';
6739                    value: 'v';
6740                  }
6741                  attribute {
6742                    node-name: 'tr';
6743                    value: 'w';
6744                  }
6745                }
6746              }
6747            }      
6748        @@XMLTest:
6749          @@@QName: xp.stag.etag.attr.no.s.attr.test
6750          @@@DEnt:
6751            @@@@test:value:
6752              <root><a at="v"tr="w"></a></root>
6753          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 16)..(1, 17); }
6754        @@XMLTest:
6755          @@@QName: xp.etag.attr.1.test
6756          @@@DEnt:
6757            @@@@test:value:
6758              <root><a at="v" tr="w"></a b="c"></root>
6759          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 28); }
6760        @@XMLTest:
6761          @@@QName: xp.etag.no.etagc.1.test
6762          @@@DEnt:
6763            @@@@test:value:
6764              <root><a at="v" tr="w"></a</root>
6765          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 27)..(1, 28); }
6766        @@XMLTest:
6767          @@@QName: xp.etag.no.etagc.2.test
6768          @@@DEnt:
6769            @@@@test:value:
6770              <root><a at="v" tr="w"></a  </root>
6771          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 29)..(1, 30); }
6772        @@XMLTest:
6773          @@@QName: xp.mtag.attr.1.test
6774          @@@DEnt:
6775            @@@@test:value:
6776              <root><a  b="c"/></root>
6777          @@@test:domTree:
6778            document {
6779              element {
6780                element {
6781                  node-name: 'a';
6782                  attribute {
6783                    node-name: 'b';
6784                    value: 'c';
6785                  }
6786                }
6787              }
6788            }      
6789        @@XMLTest:
6790          @@@QName: xp.mtag.attr.2.test
6791          @@@DEnt:
6792            @@@@test:value:
6793              <root><a  b="c"  /></root>
6794          @@@test:domTree:
6795            document {
6796              element {
6797                element {
6798                  node-name: 'a';
6799                  attribute {
6800                    node-name: 'b';
6801                    value: 'c';
6802                  }
6803                }
6804              }
6805            }      
6806        @@XMLTest:
6807          @@@QName: xp.mtag.attr.3.test
6808          @@@DEnt:
6809            @@@@test:value:
6810              <root><a  b='c'/></root>
6811          @@@test:domTree:
6812            document {
6813              element {
6814                element {
6815                  node-name: 'a';
6816                  attribute {
6817                    node-name: 'b';
6818                    value: 'c';
6819                  }
6820                }
6821              }
6822            }      
6823        @@XMLTest:
6824          @@@QName: xp.mtag.attr.4.test
6825          @@@DEnt:
6826            @@@@test:value:
6827              <root><a  b="c" d="e"/></root>
6828          @@@test:domTree:
6829            document {
6830              element {
6831                element {
6832                  node-name: 'a';
6833                  attribute {
6834                    node-name: 'b';
6835                    value: 'c';
6836                  }
6837                  attribute {
6838                    node-name: 'd';
6839                    value: 'e';
6840                  }
6841                }
6842              }
6843            }      
6844    
6845        @@XMLTest:
6846          @@@QName: xp.attvalue.lt.1.test
6847          @@@DEnt:
6848            @@@@test:value:
6849              <a b="aa<dd"/>
6850          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 9); }
6851        @@XMLTest:
6852          @@@QName: xp.attvalue.lt.2.test
6853          @@@DEnt:
6854            @@@@test:value:
6855              <a b='aa<dd'/>
6856          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 9); }
6857        @@XMLTest:
6858          @@@QName: xp.attvalue.amp.1.test
6859          @@@DEnt:
6860            @@@@test:value:
6861              <a b="aa& dd"/>
6862          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 9)..(1, 12); }
6863        @@XMLTest:
6864          @@@QName: xp.attvalue.amp.2.test
6865          @@@DEnt:
6866            @@@@test:value:
6867              <a b='aa& dd'/>
6868          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 9)..(1, 12); }
6869        @@XMLTest:
6870          @@@QName: xp.attvalue.amp.3.test
6871          @@@DEnt:
6872            @@@@test:value:
6873              <a b="aa&# dd"/>
6874          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 9)..(1, 13); }
6875        @@XMLTest:
6876          @@@QName: xp.attvalue.amp.4.test
6877          @@@DEnt:
6878            @@@@test:value:
6879              <a b="aa&#x dd"/>
6880          @@@c:erred: <[[xp|wf-syntax-error]]> { (1, 9)..(1, 14); }
6881    
6882        @@XMLTest:
6883          @@@QName: xp.unique.att.spec.1.test
6884          @@@DEnt:
6885            @@@@test:value:
6886              <a b="c" b="d"/>
6887          @@@c:erred: <[[xp|wf-unique-att-spec]]> { (1, 4)..(1, 14); }
6888        @@XMLTest:
6889          @@@QName: xp.unique.att.spec.2.test
6890          @@@DEnt:
6891            @@@@test:value:
6892              <a d:b="c" d:b="d" xmlns:d="about:2"/>
6893          @@@c:erred: <[[xp|wf-unique-att-spec]]> { (1, 4)..(1, 18); }
6894    
6895        @@XMLTest:
6896          @@@QName: xp.no.external.entity.references.1.test
6897          @@@DEnt:
6898            @@@@test:value:
6899              <!DOCTYPE a [
6900                <!ENTITY ent SYSTEM "something">
6901              ]>
6902              <a b="c&ent;"/>
6903          @@@c:erred: <[[xp|wf-no-external-entity-references]]> { (4, 8)..(4, 12); }
6904        @@XMLTest:
6905          @@@QName: xp.no.external.entity.references.2.test
6906          @@@DEnt:
6907            @@@@test:value:
6908              <!DOCTYPE a [
6909                <!NOTATION n SYSTEM "notation">
6910                <!ENTITY ent SYSTEM "something" NDATA n>
6911              ]>
6912              <a b="c&ent;"/>
6913          @@@c:erred: <[[xp|wf-no-external-entity-references]]> { (5, 8)..(5, 12); }
6914        @@XMLTest:
6915          @@@QName: xp.no.external.entity.references.3.test
6916          @@@DEnt:
6917            @@@@test:value:
6918              <!DOCTYPE a [
6919                <!ENTITY ent SYSTEM "something">
6920                <!ENTITY ent2 "ddd&ent;">
6921              ]>
6922              <a b="c&ent2;"/>
6923          @@@c:erred: <[[xp|wf-no-external-entity-references]]> { (1, 4)..(1, 8); }
6924        @@XMLTest:
6925          @@@QName: xp.no.external.entity.references.4.test
6926          @@@DEnt:
6927            @@@@test:value:
6928              <!DOCTYPE a [
6929                <!NOTATION n SYSTEM "notation">
6930                <!ENTITY ent SYSTEM "something" NDATA n>
6931                <!ENTITY ent2 "ddd&ent;">
6932              ]>
6933              <a b="c&ent2;"/>
6934          @@@c:erred: <[[xp|wf-no-external-entity-references]]> { (1, 4)..(1, 8); }
6935        @@XMLTest:
6936          @@@QName: xp.no.lt.in.attr.value.1.test
6937          @@@DEnt:
6938            @@@@test:value:
6939              <!DOCTYPE a [
6940              <!ENTITY ent "aa<bb">
6941              ]>
6942              <a b="c&ent;"/>
6943          @@@c:erred: <[[xp|wf-no-lt-in-attribute-values]]> { (1, 3); }
6944        @@XMLTest:
6945          @@@QName: xp.no.lt.in.attr.value.2.test
6946          @@@DEnt:
6947            @@@@test:value:
6948              <!DOCTYPE a [
6949              <!ENTITY ent "aa<bb">
6950              <!ENTITY ent2 "ccc&ent;">
6951              ]>
6952              <a b="c&ent2;"/>
6953          @@@c:erred: <[[xp|wf-no-lt-in-attribute-values]]> { (1, 3); }
6954        @@XMLTest:
6955          @@@QName: xp.no.lt.in.attr.value.3.test
6956          @@@DEnt:
6957            @@@@test:value:
6958              <!DOCTYPE a [
6959              <!ENTITY ent "aa&#x3C;bb">
6960              ]>
6961              <a b="c&ent;"/>
6962          @@@c:erred: <[[xp|wf-no-lt-in-attribute-values]]> { (1, 3); }
6963        @@XMLTest:
6964          @@@QName: xp.no.lt.in.attr.value.4.test
6965          @@@DEnt:
6966            @@@@test:value:
6967              <!DOCTYPE a [
6968              <!ENTITY ent "aa&#x3C;bb">
6969              <!ENTITY ent2 "ccc&ent;">
6970              ]>
6971              <a b="c&ent2;"/>
6972          @@@c:erred: <[[xp|wf-no-lt-in-attribute-values]]> { (1, 3); }
6973        @@XMLTest:
6974          @@@QName: xp.ger.lt.in.attr.value.1.test
6975          @@@DEnt:
6976            @@@@test:value:
6977              <!DOCTYPE a [
6978              <!ENTITY ent "aa&lt;bb">
6979              ]>
6980              <a b="c&ent;"/>
6981          @@@test:domTree:
6982            document {
6983              document-type {
6984                general-entity {
6985                  node-name: 'ent';
6986                  text-content: 'aa<bb';
6987                }
6988              }
6989              element {
6990                attribute {
6991                  node-name: 'b';
6992                  text { data: 'c'; }
6993                  general-entity-reference {
6994                    node-name: 'ent';
6995                    text-content: 'aa<bb';
6996                  }
6997                }
6998              }
6999            }
7000        @@XMLTest:
7001          @@@QName: xp.ger.lt.in.attr.value.2.test
7002          @@@DEnt:
7003            @@@@test:value:
7004              <!DOCTYPE a [
7005              <!ENTITY ent "aa&lt;bb">
7006              <!ENTITY ent2 "ccc&ent;">
7007              ]>
7008              <a b="c&ent2;"/>
7009          @@@test:domTree:
7010            document {
7011              document-type {
7012                general-entity {
7013                  node-name: 'ent';
7014                  text-content: 'aa<bb';
7015                }
7016                general-entity {
7017                  node-name: 'ent2';
7018                  text { data: 'ccc'; }
7019                  general-entity-reference {
7020                    node-name: 'ent';
7021                    text-content: 'aa<bb';
7022                  }
7023                }
7024              }
7025              element {
7026                attribute {
7027                  node-name: 'b';
7028                  text { data: 'c'; }
7029                  general-entity-reference {
7030                    node-name: 'ent2';
7031                    text { data: 'ccc'; }
7032                    general-entity-reference {
7033                      node-name: 'ent';
7034                      text-content: 'aa<bb';
7035                    }
7036                  }
7037                }
7038              }
7039            }
7040    
7041        @@XMLTest:
7042        @@@QName: xp.doctype.intsubset.pi.test        @@@QName: xp.doctype.intsubset.pi.test
7043        @@@DEnt:        @@@DEnt:
7044          @@@@test:value:          @@@@test:value:
# Line 7388  ClsDef: Line 8019  ClsDef:
8019            }            }
8020          }          }
8021    
8022        @@XMLTest:
8023          @@@QName: xp.element.content.ncr.1.test
8024          @@@DEnt:
8025            @@@@test:value:
8026              <e>&#33;</e>
8027          @@@test:domTree:
8028            document {
8029              element {
8030                text-content: '!';
8031              }
8032            }
8033        @@XMLTest:
8034          @@@QName: xp.element.content.ncr.2.test
8035          @@@DEnt:
8036            @@@@test:value:
8037              <e>aaaa&#33;bbbb</e>
8038          @@@test:domTree:
8039            document {
8040              element {
8041                text-content: 'aaaa!bbbb';
8042              }
8043            }
8044        @@XMLTest:
8045          @@@QName: xp.attrval.ncr.1.test
8046          @@@DEnt:
8047            @@@@test:value:
8048              <e a="&#33;"/>
8049          @@@test:domTree:
8050            document {
8051              element {
8052                attribute {
8053                  node-name: 'a';
8054                  text-content: '!';
8055                }
8056              }
8057            }
8058        @@XMLTest:
8059          @@@QName: xp.attrval.ncr.2.test
8060          @@@DEnt:
8061            @@@@test:value:
8062              <e a="aaaaa&#33;bbbbb"/>
8063          @@@test:domTree:
8064            document {
8065              element {
8066                attribute {
8067                  node-name: 'a';
8068                  text-content: 'aaaaa!bbbbb';
8069                }
8070              }
8071            }
8072        @@XMLTest:
8073          @@@QName: xp.attrval.ncr.3.test
8074          @@@DEnt:
8075            @@@@test:value:
8076              <e a='&#33;'/>
8077          @@@test:domTree:
8078            document {
8079              element {
8080                attribute {
8081                  node-name: 'a';
8082                  text-content: '!';
8083                }
8084              }
8085            }
8086        @@XMLTest:
8087          @@@QName: xp.attrval.ncr.4.test
8088          @@@DEnt:
8089            @@@@test:value:
8090              <e a='aaaaa&#33;bbbbb'/>
8091          @@@test:domTree:
8092            document {
8093              element {
8094                attribute {
8095                  node-name: 'a';
8096                  text-content: 'aaaaa!bbbbb';
8097                }
8098              }
8099            }
8100        @@XMLTest:
8101          @@@QName: xp.entval.ncr.1.test
8102          @@@DEnt:
8103            @@@@test:value:
8104              <!DOCTYPE e [
8105                <!ENTITY ent "&#33;">
8106              ]>
8107              <e/>
8108          @@@test:domTree:
8109            document {
8110              document-type {
8111                general-entity {
8112                  node-name: 'ent';
8113                  text-content: '!';
8114                }
8115              }
8116              element { }
8117            }
8118        @@XMLTest:
8119          @@@QName: xp.entval.ncr.2.test
8120          @@@DEnt:
8121            @@@@test:value:
8122              <!DOCTYPE e [
8123                <!ENTITY ent "aaaaa&#33;bbbbb">
8124              ]>
8125              <e/>
8126          @@@test:domTree:
8127            document {
8128              document-type {
8129                general-entity {
8130                  node-name: 'ent';
8131                  text-content: 'aaaaa!bbbbb';
8132                }
8133              }
8134              element { }
8135            }
8136        @@XMLTest:
8137          @@@QName: xp.element.content.reptxt.ncr.1.test
8138          @@@DEnt:
8139            @@@@test:value:
8140              <!DOCTYPE e [
8141                <!ENTITY ent "&#38;#33;">
8142              ]>
8143              <e>&ent;</e>
8144          @@@test:domTree:
8145            document {
8146              document-type { }
8147              element {
8148                general-entity-reference {
8149                  node-name: 'ent';
8150                  text-content: '!';
8151                }
8152              }
8153            }
8154        @@XMLTest:
8155          @@@QName: xp.element.content.reptxt.ncr.2.test
8156          @@@DEnt:
8157            @@@@test:value:
8158              <!DOCTYPE e [
8159                <!ENTITY ent "aaaaa&#38;#33;bbbbb">
8160              ]>
8161              <e>&ent;</e>
8162          @@@test:domTree:
8163            document {
8164              document-type { }
8165              element {
8166                general-entity-reference {
8167                  node-name: 'ent';
8168                  text-content: 'aaaaa!bbbbb';
8169                }
8170              }
8171            }
8172        @@XMLTest:
8173          @@@QName: xp.element.content.reptxt.reptxt.ncr.1.test
8174          @@@DEnt:
8175            @@@@test:value:
8176              <!DOCTYPE e [
8177                <!ENTITY ent "&#38;#33;">
8178                <!ENTITY ent2 "&ent;">
8179              ]>
8180              <e>&ent2;</e>
8181          @@@test:domTree:
8182            document {
8183              document-type { }
8184              element {
8185                general-entity-reference {
8186                  node-name: 'ent2';
8187                  general-entity-reference {
8188                    node-name: 'ent';
8189                    text-content: '!';
8190                  }
8191                }
8192              }
8193            }
8194        @@XMLTest:
8195          @@@QName: xp.element.content.reptxt.reptxt.ncr.2.test
8196          @@@DEnt:
8197            @@@@test:value:
8198              <!DOCTYPE e [
8199                <!ENTITY ent "aa&#38;#33;bb">
8200                <!ENTITY ent2 "&ent;">
8201              ]>
8202              <e>&ent2;</e>
8203          @@@test:domTree:
8204            document {
8205              document-type { }
8206              element {
8207                general-entity-reference {
8208                  node-name: 'ent2';
8209                  general-entity-reference {
8210                    node-name: 'ent';
8211                    text-content: 'aa!bb';
8212                  }
8213                }
8214              }
8215            }
8216        @@XMLTest:
8217          @@@QName: xp.attval.reptxt.ncr.1.test
8218          @@@DEnt:
8219            @@@@test:value:
8220              <!DOCTYPE e [
8221                <!ENTITY ent "&#38;#33;">
8222              ]>
8223              <e a="&ent;"/>
8224          @@@test:domTree:
8225            document {
8226              document-type { }
8227              element {
8228                attribute {
8229                  node-name: 'a';
8230                  general-entity-reference {
8231                    node-name: 'ent';
8232                    text-content: '!';
8233                  }
8234                }
8235              }
8236            }
8237        @@XMLTest:
8238          @@@QName: xp.attval.reptxt.ncr.2.test
8239          @@@DEnt:
8240            @@@@test:value:
8241              <!DOCTYPE e [
8242                <!ENTITY ent "aaaaa&#38;#33;bbbbb">
8243              ]>
8244              <e a="&ent;"/>
8245          @@@test:domTree:
8246            document {
8247              document-type { }
8248              element {
8249                attribute {
8250                  node-name: 'a';
8251                  general-entity-reference {
8252                    node-name: 'ent';
8253                    text-content: 'aaaaa!bbbbb';
8254                  }
8255                }
8256              }
8257            }
8258        @@XMLTest:
8259          @@@QName: xp.attval.reptxt.reptxt.ncr.1.test
8260          @@@DEnt:
8261            @@@@test:value:
8262              <!DOCTYPE e [
8263                <!ENTITY ent "&#38;#33;">
8264                <!ENTITY ent2 "&ent;">
8265              ]>
8266              <e a="&ent2;"/>
8267          @@@test:domTree:
8268            document {
8269              document-type { }
8270              element {
8271                attribute {
8272                  node-name: 'a';
8273                  general-entity-reference {
8274                    node-name: 'ent2';
8275                    general-entity-reference {
8276                      node-name: 'ent';
8277                      text-content: '!';
8278                    }
8279                  }
8280                }
8281              }
8282            }
8283        @@XMLTest:
8284          @@@QName: xp.attval.reptxt.reptxt.ncr.2.test
8285          @@@DEnt:
8286            @@@@test:value:
8287              <!DOCTYPE e [
8288                <!ENTITY ent "aa&#38;#33;bb">
8289                <!ENTITY ent2 "&ent;">
8290              ]>
8291              <e a="&ent2;"/>
8292          @@@test:domTree:
8293            document {
8294              document-type { }
8295              element {
8296                attribute {
8297                  node-name: 'a';
8298                  general-entity-reference {
8299                    node-name: 'ent2';
8300                    general-entity-reference {
8301                      node-name: 'ent';
8302                      text-content: 'aa!bb';
8303                    }
8304                  }
8305                }
8306              }
8307            }
8308    
8309        @@XMLTest:
8310          @@@QName: xp.element.content.hcr.1.test
8311          @@@DEnt:
8312            @@@@test:value:
8313              <e>&#x21;</e>
8314          @@@test:domTree:
8315            document {
8316              element {
8317                text-content: '!';
8318              }
8319            }
8320        @@XMLTest:
8321          @@@QName: xp.element.content.hcr.2.test
8322          @@@DEnt:
8323            @@@@test:value:
8324              <e>aaaa&#x21;bbbb</e>
8325          @@@test:domTree:
8326            document {
8327              element {
8328                text-content: 'aaaa!bbbb';
8329              }
8330            }
8331        @@XMLTest:
8332          @@@QName: xp.attrval.hcr.1.test
8333          @@@DEnt:
8334            @@@@test:value:
8335              <e a="&#x21;"/>
8336          @@@test:domTree:
8337            document {
8338              element {
8339                attribute {
8340                  node-name: 'a';
8341                  text-content: '!';
8342                }
8343              }
8344            }
8345        @@XMLTest:
8346          @@@QName: xp.attrval.hcr.2.test
8347          @@@DEnt:
8348            @@@@test:value:
8349              <e a="aaaaa&#x21;bbbbb"/>
8350          @@@test:domTree:
8351            document {
8352              element {
8353                attribute {
8354                  node-name: 'a';
8355                  text-content: 'aaaaa!bbbbb';
8356                }
8357              }
8358            }
8359        @@XMLTest:
8360          @@@QName: xp.attrval.hcr.3.test
8361          @@@DEnt:
8362            @@@@test:value:
8363              <e a='&#x21;'/>
8364          @@@test:domTree:
8365            document {
8366              element {
8367                attribute {
8368                  node-name: 'a';
8369                  text-content: '!';
8370                }
8371              }
8372            }
8373        @@XMLTest:
8374          @@@QName: xp.attrval.hcr.4.test
8375          @@@DEnt:
8376            @@@@test:value:
8377              <e a='aaaaa&#x21;bbbbb'/>
8378          @@@test:domTree:
8379            document {
8380              element {
8381                attribute {
8382                  node-name: 'a';
8383                  text-content: 'aaaaa!bbbbb';
8384                }
8385              }
8386            }
8387        @@XMLTest:
8388          @@@QName: xp.entval.hcr.1.test
8389          @@@DEnt:
8390            @@@@test:value:
8391              <!DOCTYPE e [
8392                <!ENTITY ent "&#x21;">
8393              ]>
8394              <e/>
8395          @@@test:domTree:
8396            document {
8397              document-type {
8398                general-entity {
8399                  node-name: 'ent';
8400                  text-content: '!';
8401                }
8402              }
8403              element { }
8404            }
8405        @@XMLTest:
8406          @@@QName: xp.entval.hcr.2.test
8407          @@@DEnt:
8408            @@@@test:value:
8409              <!DOCTYPE e [
8410                <!ENTITY ent "aaaaa&#x21;bbbbb">
8411              ]>
8412              <e/>
8413          @@@test:domTree:
8414            document {
8415              document-type {
8416                general-entity {
8417                  node-name: 'ent';
8418                  text-content: 'aaaaa!bbbbb';
8419                }
8420              }
8421              element { }
8422            }
8423        @@XMLTest:
8424          @@@QName: xp.element.content.reptxt.hcr.1.test
8425          @@@DEnt:
8426            @@@@test:value:
8427              <!DOCTYPE e [
8428                <!ENTITY ent "&#38;#x21;">
8429              ]>
8430              <e>&ent;</e>
8431          @@@test:domTree:
8432            document {
8433              document-type { }
8434              element {
8435                general-entity-reference {
8436                  node-name: 'ent';
8437                  text-content: '!';
8438                }
8439              }
8440            }
8441        @@XMLTest:
8442          @@@QName: xp.element.content.reptxt.hcr.2.test
8443          @@@DEnt:
8444            @@@@test:value:
8445              <!DOCTYPE e [
8446                <!ENTITY ent "aaaaa&#38;#x21;bbbbb">
8447              ]>
8448              <e>&ent;</e>
8449          @@@test:domTree:
8450            document {
8451              document-type { }
8452              element {
8453                general-entity-reference {
8454                  node-name: 'ent';
8455                  text-content: 'aaaaa!bbbbb';
8456                }
8457              }
8458            }
8459        @@XMLTest:
8460          @@@QName: xp.element.content.reptxt.reptxt.hcr.1.test
8461          @@@DEnt:
8462            @@@@test:value:
8463              <!DOCTYPE e [
8464                <!ENTITY ent "&#38;#x21;">
8465                <!ENTITY ent2 "&ent;">
8466              ]>
8467              <e>&ent2;</e>
8468          @@@test:domTree:
8469            document {
8470              document-type { }
8471              element {
8472                general-entity-reference {
8473                  node-name: 'ent2';
8474                  general-entity-reference {
8475                    node-name: 'ent';
8476                    text-content: '!';
8477                  }
8478                }
8479              }
8480            }
8481        @@XMLTest:
8482          @@@QName: xp.element.content.reptxt.reptxt.hcr.2.test
8483          @@@DEnt:
8484            @@@@test:value:
8485              <!DOCTYPE e [
8486                <!ENTITY ent "aa&#38;#x21;bb">
8487                <!ENTITY ent2 "&ent;">
8488              ]>
8489              <e>&ent2;</e>
8490          @@@test:domTree:
8491            document {
8492              document-type { }
8493              element {
8494                general-entity-reference {
8495                  node-name: 'ent2';
8496                  general-entity-reference {
8497                    node-name: 'ent';
8498                    text-content: 'aa!bb';
8499                  }
8500                }
8501              }
8502            }
8503        @@XMLTest:
8504          @@@QName: xp.attval.reptxt.hcr.1.test
8505          @@@DEnt:
8506            @@@@test:value:
8507              <!DOCTYPE e [
8508                <!ENTITY ent "&#38;#x21;">
8509              ]>
8510              <e a="&ent;"/>
8511          @@@test:domTree:
8512            document {
8513              document-type { }
8514              element {
8515                attribute {
8516                  node-name: 'a';
8517                  general-entity-reference {
8518                    node-name: 'ent';
8519                    text-content: '!';
8520                  }
8521                }
8522              }
8523            }
8524        @@XMLTest:
8525          @@@QName: xp.attval.reptxt.hcr.2.test
8526          @@@DEnt:
8527            @@@@test:value:
8528              <!DOCTYPE e [
8529                <!ENTITY ent "aaaaa&#38;#x21;bbbbb">
8530              ]>
8531              <e a="&ent;"/>
8532          @@@test:domTree:
8533            document {
8534              document-type { }
8535              element {
8536                attribute {
8537                  node-name: 'a';
8538                  general-entity-reference {
8539                    node-name: 'ent';
8540                    text-content: 'aaaaa!bbbbb';
8541                  }
8542                }
8543              }
8544            }
8545        @@XMLTest:
8546          @@@QName: xp.attval.reptxt.reptxt.hcr.1.test
8547          @@@DEnt:
8548            @@@@test:value:
8549              <!DOCTYPE e [
8550                <!ENTITY ent "&#38;#x21;">
8551                <!ENTITY ent2 "&ent;">
8552              ]>
8553              <e a="&ent2;"/>
8554          @@@test:domTree:
8555            document {
8556              document-type { }
8557              element {
8558                attribute {
8559                  node-name: 'a';
8560                  general-entity-reference {
8561                    node-name: 'ent2';
8562                    general-entity-reference {
8563                      node-name: 'ent';
8564                      text-content: '!';
8565                    }
8566                  }
8567                }
8568              }
8569            }
8570        @@XMLTest:
8571          @@@QName: xp.attval.reptxt.reptxt.hcr.2.test
8572          @@@DEnt:
8573            @@@@test:value:
8574              <!DOCTYPE e [
8575                <!ENTITY ent "aa&#38;#x21;bb">
8576                <!ENTITY ent2 "&ent;">
8577              ]>
8578              <e a="&ent2;"/>
8579          @@@test:domTree:
8580            document {
8581              document-type { }
8582              element {
8583                attribute {
8584                  node-name: 'a';
8585                  general-entity-reference {
8586                    node-name: 'ent2';
8587                    general-entity-reference {
8588                      node-name: 'ent';
8589                      text-content: 'aa!bb';
8590                    }
8591                  }
8592                }
8593              }
8594            }
8595    
8596        @@XMLTest:
8597          @@@QName: xp.element.content.ncr.legal.char.1.0.1.test
8598          @@@DEnt:
8599            @@@@test:value:
8600              <?xml version="1.0"?>
8601              <e>&#0;</e>
8602          @@@c:erred: <[[xp|wf-legal-character]]> { (2, 4)..(2, 7); }
8603        @@XMLTest:
8604          @@@QName: xp.element.content.ncr.legal.char.1.1.1.test
8605          @@@DEnt:
8606            @@@@test:value:
8607              <?xml version="1.1"?>
8608              <e>&#0;</e>
8609          @@@c:erred: <[[xp|wf-legal-character]]> { (2, 4)..(2, 7); }
8610        @@XMLTest:
8611          @@@QName: xp.element.content.ncr.legal.char.1.0.2.test
8612          @@@DEnt:
8613            @@@@test:value:
8614              <?xml version="1.0"?>
8615              <e>&#1;</e>
8616          @@@c:erred: <[[xp|wf-legal-character]]> { (2, 4)..(2, 7); }
8617        @@XMLTest:
8618          @@@QName: xp.element.content.ncr.legal.char.1.1.2.test
8619          @@@DEnt:
8620            @@@@test:value:
8621              <?xml version="1.1"?>
8622              <e>&#1;</e>
8623          @@@test:domTree:
8624            document {
8625              xml-version: '1.1';
8626              element {
8627                text-content: U+0001;
8628              }
8629            }
8630        @@XMLTest:
8631          @@@QName: xp.element.content.hcr.legal.char.1.0.1.test
8632          @@@DEnt:
8633            @@@@test:value:
8634              <?xml version="1.0"?>
8635              <e>&#x0;</e>
8636          @@@c:erred: <[[xp|wf-legal-character]]> { (2, 4)..(2, 8); }
8637        @@XMLTest:
8638          @@@QName: xp.element.content.hcr.legal.char.1.1.1.test
8639          @@@DEnt:
8640            @@@@test:value:
8641              <?xml version="1.1"?>
8642              <e>&#x0;</e>
8643          @@@c:erred: <[[xp|wf-legal-character]]> { (2, 4)..(2, 8); }
8644        @@XMLTest:
8645          @@@QName: xp.element.content.hcr.legal.char.1.0.2.test
8646          @@@DEnt:
8647            @@@@test:value:
8648              <?xml version="1.0"?>
8649              <e>&#x1;</e>
8650          @@@c:erred: <[[xp|wf-legal-character]]> { (2, 4)..(2, 8); }
8651        @@XMLTest:
8652          @@@QName: xp.element.content.hcr.legal.char.1.1.2.test
8653          @@@DEnt:
8654            @@@@test:value:
8655              <?xml version="1.1"?>
8656              <e>&#x1;</e>
8657          @@@test:domTree:
8658            document {
8659              xml-version: '1.1';
8660              element {
8661                text-content: U+0001;
8662              }
8663            }
8664    
8665      @@PerlDef:      @@PerlDef:
8666        my $impl = $Message::DOM::ImplementationRegistry->get_implementation ({        my $impl = $Message::DOM::ImplementationRegistry->get_implementation ({
8667          'Core' => '3.0',          'Core' => '3.0',
# Line 7732  WFErrDef: Line 9006  WFErrDef:
9006        The name of the attribute.        The name of the attribute.
9007    
9008  WFErrDef:  WFErrDef:
9009      @QName: xp|wf-no-external-entity-references
9010      @c:severity: c|SEVERITY_ERROR
9011      @enDesc:
9012        Attribute values <kwd:MUST-NOT> contain direct or indirect
9013        entity references to external entities.
9014      @enMufDef:
9015        External entity |%p (name => {<Q::xp|name>});| is referenced
9016        in an attribute value literal
9017      @ecore:hasParameter: xp|error-token
9018      @ecore:hasParameter:
9019        @@@: xp|name
9020        @@enDesc:
9021          The name of the entity.
9022    
9023    WFErrDef:
9024      @QName: xp|wf-no-lt-in-attribute-values
9025      @c:severity: c|SEVERITY_ERROR
9026      @enDesc:
9027        The replacement text of any entity referred to directly or indirectly
9028        in an attribute value literal <kwd:MUST-NOT> contain a
9029        <CHAR::LESS-THAN SIGN>.
9030      @enMufDef:
9031        Entity replacement text cannot contain a
9032        |LESS-THAN SIGN| since it is referenced from an attribute
9033        value literal
9034      @ecore:hasParameter: xp|error-token
9035    
9036    WFErrDef:
9037    @QName: xp|wf-legal-character    @QName: xp|wf-legal-character
9038    @DOMCore:severity: DOMCore|SEVERITY_ERROR    @DOMCore:severity: DOMCore|SEVERITY_ERROR
9039    @enDesc:    @enDesc:

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.18

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24