Rudiments
domnode.h
1 // Copyright (c) 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;
Definition: dom.h:10
Definition: domevents.h:14
Definition: codetree.h:388
Definition: codetree.h:336
Definition: domnode.h:122
Definition: output.h:9