###############################################################################
# Copyright (c) 2001, 2006 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
###############################################################################

UI_LABEL_BASE_TYPE = Base Type:
UI_LABEL_DERIVED_BY = Derived By:

UI_LABEL_INHERIT_FROM = Inherit From:
UI_LABEL_INHERIT_BY = Inherit By:

UI_LABEL_DOCUMENTATION = Documentation
UI_LABEL_APP_INFO = App Info

UI_LABEL_SET_TYPE = Set Type
UI_LABEL_TYPE = Type:

UI_LABEL_NAME = Name:

UI_LABEL_KIND = Kind:

UI_LABEL_MINOCCURS = Minimum Occurrence:
UI_LABEL_MAXOCCURS = Maximum Occurrence:

UI_PAGE_HEADING_REFERENCE = Reference
UI_LABEL_READ_ONLY = Read-Only

UI_NO_TYPE = No Type

UI_LABEL_COMPONENTS				= Components:

! Additional Categories
_UI_GRAPH_TYPES                = Types
_UI_GRAPH_ELEMENTS             = Elements
_UI_GRAPH_ATTRIBUTES           = Attributes
_UI_GRAPH_ATTRIBUTE_GROUPS     = Attribute Groups
_UI_GRAPH_NOTATIONS            = Notations
_UI_GRAPH_IDENTITY_CONSTRAINTS = Identity Constraints
_UI_GRAPH_ANNOTATIONS          = Annotations
_UI_GRAPH_DIRECTIVES           = Directives
_UI_GRAPH_GROUPS               = Groups

_UI_LABEL_NO_LOCATION_SPECIFIED  = No Location Specified
_UI_ACTION_SET_MULTIPLICITY		 = Set Multiplicity
_UI_LABEL_ABSENT               = absent
_UI_GRAPH_UNKNOWN_OBJECT       = Unknown object
_UI_GRAPH_XSDSCHEMA_NO_NAMESPACE = (no target namespace specified)
_UI_GRAPH_XSDSCHEMA            = Schema
_UI_MENU_XSD_EDITOR                 = &XSD
_UI_LABEL_SET_TYPE				    = Set Type

!
! Preference Page
!
_UI_TEXT_INDENT_LABEL                 = Indentation
_UI_TEXT_INDENT_SPACES_LABEL          = &Number of spaces: 
_UI_TEXT_XSD_NAMESPACE_PREFIX         = XML schema language
_UI_TEXT_XSD_DEFAULT_PREFIX           = XML schema language constructs &prefix:
_UI_QUALIFY_XSD                       = &Qualify XML schema language constructs
_UI_TEXT_XSD_DEFAULT_TARGET_NAMESPACE = Default Target Namespace:
_UI_VALIDATING_FILES                  = Validating files
_UI_TEXT_HONOUR_ALL_SCHEMA_LOCATIONS  = Honour all schema locations 

_ERROR_LABEL_INVALID_PREFIX     = IWAX1004E Invalid prefix. A prefix must not be empty or contain any space.

_UI_NO_TYPE_DEFINED=(no type defined)
_UI_ACTION_UPDATE_NAME=Update Name
_UI_ACTION_UPDATE_ELEMENT_REFERENCE=Update Element reference
_UI_ACTION_ADD_FIELD=Add Field
_UI_ACTION_ADD_ELEMENT=Add Element
_UI_ACTION_ADD_INCLUDE=Add Include
_UI_ACTION_ADD_IMPORT=Add Import
_UI_ACTION_ADD_REDEFINE=Add Redefine
_UI_ACTION_ADD_ELEMENT_REF=Add Element Ref
_UI_ACTION_ADD_COMPLEX_TYPE=Add Complex Type
_UI_ACTION_ADD_SIMPLE_TYPE=Add Simple Type
_UI_ACTION_SET_TYPE=Set Type
_UI_ACTION_ADD_ATTRIBUTE_REF=Add Attribute Ref
_UI_ACTION_NEW=New...
_UI_ACTION_BROWSE=Browse...

_UI_LABEL_OPTIONAL=Optional
_UI_LABEL_ZERO_OR_MORE=Zero or more
_UI_LABEL_ONE_OR_MORE=One or more
_UI_LABEL_LOCAL_TYPE=local type
_UI_LABEL_REQUIRED=Required
_UI_LABEL_ARRAY=array

_UI_LABEL_SET_COMMON_BUILT_IN_TYPES=Set common Built-In types
_UI_LABEL_SELECT_TYPES_FILTER_OUT=Select the types that you do not want to filter out: 
_UI_LABEL_NAME_SEARCH_FILTER_TEXT=Name (? = any character, * = any string):
_UI_LABEL_SET_ELEMENT_REFERENCE=Set element reference

_UI_LABEL_NEW_TYPE=New Type
_UI_LABEL_NEW_ELEMENT=New Element
_UI_LABEL_COMPLEX_TYPE=Complex Type
_UI_LABEL_TARGET_NAMESPACE=Target Namespace: 
_UI_LABEL_NO_NAMESPACE=No Namespace
_UI_LABEL_ELEMENTS_COLON=Elements:
_UI_LABEL_SIMPLE_TYPE=Simple Type
_UI_LABEL_TYPES_COLON=Types:

_UI_LABEL_SOURCE=Source

_UI_LABEL_ELEMENTFORMDEFAULT=Prefix qualification of local elements:
_UI_LABEL_ATTRIBUTEFORMDEFAULT=Prefix qualification of attributes:
_UI_LABEL_CREATE_ANON_TYPE=Create as local anonymous type
