Overview | Package | Class | Deprecated | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.saxonica.schema
Class AttributeDecl

    java.lang.Object
      com.saxonica.schema.SchemaStructure
          com.saxonica.schema.AttributeDecl

All Implemented Interfaces:
  SerializableSchemaComponent, UserSchemaComponent, Serializable, SourceLocator, SchemaComponent, SchemaDeclaration

    public final class AttributeDecl

extends SchemaStructure
implements UserSchemaComponent, SchemaDeclaration

An XML Schema Attribute Declaration. This includes global attribute declarations, local attribute declarations, and "attribute uses". It corresponds to either (a) an attribute declaration schema component for a global attribute, or (b) an attribute declaration schema component for a local attribute, plus an attribute use referencing that attribute declaration, or (c) an attribute use referencing a global attribute declaration.

See Also:
  Serialized Form

Field Summary

Fields inherited from interface net.sf.saxon.type.SchemaComponent
`FIXED_UP, INCOMPLETE, INVALID, UNVALIDATED, VALIDATED, VALIDATING`

Fields inherited from interface com.saxonica.schema.SerializableSchemaComponent
`ALL_COMPOSITOR, ATOMIC_TYPE, ATTRIBUTE_DECL, ATTRIBUTE_GROUP, ATTRIBUTE_GROUP_REF, ATTRIBUTE_USE, ATTRIBUTE_WILDCARD, CHOICE_COMPOSITOR, COMPLEX_TYPE, ELEMENT_DECL, ELEMENT_PARTICLE, ELEMENT_WILDCARD, FACET, KEY, KEYREF, LIST_TYPE, MODEL_GROUP, MODEL_GROUP_REF, NOTATION, SEQUENCE_COMPOSITOR, UNION_TYPE, UNIQUE`

Constructor Summary
`AttributeDecl(PreparedSchema schema, boolean global)` Creates a new AttrDecl in the given schema.

Method Summary
`boolean` | `fixup(SchemaCompiler compiler)` Check references from this component to other components
`int` | `getComponentTypeCode()` Get a unique number identifying the type of component
`UserComplexType` | `getContainingComplexType()` Get the containing complex type.
`String` | `getDefaultValue()` Returns the default value of this attribute declaration.
`String` | `getDisplayName()` Returns the name of the attribute defined by this AttributeDecl.
`int` | `getFingerprint()` Gets the fingerprint of this attribute name
`Value` | `getFixedValue()` Returns the fixed value of this attribute declaration.
`String` | `getName()` Get the local name of this Attribute Declaration.
`int` | `getNameCode()` Get the nameCode of the name of this attribute declaration in the namePool
`String` | `getNamespace()` Get the namespace part of the name of this Attribute Declaration.
`SimpleType` | `getSimpleType()` Get the type associated with this Attribute Declaration.
`SchemaType` | `getType()` Get the type of this attribute declaration.
`boolean` | `isAbstract()` Determine, in the case of an Element Declaration, whether it is nillable.
`boolean` | `isGlobal()` Determine whether this attribute declaration is global.
`boolean` | `isNillable()` Determine, in the case of an Element Declaration, whether it is nillable.
`boolean` | `isSameDeclaration(AttributeDecl other)` Test whether this is the same type as another type.
`NodeTest` | `makeSchemaNodeTest()` Create a NodeTest that implements the semantics of schema-element(name) or schema-attribute(name) applied to this element or attribute declaration.
`void` | `serialize(SchemaSerializer serializer)` Serialize the schema component
`void` | `setContainingComplexType(UserComplexType type)` Sets the containing complex type definition.
`void` | `setDefaultValue(String value)` Sets the DEFAULT value.
`void` | `setFixedValue(Value value)` Sets the FIXED value.
`void` | `setNameCode(int nameCode)` Set the fingerprint for this attribute name.
`void` | `setNamespaceResolver(NamespaceResolver resolver)` Set the namespace resolver for resolving QName-valued fixed and default values
`void` | `setSimpleType(SimpleType simpleType)` Sets the SimpleType for this attribute declaration.
`void` | `setTypeFingerprint(int fingerprint)` Set the namepool fingerprint of the name of the attribute's type.
`boolean` | `testFixedValue(CharSequence value, NamespaceResolver resolver)` Test a value against the fixed value.
`boolean` | `validate(SchemaCompiler compiler)` Checks the validity of this Attribute declaration

