org.apache.xerces.impl.xs

Class XSModelImpl

Implemented Interfaces:
org.apache.xerces.xs.XSModel

public class XSModelImpl
extends java.lang.Object
implements org.apache.xerces.xs.XSModel

Implements XSModel: a read-only interface that represents an XML Schema, which could be components from different namespaces.
Version:
$Id: XSModelImpl.java 427010 2006-07-31 04:08:07Z mrglavas $
Author:
Sandy Gao, IBM

Constructor Summary

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

Method Summary

org.apache.xerces.xs.XSObjectList
getAnnotations()
{annotations} A set of annotations.
org.apache.xerces.xs.XSAttributeDeclaration
getAttributeDeclaration(String name, String namespace)
Convenience method.
org.apache.xerces.xs.XSAttributeGroupDefinition
getAttributeGroup(String name, String namespace)
Convenience method.
org.apache.xerces.xs.XSNamedMap
getComponents(short objectType)
Returns a list of top-level components, i.e.
org.apache.xerces.xs.XSNamedMap
getComponentsByNamespace(short objectType, String namespace)
Convenience method.
org.apache.xerces.xs.XSElementDeclaration
getElementDeclaration(String name, String namespace)
Convenience method.
org.apache.xerces.xs.XSModelGroupDefinition
getModelGroupDefinition(String name, String namespace)
Convenience method.
org.apache.xerces.xs.XSNamespaceItemList
getNamespaceItems()
org.apache.xerces.xs.StringList
getNamespaces()
Convenience method.
org.apache.xerces.xs.XSNotationDeclaration
getNotationDeclaration(String name, String namespace)
org.apache.xerces.xs.XSObjectList
getSubstitutionGroup(org.apache.xerces.xs.XSElementDeclaration head)
org.apache.xerces.xs.XSTypeDefinition
getTypeDefinition(String name, String namespace)
Convenience method.
boolean
hasIDConstraints()
REVISIT: to expose identity constraints from XSModel.

Constructor Details

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 Details

getAnnotations

public org.apache.xerces.xs.XSObjectList getAnnotations()
{annotations} A set of annotations.
Specified by:
getAnnotations in interface org.apache.xerces.xs.XSModel

getAttributeDeclaration

public org.apache.xerces.xs.XSAttributeDeclaration getAttributeDeclaration(String name,
                                                                           String namespace)
Convenience method. Returns a top-level attribute declaration.
Specified by:
getAttributeDeclaration in interface org.apache.xerces.xs.XSModel
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 org.apache.xerces.xs.XSAttributeGroupDefinition getAttributeGroup(String name,
                                                                         String namespace)
Convenience method. Returns a top-level attribute group definition.
Specified by:
getAttributeGroup in interface org.apache.xerces.xs.XSModel
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 org.apache.xerces.xs.XSNamedMap getComponents(short objectType)
Returns a list of top-level components, i.e. element declarations, attribute declarations, etc.
Specified by:
getComponents in interface org.apache.xerces.xs.XSModel
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 org.apache.xerces.xs.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.
Specified by:
getComponentsByNamespace in interface org.apache.xerces.xs.XSModel
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 org.apache.xerces.xs.XSElementDeclaration getElementDeclaration(String name,
                                                                       String namespace)
Convenience method. Returns a top-level element declaration.
Specified by:
getElementDeclaration in interface org.apache.xerces.xs.XSModel
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 org.apache.xerces.xs.XSModelGroupDefinition getModelGroupDefinition(String name,
                                                                           String namespace)
Convenience method. Returns a top-level model group definition.
Specified by:
getModelGroupDefinition in interface org.apache.xerces.xs.XSModel
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 org.apache.xerces.xs.XSNamespaceItemList getNamespaceItems()
Specified by:
getNamespaceItems in interface org.apache.xerces.xs.XSModel

getNamespaces

public org.apache.xerces.xs.StringList getNamespaces()
Convenience method. Returns a list of all namespaces that belong to this schema.
Specified by:
getNamespaces in interface org.apache.xerces.xs.XSModel
Returns:
A list of all namespaces that belong to this schema or null if all components don't have a targetNamespace.

getNotationDeclaration

public org.apache.xerces.xs.XSNotationDeclaration getNotationDeclaration(String name,
                                                                         String namespace)
Specified by:
getNotationDeclaration in interface org.apache.xerces.xs.XSModel
See Also:
org.apache.xerces.xs.XSModel.getNotationDeclaration(String, String)

getSubstitutionGroup

public org.apache.xerces.xs.XSObjectList getSubstitutionGroup(org.apache.xerces.xs.XSElementDeclaration head)
Specified by:
getSubstitutionGroup in interface org.apache.xerces.xs.XSModel

getTypeDefinition

public org.apache.xerces.xs.XSTypeDefinition getTypeDefinition(String name,
                                                               String namespace)
Convenience method. Returns a top-level simple or complex type definition.
Specified by:
getTypeDefinition in interface org.apache.xerces.xs.XSModel
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-2006 The Apache Software Foundation. All Rights Reserved.