[cddlm] Imports tests

Steve Loughran steve_loughran at hpl.hp.com
Tue Dec 20 08:57:24 CST 2005


Our site is having severe networking problems right now, so I cannot 
check anything in to day. I have been moving many of my existing import 
tests into the xml test framework, and have basic (non-namespaced) 
importing working against them.

As of this afternoon the hp implementaton can :

-import .cdl files with absolute file:, http: URLs. There is no security 
here.

-import .cdl files with a classpath:/package/package/filename.cdl URL. 
the classloader will only load signed JARs, so this is the secure way to 
load things.

-do relative imports. If a file comes from 
http://example.org/a/b/example.cdl and it imports ../c/ex2.cdl, then the 
URL will be http://example.org/a/c/ex2.cdl. Same goes for classpath: 
imports.

-do relative imports from imported documents, as with these two from a 
forthcoming test case

         <ct:document uri="http://cddlm.org/chain-target.cdl">
           <cdl:cdl>
             <cdl:configuration>
               <WebServer>
                 <hostname>localhost</hostname>
                 <port>80</port>
               </WebServer>
             </cdl:configuration>
   		  </cdl:cdl>
         </ct:document>
         <ct:document uri="http://cddlm.org/chain-source.cdl">
           <cdl:cdl>
             <cdl:import location="chain-target.cdl"/>
           </cdl:cdl>
         </ct:document>
       </ct:documents>

-detect recursive imports and halt the process gracefully. SmartFrog 
classic doesnt do this incidentally; it runs out of stack space, which 
is an implicit failure, and not so good for diagnostics.

I will be checking in tests for all of these, with the recursive ones 
marked as required=false as the spec says nothing about how well to 
handle recursive imports. We may want to mark everything with relative 
URLs as required=false too, as again, there is nothing explicit there.





More information about the cddlm-wg mailing list