Package org.cruxframework.crux.core.declarativeui

Source Code of org.cruxframework.crux.core.declarativeui.XPathUtils

/*
* Copyright 2011 cruxframework.org.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package org.cruxframework.crux.core.declarativeui;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import javax.xml.namespace.NamespaceContext;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathFactory;

/**
* @author Thiago da Rosa de Bustamante
*
*/
public class XPathUtils
{
  /**
   * @return
   */
  public static XPath getCruxPagesXPath()
  {
    XPathFactory factory = XPathFactory.newInstance();
    XPath findPath = factory.newXPath();
    findPath.setNamespaceContext(new NamespaceContext()
    {
      public String getNamespaceURI(String prefix)
      {
        if (prefix.equals("c"))
        {
          return "http://www.cruxframework.org/crux";
        }
        else if (prefix.equals("v"))
        {
          return "http://www.cruxframework.org/view";
        }
       
        return "";
      }

      public String getPrefix(String namespaceURI)
      {
        if (namespaceURI.equals("http://www.cruxframework.org/crux"))
        {
          return "c";
        }
        else if (namespaceURI.equals("http://www.cruxframework.org/view"))
        {
          return "v";
        }
        return "";
      }

      public Iterator<?> getPrefixes(String namespaceURI)
      {
        List<String> prefixes = new ArrayList<String>();
        prefixes.add("c");
        prefixes.add("v");

        return prefixes.iterator();
      }
    });

    return findPath;
  }
 
  /**
   * @return
   */
  public static XPath getHtmlXPath()
  {
    XPathFactory factory = XPathFactory.newInstance();
    XPath htmlPath = factory.newXPath();
    htmlPath.setNamespaceContext(new NamespaceContext()
    {
      public String getNamespaceURI(String prefix)
      {
        return "http://www.w3.org/1999/xhtml";
      }

      public String getPrefix(String namespaceURI)
      {
        return "h";
      }

      public Iterator<?> getPrefixes(String namespaceURI)
      {
        List<String> prefixes = new ArrayList<String>();
        prefixes.add("h");

        return prefixes.iterator();
      }
    });
   
    return htmlPath;
  }
 
}
TOP

Related Classes of org.cruxframework.crux.core.declarativeui.XPathUtils

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.