IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  XML | Java technology  >

Working XML: Compiling XPaths

HC kicks off with a first implementation of DFA construction

developerWorks

Return to article.


Listing 4: DFAHandler.java
protected static class DFAHandler
   extends DefaultHandler
{
   protected DFATable table;
   protected int state;
   protected Stack stack;
   public DFAHandler(DFATable table)
   {
      this.table = table;
   }
   public void startDocument()
   {
      state = -1;
      stack = new Stack();
   }
   public void startElement(String namespaceURI,
                            String localName,
                            String qualifiedName,
                            Attributes atts)
   {
      stack.push(new Integer(state));
      QName qname = new QName(QName.ELEMENT,
		                        namespaceURI,
										localName);
      state = table.move(qname,state);
      System.out.println(qname.toString() + 
		                   " caused a transition to " + 
								 state);
      if(table.isAcceptingState(state))
         System.out.println("found " +
			                   table.getAssociatedData(state));
   }
   public void endElement(String namespaceURI,
                          String localName,
                          String qualifiedName)
   {
      state = ((Integer)stack.pop()).intValue();
   }
}

<db:sect1 xmlns:db="http://www.ananas.org/2001/docbook">
   <db:sect1info/>
   <db:simpara/>
   <db:simpara><db:ulink/></db:simpara>
</db:sect1>

Return to article.

    关于 IBM 隐私条约 联系 IBM 使用条款