# /**
#  * Copyright (c) 2002-2008 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
#  */

# NLS_MESSAGEFORMAT_VAR

pluginName = XSD Cheat Sheets
providerName = Eclipse Modeling Project

_UI_CheatsheetGenXSD_title = Generating an EMF Model from XML Schema
_UI_CheatsheetGenXSD_description = Learn how to generate an EMF model and editor from an XML Schema.
