org.apache.xerces.impl.xs

## Class ElementPSVImpl

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

All Implemented Interfaces:
  org.apache.xerces.xs.ElementPSVI, org.apache.xerces.xs.ItemPSVI

    public class ElementPSVImpl
    extends java.lang.Object
    implements org.apache.xerces.xs.ElementPSVI

Element PSV infoset augmentations implementation. The following information will be available at the startElement call: name, namespace, type, notation, validation context The following information will be available at the endElement call: nil, specified, normalized value, member type, validity, error codes, default

Version:
  $Id: ElementPSVImpl.java 1024038 2010-10-18 22:06:35Z sandygao $
Author:
  Elena Litani IBM

# INTERNAL:

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

### Field Summary

Fields
`protected org.apache.xerces.xs.XSElementDeclaration` `fDeclaration` element declaration
`protected java.lang.String[]` `fErrors` error codes and error messages
`protected SchemaGrammar[]` `fGrammars` deferred XSModel
`protected boolean` `fNil` true if clause 3.2 of Element Locally Valid (Element) (3.3.4) is satisfied, otherwise false
`protected org.apache.xerces.xs.XSNotationDeclaration` `fNotation` http://www.w3.org/TR/xmlschema-1/#e-notation
`protected org.apache.xerces.xs.XSModel` `fSchemaInformation` the schema information property
`protected boolean` `fSpecified` true if the element value was provided by the schema; false otherwise.
`protected org.apache.xerces.xs.XSTypeDefinition` `fTypeDecl` type of element, could be xsi:type
`protected short` `fValidationAttempted` validation attempted: none, partial, full
`protected java.lang.String` `fValidationContext` validation context: could be QName or XPath expression
`protected short` `fValidity` validity: valid, invalid, unknown
`protected ValidatedInfo` `fValue` Schema value

### Fields inherited from interface org.apache.xerces.xs.ItemPSVI

`VALIDATION_FULL, VALIDATION_NONE, VALIDATION_PARTIAL, VALIDITY_INVALID, VALIDITY_NOTKNOWN, VALIDITY_VALID`

### Constructor Summary

