This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
The "|" token isn't listed as being a delimiting or non-delimiting terminal symbol. My guess is that it should be delimiting.
The tokens in the list are generated programatically. "|" was being missed as well as some keywords. Fixing this actually took some time, exacerbated by some recursion limit problems in XSLT. :-) I believe the following are the correct lists. Please check carefully. I will check again tomorrow, as well as have a few WG members review. Please note changes have also been made in relation to http://www.w3.org/Bugs/Public/show_bug.cgi?id=3606 XQuery: [Definition: The delimiting terminal symbols are: S, "-", (comma), (semi-colon), (colon), "::", ":=", "!=", "?", "?>", "/", "//", "/>", (dot), "..", StringLiteral, "(", "(#", ")", "[", "]", "]]>", "{", "}", "@", "$", "*", "#)", "+", "<", "<!--", "<![CDATA[", "<?", "</", "<<", "<=", "=", ">", "-->", ">=", ">>", "|"] [Definition: The non-delimiting terminal symbols are: IntegerLiteral, NCName, QName, DecimalLiteral, DoubleLiteral, "ancestor", "ancestor-or-self", "and", "as", "ascending", "at", "attribute", "base-uri", "boundary-space", "by", "case", "cast", "castable", "child", "collation", "comment", "construction", "copy-namespaces", "declare", "default", "descendant", "descendant-or-self", "descending", "div", "document", "document-node", "element", "else", "empty", "empty-sequence", "encoding", "eq", "every", "except", "external", "following", "following-sibling", "for", "function", "ge", "greatest", "gt", "idiv", "if", "import", "in", "inherit", "instance", "intersect", "is", "item", "lax", "le", "least", "let", "lt", "mod", "module", "namespace", "ne", "node", "no-inherit", "no-preserve", "of", "option", "or", "order", "ordered", "ordering", "parent", "preceding", "preceding-sibling", "preserve", "processing-instruction", "return", "satisfies", "schema", "schema-attribute", "schema-element", "self", "some", "stable", "strict", "strip", "text", "then", "to", "treat", "typeswitch", "union", "unordered", "validate", "variable", "version", "where", "xquery"] XPath: [Definition: The delimiting terminal symbols are: "-", (comma), (colon), "::", "!=", "?", "/", "//", (dot), "..", StringLiteral, "(", ")", "[", "]", "@", "$", "*", "+", "<", "<<", "<=", "=", ">", ">=", ">>", "|"] [Definition: The non-delimiting terminal symbols are: IntegerLiteral, NCName, QName, DecimalLiteral, DoubleLiteral, "ancestor", "ancestor-or-self", "and", "as", "attribute", "cast", "castable", "child", "comment", "descendant", "descendant-or-self", "div", "document-node", "element", "else", "empty-sequence", "eq", "every", "except", "external", "following", "following-sibling", "for", "ge", "gt", "idiv", "if", "in", "instance", "intersect", "is", "item", "le", "lt", "mod", "namespace", "ne", "node", "of", "or", "parent", "preceding", "preceding-sibling", "processing-instruction", "return", "satisfies", "schema-attribute", "schema-element", "self", "some", "text", "then", "to", "treat", "union"]
>Fixing this actually took some time, exacerbated by some recursion limit problems in XSLT. There are no recursion limits in XSLT, only in the implementation you have chosen to use ;-)
Perhaps the recursion limit was just the creation of the document that describes the technology using the technology itself. :)
Closing bug because commenter has not objected to the resolution posted and more than two weeks have passed.