/* */ }
/* */
/* */ protected Document parseDocument()
/* */ throws DocumentException, IOException, XmlPullParserException
/* */ {
/* 362 */ DocumentFactory df = getDocumentFactory();
/* 363 */ Document document = df.createDocument();
/* 364 */ Element parent = null;
/* 365 */ XmlPullParser pp = getXPPParser();
/* 366 */ pp.setFeature("http://xmlpull.org/v1/doc/features.html#process-namespaces", true);
/* */ while (true)
/* */ {
/* 369 */ int type = pp.nextToken();
/* */
/* 371 */ switch (type) {
/* */ case 8:
/* 373 */ String text = pp.getText();
/* 374 */ int loc = text.indexOf(" ");
/* */
/* 376 */ if (loc >= 0) {
/* 377 */ String target = text.substring(0, loc);
/* 378 */ String txt = text.substring(loc + 1);
/* 379 */ document.addProcessingInstruction(target, txt);
/* */ } else {
/* 381 */ document.addProcessingInstruction(text, "");
/* */ }
/* */
/* 384 */ break;
/* */ case 9:
/* 388 */ if (parent != null)
/* 389 */ parent.addComment(pp.getText());
/* */ else {
/* 391 */ document.addComment(pp.getText());
/* */ }
/* */
/* 394 */ break;
/* */ case 5:
/* 398 */ if (parent != null) {
/* 399 */ parent.addCDATA(pp.getText());
/* */ } else {
/* 401 */ String msg = "Cannot have text content outside of the root document";
/* */
/* 403 */ throw new DocumentException(msg);
/* */ }
/* */
/* */ case 6:
/* 410 */ break;
/* */ case 1:
/* 413 */ return document;
/* */ case 2:
/* 416 */ QName qname = pp.getPrefix() == null ? df.createQName(pp.getName(), pp.getNamespace()) : df.createQName(pp.getName(), pp.getPrefix(), pp.getNamespace());
/* */
/* 419 */ Element newElement = df.createElement(qname);
/* 420 */ int nsStart = pp.getNamespaceCount(pp.getDepth() - 1);
/* 421 */ int nsEnd = pp.getNamespaceCount(pp.getDepth());
/* */
/* 423 */ for (int i = nsStart; i < nsEnd; i++) {
/* 424 */ if (pp.getNamespacePrefix(i) != null) {
/* 425 */ newElement.addNamespace(pp.getNamespacePrefix(i), pp.getNamespaceUri(i));
/* */ }
/* */
/* */ }
/* */
/* 430 */ for (int i = 0; i < pp.getAttributeCount(); i++) {
/* 431 */ QName qa = pp.getAttributePrefix(i) == null ? df.createQName(pp.getAttributeName(i)) : df.createQName(pp.getAttributeName(i), pp.getAttributePrefix(i), pp.getAttributeNamespace(i));
/* */
/* 436 */ newElement.addAttribute(qa, pp.getAttributeValue(i));
/* */ }
/* */
/* 439 */ if (parent != null)