#
# AFL dictionary for XML
# ----------------------
#
# Several basic syntax elements and attributes, modeled on libxml2.
#
# Created by Michal Zalewski <lcamtuf@google.com>
#

attr_encoding=" encoding=\"1\""
attr_generic=" a=\"1\""
attr_href=" href=\"1\""
attr_standalone=" standalone=\"no\""
attr_version=" version=\"1\""
attr_xml_base=" xml:base=\"1\""
attr_xml_id=" xml:id=\"1\""
attr_xml_lang=" xml:lang=\"1\""
attr_xml_space=" xml:space=\"1\""
attr_xmlns=" xmlns=\"1\""

entity_builtin="&lt;"
entity_decimal="&#1;"
entity_external="&a;"
entity_hex="&#x1;"

string_any="ANY"
string_brackets="[]"
string_cdata="CDATA"
string_col_fallback=":fallback"
string_col_generic=":a"
string_col_include=":include"
string_dashes="--"
string_empty="EMPTY"
string_empty_dblquotes="\"\""
string_empty_quotes="''"
string_entities="ENTITIES"
string_entity="ENTITY"
string_fixed="#FIXED"
string_id="ID"
string_idref="IDREF"
string_idrefs="IDREFS"
string_implied="#IMPLIED"
string_nmtoken="NMTOKEN"
string_nmtokens="NMTOKENS"
string_notation="NOTATION"
string_parentheses="()"
string_pcdata="#PCDATA"
string_percent="%a"
string_public="PUBLIC"
string_required="#REQUIRED"
string_schema=":schema"
string_system="SYSTEM"
string_ucs4="UCS-4"
string_utf16="UTF-16"
string_utf8="UTF-8"
string_xmlns="xmlns:"

tag_attlist="<!ATTLIST"
tag_cdata="<![CDATA["
tag_close="</a>"
tag_doctype="<!DOCTYPE"
tag_element="<!ELEMENT"
tag_entity="<!ENTITY"
tag_ignore="<![IGNORE["
tag_include="<![INCLUDE["
tag_notation="<!NOTATION"
tag_open="<a>"
tag_open_close="<a />"
tag_open_exclamation="<!"
tag_open_q="<?"
tag_sq2_close="]]>"
tag_xml_q="<?xml?>"
"http://docboo"
"http://www.w"
"UTF-16LE"
"xmlns"
"he30"
"he2"
"IET"
"FDF-10"
"aDUCS-4OPveb:"
"a>"
"UT"
"xMl"
"/usr/share/sg"
"ha07"
"http://www.oa"
"cle"


