286N/A/*
286N/A * reserved comment block
286N/A * DO NOT REMOVE OR ALTER!
286N/A */
286N/A/*
286N/A * Copyright 2003,2004 The Apache Software Foundation.
286N/A *
286N/A * Licensed under the Apache License, Version 2.0 (the "License");
286N/A * you may not use this file except in compliance with the License.
286N/A * You may obtain a copy of the License at
286N/A *
286N/A * http://www.apache.org/licenses/LICENSE-2.0
286N/A *
286N/A * Unless required by applicable law or agreed to in writing, software
286N/A * distributed under the License is distributed on an "AS IS" BASIS,
286N/A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
286N/A * See the License for the specific language governing permissions and
286N/A * limitations under the License.
286N/A */
286N/A
286N/Apackage com.sun.org.apache.xerces.internal.xs;
286N/A
286N/A/**
286N/A * This interface represents the Attribute Use schema component.
286N/A */
286N/Apublic interface XSAttributeUse extends XSObject {
286N/A /**
286N/A * [required]: determines whether this use of an attribute declaration
286N/A * requires an appropriate attribute information item to be present, or
286N/A * merely allows it.
286N/A */
286N/A public boolean getRequired();
286N/A
286N/A /**
286N/A * [attribute declaration]: provides the attribute declaration itself,
286N/A * which will in turn determine the simple type definition used.
286N/A */
286N/A public XSAttributeDeclaration getAttrDeclaration();
286N/A
286N/A /**
286N/A * Value Constraint: one of default, fixed.
286N/A */
286N/A public short getConstraintType();
286N/A
286N/A /**
286N/A * Value Constraint: The constraint value, otherwise <code>null</code>.
286N/A */
286N/A public String getConstraintValue();
286N/A
286N/A /**
286N/A * Value Constraint: Binding specific actual constraint value or
286N/A * <code>null</code> if the value is in error or there is no value
286N/A * constraint.
286N/A * @exception XSException
286N/A * NOT_SUPPORTED_ERR: Raised if the implementation does not support this
286N/A * method.
286N/A */
286N/A public Object getActualVC()
286N/A throws XSException;
286N/A
286N/A /**
286N/A * The actual constraint value built-in datatype, e.g.
286N/A * <code>STRING_DT, SHORT_DT</code>. If the type definition of this
286N/A * value is a list type definition, this method returns
286N/A * <code>LIST_DT</code>. If the type definition of this value is a list
286N/A * type definition whose item type is a union type definition, this
286N/A * method returns <code>LISTOFUNION_DT</code>. To query the actual
286N/A * constraint value of the list or list of union type definitions use
286N/A * <code>itemValueTypes</code>. If the <code>actualNormalizedValue</code>
286N/A * is <code>null</code>, this method returns <code>UNAVAILABLE_DT</code>
286N/A * .
286N/A * @exception XSException
286N/A * NOT_SUPPORTED_ERR: Raised if the implementation does not support this
286N/A * method.
286N/A */
286N/A public short getActualVCType()
286N/A throws XSException;
286N/A
286N/A /**
286N/A * In the case the actual constraint value represents a list, i.e. the
286N/A * <code>actualValueType</code> is <code>LIST_DT</code>, the returned
286N/A * array consists of one type kind which represents the itemType. If the
286N/A * actual constraint value represents a list type definition whose item
286N/A * type is a union type definition, i.e. <code>LISTOFUNION_DT</code>,
286N/A * for each actual constraint value in the list the array contains the
286N/A * corresponding memberType kind. For examples, see
286N/A * <code>ItemPSVI.itemValueTypes</code>.
286N/A * @exception XSException
286N/A * NOT_SUPPORTED_ERR: Raised if the implementation does not support this
286N/A * method.
286N/A */
286N/A public ShortList getItemValueTypes()
286N/A throws XSException;
286N/A
286N/A /**
286N/A * A sequence of [annotations] or an empty <code>XSObjectList</code>.
286N/A */
286N/A public XSObjectList getAnnotations();
286N/A}