/* * Copyright (c) 2001 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. This program is distributed in the * hope that it will be useful, but WITHOUT ANY WARRANTY; without even * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. * See W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package com.sun.org.apache.xerces.internal.dom3.as; /** * @deprecated * The content model of a declared element. *
See also the Document Object Model (DOM) Level 3 Abstract Schemas and Load
and Save Specification.
*/
public interface ASContentModel extends ASObject {
/**
* Signifies unbounded upper limit. The MAX_VALUE value is
* 0xFFFFFFFF FFFFFFFF
. This needs to be better defined in
* the generated bindings.
*/
public static final int AS_UNBOUNDED = Integer.MAX_VALUE;
// ASContentModelType
/**
* This constant value signifies a sequence operator. For example, in a
* DTD, this would be the ',
' operator.
*/
public static final short AS_SEQUENCE = 0;
/**
* This constant value signifies a choice operator. For example, in a DTD,
* this would be the '|
' operator.
*/
public static final short AS_CHOICE = 1;
/**
* All of the above.
*/
public static final short AS_ALL = 2;
/**
* None of the above, i.e., neither a choice nor sequence operator.
*/
public static final short AS_NONE = 3;
/**
* One of AS_CHOICE
, AS_SEQUENCE
,
* AS_ALL
or AS_NONE
. The operator is applied
* to all the components(ASObjects) in the subModels
. For
* example, if the list operator is AS_CHOICE
and the
* components in subModels are a, b and c then the abstract schema for
* the element being declared is (a|b|c)
.
*/
public short getListOperator();
/**
* One of AS_CHOICE
, AS_SEQUENCE
,
* AS_ALL
or AS_NONE
. The operator is applied
* to all the components(ASObjects) in the subModels
. For
* example, if the list operator is AS_CHOICE
and the
* components in subModels are a, b and c then the abstract schema for
* the element being declared is (a|b|c)
.
*/
public void setListOperator(short listOperator);
/**
* min occurrence for this content particle. Its value may be 0 or a
* positive integer.
*/
public int getMinOccurs();
/**
* min occurrence for this content particle. Its value may be 0 or a
* positive integer.
*/
public void setMinOccurs(int minOccurs);
/**
* maximum occurrence for this content particle. Its value may be
* 0
, a positive integer, or AS_UNBOUNDED
to
* indicate that no upper limit has been set.
*/
public int getMaxOccurs();
/**
* maximum occurrence for this content particle. Its value may be
* 0
, a positive integer, or AS_UNBOUNDED
to
* indicate that no upper limit has been set.
*/
public void setMaxOccurs(int maxOccurs);
/**
* Pointers to ASObject
s such as
* ASElementDeclaration
s and further
* ASContentModel
s.
*/
public ASObjectList getSubModels();
/**
* Pointers to ASObject
s such as
* ASElementDeclaration
s and further
* ASContentModel
s.
*/
public void setSubModels(ASObjectList subModels);
/**
* Removes the ASObject
in the submodel. Nodes that already
* exist in the list are moved as needed.
* @param oldNode The node to be removed.
*/
public void removesubModel(ASObject oldNode);
/**
* Inserts a new node in the submodel. Nodes that already exist in the
* list are moved as needed.
* @param newNode The new node to be inserted.
* @exception DOMASException
* DUPLICATE_NAME_ERR
: Raised if a element declaration
* already exists with the same name within an AS_CHOICE
* operator.
*/
public void insertsubModel(ASObject newNode)
throws DOMASException;
/**
* Appends a new node to the end of the list representing the
* subModels
.
* @param newNode The new node to be appended.
* @return the length of the subModels
.
* @exception DOMASException
* DUPLICATE_NAME_ERR
: Raised if a element declaration
* already exists with the same name within an AS_CHOICE
* operator.
*
TYPE_ERR
: Raised if type is neither an
* ASContentModel
nor an ASElementDeclaration
* .
*/
public int appendsubModel(ASObject newNode)
throws DOMASException;
}