Class XSAttributeChecker
- java.lang.Object
-
- org.apache.xerces.impl.xs.traversers.XSAttributeChecker
-
public class XSAttributeChecker extends java.lang.ObjectClassXSAttributeCheckis 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 hashtablesINTERNAL:
- 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
Fields Modifier and Type Field Description static intATTIDX_ABSTRACTstatic intATTIDX_AFORMDEFAULTstatic intATTIDX_BASEstatic intATTIDX_BLOCKstatic intATTIDX_BLOCKDEFAULTstatic intATTIDX_DEFAULTstatic intATTIDX_EFORMDEFAULTstatic intATTIDX_ENUMNSDECLSstatic intATTIDX_FINALstatic intATTIDX_FINALDEFAULTstatic intATTIDX_FIXEDstatic intATTIDX_FORMstatic intATTIDX_FROMDEFAULTstatic intATTIDX_IDstatic intATTIDX_ISRETURNEDstatic intATTIDX_ITEMTYPEstatic intATTIDX_MAXOCCURSstatic intATTIDX_MEMBERTYPESstatic intATTIDX_MINOCCURSstatic intATTIDX_MIXEDstatic intATTIDX_NAMEstatic intATTIDX_NAMESPACEstatic intATTIDX_NAMESPACE_LISTstatic intATTIDX_NILLABLEstatic intATTIDX_NONSCHEMAstatic intATTIDX_PROCESSCONTENTSstatic intATTIDX_PUBLICstatic intATTIDX_REFstatic intATTIDX_REFERstatic intATTIDX_SCHEMALOCATIONstatic intATTIDX_SOURCEstatic intATTIDX_SUBSGROUPstatic intATTIDX_SYSTEMstatic intATTIDX_TARGETNAMESPACEstatic intATTIDX_TYPEstatic intATTIDX_USEstatic intATTIDX_VALUEstatic intATTIDX_VERSIONstatic intATTIDX_XML_LANGstatic intATTIDX_XPATHprotected static intDT_ANYURIprotected static intDT_BLOCKprotected static intDT_BLOCK1protected static intDT_BOOLEANprotected static intDT_COUNTprotected static intDT_FINALprotected static intDT_FINAL1protected static intDT_FINAL2protected static intDT_FORMprotected static intDT_IDprotected static intDT_LANGUAGEprotected static intDT_MAXOCCURSprotected static intDT_MAXOCCURS1protected static intDT_MEMBERTYPESprotected static intDT_MINOCCURS1protected static intDT_NAMESPACEprotected static intDT_NCNAMEprotected static intDT_NONNEGINTprotected static intDT_POSINTprotected static intDT_PROCESSCONTENTSprotected static intDT_QNAMEprotected static intDT_STRINGprotected static intDT_TOKENprotected static intDT_USEprotected static intDT_WHITESPACEprotected static intDT_XPATHprotected static intDT_XPATH1protected java.util.VectorfNamespaceListprotected java.util.HashtablefNonSchemaAttrsprotected XSDHandlerfSchemaHandlerprotected boolean[]fSeenprotected SymbolTablefSymbolTable
-
Constructor Summary
Constructors Constructor Description XSAttributeChecker(XSDHandler schemaHandler)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.voidcheckNonSchemaAttributes(XSGrammarBucket grammarBucket)protected java.lang.Object[]getAvailableArray()static java.lang.Stringnormalize(java.lang.String content, short ws)voidreset(SymbolTable symbolTable)voidresolveNamespace(org.w3c.dom.Element element, org.w3c.dom.Attr[] attrs, SchemaNamespaceSupport nsSupport)voidreturnAttrArray(java.lang.Object[] attrArray, org.apache.xerces.impl.xs.traversers.XSDocumentInfo schemaDoc)
-
-
-
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
- See Also:
- Constant Field Values
-
DT_ID
protected static final int DT_ID
- See Also:
- Constant Field Values
-
DT_QNAME
protected static final int DT_QNAME
- See Also:
- Constant Field Values
-
DT_STRING
protected static final int DT_STRING
- See Also:
- Constant Field Values
-
DT_TOKEN
protected static final int DT_TOKEN
- See Also:
- Constant Field Values
-
DT_NCNAME
protected static final int DT_NCNAME
- See Also:
- Constant Field Values
-
DT_XPATH
protected static final int DT_XPATH
- See Also:
- Constant Field Values
-
DT_XPATH1
protected static final int DT_XPATH1
- See Also:
- Constant Field Values
-
DT_LANGUAGE
protected static final int DT_LANGUAGE
- See Also:
- Constant Field Values
-
DT_COUNT
protected static final int DT_COUNT
- See Also:
- Constant Field Values
-
DT_BLOCK
protected static final int DT_BLOCK
- See Also:
- Constant Field Values
-
DT_BLOCK1
protected static final int DT_BLOCK1
- See Also:
- Constant Field Values
-
DT_FINAL
protected static final int DT_FINAL
- See Also:
- Constant Field Values
-
DT_FINAL1
protected static final int DT_FINAL1
- See Also:
- Constant Field Values
-
DT_FINAL2
protected static final int DT_FINAL2
- See Also:
- Constant Field Values
-
DT_FORM
protected static final int DT_FORM
- See Also:
- Constant Field Values
-
DT_MAXOCCURS
protected static final int DT_MAXOCCURS
- See Also:
- Constant Field Values
-
DT_MAXOCCURS1
protected static final int DT_MAXOCCURS1
- See Also:
- Constant Field Values
-
DT_MEMBERTYPES
protected static final int DT_MEMBERTYPES
- See Also:
- Constant Field Values
-
DT_MINOCCURS1
protected static final int DT_MINOCCURS1
- See Also:
- Constant Field Values
-
DT_NAMESPACE
protected static final int DT_NAMESPACE
- See Also:
- Constant Field Values
-
DT_PROCESSCONTENTS
protected static final int DT_PROCESSCONTENTS
- See Also:
- Constant Field Values
-
DT_USE
protected static final int DT_USE
- See Also:
- Constant Field Values
-
DT_WHITESPACE
protected static final int DT_WHITESPACE
- See Also:
- Constant Field Values
-
DT_BOOLEAN
protected static final int DT_BOOLEAN
- See Also:
- Constant Field Values
-
DT_NONNEGINT
protected static final int DT_NONNEGINT
- See Also:
- Constant Field Values
-
DT_POSINT
protected static final int DT_POSINT
- See Also:
- Constant Field Values
-
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 callreturnAttrArrayto return that array.- Parameters:
element- which element to checkisGlobal- 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 callreturnAttrArrayto 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 checkisGlobal- whether a child of <schema> or <redefine>schemaDoc- the document where the element lives inenumAsQName- 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)
-
-