# This part has been generated with testing/libfuzzer/dictionary_generator.py
# using libxml_xml_read_memory_fuzzer binary and XML 1.0 W3C Recommendation.
"WG"
"all"
"code"
"TC2."
"text"
"forbidden"
"supported"
"(UAX"
"by"
"syntax"
"notations"
"area"
"SGML,"
"/"
"Content"
"conditional"
"follow"
"Document"
"find"
"MUST"
"with,"
"removed"
"based"
"("
"V.,"
"outside"
"should"
"to"
"only"
"'('"
"W3C."
"8"
"quotation"
"local"
"(E)."
"do"
"QUESTION"
"FULL"
"WIDTH"
"string"
"notation"
"without"
"':'"
"between"
"space,"
"Value"
"choice"
"'INCLUDE'"
"cannot"
"JIS"
"NO-BREAK"
"E62"
"ending"
"(URI):"
"(#PCDATA"
"LAO"
"resource"
"embedded"
"called"
"'&#60;!ENTITY"
"Conditional"
"list"
"Entity"
"large"
"(GI),"
"contain"
"small"
"&MAY;"
"->"
"ASCII"
"available"
"abbreviated"
"set"
"3986\">IETF"
"\"REC\">"
"reference"
"##"
"etc."
"DTD,"
"direct"
"module"
"sign"
"zero"
"Version"
"M."
"are"
"3C"
"UTF-8,"
"3F"
"canonical"
"&SGML;"
"font"
"incompatible"
"B+,"
"EMPTY>"
"section"
"ID,"
"label"
"state"
"version"
"enumerated"
"apos"
"above"
"capital"
"new"
"(ASCII)"
"PI"
"'='"
"public"
"body"
"C"
"full"
"escaping"
"parent"
"UAX"
"error"
"component"
"here"
"ranges"
"MIDDLE"
"objects"
"address"
"path"
"Identifier"
"UTF-16,"
"change"
"V2.1"
"last"
"2141\">IETF"
"root"
"ISO-10646-UCS-2"
"equal"
"against"
"[A-Z]"
"connection"
"2781\">IETF"
"attributes"
"Attribute"
"error,"
"comment"
"among"
"named"
"LINE"
"point"
"color"
"character"
"marked"
"names"
"FF"
"table"
"BCP"
"DOT"
"once"
"use"
"from"
"stream"
"entities"
"MARK,"
"P."
"contains"
"two"
"'ANY'"
"symbol"
"few"
"duplicate"
"CDATA,"
"call"
"UCS-4,"
"scope"
"type"
"empty"
"more"
"XML"
"field"
"XSLT"
"Default"
"Markup"
"validity"
"ZERO"
"Space"
"normalized"
"child"
"')*'"
"%YN;\""
"(MUST,"
"must"
"#IMPLIED>"
"sample"
"6F"
"GREEK"
"this"
"Text"
"expanded"
"single"
"value"
"will"
"(UCS)"
"FEED"
"paragraph"
"values"
"three"
"many"
"following"
"closing"
"property"
"'}'"
"F."
"LOW"
"control"
"ASCII,"
"2119\">IETF"
"L."
"links"
"YN"
"process"
"attribute"
"is"
"in"
"accept"
"parse"
"middle"
"tag"
"MIME"
"allowed"
"X-0208-1997."
"UTF-7"
"']'"
"absolute"
"information"
"different"
"end"
"PI."
"Notation"
"quot"
"generic"
"unparsed"
"charset"
"namespace"
"same"
"(CDATA)"
"write"
"read"
"ISO/IEC"
"H"
"units"
"8879\">ISO"
"document"
"parameter"
"start"
"A"
"product"
"Resource"
"description"
"see"
"may"
"stop"
"after"
"'IGNORE'"
"U+FEFF,"
"HTML."
"possible"
"user"
"characters"
"such"
"on"
"data"
"compatibility"
"STACS"
"a"
"All"
"I"
"undefined"
"rules"
"expression"
"markup"
"author"
"well"
"-MSM"
"element"
"')'"
")"
"xml:lang"
"y"
"position"
"the"
"first"
"left"
"decl"
"S."
"MA,"
"BB"
"less"
"<body>"
"storage"
"';'"
"entity"
"symbols"
"10646\">ISO"
"stored"
"nbsp"
"COLON,"
"THAI"
"(FAMILY"
"R."
"before"
"HTML"
"MIME),"
"MIME)."
"group"
"trying"
"No"
"had"
"except"
"detected"
"valid"
"usage"
"input"
"(double-hyphen)"
"has"
"match"
"(('X'"
"identical"
"..."
"V2.5"
"3023\">IETF"
"combination"
"format"
"fragment"
"URN"
"URI"
"symbol,"
"SHOULD,"
"declared"
"logical"
"not"
"using"
"bit"
"NDATA"
"like"
"sequence,"
"term"
"name"
"Encoding"
"B,"
"decimal"
"B)"
"JC)"
"(#PCDATA)"
"token"
"10744\">ISO"
"steps"
"ENTITY)"
"found"
"8879:1986(E)."
"|"
"FE"
"subset"
"profile"
"right"
"(W3C)"
"p"
"bytes"
"creation"
"(('#FIXED'"
"HH"
"elements"
"escape"
"proper"
"et"
"FINAL"
"out"
"predefined"
"provided"
"declaration"
"XML."
"container"
"network"
"'"
"space"
"SPACE"
"preserve"
"SGML"
"per"
"content"
"method"
"does"
"XML),"
"occurs"
"be"
"HTTP"
"8879:1986(E)"
"10646:2000\">ISO"
"B"
"'{'"
"RFC"
"step"
"base"
"references"
"output"
"\"MUST"
"permitted"
"definition"
"EDIT:"
"language"
"standalone"
"column"
"of"
"could"
"Tags"
"mdash"
"recognized"
"times"
"range"
"due"
"'#PCDATA'"
"hexadecimal"
"or"
"'PUBLIC'"
"N.B."
"','"
"A,"
"encoding"
"xml:space"
"within"
"STOP"
"number"
"one"
"&MAY;,"
"Internal"
"ISO"
"construct"
"operator"
"RETURN"
"mark"
"Empty"
"IANA"
"doesn't"
"(#PCDATA)>"
"long"
"checked"
"(C"
"indicate"
"IETF"
"unknown"
"there"
"system"
"wrapper"
"HYPHEN-MINUS,"
"needed"
"2"
"too"
"literal"
"white"
"<!--"
"was"
"final"
"function"
"D."
"T."
"'?>'"
"option"
"form"
"enough"
"D21"
"collapsed"
"(XML)"
"but"
"selector"
"ampersand,"
"part"
"scripts,"
"DTD."
"EBCDIC"
"UTF-16LE,"
"line"
"DTD"
"with"
"than"
"MAY"
"relative"
"Set"
"target"
"keyword"
"default"
"double"
"SA,"
"tree"
"return,"
"'['"
"carriage"
"computer"
"to,"
">"
"similar"
"declare"
"result"
"and"
"files"
"UTF-16BE,"
"ISBN"
"semicolon"
"up"
"defined"
"parser"
"CHARACTER"
"E14"
"an"
"UTF-8."
"as"
"warning"
"exist"
"at"
"file"
"New"
"need"
"check"
"('M'"
"conversion"
"angle"
"no"
"#IMPLIED\">"
"-"
"validating"
"invalid"
"A."
"EUC,"
"instance"
"internal"
"A7"
"XHTML"
"registered"
"'|'"
"node"
"added"
"multiple"
"Name"
"XML,"
"quote"
"preceding"
"object"
"AM"
"W3C"
"(WG)."
"Element"
"('L'"
"class"
"generated"
"letter"
"SARA"
"inserted"
"model"
"structure"
"'\\'"
"building"
"'NDATA'"
"backward"
"less-than"
"for"
"E11"
"failure"
"FFFE,"
"required"
"rule"
"(EBNF)"
"CARRIAGE"
"bracket"
"link"
"%"
"requires"
"external"

