All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.xerces.dom3.as.ASModel Maven / Gradle / Ivy

Go to download

Xerces2 is the next generation of high performance, fully compliant XML parsers in the Apache Xerces family. This new version of Xerces introduces the Xerces Native Interface (XNI), a complete framework for building parser components and configurations that is extremely modular and easy to program. The Apache Xerces2 parser is the reference implementation of XNI but other parser components, configurations, and parsers can be written using the Xerces Native Interface. For complete design and implementation documents, refer to the XNI Manual. Xerces2 is a fully conforming XML Schema 1.0 processor. A partial experimental implementation of the XML Schema 1.1 Structures and Datatypes Working Drafts (December 2009) and an experimental implementation of the XML Schema Definition Language (XSD): Component Designators (SCD) Candidate Recommendation (January 2010) are provided for evaluation. For more information, refer to the XML Schema page. Xerces2 also provides a complete implementation of the Document Object Model Level 3 Core and Load/Save W3C Recommendations and provides a complete implementation of the XML Inclusions (XInclude) W3C Recommendation. It also provides support for OASIS XML Catalogs v1.1. Xerces2 is able to parse documents written according to the XML 1.1 Recommendation, except that it does not yet provide an option to enable normalization checking as described in section 2.13 of this specification. It also handles namespaces according to the XML Namespaces 1.1 Recommendation, and will correctly serialize XML 1.1 documents if the DOM level 3 load/save APIs are in use.

