Home | History | Annotate | Download | only in xml

Lines Matching defs:node

16 bool SkXMLParser::parse(const SkDOM& dom, const SkDOMNode* node)
18 const char* elemName = dom.getName(node);
23 SkDOM::AttrIter iter(dom, node);
30 if ((node = dom.getFirstChild(node)) != NULL)
32 if (!this->parse(dom, node))
34 } while ((node = dom.getNextSibling(node)) != NULL);
76 const SkDOM::Node* SkDOM::getRootNode() const
81 const SkDOM::Node* SkDOM::getFirstChild(const Node* node, const char name[]) const
83 SkASSERT(node);
84 const Node* child = node->fFirstChild;
95 const SkDOM::Node* SkDOM::getNextSibling(const Node* node, const char name[]) const
97 SkASSERT(node);
98 const Node* sibling = node->fNextSibling;
108 SkDOM::Type SkDOM::getType(const Node* node) const
110 SkASSERT(node);
111 return (Type)node->fType;
114 const char* SkDOM::getName(const Node* node) const
116 SkASSERT(node);
117 return node->fName;
120 const char* SkDOM::findAttr(const Node* node, const char name[]) const
122 SkASSERT(node);
123 const Attr* attr = node->attrs();
124 const Attr* stop = attr + node->fAttrCount;
137 const SkDOM::Attr* SkDOM::getFirstAttr(const Node* node) const
139 return node->fAttrCount ? node->attrs() : NULL;
142 const SkDOM::Attr* SkDOM::getNextAttr(const Node* node, const Attr* attr) const
144 SkASSERT(node);
147 return (attr - node->attrs() + 1) < node->fAttrCount ? attr + 1 : NULL;
150 const char* SkDOM::getAttrName(const Node* node, const Attr* attr) const
152 SkASSERT(node);
157 const char* SkDOM::getAttrValue(const Node* node, const Attr* attr) const
159 SkASSERT(node);
166 SkDOM::AttrIter::AttrIter(const SkDOM&, const SkDOM::Node* node)
168 SkASSERT(node);
169 fAttr = node->attrs();
170 fStop = fAttr + node->fAttrCount;
210 SkDOM::Node* getRoot() const { return fRoot; }
217 SkDOM::Node* node = (SkDOM::Node*)fAlloc->alloc(sizeof(SkDOM::Node) + attrCount * sizeof(SkDOM::Attr),
220 node->fName = fElemName;
221 node->fFirstChild = NULL;
222 node->fAttrCount = SkToU16(attrCount);
223 node->fType = SkDOM::kElement_Type;
227 node->fNextSibling = NULL;
228 fRoot = node;
232 SkDOM::Node* parent = fParentStack.top();
234 node->fNextSibling = parent->fFirstChild;
235 parent->fFirstChild = node;
237 *fParentStack.push() = node;
239 memcpy(node->attrs(), fAttrs.begin(), attrCount * sizeof(SkDOM::Attr));
266 SkDOM::Node* parent;
270 SkDOM::Node* child = parent->fFirstChild;
271 SkDOM::Node* prev = NULL;
274 SkDOM::Node* next = child->fNextSibling;
283 SkTDArray<SkDOM::Node*> fParentStack;
285 SkDOM::Node* fRoot;
293 const SkDOM::Node* SkDOM::build(const char doc[], size_t len)
310 static void walk_dom(const SkDOM& dom, const SkDOM::Node* node, SkXMLParser* parser)
312 const char* elem = dom.getName(node);
316 SkDOM::AttrIter iter(dom, node);
322 node = dom.getFirstChild(node, NULL);
323 while (node)
325 walk_dom(dom, node, parser);
326 node = dom.getNextSibling(node, NULL);
332 const SkDOM::Node* SkDOM::copy(const SkDOM& dom, const SkDOM::Node* node)
337 walk_dom(dom, node, &parser);
345 int SkDOM::countChildren(const Node* node, const char elem[]) const
349 node = this->getFirstChild(node, elem);
350 while (node)
353 node = this->getNextSibling(node, elem);
362 bool SkDOM::findS32(const Node* node, const char name[], int32_t* value) const
364 const char* vstr = this->findAttr(node, name);
368 bool SkDOM::findScalars(const Node* node, const char name[], SkScalar value[], int count) const
370 const char* vstr = this->findAttr(node, name);
374 bool SkDOM::findHex(const Node* node, const char name[], uint32_t* value) const
376 const char* vstr = this->findAttr(node, name);
380 bool SkDOM::findBool(const Node* node, const char name[], bool* value) const
382 const char* vstr = this->findAttr(node, name);
386 int SkDOM::findList(const Node* node, const char name[], const char list[]) const
388 const char* vstr = this->findAttr(node, name);
392 bool SkDOM::hasAttr(const Node* node, const char name[], const char value[]) const
394 const char* vstr = this->findAttr(node, name);
398 bool SkDOM::hasS32(const Node* node, const char name[], int32_t target) const
400 const char* vstr = this->findAttr(node, name);
405 bool SkDOM::hasScalar(const Node* node, const char name[], SkScalar target) const
407 const char* vstr = this->findAttr(node, name);
412 bool SkDOM::hasHex(const Node* node, const char name[], uint32_t target) const
414 const char* vstr = this->findAttr(node, name);
419 bool SkDOM::hasBool(const Node* node, const char name[], bool target) const
421 const char* vstr = this->findAttr(node, name);
436 void SkDOM::dump(const Node* node, int level) const
438 if (node == NULL)
439 node = this->getRootNode();
440 if (node)
443 SkDebugf("<%s", this->getName(node));
445 const Attr* attr = node->attrs();
446 const Attr* stop = attr + node->fAttrCount;
450 const Node* child = this->getFirstChild(node);
460 SkDebugf("</%s>\n", node->fName);
486 const Node* root = dom.build(gDoc, sizeof(gDoc) - 1);