/[suikacvs]/messaging/manakai/lib/Message/DOM/DocumentFragment.pm
Suika

Contents of /messaging/manakai/lib/Message/DOM/DocumentFragment.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Thu Jun 14 13:10:07 2007 UTC (17 years, 5 months ago) by wakaba
Branch: MAIN
++ manakai/t/ChangeLog	14 Jun 2007 13:09:37 -0000
2007-06-14  Wakaba  <wakaba@suika.fam.cx>

	* DOM-DOMImplementation.t: Tests for |create_document|
	and |create_document_type| are added.

++ manakai/lib/Message/DOM/ChangeLog	14 Jun 2007 13:09:13 -0000
2007-06-14  Wakaba  <wakaba@suika.fam.cx>

	* Notation.pm, Entity.pm, EntityReference.pm, ProcessingInstruction.pm,
	CDATASection.pm, DocumentFragment.pm, ElementTypeDefinition.pm,
	AttributeDefinition.pm: New modules.

	* DOMDocument.pm (@ISA): 'Message::IF::DocumentXDoctype' added.
	(create_attribute_definition, create_element_type_definition,
	create_document_type_definition, create_cdata_section,
	create_processing_instruction, create_entity_reference,
	create_general_entity, create_notation): Prototypes added.

	* DOMImplementation.pm (create_document_type): Prototype added.

	* DocumentType.pm (@ISA), 'Message::IF::DocumentTypeDefinition'
	and 'Message::IF::DocumentTypeDeclaration' added.
	(create_document_type, create_document_type_definition):
	New methods.

1 wakaba 1.1 package Message::DOM::DocumentFragment;
2     use strict;
3     our $VERSION=do{my @r=(q$Revision: 1.1 $=~/\d+/g);sprintf "%d."."%02d" x $#r,@r};
4     push our @ISA, 'Message::DOM::Node', 'Message::IF::DocumentFragment';
5     require Message::DOM::Node;
6    
7     ## Spec:
8     ## <http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#ID-B63ED1A3>
9    
10     sub ____new ($$) {
11     my $self = shift->SUPER::____new (shift);
12     return $self;
13     } # ____new
14    
15     sub AUTOLOAD {
16     my $method_name = our $AUTOLOAD;
17     $method_name =~ s/.*:://;
18     return if $method_name eq 'DESTROY';
19    
20     if ({
21     ## Read-only attributes (trivial accessors)
22     }->{$method_name}) {
23     no strict 'refs';
24     eval qq{
25     sub $method_name (\$) {
26     if (\@_ > 1) {
27     require Carp;
28     Carp::croak (qq<Can't modify read-only attribute>);
29     }
30     return \${\$_[0]}->{$method_name};
31     }
32     };
33     goto &{ $AUTOLOAD };
34     } elsif ({
35     ## Read-write attributes (DOMString, trivial accessors)
36     }->{$method_name}) {
37     no strict 'refs';
38     eval qq{
39     sub $method_name (\$) {
40     if (\@_ > 1) {
41     \${\$_[0]}->{$method_name} = ''.$_[1];
42     }
43     return \${\$_[0]}->{$method_name};
44     }
45     };
46     goto &{ $AUTOLOAD };
47     } else {
48     require Carp;
49     Carp::croak (qq<Can't locate method "$AUTOLOAD">);
50     }
51     } # AUTOLOAD
52    
53     ## The |Node| interface - attribute
54    
55     sub node_type { 11 } # DOCUMENT_FRAGMENT_NODE
56    
57     package Message::IF::DocumentFragment;
58    
59     package Message::DOM::Document;
60    
61     ## Spec:
62     ## <http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#ID-35CB04B5>
63    
64     sub create_document_fragment ($$) {
65     return Message::DOM::DocumentFragment->____new ($_[0]);
66     } # create_document_fragment
67    
68     1;
69     ## License: <http://suika.fam.cx/~wakaba/archive/2004/8/18/license#Perl+MPL>
70     ## $Date: 2007/06/13 12:05:35 $

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24