The newest version!
/*
 * 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 org.apache.xerces.dom3.as;

import org.w3c.dom.DOMException;

/**
 * @deprecated
 *  To begin with, an abstract schema is a generic structure that could 
 * contain both internal and external subsets. An ASModel is an 
 * abstract object that could map to a DTD , an XML Schema , a database 
 * schema, etc. An ASModel could represent either an internal 
 * or an external subset; hence an abstract schema could be composed of an 
 * ASModel representing the internal subset and an 
 * ASModel representing the external subset. Note that the 
 * ASModel representing the external subset could consult the 
 * ASModel representing the internal subset. Furthermore, the 
 * ASModel representing the internal subset could be set to 
 * null by the setInternalAS method as a mechanism for 
 * "removal". In addition, only one ASModel representing the 
 * external subset can be specified as "active" and it is possible that none 
 * are "active". Finally, the ASModel contains the factory 
 * methods needed to create a various types of ASObjects like 
 * ASElementDeclaration, ASAttributeDeclaration, 
 * etc. 
 * 

See also the Document Object Model (DOM) Level 3 Abstract Schemas and Load and Save Specification. */ public interface ASModel extends ASObject { /** * true if this ASModel defines the document * structure in terms of namespaces and local names ; false * if the document structure is defined only in terms of * QNames. */ public boolean getIsNamespaceAware(); /** * 0 if used internally, 1 if used externally, 2 if not all. An exception * will be raised if it is incompatibly shared or in use as an internal * subset. */ public short getUsageLocation(); /** * The URI reference. */ public String getAsLocation(); /** * The URI reference. */ public void setAsLocation(String asLocation); /** * The hint to locating an ASModel. */ public String getAsHint(); /** * The hint to locating an ASModel. */ public void setAsHint(String asHint); /** * Instead of returning an all-in-one ASObject with * ASModel methods, have discernible top-level/"global" * element declarations. If one attempts to add, set, or remove a node * type other than the intended one, a hierarchy exception (or * equivalent is thrown). */ public ASNamedObjectMap getElementDeclarations(); /** * Instead of returning an all-in-one ASObject with * ASModel methods, have discernible top-level/"global" * attribute declarations. If one attempts to add, set, or remove a node * type other than the intended one, a hierarchy exception (or * equivalent is thrown). */ public ASNamedObjectMap getAttributeDeclarations(); /** * Instead of returning an all-in-one ASObject with * ASModel methods, have discernible top-level/"global" * notation declarations. If one attempts to add, set, or remove a node * type other than the intended one, a hierarchy exception (or * equivalent is thrown). */ public ASNamedObjectMap getNotationDeclarations(); /** * Instead of returning an all-in-one ASObject with * ASModel methods, have discernible top-level/"global" * entity declarations. If one attempts to add, set, or remove a node * type other than the intended one, a hierarchy exception (or * equivalent is thrown). */ public ASNamedObjectMap getEntityDeclarations(); /** * Instead of returning an all-in-one ASObject with * ASModel methods, have discernible top-level/"global * content model declarations. If one attempts to add, set, or remove a * node type other than the intended one, a hierarchy exception (or * equivalent is thrown). */ public ASNamedObjectMap getContentModelDeclarations(); /** * This method will allow the nesting or "importation" of ASModels. * @param abstractSchema ASModel to be set. Subsequent calls will nest * the ASModels within the specified ownerASModel. */ public void addASModel(ASModel abstractSchema); /** * To retrieve a list of nested ASModels without reference to names. * @return A list of ASModels. */ public ASObjectList getASModels(); /** * Removes only the specified ASModel from the list of * ASModels. * @param as AS to be removed. */ public void removeAS(ASModel as); /** * Determines if an ASModel itself is valid, i.e., confirming * that it's well-formed and valid per its own formal grammar. * @return true if the ASModel is valid, * false otherwise. */ public boolean validate(); /** * Creates an element declaration for the element type specified. * @param namespaceURI The namespace URI of the element type * being declared. * @param name The name of the element. The format of the name could be * an NCName as defined by XML Namespaces or a Name as defined by XML * 1.0; it's ASModel-dependent. * @return A new ASElementDeclaration object with * name attribute set to tagname and * namespaceURI set to systemId. Other * attributes of the element declaration are set through * ASElementDeclaration interface methods. * @exception DOMException * INVALID_CHARACTER_ERR: Raised if the specified name contains an * illegal character. */ public ASElementDeclaration createASElementDeclaration(String namespaceURI, String name) throws DOMException; /** * Creates an attribute declaration. * @param namespaceURI The namespace URI of the attribute being declared. * @param name The name of the attribute. The format of the name could be * an NCName as defined by XML Namespaces or a Name as defined by XML * 1.0; it's ASModel-dependent. * @return A new ASAttributeDeclaration object with * appropriate attributes set by input parameters. * @exception DOMException * INVALID_CHARACTER_ERR: Raised if the input name * parameter contains an illegal character. */ public ASAttributeDeclaration createASAttributeDeclaration(String namespaceURI, String name) throws DOMException; /** * Creates a new notation declaration. * @param namespaceURI The namespace URI of the notation being declared. * @param name The name of the notation. The format of the name could be * an NCName as defined by XML Namespaces or a Name as defined by XML * 1.0; it's ASModel-dependent. * @param systemId The system identifier for the notation declaration. * @param publicId The public identifier for the notation declaration. * @return A new ASNotationDeclaration object with * notationName attribute set to name and * publicId and systemId set to the * corresponding fields. * @exception DOMException * INVALID_CHARACTER_ERR: Raised if the specified name contains an * illegal character. */ public ASNotationDeclaration createASNotationDeclaration(String namespaceURI, String name, String systemId, String publicId) throws DOMException; /** * Creates an ASEntityDeclaration. * @param name The name of the entity being declared. * @return A new ASEntityDeclaration object with * entityName attribute set to name. * @exception DOMException * INVALID_CHARACTER_ERR: Raised if the specified name contains an * illegal character. */ public ASEntityDeclaration createASEntityDeclaration(String name) throws DOMException; /** * Creates an object which describes part of an * ASElementDeclaration's content model. * @param minOccurs The minimum occurrence for the subModels of this * ASContentModel. * @param maxOccurs The maximum occurrence for the subModels of this * ASContentModel. * @param operator operator of type AS_CHOICE, * AS_SEQUENCE, AS_ALL or * AS_NONE. * @return A new ASContentModel object. * @exception DOMASException * A DOMASException, e.g., minOccurs > maxOccurs. */ public ASContentModel createASContentModel(int minOccurs, int maxOccurs, short operator) throws DOMASException; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy