You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by sb...@locus.apache.org on 2000/08/01 00:10:40 UTC

cvs commit: xml-xalan/java/src/org/apache/xalan/templates ElemExtensionCall.java

sboag       00/07/31 15:10:39

  Modified:    java/src/org/apache/xalan/templates ElemExtensionCall.java
  Log:
  Lazy processing of extension props.  More needed, I think.
  
  Revision  Changes    Path
  1.4       +27 -7     xml-xalan/java/src/org/apache/xalan/templates/ElemExtensionCall.java
  
  Index: ElemExtensionCall.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemExtensionCall.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ElemExtensionCall.java	2000/07/23 17:45:05	1.3
  +++ ElemExtensionCall.java	2000/07/31 22:10:39	1.4
  @@ -85,7 +85,7 @@
     // ExtensionNSHandler nsh;
     String m_extns;
     String m_extHandlerLookup;
  -  String localPart;
  +  // String localPart;
     Attributes m_attrs;
     // public Vector m_avts = null;
     transient boolean isAvailable = false;
  @@ -106,11 +106,11 @@
     /** 
      * Return the node name.
      */
  -  public String getNodeName()
  -  {
  +  // public String getNodeName()
  +  // {
       // TODO: Need prefix.
  -    return localPart;
  -  }
  +    // return localPart;
  +  // }
   
     /**
      * Tell if this extension element is available for execution.
  @@ -131,9 +131,27 @@
       try
       {
         transformer.getResultTreeHandler().flushPending();
  +      
  +      ExtensionNSHandler nsh = null;
  +      if(null == m_extns)
  +      {
  +        m_extns = this.getNamespace();
  +        nsh = new ExtensionNSHandler (m_extns);
  +        m_lang = nsh.scriptLang;
  +        m_srcURL = nsh.scriptSrcURL;
  +        m_scriptSrc = nsh.scriptSrc;
  +        
  +        // System.out.println("localName: "+this.getLocalName());
  +        // System.out.println("m_lang: "+m_lang);
  +        // System.out.println("m_javaClass: "+m_javaClass);
  +        // System.out.println("m_srcURL: "+m_srcURL);
  +        // System.out.println("m_scriptSrc: "+m_scriptSrc);
  +        // System.out.println("m_extns: "+m_extns);
  +      }
  +
         XPathContext liaison = ((XPathContext)transformer.getXPathContext());
         ExtensionsTable etable = liaison.getExtensionsTable();
  -      ExtensionNSHandler nsh = etable.get(m_extns);
  +      nsh = etable.get(m_extns);
   
         if(null == nsh)
         {
  @@ -142,7 +160,7 @@
           etable.addExtensionElementNamespace(m_extns, nsh);
         }
   
  -      nsh.processElement (localPart, this,
  +      nsh.processElement (this.getLocalName(), this,
                             transformer, 
                             getStylesheet(),
                             sourceNode.getOwnerDocument(), 
  @@ -150,6 +168,8 @@
       }
       catch(Exception e)
       {
  +      // System.out.println(e);
  +      // e.printStackTrace();
         String msg = e.getMessage();
         if(null != msg)
         {