| /** |
| * Copyright (c) 2002-2006 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v2.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v20.html |
| * |
| * Contributors: |
| * IBM - Initial API and implementation |
| */ |
| package org.eclipse.xsd; |
| |
| |
| import java.util.Collection; |
| |
| import org.w3c.dom.Element; |
| |
| import org.eclipse.emf.common.util.EList; |
| import org.eclipse.emf.ecore.EObject; |
| |
| |
| /** |
| * <!-- begin-user-doc --> |
| * A representation of the model object '<em><b>Concrete Component</b></em>'. |
| * It is the root of all concrete components. |
| * <!-- end-user-doc --> |
| * |
| * <p> |
| * The following features are supported: |
| * </p> |
| * <ul> |
| * <li>{@link org.eclipse.xsd.XSDConcreteComponent#getElement <em>Element</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDConcreteComponent#getContainer <em>Container</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDConcreteComponent#getRootContainer <em>Root Container</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDConcreteComponent#getSchema <em>Schema</em>}</li> |
| * <li>{@link org.eclipse.xsd.XSDConcreteComponent#getDiagnostics <em>Diagnostics</em>}</li> |
| * </ul> |
| * |
| * @see org.eclipse.xsd.XSDPackage#getXSDConcreteComponent() |
| * @model abstract="true" |
| * @generated |
| */ |
| public interface XSDConcreteComponent extends EObject |
| { |
| /** |
| * Returns the value of the '<em><b>Element</b></em>' attribute. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This is the underlying DOM element associated with this component, |
| * i.e., the {@link #updateElement() serialization} of this component. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Element</em>' attribute. |
| * @see #setElement(Element) |
| * @see org.eclipse.xsd.XSDPackage#getXSDConcreteComponent_Element() |
| * @model dataType="org.eclipse.xsd.DOMElement" |
| * @generated |
| */ |
| Element getElement(); |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.xsd.XSDConcreteComponent#getElement <em>Element</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Element</em>' attribute. |
| * @see #getElement() |
| * @generated |
| */ |
| void setElement(Element value); |
| |
| /** |
| * Ensures that the underlying DOM {@link #getElement element} both exists and is up-to-date with respect to the model, |
| * i.e., it serializes the component and maintains an association with that serialization. |
| * @see #updateElement(boolean) |
| * @see #getElement |
| */ |
| void updateElement(); |
| |
| /** |
| * Ensures that the underlying DOM {@link #getElement element} both exists and is up-to-date with respect to the model, |
| * i.e., it serializes the component and maintains an association with that serialization. |
| * For <code>deep == true</code>, |
| * or when <code>{@link #getElement getElement()} == null</code>, |
| * this does the same thing as {@link #updateElement()}; |
| * otherwise, it updates just the DOM element associated with this component to reflect the current state. |
| * @see #updateElement() |
| * @see #getElement |
| */ |
| void updateElement(boolean deep); |
| |
| /** |
| * Returns the value of the '<em><b>Container</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This represents the concrete container of this component, |
| * i.e., the inverse of the black diamond relations in the UML model. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Container</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDConcreteComponent_Container() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDConcreteComponent getContainer(); |
| |
| /** |
| * Returns the value of the '<em><b>Root Container</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This walks the {@link #getContainer() containers} |
| * until it hits one that has no container. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Root Container</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDConcreteComponent_RootContainer() |
| * @model resolveProxies="false" required="true" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDConcreteComponent getRootContainer(); |
| |
| /** |
| * Returns the value of the '<em><b>Schema</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * This walks the {@link #getContainer() containers} |
| * until it reaches a schema. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Schema</em>' reference. |
| * @see org.eclipse.xsd.XSDPackage#getXSDConcreteComponent_Schema() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" |
| * @generated |
| */ |
| XSDSchema getSchema(); |
| |
| /** |
| * Returns the value of the '<em><b>Diagnostics</b></em>' containment reference list. |
| * The list contents are of type {@link org.eclipse.xsd.XSDDiagnostic}. |
| * <!-- begin-user-doc --> |
| * <p> |
| * These diagnostics are produced by {@link #validate() validation}. |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Diagnostics</em>' containment reference list. |
| * @see org.eclipse.xsd.XSDPackage#getXSDConcreteComponent_Diagnostics() |
| * @model containment="true" transient="true" |
| * @generated |
| */ |
| EList<XSDDiagnostic> getDiagnostics(); |
| |
| /** |
| * Called to indicate that the given element has changed; |
| * the element should typically be the same as the one returned {@link #getElement}. |
| * It is expected that clients will not call this themselves |
| * since the DOM event listeners attached to the underlying DOM will invoke these automatically. |
| */ |
| void elementChanged(Element changedElement); |
| |
| /** |
| * Called to indicate that the given element has changed attributes; |
| * the element should typically be the same as the one returned {@link #getElement}. |
| * It is expected that clients will not call this themselves |
| * since the DOM event listeners attached to the underlying DOM will invoke these automatically. |
| */ |
| void elementAttributesChanged(Element changedElement); |
| |
| /** |
| * Called to indicate that the given element has changed contents; |
| * the element should typically be the same as the one returned {@link #getElement}. |
| * It is expected that clients will not call this themselves |
| * since the DOM event listeners attached to the underlying DOM will invoke these automatically. |
| */ |
| void elementContentsChanged(Element changedElement); |
| |
| /** |
| * Returns the resolved type definition of the given {@link org.eclipse.xsd.XSDNamedComponent#getURI() URI}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #resolveTypeDefinition(java.lang.String, java.lang.String) |
| * @see #resolveTypeDefinition(java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getURI() |
| * @param uri the URI to resolve. |
| * @return the resolved type definition. |
| */ |
| XSDTypeDefinition resolveTypeDefinitionURI(String uri); |
| |
| /** |
| * Returns the resolved type definition of the given |
| * {@link org.eclipse.xsd.XSDNamedComponent#getTargetNamespace() namespace} and {@link org.eclipse.xsd.XSDNamedComponent#getName() name}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #resolveTypeDefinitionURI(java.lang.String) |
| * @see #resolveTypeDefinition(java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getTargetNamespace() |
| * @see org.eclipse.xsd.XSDNamedComponent#getName() |
| * @param namespace the namespace to resolve. |
| * @param localName the name to resolve. |
| * @return the resolved type definition. |
| */ |
| XSDTypeDefinition resolveTypeDefinition(String namespace, String localName); |
| |
| /** |
| * Returns the resolved type definition of the given {@link org.eclipse.xsd.XSDNamedComponent#getName() name} |
| * within the {@link #getSchema() schema}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #getSchema() |
| * @see org.eclipse.xsd.XSDSchema#getTargetNamespace() |
| * @see #resolveTypeDefinitionURI(java.lang.String) |
| * @see #resolveTypeDefinition(java.lang.String, java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getName() |
| * @param localName the name to resolve. |
| * @return the resolved type definition. |
| */ |
| XSDTypeDefinition resolveTypeDefinition(String localName); |
| |
| /** |
| * Returns the resolved simple type definition of the given {@link org.eclipse.xsd.XSDNamedComponent#getURI() URI}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #resolveSimpleTypeDefinition(java.lang.String, java.lang.String) |
| * @see #resolveSimpleTypeDefinition(java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getURI() |
| * @param uri the URI to resolve. |
| * @return the resolved simple type definition. |
| */ |
| XSDSimpleTypeDefinition resolveSimpleTypeDefinitionURI(String uri); |
| |
| /** |
| * Returns the resolved simple type definition of the given |
| * {@link org.eclipse.xsd.XSDNamedComponent#getTargetNamespace() namespace} and {@link org.eclipse.xsd.XSDNamedComponent#getName() name}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #resolveSimpleTypeDefinitionURI(java.lang.String) |
| * @see #resolveSimpleTypeDefinition(java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getTargetNamespace() |
| * @see org.eclipse.xsd.XSDNamedComponent#getName() |
| * @param namespace the namespace to resolve. |
| * @param localName the name to resolve. |
| * @return the resolved simple type definition. |
| */ |
| XSDSimpleTypeDefinition resolveSimpleTypeDefinition(String namespace, String localName); |
| |
| /** |
| * Returns the resolved simple type definition of the given {@link org.eclipse.xsd.XSDNamedComponent#getName() name} |
| * within the {@link #getSchema() schema}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #getSchema() |
| * @see org.eclipse.xsd.XSDSchema#getTargetNamespace() |
| * @see #resolveSimpleTypeDefinitionURI(java.lang.String) |
| * @see #resolveSimpleTypeDefinition(java.lang.String, java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getName() |
| * @param localName the name to resolve. |
| * @return the resolved simple type definition. |
| */ |
| XSDSimpleTypeDefinition resolveSimpleTypeDefinition(String localName); |
| |
| /** |
| * Returns the resolved complex type definition of the given {@link org.eclipse.xsd.XSDNamedComponent#getURI() URI}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #resolveComplexTypeDefinition(java.lang.String, java.lang.String) |
| * @see #resolveComplexTypeDefinition(java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getURI() |
| * @param uri the URI to resolve. |
| * @return the resolved complex type definition. |
| */ |
| XSDComplexTypeDefinition resolveComplexTypeDefinitionURI(String uri); |
| |
| /** |
| * Returns the resolved complex type definition of the given |
| * {@link org.eclipse.xsd.XSDNamedComponent#getTargetNamespace() namespace} and {@link org.eclipse.xsd.XSDNamedComponent#getName() name}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #resolveComplexTypeDefinitionURI(java.lang.String) |
| * @see #resolveComplexTypeDefinition(java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getTargetNamespace() |
| * @see org.eclipse.xsd.XSDNamedComponent#getName() |
| * @param namespace the namespace to resolve. |
| * @param localName the name to resolve. |
| * @return the resolved complex type definition. |
| */ |
| XSDComplexTypeDefinition resolveComplexTypeDefinition(String namespace, String localName); |
| |
| /** |
| * Returns the resolved complex type definition of the given {@link org.eclipse.xsd.XSDNamedComponent#getName() name} |
| * within the {@link #getSchema() schema}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #getSchema() |
| * @see org.eclipse.xsd.XSDSchema#getTargetNamespace() |
| * @see #resolveComplexTypeDefinitionURI(java.lang.String) |
| * @see #resolveComplexTypeDefinition(java.lang.String, java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getName() |
| * @param localName the name to resolve. |
| * @return the resolved complex type definition. |
| */ |
| XSDComplexTypeDefinition resolveComplexTypeDefinition(String localName); |
| |
| /** |
| * Returns the resolved attribute declaration of the given {@link org.eclipse.xsd.XSDNamedComponent#getURI() URI}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #resolveAttributeDeclaration(java.lang.String, java.lang.String) |
| * @see #resolveAttributeDeclaration(java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getURI() |
| * @param uri the URI to resolve. |
| * @return the resolved attribute declaration. |
| */ |
| XSDAttributeDeclaration resolveAttributeDeclarationURI(String uri); |
| |
| /** |
| * Returns the resolved attribute declaration of the given |
| * {@link org.eclipse.xsd.XSDNamedComponent#getTargetNamespace() namespace} and {@link org.eclipse.xsd.XSDNamedComponent#getName() name}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #resolveAttributeDeclarationURI(java.lang.String) |
| * @see #resolveAttributeDeclaration(java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getTargetNamespace() |
| * @see org.eclipse.xsd.XSDNamedComponent#getName() |
| * @param namespace the namespace to resolve. |
| * @param localName the name to resolve. |
| * @return the resolved attribute declaration. |
| */ |
| XSDAttributeDeclaration resolveAttributeDeclaration(String namespace, String localName); |
| |
| /** |
| * Returns the resolved attribute declaration of the given {@link org.eclipse.xsd.XSDNamedComponent#getName() name} |
| * within the {@link #getSchema() schema}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #getSchema() |
| * @see org.eclipse.xsd.XSDSchema#getTargetNamespace() |
| * @see #resolveAttributeDeclarationURI(java.lang.String) |
| * @see #resolveAttributeDeclaration(java.lang.String, java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getName() |
| * @param localName the name to resolve. |
| * @return the resolved attribute declaration. |
| */ |
| XSDAttributeDeclaration resolveAttributeDeclaration(String localName); |
| |
| /** |
| * Returns the resolved element declaration of the given {@link org.eclipse.xsd.XSDNamedComponent#getURI() URI}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #resolveElementDeclaration(java.lang.String, java.lang.String) |
| * @see #resolveElementDeclaration(java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getURI() |
| * @param uri the URI to resolve. |
| * @return the resolved element declaration. |
| */ |
| XSDElementDeclaration resolveElementDeclarationURI(String uri); |
| |
| /** |
| * Returns the resolved element declaration of the given |
| * {@link org.eclipse.xsd.XSDNamedComponent#getTargetNamespace() namespace} and {@link org.eclipse.xsd.XSDNamedComponent#getName() name}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #resolveElementDeclarationURI(java.lang.String) |
| * @see #resolveElementDeclaration(java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getTargetNamespace() |
| * @see org.eclipse.xsd.XSDNamedComponent#getName() |
| * @param namespace the namespace to resolve. |
| * @param localName the name to resolve. |
| * @return the resolved element declaration. |
| */ |
| XSDElementDeclaration resolveElementDeclaration(String namespace, String localName); |
| |
| /** |
| * Returns the resolved element declaration of the given {@link org.eclipse.xsd.XSDNamedComponent#getName() name} |
| * within the {@link #getSchema() schema}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #getSchema() |
| * @see org.eclipse.xsd.XSDSchema#getTargetNamespace() |
| * @see #resolveElementDeclarationURI(java.lang.String) |
| * @see #resolveElementDeclaration(java.lang.String, java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getName() |
| * @param localName the name to resolve. |
| * @return the resolved element declaration. |
| */ |
| XSDElementDeclaration resolveElementDeclaration(String localName); |
| |
| /** |
| * Returns the resolved attribute group definition of the given {@link org.eclipse.xsd.XSDNamedComponent#getURI() URI}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #resolveAttributeGroupDefinition(java.lang.String, java.lang.String) |
| * @see #resolveAttributeGroupDefinition(java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getURI() |
| * @param uri the URI to resolve. |
| * @return the resolved attribute group definition. |
| */ |
| XSDAttributeGroupDefinition resolveAttributeGroupDefinitionURI(String uri); |
| |
| /** |
| * Returns the resolved attribute group definition the given |
| * {@link org.eclipse.xsd.XSDNamedComponent#getTargetNamespace() namespace} and {@link org.eclipse.xsd.XSDNamedComponent#getName() name}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #resolveAttributeGroupDefinitionURI(java.lang.String) |
| * @see #resolveAttributeGroupDefinition(java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getTargetNamespace() |
| * @see org.eclipse.xsd.XSDNamedComponent#getName() |
| * @param namespace the namespace to resolve. |
| * @param localName the name to resolve. |
| * @return the resolved attribute group definition |
| */ |
| XSDAttributeGroupDefinition resolveAttributeGroupDefinition(String namespace, String localName); |
| |
| /** |
| * Returns the resolved attribute group definition of the given {@link org.eclipse.xsd.XSDNamedComponent#getName() name} |
| * within the {@link #getSchema() schema}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #getSchema() |
| * @see org.eclipse.xsd.XSDSchema#getTargetNamespace() |
| * @see #resolveAttributeGroupDefinitionURI(java.lang.String) |
| * @see #resolveAttributeGroupDefinition(java.lang.String, java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getName() |
| * @param localName the name to resolve. |
| * @return the resolved attribute group definition. |
| */ |
| XSDAttributeGroupDefinition resolveAttributeGroupDefinition(String localName); |
| |
| /** |
| * Returns the resolved model group definition of the given {@link org.eclipse.xsd.XSDNamedComponent#getURI() URI}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #resolveModelGroupDefinition(java.lang.String, java.lang.String) |
| * @see #resolveModelGroupDefinition(java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getURI() |
| * @param uri the URI to resolve. |
| * @return the resolved model group definition. |
| */ |
| XSDModelGroupDefinition resolveModelGroupDefinitionURI(String uri); |
| |
| /** |
| * Returns the resolved model group definition of the given |
| * {@link org.eclipse.xsd.XSDNamedComponent#getTargetNamespace() namespace} and {@link org.eclipse.xsd.XSDNamedComponent#getName() name}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #resolveModelGroupDefinitionURI(java.lang.String) |
| * @see #resolveModelGroupDefinition(java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getTargetNamespace() |
| * @see org.eclipse.xsd.XSDNamedComponent#getName() |
| * @param namespace the namespace to resolve. |
| * @param localName the name to resolve. |
| * @return the resolved model group definition. |
| */ |
| XSDModelGroupDefinition resolveModelGroupDefinition(String namespace, String localName); |
| |
| /** |
| * Returns the resolved model group definition of the given {@link org.eclipse.xsd.XSDNamedComponent#getName() name} |
| * within the {@link #getSchema() schema}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #getSchema() |
| * @see org.eclipse.xsd.XSDSchema#getTargetNamespace() |
| * @see #resolveModelGroupDefinitionURI(java.lang.String) |
| * @see #resolveModelGroupDefinition(java.lang.String, java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getName() |
| * @param localName the name to resolve. |
| * @return the resolved model group definition. |
| */ |
| XSDModelGroupDefinition resolveModelGroupDefinition(String localName); |
| |
| /** |
| * Returns the resolved identity constraint definition of the given {@link org.eclipse.xsd.XSDNamedComponent#getURI() URI}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #resolveIdentityConstraintDefinition(java.lang.String, java.lang.String) |
| * @see #resolveIdentityConstraintDefinition(java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getURI() |
| * @param uri the URI to resolve. |
| * @return the resolved identity constraint definition. |
| */ |
| XSDIdentityConstraintDefinition resolveIdentityConstraintDefinitionURI(String uri); |
| |
| /** |
| * Returns the resolved identity constraint definition of the given |
| * {@link org.eclipse.xsd.XSDNamedComponent#getTargetNamespace() namespace} and {@link org.eclipse.xsd.XSDNamedComponent#getName() name}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #resolveIdentityConstraintDefinitionURI(java.lang.String) |
| * @see #resolveIdentityConstraintDefinition(java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getTargetNamespace() |
| * @see org.eclipse.xsd.XSDNamedComponent#getName() |
| * @param namespace the namespace to resolve. |
| * @param localName the name to resolve. |
| * @return the resolved identity constraint definition. |
| */ |
| XSDIdentityConstraintDefinition resolveIdentityConstraintDefinition(String namespace, String localName); |
| |
| /** |
| * Returns the resolved identity constraint definition of the given {@link org.eclipse.xsd.XSDNamedComponent#getName() name} |
| * within the {@link #getSchema() schema}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #getSchema() |
| * @see org.eclipse.xsd.XSDSchema#getTargetNamespace() |
| * @see #resolveIdentityConstraintDefinitionURI(java.lang.String) |
| * @see #resolveIdentityConstraintDefinition(java.lang.String, java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getName() |
| * @param localName the name to resolve. |
| * @return the resolved identity constraint definition. |
| */ |
| XSDIdentityConstraintDefinition resolveIdentityConstraintDefinition(String localName); |
| |
| /** |
| * Returns the resolved notation declaration of the given {@link org.eclipse.xsd.XSDNamedComponent#getURI() URI}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #resolveNotationDeclaration(java.lang.String, java.lang.String) |
| * @see #resolveNotationDeclaration(java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getURI() |
| * @param uri the URI to resolve. |
| * @return the resolved notation declaration. |
| */ |
| XSDNotationDeclaration resolveNotationDeclarationURI(String uri); |
| |
| /** |
| * Returns the resolved notation declaration of the given |
| * {@link org.eclipse.xsd.XSDNamedComponent#getTargetNamespace() namespace} and {@link org.eclipse.xsd.XSDNamedComponent#getName() name}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #resolveNotationDeclarationURI(java.lang.String) |
| * @see #resolveNotationDeclaration(java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getTargetNamespace() |
| * @see org.eclipse.xsd.XSDNamedComponent#getName() |
| * @param namespace the namespace to resolve. |
| * @param localName the name to resolve. |
| * @return the resolved notation declaration. |
| */ |
| XSDNotationDeclaration resolveNotationDeclaration(String namespace, String localName); |
| |
| /** |
| * Returns the resolved notation declaration the given {@link org.eclipse.xsd.XSDNamedComponent#getName() name} |
| * within the {@link #getSchema() schema}. |
| * An unresolved instance is synthesized to hold the namespace and name if an existing instance cannot be found. |
| * @see #getSchema() |
| * @see org.eclipse.xsd.XSDSchema#getTargetNamespace() |
| * @see #resolveNotationDeclarationURI(java.lang.String) |
| * @see #resolveNotationDeclaration(java.lang.String, java.lang.String) |
| * @see org.eclipse.xsd.XSDNamedComponent#getName() |
| * @param localName the name to resolve. |
| * @return the resolved notation declaration |
| */ |
| XSDNotationDeclaration resolveNotationDeclaration(String localName); |
| |
| /** |
| * Returns the collection of components that have an {@link org.eclipse.xsd.XSDAnnotation annotation} |
| * containing an {@link org.eclipse.xsd.XSDAnnotation#getApplicationInformation() appinfo} with given source URI. |
| * @see org.eclipse.xsd.XSDAnnotation#getApplicationInformationSources() |
| * @param sourceURI the source URI to match. |
| * @return the collection of matching components. |
| */ |
| Collection<XSDConcreteComponent> getComponentsWithApplicationInformation(String sourceURI); |
| |
| /** |
| * Returns the collection of components that have an {@link org.eclipse.xsd.XSDAnnotation annotation} |
| * containing a {@link org.eclipse.xsd.XSDAnnotation#getUserInformation() documentation} with given source URI. |
| * @see org.eclipse.xsd.XSDAnnotation#getApplicationInformationSources() |
| * @param sourceURI the source URI to match. |
| * @return the collection of matching components. |
| */ |
| Collection<XSDConcreteComponent> getComponentsWithUserInformation(String sourceURI); |
| |
| /** |
| * Validates whether this component conforms to the constraints defined in the XML Schema standard. |
| * {@link #getDiagnostics() Diagnostics} are produced to report any problems. |
| * The effect of calling this for a component not directly or indirectly contained by a {@link org.eclipse.xsd.XSDSchema schema} |
| * is undefined, and is likely to result in null pointer exceptions. |
| * @see #getDiagnostics() |
| * @see #clearDiagnostics() |
| */ |
| void validate(); |
| |
| /** |
| * Clears any {@link #getDiagnostics() diagnostics} associated with the component and all those it contains. |
| * @see #validate() |
| * @see #getDiagnostics() |
| */ |
| void clearDiagnostics(); |
| |
| /** |
| * Creates a clone of the component. |
| * The clone may be deep and may share the DOM of this component. |
| * @param deep whether the clone should be deep. |
| * @param shareDOM whether the clone should share the original DOM |
| * @return a clone of the component. |
| */ |
| XSDConcreteComponent cloneConcreteComponent(boolean deep, boolean shareDOM); |
| |
| /** |
| * Returns whether the given component is contained by this component. |
| * @param xsdConcreteComponent a component. |
| * @return whether the component is contained by this component. |
| */ |
| boolean contains(XSDConcreteComponent xsdConcreteComponent); |
| } |