xsattributedecl.java

来自「JAVA的一些源码 JAVA2 STANDARD EDITION DEVELO」· Java 代码 · 共 220 行

JAVA
220
字号
/* * The Apache Software License, Version 1.1 * * * Copyright (c) 2001-2003 The Apache Software Foundation.  All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in *    the documentation and/or other materials provided with the *    distribution. * * 3. The end-user documentation included with the redistribution, *    if any, must include the following acknowledgment: *       "This product includes software developed by the *        Apache Software Foundation (http://www.apache.org/)." *    Alternately, this acknowledgment may appear in the software itself, *    if and wherever such third-party acknowledgments normally appear. * * 4. The names "Xerces" and "Apache Software Foundation" must *    not be used to endorse or promote products derived from this *    software without prior written permission. For written *    permission, please contact apache@apache.org. * * 5. Products derived from this software may not be called "Apache", *    nor may "Apache" appear in their name, without prior written *    permission of the Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation and was * originally based on software copyright (c) 2001, International * Business Machines, Inc., http://www.apache.org.  For more * information on the Apache Software Foundation, please see * <http://www.apache.org/>. */package com.sun.org.apache.xerces.internal.impl.xs;import com.sun.org.apache.xerces.internal.impl.dv.XSSimpleType;import com.sun.org.apache.xerces.internal.xs.*;import com.sun.org.apache.xerces.internal.impl.dv.ValidatedInfo;/** * The XML representation for an attribute declaration * schema component is an <attribute> element information item * * @author Elena Litani, IBM * @author Sandy Gao, IBM * @version $Id: XSAttributeDecl.java,v 1.15 2003/11/12 23:17:33 sandygao Exp $ */public class XSAttributeDecl implements XSAttributeDeclaration {    // scopes    public final static short     SCOPE_ABSENT        = 0;    public final static short     SCOPE_GLOBAL        = 1;    public final static short     SCOPE_LOCAL         = 2;    // the name of the attribute    String fName = null;    // the target namespace of the attribute    String fTargetNamespace = null;    // the simple type of the attribute    XSSimpleType fType = null;    // value constraint type: default, fixed or !specified    short fConstraintType = XSConstants.VC_NONE;    // scope    short fScope = XSConstants.SCOPE_ABSENT;    // enclosing complex type, when the scope is local    XSComplexTypeDecl fEnclosingCT = null;    // optional annotation    XSAnnotationImpl fAnnotation = null;    // value constraint value    ValidatedInfo fDefault = null;    public void setValues(String name, String targetNamespace,            XSSimpleType simpleType, short constraintType, short scope,            ValidatedInfo valInfo, XSComplexTypeDecl enclosingCT,            XSAnnotationImpl annotation) {         fName = name;        fTargetNamespace = targetNamespace;        fType = simpleType;        fConstraintType = constraintType;        fScope = scope;        fDefault = valInfo;        fEnclosingCT = enclosingCT;        fAnnotation = annotation;    }    public void reset(){        fName = null;        fTargetNamespace = null;        fType = null;        fConstraintType = XSConstants.VC_NONE;        fScope = XSConstants.SCOPE_ABSENT;        fDefault = null;        fAnnotation = null;    }    /**     * Get the type of the object, i.e ELEMENT_DECLARATION.     */    public short getType() {        return XSConstants.ATTRIBUTE_DECLARATION;    }    /**     * The <code>name</code> of this <code>XSObject</code> depending on the     * <code>XSObject</code> type.     */    public String getName() {        return fName;    }    /**     * The namespace URI of this node, or <code>null</code> if it is     * unspecified.  defines how a namespace URI is attached to schema     * components.     */    public String getNamespace() {        return fTargetNamespace;    }    /**     * A simple type definition     */    public XSSimpleTypeDefinition getTypeDefinition() {        return fType;    }    /**     * Optional. Either global or a complex type definition (     * <code>ctDefinition</code>). This property is absent in the case of     * declarations within attribute group definitions: their scope will be     * determined when they are used in the construction of complex type     * definitions.     */    public short getScope() {        return fScope;    }    /**     * Locally scoped declarations are available for use only within the     * complex type definition identified by the <code>scope</code>     * property.     */    public XSComplexTypeDefinition getEnclosingCTDefinition() {        return fEnclosingCT;    }    /**     * Value constraint: one of default, fixed.     */    public short getConstraintType() {        return fConstraintType;    }    /**     * Value constraint: The actual value (with respect to the {type     * definition}) Should we return Object instead of DOMString?     */    public String getConstraintValue() {        // REVISIT: SCAPI: what's the proper representation        return getConstraintType() == XSConstants.VC_NONE ?               null :               fDefault.stringValue();    }    /**     * Optional. Annotation.     */    public XSAnnotation getAnnotation() {        return fAnnotation;    }        public ValidatedInfo getValInfo() {        return fDefault;    }    /**     * @see com.sun.org.apache.xerces.internal.xs.XSObject#getNamespaceItem()     */    public XSNamespaceItem getNamespaceItem() {        // REVISIT: implement        return null;    }    public Object getActualVC() {        return fDefault.actualValue;    }    public short getActualVCType() {        return fDefault.actualValueType;    }    public ShortList getItemValueTypes() {        return fDefault.itemValueTypes;    }} // class XSAttributeDecl

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?