org.apache.xerces.xs.XSValue Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xerces2-xsd11 Show documentation
Show all versions of xerces2-xsd11 Show documentation
A processor for parsing, validating, serializing and manipulating XML, written in Java
The newest version!
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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 org.apache.xerces.xs;
/**
* Represents an actual value of a simple type.
*/
public interface XSValue {
/**
* The schema normalized value.
*/
public String getNormalizedValue();
/**
* The actual value. null
if the value is in error.
*/
public Object getActualValue();
/**
* The declared simple type definition used to validate this value.
* It can be a union type.
*/
public XSSimpleTypeDefinition getTypeDefinition();
/**
* If the declared simple type definition is a union, return the member
* type actually used to validate the value. Otherwise null.
*/
public XSSimpleTypeDefinition getMemberTypeDefinition();
/**
* If getTypeDefinition()
returns a list type whose item type
* is a union type, then this method returns a list with the same length
* as the value list, for simple types that actually validated
* the corresponding item in the value.
*/
public XSObjectList getMemberTypeDefinitions();
/**
* The actual value built-in datatype, e.g.
* STRING_DT, SHORT_DT
. If the type definition of this
* value is a list type definition, this method returns
* LIST_DT
. If the type definition of this value is a list
* type definition whose item type is a union type definition, this
* method returns LISTOFUNION_DT
. To query the actual value
* of the list or list of union type definitions use
* itemValueTypes()
.
*/
public short getActualValueType();
/**
* In the case the actual value represents a list, i.e. the
* actualNormalizedValueType
is LIST_DT
, the
* returned array consists of one type kind which represents the itemType
* . For example:
* <simpleType name="listtype"> <list
* itemType="positiveInteger"/> </simpleType> <element
* name="list" type="listtype"/> ... <list>1 2 3</list>
*
* The schemaNormalizedValue
value is "1 2 3", the
* actualNormalizedValueType
value is LIST_DT
,
* and the itemValueTypes
is an array of size 1 with the
* value POSITIVEINTEGER_DT
.
*
If the actual value represents a list type definition whose item
* type is a union type definition, i.e. LISTOFUNION_DT
,
* for each actual value in the list the array contains the
* corresponding memberType kind. For example:
* <simpleType
* name='union_type' memberTypes="integer string"/> <simpleType
* name='listOfUnion'> <list itemType='union_type'/>
* </simpleType> <element name="list" type="listOfUnion"/>
* ... <list>1 2 foo</list>
* The
* schemaNormalizedValue
value is "1 2 foo", the
* actualNormalizedValueType
is LISTOFUNION_DT
* , and the itemValueTypes
is an array of size 3 with the
* following values: INTEGER_DT, INTEGER_DT, STRING_DT
.
*/
public ShortList getListValueTypes();
}