本文整理汇总了Java中com.sun.org.apache.xerces.internal.xni.grammars.XMLGrammarDescription类的典型用法代码示例。如果您正苦于以下问题:Java XMLGrammarDescription类的具体用法?Java XMLGrammarDescription怎么用?Java XMLGrammarDescription使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
XMLGrammarDescription类属于com.sun.org.apache.xerces.internal.xni.grammars包,在下文中一共展示了XMLGrammarDescription类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: parseDTD
import com.sun.org.apache.xerces.internal.xni.grammars.XMLGrammarDescription; //导入依赖的package包/类
DTDGrammar parseDTD(XMLInputSource is)
throws IOException {
XMLEntityResolver resolver = getEntityResolver();
if(resolver != null) {
fDTDLoader.setEntityResolver(resolver);
}
fDTDLoader.setProperty(ERROR_REPORTER, fErrorReporter);
// Should check whether the grammar with this namespace is already in
// the grammar resolver. But since we don't know the target namespace
// of the document here, we leave such check to the application...
DTDGrammar grammar = (DTDGrammar)fDTDLoader.loadGrammar(is);
// by default, hand it off to the grammar pool
if (grammar != null) {
fGrammarPool.cacheGrammars(XMLGrammarDescription.XML_DTD,
new Grammar[]{grammar});
}
return grammar;
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:22,代码来源:XMLGrammarCachingConfiguration.java
示例2: getGrammar
import com.sun.org.apache.xerces.internal.xni.grammars.XMLGrammarDescription; //导入依赖的package包/类
/**
* Returns the grammar associated to the specified grammar description.
* Currently, the root element name is used as the key for DTD grammars
* and the target namespace is used as the key for Schema grammars.
*
* @param desc The Grammar Description.
*/
public Grammar getGrammar(XMLGrammarDescription desc) {
synchronized (fGrammars) {
clean();
int hash = hashCode(desc);
int index = (hash & 0x7FFFFFFF) % fGrammars.length;
for (Entry entry = fGrammars[index]; entry != null; entry = entry.next) {
Grammar tempGrammar = (Grammar) entry.grammar.get();
/** If the soft reference has been cleared, remove this entry from the pool. */
if (tempGrammar == null) {
removeEntry(entry);
}
else if ((entry.hash == hash) && equals(entry.desc, desc)) {
return tempGrammar;
}
}
return null;
}
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:26,代码来源:SoftReferenceGrammarPool.java
示例3: containsGrammar
import com.sun.org.apache.xerces.internal.xni.grammars.XMLGrammarDescription; //导入依赖的package包/类
/**
* Returns true if the grammar pool contains a grammar associated
* to the specified grammar description. Currently, the root element name
* is used as the key for DTD grammars and the target namespace is used
* as the key for Schema grammars.
*
* @param desc The Grammar Description.
*/
public boolean containsGrammar(XMLGrammarDescription desc) {
synchronized (fGrammars) {
clean();
int hash = hashCode(desc);
int index = (hash & 0x7FFFFFFF) % fGrammars.length;
for (Entry entry = fGrammars[index]; entry != null ; entry = entry.next) {
Grammar tempGrammar = (Grammar) entry.grammar.get();
/** If the soft reference has been cleared, remove this entry from the pool. */
if (tempGrammar == null) {
removeEntry(entry);
}
else if ((entry.hash == hash) && equals(entry.desc, desc)) {
return true;
}
}
return false;
}
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:27,代码来源:SoftReferenceGrammarPool.java
示例4: removeGrammar
import com.sun.org.apache.xerces.internal.xni.grammars.XMLGrammarDescription; //导入依赖的package包/类
/**
* Removes the grammar associated to the specified grammar description from the
* grammar pool and returns the removed grammar. Currently, the root element name
* is used as the key for DTD grammars and the target namespace is used
* as the key for Schema grammars.
*
* @param desc The Grammar Description.
* @return The removed grammar.
*/
public Grammar removeGrammar(XMLGrammarDescription desc) {
synchronized (fGrammars) {
int hash = hashCode(desc);
int index = (hash & 0x7FFFFFFF) % fGrammars.length;
for (Entry entry = fGrammars[index], prev = null ; entry != null ; prev = entry, entry = entry.next) {
if ((entry.hash == hash) && equals(entry.desc, desc)) {
if (prev != null) {
prev.next = entry.next;
}
else {
fGrammars[index] = entry.next;
}
Grammar tempGrammar = entry.grammar;
entry.grammar = null;
fGrammarCount--;
return tempGrammar;
}
}
return null;
}
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:31,代码来源:XMLGrammarPoolImpl.java
示例5: initGrammarBucket
import com.sun.org.apache.xerces.internal.xni.grammars.XMLGrammarDescription; //导入依赖的package包/类
private void initGrammarBucket(){
if(fGrammarPool != null) {
Grammar [] initialGrammars = fGrammarPool.retrieveInitialGrammarSet(XMLGrammarDescription.XML_SCHEMA);
for (int i = 0; i < initialGrammars.length; i++) {
// put this grammar into the bucket, along with grammars
// imported by it (directly or indirectly)
if (!fGrammarBucket.putGrammar((SchemaGrammar)(initialGrammars[i]), true)) {
// REVISIT: a conflict between new grammar(s) and grammars
// in the bucket. What to do? A warning? An exception?
fErrorReporter.reportError(XSMessageFormatter.SCHEMA_DOMAIN,
"GrammarConflict", null,
XMLErrorReporter.SEVERITY_WARNING);
}
}
}
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:17,代码来源:XMLSchemaLoader.java
示例6: toXSModel
import com.sun.org.apache.xerces.internal.xni.grammars.XMLGrammarDescription; //导入依赖的package包/类
public XSModel toXSModel(short schemaVersion) {
ArrayList list = new ArrayList();
for (int i = 0; i < fGrammars.length; i++) {
for (Entry entry = fGrammars[i] ; entry != null ; entry = entry.next) {
if (entry.desc.getGrammarType().equals(XMLGrammarDescription.XML_SCHEMA)) {
list.add(entry.grammar);
}
}
}
int size = list.size();
if (size == 0) {
return toXSModel(new SchemaGrammar[0], schemaVersion);
}
SchemaGrammar[] gs = (SchemaGrammar[])list.toArray(new SchemaGrammar[size]);
return toXSModel(gs, schemaVersion);
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:17,代码来源:XSGrammarPool.java
示例7: initGrammarBucket
import com.sun.org.apache.xerces.internal.xni.grammars.XMLGrammarDescription; //导入依赖的package包/类
private void initGrammarBucket(){
if(fGrammarPool != null) {
Grammar [] initialGrammars = fGrammarPool.retrieveInitialGrammarSet(XMLGrammarDescription.XML_SCHEMA);
final int length = (initialGrammars != null) ? initialGrammars.length : 0;
for (int i = 0; i < length; ++i) {
// put this grammar into the bucket, along with grammars
// imported by it (directly or indirectly)
if (!fGrammarBucket.putGrammar((SchemaGrammar)(initialGrammars[i]), true)) {
// REVISIT: a conflict between new grammar(s) and grammars
// in the bucket. What to do? A warning? An exception?
fErrorReporter.reportError(XSMessageFormatter.SCHEMA_DOMAIN,
"GrammarConflict", null,
XMLErrorReporter.SEVERITY_WARNING);
}
}
}
}
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:18,代码来源:XMLSchemaLoader.java
注:本文中的com.sun.org.apache.xerces.internal.xni.grammars.XMLGrammarDescription类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论