All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.code.facebookapi.FacebookNamespaceContext Maven / Gradle / Ivy

package com.google.code.facebookapi;

import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import javax.xml.namespace.NamespaceContext;

/**
 * This NamespaceContext provides the namespaces used by Facebook.
 * 
 * Use xpath.setNamespaceContext(new FacebookNamespaceContext()) on your javax.xml.xpath.XPath object so that you can evaluate XPath expressions using prefixes like:
 * 
 * xpath.evaluate("fbapi:fql_query_response", document);
 */
public class FacebookNamespaceContext implements NamespaceContext {

	private static Map prefixToNamespace = new HashMap();
	private static Map namespaceToPrefix = new HashMap();

	static {
		add( "fb", "http://apps.facebook.com/ns/1.0" );
		add( "fbapi", "http://api.facebook.com/1.0/" );
	}

	private static void add( String prefix, String namespace ) {
		prefixToNamespace.put( prefix, namespace );
		namespaceToPrefix.put( namespace, prefix );
	}

	public String getNamespaceURI( String prefix ) {
		return prefixToNamespace.get( prefix );
	}

	public String getPrefix( String namespaceURI ) {
		return namespaceToPrefix.get( namespaceURI );
	}

	public Iterator getPrefixes( String namespaceURI ) {
		return Collections.singletonList( namespaceToPrefix.get( namespaceURI ) ).iterator();
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy