###############################################################################
# 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_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_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