Constructors
Constructor and Description
`ElementPSVImpl()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `copySchemaInformationTo(ElementPSVImpl target)`
`java.lang.Object` `getActualNormalizedValue()` `[schema normalized value]`: Binding specific actual value or `null` if the value is in error.
`short` `getActualNormalizedValueType()` The actual value built-in datatype, e.g.
`org.apache.xerces.xs.XSElementDeclaration` `getElementDeclaration()` An item isomorphic to the element declaration used to validate this element.
`org.apache.xerces.xs.StringList` `getErrorCodes()` A list of error codes generated from validation attempts.
`org.apache.xerces.xs.StringList` `getErrorMessages()` A list of error messages generated from the validation attempt or an empty `StringList` if no errors occurred during the validation attempt.
`boolean` `getIsSchemaSpecified()` [schema specified]
`org.apache.xerces.xs.ShortList` `getItemValueTypes()` In the case the actual value represents a list, i.e.

`org.apache.xerces.xs.XSSimpleTypeDefinition`

`getMemberTypeDefinition()`
If and only if that type definition is a simple type definition with {variety} union, or a complex type definition whose {content type} is a simple thype definition with {variety} union, then an item isomorphic to that member of the union's {member type definitions} which actually validated the element item's normalized value.

`boolean` `getNil()` [nil]
`org.apache.xerces.xs.XSNotationDeclaration` `getNotation()` [notation]
`java.lang.String` `getSchemaDefault()` [schema default]
`org.apache.xerces.xs.XSModel` `getSchemaInformation()` [schema information]
`java.lang.String` `getSchemaNormalizedValue()` [schema normalized value]
`org.apache.xerces.xs.XSValue` `getSchemaValue()` If this item has a simple type definition or a complex type with simple content, then return the value with respect to the simple type.
`org.apache.xerces.xs.XSTypeDefinition` `getTypeDefinition()` An item isomorphic to the type definition used to validate this element.
`short` `getValidationAttempted()` Determines the extent to which the document has been validated
`java.lang.String` `getValidationContext()` The nearest ancestor element information item with a `[schema information]` property (or this element item itself if it has such a property).
`short` `getValidity()` Determine the validity of the node with respect to the validation being attempted
`void` `reset()` Reset() should be called in validator startElement(..) method.

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

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

### Field Detail

#### fDeclaration

    protected org.apache.xerces.xs.XSElementDeclaration fDeclaration

element declaration

#### fTypeDecl

    protected org.apache.xerces.xs.XSTypeDefinition fTypeDecl

type of element, could be xsi:type

#### fNil

    protected boolean fNil

true if clause 3.2 of Element Locally Valid (Element) (3.3.4) is satisfied, otherwise false

#### fSpecified

    protected boolean fSpecified

true if the element value was provided by the schema; false otherwise.

#### fValue

    protected ValidatedInfo fValue

Schema value

#### fNotation

    protected org.apache.xerces.xs.XSNotationDeclaration fNotation

http://www.w3.org/TR/xmlschema-1/#e-notation

#### fValidationAttempted

    protected short fValidationAttempted

validation attempted: none, partial, full

#### fValidity

    protected short fValidity

validity: valid, invalid, unknown

#### fErrors

    protected java.lang.String[] fErrors

error codes and error messages

#### fValidationContext

    protected java.lang.String fValidationContext

validation context: could be QName or XPath expression

#### fGrammars

    protected SchemaGrammar[] fGrammars

deferred XSModel

#### fSchemaInformation

    protected org.apache.xerces.xs.XSModel fSchemaInformation

the schema information property

### Constructor Detail

#### ElementPSVImpl

    public ElementPSVImpl()

### Method Detail

#### getSchemaDefault

    public java.lang.String getSchemaDefault()

[schema default]

Specified by:
  `getSchemaDefault` in interface `org.apache.xerces.xs.ItemPSVI`
Returns:
  The canonical lexical representation of the declaration's {value constraint} value.
See Also:

  #### getSchemaNormalizedValue

      public java.lang.String getSchemaNormalizedValue()

  [schema normalized value]
  Specified by:
    `getSchemaNormalizedValue` in interface `org.apache.xerces.xs.ItemPSVI`
  Returns:
    the normalized value of this item after validation
  See Also:

    #### getIsSchemaSpecified

        public boolean getIsSchemaSpecified()

    [schema specified]
    Specified by:
      `getIsSchemaSpecified` in interface `org.apache.xerces.xs.ItemPSVI`
    Returns:
      true - value was specified in schema, false - value comes from the infoset
    See Also:
      XML Schema Part 1: Structures [schema specified]

    #### getValidationAttempted

        public short getValidationAttempted()

    Determines the extent to which the document has been validated
    Specified by:
      `getValidationAttempted` in interface `org.apache.xerces.xs.ItemPSVI`
    Returns:
      return the [validation attempted] property. The possible values are NO_VALIDATION, PARTIAL_VALIDATION and FULL_VALIDATION

    #### getValidity

        public short getValidity()

    Determine the validity of the node with respect to the validation being attempted
    Specified by:
      `getValidity` in interface `org.apache.xerces.xs.ItemPSVI`
    Returns:
      return the [validity] property. Possible values are: UNKNOWN_VALIDITY, INVALID_VALIDITY, VALID_VALIDITY

    #### getErrorCodes

        public org.apache.xerces.xs.StringList getErrorCodes()

    A list of error codes generated from validation attempts. Need to find all the possible subclause reports that need reporting
    Specified by:
      `getErrorCodes` in interface `org.apache.xerces.xs.ItemPSVI`
    Returns:
      Array of error codes

    #### getErrorMessages

        public org.apache.xerces.xs.StringList getErrorMessages()

    A list of error messages generated from the validation attempt or an empty `StringList` if no errors occurred during the validation attempt. The indices of error messages in this list are aligned with those in the `[schema error code]` list.
    Specified by:
      `getErrorMessages` in interface `org.apache.xerces.xs.ItemPSVI`

    #### getValidationContext

        public java.lang.String getValidationContext()

    Description copied from interface: `org.apache.xerces.xs.ItemPSVI`
    The nearest ancestor element information item with a `[schema information]` property (or this element item itself if it has such a property). For more information refer to element validation context and attribute validation context .
    Specified by:
      `getValidationContext` in interface `org.apache.xerces.xs.ItemPSVI`

    #### getNil

        public boolean getNil()

    [nil]
    Specified by:
      `getNil` in interface `org.apache.xerces.xs.ElementPSVI`
    Returns:
      true if clause 3.2 of Element Locally Valid (Element) (3.3.4) above is satisfied, otherwise false
    See Also:

      #### getNotation

          public org.apache.xerces.xs.XSNotationDeclaration getNotation()

      [notation]
      Specified by:
        `getNotation` in interface `org.apache.xerces.xs.ElementPSVI`
      Returns:
        The notation declaration.
      See Also:

        #### getTypeDefinition

            public org.apache.xerces.xs.XSTypeDefinition getTypeDefinition()

        An item isomorphic to the type definition used to validate this element.
        Specified by:
          `getTypeDefinition` in interface `org.apache.xerces.xs.ItemPSVI`
        Returns:
          a type declaration

        #### getMemberTypeDefinition

            public org.apache.xerces.xs.XSSimpleTypeDefinition getMemberTypeDefinition()

        If and only if that type definition is a simple type definition with {variety} union, or a complex type definition whose {content type} is a simple thype definition with {variety} union, then an item isomorphic to that member of the union's {member type definitions} which actually validated the element item's normalized value.
        Specified by:
          `getMemberTypeDefinition` in interface `org.apache.xerces.xs.ItemPSVI`
        Returns:
          a simple type declaration

        #### getElementDeclaration

            public org.apache.xerces.xs.XSElementDeclaration getElementDeclaration()

        An item isomorphic to the element declaration used to validate this element.
        Specified by:
          `getElementDeclaration` in interface `org.apache.xerces.xs.ElementPSVI`
        Returns:
          an element declaration

        #### getSchemaInformation

            public org.apache.xerces.xs.XSModel getSchemaInformation()

        [schema information]
        Specified by:
          `getSchemaInformation` in interface `org.apache.xerces.xs.ElementPSVI`
        Returns:
          The schema information property if it's the validation root, null otherwise.
        See Also:
          XML Schema Part 1: Structures [schema information]

        #### getActualNormalizedValue

            public java.lang.Object getActualNormalizedValue()

        Description copied from interface: `org.apache.xerces.xs.ItemPSVI`
        `[schema normalized value]`: Binding specific actual value or `null` if the value is in error.
        Specified by:
          `getActualNormalizedValue` in interface `org.apache.xerces.xs.ItemPSVI`

        #### getActualNormalizedValueType

            public short getActualNormalizedValueType()

        Description copied from interface: `org.apache.xerces.xs.ItemPSVI`
        The actual value built-in datatype, e.g. `STRING_DT, SHORT_DT`. If the type definition of this value is a list type definition, this method returns `LIST_DT`. If the type definition of this value is a list type definition whose item type is a union type definition, this method returns `LISTOFUNION_DT`. To query the actual value of the list or list of union type definitions use `itemValueTypes`. If the `actualNormalizedValue` is `null`, this method returns `UNAVAILABLE_DT`.
        Specified by:
          `getActualNormalizedValueType` in interface `org.apache.xerces.xs.ItemPSVI`

        #### getItemValueTypes

            public org.apache.xerces.xs.ShortList getItemValueTypes()

        Description copied from interface: `org.apache.xerces.xs.ItemPSVI`
        In the case the actual value represents a list, i.e. the `actualNormalizedValueType` is `LIST_DT`, the returned array consists of one type kind which represents the itemType . For example:

             <simpleType name="listtype"> <list
             itemType="positiveInteger"/> </simpleType> <element
             name="list" type="listtype"/> ... <list>1 2 3</list>

        The `schemaNormalizedValue` value is "1 2 3", the `actualNormalizedValueType` value is `LIST_DT`, and the `itemValueTypes` is an array of size 1 with the value `POSITIVEINTEGER_DT`.
        If the actual value represents a list type definition whose item type is a union type definition, i.e. `LISTOFUNION_DT`, for each actual value in the list the array contains the corresponding memberType kind. For example:

             <simpleType
             name='union_type' memberTypes="integer string"/> <simpleType
             name='listOfUnion'> <list itemType='union_type'/>
             </simpleType> <element name="list" type="listOfUnion"/>
             ... <list>1 2 foo</list>

        The `schemaNormalizedValue` value is "1 2 foo", the `actualNormalizedValueType` is `LISTOFUNION_DT` , and the `itemValueTypes` is an array of size 3 with the following values: `INTEGER_DT, INTEGER_DT, STRING_DT`.
        Specified by:
          `getItemValueTypes` in interface `org.apache.xerces.xs.ItemPSVI`

        #### getSchemaValue

            public org.apache.xerces.xs.XSValue getSchemaValue()

        Description copied from interface: `org.apache.xerces.xs.ItemPSVI`
        If this item has a simple type definition or a complex type with simple content, then return the value with respect to the simple type. If this item doesn't have a simple-typed value, the behavior of this method is not specified.
        Specified by:
          `getSchemaValue` in interface `org.apache.xerces.xs.ItemPSVI`

        #### reset

            public void reset()

        Reset() should be called in validator startElement(..) method.

        #### copySchemaInformationTo

            public void copySchemaInformationTo(ElementPSVImpl target)