Java源码示例:org.apache.xerces.util.SymbolTable
示例1
private synchronized PreparseResult preparse(String schemasId, List<Schema> schemas) throws ConfigurationException {
SymbolTable symbolTable = getSymbolTable();
XMLGrammarPool grammarPool = new XMLGrammarPoolImpl();
Set<String> namespaceSet = new HashSet<String>();
XMLGrammarPreparser preparser = new XMLGrammarPreparser(symbolTable);
preparser.setEntityResolver(new ClassLoaderXmlEntityResolver(getConfigurationClassLoader()));
preparser.registerPreparser(XMLGrammarDescription.XML_SCHEMA, null);
preparser.setProperty(GRAMMAR_POOL, grammarPool);
preparser.setFeature(NAMESPACES_FEATURE_ID, true);
preparser.setFeature(VALIDATION_FEATURE_ID, true);
preparser.setFeature(SCHEMA_VALIDATION_FEATURE_ID, true);
preparser.setFeature(SCHEMA_FULL_CHECKING_FEATURE_ID, isFullSchemaChecking());
try {
preparser.setProperty(XML_SCHEMA_VERSION_PROPERTY, isXmlSchema1_0() ? Constants.W3C_XML_SCHEMA10EX_NS_URI : Constants.W3C_XML_SCHEMA11_NS_URI);
} catch (NoSuchFieldError e) {
String msg="Cannot set property ["+XML_SCHEMA_VERSION_PROPERTY+"], requested xmlSchemaVersion ["+getXmlSchemaVersion()+"] xercesVersion ("+org.apache.xerces.impl.Version.getVersion()+"]";
if (isXmlSchema1_0()) {
log.warn(msg+", assuming XML-Schema version 1.0 will be supported", e);
} else {
throw new ConfigurationException(msg, e);
}
}
MyErrorHandler errorHandler = new MyErrorHandler();
errorHandler.warn = warn;
preparser.setErrorHandler(errorHandler);
for (Schema schema : schemas) {
Grammar grammar = preparse(preparser, schemasId, schema);
registerNamespaces(grammar, namespaceSet);
}
grammarPool.lockPool();
PreparseResult preparseResult = new PreparseResult();
preparseResult.setSchemasId(schemasId);
preparseResult.setSymbolTable(symbolTable);
preparseResult.setGrammarPool(grammarPool);
preparseResult.setNamespaceSet(namespaceSet);
return preparseResult;
}
示例2
public static SymbolTable getSymbolTableInstance() {
return SymbolTableSingletonHelper.INSTANCE;
}
示例3
private SymbolTable getSymbolTable() {
if (sharedSymbolTable) {
return getSymbolTableInstance();
}
return new SymbolTable(BIG_PRIME);
}
示例4
public SymbolTable getSymbolTable() {
return preparseResult.getSymbolTable();
}
示例5
public SymbolTable getSymbolTable() {
return symbolTable;
}
示例6
public void setSymbolTable(SymbolTable symbolTable) {
this.symbolTable = symbolTable;
}
示例7
/**
* Constructs a parser configuration using the specified symbol table.
*
* @param symbolTable The symbol table to use.
*/
public XMLModelAwareParserConfiguration(SymbolTable symbolTable) {
this(symbolTable, null, null);
}
示例8
/**
* Constructs a parser configuration using the specified symbol table and
* grammar pool.
* <p>
*
* @param symbolTable The symbol table to use.
* @param grammarPool The grammar pool to use.
*/
public XMLModelAwareParserConfiguration(SymbolTable symbolTable, XMLGrammarPool grammarPool) {
this(symbolTable, grammarPool, null);
}
示例9
/**
* Constructs a parser configuration using the specified symbol table, grammar
* pool, and parent settings.
* <p>
*
* @param symbolTable The symbol table to use.
* @param grammarPool The grammar pool to use.
* @param parentSettings The parent settings.
*/
public XMLModelAwareParserConfiguration(SymbolTable symbolTable, XMLGrammarPool grammarPool,
XMLComponentManager parentSettings) {
super(symbolTable, grammarPool, parentSettings);
}