| /** |
| * Copyright (c) 2002-2006 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v2.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v20.html |
| * |
| * Contributors: |
| * IBM - Initial API and implementation |
| */ |
| package org.eclipse.xsd; |
| |
| |
| import java.util.Collection; |
| |
| import org.w3c.dom.Element; |
| import org.w3c.dom.Node; |
| |
| import org.eclipse.emf.common.util.EList; |
| |
| |
| /** |
| * <!-- begin-user-doc --> |
| * A representation of the model object |
| * '<a href="http://www.w3.org/TR/xmlschema-2/#dc-defn"><em><b>Simple Type Definition</b></em></a>'. |
| * For the methods named getEffective<b>Xyz</b>Facet, |
| * <em>effective</em> means that the value of the property |
| * is computed based on the direct facets of this type, or, |
| * if the facet is not present, |
| * is computed recursively from the {@link #getBaseTypeDefinition base type}. |
| * <!-- end-user-doc --> |
| * |
| * <p> |
| * The following features are supported: |
| * </p> |
| * <ul> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getVariety <em>Variety</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getFinal <em>Final</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getLexicalFinal <em>Lexical Final</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getValidFacets <em>Valid Facets</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getContents <em>Contents</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getFacetContents <em>Facet Contents</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getFacets <em>Facets</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getMemberTypeDefinitions <em>Member Type Definitions</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getFundamentalFacets <em>Fundamental Facets</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getBaseTypeDefinition <em>Base Type Definition</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getPrimitiveTypeDefinition <em>Primitive Type Definition</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getItemTypeDefinition <em>Item Type Definition</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getRootTypeDefinition <em>Root Type Definition</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getMinFacet <em>Min Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getMaxFacet <em>Max Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getMaxInclusiveFacet <em>Max Inclusive Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getMinInclusiveFacet <em>Min Inclusive Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getMinExclusiveFacet <em>Min Exclusive Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getMaxExclusiveFacet <em>Max Exclusive Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getLengthFacet <em>Length Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getWhiteSpaceFacet <em>White Space Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getEnumerationFacets <em>Enumeration Facets</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getPatternFacets <em>Pattern Facets</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getCardinalityFacet <em>Cardinality Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getNumericFacet <em>Numeric Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getMaxLengthFacet <em>Max Length Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getMinLengthFacet <em>Min Length Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getTotalDigitsFacet <em>Total Digits Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getFractionDigitsFacet <em>Fraction Digits Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getOrderedFacet <em>Ordered Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getBoundedFacet <em>Bounded Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getEffectiveMaxFacet <em>Effective Max Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getEffectiveWhiteSpaceFacet <em>Effective White Space Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getEffectiveMaxLengthFacet <em>Effective Max Length Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getEffectiveFractionDigitsFacet <em>Effective Fraction Digits Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getEffectivePatternFacet <em>Effective Pattern Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getEffectiveEnumerationFacet <em>Effective Enumeration Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getEffectiveTotalDigitsFacet <em>Effective Total Digits Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getEffectiveMinLengthFacet <em>Effective Min Length Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getEffectiveLengthFacet <em>Effective Length Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getEffectiveMinFacet <em>Effective Min Facet</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getSyntheticFacets <em>Synthetic Facets</em>}</li> |
| * </ul> |
| * |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition() |
| * @model |
| * @generated |
| */ |
| public interface XSDSimpleTypeDefinition extends XSDTypeDefinition, XSDComplexTypeContent |
| { |
| /** |
| * Returns the value of the '<em><b>Variety</b></em>' attribute. |
| * The literals are from the enumeration {@link org.eclipse.xsd.XSDVariety}. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the |
| * <a href="http://www.w3.org/TR/xmlschema-2/#defn-variety">variety</a> |
| * infoset property. |
| * It is computed based on the presence or absence of |
| * an {@link #getItemTypeDefinition item type} |
| * or of {@link #getMemberTypeDefinitions member types}, |
| * and should not be set directly. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Variety</em>' attribute. |
| * @see org.eclipse.xsd.XSDVariety |
| * @see #isSetVariety() |
| * @see #unsetVariety() |
| * @see #setVariety(XSDVariety) |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_Variety() |
| * @model unsettable="true" |
| * @generated |
| */ |
| XSDVariety getVariety(); |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getVariety <em>Variety</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Variety</em>' attribute. |
| * @see org.eclipse.xsd.XSDVariety |
| * @see #isSetVariety() |
| * @see #unsetVariety() |
| * @see #getVariety() |
| * @generated |
| */ |
| void setVariety(XSDVariety value); |
| |
| /** |
| * Unsets the value of the '{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getVariety <em>Variety</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #isSetVariety() |
| * @see #getVariety() |
| * @see #setVariety(XSDVariety) |
| * @generated |
| */ |
| void unsetVariety(); |
| |
| /** |
| * Returns whether the value of the '{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getVariety <em>Variety</em>}' attribute is set. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @return whether the value of the '<em>Variety</em>' attribute is set. |
| * @see #unsetVariety() |
| * @see #getVariety() |
| * @see #setVariety(XSDVariety) |
| * @generated |
| */ |
| boolean isSetVariety(); |
| |
| /** |
| * Returns the value of the '<em><b>Final</b></em>' attribute list. |
| * The list contents are of type {@link org.eclipse.xsd.XSDSimpleFinal}. |
| * The literals are from the enumeration {@link org.eclipse.xsd.XSDSimpleFinal}. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the |
| * <a href="http://www.w3.org/TR/xmlschema-2/#defn-final">final</a> |
| * infoset property. |
| * It is computed from the {@link #getLexicalFinal lexical final} and should not typically be modified directly. |
| * </p> |
| * @see #getStringFinal() |
| * @<!-- end-user-doc --> |
| * @return the value of the '<em>Final</em>' attribute list. |
| * @see org.eclipse.xsd.XSDSimpleFinal |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_Final() |
| * @model |
| * @generated |
| */ |
| EList<XSDSimpleFinal> getFinal(); |
| |
| /** |
| * Returns the String value of the '{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getFinal <em>Final</em>}' attribute list. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @return the String value of the '<em>Final</em>' attribute list. |
| * @see #getFinal() |
| */ |
| String getStringFinal(); |
| |
| /** |
| * Returns the value of the '<em><b>Lexical Final</b></em>' attribute list. |
| * The list contents are of type {@link org.eclipse.xsd.XSDSimpleFinal}. |
| * The literals are from the enumeration {@link org.eclipse.xsd.XSDSimpleFinal}. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This concrete attribute list represents the value of the |
| * <a href="http://www.w3.org/TR/xmlschema-2/#element-simpleType">final</a> attribute. |
| * </p> |
| * @see #getStringLexicalFinal() |
| * @<!-- end-user-doc --> |
| * @return the value of the '<em>Lexical Final</em>' attribute list. |
| * @see org.eclipse.xsd.XSDSimpleFinal |
| * @see #isSetLexicalFinal() |
| * @see #unsetLexicalFinal() |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_LexicalFinal() |
| * @model unsettable="true" |
| * @generated |
| */ |
| EList<XSDSimpleFinal> getLexicalFinal(); |
| |
| /** |
| * Unsets the value of the '{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getLexicalFinal <em>Lexical Final</em>}' attribute list. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #isSetLexicalFinal() |
| * @see #getLexicalFinal() |
| * @generated |
| */ |
| void unsetLexicalFinal(); |
| |
| /** |
| * Returns whether the value of the '{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getLexicalFinal <em>Lexical Final</em>}' attribute list is set. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @return whether the value of the '<em>Lexical Final</em>' attribute list is set. |
| * @see #unsetLexicalFinal() |
| * @see #getLexicalFinal() |
| * @generated |
| */ |
| boolean isSetLexicalFinal(); |
| |
| /** |
| * Returns the String value of the |
| * '{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getLexicalFinal <em>Lexical Final</em>}' attribute list. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @return the String value of the '<em>Lexical Final</em>' attribute list. |
| * @see #getLexicalFinal() |
| * @see #setStringLexicalFinal(java.lang.String) |
| */ |
| String getStringLexicalFinal(); |
| |
| /** |
| * Sets the String value of the '{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getLexicalFinal <em>Lexical Final</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param lexicalFinal the new value of the '<em>Lexical Final</em>' attribute. |
| * @see #getLexicalFinal() |
| * @see #getStringLexicalFinal() |
| */ |
| void setStringLexicalFinal(String lexicalFinal); |
| |
| /** |
| * Returns the value of the '<em><b>Valid Facets</b></em>' attribute list. |
| * The list contents are of type {@link java.lang.String}. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This computed attribute list represents the |
| * {@link org.eclipse.xsd.XSDFacet#getFacetName facet name} |
| * of each type of facet that is valid for this simple type definition. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Valid Facets</em>' attribute list. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_ValidFacets() |
| * @model |
| * @generated |
| */ |
| EList<String> getValidFacets(); |
| |
| /** |
| * Returns the value of the '<em><b>Contents</b></em>' containment reference list. |
| * The list contents are of type {@link org.eclipse.xsd.XSDSimpleTypeDefinition}. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This concrete reference list represents the anonymous simple type definition content of a |
| * <a href="http://www.w3.org/TR/xmlschema-2/#element-restriction">restriction</a>, |
| * <a href="http://www.w3.org/TR/xmlschema-2/#element-list">list</a>, or |
| * <a href="http://www.w3.org/TR/xmlschema-2/#element-union">union</a> element. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Contents</em>' containment reference list. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_Contents() |
| * @model containment="true" |
| * @generated |
| */ |
| EList<XSDSimpleTypeDefinition> getContents(); |
| |
| /** |
| * Returns the value of the '<em><b>Facet Contents</b></em>' containment reference list. |
| * The list contents are of type {@link org.eclipse.xsd.XSDConstrainingFacet}. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This concrete reference list represents the facet contents of a |
| * <a href="http://www.w3.org/TR/xmlschema-2/#element-restriction">restriction</a>. |
| * There are convenience methods named get<b>Xyz</b>Facet that provide direct access to the individual facets. |
| * There are, however, <b>no</b> methods named setXyzFacet; |
| * one should add facets to this list or remove facets from this list in order to effect change. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Facet Contents</em>' containment reference list. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_FacetContents() |
| * @model containment="true" |
| * @generated |
| */ |
| EList<XSDConstrainingFacet> getFacetContents(); |
| |
| /** |
| * Returns the value of the '<em><b>Facets</b></em>' reference list. |
| * The list contents are of type {@link org.eclipse.xsd.XSDConstrainingFacet}. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the |
| * <a href="http://www.w3.org/TR/xmlschema-2/#defn-facets">facets</a> |
| * infoset property. |
| * It is computed from the {@link #getFacetContents() facet contents} and should typically not be modified directly. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Facets</em>' reference list. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_Facets() |
| * @model resolveProxies="false" |
| * @generated |
| */ |
| EList<XSDConstrainingFacet> getFacets(); |
| |
| /** |
| * Returns the value of the '<em><b>Member Type Definitions</b></em>' reference list. |
| * The list contents are of type {@link org.eclipse.xsd.XSDSimpleTypeDefinition}. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the |
| * <a href="http://www.w3.org/TR/xmlschema-2/#defn-memberTypes">member type definitions</a> |
| * infoset property. |
| * When constructing a union type, |
| * each <b>anonymous</b> member type should be added to both this list and to the contents list: |
| *<pre> |
| * xsdSimpleTypeDefinition.getMemberTypeDefinitions().add(anonymousMemberType); |
| * xsdSimpleTypeDefinition.{@link #getContents}().add(anonymousMemberType); |
| * </li> |
| * The {@link #getVariety() variety} is determined automatically by the presence of member type definitions. |
| *</pre> |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Member Type Definitions</em>' reference list. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_MemberTypeDefinitions() |
| * @model resolveProxies="false" |
| * @generated |
| */ |
| EList<XSDSimpleTypeDefinition> getMemberTypeDefinitions(); |
| |
| /** |
| * Returns the value of the '<em><b>Fundamental Facets</b></em>' containment reference list. |
| * The list contents are of type {@link org.eclipse.xsd.XSDFundamentalFacet}. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the |
| * <a href="http://www.w3.org/TR/xmlschema-2/#defn-fund-facets">fundamental facets</a> |
| * infoset property. |
| * It is computed and should typically not be modified directly. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Fundamental Facets</em>' containment reference list. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_FundamentalFacets() |
| * @model containment="true" required="true" transient="true" |
| * @generated |
| */ |
| EList<XSDFundamentalFacet> getFundamentalFacets(); |
| |
| /** |
| * Returns the value of the '<em><b>Base Type Definition</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the |
| * <a href="http://www.w3.org/TR/xmlschema-2/#defn-basetype">base type definition</a> |
| * infoset property. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Base Type Definition</em>' reference. |
| * @see #setBaseTypeDefinition(XSDSimpleTypeDefinition) |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_BaseTypeDefinition() |
| * @model resolveProxies="false" required="true" |
| * @generated |
| */ |
| XSDSimpleTypeDefinition getBaseTypeDefinition(); |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getBaseTypeDefinition <em>Base Type Definition</em>}' reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Base Type Definition</em>' reference. |
| * @see #getBaseTypeDefinition() |
| * @generated |
| */ |
| void setBaseTypeDefinition(XSDSimpleTypeDefinition value); |
| |
| /** |
| * Returns the value of the '<em><b>Primitive Type Definition</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the |
| * <a href="http://www.w3.org/TR/xmlschema-2/#defn-primitive">primitive type definition</a> |
| * infoset property. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Primitive Type Definition</em>' reference. |
| * @see #setPrimitiveTypeDefinition(XSDSimpleTypeDefinition) |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_PrimitiveTypeDefinition() |
| * @model resolveProxies="false" |
| * @generated |
| */ |
| XSDSimpleTypeDefinition getPrimitiveTypeDefinition(); |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getPrimitiveTypeDefinition <em>Primitive Type Definition</em>}' reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Primitive Type Definition</em>' reference. |
| * @see #getPrimitiveTypeDefinition() |
| * @generated |
| */ |
| void setPrimitiveTypeDefinition(XSDSimpleTypeDefinition value); |
| |
| /** |
| * Returns the value of the '<em><b>Item Type Definition</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the |
| * <a href="http://www.w3.org/TR/xmlschema-2/#defn-itemType">item type definition</a> |
| * infoset property. |
| * When constructing a list type, |
| * an <b>anonymous</b> item type should be both set using this method and added to the contents list: |
| *<pre> |
| * xsdSimpleTypeDefinition.setItemTypeDefinition().add(itemType); |
| * xsdSimpleTypeDefinition.{@link #getContents}().add(itemType); |
| *</pre> |
| * The {@link #getVariety() variety} is determined automatically by the presence of an item type definition. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Item Type Definition</em>' reference. |
| * @see #setItemTypeDefinition(XSDSimpleTypeDefinition) |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_ItemTypeDefinition() |
| * @model resolveProxies="false" |
| * @generated |
| */ |
| XSDSimpleTypeDefinition getItemTypeDefinition(); |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.xsd.XSDSimpleTypeDefinition#getItemTypeDefinition <em>Item Type Definition</em>}' reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Item Type Definition</em>' reference. |
| * @see #getItemTypeDefinition() |
| * @generated |
| */ |
| void setItemTypeDefinition(XSDSimpleTypeDefinition value); |
| |
| /** |
| * Returns the value of the '<em><b>Root Type Definition</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This walks the {@link #getBaseTypeDefinition() base type definitions} |
| * until it hits that one that has the ur-type definition as it's base type definition. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Root Type Definition</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_RootTypeDefinition() |
| * @model resolveProxies="false" required="true" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDSimpleTypeDefinition getRootTypeDefinition(); |
| |
| /** |
| * Returns the value of the '<em><b>Min Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDMinFacet} of the {@link #getFacetContents facet contents}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Min Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_MinFacet() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDMinFacet getMinFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Max Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDMaxFacet} of the {@link #getFacetContents facet contents}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Max Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_MaxFacet() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDMaxFacet getMaxFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Max Inclusive Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDMaxInclusiveFacet} of the {@link #getFacetContents facet contents}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Max Inclusive Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_MaxInclusiveFacet() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDMaxInclusiveFacet getMaxInclusiveFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Min Inclusive Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDMinInclusiveFacet} of the {@link #getFacetContents facet contents}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Min Inclusive Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_MinInclusiveFacet() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDMinInclusiveFacet getMinInclusiveFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Min Exclusive Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDMinExclusiveFacet} of the {@link #getFacetContents facet contents}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Min Exclusive Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_MinExclusiveFacet() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDMinExclusiveFacet getMinExclusiveFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Max Exclusive Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDMaxExclusiveFacet} of the {@link #getFacetContents facet contents}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Max Exclusive Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_MaxExclusiveFacet() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDMaxExclusiveFacet getMaxExclusiveFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Length Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDLengthFacet} of the {@link #getFacetContents facet contents}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Length Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_LengthFacet() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDLengthFacet getLengthFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>White Space Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDWhiteSpaceFacet} of the {@link #getFacetContents facet contents}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>White Space Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_WhiteSpaceFacet() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDWhiteSpaceFacet getWhiteSpaceFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Enumeration Facets</b></em>' reference list. |
| * The list contents are of type {@link org.eclipse.xsd.XSDEnumerationFacet}. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDEnumerationFacet} of the {@link #getFacetContents facet contents}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Enumeration Facets</em>' reference list. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_EnumerationFacets() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| EList<XSDEnumerationFacet> getEnumerationFacets(); |
| |
| /** |
| * Returns the value of the '<em><b>Pattern Facets</b></em>' reference list. |
| * The list contents are of type {@link org.eclipse.xsd.XSDPatternFacet}. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDPatternFacet} of the {@link #getFacetContents facet contents}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Pattern Facets</em>' reference list. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_PatternFacets() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| EList<XSDPatternFacet> getPatternFacets(); |
| |
| /** |
| * Returns the value of the '<em><b>Cardinality Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDCardinalityFacet} of the {@link #getFundamentalFacets fundamental facets}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Cardinality Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_CardinalityFacet() |
| * @model resolveProxies="false" required="true" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDCardinalityFacet getCardinalityFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Numeric Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDNumericFacet} of the {@link #getFundamentalFacets fundamental facets}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Numeric Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_NumericFacet() |
| * @model resolveProxies="false" required="true" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDNumericFacet getNumericFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Max Length Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDMaxLengthFacet} of the {@link #getFacetContents facet contents}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Max Length Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_MaxLengthFacet() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDMaxLengthFacet getMaxLengthFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Min Length Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDMinLengthFacet} of the {@link #getFacetContents facet contents}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Min Length Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_MinLengthFacet() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDMinLengthFacet getMinLengthFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Total Digits Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDTotalDigitsFacet} of the {@link #getFacetContents facet contents}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Total Digits Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_TotalDigitsFacet() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDTotalDigitsFacet getTotalDigitsFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Fraction Digits Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDFractionDigitsFacet} of the {@link #getFacetContents facet contents}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Fraction Digits Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_FractionDigitsFacet() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDFractionDigitsFacet getFractionDigitsFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Ordered Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDOrderedFacet} of the {@link #getFundamentalFacets fundamental facets}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Ordered Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_OrderedFacet() |
| * @model resolveProxies="false" required="true" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDOrderedFacet getOrderedFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Bounded Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDBoundedFacet} of the {@link #getFundamentalFacets fundamental facets}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Bounded Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_BoundedFacet() |
| * @model resolveProxies="false" required="true" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDBoundedFacet getBoundedFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Effective Max Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDMaxFacet} of the {@link #getFacets facets}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Effective Max Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_EffectiveMaxFacet() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDMaxFacet getEffectiveMaxFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Effective White Space Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDWhiteSpaceFacet} of the {@link #getFacets facets}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Effective White Space Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_EffectiveWhiteSpaceFacet() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDWhiteSpaceFacet getEffectiveWhiteSpaceFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Effective Max Length Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDMaxLengthFacet} of the {@link #getFacets facets}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Effective Max Length Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_EffectiveMaxLengthFacet() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDMaxLengthFacet getEffectiveMaxLengthFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Effective Fraction Digits Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDFractionDigitsFacet} of the {@link #getFacets facets}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Effective Fraction Digits Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_EffectiveFractionDigitsFacet() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDFractionDigitsFacet getEffectiveFractionDigitsFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Effective Pattern Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDPatternFacet} of the {@link #getFacets facets}. |
| * To iterate through each pattern that applies for this type, |
| * use the list returned by getEffectivePatternFacet().{@link XSDPatternFacet#getValue getValue}(). |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Effective Pattern Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_EffectivePatternFacet() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDPatternFacet getEffectivePatternFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Effective Enumeration Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDEnumerationFacet} of the {@link #getFacets facets}. |
| * To iterate through each enumerator which is a legal value of this type, |
| * use the list returned by getEffectiveEnumerationFacet().{@link XSDEnumerationFacet#getValue getValue}(). |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Effective Enumeration Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_EffectiveEnumerationFacet() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDEnumerationFacet getEffectiveEnumerationFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Effective Total Digits Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDTotalDigitsFacet} of the {@link #getFacets facets}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Effective Total Digits Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_EffectiveTotalDigitsFacet() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDTotalDigitsFacet getEffectiveTotalDigitsFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Effective Min Length Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDMinLengthFacet} of the {@link #getFacets facets}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Effective Min Length Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_EffectiveMinLengthFacet() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDMinLengthFacet getEffectiveMinLengthFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Effective Length Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDLengthFacet} of the {@link #getFacets facets}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Effective Length Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_EffectiveLengthFacet() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDLengthFacet getEffectiveLengthFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Effective Min Facet</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the {@link org.eclipse.xsd.XSDMinLengthFacet} of the {@link #getFacets facets}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Effective Min Facet</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_EffectiveMinFacet() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDMinFacet getEffectiveMinFacet(); |
| |
| /** |
| * Returns the value of the '<em><b>Synthetic Facets</b></em>' containment reference list. |
| * The list contents are of type {@link org.eclipse.xsd.XSDFacet}. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the |
| * <a href="http://www.w3.org/TR/xmlschema-2/#defn-facets">facets</a> |
| * infoset property, if the rules require a synthesized facet. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Synthetic Facets</em>' containment reference list. |
| * @see org.eclipse.xsd.XSDPackage#getXSDSimpleTypeDefinition_SyntheticFacets() |
| * @model containment="true" transient="true" |
| * @generated |
| */ |
| EList<XSDFacet> getSyntheticFacets(); |
| |
| /** |
| * Returns an assessment of the node. |
| * @return an assessment of the node. |
| * @see #assess(Element, Node) |
| */ |
| Assessment assess(Node node); |
| |
| /** |
| * Returns an assessment of the node. |
| * @return an assessment of the node. |
| * @see #assess(Element, String) |
| * @since 2.4 |
| */ |
| Assessment assess(Element context, Node node); |
| |
| /** |
| * Returns an assessment of the literal. |
| * @return an assessment of the literal. |
| * @see #assess(Element, String) |
| */ |
| Assessment assess(String literal); |
| |
| /** |
| * Returns an assessment of the literal. |
| * @return an assessment of the literal. |
| * @see #assess(Element, Node) |
| * @since 2.4 |
| */ |
| Assessment assess(Element context, String literal); |
| |
| /** |
| * Information gathered during the assessment a literal |
| * with respect to a '{@link org.eclipse.xsd.XSDSimpleTypeDefinition <em>Simple Type Definition</em>}'. |
| * <p> |
| * You may begin assessment with a {@link #getNode Node}, which handles three cases: |
| * if the node is an attribute, it's value is used to determine the literal; |
| * if the node is a text node, it's data is used to determine the literal; |
| * if the node is an element, it's (one and only) child text node is used to determine the literal as in the preceeding case. |
| * You may also begin assessment with just a {@link #getLiteral literal}; |
| * in this case, the returned diagnostics will contain substitution variables. |
| * </p> |
| */ |
| public interface Assessment |
| { |
| /** |
| * Returns the type definition against which the literal is assessed. |
| * @return the type definition against which the literal is assessed. |
| */ |
| XSDSimpleTypeDefinition getTypeDefinition(); |
| |
| /** |
| * Returns the element used as the context for this assessment; this is significant only for interpretting the prefix of QNames. |
| * @return the element used as the context for this assessment. |
| * @since 2.4 |
| */ |
| Element getContext(); |
| |
| /** |
| * Returns the node whose literal value is assessed. |
| * @return the node whose literal value is assessed. |
| */ |
| Node getNode(); |
| |
| /** |
| * Returns the literal that is assessed. |
| * @return the literal that is assessed. |
| */ |
| String getLiteral(); |
| |
| /** |
| * Returns the normalized value of the literal that is assessed. |
| * @return the normalized value of the literal that is assessed. |
| */ |
| String getNormalizedLiteral(); |
| |
| /** |
| * Return the <b>value</b> of the normalized literal in the Java representation of the value space. |
| * @return the <b>value</b> of the normalized literal. |
| */ |
| Object getValue(); |
| |
| /** |
| * Returns the canonical literal representation of the assessed value. |
| * @return the canonical literal representation of the assessed value. |
| */ |
| String getCanonicalLiteral(); |
| |
| /** |
| * Returns the diagnostics collected for this particular assessment and for any nested assessments. |
| * @return the diagnostics collected for this particular assessment and for any nested assessments. |
| */ |
| Collection<XSDDiagnostic> getDiagnostics(); |
| |
| /** |
| * Returns any nested assessments that were performed. |
| * In the case of a union, there will be an assessment for the member type definition that was chosen to assess the literal. |
| * In the case of a list, there will be an assessment for every item in the list. |
| * @return any nested assessments that were performed. |
| */ |
| Collection<Assessment> getAssessments(); |
| |
| /** |
| * Returns the diagnostics that are collected for just this particular assessment. |
| * @return the diagnostics that are collected for just this particular assessment. |
| */ |
| Collection<XSDDiagnostic> getLocalDiagnostics(); |
| |
| /** |
| * Called with a noun and a proper noun |
| * to perform substitution on the diagnostic messages, |
| * e.g., format("employee", "John Doe"). |
| * If an element or attribute was originally specified, |
| * the word "element" or "attribute" and the URI of the element or attribute |
| * will already have been substituted. |
| * @param noun a noun. |
| * @param name a proper noun. |
| */ |
| void format(String noun, String name); |
| } |
| |
| /** |
| * Returns whether the literal is valid with respect to this simple type definition. |
| * This involves {@link #assess(java.lang.String) assess}ing that the literal has no diagnostics. |
| * @param literal a literal. |
| * @return whether the literal is valid. |
| * @see #isValidLiteral(Element, String) |
| */ |
| boolean isValidLiteral(String literal); |
| |
| /** |
| * Returns whether the literal is valid with respect to this simple type definition. |
| * This involves {@link #assess(java.lang.String) assess}ing that the literal has no diagnostics. |
| * @param context the context in which to resolve prefixed of QNames. |
| * @param literal a literal. |
| * @return whether the literal is valid. |
| * @since 2.4 |
| */ |
| boolean isValidLiteral(Element context, String literal); |
| |
| /** |
| * Returns the <b>value</b> of the literal in the |
| * <a href="http://www.w3.org/TR/xmlschema-2/#value-space">value space</a> of this simple type definition. |
| * @param literal a literal. |
| * @return the <b>value</b> of the literal. |
| * @see #getValue(Element, String) |
| */ |
| Object getValue(String literal); |
| |
| /** |
| * Returns the <b>value</b> of the literal in the |
| * <a href="http://www.w3.org/TR/xmlschema-2/#value-space">value space</a> of this simple type definition. |
| * The type of value expected depends the primitive type: |
| * <p> |
| * <table border=true cols=2 width='90%'> |
| * <tr> |
| * <th width=33% valign=top align=left><b>Built-in Primitive Datatype</b></th> |
| * <th width=33% valign=top align=left><b>Corresponding Java Type</b></th> |
| * </tr> |
| * |
| * <tr> |
| * <td><em>anyListType</em></td> |
| * <td>java.util.List</td> |
| * </tr> |
| * |
| * <tr> |
| * <td>anyURI</td> |
| * <td>java.lang.String</td> |
| * </tr> |
| * |
| * <tr> |
| * <td>base64Binary</td> |
| * <td>org.eclipse.xsd.util.XSDUtil.ByteSequence</td> |
| * </tr> |
| * |
| * <td>boolean</td> |
| * <td>java.lang.Boolean</td> |
| * </tr> |
| * |
| * <td>dateTime</td> |
| * <td>int []</td> |
| * </tr> |
| * |
| * <td>date</td> |
| * <td>int []</td> |
| * </tr> |
| * |
| * <td>decimal</td> |
| * <td>java.math.BigDecimal</td> |
| * </tr> |
| * |
| * <td>double</td> |
| * <td>java.lang.Double</td> |
| * </tr> |
| * |
| * <td>duration</td> |
| * <td>int []</td> |
| * </tr> |
| * |
| * <td>float</td> |
| * <td>java.lang.Float</td> |
| * </tr> |
| * |
| * <td>gDay</td> |
| * <td>int []</td> |
| * </tr> |
| * |
| * <td>gMonth</td> |
| * <td>int []</td> |
| * </tr> |
| * |
| * <td>gMonthDay</td> |
| * <td>int []</td> |
| * </tr> |
| * |
| * <td>gYear</td> |
| * <td>int []</td> |
| * </tr> |
| * |
| * <td>gYearMonth</td> |
| * <td>int []</td> |
| * </tr> |
| * |
| * <td>hexBinary</td> |
| * <td>org.eclipse.xsd.util.XSDUtil.ByteSequence</td> |
| * </tr> |
| * |
| * <td>NOTATION</td> |
| * <td>java.lang.String</td> |
| * </tr> |
| * |
| * <td>QName</td> |
| * <td>java.lang.String</td> |
| * </tr> |
| * |
| * <td>string</td> |
| * <td>java.lang.String</td> |
| * </tr> |
| * |
| * <td>time</td> |
| * <td>int []</td> |
| * </tr> |
| * |
| * </table> |
| * </p> |
| * <p> |
| * All time-based values are represented as in Xerces. |
| * </p> |
| * @param context the context in which to resolve prefixes of QNames. |
| * @param literal a literal. |
| * @return the <b>value</b> of the literal. |
| * @since 2.4 |
| */ |
| Object getValue(Element context, String literal); |
| |
| /** |
| * Returns the |
| * <a href="http://www.w3.org/TR/xmlschema-2/#dt-whiteSpace">normalized value</a> of the literal |
| * with respect to this simple type definition. |
| * @param literal a literal. |
| * @return the <b>normalized value</b> of the literal. |
| */ |
| String getNormalizedLiteral(String literal); |
| |
| /** |
| * Returns the |
| * <a href="http://www.w3.org/TR/xmlschema-2/#dt-canonical-representation">canonical literal</a> of the literal |
| * with respect to this simple type definition. |
| * @param literal a literal. |
| * @return the <b>canonical literal</b> of the literal. |
| */ |
| String getCanonicalLiteral(String literal); |
| |
| /** |
| * Returns <code>-1</code>, <code>0</code>, or <code>1</code>, |
| * depending on the {@link #getOrderedFacet order} of the {@link #getValue value} of each of the given literals. |
| * @param literal1 a literal. |
| * @param literal2 another literal. |
| * @return <code>-1</code>, <code>0</code>, or <code>1</code>, depending on the order of the value of each of the given literals. |
| * @see #compareLiterals(Element, String, Element, String) |
| */ |
| int compareLiterals(String literal1, String literal2); |
| |
| /** |
| * Returns <code>-1</code>, <code>0</code>, or <code>1</code>, |
| * depending on the {@link #getOrderedFacet order} of the {@link #getValue value} of each of the given literals. |
| * @param context1 the context in which to interpret prefixes of QNames in literal1. |
| * @param literal1 a literal. |
| * @param context2 the context in which to interpret prefixes of QNames in literal2. |
| * @param literal2 another literal. |
| * @return <code>-1</code>, <code>0</code>, or <code>1</code>, depending on the order of the value of each of the given literals. |
| * @since 2.4 |
| */ |
| int compareLiterals(Element context1, String literal1, Element context2, String literal2); |
| |
| /** |
| * Returns <code>-1</code>, <code>0</code>, or <code>1</code>, |
| * depending on the {@link #getOrderedFacet order} of the {@link #getValue value}s. |
| * @param value1 a value. |
| * @param value2 another value. |
| * @return <code>-1</code>, <code>0</code>, or <code>1</code>, depending on the order of the values. |
| */ |
| int compareValues(Object value1, Object value2); |
| |
| /** |
| * Returns whether the {@link #getValue value} of each of the given literals are equal. |
| * @param literal1 a literal. |
| * @param literal2 another literal. |
| * @return whether the {@link #getValue value} of each of the given literals are equal. |
| * @see #equalLiterals(Element, String, Element, String) |
| */ |
| boolean equalLiterals(String literal1, String literal2); |
| |
| /** |
| * Returns whether the {@link #getValue value} of each of the given literals are equal. |
| * @param context1 the context in which to interpret prefixes of QNames in literal1. |
| * @param literal1 a literal. |
| * @param context2 the context in which to interpret prefixes of QNames in literal2. |
| * @param literal2 another literal. |
| * @return whether the {@link #getValue value} of each of the given literals are equal. |
| * @since 2.4 |
| */ |
| boolean equalLiterals(Element context1, String literal1, Element context2, String literal2); |
| |
| /** |
| * Returns whether the {@link #getValue value}s are equal. |
| * @param value1 a literal. |
| * @param value2 another literal. |
| * @return whether the {@link #getValue value}s are equal. |
| */ |
| boolean equalValues(Object value1, Object value2); |
| } |