Rudiments

domnode.h
1 // Copyright (c) 1999-2018 David Muse
2 // See the COPYING file for more information.
3
4 protected:
5 virtual bool insertNode(domnode *node,
6 uint64_t position,
7 domnodetype type,
8 domnode **first,
9 domnode **last,
10 uint64_t *count);
11 virtual bool deleteNode(domnode *node,
12 uint64_t position,
13 const char *name,
14 domnode **first,
15 domnode **last,
16 uint64_t *count);
17 virtual domnode *unlinkNode(domnode *node,
18 uint64_t position,
19 const char *name,
20 domnode **first,
21 domnode **last,
22 uint64_t *count);
23
24 friend class codetree;
25 friend class codetreegrammar;
26 friend class domevents;
27 private:
28 void init(dom *dom, domnode *nullnode);
29 domnode *getNode(domnode *first,
30 uint64_t position,
31 const char *ns,
32 const char *name,
33 bool ignorecase,
34 uint64_t count) const;
35 domnode *getAttribute(
36 const char *name,
37 bool ignorecase) const;
38 domnode *getFirstChild(
39 const char *ns,
40 const char *name,
41 bool ignorecase) const;
42 domnode *getFirstChild(
43 const char *ns,
44 const char *name,
45 const char *attributename,
46 const char *attributevalue,
47 bool ignorecase) const;
48 domnode *getFirstTagChild(
49 const char *ns,
50 const char *name,
51 bool ignorecase) const;
52 domnode *getFirstTagChild(
53 const char *ns,
54 const char *name,
55 const char *attributename,
56 const char *attributevalue,
57 bool ignorecase) const;
58 domnode *getPreviousTagSibling(
59 const char *ns,
60 const char *name,
61 bool ignorecase) const;
62 domnode *getPreviousTagSibling(
63 const char *ns,
64 const char *name,
65 const char *attributename,
66 const char *attributevalue,
67 bool ignorecase) const;
68 domnode *getNextTagSibling(
69 const char *ns,
70 const char *name,
71 bool ignorecase) const;
72 domnode *getNextTagSibling(
73 const char *ns,
74 const char *name,
75 const char *attributename,
76 const char *attributevalue,
77 bool ignorecase) const;
78 domnode *getFirstTagDescendent(
79 const char *ns,
80 const char *name,
81 bool ignorecase) const;
82 domnode *getFirstTagDescendent(
83 const char *ns,
84 const char *name,
85 const char *attributename,
86 const char *attributevalue,
87 bool ignorecase) const;
88 bool deleteFirstChild(
89 const char *ns,
90 const char *name,
91 bool ignorecase);
92 bool deleteChildren(
93 const char *ns,
94 const char *name,
95 bool ignorecase);
96 bool deleteChildren(
97 const char *ns,
98 const char *name,
99 const char *attributename,
100 const char *attributevalue,
101 bool ignorecase);
102 bool deleteDescendents(
103 const char *ns,
104 const char *name,
105 bool ignorecase);
106 bool deleteDescendents(
107 const char *ns,
108 const char *name,
109 const char *attributename,
110 const char *attributevalue,
111 bool ignorecase);
112 bool unwrapFirstChild(
113 const char *ns,
114 const char *name,
115 bool ignorecase);
116 bool unwrapChildren(
117 const char *ns,
118 const char *name,
119 bool ignorecase);
120 bool unwrapDescendents(
121 const char *ns,
122 const char *name,
123 bool ignorecase);
124 bool renameFirstChild(
125 const char *oldns,
126 const char *oldname,
127 const char *newns,
128 const char *newname,
129 bool ignorecase);
130 bool renameChildren(
131 const char *oldns,
132 const char *oldname,
133 const char *newns,
134 const char *newname,
135 bool ignorecase);
136 bool renameDescendents(
137 const char *oldns,
138 const char *oldname,
139 const char *newns,
140 const char *newname,
141 bool ignorecase);
142 void write(output *out,
143 bool indent,
144 uint16_t *indentlevel) const;
145 void safeWrite(output *out, const char *str) const;
146 bool match(domnode *node,
147 const char *ns,
148 const char *name,
149 bool ignorecase) const;
150 bool match(domnode *node,
151 const char *ns,
152 const char * const *set) const;
153
154 void setPrivateData(void *privatedata);
155 void *getPrivateData();
156
157 domnode(const domnode &x);
158 domnode &operator=(const domnode &x);
159
160 domnodeprivate *pvt;
codetree
Definition: codetree.h:336
codetreegrammar
Definition: codetree.h:388
dom
Definition: dom.h:10
domevents
Definition: domevents.h:14
domnode
Definition: domnode.h:122
output
Definition: output.h:9