/* * 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 ASObjects such as * ASElementDeclarations and further * ASContentModels. */ public ASObjectList getSubModels(); /** * Pointers to ASObjects such as * ASElementDeclarations and further * ASContentModels. */ 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; }