/*
* 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 element name along with the content specification in the context of an
* ASObject
.
*
See also the Document Object Model (DOM) Level 3 Abstract Schemas and Load
and Save Specification.
*/
public interface ASElementDeclaration extends ASObject {
// CONTENT_MODEL_TYPES
/**
* Represents an EMPTY content type for an Element declaration.
*/
public static final short EMPTY_CONTENTTYPE = 1;
/**
* Represents an ANY content type for an Element declaration.
*/
public static final short ANY_CONTENTTYPE = 2;
/**
* Represents a MIXED content type for an Element declaration. Note that
* isPCDataOnly
would also need to checked, in addition to
* this, if an element's content model was simply text, as an example.
*/
public static final short MIXED_CONTENTTYPE = 3;
/**
* Represents an ELEMENTS only content type for an Element declaration.
*/
public static final short ELEMENTS_CONTENTTYPE = 4;
/**
* A boolean defining whether the element order and number of the child
* elements for mixed content type has to be respected or not. For
* example XML Schema defined mixed content types the order is important
* and needs to be respected whether for DTD based AS the order and
* number of child elements are not important.
*/
public boolean getStrictMixedContent();
/**
* A boolean defining whether the element order and number of the child
* elements for mixed content type has to be respected or not. For
* example XML Schema defined mixed content types the order is important
* and needs to be respected whether for DTD based AS the order and
* number of child elements are not important.
*/
public void setStrictMixedContent(boolean strictMixedContent);
/**
* Datatype of the element.
*/
public ASDataType getElementType();
/**
* Datatype of the element.
*/
public void setElementType(ASDataType elementType);
/**
* Boolean defining whether the element type contains child elements and
* PCDATA or PCDATA only for mixed element types. true
if
* the element is of type PCDATA only. Relevant only for mixed content
* type elements.
*/
public boolean getIsPCDataOnly();
/**
* Boolean defining whether the element type contains child elements and
* PCDATA or PCDATA only for mixed element types. true
if
* the element is of type PCDATA only. Relevant only for mixed content
* type elements.
*/
public void setIsPCDataOnly(boolean isPCDataOnly);
/**
* The content type of the element. One of EMPTY_CONTENTTYPE
,
* ANY_CONTENTTYPE
, MIXED_CONTENTTYPE
,
* ELEMENTS_CONTENTTYPE
.
*/
public short getContentType();
/**
* The content type of the element. One of EMPTY_CONTENTTYPE
,
* ANY_CONTENTTYPE
, MIXED_CONTENTTYPE
,
* ELEMENTS_CONTENTTYPE
.
*/
public void setContentType(short contentType);
/**
* the URI reference representing the system identifier for the notation
* declaration, if present, null
otherwise.
*/
public String getSystemId();
/**
* the URI reference representing the system identifier for the notation
* declaration, if present, null
otherwise.
*/
public void setSystemId(String systemId);
/**
* The content model of element.
*/
public ASContentModel getAsCM();
/**
* The content model of element.
*/
public void setAsCM(ASContentModel asCM);
/**
* TheASNamedObjectMap
containing
* ASAttributeDeclarations
for all the attributes that can
* appear on this type of element.
*/
public ASNamedObjectMap getASAttributeDecls();
/**
* TheASNamedObjectMap
containing
* ASAttributeDeclarations
for all the attributes that can
* appear on this type of element.
*/
public void setASAttributeDecls(ASNamedObjectMap ASAttributeDecls);
/**
* Adds an ASAttributeDeclaration
for the element being
* declared.
* @param attributeDecl The new attribute to add. If the attribute
* declaration already exists for the element, the call does not have
* any effect.
*/
public void addASAttributeDecl(ASAttributeDeclaration attributeDecl);
/**
* Removes an ASAttributeDeclaration
from the element being
* declared.
* @param attributeDecl The attribute declaraition to be removed. If the
* attribute declaration does not exist for the element, the call does
* not have any effect.
* @return null
if the attribute does not exist. Otherwise
* returns the attribute being removed.
*/
public ASAttributeDeclaration removeASAttributeDecl(ASAttributeDeclaration attributeDecl);
}