Methods inherited from class com.saxonica.schema.SchemaStructure
`getColumnNumber, getConfiguration, getFixupStatus, getLineNumber, getPublicId, getSystemId, getValidationStatus, lookForCycles, setConfiguration, setFixupStatus, setLineNumber, setLocator, setSystemId, setValidationStatus`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface com.saxonica.schema.UserSchemaComponent
`lookForCycles`

Methods inherited from interface net.sf.saxon.type.SchemaComponent
`getValidationStatus`

Constructor Detail

### AttributeDecl

    public AttributeDecl(PreparedSchema schema,
                         boolean global)

  Creates a new AttrDecl in the given schema. For system use only.

  Parameters:
    `schema` - the schema that contains the new attrDecl
    `global` - true if the attribute declaration is global

Method Detail

### isGlobal

    public boolean isGlobal()

  Determine whether this attribute declaration is global. This represents one aspect of the {scope} property defined in the schema data model.

  Returns:
    true if the attribute declaration is global, false if it is local

### setContainingComplexType

    public void setContainingComplexType(UserComplexType type)

  Sets the containing complex type definition. For internal use only.

### getContainingComplexType

    public UserComplexType getContainingComplexType()

  Get the containing complex type. This represents one aspect of the {scope} property defined in the schema component model. If the attribute is a local attribute declaration and is defined as part of a complex type (and not as part of a named attribute group), returns the complex type definition. Otherwise, returns null.

  Returns:
    the containing complex type definition if there is one, otherwise null

### getName

    public String getName()

  Get the local name of this Attribute Declaration. This corresponds to the {name} property as defined in the schema component model.

  Returns:
    the local name of the attribute

### getNamespace

    public String getNamespace()

  Get the namespace part of the name of this Attribute Declaration. This corresponds to the {targetNamespace} property as defined in the schema component model.

  Returns:
    the namespace URI part of the name of the attribute

### getDisplayName

    public String getDisplayName()

  Returns the name of the attribute defined by this AttributeDecl. This is used only for diagnostic display purposes

  Returns:
    the name of the attribute as a lexical QName.

### setNameCode

    public void setNameCode(int nameCode)

  Set the fingerprint for this attribute name. For internal use only.

### getFingerprint

    public int getFingerprint()

  Gets the fingerprint of this attribute name

  Returns:
    the fingerprint of the attribute name in the NamePool

### getNameCode

    public int getNameCode()

  Get the nameCode of the name of this attribute declaration in the namePool

  Returns:
    the nameCode of the attribute name

### getSimpleType

    public SimpleType getSimpleType()
                             throws UnresolvedReferenceException

  Get the type associated with this Attribute Declaration.

  Returns:
    the type of this attribute.
  Throws:
    `UnresolvedReferenceException`

### getType

    public SchemaType getType()
                       throws UnresolvedReferenceException

  Get the type of this attribute declaration. This corresponds to the {typeDefinition} property defined in the schema component model

  Specified by:
    `getType` in interface `SchemaDeclaration`
  Returns:
    the type of this attribute. The returned SchemaType will always be an instanceof `SimpleType`
  Throws:
    `UnresolvedReferenceException`

### setTypeFingerprint

    public void setTypeFingerprint(int fingerprint)

  Set the namepool fingerprint of the name of the attribute's type.

