@@ -13,6 +13,9 @@ def __init__(self, name):
13
13
def __unicode__ (self ):
14
14
return self .name
15
15
16
+ def toxml (self ):
17
+ raise NotImplementedError
18
+
16
19
def __repr__ (self ):
17
20
return "<%s %s>" % (self .__class__ , self .name )
18
21
@@ -71,27 +74,26 @@ def __init__(self):
71
74
def __unicode__ (self ):
72
75
return "#document"
73
76
74
- def printTree (self ):
75
- tree = unicode (self )
76
- for child in self .childNodes :
77
- tree += child .printTree (2 )
78
- return tree
79
-
80
77
def toxml (self , encoding = "utf=8" ):
81
78
result = ''
82
79
for child in self .childNodes :
83
80
result += child .toxml ()
84
81
return result .encode (encoding )
85
82
83
+ def printTree (self ):
84
+ tree = unicode (self )
85
+ for child in self .childNodes :
86
+ tree += child .printTree (2 )
87
+ return tree
88
+
86
89
class DocumentType (Node ):
87
90
def __init__ (self , name ):
88
91
Node .__init__ (self , name )
89
92
90
93
def __unicode__ (self ):
91
94
return "<!DOCTYPE %s>" % self .name
92
95
93
- def toxml (self ):
94
- return "" ;
96
+ toxml = __unicode__
95
97
96
98
class TextNode (Node ):
97
99
def __init__ (self , value ):
@@ -112,16 +114,6 @@ def __init__(self, name):
112
114
def __unicode__ (self ):
113
115
return "<%s>" % self .name
114
116
115
- def printTree (self , indent ):
116
- tree = '\n |%s%s' % (' ' * indent , unicode (self ))
117
- indent += 2
118
- if self .attributes :
119
- for name , value in self .attributes .iteritems ():
120
- tree += '\n |%s%s="%s"' % (' ' * indent , name , value )
121
- for child in self .childNodes :
122
- tree += child .printTree (indent )
123
- return tree
124
-
125
117
def toxml (self ):
126
118
result = '<' + self .name
127
119
if self .attributes :
@@ -136,15 +128,25 @@ def toxml(self):
136
128
result += '/>'
137
129
return result
138
130
131
+ def printTree (self , indent ):
132
+ tree = '\n |%s%s' % (' ' * indent , unicode (self ))
133
+ indent += 2
134
+ if self .attributes :
135
+ for name , value in self .attributes .iteritems ():
136
+ tree += '\n |%s%s="%s"' % (' ' * indent , name , value )
137
+ for child in self .childNodes :
138
+ tree += child .printTree (indent )
139
+ return tree
140
+
139
141
class CommentNode (Node ):
140
142
def __init__ (self , data ):
141
143
Node .__init__ (self , None )
142
144
self .data = data
143
145
144
146
def __unicode__ (self ):
145
147
return "<!-- %s -->" % self .data
146
-
147
- toxml = __unicode__
148
+
149
+ toxml = __unicode__
148
150
149
151
class TreeBuilder (_base .TreeBuilder ):
150
152
documentClass = Document
0 commit comments