org.apache.xerces.impl.xs

## Class XSAttributeGroupDecl

- java.lang.Object
- - org.apache.xerces.impl.xs.XSAttributeGroupDecl

All Implemented Interfaces:
  org.apache.xerces.xs.XSAttributeGroupDefinition, org.apache.xerces.xs.XSObject

    public class XSAttributeGroupDecl
    extends java.lang.Object
    implements org.apache.xerces.xs.XSAttributeGroupDefinition

The XML representation for an attribute group declaration schema component is a global <attributeGroup> element information item

Version:
  $Id: XSAttributeGroupDecl.java 834253 2009-11-09 22:07:23Z sandygao $
Author:
  Sandy Gao, IBM, Rahul Srivastava, Sun Microsystems Inc.

# INTERNAL:

  Usage of this class is not supported. It may be altered or removed at any time.

### Field Summary

Fields
`org.apache.xerces.xs.XSObjectList` `fAnnotations`
`XSWildcardDecl` `fAttributeWC`
`protected XSObjectListImpl` `fAttrUses`
`java.lang.String` `fIDAttrName`
`java.lang.String` `fName`
`java.lang.String` `fTargetNamespace`

### Constructor Summary

Constructors
Constructor and Description
`XSAttributeGroupDecl()`

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.String` `addAttributeUse(XSAttributeUseImpl attrUse)`
`org.apache.xerces.xs.XSAnnotation` `getAnnotation()` Optional.
`org.apache.xerces.xs.XSObjectList` `getAnnotations()` Optional.
`org.apache.xerces.xs.XSAttributeUse` `getAttributeUse(java.lang.String namespace, java.lang.String name)`
`org.apache.xerces.xs.XSAttributeUse` `getAttributeUseNoProhibited(java.lang.String namespace, java.lang.String name)`
`org.apache.xerces.xs.XSObjectList` `getAttributeUses()` {attribute uses} A set of attribute uses.
`org.apache.xerces.xs.XSWildcard` `getAttributeWildcard()` {attribute wildcard} Optional.
`java.lang.String` `getName()` The `name` of this `XSObject` depending on the `XSObject` type.
`java.lang.String` `getNamespace()` The namespace URI of this node, or `null` if it is unspecified.
`org.apache.xerces.xs.XSNamespaceItem` `getNamespaceItem()` A namespace schema information item corresponding to the target namespace of the component, if it is globally declared; or `null` otherwise.
`short` `getType()` Get the type of the object, i.e ELEMENT_DECLARATION.
`void` `removeProhibitedAttrs()`
`void` `replaceAttributeUse(org.apache.xerces.xs.XSAttributeUse oldUse, XSAttributeUseImpl newUse)`
`void` `reset()`
`java.lang.Object[]` `validRestrictionOf(java.lang.String typeName, XSAttributeGroupDecl baseGroup)` Check that the attributes in this group validly restrict those from a base group.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### fName

    public java.lang.String fName

#### fTargetNamespace

    public java.lang.String fTargetNamespace

#### fAttributeWC

    public XSWildcardDecl fAttributeWC

#### fIDAttrName

    public java.lang.String fIDAttrName

#### fAnnotations

    public org.apache.xerces.xs.XSObjectList fAnnotations

#### fAttrUses

    protected XSObjectListImpl fAttrUses

### Constructor Detail

#### XSAttributeGroupDecl

    public XSAttributeGroupDecl()

### Method Detail

#### addAttributeUse

    public java.lang.String addAttributeUse(XSAttributeUseImpl attrUse)

#### replaceAttributeUse

    public void replaceAttributeUse(org.apache.xerces.xs.XSAttributeUse oldUse,
                                    XSAttributeUseImpl newUse)

#### getAttributeUse

    public org.apache.xerces.xs.XSAttributeUse getAttributeUse(java.lang.String namespace,
                                                               java.lang.String name)

#### getAttributeUseNoProhibited

    public org.apache.xerces.xs.XSAttributeUse getAttributeUseNoProhibited(java.lang.String namespace,
                                                                           java.lang.String name)

#### removeProhibitedAttrs

    public void removeProhibitedAttrs()

#### validRestrictionOf

    public java.lang.Object[] validRestrictionOf(java.lang.String typeName,
                                                 XSAttributeGroupDecl baseGroup)

Check that the attributes in this group validly restrict those from a base group. If an error is found, an Object[] is returned. This contains the arguments for the error message describing the error. The last element in the array (at index arr.length - 1) is the the error code. Returns null if there is no error. REVISIT: is there a better way of returning the appropriate information for the error?

Parameters:
  `typeName` - the name of the type containing this attribute group, used for error reporting purposes
  `baseGroup` - the XSAttributeGroupDecl that is the base we are checking against

#### reset

    public void reset()

#### getType

    public short getType()

Get the type of the object, i.e ELEMENT_DECLARATION.

Specified by:
  `getType` in interface `org.apache.xerces.xs.XSObject`

#### getName

    public java.lang.String getName()

The `name` of this `XSObject` depending on the `XSObject` type.

Specified by:
  `getName` in interface `org.apache.xerces.xs.XSObject`

#### getNamespace

    public java.lang.String getNamespace()

The namespace URI of this node, or `null` if it is unspecified. defines how a namespace URI is attached to schema components.

Specified by:
  `getNamespace` in interface `org.apache.xerces.xs.XSObject`

#### getAttributeUses

    public org.apache.xerces.xs.XSObjectList getAttributeUses()

{attribute uses} A set of attribute uses.

Specified by:
  `getAttributeUses` in interface `org.apache.xerces.xs.XSAttributeGroupDefinition`

#### getAttributeWildcard

    public org.apache.xerces.xs.XSWildcard getAttributeWildcard()

{attribute wildcard} Optional. A wildcard.

Specified by:
  `getAttributeWildcard` in interface `org.apache.xerces.xs.XSAttributeGroupDefinition`

#### getAnnotation

    public org.apache.xerces.xs.XSAnnotation getAnnotation()

Optional. Annotation.

Specified by:
  `getAnnotation` in interface `org.apache.xerces.xs.XSAttributeGroupDefinition`

#### getAnnotations

    public org.apache.xerces.xs.XSObjectList getAnnotations()

Optional. Annotations.

Specified by:
  `getAnnotations` in interface `org.apache.xerces.xs.XSAttributeGroupDefinition`

#### getNamespaceItem

    public org.apache.xerces.xs.XSNamespaceItem getNamespaceItem()

Description copied from interface: `org.apache.xerces.xs.XSObject`
A namespace schema information item corresponding to the target namespace of the component, if it is globally declared; or `null` otherwise.

Specified by:
  `getNamespaceItem` in interface `org.apache.xerces.xs.XSObject`
See Also:
  `XSObject.getNamespaceItem()`