###############################################################################
# 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 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# 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