Copyright ©2002 W3C® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
This specification defines the Document Object Model Abstract Schemas and Load and Save Level 3, a platform- and language-neutral interface that allows programs and scripts to dynamically access and update the content, structure and style of documents.
This section describes the status of this document at the time of its publication. Other documents may supersede this document. The latest status of this document series is maintained at the W3C.
This is a W3C Working Draft for review by W3C members and other interested parties.
It is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to use W3C Working Drafts as reference material or to cite them as other than "work in progress". This is work in progress and does not imply endorsement by, or the consensus of, either W3C or members of the DOM working group.
Comments on this document are invited and are to be sent to the public mailing list www-dom@w3.org. An archive is available at http://lists.w3.org/Archives/Public/www-dom/.
This document has been produced as part of the W3C DOM Activity. The authors of this document are the DOM WG members.
A list of current W3C Recommendations and other technical documents can be found at http://www.w3.org/TR.
Copyright © 2002 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved.
This document is published under the W3C Document Copyright Notice and License. The bindings within this document are published under the W3C Software Copyright Notice and License. The software license requires "Notice of any changes or modifications to the W3C files, including the date changes were made." Consequently, modified versions of the DOM bindings must document that they do not conform to the W3C standard; in the case of the IDL definitions, the pragma prefix can no longer be 'w3c.org'; in the case of the Java language binding, the package names can no longer be in the 'org.w3c' package.
Note: This section is a copy of the W3C Document Notice and License and could be found at http://www.w3.org/Consortium/Legal/copyright-documents-19990405.
Copyright © 1994-2002 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved.
http://www.w3.org/Consortium/Legal/
Public documents on the W3C site are provided by the copyright holders under the following license. The software or Document Type Definitions (DTDs) associated with W3C specifications are governed by the Software Notice. By using and/or copying this document, or the W3C document from which this statement is linked, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions:
Permission to use, copy, and distribute the contents of this document, or the W3C document from which this statement is linked, in any medium for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the document, or portions thereof, that you use:
When space permits, inclusion of the full text of this NOTICE should be provided. We request that authorship attribution be provided in any software, documents, or other items or products that you create pursuant to the implementation of the contents of this document, or any portion thereof.
No right to create modifications or derivatives of W3C documents is granted pursuant to this license. However, if additional requirements (documented in the Copyright FAQ) are satisfied, the right to create modifications or derivatives is sometimes granted by the W3C to individuals complying with those requirements.
THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS THEREOF.
The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to this document or its contents without specific, written prior permission. Title to copyright in this document will at all times remain with copyright holders.
Note: This section is a copy of the W3C Software Copyright Notice and License and could be found at http://www.w3.org/Consortium/Legal/copyright-software-19980720
Copyright © 1994-2002 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved.
http://www.w3.org/Consortium/Legal/
This W3C work (including software, documents, or other related items) is being provided by the copyright holders under the following license. By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions:
Permission to use, copy, and modify this software and its documentation, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications, that you make:
THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.
This chapter describes the optional DOM Level 3 Abstract Schemas (AS) feature. This module provides a representation for XML abstract schemas, e.g., DTDs [XML 1.0] and XML Schemas [XML Schema Part 0], together with operations on the abstract schemas, and how such information within the abstract schemas could be applied to XML documents used in both the document editing and abstract schema editing worlds.
A DOM application can use the hasFeature method of
the DOMImplementation interface to determine whether a
given DOM supports these capabilities or not. This module defines 3
feature strings: "AS-READ" for read only access to
abstract schemas, "AS-EDIT" editing of abstract
schemas, and "AS-DOC" for document-editing
interfaces.
This chapter interacts strongly with Document Object Model Load and Save. Not only will that code serialize/deserialize abstract schemas, but it may also wind up defining its well-formedness and validity checks in terms of what is defined in this chapter. In addition, the AS and Load/Save functional areas uses the error-reporting mechanism allowing user-registered error callbacks introduced in [DOM Level 3 Core]. Note that this may not imply that the parser actually calls the DOM's validation code -- it may be able to achieve better performance via its own -- but the appearance to the user should probably be "as if" the DOM has been asked to validate the document, and parsers should probably be able to validate newly loaded documents in terms of a previously loaded DOM AS.
Finally, this chapter will have separate sections to address the needs of the document-editing and AS-editing worlds, along with a section that details overlapping areas such as validation. In this manner, the document-editing world's focuses on editing aspects and usage of information in the AS are made distinct from the AS-editing world's focuses on defining and manipulating the information in the AS.
In the October 9, 1997 DOM requirements document, the following appeared: "There will be a way to determine the presence of a DTD. There will be a way to add, remove, and change declarations in the underlying DTD (if available). There will be a way to test conformance of all or part of the given document against a DTD (if available)." In later discussions, the following was added, "There will be a way to query element/attribute (and maybe other) declarations in the underlying DTD (if available)," supplementing the primitive support for these in Level 1.
That work was deferred past Level 2, in the hope that XML Schemas would be addressed as well. It is anticipated that lowest common denominator general APIs generated in this chapter can support both DTDs and XML Schemas, and other XML abstract schemas down the road.
The kinds of information that an Abstract Schema must make available are mostly self-evident from the definitions of Infoset, DTDs, and XML Schemas. Note that some kinds of information on which the DOM already relies, e.g., default values for attributes, will finally be given a visible representation here.
The abstract schema referenced in these use cases/requirements is an abstraction and does not refer solely to DTDs or XML Schemas.
For the AS-editing and document-editing worlds, the following use cases and requirements are common to both and could be labeled as the "Validation and Other Common Functionality" section:
Use Cases:
Requirements:
Specific to the AS-editing world, the following are use cases and requirements and could be labeled as the "AS-editing" section:
Use Cases:
Requirements:
Specific to the document-editing world, the following are use cases and requirements and could be labeled as the "Document-editing" section:
Use Cases:
Requirements:
DOMImplementationAS
and DOMImplementation?ASAttributeDecl.defaultType
attribute to constraintType?ASWModel
represents: does it represent "a schema" as defined in XML Schema
or a schema document? If it represents a "document" we should
consider removing inheritance between ASModel and ASWModel
interfaces (the inheritance between components should be
kept).
ASWModel.insertASObject method? Can we remove this
method?ASWObjectList?ASObject.rawname
and ASObject.name?
Can "name" be defined as one attribute? If we need to keep ASObject.rawname,
can we come up with another name? Qualified name can not be used
because it does not include multiple colons. Also, the factory
method have parameter name, should those include rawname as
well?ASDOMBuilder
allows to parse a schema document. The return type is ASWModel.
This means that implementation that want to implement Loading of
schemas must implement AS-EDIT. The return type should be a
read-only object.ASDOMBuilder.abstractSchema allows to set a schema
on a parser instance. How can user set multiple schemas?DOMImplementationAS.createASModel takes as a
parameter schemaType. What happens if user specifies
null for the schemaType?QName, e.g.,
foo:bar, whereas the latter will report its namespace
and local name, e.g., {http://my.namespace}bar. We
have added the NamespaceAware attribute to the generic
AS object to help applications determine which of these fields are
important, but we are still analyzing this challenge. Nonetheless,
after much discussion, we have made the decision that only 1 active
ASModel is allowed, even on ASDOMBuilder (the parser would set the
1 active schema).NodeEditAS.can*(),
CharacterDataEditAS.can*() , and
ElementEditAS.can*() methods throw exceptions like the
isNodeValid() method. Resolution: no exceptions should
be thrown; it should be allowed if it's not forbidden. Better
descriptions are in order for the true/false returns.ASModel
is activated, will there be cleanup done to remove the previous
ASModel's default attributes and entity definitions, if any? AS ET
members felt that whatever is done implementation-wise, correct
behavior should result.ASWModel
container of other ASWModels.ASWModel
and ASWContentModel, if operations modify the ASWElementDecl.
Documentation was added in the ASWElementDecl editing methods to
reflect this.ASWModel
internal/external subset and "global" attributes. Need to also
introduce the concept of a dummy element declaration and dummy
constant for element types not yet declared but appearing in the
content model of another element type.This section defines APIs for accessing, manipulating and modifying an abstract schema (database schema, DTD, XML Schema).
The set of Abstract Schema interfaces that are common for AS-READ and AS-EDIT.
This interface defines a set of constants used in AS model.
interface ASConstants { // ASObject Types const unsigned short ELEMENT_DECLARATION = 1; const unsigned short ATTRIBUTE_DECLARATION = 2; const unsigned short NOTATION_DECLARATION = 3; const unsigned short ENTITY_DECLARATION = 4; const unsigned short CONTENT_MODEL = 5; const unsigned short SCHEMA_MODEL = 6; // Schema Model types const unsigned short INTERNAL_SUBSET = 30; const unsigned short EXTERNAL_SUBSET = 31; const unsigned short NOT_USED = 32; // Entity Types const unsigned short INTERNAL_ENTITY = 33; const unsigned short EXTERNAL_ENTITY = 34; // Content Model Types const unsigned short EMPTY_CONTENTTYPE = 40; const unsigned short SIMPLE_CONTENTTYPE = 41; const unsigned short ELEMENT_CONTENTTYPE = 42; const unsigned short MIXED_CONTENTTYPE = 43; const unsigned short ANY_CONTENTTYPE = 44; // Content model compositors const unsigned short SEQUENCE_CM = 50; const unsigned short CHOICE_CM = 51; const unsigned short ALL_CM = 52; const unsigned short UNDEFINED_CM = 53; const unsigned short ATOMIC_CM = 54; // Value Constraint const unsigned short NONE_VC = 0; const unsigned short DEFAULT_VC = 60; const unsigned short FIXED_VC = 61; const unsigned short REQUIRED_VC = 62; // Definition of unbounded const unsigned long UNBOUNDED = MAX_VALUE; };
An integer indicating which type of ASConstants
this is.
ATTRIBUTE_DECLARATIONCONTENT_MODELELEMENT_DECLARATIONENTITY_DECLARATIONNOTATION_DECLARATIONSCHEMA_MODELA code representing how the ASModel
is used.
EXTERNAL_SUBSETASModel
is used as an external subset.INTERNAL_SUBSETASModel
is used as an internal subset.NOT_USEDASModel
is neither used as an internal or external subset.An integer indicating which type of entity this is.
EXTERNAL_ENTITYINTERNAL_ENTITYA code representing the type of content model.
ANY_CONTENTTYPEELEMENT_CONTENTTYPEEMPTY_CONTENTTYPEMIXED_CONTENTTYPESIMPLE_CONTENTTYPEList of content model compositors.
ALL_CMATOMIC_CMsubModel includes a
single definition.CHOICE_CMSEQUENCE_CMUNDEFINED_CMDEFAULT_VCFIXED_VCNONE_VCREQUIRED_VCUNBOUNDEDMAX_VALUE value is 0xFFFFFFFF FFFFFFFF.
The ASObject interface is analogous to a
Node in [DOM Level 3 Core], e.g., an element
declaration.
interface ASObject { readonly attribute unsigned short objectType; readonly attribute ASModel ownerModel; readonly attribute DOMString rawname; readonly attribute DOMString name; readonly attribute DOMString namespace; ASObject cloneASObject(in boolean deep) raises(ASException); };
name of type
DOMString, readonlyNCName of this declaration as
defined in [XML Namespaces].namespace of type
DOMString, readonlynull if it is
unspecified. [XML Schema Part 1]defines how a namespace URI is
attached to schema components.objectType of type unsigned
short, readonlytype of this object, ei.
ELEMENT_DECLARATION.ownerModel of type ASModel,
readonlyASModel
object associated with this ASObject. For a object of
type AS_MODEL, this is null.rawname of type
DOMString, readonlyrawname of this declaration of type
Name as defined in [XML 1.0]. This value will be available
only for schemas that allow to declare name of type
Name.cloneASObjectASObject.
See text for cloneNode off of Node but
substitute AS functionality.
deep of type
booleandeep flag on, causes the whole subtree
to be duplicated. Setting it to false only duplicates
its immediate child nodes.|
Cloned |
|
NOT_SUPPORTED_ERR: Raised if implementation doesn't support AS-EDIT. |
The datatypes supported by DOM AS implementations. Further datatypes may be added in the Schema/PSVI spec.
interface ASDataType { readonly attribute unsigned short dataType; // DATA_TYPES const unsigned short STRING_DATATYPE = 1; const unsigned short NOTATION_DATATYPE = 10; const unsigned short ID_DATATYPE = 11; const unsigned short IDREF_DATATYPE = 12; const unsigned short IDREFS_DATATYPE = 13; const unsigned short ENTITY_DATATYPE = 14; const unsigned short ENTITIES_DATATYPE = 15; const unsigned short NMTOKEN_DATATYPE = 16; const unsigned short NMTOKENS_DATATYPE = 17; const unsigned short BOOLEAN_DATATYPE = 100; const unsigned short FLOAT_DATATYPE = 101; const unsigned short DOUBLE_DATATYPE = 102; const unsigned short DECIMAL_DATATYPE = 103; const unsigned short HEXBINARY_DATATYPE = 104; const unsigned short BASE64BINARY_DATATYPE = 105; const unsigned short ANYURI_DATATYPE = 106; const unsigned short QNAME_DATATYPE = 107; const unsigned short DURATION_DATATYPE = 108; const unsigned short DATETIME_DATATYPE = 109; const unsigned short DATE_DATATYPE = 110; const unsigned short TIME_DATATYPE = 111; const unsigned short GYEARMONTH_DATATYPE = 112; const unsigned short GYEAR_DATATYPE = 113; const unsigned short GMONTHDAY_DATATYPE = 114; const unsigned short GDAY_DATATYPE = 115; const unsigned short GMONTH_DATATYPE = 116; const unsigned short INTEGER = 117; const unsigned short NAME_DATATYPE = 200; const unsigned short NCNAME_DATATYPE = 201; const unsigned short NORMALIZEDSTRING_DATATYPE = 202; const unsigned short TOKEN_DATATYPE = 203; const unsigned short LANGUAGE_DATATYPE = 204; const unsigned short NONPOSITIVEINTEGER_DATATYPE = 205; const unsigned short NEGATIVEINTEGER_DATATYPE = 206; const unsigned short LONG_DATATYPE = 207; const unsigned short INT_DATATYPE = 208; const unsigned short SHORT_DATATYPE = 209; const unsigned short BYTE_DATATYPE = 210; const unsigned short NONNEGATIVEINTEGER_DATATYPE = 211; const unsigned short UNSIGNEDLONG_DATATYPE = 212; const unsigned short UNSIGNEDINT_DATATYPE = 213; const unsigned short UNSIGNEDSHORT_DATATYPE = 214; const unsigned short UNSIGNEDBYTE_DATATYPE = 215; const unsigned short POSITIVEINTEGER_DATATYPE = 216; const unsigned short ANYSIMPLETYPE_DATATYPE = 216; const unsigned short ANYTYPE_DATATYPE = 216; };
An integer indicating which datatype this is.
ANYSIMPLETYPE_DATATYPEANYTYPE_DATATYPEANYURI_DATATYPEBASE64BINARY_DATATYPEBOOLEAN_DATATYPEBYTE_DATATYPEDATETIME_DATATYPEDATE_DATATYPEDECIMAL_DATATYPEDOUBLE_DATATYPEDURATION_DATATYPEENTITIES_DATATYPEENTITY_DATATYPEFLOAT_DATATYPEGDAY_DATATYPEGMONTHDAY_DATATYPEGMONTH_DATATYPEGYEARMONTH_DATATYPEGYEAR_DATATYPEHEXBINARY_DATATYPEIDREFS_DATATYPEIDREF_DATATYPEID_DATATYPEINTEGERINT_DATATYPELANGUAGE_DATATYPELONG_DATATYPENAME_DATATYPENCNAME_DATATYPENEGATIVEINTEGER_DATATYPENMTOKENS_DATATYPENMTOKEN_DATATYPENONNEGATIVEINTEGER_DATATYPENONPOSITIVEINTEGER_DATATYPENORMALIZEDSTRING_DATATYPENOTATION_DATATYPEPOSITIVEINTEGER_DATATYPEQNAME_DATATYPESHORT_DATATYPESTRING_DATATYPETIME_DATATYPETOKEN_DATATYPEUNSIGNEDBYTE_DATATYPEUNSIGNEDINT_DATATYPEUNSIGNEDLONG_DATATYPEUNSIGNEDSHORT_DATATYPEdataType of type unsigned
short, readonlyThe ASObjectList interface provides the abstraction
of an ordered collection of AS objects, without defining or
constraining how this collection is implemented.
ASObjectList objects in the DOM AS are live.
interface ASObjectList { readonly attribute unsigned long length; ASObject item(in unsigned long index); };
itemindexth item in the
collection. The index starts at 0. If index is greater
than or equal to the number of objects in the list, this returns
null.
index of type
unsigned longObjects implementing the ASNamedObjectMap interface
are used to represent collections of abstract schema objects that
can be accessed by name. Note that ASNamedObjectMap
does not inherit from ASObjectList;
ASNamedObjectMaps are not maintained in any particular
order.
interface ASNamedObjectMap { readonly attribute unsigned long length; ASObject item(in unsigned long index); ASObject getNamedItem(in DOMString name); ASObject getNamedItemNS(in DOMString namespaceURI, in DOMString localName); };
length of type
unsigned long, readonlyASObjects
in the ASObjectList.
The range of valid child object indices is 0 to
length-1 inclusive.getNamedItemgetNamedItemNSnamespaceURI of type
DOMStringlocalName of type
DOMStringitemindexth item in the
collection. The index starts at 0. If index is greater
than or equal to the number of objects in the list, this returns
null.
index of type
unsigned long|
The |
The interfaces in this section provide a read-only access to abstract schemas.
A DOM application may use the hasFeature(feature,
version) method of the DOMImplementation
interface with parameter values "AS-READ" and "3.0" (respectively)
to determine whether or not this module is supported by the
implementation.
A read-only interface that represents an abstract schema.
interface ASModel : ASObject { readonly attribute boolean namespaceAware; readonly attribute unsigned short usage; readonly attribute DOMString location; readonly attribute DOMString hint; readonly attribute boolean container; ASNamedObjectMap getComponents(in unsigned short objectType); // Convenience method to retrive named top-level declarations ASElementDecl getElementDecl(in DOMString name, in DOMString targetNamespace); ASAttributeDecl getAttributeDecl(in DOMString name, in DOMString targetNamespace); ASEntityDecl getEntityDecl(in DOMString name); ASNotationDecl getNotationDecl(in DOMString name, in DOMString targetNamespace); };
container of type
boolean, readonlyusage is EXTERNAL_SUBSET or NOT_USED, then the
ASModel is simply a container of other ASModels.hint of type DOMString,
readonlyASModel modeled a DTD, this could represent the public
identifier; if an ASModel modeled a XML schema, this
could represent a target namespace of a schema document. This
attribute can also be NULL.location of type
DOMString, readonlyASModel
modeled a DTD, this could represent the system identifier; if an
ASModel modeled a XML schema, this could act as a hint
to the location of a schema document. In addition, if a system
identifier doesn't exist for an internet subset, then this
attribute can be NULL.namespaceAware of
type boolean, readonlytrue if this ASModel defines the
document structure is namespace-aware [XML Namespaces];
false if the document structure is
non-namespace-aware.usage of type
unsigned short, readonlygetAttributeDeclname of type
DOMStringtargetNamespace of type
DOMString|
A top-level attribute declaration or null if such declaration does not exist. |
getComponentsobjectType of type
unsigned short|
A list of top-level definition of the specified type in
|
getElementDeclname of type
DOMStringtargetNamespace of type
DOMString|
A top-level element declaration or null if such declaration does not exist. |
getEntityDeclname of type
DOMString|
An entity declaration or null if such declaration does not exist. |
getNotationDeclname of type
DOMStringtargetNamespace of type
DOMString|
A top-level notation declaration or null if such declaration does not exist. |
The content model of a declared element.
interface ASContentModel : ASObject { readonly attribute unsigned short contentModelType; readonly attribute unsigned long minOccurs; readonly attribute unsigned long maxOccurs; readonly attribute ASObjectList subModels; };
contentModelType
of type unsigned short, readonlyCHOICE_CM, SEQUENCE_CM,
ALL_CM or ATOMIC_CM. The operator is
applied to all the components(ASObjects) in the the
subModels. For example, if the list operator is
CHOICE_CM and the components in subModels are a, b and
c then the abstract schema for the element being declared is
(a|b|c)maxOccurs of type
unsigned long, readonly0, a positive integer, or AS_UNBOUNDED to
indicate that no upper limit has been set.minOccurs of type
unsigned long, readonlysubModels of type
ASObjectList,
readonlyASObjects
of the following types: ELEMENT_DECLARATION and
CONTENT_MODEL.This interface represents an element declararation.
interface ASElementDecl : ASObject { readonly attribute ASDataType type; readonly attribute unsigned short contentType; readonly attribute boolean strictMixedContent; readonly attribute ASContentModel contentModel; readonly attribute boolean isPCDataOnly; readonly attribute ASNamedObjectMap attributeDecls; ASAttributeDecl getAttributeDecl(in DOMString name, in DOMString targetNamespace); };
attributeDecls of type
ASNamedObjectMap,
readonlyASNamedObjectMap
containing ASAttributeDecls
for all the attributes that can appear on this type of
element.contentModel of type ASContentModel,
readonlycontentType of type
unsigned short, readonlyEMPTY_CONTENTTYPE, SIMPLE_CONTENTTYPE,
ELEMENT_CONTENTTYPE,
MIXED_CONTENTTYPE,ANY_CONTENTTYPE.isPCDataOnly of type
boolean, readonlytrue if the element is of type PCDATA only. Relevant
only for mixed content type elements.strictMixedContent
of type boolean, readonlytype of type
ASDataType, readonlygetAttributeDeclname of type
DOMStringtargetNamespace of type
DOMString|
A top-level attribute declaration or null if such declaration does not exist. |
An attribute declaration in the context of a ASObject.
interface ASAttributeDecl : ASObject { readonly attribute ASDataType type; readonly attribute DOMString enumAttr; readonly attribute ASObjectList ownerElementDeclarations; readonly attribute unsigned short defaultType; readonly attribute DOMString value; };
defaultType of type
unsigned short, readonlyenumAttr of type
DOMString, readonlyownerElementDeclarations
of type ASObjectList,
readonlyASObjectList
of element declarations that use this
ASAttributeDeclaration.type of type
ASDataType, readonlyvalue of type
DOMString, readonlynull if there is
none.Models a general entity declaration in an abstract schema.
interface ASEntityDecl : ASObject { readonly attribute unsigned short entityType; readonly attribute DOMString entityValue; readonly attribute DOMString systemId; readonly attribute DOMString publicId; };
entityType of type
unsigned short, readonlyINTERNAL_ENTITY or
EXTERNAL_ENTITY.entityValue of type
DOMString, readonlyEXTERNAL_ENTITY this is
null.publicId of type
DOMString, readonlynull otherwise.systemId of type
DOMString, readonlynull otherwise.This interface represents a notation declaration.
interf