@@ -2248,8 +2248,10 @@ DirectiveCoordinate : @ Name
2248
2248
2249
2249
DirectiveArgumentCoordinate : @ Name ( Name : )
2250
2250
2251
- Note : A _schema coordinate_ is defined with its own grammar and may not include
2252
- any other tokens .
2251
+ Note : A _schema coordinate_ is defined with its own grammar that , unlike GraphQL
2252
+ documents , excludes {Ignored } lexical grammars (see : [Lexical Analysis &
2253
+ Syntactic Parse of a Schema Coordinate ](
2254
+ (#sec-Type-System.Schema-Coordinates.Lexical-Analysis-Syntactic-Parse-of-a-Schema-Coordinate)).
2253
2255
2254
2256
:: A _schema coordinate_ is a human readable string that uniquely identifies a
2255
2257
_schema element_ within a GraphQL Schema .
@@ -2277,9 +2279,10 @@ A _schema coordinate_ may refer to either a defined or built-in _schema
2277
2279
element_ . For example , `String ` and `@deprecated (reason :)` are both valid schema
2278
2280
coordinates which refer to built -in schema elements .
2279
2281
2280
- Note : Union members are not valid _schema coordinate_ as they reference existing
2281
- types in the schema . This preserves the uniqueness property of a _schema
2282
- coordinate_ as stated above .
2282
+ Note : A union member references a type in the schema . A type in the schema is
2283
+ identified by a {TypeCoordinate }. There is no schema coordinate which indicates
2284
+ a union member ; this preserves the uniqueness property of a _schema coordinate_
2285
+ as stated above .
2283
2286
2284
2287
Note : A {SchemaCoordinate } is not a definition within a GraphQL {Document }, but
2285
2288
a separate standalone grammar , intended to be used by tools to reference types ,
@@ -2290,12 +2293,18 @@ production.
2290
2293
2291
2294
**Lexical Analysis & Syntactic Parse of a Schema Coordinate **
2292
2295
2293
- The source text of a _schema coordinate_ is processed in the same way as that of
2294
- a GraphQL document , as laid out in the [Language ](#sec-Language) section, with
2295
- the exception that only the subset of tokens as described in the grammar above
2296
- may be considered. A schema coordinate must therefore not contain whitespace,
2297
- line terminators, comments, commas, or a _Byte Order Mark_. This constraint
2298
- ensures that schema coordinates are both unambiguous and unique.
2296
+ Similar to [GraphQL documents ](#sec-Language), a schema coordinate is defined as
2297
+ a syntactic grammar where terminal symbols are tokens (indivisible lexical
2298
+ units). These tokens are defined in a lexical grammar which matches patterns of
2299
+ source characters . The source text of a schema coordinate must be a sequence of
2300
+ {SourceCharacter }. The character sequence must be described by a sequence of
2301
+ {Token } lexical grammars . The lexical token sequence , must be described by a
2302
+ single {SchemaCoordinate } syntactic grammar .
2303
+
2304
+ Unlike with GraphQL documents , {Ignored } lexical grammars are not permitted
2305
+ within the character sequence ; a schema coordinate must therefore not contain
2306
+ whitespace , line terminators , comments , commas , or a _Byte Order Mark_ . This
2307
+ constraint ensures that schema coordinates are both unambiguous and unique .
2299
2308
2300
2309
**Resolving a Schema Coordinate **
2301
2310
0 commit comments