/*******************************************************************************
 * Copyright (c) 2001, 2004 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.ws.internal.explorer.platform.wsdl.constants;

public class WSDLModelConstants
{
    // Relation
    public final static String REL_WSDL = "relWSDL";
    public final static String REL_WSDL_SERVICE = "relWSDLService";
    public final static String REL_WSDL_BINDING = "relWSDLBinding";
    public final static String REL_WSDL_OPERATION = "relWSDLOperation";

    // Documentation
    public final static String PROP_DOCUMENTATION = "propDocumentation";

    // Source Content
    public final static String PROP_SOURCE_CONTENT = "propSourceContent";
    public final static String PROP_SOURCE_CONTENT_NAMESPACE = "propSourceContentNS";
}
