## org.apache.xerces.impl.xs.traversers
Class XSAttributeChecker

    java.lang.Object
      |
      +--org.apache.xerces.impl.xs.traversers.XSAttributeChecker

public class XSAttributeChecker
extends java.lang.Object

Class `XSAttributeCheck` is used to check the validity of attributes appearing in the schema document. It - reports an error for invalid element (invalid namespace, invalid name) - reports an error for invalid attribute (invalid namespace, invalid name) - reports an error for invalid attribute value - return compiled values for attriute values - provide default value for missing optional attributes - provide default value for incorrect attribute values But it's the caller's responsibility to check whether a required attribute is present. Things need revisiting: - Whether to return non-schema attributes/values - Do we need to update NamespaceScope and ErrorReporter when reset()? - Should have the datatype validators return compiled value - use symbol table instead of many hashtables

# INTERNAL:

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

Version:
  $Id: XSAttributeChecker.java 704619 2008-10-14 18:59:35Z mrglavas $
Author:
  Sandy Gao, IBM

Field Summary
`static int` `ATTIDX_ABSTRACT`
`static int` `ATTIDX_AFORMDEFAULT`
`static int` `ATTIDX_BASE`
`static int` `ATTIDX_BLOCK`
`static int` `ATTIDX_BLOCKDEFAULT`
`static int` `ATTIDX_DEFAULT`
`static int` `ATTIDX_EFORMDEFAULT`
`static int` `ATTIDX_ENUMNSDECLS`
`static int` `ATTIDX_FINAL`
`static int` `ATTIDX_FINALDEFAULT`
`static int` `ATTIDX_FIXED`
`static int` `ATTIDX_FORM`
`static int` `ATTIDX_FROMDEFAULT`
`static int` `ATTIDX_ID`
`static int` `ATTIDX_ISRETURNED`
`static int` `ATTIDX_ITEMTYPE`
`static int` `ATTIDX_MAXOCCURS`
`static int` `ATTIDX_MEMBERTYPES`
`static int` `ATTIDX_MINOCCURS`
`static int` `ATTIDX_MIXED`
`static int` `ATTIDX_NAME`
`static int` `ATTIDX_NAMESPACE`
`static int` `ATTIDX_NAMESPACE_LIST`
`static int` `ATTIDX_NILLABLE`
`static int` `ATTIDX_NONSCHEMA`
`static int` `ATTIDX_PROCESSCONTENTS`
`static int` `ATTIDX_PUBLIC`
`static int` `ATTIDX_REF`
`static int` `ATTIDX_REFER`
`static int` `ATTIDX_SCHEMALOCATION`
`static int` `ATTIDX_SOURCE`
`static int` `ATTIDX_SUBSGROUP`
`static int` `ATTIDX_SYSTEM`
`static int` `ATTIDX_TARGETNAMESPACE`
`static int` `ATTIDX_TYPE`
`static int` `ATTIDX_USE`
`static int` `ATTIDX_VALUE`
`static int` `ATTIDX_VERSION`
`static int` `ATTIDX_XML_LANG`
`static int` `ATTIDX_XPATH`
`protected static int` `DT_ANYURI`
`protected static int` `DT_BLOCK`
`protected static int` `DT_BLOCK1`
`protected static int` `DT_BOOLEAN`
`protected static int` `DT_COUNT`
`protected static int` `DT_FINAL`
`protected static int` `DT_FINAL1`
`protected static int` `DT_FINAL2`
`protected static int` `DT_FORM`
`protected static int` `DT_ID`
`protected static int` `DT_LANGUAGE`
`protected static int` `DT_MAXOCCURS`
`protected static int` `DT_MAXOCCURS1`
`protected static int` `DT_MEMBERTYPES`
`protected static int` `DT_MINOCCURS1`
`protected static int` `DT_NAMESPACE`
`protected static int` `DT_NCNAME`
`protected static int` `DT_NONNEGINT`
`protected static int` `DT_POSINT`
`protected static int` `DT_PROCESSCONTENTS`
`protected static int` `DT_QNAME`
`protected static int` `DT_STRING`
`protected static int` `DT_TOKEN`
`protected static int` `DT_USE`
`protected static int` `DT_WHITESPACE`
`protected static int` `DT_XPATH`
`protected static int` `DT_XPATH1`
`protected java.util.Vector` `fNamespaceList`
`protected java.util.Hashtable` `fNonSchemaAttrs`
`protected XSDHandler` `fSchemaHandler`
`protected boolean[]` `fSeen`
`protected SymbolTable` `fSymbolTable`

