Exemplo n.º 1
0
DOMElement *NclImportParser::parseImportedDocumentBase( DOMElement *parentElement ) {
	DOMNodeList *elementNodeList;
	DOMElement *element;
	DOMNode *node;
	string elementTagName;

	//pre-compile attributes

	if (parentElement == NULL) {
		return NULL;
	}

	elementNodeList = parentElement->getChildNodes();
	for (int i = 0; i < (int) elementNodeList->getLength(); i++) {
		node = elementNodeList->item( i );
		if (node->getNodeType() == DOMNode::ELEMENT_NODE) {
			element = (DOMElement*) node;
			elementTagName = getXmlHandler()->getStr( element->getTagName() );
			if (elementTagName.compare( "importNCL" ) == 0) {
			  	if (!addImportNCLToImportedDocumentBase(element)){
					return NULL;
				}
			}
		}
	}

	return parentElement;
}
Exemplo n.º 2
0
	void *NclImportParser::parseImportedDocumentBase(
		    DOMElement *parentElement, void *objGrandParent) {

		void *parentObject;
		DOMNodeList *elementNodeList;
		DOMElement *element;
		DOMNode *node;
		string elementTagName;
		void *elementObject;

		//pre-compile attributes
		parentObject = createImportedDocumentBase(
			    parentElement, objGrandParent);

		if (parentObject == NULL) {
			return NULL;
		}

		elementNodeList = parentElement->getChildNodes();
		for (int i = 0; i < (int)elementNodeList->getLength(); i++) {
			node = elementNodeList->item(i);
			if(node->getNodeType()==DOMNode::ELEMENT_NODE){
				element = (DOMElement*)node;
				elementTagName = XMLString::transcode( element->getTagName() );
				if (XMLString::compareIString(
					     elementTagName.c_str(), "importNCL") == 0) {

					elementObject = parseImportNCL(element, parentObject);
					if (elementObject != NULL) {
						addImportNCLToImportedDocumentBase(
							    parentObject, elementObject);
					}
				}
			}
		}

		return parentObject;
	}