org.apache.xerces.impl.xs

Class XSModelImpl

public class XSModelImpl extends Object implements XSModel

Implements XSModel: a read-only interface that represents an XML Schema, which could be components from different namespaces.

Version: $Id: XSModelImpl.java,v 1.18 2005/05/25 04:24:40 mrglavas Exp $

Author: Sandy Gao, IBM

UNKNOWN:

Constructor Summary
XSModelImpl(SchemaGrammar[] grammars)
Construct an XSModelImpl, by storing some grammars and grammars imported by them to this object.
Method Summary
XSObjectListgetAnnotations()
{annotations} A set of annotations.
XSAttributeDeclarationgetAttributeDeclaration(String name, String namespace)
Convenience method.
XSAttributeGroupDefinitiongetAttributeGroup(String name, String namespace)
Convenience method.
XSNamedMapgetComponents(short objectType)
Returns a list of top-level components, i.e. element declarations, attribute declarations, etc.
XSNamedMapgetComponentsByNamespace(short objectType, String namespace)
Convenience method.
XSElementDeclarationgetElementDeclaration(String name, String namespace)
Convenience method.
XSModelGroupDefinitiongetModelGroupDefinition(String name, String namespace)
Convenience method.
XSNamespaceItemListgetNamespaceItems()
StringListgetNamespaces()
Convenience method.
XSNotationDeclarationgetNotationDeclaration(String name, String namespace)
XSObjectListgetSubstitutionGroup(XSElementDeclaration head)
REVISIT: to expose substitution group of a given element.
XSTypeDefinitiongetTypeDefinition(String name, String namespace)
Convenience method.
booleanhasIDConstraints()
REVISIT: to expose identity constraints from XSModel.

Constructor Detail

XSModelImpl

public XSModelImpl(SchemaGrammar[] grammars)
Construct an XSModelImpl, by storing some grammars and grammars imported by them to this object.

Parameters: grammars the array of schema grammars

Method Detail

getAnnotations

public XSObjectList getAnnotations()
{annotations} A set of annotations.

getAttributeDeclaration

public XSAttributeDeclaration getAttributeDeclaration(String name, String namespace)
Convenience method. Returns a top-level attribute declaration.

Parameters: name The name of the declaration. namespace The namespace of the definition, otherwise null.

Returns: A top-level attribute declaration or null if such declaration does not exist.

getAttributeGroup

public XSAttributeGroupDefinition getAttributeGroup(String name, String namespace)
Convenience method. Returns a top-level attribute group definition.

Parameters: name The name of the definition. namespace The namespace of the definition, otherwise null.

Returns: A top-level attribute group definition or null if such definition does not exist.

getComponents

public XSNamedMap getComponents(short objectType)
Returns a list of top-level components, i.e. element declarations, attribute declarations, etc.

Parameters: objectType The type of the declaration, i.e. ELEMENT_DECLARATION. Note that XSTypeDefinition.SIMPLE_TYPE and XSTypeDefinition.COMPLEX_TYPE can also be used as the objectType to retrieve only complex types or simple types, instead of all types.

Returns: A list of top-level definitions of the specified type in objectType or an empty XSNamedMap if no such definitions exist.

getComponentsByNamespace

public XSNamedMap getComponentsByNamespace(short objectType, String namespace)
Convenience method. Returns a list of top-level component declarations that are defined within the specified namespace, i.e. element declarations, attribute declarations, etc.

Parameters: objectType The type of the declaration, i.e. ELEMENT_DECLARATION. namespace The namespace to which the declaration belongs or null (for components with no target namespace).

Returns: A list of top-level definitions of the specified type in objectType and defined in the specified namespace or an empty XSNamedMap.

getElementDeclaration

public XSElementDeclaration getElementDeclaration(String name, String namespace)
Convenience method. Returns a top-level element declaration.

Parameters: name The name of the declaration. namespace The namespace of the definition, otherwise null.

Returns: A top-level element declaration or null if such declaration does not exist.

getModelGroupDefinition

public XSModelGroupDefinition getModelGroupDefinition(String name, String namespace)
Convenience method. Returns a top-level model group definition.

Parameters: name The name of the definition. namespace The namespace of the definition, otherwise null.

Returns: A top-level model group definition definition or null if such definition does not exist.

getNamespaceItems

public XSNamespaceItemList getNamespaceItems()

getNamespaces

public StringList getNamespaces()
Convenience method. Returns a list of all namespaces that belong to this schema.

Returns: A list of all namespaces that belong to this schema or null if all components don't have a targetNamespace.

getNotationDeclaration

public XSNotationDeclaration getNotationDeclaration(String name, String namespace)

See Also: org.apache.xerces.xs.XSModel#getNotationDeclaration(String, String)

getSubstitutionGroup

public XSObjectList getSubstitutionGroup(XSElementDeclaration head)
REVISIT: to expose substitution group of a given element. We need to add this to the XSModel interface.

getTypeDefinition

public XSTypeDefinition getTypeDefinition(String name, String namespace)
Convenience method. Returns a top-level simple or complex type definition.

Parameters: name The name of the definition. namespace The namespace of the definition, otherwise null.

Returns: An XSTypeDefinition or null if such definition does not exist.

hasIDConstraints

public boolean hasIDConstraints()
REVISIT: to expose identity constraints from XSModel. For now, we only expose whether there are any IDCs. We also need to add these methods to the public XSModel interface.
Copyright B) 1999-2005 Apache XML Project. All Rights Reserved.