@@ -1893,8 +1893,9 @@ provide a value, as no value is supplied by the fragment spread in query `C`.
18931893
18941894** Formal Specification**
18951895
1896- - For every {operation} and {fragment} in a {document}:
1897- - Let {operationOrFragment} be that {operation} or {fragment}.
1896+ - Let {operationsAndFragments} be the set of all operation and fragment
1897+ definitions in the document.
1898+ - For each {operationOrFragment} in {operationsAndFragments}:
18981899 - For every {variable} defined on {operationOrFragment}:
18991900 - Let {variableType} be the type of {variable}.
19001901 - {IsInputType(variableType)} must be {true}.
@@ -1963,14 +1964,14 @@ query takesCatOrDog($catOrDog: CatOrDog) {
19631964 transitively.
19641965 - For each {fragment} in {fragments}:
19651966 - For each {variableUsage} in scope of {fragment}, variable must be in
1966- either {fragment}'s or {operation}'s variable list or both.
1967+ {fragment}'s variable list, {operation}'s variable list, or both.
19671968
19681969** Explanatory Text**
19691970
19701971An _ operation variable_ is scoped on a per-operation basis, while a _ fragment
1971- variable_ is scoped locally to the fragment. That means that any variable used
1972- within the context of an operation must either be defined at the top level of
1973- that operation or on the fragment that uses that variable.
1972+ variable_ is scoped locally to the fragment. Any variable used within the
1973+ context of an operation must be defined either at the top level of that
1974+ operation or on the fragment that uses that variable.
19741975
19751976For example:
19761977
0 commit comments