xssimpletype.java
来自「JAVA的一些源码 JAVA2 STANDARD EDITION DEVELO」· Java 代码 · 共 239 行
JAVA
239 行
/* * The Apache Software License, Version 1.1 * * * Copyright (c) 2001, 2002 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) 1999, 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.dv;import com.sun.org.apache.xerces.internal.xs.XSSimpleTypeDefinition;/** * This interface <code>XSSimpleType</code> represents the simple type * definition of schema component and defines methods to query the information * contained. * Any simple type (atomic, list or union) will implement this interface. * It inherits from <code>XSTypeDecl</code>. * * @author Sandy Gao, IBM * * @version $Id: XSSimpleType.java,v 1.13 2003/11/11 20:14:58 sandygao Exp $ */public interface XSSimpleType extends XSSimpleTypeDefinition { /** * constants defined for the values of 'whitespace' facet. * see <a href='http://www.w3.org/TR/xmlschema-2/#dt-whiteSpace'> XML Schema * Part 2: Datatypes </a> */ /** preserve the white spaces */ public static final short WS_PRESERVE = 0; /** replace the white spaces */ public static final short WS_REPLACE = 1; /** collapse the white spaces */ public static final short WS_COLLAPSE = 2; /** * Constant defined for the primitive built-in simple tpyes. * see <a href='http://www.w3.org/TR/xmlschema-2/#built-in-primitive-datatypes'> * XML Schema Part 2: Datatypes </a> */ /** "string" type */ public static final short PRIMITIVE_STRING = 1; /** "boolean" type */ public static final short PRIMITIVE_BOOLEAN = 2; /** "decimal" type */ public static final short PRIMITIVE_DECIMAL = 3; /** "float" type */ public static final short PRIMITIVE_FLOAT = 4; /** "double" type */ public static final short PRIMITIVE_DOUBLE = 5; /** "duration" type */ public static final short PRIMITIVE_DURATION = 6; /** "dataTime" type */ public static final short PRIMITIVE_DATETIME = 7; /** "time" type */ public static final short PRIMITIVE_TIME = 8; /** "date" type */ public static final short PRIMITIVE_DATE = 9; /** "gYearMonth" type */ public static final short PRIMITIVE_GYEARMONTH = 10; /** "gYear" type */ public static final short PRIMITIVE_GYEAR = 11; /** "gMonthDay" type */ public static final short PRIMITIVE_GMONTHDAY = 12; /** "gDay" type */ public static final short PRIMITIVE_GDAY = 13; /** "gMonth" type */ public static final short PRIMITIVE_GMONTH = 14; /** "hexBinary" type */ public static final short PRIMITIVE_HEXBINARY = 15; /** "base64Binary" type */ public static final short PRIMITIVE_BASE64BINARY = 16; /** "anyURI" type */ public static final short PRIMITIVE_ANYURI = 17; /** "QName" type */ public static final short PRIMITIVE_QNAME = 18; /** "NOTATION" type */ public static final short PRIMITIVE_NOTATION = 19; /** * return an ID representing the built-in primitive base type. * REVISIT: This method is (currently) for internal use only. * the constants returned from this method are not finalized yet. * the names and values might change in the further. * * @return an ID representing the built-in primitive base type */ public short getPrimitiveKind(); /** * validate a given string against this simple type. * * @param content the string value that needs to be validated * @param context the validation context * @param validatedInfo used to store validation result * * @return the actual value (QName, Boolean) of the string value */ public Object validate(String content, ValidationContext context, ValidatedInfo validatedInfo) throws InvalidDatatypeValueException; /** * validate a given string value, represented by content.toString(). * note that if content is a StringBuffer, for performance reasons, * it's possible that the content of the string buffer is modified. * * @param content the string value that needs to be validated * @param context the validation context * @param validatedInfo used to store validation result * * @return the actual value (QName, Boolean) of the string value */ public Object validate(Object content, ValidationContext context, ValidatedInfo validatedInfo) throws InvalidDatatypeValueException; /** * validate an actual value against this simple type. * * @param value the actual value that needs to be validated * @param context the validation context * @param validatedInfo used to provide the actual value and member types * @exception InvalidDatatypeValueException exception for invalid values. */ public void validate(ValidationContext context, ValidatedInfo validatedInfo) throws InvalidDatatypeValueException; /** * If this type is created from restriction, then some facets can be applied * to the simple type. <code>XSFacets</code> is used to pass the value of * different facets. * * @param facets the value of all the facets * @param presentFacets bit combination value of the costraining facet * constants which are present. * @param fixedFacets bit combination value of the costraining facet * constants which are fixed. * @param ValidationContext the validation context * @exception InvalidDatatypeFacetException exception for invalid facet values. */ public void applyFacets(XSFacets facets, short presentFacet, short fixedFacet, ValidationContext context) throws InvalidDatatypeFacetException; /** * Check whether two actual values are equal. * * @param value1 the first value * @param value2 the second value * @return true if the two value are equal */ public boolean isEqual(Object value1, Object value2); /** * Check the order of the two actual values. (May not be supported by all * simple types. * REVISIT: Andy believes that a compare() method is necessary. * I don't see the necessity for schema (the only place where we * need to compare two values is to check min/maxIn/Exclusive * facets, but we only need a private method for this case.) * But Andy thinks XPATH potentially needs this compare() method. * * @param value1 the first value * @prarm value2 the second value * @return > 0 if value1 > value2 * = 0 if value1 == value2 * < = if value1 < value2 */ //public short compare(Object value1, Object value2); /** * Check whether this type is or is derived from ID. * REVISIT: this method makes ID special, which is not a good design. * but since ID is not a primitive, there doesn't seem to be a * clean way of doing it except to define special method like this. * * @return whether this simple type is or is derived from ID. */ public boolean isIDType(); /** * Return the whitespace corresponding to this datatype. * * @return valid values are WS_PRESERVE, WS_REPLACE, WS_COLLAPSE. * @exception DatatypeException * union datatypes don't have whitespace facet associated with them */ public short getWhitespace() throws DatatypeException;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?