/* * File: PagesScanner.java * Generated from: Pages.dtd * Date: den 10 oktober 2002 21:19 * * @author h&m * @version generated by NetBeans XML module */ /** * This is a scanner of DOM tree. * * Example: *
 *     javax.xml.parsers.DocumentBuilderFactory builderFactory = javax.xml.parsers.DocumentBuilderFactory.newInstance();
 *     javax.xml.parsers.DocumentBuilder builder = builderFactory.newDocumentBuilder();
 *     org.w3c.dom.Document document = builder.parse (new org.xml.sax.InputSource (???));
 *     PagesScanner scanner = new PagesScanner (document);
 *     scanner.visitDocument();
 * 
* * @see org.w3c.dom.Document * @see org.w3c.dom.Element * @see org.w3c.dom.NamedNodeMap * */ public class PagesScanner { /** org.w3c.dom.Document document */ org.w3c.dom.Document document; PRCalculator prc; /** Create new PagesScanner with org.w3c.dom.Document. */ public PagesScanner(PRCalculator prc, org.w3c.dom.Document document) { this.prc = prc; this.document = document; } /** Scan through org.w3c.dom.Document document. */ public void visitDocument() { org.w3c.dom.Element element = document.getDocumentElement(); if ((element != null) && element.getTagName().equals("pagerank")) { visitElement_pagerank(element); } if ((element != null) && element.getTagName().equals("pages")) { visitElement_pages(element); } if ((element != null) && element.getTagName().equals("page")) { visitElement_page(element); } if ((element != null) && element.getTagName().equals("links")) { visitElement_links(element); } if ((element != null) && element.getTagName().equals("link")) { visitElement_link(element); } } /** Scan through org.w3c.dom.Element named pagerank. */ void visitElement_pagerank(org.w3c.dom.Element element) { // // element.getValue(); org.w3c.dom.NodeList nodes = element.getChildNodes(); for (int i = 0; i < nodes.getLength(); i++) { org.w3c.dom.Node node = nodes.item(i); switch (node.getNodeType()) { case org.w3c.dom.Node.CDATA_SECTION_NODE: // ((org.w3c.dom.CDATASection)node).getData(); break; case org.w3c.dom.Node.ELEMENT_NODE: org.w3c.dom.Element nodeElement = (org.w3c.dom.Element)node; if (nodeElement.getTagName().equals("pages")) { visitElement_pages(nodeElement); } if (nodeElement.getTagName().equals("links")) { visitElement_links(nodeElement); } break; case org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE: // ((org.w3c.dom.ProcessingInstruction)node).getTarget(); // ((org.w3c.dom.ProcessingInstruction)node).getData(); break; } } } /** Scan through org.w3c.dom.Element named pages. */ void visitElement_pages(org.w3c.dom.Element element) { // // element.getValue(); org.w3c.dom.NodeList nodes = element.getChildNodes(); for (int i = 0; i < nodes.getLength(); i++) { org.w3c.dom.Node node = nodes.item(i); switch (node.getNodeType()) { case org.w3c.dom.Node.CDATA_SECTION_NODE: // ((org.w3c.dom.CDATASection)node).getData(); break; case org.w3c.dom.Node.ELEMENT_NODE: org.w3c.dom.Element nodeElement = (org.w3c.dom.Element)node; if (nodeElement.getTagName().equals("page")) { visitElement_page(nodeElement); } break; case org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE: // ((org.w3c.dom.ProcessingInstruction)node).getTarget(); // ((org.w3c.dom.ProcessingInstruction)node).getData(); break; } } } /** Scan through org.w3c.dom.Element named page. */ void visitElement_page(org.w3c.dom.Element element) { // // element.getValue(); org.w3c.dom.NamedNodeMap attrs = element.getAttributes(); for (int i = 0; i < attrs.getLength(); i++) { org.w3c.dom.Attr attr = (org.w3c.dom.Attr)attrs.item(i); if (attr.getName().equals("name")) { // prc.addPage(attr.getValue()); } } org.w3c.dom.NodeList nodes = element.getChildNodes(); for (int i = 0; i < nodes.getLength(); i++) { org.w3c.dom.Node node = nodes.item(i); switch (node.getNodeType()) { case org.w3c.dom.Node.CDATA_SECTION_NODE: // ((org.w3c.dom.CDATASection)node).getData(); break; case org.w3c.dom.Node.ELEMENT_NODE: org.w3c.dom.Element nodeElement = (org.w3c.dom.Element)node; break; case org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE: // ((org.w3c.dom.ProcessingInstruction)node).getTarget(); // ((org.w3c.dom.ProcessingInstruction)node).getData(); break; } } } /** Scan through org.w3c.dom.Element named links. */ void visitElement_links(org.w3c.dom.Element element) { // // element.getValue(); org.w3c.dom.NodeList nodes = element.getChildNodes(); for (int i = 0; i < nodes.getLength(); i++) { org.w3c.dom.Node node = nodes.item(i); switch (node.getNodeType()) { case org.w3c.dom.Node.CDATA_SECTION_NODE: // ((org.w3c.dom.CDATASection)node).getData(); break; case org.w3c.dom.Node.ELEMENT_NODE: org.w3c.dom.Element nodeElement = (org.w3c.dom.Element)node; if (nodeElement.getTagName().equals("link")) { visitElement_link(nodeElement); } break; case org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE: // ((org.w3c.dom.ProcessingInstruction)node).getTarget(); // ((org.w3c.dom.ProcessingInstruction)node).getData(); break; } } } /** Scan through org.w3c.dom.Element named link. */ void visitElement_link(org.w3c.dom.Element element) { // // element.getValue(); org.w3c.dom.NamedNodeMap attrs = element.getAttributes(); org.w3c.dom.Attr from = (org.w3c.dom.Attr)attrs.item(0); org.w3c.dom.Attr to = (org.w3c.dom.Attr)attrs.item(1); prc.addIncomingPage(from.getValue(), to.getValue()); } }