1 /******************************************************************************* 2 * Copyright (c) 2000, 2006 IBM Corporation and others. 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/epl-v10.html 7 * 8 * Contributors: 9 * IBM Corporation - initial API and implementation 10 *******************************************************************************/ 11 package org.eclipse.pde.internal.core.ischema; 12 13 /** 14 * Classes that implement this interface represent definition 15 * of one element in the extension point schema. 16 * Elements are defined at the global scope and contain 17 * type (typically complex types with compositors) and 18 * attribute definitions. 19 */ 20 public interface ISchemaElement extends ISchemaObject, ISchemaRepeatable, ISchemaAttributeProvider, IMetaElement { 21 /** 22 * Returns an approximate representation of this element's content 23 * model in DTD form. The resulting representation may not 24 * be accurate because XML schema is more powerful and 25 * provides for grammar definitions that are not possible 26 * with DTDs. 27 * 28 * param addLinks if true, the representation will contain 29 * HTML tags for quick access to referenced elements. 30 * 31 *@return DTD approximation of this element's grammar 32 */ 33 String getDTDRepresentation(boolean addLinks); 34 /** 35 * Returns type object that represents the type defined in this element. 36 * The type can be simple (defining an element that can only contain text) 37 * or complex (with attributes and/or compositors). 38 */ 39 public ISchemaType getType(); 40 } 41