I think 'Schema caching' is not supported yet, thought the code is there.
----- Original Message -----
送信者 : "최원석" <[EMAIL PROTECTED]>
宛先 : <[EMAIL PROTECTED]>
送信日時 : 2002年3月20日 15:57
件名 : Help!!! How to use 'XMLGrammarCachingConfiguration'?
> Hi, there.
>
> I want to use 'Schema caching', so I worte some test code below. I used
'XMLGrammarCachingConfiguration' class.
> But it generate exception that I can't understand. What's wrong? And is
there another way using 'schema caching'?
> Thank you.
>
> --System------------------------------------------------
> OS: RedHat 7.3
> JDK: 1.3.1
> Xerces: 2.0.1
>
> --exception----------------------------------------------
> Exception in thread "main" java.lang.VerifyError: (class:
org/apache/xerces/impl/xs/traversers/XSDHandler, method: getSchema
signature:
(Ljava/lang/String;Lorg/apache/xerces/xni/parser/XMLInputSource;ZSLorg/w3c/d
om/Element;)Lorg/w3c/dom/Document;) Incompatible object argument for
function call
> at
org.apache.xerces.parsers.XMLGrammarCachingConfiguration.parseGrammar(Unknow
n Source)
> at ParserTest.main(ParserTest.java:58)
>
> --code----------------------------------------------------
> import java.lang.System;
> import java.util.Properties;
> import java.io.*;
>
> import org.apache.xerces.parsers.StandardParserConfiguration;
> import org.apache.xerces.parsers.DOMParser;
> import org.apache.xerces.parsers.XMLGrammarCachingConfiguration;
> import org.apache.xerces.xni.grammars.XMLGrammarDescription;
> import org.apache.xerces.xni.parser.XMLInputSource;
>
> public class ParserTest
> {
> public static void main(String argv[])
> {
> if (argv.length != 2)
> {
> System.err.println("usage: java ParserTest XML-FileName
XSD-FileName");
> System.err.println();
> System.exit(1);
> }
>
> String strPath = System.getProperties().getProperty("user.dir") +
"/";
>
> XMLInputSource xIs = new XMLInputSource(null, argv[1], strPath);
> System.out.println(xIs.getSystemId()); // for test
> System.out.println(xIs.getBaseSystemId()); //// for test
> try
> {
> xIs.setByteStream(new FileInputStream(strPath + argv[0]));
> }
> catch(FileNotFoundException fe)
> {
> fe.printStackTrace();
> }
> catch(IOException ie)
> {
> ie.printStackTrace();
> }
>
> try
> {
> InputStream is = xIs.getByteStream();
> byte[] bs = new byte[is.available()];
> is.read(bs, 0, is.available());
> String strDoc = new String(bs);
> System.out.println(strDoc); // for test
> }
> catch(IOException ie)
> {
> ie.printStackTrace();
> }
>
> XMLGrammarCachingConfiguration parser = null;
> parser = new XMLGrammarCachingConfiguration();
>
> try
> {
> parser.parseGrammar(XMLGrammarDescription.XML_SCHEMA, xIs);
> }
> catch(org.apache.xerces.xni.XNIException xniE)
> {
> xniE.printStackTrace();
> }
> catch(java.io.IOException ioE)
> {
> ioE.printStackTrace();
> }
> }
> }
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]