1740c0fbeSDmitri Gribenko<?xml version="1.0" encoding="UTF-8"?> 2740c0fbeSDmitri Gribenko 3740c0fbeSDmitri Gribenko<grammar xmlns="http://relaxng.org/ns/structure/1.0" 4740c0fbeSDmitri Gribenko datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> 5740c0fbeSDmitri Gribenko 6740c0fbeSDmitri Gribenko <start> 7740c0fbeSDmitri Gribenko <choice> 8740c0fbeSDmitri Gribenko <!-- Everything else not explicitly mentioned below. --> 9740c0fbeSDmitri Gribenko <ref name="Other" /> 10740c0fbeSDmitri Gribenko 11740c0fbeSDmitri Gribenko <ref name="Function" /> 12740c0fbeSDmitri Gribenko <ref name="Class" /> 13740c0fbeSDmitri Gribenko <ref name="Variable" /> 14740c0fbeSDmitri Gribenko <ref name="Namespace" /> 15740c0fbeSDmitri Gribenko <ref name="Typedef" /> 16168d2341SDmitri Gribenko <ref name="Enum" /> 17740c0fbeSDmitri Gribenko </choice> 18740c0fbeSDmitri Gribenko </start> 19740c0fbeSDmitri Gribenko 20740c0fbeSDmitri Gribenko <define name="Other"> 21740c0fbeSDmitri Gribenko <element name="Other"> 22740c0fbeSDmitri Gribenko <ref name="attrSourceLocation" /> 23740c0fbeSDmitri Gribenko <ref name="Name" /> 24740c0fbeSDmitri Gribenko <optional> 25740c0fbeSDmitri Gribenko <ref name="USR" /> 26740c0fbeSDmitri Gribenko </optional> 27740c0fbeSDmitri Gribenko <optional> 281a0cf805SFariborz Jahanian <ref name="Headerfile" /> 291a0cf805SFariborz Jahanian </optional> 301a0cf805SFariborz Jahanian <optional> 31a7d76d26SFariborz Jahanian <ref name="Declaration" /> 32a7d76d26SFariborz Jahanian </optional> 33a7d76d26SFariborz Jahanian <optional> 34740c0fbeSDmitri Gribenko <ref name="Abstract" /> 35740c0fbeSDmitri Gribenko </optional> 36740c0fbeSDmitri Gribenko <optional> 37740c0fbeSDmitri Gribenko <ref name="TemplateParameters" /> 38740c0fbeSDmitri Gribenko </optional> 39740c0fbeSDmitri Gribenko <optional> 40740c0fbeSDmitri Gribenko <ref name="Parameters" /> 41740c0fbeSDmitri Gribenko </optional> 42740c0fbeSDmitri Gribenko <optional> 43740c0fbeSDmitri Gribenko <ref name="ResultDiscussion" /> 44740c0fbeSDmitri Gribenko </optional> 45740c0fbeSDmitri Gribenko <optional> 46740c0fbeSDmitri Gribenko <ref name="Discussion" /> 47740c0fbeSDmitri Gribenko </optional> 48740c0fbeSDmitri Gribenko </element> 49740c0fbeSDmitri Gribenko </define> 50740c0fbeSDmitri Gribenko 51740c0fbeSDmitri Gribenko <define name="Function"> 52740c0fbeSDmitri Gribenko <element name="Function"> 53740c0fbeSDmitri Gribenko <optional> 54740c0fbeSDmitri Gribenko <attribute name="templateKind"> 55740c0fbeSDmitri Gribenko <choice> 56740c0fbeSDmitri Gribenko <value>template</value> 57740c0fbeSDmitri Gribenko <value>specialization</value> 58740c0fbeSDmitri Gribenko </choice> 59740c0fbeSDmitri Gribenko </attribute> 60740c0fbeSDmitri Gribenko </optional> 61740c0fbeSDmitri Gribenko <ref name="attrSourceLocation" /> 62740c0fbeSDmitri Gribenko 63740c0fbeSDmitri Gribenko <optional> 64740c0fbeSDmitri Gribenko <attribute name="isInstanceMethod"> 65740c0fbeSDmitri Gribenko <data type="boolean" /> 66740c0fbeSDmitri Gribenko </attribute> 67740c0fbeSDmitri Gribenko </optional> 68740c0fbeSDmitri Gribenko <optional> 69740c0fbeSDmitri Gribenko <attribute name="isClassMethod"> 70740c0fbeSDmitri Gribenko <data type="boolean" /> 71740c0fbeSDmitri Gribenko </attribute> 72740c0fbeSDmitri Gribenko </optional> 73740c0fbeSDmitri Gribenko 74740c0fbeSDmitri Gribenko <ref name="Name" /> 75740c0fbeSDmitri Gribenko <optional> 76740c0fbeSDmitri Gribenko <ref name="USR" /> 77740c0fbeSDmitri Gribenko </optional> 78740c0fbeSDmitri Gribenko <optional> 791a0cf805SFariborz Jahanian <ref name="Headerfile" /> 801a0cf805SFariborz Jahanian </optional> 811a0cf805SFariborz Jahanian <optional> 82a7d76d26SFariborz Jahanian <ref name="Declaration" /> 83a7d76d26SFariborz Jahanian </optional> 84a7d76d26SFariborz Jahanian <optional> 85740c0fbeSDmitri Gribenko <ref name="Abstract" /> 86740c0fbeSDmitri Gribenko </optional> 87740c0fbeSDmitri Gribenko <optional> 88740c0fbeSDmitri Gribenko <ref name="TemplateParameters" /> 89740c0fbeSDmitri Gribenko </optional> 90740c0fbeSDmitri Gribenko <optional> 91740c0fbeSDmitri Gribenko <ref name="Parameters" /> 92740c0fbeSDmitri Gribenko </optional> 93d9febeb8SDmitri Gribenko <optional> 94d9febeb8SDmitri Gribenko <ref name="Exceptions" /> 95d9febeb8SDmitri Gribenko </optional> 9635760a89SFariborz Jahanian <zeroOrMore> 97c491c3f2SFariborz Jahanian <ref name="Availability" /> 9835760a89SFariborz Jahanian </zeroOrMore> 99de0ae1e4SFariborz Jahanian <zeroOrMore> 100de0ae1e4SFariborz Jahanian <ref name="Deprecated" /> 101de0ae1e4SFariborz Jahanian </zeroOrMore> 102de0ae1e4SFariborz Jahanian <zeroOrMore> 103de0ae1e4SFariborz Jahanian <ref name="Unavailable" /> 104de0ae1e4SFariborz Jahanian </zeroOrMore> 105740c0fbeSDmitri Gribenko <optional> 106740c0fbeSDmitri Gribenko <ref name="ResultDiscussion" /> 107740c0fbeSDmitri Gribenko </optional> 108740c0fbeSDmitri Gribenko <optional> 109740c0fbeSDmitri Gribenko <ref name="Discussion" /> 110740c0fbeSDmitri Gribenko </optional> 111740c0fbeSDmitri Gribenko </element> 112740c0fbeSDmitri Gribenko </define> 113740c0fbeSDmitri Gribenko 114740c0fbeSDmitri Gribenko <define name="Class"> 115740c0fbeSDmitri Gribenko <element name="Class"> 116740c0fbeSDmitri Gribenko <optional> 117740c0fbeSDmitri Gribenko <attribute name="templateKind"> 118740c0fbeSDmitri Gribenko <choice> 119740c0fbeSDmitri Gribenko <value>template</value> 120740c0fbeSDmitri Gribenko <value>specialization</value> 121740c0fbeSDmitri Gribenko <value>partialSpecialization</value> 122740c0fbeSDmitri Gribenko </choice> 123740c0fbeSDmitri Gribenko </attribute> 124740c0fbeSDmitri Gribenko </optional> 125740c0fbeSDmitri Gribenko <ref name="attrSourceLocation" /> 126740c0fbeSDmitri Gribenko 127740c0fbeSDmitri Gribenko <ref name="Name" /> 128740c0fbeSDmitri Gribenko <optional> 129740c0fbeSDmitri Gribenko <ref name="USR" /> 130740c0fbeSDmitri Gribenko </optional> 131740c0fbeSDmitri Gribenko <optional> 1321a0cf805SFariborz Jahanian <ref name="Headerfile" /> 1331a0cf805SFariborz Jahanian </optional> 1341a0cf805SFariborz Jahanian <optional> 135a7d76d26SFariborz Jahanian <ref name="Declaration" /> 136a7d76d26SFariborz Jahanian </optional> 137a7d76d26SFariborz Jahanian <optional> 138740c0fbeSDmitri Gribenko <ref name="Abstract" /> 139740c0fbeSDmitri Gribenko </optional> 140740c0fbeSDmitri Gribenko <optional> 141740c0fbeSDmitri Gribenko <ref name="TemplateParameters" /> 142740c0fbeSDmitri Gribenko </optional> 143740c0fbeSDmitri Gribenko 144740c0fbeSDmitri Gribenko <!-- Parameters and results don't make sense for classes, but the user 145740c0fbeSDmitri Gribenko can specify \param or \returns in a comment anyway. --> 146740c0fbeSDmitri Gribenko <optional> 147740c0fbeSDmitri Gribenko <ref name="Parameters" /> 148740c0fbeSDmitri Gribenko </optional> 149740c0fbeSDmitri Gribenko <optional> 150740c0fbeSDmitri Gribenko <ref name="ResultDiscussion" /> 151740c0fbeSDmitri Gribenko </optional> 152740c0fbeSDmitri Gribenko 153740c0fbeSDmitri Gribenko <optional> 154740c0fbeSDmitri Gribenko <ref name="Discussion" /> 155740c0fbeSDmitri Gribenko </optional> 156740c0fbeSDmitri Gribenko </element> 157740c0fbeSDmitri Gribenko </define> 158740c0fbeSDmitri Gribenko 159740c0fbeSDmitri Gribenko <define name="Variable"> 160740c0fbeSDmitri Gribenko <element name="Variable"> 161740c0fbeSDmitri Gribenko <ref name="attrSourceLocation" /> 162740c0fbeSDmitri Gribenko <ref name="Name" /> 163740c0fbeSDmitri Gribenko <optional> 164740c0fbeSDmitri Gribenko <ref name="USR" /> 165740c0fbeSDmitri Gribenko </optional> 166740c0fbeSDmitri Gribenko <optional> 1671a0cf805SFariborz Jahanian <ref name="Headerfile" /> 1681a0cf805SFariborz Jahanian </optional> 1691a0cf805SFariborz Jahanian <optional> 170a7d76d26SFariborz Jahanian <ref name="Declaration" /> 171a7d76d26SFariborz Jahanian </optional> 172a7d76d26SFariborz Jahanian <optional> 173740c0fbeSDmitri Gribenko <ref name="Abstract" /> 174740c0fbeSDmitri Gribenko </optional> 175740c0fbeSDmitri Gribenko 176740c0fbeSDmitri Gribenko <!-- Template parameters, parameters and results don't make sense for 177740c0fbeSDmitri Gribenko variables, but the user can specify \tparam \param or \returns 178740c0fbeSDmitri Gribenko in a comment anyway. --> 179740c0fbeSDmitri Gribenko <optional> 180740c0fbeSDmitri Gribenko <ref name="TemplateParameters" /> 181740c0fbeSDmitri Gribenko </optional> 182740c0fbeSDmitri Gribenko <optional> 183740c0fbeSDmitri Gribenko <ref name="Parameters" /> 184740c0fbeSDmitri Gribenko </optional> 185740c0fbeSDmitri Gribenko <optional> 186740c0fbeSDmitri Gribenko <ref name="ResultDiscussion" /> 187740c0fbeSDmitri Gribenko </optional> 188740c0fbeSDmitri Gribenko 189740c0fbeSDmitri Gribenko <optional> 190740c0fbeSDmitri Gribenko <ref name="Discussion" /> 191740c0fbeSDmitri Gribenko </optional> 192740c0fbeSDmitri Gribenko </element> 193740c0fbeSDmitri Gribenko </define> 194740c0fbeSDmitri Gribenko 195740c0fbeSDmitri Gribenko <define name="Namespace"> 196740c0fbeSDmitri Gribenko <element name="Namespace"> 197740c0fbeSDmitri Gribenko <ref name="attrSourceLocation" /> 198740c0fbeSDmitri Gribenko <ref name="Name" /> 199740c0fbeSDmitri Gribenko <optional> 200740c0fbeSDmitri Gribenko <ref name="USR" /> 201740c0fbeSDmitri Gribenko </optional> 202740c0fbeSDmitri Gribenko <optional> 2031a0cf805SFariborz Jahanian <ref name="Headerfile" /> 2041a0cf805SFariborz Jahanian </optional> 2051a0cf805SFariborz Jahanian <optional> 206a7d76d26SFariborz Jahanian <ref name="Declaration" /> 207a7d76d26SFariborz Jahanian </optional> 208a7d76d26SFariborz Jahanian <optional> 209740c0fbeSDmitri Gribenko <ref name="Abstract" /> 210740c0fbeSDmitri Gribenko </optional> 211740c0fbeSDmitri Gribenko 212740c0fbeSDmitri Gribenko <!-- Template parameters, parameters and results don't make sense for 213740c0fbeSDmitri Gribenko namespaces, but the user can specify \tparam, \param or \returns 214740c0fbeSDmitri Gribenko in a comment anyway. --> 215740c0fbeSDmitri Gribenko <optional> 216740c0fbeSDmitri Gribenko <ref name="TemplateParameters" /> 217740c0fbeSDmitri Gribenko </optional> 218740c0fbeSDmitri Gribenko <optional> 219740c0fbeSDmitri Gribenko <ref name="Parameters" /> 220740c0fbeSDmitri Gribenko </optional> 221740c0fbeSDmitri Gribenko <optional> 222740c0fbeSDmitri Gribenko <ref name="ResultDiscussion" /> 223740c0fbeSDmitri Gribenko </optional> 224740c0fbeSDmitri Gribenko 225740c0fbeSDmitri Gribenko <optional> 226740c0fbeSDmitri Gribenko <ref name="Discussion" /> 227740c0fbeSDmitri Gribenko </optional> 228740c0fbeSDmitri Gribenko </element> 229740c0fbeSDmitri Gribenko </define> 230740c0fbeSDmitri Gribenko 231740c0fbeSDmitri Gribenko <define name="Typedef"> 232740c0fbeSDmitri Gribenko <element name="Typedef"> 233740c0fbeSDmitri Gribenko <ref name="attrSourceLocation" /> 234740c0fbeSDmitri Gribenko <ref name="Name" /> 235740c0fbeSDmitri Gribenko <optional> 236740c0fbeSDmitri Gribenko <ref name="USR" /> 237740c0fbeSDmitri Gribenko </optional> 238740c0fbeSDmitri Gribenko <optional> 2391a0cf805SFariborz Jahanian <ref name="Headerfile" /> 2401a0cf805SFariborz Jahanian </optional> 2411a0cf805SFariborz Jahanian <optional> 242a7d76d26SFariborz Jahanian <ref name="Declaration" /> 243a7d76d26SFariborz Jahanian </optional> 244a7d76d26SFariborz Jahanian <optional> 245740c0fbeSDmitri Gribenko <ref name="Abstract" /> 246740c0fbeSDmitri Gribenko </optional> 247740c0fbeSDmitri Gribenko 248740c0fbeSDmitri Gribenko <optional> 249740c0fbeSDmitri Gribenko <ref name="TemplateParameters" /> 250740c0fbeSDmitri Gribenko </optional> 251740c0fbeSDmitri Gribenko 252740c0fbeSDmitri Gribenko <!-- Parameters and results might make sense for typedefs if the type is 253740c0fbeSDmitri Gribenko a function pointer type. --> 254740c0fbeSDmitri Gribenko <optional> 255740c0fbeSDmitri Gribenko <ref name="Parameters" /> 256740c0fbeSDmitri Gribenko </optional> 257740c0fbeSDmitri Gribenko <optional> 258740c0fbeSDmitri Gribenko <ref name="ResultDiscussion" /> 259740c0fbeSDmitri Gribenko </optional> 260740c0fbeSDmitri Gribenko 261740c0fbeSDmitri Gribenko <optional> 262740c0fbeSDmitri Gribenko <ref name="Discussion" /> 263740c0fbeSDmitri Gribenko </optional> 264740c0fbeSDmitri Gribenko </element> 265740c0fbeSDmitri Gribenko </define> 266740c0fbeSDmitri Gribenko 267168d2341SDmitri Gribenko <define name="Enum"> 268168d2341SDmitri Gribenko <element name="Enum"> 269168d2341SDmitri Gribenko <ref name="attrSourceLocation" /> 270168d2341SDmitri Gribenko <ref name="Name" /> 271168d2341SDmitri Gribenko <optional> 272168d2341SDmitri Gribenko <ref name="USR" /> 273168d2341SDmitri Gribenko </optional> 274168d2341SDmitri Gribenko <optional> 2751a0cf805SFariborz Jahanian <ref name="Headerfile" /> 2761a0cf805SFariborz Jahanian </optional> 2771a0cf805SFariborz Jahanian <optional> 278a7d76d26SFariborz Jahanian <ref name="Declaration" /> 279a7d76d26SFariborz Jahanian </optional> 280a7d76d26SFariborz Jahanian <optional> 281168d2341SDmitri Gribenko <ref name="Abstract" /> 282168d2341SDmitri Gribenko </optional> 283168d2341SDmitri Gribenko 284168d2341SDmitri Gribenko <!-- Template parameters, parameters and results don't make sense for 285168d2341SDmitri Gribenko enums, but the user can specify \tparam \param or \returns in a 286168d2341SDmitri Gribenko comment anyway. --> 287168d2341SDmitri Gribenko <optional> 288168d2341SDmitri Gribenko <ref name="TemplateParameters" /> 289168d2341SDmitri Gribenko </optional> 290168d2341SDmitri Gribenko <optional> 291168d2341SDmitri Gribenko <ref name="Parameters" /> 292168d2341SDmitri Gribenko </optional> 293168d2341SDmitri Gribenko <optional> 294168d2341SDmitri Gribenko <ref name="ResultDiscussion" /> 295168d2341SDmitri Gribenko </optional> 296168d2341SDmitri Gribenko 297168d2341SDmitri Gribenko <optional> 298168d2341SDmitri Gribenko <ref name="Discussion" /> 299168d2341SDmitri Gribenko </optional> 300168d2341SDmitri Gribenko </element> 301168d2341SDmitri Gribenko </define> 302168d2341SDmitri Gribenko 303740c0fbeSDmitri Gribenko <define name="attrSourceLocation"> 304740c0fbeSDmitri Gribenko <optional> 305740c0fbeSDmitri Gribenko <attribute name="file"> 306740c0fbeSDmitri Gribenko <!-- Non-empty text content. --> 307740c0fbeSDmitri Gribenko <data type="string"> 308740c0fbeSDmitri Gribenko <param name="pattern">.*\S.*</param> 309740c0fbeSDmitri Gribenko </data> 310740c0fbeSDmitri Gribenko </attribute> 311740c0fbeSDmitri Gribenko </optional> 312740c0fbeSDmitri Gribenko <optional> 313740c0fbeSDmitri Gribenko <attribute name="line"> 314740c0fbeSDmitri Gribenko <data type="positiveInteger" /> 315740c0fbeSDmitri Gribenko </attribute> 316740c0fbeSDmitri Gribenko <attribute name="column"> 317740c0fbeSDmitri Gribenko <data type="positiveInteger" /> 318740c0fbeSDmitri Gribenko </attribute> 319740c0fbeSDmitri Gribenko </optional> 320740c0fbeSDmitri Gribenko </define> 321740c0fbeSDmitri Gribenko 322740c0fbeSDmitri Gribenko <define name="Name"> 323740c0fbeSDmitri Gribenko <element name="Name"> 324740c0fbeSDmitri Gribenko <!-- Non-empty text content. --> 325740c0fbeSDmitri Gribenko <data type="string"> 326740c0fbeSDmitri Gribenko <param name="pattern">.*\S.*</param> 327740c0fbeSDmitri Gribenko </data> 328740c0fbeSDmitri Gribenko </element> 329740c0fbeSDmitri Gribenko </define> 330740c0fbeSDmitri Gribenko 331740c0fbeSDmitri Gribenko <define name="USR"> 332740c0fbeSDmitri Gribenko <element name="USR"> 333740c0fbeSDmitri Gribenko <!-- Non-empty text content. --> 334740c0fbeSDmitri Gribenko <data type="string"> 335740c0fbeSDmitri Gribenko <param name="pattern">.*\S.*</param> 336740c0fbeSDmitri Gribenko </data> 337740c0fbeSDmitri Gribenko </element> 338740c0fbeSDmitri Gribenko </define> 339740c0fbeSDmitri Gribenko 340740c0fbeSDmitri Gribenko <define name="Abstract"> 341740c0fbeSDmitri Gribenko <element name="Abstract"> 342740c0fbeSDmitri Gribenko <zeroOrMore> 343740c0fbeSDmitri Gribenko <ref name="TextBlockContent" /> 344740c0fbeSDmitri Gribenko </zeroOrMore> 345740c0fbeSDmitri Gribenko </element> 346740c0fbeSDmitri Gribenko </define> 347740c0fbeSDmitri Gribenko 348a7d76d26SFariborz Jahanian <define name="Declaration"> 349a7d76d26SFariborz Jahanian <element name="Declaration"> 350a7d76d26SFariborz Jahanian <!-- Non-empty text content. --> 351a7d76d26SFariborz Jahanian <data type="string"/> 352a7d76d26SFariborz Jahanian </element> 353a7d76d26SFariborz Jahanian </define> 354a7d76d26SFariborz Jahanian 3551a0cf805SFariborz Jahanian <define name="Headerfile"> 3561a0cf805SFariborz Jahanian <element name="Headerfile"> 3571a0cf805SFariborz Jahanian <oneOrMore> 3581a0cf805SFariborz Jahanian <ref name="TextBlockContent" /> 3591a0cf805SFariborz Jahanian </oneOrMore> 3601a0cf805SFariborz Jahanian </element> 3611a0cf805SFariborz Jahanian </define> 3621a0cf805SFariborz Jahanian 363740c0fbeSDmitri Gribenko <define name="Discussion"> 364740c0fbeSDmitri Gribenko <element name="Discussion"> 3650b1a96a8SDmitri Gribenko <zeroOrMore> 366740c0fbeSDmitri Gribenko <ref name="TextBlockContent" /> 3670b1a96a8SDmitri Gribenko </zeroOrMore> 368740c0fbeSDmitri Gribenko </element> 369740c0fbeSDmitri Gribenko </define> 370740c0fbeSDmitri Gribenko 371740c0fbeSDmitri Gribenko <define name="TemplateParameters"> 372740c0fbeSDmitri Gribenko <element name="TemplateParameters"> 373740c0fbeSDmitri Gribenko <!-- Parameter elements should be sorted according to position. --> 374740c0fbeSDmitri Gribenko <oneOrMore> 375740c0fbeSDmitri Gribenko <element name="Parameter"> 376740c0fbeSDmitri Gribenko <element name="Name"> 377740c0fbeSDmitri Gribenko <!-- Non-empty text content. --> 378740c0fbeSDmitri Gribenko <data type="string"> 379740c0fbeSDmitri Gribenko <param name="pattern">.*\S.*</param> 380740c0fbeSDmitri Gribenko </data> 381740c0fbeSDmitri Gribenko </element> 382740c0fbeSDmitri Gribenko <optional> 383740c0fbeSDmitri Gribenko <!-- This is index at depth 0. libclang API can return more 384740c0fbeSDmitri Gribenko information about position, but we expose only essential 385740c0fbeSDmitri Gribenko information here, since "Parameter" elements are already 386740c0fbeSDmitri Gribenko sorted. 387740c0fbeSDmitri Gribenko 388740c0fbeSDmitri Gribenko "Position" element could be added in future if needed. --> 389740c0fbeSDmitri Gribenko <element name="Index"> 390740c0fbeSDmitri Gribenko <data type="nonNegativeInteger" /> 391740c0fbeSDmitri Gribenko </element> 392740c0fbeSDmitri Gribenko </optional> 393740c0fbeSDmitri Gribenko <!-- In general, template parameters with whitespace discussion 394740c0fbeSDmitri Gribenko should not be emitted. Schema might be more strict here. --> 395740c0fbeSDmitri Gribenko <element name="Discussion"> 396740c0fbeSDmitri Gribenko <ref name="TextBlockContent" /> 397740c0fbeSDmitri Gribenko </element> 398740c0fbeSDmitri Gribenko </element> 399740c0fbeSDmitri Gribenko </oneOrMore> 400740c0fbeSDmitri Gribenko </element> 401740c0fbeSDmitri Gribenko </define> 402740c0fbeSDmitri Gribenko 403740c0fbeSDmitri Gribenko <define name="Parameters"> 404740c0fbeSDmitri Gribenko <element name="Parameters"> 405740c0fbeSDmitri Gribenko <!-- Parameter elements should be sorted according to index. --> 406740c0fbeSDmitri Gribenko <oneOrMore> 407740c0fbeSDmitri Gribenko <element name="Parameter"> 408740c0fbeSDmitri Gribenko <element name="Name"> 409740c0fbeSDmitri Gribenko <!-- Non-empty text content. --> 410740c0fbeSDmitri Gribenko <data type="string"> 411740c0fbeSDmitri Gribenko <param name="pattern">.*\S.*</param> 412740c0fbeSDmitri Gribenko </data> 413740c0fbeSDmitri Gribenko </element> 414740c0fbeSDmitri Gribenko <optional> 41502489eb4SDmitri Gribenko <choice> 416740c0fbeSDmitri Gribenko <element name="Index"> 417740c0fbeSDmitri Gribenko <data type="nonNegativeInteger" /> 418740c0fbeSDmitri Gribenko </element> 41902489eb4SDmitri Gribenko <element name="IsVarArg"> 42002489eb4SDmitri Gribenko <empty /> 42102489eb4SDmitri Gribenko </element> 42202489eb4SDmitri Gribenko </choice> 423740c0fbeSDmitri Gribenko </optional> 424740c0fbeSDmitri Gribenko <element name="Direction"> 425740c0fbeSDmitri Gribenko <attribute name="isExplicit"> 426740c0fbeSDmitri Gribenko <data type="boolean" /> 427740c0fbeSDmitri Gribenko </attribute> 428740c0fbeSDmitri Gribenko <choice> 429740c0fbeSDmitri Gribenko <value>in</value> 430740c0fbeSDmitri Gribenko <value>out</value> 431740c0fbeSDmitri Gribenko <value>in,out</value> 432740c0fbeSDmitri Gribenko </choice> 433740c0fbeSDmitri Gribenko </element> 434740c0fbeSDmitri Gribenko <!-- In general, template parameters with whitespace discussion 435740c0fbeSDmitri Gribenko should not be emitted, unless direction is explicitly specified. 436740c0fbeSDmitri Gribenko Schema might be more strict here. --> 437740c0fbeSDmitri Gribenko <element name="Discussion"> 438740c0fbeSDmitri Gribenko <ref name="TextBlockContent" /> 439740c0fbeSDmitri Gribenko </element> 440740c0fbeSDmitri Gribenko </element> 441740c0fbeSDmitri Gribenko </oneOrMore> 442740c0fbeSDmitri Gribenko </element> 443740c0fbeSDmitri Gribenko </define> 444740c0fbeSDmitri Gribenko 445d9febeb8SDmitri Gribenko <define name="Exceptions"> 446d9febeb8SDmitri Gribenko <element name="Exceptions"> 447d9febeb8SDmitri Gribenko <oneOrMore> 448d9febeb8SDmitri Gribenko <ref name="TextBlockContent" /> 449d9febeb8SDmitri Gribenko </oneOrMore> 450d9febeb8SDmitri Gribenko </element> 451d9febeb8SDmitri Gribenko </define> 452d9febeb8SDmitri Gribenko 45361b1db16SDmitri Gribenko <define name="Availability"> 45461b1db16SDmitri Gribenko <element name="Availability"> 45561b1db16SDmitri Gribenko <attribute name="distribution"> 45661b1db16SDmitri Gribenko <data type="string" /> 45761b1db16SDmitri Gribenko </attribute> 45861b1db16SDmitri Gribenko <optional> 45961b1db16SDmitri Gribenko <element name="IntroducedInVersion"> 46061b1db16SDmitri Gribenko <data type="string"> 46161b1db16SDmitri Gribenko <param name="pattern">\d+|\d+\.\d+|\d+\.\d+.\d+</param> 46261b1db16SDmitri Gribenko </data> 46361b1db16SDmitri Gribenko </element> 46461b1db16SDmitri Gribenko </optional> 46561b1db16SDmitri Gribenko <optional> 46661b1db16SDmitri Gribenko <element name="DeprecatedInVersion"> 46761b1db16SDmitri Gribenko <data type="string"> 46861b1db16SDmitri Gribenko <param name="pattern">\d+|\d+\.\d+|\d+\.\d+.\d+</param> 46961b1db16SDmitri Gribenko </data> 47061b1db16SDmitri Gribenko </element> 47161b1db16SDmitri Gribenko </optional> 47261b1db16SDmitri Gribenko <optional> 47361b1db16SDmitri Gribenko <element name="RemovedAfterVersion"> 47461b1db16SDmitri Gribenko <data type="string"> 47561b1db16SDmitri Gribenko <param name="pattern">\d+|\d+\.\d+|\d+\.\d+.\d+</param> 47661b1db16SDmitri Gribenko </data> 47761b1db16SDmitri Gribenko </element> 47861b1db16SDmitri Gribenko </optional> 47961b1db16SDmitri Gribenko <optional> 48061b1db16SDmitri Gribenko <element name="DeprecationSummary"> 48161b1db16SDmitri Gribenko <data type="string" /> 48261b1db16SDmitri Gribenko </element> 48361b1db16SDmitri Gribenko </optional> 48461b1db16SDmitri Gribenko <optional> 48561b1db16SDmitri Gribenko <ref name="Unavailable" /> 48661b1db16SDmitri Gribenko </optional> 48761b1db16SDmitri Gribenko </element> 48861b1db16SDmitri Gribenko </define> 48961b1db16SDmitri Gribenko 49061b1db16SDmitri Gribenko <define name="Deprecated"> 49161b1db16SDmitri Gribenko <element name="Deprecated"> 49261b1db16SDmitri Gribenko <optional> 49361b1db16SDmitri Gribenko <data type="string" /> 49461b1db16SDmitri Gribenko </optional> 49561b1db16SDmitri Gribenko </element> 49661b1db16SDmitri Gribenko </define> 49761b1db16SDmitri Gribenko 49861b1db16SDmitri Gribenko <define name="Unavailable"> 49961b1db16SDmitri Gribenko <element name="Unavailable"> 50061b1db16SDmitri Gribenko <optional> 50161b1db16SDmitri Gribenko <data type="string" /> 50261b1db16SDmitri Gribenko </optional> 50361b1db16SDmitri Gribenko </element> 50461b1db16SDmitri Gribenko </define> 50561b1db16SDmitri Gribenko 506740c0fbeSDmitri Gribenko <define name="ResultDiscussion"> 507740c0fbeSDmitri Gribenko <element name="ResultDiscussion"> 508740c0fbeSDmitri Gribenko <zeroOrMore> 509740c0fbeSDmitri Gribenko <ref name="TextBlockContent" /> 510740c0fbeSDmitri Gribenko </zeroOrMore> 511740c0fbeSDmitri Gribenko </element> 512740c0fbeSDmitri Gribenko </define> 513740c0fbeSDmitri Gribenko 514740c0fbeSDmitri Gribenko <define name="TextBlockContent"> 515740c0fbeSDmitri Gribenko <choice> 516740c0fbeSDmitri Gribenko <element name="Para"> 5172e72dd4aSDmitri Gribenko <optional> 5182e72dd4aSDmitri Gribenko <attribute name="kind"> 5192e72dd4aSDmitri Gribenko <choice> 520828b8d24SFariborz Jahanian <value>attention</value> 5212e72dd4aSDmitri Gribenko <value>author</value> 5222e72dd4aSDmitri Gribenko <value>authors</value> 5232e72dd4aSDmitri Gribenko <value>bug</value> 5242e72dd4aSDmitri Gribenko <value>copyright</value> 5252e72dd4aSDmitri Gribenko <value>date</value> 5262e72dd4aSDmitri Gribenko <value>invariant</value> 5272e72dd4aSDmitri Gribenko <value>note</value> 5282e72dd4aSDmitri Gribenko <value>post</value> 5292e72dd4aSDmitri Gribenko <value>pre</value> 5302e72dd4aSDmitri Gribenko <value>remark</value> 5312e72dd4aSDmitri Gribenko <value>remarks</value> 5322e72dd4aSDmitri Gribenko <value>sa</value> 5332e72dd4aSDmitri Gribenko <value>see</value> 5342e72dd4aSDmitri Gribenko <value>since</value> 5352e72dd4aSDmitri Gribenko <value>todo</value> 5362e72dd4aSDmitri Gribenko <value>version</value> 5372e72dd4aSDmitri Gribenko <value>warning</value> 5382e72dd4aSDmitri Gribenko </choice> 5392e72dd4aSDmitri Gribenko </attribute> 5402e72dd4aSDmitri Gribenko </optional> 541740c0fbeSDmitri Gribenko <zeroOrMore> 542740c0fbeSDmitri Gribenko <ref name="TextInlineContent" /> 543740c0fbeSDmitri Gribenko </zeroOrMore> 544740c0fbeSDmitri Gribenko </element> 545740c0fbeSDmitri Gribenko <element name="Verbatim"> 5466cffc192SDmitri Gribenko <attribute name="xml:space"> 5476cffc192SDmitri Gribenko <value>preserve</value> 5486cffc192SDmitri Gribenko </attribute> 549740c0fbeSDmitri Gribenko <attribute name="kind"> 550740c0fbeSDmitri Gribenko <!-- TODO: add all Doxygen verbatim kinds --> 551740c0fbeSDmitri Gribenko <choice> 552740c0fbeSDmitri Gribenko <value>code</value> 553740c0fbeSDmitri Gribenko <value>verbatim</value> 554740c0fbeSDmitri Gribenko </choice> 555740c0fbeSDmitri Gribenko </attribute> 556740c0fbeSDmitri Gribenko <text /> 557740c0fbeSDmitri Gribenko </element> 558740c0fbeSDmitri Gribenko </choice> 559740c0fbeSDmitri Gribenko </define> 560740c0fbeSDmitri Gribenko 561740c0fbeSDmitri Gribenko <define name="TextInlineContent"> 562740c0fbeSDmitri Gribenko <choice> 563740c0fbeSDmitri Gribenko <text /> 564740c0fbeSDmitri Gribenko <element name="bold"> 565740c0fbeSDmitri Gribenko <!-- Non-empty text content. --> 566740c0fbeSDmitri Gribenko <data type="string"> 567740c0fbeSDmitri Gribenko <param name="pattern">.*\S.*</param> 568740c0fbeSDmitri Gribenko </data> 569740c0fbeSDmitri Gribenko </element> 570740c0fbeSDmitri Gribenko <element name="monospaced"> 571740c0fbeSDmitri Gribenko <!-- Non-empty text content. --> 572740c0fbeSDmitri Gribenko <data type="string"> 573740c0fbeSDmitri Gribenko <param name="pattern">.*\S.*</param> 574740c0fbeSDmitri Gribenko </data> 575740c0fbeSDmitri Gribenko </element> 576740c0fbeSDmitri Gribenko <element name="emphasized"> 577740c0fbeSDmitri Gribenko <!-- Non-empty text content. --> 578740c0fbeSDmitri Gribenko <data type="string"> 579740c0fbeSDmitri Gribenko <param name="pattern">.*\S.*</param> 580740c0fbeSDmitri Gribenko </data> 581740c0fbeSDmitri Gribenko </element> 582*be1a9b38SMark de Wever <element name="anchor"> 583*be1a9b38SMark de Wever <attribute name="id"> 584*be1a9b38SMark de Wever <data type="string"> 585*be1a9b38SMark de Wever <!-- Non-empty text content without whitespace. --> 586*be1a9b38SMark de Wever <param name="pattern">\S+</param> 587*be1a9b38SMark de Wever </data> 588*be1a9b38SMark de Wever </attribute> 589*be1a9b38SMark de Wever </element> 590740c0fbeSDmitri Gribenko <element name="rawHTML"> 59193043620SDmitri Gribenko <optional> 59293043620SDmitri Gribenko <!-- If not specified, the default value is 'false'. --> 5930b2026deSDmitri Gribenko <!-- The value 'false' or absence of the attribute does not imply 5940b2026deSDmitri Gribenko that the HTML is actually well-formed. --> 5950b2026deSDmitri Gribenko <attribute name="isMalformed"> 59693043620SDmitri Gribenko <data type="boolean" /> 59793043620SDmitri Gribenko </attribute> 59893043620SDmitri Gribenko </optional> 599740c0fbeSDmitri Gribenko <!-- Non-empty text content. --> 600740c0fbeSDmitri Gribenko <data type="string"> 601740c0fbeSDmitri Gribenko <param name="pattern">.*\S.*</param> 602740c0fbeSDmitri Gribenko </data> 603740c0fbeSDmitri Gribenko </element> 604740c0fbeSDmitri Gribenko </choice> 605740c0fbeSDmitri Gribenko </define> 606740c0fbeSDmitri Gribenko 607740c0fbeSDmitri Gribenko</grammar> 608740c0fbeSDmitri Gribenko 609