⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 schemadvfactoryimpl.java

📁 java1.6众多例子参考
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * Copyright 2001-2005 The Apache Software Foundation. *  * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at *  *      http://www.apache.org/licenses/LICENSE-2.0 *  * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package com.sun.org.apache.xerces.internal.impl.dv.xs;import com.sun.org.apache.xerces.internal.impl.Constants;import com.sun.org.apache.xerces.internal.impl.dv.SchemaDVFactory;import com.sun.org.apache.xerces.internal.impl.dv.XSFacets;import com.sun.org.apache.xerces.internal.impl.dv.XSSimpleType;import com.sun.org.apache.xerces.internal.impl.xs.XSDeclarationPool;import com.sun.org.apache.xerces.internal.util.SymbolHash;import com.sun.org.apache.xerces.internal.xs.XSConstants;import com.sun.org.apache.xerces.internal.xs.XSObjectList;/** * the factory to create/return built-in schema DVs and create user-defined DVs *  * @xerces.internal  * * @author Neeraj Bajaj, Sun Microsystems, inc. * @author Sandy Gao, IBM * * @version $Id: SchemaDVFactoryImpl.java,v 1.2.6.1 2005/09/06 11:43:08 neerajbj Exp $ */public class SchemaDVFactoryImpl extends SchemaDVFactory {    static final String URI_SCHEMAFORSCHEMA = "http://www.w3.org/2001/XMLSchema";    static SymbolHash fBuiltInTypes = new SymbolHash();    static {        createBuiltInTypes();    }    protected XSDeclarationPool fDeclPool = null;    /**     * Get a built-in simple type of the given name     * REVISIT: its still not decided within the Schema WG how to define the     *          ur-types and if all simple types should be derived from a     *          complex type, so as of now we ignore the fact that anySimpleType     *          is derived from anyType, and pass 'null' as the base of     *          anySimpleType. It needs to be changed as per the decision taken.     *     * @param name  the name of the datatype     * @return      the datatype validator of the given name     */    public XSSimpleType getBuiltInType(String name) {        return (XSSimpleType)fBuiltInTypes.get(name);    }    /**     * get all built-in simple types, which are stored in a hashtable keyed by     * the name     *     * @return      a hashtable which contains all built-in simple types     */    public SymbolHash getBuiltInTypes() {        return (SymbolHash)fBuiltInTypes.makeClone();    }    /**     * Create a new simple type which is derived by restriction from another     * simple type.     *     * @param name              name of the new type, could be null     * @param targetNamespace   target namespace of the new type, could be null     * @param finalSet          value of "final"     * @param base              base type of the new type     * @param annotations       set of annotations     * @return                  the newly created simple type     */    public XSSimpleType createTypeRestriction(String name, String targetNamespace,                                              short finalSet, XSSimpleType base, XSObjectList annotations) {                if (fDeclPool != null) {           XSSimpleTypeDecl st= fDeclPool.getSimpleTypeDecl();           return st.setRestrictionValues((XSSimpleTypeDecl)base, name, targetNamespace, finalSet, annotations);        }        return new XSSimpleTypeDecl((XSSimpleTypeDecl)base, name, targetNamespace, finalSet, false, annotations);    }    /**     * Create a new simple type which is derived by list from another simple     * type.     *     * @param name              name of the new type, could be null     * @param targetNamespace   target namespace of the new type, could be null     * @param finalSet          value of "final"     * @param itemType          item type of the list type     * @param annotations       set of annotations     * @return                  the newly created simple type     */    public XSSimpleType createTypeList(String name, String targetNamespace,                                       short finalSet, XSSimpleType itemType,                                       XSObjectList annotations) {        if (fDeclPool != null) {           XSSimpleTypeDecl st= fDeclPool.getSimpleTypeDecl();           return st.setListValues(name, targetNamespace, finalSet, (XSSimpleTypeDecl)itemType, annotations);        }        return new XSSimpleTypeDecl(name, targetNamespace, finalSet, (XSSimpleTypeDecl)itemType, false, annotations);    }    /**     * Create a new simple type which is derived by union from a list of other     * simple types.     *     * @param name              name of the new type, could be null     * @param targetNamespace   target namespace of the new type, could be null     * @param finalSet          value of "final"     * @param memberTypes       member types of the union type     * @param annotations       set of annotations     * @return                  the newly created simple type     */    public XSSimpleType createTypeUnion(String name, String targetNamespace,                                        short finalSet, XSSimpleType[] memberTypes,                                        XSObjectList annotations) {        int typeNum = memberTypes.length;        XSSimpleTypeDecl[] mtypes = new XSSimpleTypeDecl[typeNum];        System.arraycopy(memberTypes, 0, mtypes, 0, typeNum);        if (fDeclPool != null) {           XSSimpleTypeDecl st= fDeclPool.getSimpleTypeDecl();           return st.setUnionValues(name, targetNamespace, finalSet, mtypes, annotations);        }        return new XSSimpleTypeDecl(name, targetNamespace, finalSet, mtypes, annotations);    }    // create all built-in types    static void createBuiltInTypes() {        // all schema simple type names        final String ANYSIMPLETYPE     = "anySimpleType";        final String ANYATOMICTYPE	   = "anyAtomicType";        final String ANYURI            = "anyURI";        final String BASE64BINARY      = "base64Binary";        final String BOOLEAN           = "boolean";        final String BYTE              = "byte";        final String DATE              = "date";        final String DATETIME          = "dateTime";        final String DAY               = "gDay";        final String DECIMAL           = "decimal";        final String DOUBLE            = "double";        final String DURATION          = "duration";        final String ENTITY            = "ENTITY";        final String ENTITIES          = "ENTITIES";        final String FLOAT             = "float";        final String HEXBINARY         = "hexBinary";        final String ID                = "ID";        final String IDREF             = "IDREF";        final String IDREFS            = "IDREFS";        final String INT               = "int";        final String INTEGER           = "integer";        final String LONG              = "long";        final String NAME              = "Name";        final String NEGATIVEINTEGER   = "negativeInteger";        final String MONTH             = "gMonth";        final String MONTHDAY          = "gMonthDay";        final String NCNAME            = "NCName";        final String NMTOKEN           = "NMTOKEN";        final String NMTOKENS          = "NMTOKENS";        final String LANGUAGE          = "language";        final String NONNEGATIVEINTEGER= "nonNegativeInteger";        final String NONPOSITIVEINTEGER= "nonPositiveInteger";        final String NORMALIZEDSTRING  = "normalizedString";        final String NOTATION          = "NOTATION";        final String POSITIVEINTEGER   = "positiveInteger";        final String QNAME             = "QName";        final String SHORT             = "short";        final String STRING            = "string";        final String TIME              = "time";        final String TOKEN             = "token";        final String UNSIGNEDBYTE      = "unsignedByte";        final String UNSIGNEDINT       = "unsignedInt";        final String UNSIGNEDLONG      = "unsignedLong";        final String UNSIGNEDSHORT     = "unsignedShort";        final String YEAR              = "gYear";        final String YEARMONTH         = "gYearMonth";

⌨️ 快捷键说明

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