Class XSGrammarBucket
- java.lang.Object
-
- org.smooks.engine.delivery.sax.ng.org.apache.xerces.impl.xs.XSGrammarBucket
-
public class XSGrammarBucket extends Object
A class used to hold the internal schema grammar set for the current instance- Version:
- $Id$
- Author:
- Sandy Gao, IBM
-
-
Constructor Summary
Constructors Constructor Description XSGrammarBucket()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SchemaGrammar
getGrammar(String namespace)
Get the schema grammar for the specified namespaceSchemaGrammar[]
getGrammars()
get all grammars in the registryvoid
putGrammar(SchemaGrammar grammar)
Put a schema grammar into the registry This method is for internal use only: it assumes that a grammar with the same target namespace is not already in the bucket.boolean
putGrammar(SchemaGrammar grammar, boolean deep)
put a schema grammar and any grammars imported by it (directly or inderectly) into the registry.boolean
putGrammar(SchemaGrammar grammar, boolean deep, boolean ignoreConflict)
put a schema grammar and any grammars imported by it (directly or inderectly) into the registry.void
reset()
Clear the registry.
-
-
-
Method Detail
-
getGrammar
public SchemaGrammar getGrammar(String namespace)
Get the schema grammar for the specified namespace- Parameters:
namespace
-- Returns:
- SchemaGrammar associated with the namespace
-
putGrammar
public void putGrammar(SchemaGrammar grammar)
Put a schema grammar into the registry This method is for internal use only: it assumes that a grammar with the same target namespace is not already in the bucket.- Parameters:
grammar
- the grammar to put in the registry
-
putGrammar
public boolean putGrammar(SchemaGrammar grammar, boolean deep)
put a schema grammar and any grammars imported by it (directly or inderectly) into the registry. when a grammar with the same target namespace is already in the bucket, and different from the one being added, it's an error, and no grammar will be added into the bucket.- Parameters:
grammar
- the grammar to put in the registrydeep
- whether to add imported grammars- Returns:
- whether the process succeeded
-
putGrammar
public boolean putGrammar(SchemaGrammar grammar, boolean deep, boolean ignoreConflict)
put a schema grammar and any grammars imported by it (directly or inderectly) into the registry. when a grammar with the same target namespace is already in the bucket, and different from the one being added, no grammar will be added into the bucket.- Parameters:
grammar
- the grammar to put in the registrydeep
- whether to add imported grammarsignoreConflict
- whether to ignore grammars that already exist in the grammar bucket or not - including 'grammar' parameter.- Returns:
- whether the process succeeded
-
getGrammars
public SchemaGrammar[] getGrammars()
get all grammars in the registry- Returns:
- an array of SchemaGrammars.
-
reset
public void reset()
Clear the registry. REVISIT: update to use another XSGrammarBucket
-
-