# /**
#  * <copyright>
#  *
#  * Copyright (c) 2002-2010 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 - Initial API and implementation
#  *
#  * </copyright>
#  *
#  * $Id: about.properties,v 1.6 2010/04/27 15:57:25 emerks Exp $
#  */

# NLS_MESSAGEFORMAT_VAR

featureName=XSD Mapping

featureText=XSD Mapping\n\
Version: {featureVersion}\n\
Build id: {0}\n\
\n\
(c) Copyright Eclipse contributors and others. 2002, 2010.  All rights reserved.\n\
\n\
XSD is a reference library for manipulating the components of an\n\
XML Schema as described by the W3C XML Schema specifications.\n\
Visit http://www.eclipse.org/xsd/