Constructor Summary
`XSAttributeChecker(XSDHandler schemaHandler)`

Method Summary
`java.lang.Object[]` `checkAttributes(org.w3c.dom.Element element, boolean isGlobal, org.apache.xerces.impl.xs.traversers.XSDocumentInfo schemaDoc)` Check whether the specified element conforms to the attributes restriction an array of attribute values is returned.
`java.lang.Object[]` `checkAttributes(org.w3c.dom.Element element, boolean isGlobal, org.apache.xerces.impl.xs.traversers.XSDocumentInfo schemaDoc, boolean enumAsQName)` Check whether the specified element conforms to the attributes restriction an array of attribute values is returned.
`void` `checkNonSchemaAttributes(XSGrammarBucket grammarBucket)`
`protected java.lang.Object[]` `getAvailableArray()`
`static java.lang.String` `normalize(java.lang.String content, short ws)`
`void` `reset(SymbolTable symbolTable)`
`void` `resolveNamespace(org.w3c.dom.Element element, org.w3c.dom.Attr[] attrs, SchemaNamespaceSupport nsSupport)`
`void` `returnAttrArray(java.lang.Object[] attrArray, org.apache.xerces.impl.xs.traversers.XSDocumentInfo schemaDoc)`

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

Field Detail

### ATTIDX_ABSTRACT

    public static final int ATTIDX_ABSTRACT

### ATTIDX_AFORMDEFAULT

    public static final int ATTIDX_AFORMDEFAULT

### ATTIDX_BASE

    public static final int ATTIDX_BASE

### ATTIDX_BLOCK

    public static final int ATTIDX_BLOCK

### ATTIDX_BLOCKDEFAULT

    public static final int ATTIDX_BLOCKDEFAULT

### ATTIDX_DEFAULT

    public static final int ATTIDX_DEFAULT

### ATTIDX_EFORMDEFAULT

    public static final int ATTIDX_EFORMDEFAULT

### ATTIDX_FINAL

    public static final int ATTIDX_FINAL

### ATTIDX_FINALDEFAULT

    public static final int ATTIDX_FINALDEFAULT

### ATTIDX_FIXED

    public static final int ATTIDX_FIXED

### ATTIDX_FORM

    public static final int ATTIDX_FORM

### ATTIDX_ID

    public static final int ATTIDX_ID

### ATTIDX_ITEMTYPE

    public static final int ATTIDX_ITEMTYPE

### ATTIDX_MAXOCCURS

    public static final int ATTIDX_MAXOCCURS

### ATTIDX_MEMBERTYPES

    public static final int ATTIDX_MEMBERTYPES

### ATTIDX_MINOCCURS

    public static final int ATTIDX_MINOCCURS

### ATTIDX_MIXED

    public static final int ATTIDX_MIXED

### ATTIDX_NAME

    public static final int ATTIDX_NAME

### ATTIDX_NAMESPACE

    public static final int ATTIDX_NAMESPACE

### ATTIDX_NAMESPACE_LIST

    public static final int ATTIDX_NAMESPACE_LIST

### ATTIDX_NILLABLE

    public static final int ATTIDX_NILLABLE

### ATTIDX_NONSCHEMA

    public static final int ATTIDX_NONSCHEMA

### ATTIDX_PROCESSCONTENTS

    public static final int ATTIDX_PROCESSCONTENTS

### ATTIDX_PUBLIC

    public static final int ATTIDX_PUBLIC

### ATTIDX_REF

    public static final int ATTIDX_REF

### ATTIDX_REFER

    public static final int ATTIDX_REFER

### ATTIDX_SCHEMALOCATION

    public static final int ATTIDX_SCHEMALOCATION

### ATTIDX_SOURCE

    public static final int ATTIDX_SOURCE

### ATTIDX_SUBSGROUP

    public static final int ATTIDX_SUBSGROUP

### ATTIDX_SYSTEM

    public static final int ATTIDX_SYSTEM

### ATTIDX_TARGETNAMESPACE

    public static final int ATTIDX_TARGETNAMESPACE

### ATTIDX_TYPE

    public static final int ATTIDX_TYPE

### ATTIDX_USE

    public static final int ATTIDX_USE

### ATTIDX_VALUE

    public static final int ATTIDX_VALUE

### ATTIDX_ENUMNSDECLS

    public static final int ATTIDX_ENUMNSDECLS

### ATTIDX_VERSION

    public static final int ATTIDX_VERSION

### ATTIDX_XML_LANG

    public static final int ATTIDX_XML_LANG

### ATTIDX_XPATH

    public static final int ATTIDX_XPATH

