//
//  XPATHParser.java
//  XMLPerfTest
//
//  Created by Xose Manoel Ramos on 16/12/05.
//  Copyright 2005 __MyCompanyName__. All rights reserved.
//

import org.w3c.dom.*;
import javax.xml.parsers.*;    
import java.io.*;
import org.xml.sax.*;
import org.apache.xpath.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.*;
import javax.xml.transform.stream.*;

public class XPATHParser {

   private Document sourceDocument = null;

   public void loadDocument(String document)
   {
		// XML objects 
		 DocumentBuilder docBuilder;

		 NodeList nodeList;
		 DOMImplementation dom;
		 
		 
		 //Create Document Builder  
		 try {
			 docBuilder = DocumentBuilderFactory
								.newInstance()
								.newDocumentBuilder();
			dom = docBuilder.getDOMImplementation();
			}
			catch (Exception e)
			{
				e.printStackTrace();
				return;
			}


			try {
			 // Document for the new file
			 sourceDocument = docBuilder.parse(document);
			}
			catch (Exception e)
			{
					e.printStackTrace();
					return;
			}
		}
		
	public void getLinks()
	{
		if (sourceDocument == null)
		{
			return;
		}
		
		Node rootNode = sourceDocument.getDocumentElement();
		
		try
		{
		NodeList links;
		links = XPathAPI.selectNodeList(rootNode,"//link");
		//System.out.println("Number of Links in document: " + links.getLength());
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
	}
	
	
	public void getSpanishLinks()
	{
		if (sourceDocument == null)
		{
			return;
		}
		
		Node rootNode = sourceDocument.getDocumentElement();
		try
		{
		NodeList links;
		links = XPathAPI.selectNodeList(rootNode,"//weblog[@lang='es']//link");
		//System.out.println("Number of Links in document: " + links.getLength());
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
	}


										
}
