/*******************************************************************************
 * Copyright (c) 2001, 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 v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.wst.xsd.editor;

import org.eclipse.osgi.util.NLS;

public class Messages extends NLS
{
  static 
  {
    NLS.initializeMessages("org.eclipse.wst.xsd.editor" + ".Messages", Messages.class);
  }

  public Messages()
  {
    super();
  }
  
  public static String UI_LABEL_BASE_TYPE;
  public static String UI_LABEL_DERIVED_BY;
  public static String UI_LABEL_INHERIT_FROM;
  public static String UI_LABEL_INHERIT_BY;
  public static String UI_LABEL_DOCUMENTATION;
  public static String UI_LABEL_APP_INFO;
  public static String UI_LABEL_SET_TYPE;
  public static String UI_LABEL_TYPE;
  public static String UI_LABEL_MINOCCURS;
  public static String UI_LABEL_MAXOCCURS;
  public static String UI_NO_TYPE;
  public static String UI_PAGE_HEADING_REFERENCE;
  public static String UI_LABEL_READ_ONLY;
  public static String UI_LABEL_COMPONENTS;


}