### ATTIDX_FROMDEFAULT

    public static final int ATTIDX_FROMDEFAULT

### ATTIDX_ISRETURNED

    public static final int ATTIDX_ISRETURNED

### DT_ANYURI

    protected static final int DT_ANYURI

### DT_ID

    protected static final int DT_ID

### DT_QNAME

    protected static final int DT_QNAME

### DT_STRING

    protected static final int DT_STRING

### DT_TOKEN

    protected static final int DT_TOKEN

### DT_NCNAME

    protected static final int DT_NCNAME

### DT_XPATH

    protected static final int DT_XPATH

### DT_XPATH1

    protected static final int DT_XPATH1

### DT_LANGUAGE

    protected static final int DT_LANGUAGE

### DT_COUNT

    protected static final int DT_COUNT

### DT_BLOCK

    protected static final int DT_BLOCK

### DT_BLOCK1

    protected static final int DT_BLOCK1

### DT_FINAL

    protected static final int DT_FINAL

### DT_FINAL1

    protected static final int DT_FINAL1

### DT_FINAL2

    protected static final int DT_FINAL2

### DT_FORM

    protected static final int DT_FORM

### DT_MAXOCCURS

    protected static final int DT_MAXOCCURS

### DT_MAXOCCURS1

    protected static final int DT_MAXOCCURS1

### DT_MEMBERTYPES

    protected static final int DT_MEMBERTYPES

### DT_MINOCCURS1

    protected static final int DT_MINOCCURS1

### DT_NAMESPACE

    protected static final int DT_NAMESPACE

### DT_PROCESSCONTENTS

    protected static final int DT_PROCESSCONTENTS

### DT_USE

    protected static final int DT_USE

### DT_WHITESPACE

    protected static final int DT_WHITESPACE

### DT_BOOLEAN

    protected static final int DT_BOOLEAN

### DT_NONNEGINT

    protected static final int DT_NONNEGINT

### DT_POSINT

    protected static final int DT_POSINT

### fSchemaHandler

    protected XSDHandler fSchemaHandler

### fSymbolTable

    protected SymbolTable fSymbolTable

### fNonSchemaAttrs

    protected java.util.Hashtable fNonSchemaAttrs

### fNamespaceList

    protected java.util.Vector fNamespaceList

### fSeen

    protected boolean[] fSeen

Constructor Detail

### XSAttributeChecker

    public XSAttributeChecker(XSDHandler schemaHandler)

Method Detail

### reset

    public void reset(SymbolTable symbolTable)

### checkAttributes

    public java.lang.Object[] checkAttributes(org.w3c.dom.Element element,
                                              boolean isGlobal,
                                              org.apache.xerces.impl.xs.traversers.XSDocumentInfo schemaDoc)

  Check whether the specified element conforms to the attributes restriction an array of attribute values is returned. the caller must call `returnAttrArray` to return that array.
  Parameters:
    `element` - which element to check
    `isGlobal` - whether a child of <schema> or <redefine>
    `schemaDoc` - the document where the element lives in
  Returns:
    an array containing attribute values

### checkAttributes

    public java.lang.Object[] checkAttributes(org.w3c.dom.Element element,
                                              boolean isGlobal,
                                              org.apache.xerces.impl.xs.traversers.XSDocumentInfo schemaDoc,
                                              boolean enumAsQName)

  Check whether the specified element conforms to the attributes restriction an array of attribute values is returned. the caller must call `returnAttrArray` to return that array. This method also takes an extra parameter: if the element is "enumeration", whether to make a copy of the namespace context, so that the value can be resolved as a QName later.
  Parameters:
    `element` - which element to check
    `isGlobal` - whether a child of <schema> or <redefine>
    `schemaDoc` - the document where the element lives in
    `enumAsQName` - whether to tread enumeration value as QName
  Returns:
    an array containing attribute values

### checkNonSchemaAttributes

    public void checkNonSchemaAttributes(XSGrammarBucket grammarBucket)

### normalize

    public static java.lang.String normalize(java.lang.String content,
                                             short ws)

### getAvailableArray

    protected java.lang.Object[] getAvailableArray()

### returnAttrArray

    public void returnAttrArray(java.lang.Object[] attrArray,
                                org.apache.xerces.impl.xs.traversers.XSDocumentInfo schemaDoc)

### resolveNamespace

    public void resolveNamespace(org.w3c.dom.Element element,
                                 org.w3c.dom.Attr[] attrs,
                                 SchemaNamespaceSupport nsSupport)

Copyright © 1999-2010 The Apache Software Foundation. All Rights Reserved.