9 class HtmlPrivate : public HtmlNode
11 friend class HtmlDocument;
12 typedef HtmlPrivate self_type;
19 string_type tname() const;
20 int tcategory() const;
23 string_type name() const;
24 string_type value() const;
25 void set_value(string_type const &value_);
28 attribute_iterator abegin();
29 attribute_iterator aend();
30 const_attribute_iterator abegin() const;
31 const_attribute_iterator aend() const;
33 bool has_attribute(string_type const &name_) const;
34 string_type attribute(string_type const &name_) const;
35 HtmlNode& set_attribute(string_type const &name_, string_type const &value_);
36 HtmlNode& set_attribute(string_type const &name_, int value_);
39 string_type to_string() const;
40 string_type debug_dump() const;
50 weak_pointer set_lparent(weak_pointer const &parent_);
51 virtual weak_pointer set_lbegin(weak_pointer const &begin_);
52 virtual weak_pointer set_ltail(weak_pointer const &tail_);
54 virtual const_pointer lself() const;
55 const_pointer lparent() const;
56 virtual const_pointer lbegin() const;
57 virtual const_pointer ltail() const;
58 const_pointer lend() const;
62 weak_pointer set_lprevious(weak_pointer const &previous_);
63 pointer set_lnext(pointer const &next_);
64 const_pointer lprevious() const;
65 const_pointer lnext() const;
67 pointer lappend(pointer node);
68 pointer linsert_after(pointer begin_, pointer tail_);
69 pointer linsert(pointer begin_, pointer tail_);
70 pointer lremove(pointer begin_, pointer tail_);
75 const_pointer lcbegin() const;
76 const_pointer lcend() const;
78 virtual pointer lclone(weak_pointer const &parent_);
81 HtmlPrivate(weak_pointer const &parent_);
85 weak_pointer m_parent; /*!< 親のデータ開始位置参照 */
86 weak_pointer m_previous; /*!< 前のデータ参照 */
89 class HtmlElementOpenPrivate : public HtmlPrivate
91 friend class HtmlHandler;
92 typedef HtmlElementOpenPrivate self_type;
98 string_type debug_dump() const;
102 weak_pointer set_ltail(weak_pointer const &tail_);
105 HtmlElementOpenPrivate(weak_pointer const &parent_);
108 weak_pointer m_tail; /*!< 閉じタグへの参照 */
112 * \brief 終了タグを表すクラスです。
114 class HtmlElementClosePrivate : public HtmlPrivate
116 friend class HtmlHandler;
117 friend class HtmlElement;
118 friend class HtmlElementClose;
119 typedef HtmlElementClosePrivate self_type;
125 string_type name() const;
127 int tcategory() const;
129 string_type to_string() const;
130 string_type debug_dump() const;
134 weak_pointer set_lbegin(weak_pointer const &begin_);
137 HtmlElementClosePrivate(weak_pointer const &parent_);
140 weak_pointer m_begin; /*!< 開きタグへの参照 */
144 * \brief テキストを表現するクラスです。
146 class HtmlTextPrivate : public HtmlPrivate
148 friend class HtmlText;
149 typedef HtmlTextPrivate self_type;
153 string_type name() const;
154 string_type value() const;
155 void set_value(string_type const &value_);
159 string_type to_string() const;
160 string_type debug_dump() const;
164 HtmlTextPrivate(weak_pointer const &parent_);
171 class HtmlCDATASectionPrivate : public HtmlPrivate
173 friend class HtmlHandler;
174 typedef HtmlCDATASectionPrivate self_type;
178 string_type name() const;
180 void set_value(string_type const &value_);
183 HtmlCDATASectionPrivate(weak_pointer const &parent_);
189 class HtmlEntityReferencePrivate : public HtmlPrivate
191 friend class HtmlHandler;
192 typedef HtmlEntityReferencePrivate self_type;
196 string_type name() const;
198 void set_value(string_type const &value_);
201 HtmlEntityReferencePrivate(weak_pointer const &parent_);
207 class HtmlEntityPrivate : public HtmlPrivate
209 friend class HtmlHandler;
210 typedef HtmlEntityPrivate self_type;
214 string_type name() const;
217 HtmlEntityPrivate(weak_pointer const &parent_);
223 class HtmlProcessingInstructionPrivate : public HtmlPrivate
225 friend class HtmlHandler;
226 typedef HtmlProcessingInstructionPrivate self_type;
230 string_type name() const;
233 HtmlProcessingInstructionPrivate(weak_pointer const &parent_);
239 class HtmlCommentPrivate : public HtmlPrivate
241 friend class HtmlComment;
242 typedef HtmlCommentPrivate self_type;
246 string_type name() const;
248 void set_value(string_type const &value_);
250 string_type to_string() const;
251 string_type debug_dump() const;
254 HtmlCommentPrivate(weak_pointer const &parent_);
260 class HtmlDocumentOpenPrivate : public HtmlPrivate
262 friend class HtmlHandler;
263 typedef HtmlDocumentOpenPrivate self_type;
266 document_type* document();
267 document_type const* document() const;
272 string_type name() const;
277 weak_pointer set_ltail(weak_pointer const &tail_);
280 HtmlDocumentOpenPrivate(document_type *document_);
283 document_type *m_document;
284 weak_pointer m_tail; /*!< 閉じタグへの参照 */
287 class HtmlDocumentClosePrivate : public HtmlPrivate
289 friend class HtmlHandler;
290 typedef HtmlDocumentClosePrivate self_type;
296 string_type name() const;
300 weak_pointer set_lbegin(weak_pointer const &begin_);
303 HtmlDocumentClosePrivate();
306 weak_pointer m_begin; /*!< 開きタグへの参照 */
309 class HtmlDocumentTypePrivate : public HtmlPrivate
311 friend class HtmlHandler;
312 typedef HtmlDocumentTypePrivate self_type;
316 string_type name() const;
319 HtmlDocumentTypePrivate(weak_pointer const &parent_);
325 class HtmlDocumentFragmentPrivate : public HtmlPrivate
327 friend class HtmlHandler;
328 typedef HtmlDocumentFragmentPrivate self_type;
332 string_type name() const;
335 HtmlDocumentFragmentPrivate(weak_pointer const &parent_);
341 class HtmlNotationPrivate : public HtmlPrivate
343 friend class HtmlHandler;
344 typedef HtmlNotationPrivate self_type;
348 string_type name() const;
351 HtmlNotationPrivate(weak_pointer const &parent_);
358 #endif // HTMLPRIVATE_H