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. 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.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.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
-
-