@Override public void startElement( final String namespaceURI, final String localName, final String qName, final Attributes attrs) { if ("testsuite".equals(qName)) { final TestSuite node = new TestSuite(); node.setName(attrs.getValue("name")); final TestSuite parentNode = getParentTestSuite(); if (parentNode != null) { parentNode.addTestNode(node); node.setParent(parentNode); } if (rootNode == null) { rootNode = node; } queue.add(node); } else if ("testcase".equals(qName)) { final TestCase node = new TestCase(); node.setName(attrs.getValue("name")); node.setInternalId(Integer.parseInt(attrs.getValue("internalid"))); final TestSuite parentNode = getParentTestSuite(); if (parentNode != null) { parentNode.addTestNode(node); node.setParent(parentNode); } queue.add(node); } else if ("step".equals(qName)) { final TestStep node = new TestStep(); final TestCase parentNode = getParentTestCase(); if (parentNode != null) { parentNode.addTestStep(node); node.setParent(parentNode); } queue.add(node); } else if ("keyword".equals(qName)) { final TestNode testNode = getCurrentTestNode(); if (testNode != null) { final String name = attrs.getValue("name"); if (StringUtil.isNotBlank(name)) { testNode.addKeyword(name); } } queue.add(EMPTY_OBJ); } else if ("node_order".equals(qName) // || "details".equals(qName) // || "externalid".equals(qName) // || "version".equals(qName) // || "summary".equals(qName) // || "preconditions".equals(qName) // || "execution_type".equals(qName) // || "importance".equals(qName) // || "step_number".equals(qName) // || "actions".equals(qName) // || "expectedresults".equals(qName) // || "execution_type".equals(qName) // ) { queue.add(new StringBuilder(100)); } else { queue.add(EMPTY_OBJ); } // TODO notes }