### getDefaultValue

    public String getDefaultValue()

  Returns the default value of this attribute declaration. This corresponds to one aspect of the {valueConstraint} property defined in the schema component model.

  Returns:
    the default value defined by this attribute declaration, or null if no default was specified. The default value is always maintained as a string, in the form supplied in the original schema document.

### getFixedValue

    public Value getFixedValue()

  Returns the fixed value of this attribute declaration. This corresponds to one aspect of the {valueConstraint} property defined in the schema component model.

  Returns:
    the fixed value defined by this attribute declaration, or null if no fixed value was specified. Once the schema has been compiled this will be the correctly-typed value; until then it will be the string value as specified in the source schema document.

### setSimpleType

    public void setSimpleType(SimpleType simpleType)

  Sets the SimpleType for this attribute declaration. For internal use only.

  Parameters:
    `simpleType` - the SimpleType for this attribute declaration

### setDefaultValue

    public void setDefaultValue(String value)

  Sets the DEFAULT value. For internal use only.

### setFixedValue

    public void setFixedValue(Value value)

  Sets the FIXED value. For internal use only.

### setNamespaceResolver

    public void setNamespaceResolver(NamespaceResolver resolver)

  Set the namespace resolver for resolving QName-valued fixed and default values

### makeSchemaNodeTest

    public NodeTest makeSchemaNodeTest()

  Create a NodeTest that implements the semantics of schema-element(name) or schema-attribute(name) applied to this element or attribute declaration.

  Specified by:
    `makeSchemaNodeTest` in interface `SchemaDeclaration`

### fixup

    public boolean fixup(SchemaCompiler compiler)
                  throws SchemaException,
                         UnresolvedReferenceException

  Check references from this component to other components

  Specified by:
    `fixup` in interface `UserSchemaComponent`
  Parameters:
    `compiler` -
  Returns:
    true if all is well, false if errors found
  Throws:
    `SchemaException`
    `UnresolvedReferenceException`

### validate

    public boolean validate(SchemaCompiler compiler)
                     throws SchemaException,
                            ValidationException

  Checks the validity of this Attribute declaration

  Specified by:
    `validate` in interface `UserSchemaComponent`
  Returns:
    true when this Schema definition is valid, otherwise false.
  Throws:
    `SchemaException` - if the error listener decides an error is fatal
    `ValidationException`

### testFixedValue

    public boolean testFixedValue(CharSequence value,
                                  NamespaceResolver resolver)
                           throws ValidationException

  Test a value against the fixed value. This tests both against the fixed value for this attribute use, and the fixed value of the corresponding attribute declaration (which must be equivalent if they are both present).

  Parameters:
    `value` - the value to be tested
  Returns:
    true if it matches (or if there is no fixed value), false otherwise
  Throws:
    `ValidationException` - if the value is not valid for this type

### isSameDeclaration

    public boolean isSameDeclaration(AttributeDecl other)

  Test whether this is the same type as another type. They are considered to be the same type if they are derived from the same type definition in the original XML representation (which can happen when there are multiple includes of the same file)

### isNillable

    public boolean isNillable()

  Determine, in the case of an Element Declaration, whether it is nillable. For an Attribute declaration, always return false;

  Specified by:
    `isNillable` in interface `SchemaDeclaration`

### isAbstract

    public boolean isAbstract()

  Determine, in the case of an Element Declaration, whether it is nillable. For an Attribute declaration, always return false;

  Specified by:
    `isAbstract` in interface `SchemaDeclaration`

### serialize

    public void serialize(SchemaSerializer serializer)
                   throws IOException

  Serialize the schema component

  Specified by:
    `serialize` in interface `SerializableSchemaComponent`
  Throws:
    `IOException`

### getComponentTypeCode

    public int getComponentTypeCode()

  Get a unique number identifying the type of component

  Specified by:
    `getComponentTypeCode` in interface `SerializableSchemaComponent`

Overview | Package | Class | Deprecated | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (C) Michael H. Kay. All rights reserved.