code: void processXmlPage() throws XMLStreamException, MwDumpFormatException {
  
  		this.mwRevision.resetCurrentPageData();
  
  		this.xmlReader.next(); // skip current start tag
  		while (this.xmlReader.hasNext()) {
  			switch (this.xmlReader.getEventType()) {
  
  			case XMLStreamConstants.START_ELEMENT:
  				switch (this.xmlReader.getLocalName()) {
  				case MwRevisionDumpFileProcessor.E_PAGE_TITLE:
  					this.mwRevision.prefixedTitle = this.xmlReader.getElementText();
  					break;
  				case MwRevisionDumpFileProcessor.E_PAGE_NAMESPACE:
  					this.mwRevision.namespace = Integer.parseInt(this.xmlReader.getElementText());
  					break;
  				case MwRevisionDumpFileProcessor.E_PAGE_ID:
  					this.mwRevision.pageId = Integer.parseInt(this.xmlReader.getElementText());
  					break;
  				case MwRevisionDumpFileProcessor.E_PAGE_REVISION:
  					processXmlRevision();
  					break;
  				case MwRevisionDumpFileProcessor.E_PAGE_REDIRECT:
  					break;
  				default:
  					throw new MwDumpFormatException("Unexpected element \""
  							+ this.xmlReader.getLocalName() + "\" in page.");
  				}
  				break;
  
  			case XMLStreamConstants.END_ELEMENT:
  				if (MwRevisionDumpFileProcessor.E_PAGE.equals(xmlReader
  						.getLocalName())) {
  					return;
  				}
  				break;
  			}
  
  			this.xmlReader.next();
  		}
  	}
docs: Processes current XML starting from a &lt;page&gt; start tag up to the
  corresponding end tag. This method uses the current state of
  {@link #xmlReader} and stores its results in according member fields.
  When the method has finished, {@link #xmlReader} will be at the next
  element after the closing tag of this block.
  
  @throws XMLStreamException
  if there was a problem reading the XML or if the XML is
  malformed
  @throws MwDumpFormatException
  if the contents of the XML file did not match our
  expectations of a MediaWiki XML dump