###############################################################################
# Copyright (c) 2015, 2016 Angelo Zerr 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:
#	Angelo Zerr <angelo.zerr@gmail.com> - Initial API and implementation
#	Patrik Suzzi <psuzzi@gmail.com> - Bug 487050
###############################################################################
providerName=Eclipse Web Tools Platform
pluginName=Structured Source JSON Model
Structured_JSON_Document_Factory_Extension.name=Structured JSON Document Factory Extension
JSON_Content_Type_Extension_Element.name=JSON (Illformed)
JSON_Validator.name=JSON Validator
JSON_Validation_Error_Customizer.name=JSON Validator Error Customizer Extension Point

# Validation
_validationMarker.name=JSON Problem

# Extension
schemaProcessors.name=JSON Schema Processors extension
schemaStoreContributions.name=JSON Schema Store Contributions