/**
 * <copyright>
 * 
 * Copyright (c) 2011 See4sys 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
 * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
 * 
 * Contributors: 
 *     See4sys - Initial API and implementation
 * 
 * </copyright>
 */
package org.eclipse.sphinx.emf.mwe;

public interface IXtendXpandConstants {

	String NS_DELIMITER = "::"; //$NON-NLS-1$

	String TEMPLATE_EXTENSION = "xpt"; //$NON-NLS-1$

	String EXTENSION_EXTENSION = "ext"; //$NON-NLS-1$

	String CHECK_EXTENSION = "chk"; //$NON-NLS-1$
}
