1*67e74705SXin Li<?xml version="1.0" encoding="UTF-8"?> 2*67e74705SXin Li 3*67e74705SXin Li<grammar xmlns="http://relaxng.org/ns/structure/1.0" 4*67e74705SXin Li datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> 5*67e74705SXin Li 6*67e74705SXin Li <start> 7*67e74705SXin Li <choice> 8*67e74705SXin Li <!-- Everything else not explicitly mentioned below. --> 9*67e74705SXin Li <ref name="Other" /> 10*67e74705SXin Li 11*67e74705SXin Li <ref name="Function" /> 12*67e74705SXin Li <ref name="Class" /> 13*67e74705SXin Li <ref name="Variable" /> 14*67e74705SXin Li <ref name="Namespace" /> 15*67e74705SXin Li <ref name="Typedef" /> 16*67e74705SXin Li <ref name="Enum" /> 17*67e74705SXin Li </choice> 18*67e74705SXin Li </start> 19*67e74705SXin Li 20*67e74705SXin Li <define name="Other"> 21*67e74705SXin Li <element name="Other"> 22*67e74705SXin Li <ref name="attrSourceLocation" /> 23*67e74705SXin Li <ref name="Name" /> 24*67e74705SXin Li <optional> 25*67e74705SXin Li <ref name="USR" /> 26*67e74705SXin Li </optional> 27*67e74705SXin Li <optional> 28*67e74705SXin Li <ref name="Headerfile" /> 29*67e74705SXin Li </optional> 30*67e74705SXin Li <optional> 31*67e74705SXin Li <ref name="Declaration" /> 32*67e74705SXin Li </optional> 33*67e74705SXin Li <optional> 34*67e74705SXin Li <ref name="Abstract" /> 35*67e74705SXin Li </optional> 36*67e74705SXin Li <optional> 37*67e74705SXin Li <ref name="TemplateParameters" /> 38*67e74705SXin Li </optional> 39*67e74705SXin Li <optional> 40*67e74705SXin Li <ref name="Parameters" /> 41*67e74705SXin Li </optional> 42*67e74705SXin Li <optional> 43*67e74705SXin Li <ref name="ResultDiscussion" /> 44*67e74705SXin Li </optional> 45*67e74705SXin Li <optional> 46*67e74705SXin Li <ref name="Discussion" /> 47*67e74705SXin Li </optional> 48*67e74705SXin Li </element> 49*67e74705SXin Li </define> 50*67e74705SXin Li 51*67e74705SXin Li <define name="Function"> 52*67e74705SXin Li <element name="Function"> 53*67e74705SXin Li <optional> 54*67e74705SXin Li <attribute name="templateKind"> 55*67e74705SXin Li <choice> 56*67e74705SXin Li <value>template</value> 57*67e74705SXin Li <value>specialization</value> 58*67e74705SXin Li </choice> 59*67e74705SXin Li </attribute> 60*67e74705SXin Li </optional> 61*67e74705SXin Li <ref name="attrSourceLocation" /> 62*67e74705SXin Li 63*67e74705SXin Li <optional> 64*67e74705SXin Li <attribute name="isInstanceMethod"> 65*67e74705SXin Li <data type="boolean" /> 66*67e74705SXin Li </attribute> 67*67e74705SXin Li </optional> 68*67e74705SXin Li <optional> 69*67e74705SXin Li <attribute name="isClassMethod"> 70*67e74705SXin Li <data type="boolean" /> 71*67e74705SXin Li </attribute> 72*67e74705SXin Li </optional> 73*67e74705SXin Li 74*67e74705SXin Li <ref name="Name" /> 75*67e74705SXin Li <optional> 76*67e74705SXin Li <ref name="USR" /> 77*67e74705SXin Li </optional> 78*67e74705SXin Li <optional> 79*67e74705SXin Li <ref name="Headerfile" /> 80*67e74705SXin Li </optional> 81*67e74705SXin Li <optional> 82*67e74705SXin Li <ref name="Declaration" /> 83*67e74705SXin Li </optional> 84*67e74705SXin Li <optional> 85*67e74705SXin Li <ref name="Abstract" /> 86*67e74705SXin Li </optional> 87*67e74705SXin Li <optional> 88*67e74705SXin Li <ref name="TemplateParameters" /> 89*67e74705SXin Li </optional> 90*67e74705SXin Li <optional> 91*67e74705SXin Li <ref name="Parameters" /> 92*67e74705SXin Li </optional> 93*67e74705SXin Li <optional> 94*67e74705SXin Li <ref name="Exceptions" /> 95*67e74705SXin Li </optional> 96*67e74705SXin Li <zeroOrMore> 97*67e74705SXin Li <ref name="Availability" /> 98*67e74705SXin Li </zeroOrMore> 99*67e74705SXin Li <zeroOrMore> 100*67e74705SXin Li <ref name="Deprecated" /> 101*67e74705SXin Li </zeroOrMore> 102*67e74705SXin Li <zeroOrMore> 103*67e74705SXin Li <ref name="Unavailable" /> 104*67e74705SXin Li </zeroOrMore> 105*67e74705SXin Li <optional> 106*67e74705SXin Li <ref name="ResultDiscussion" /> 107*67e74705SXin Li </optional> 108*67e74705SXin Li <optional> 109*67e74705SXin Li <ref name="Discussion" /> 110*67e74705SXin Li </optional> 111*67e74705SXin Li </element> 112*67e74705SXin Li </define> 113*67e74705SXin Li 114*67e74705SXin Li <define name="Class"> 115*67e74705SXin Li <element name="Class"> 116*67e74705SXin Li <optional> 117*67e74705SXin Li <attribute name="templateKind"> 118*67e74705SXin Li <choice> 119*67e74705SXin Li <value>template</value> 120*67e74705SXin Li <value>specialization</value> 121*67e74705SXin Li <value>partialSpecialization</value> 122*67e74705SXin Li </choice> 123*67e74705SXin Li </attribute> 124*67e74705SXin Li </optional> 125*67e74705SXin Li <ref name="attrSourceLocation" /> 126*67e74705SXin Li 127*67e74705SXin Li <ref name="Name" /> 128*67e74705SXin Li <optional> 129*67e74705SXin Li <ref name="USR" /> 130*67e74705SXin Li </optional> 131*67e74705SXin Li <optional> 132*67e74705SXin Li <ref name="Headerfile" /> 133*67e74705SXin Li </optional> 134*67e74705SXin Li <optional> 135*67e74705SXin Li <ref name="Declaration" /> 136*67e74705SXin Li </optional> 137*67e74705SXin Li <optional> 138*67e74705SXin Li <ref name="Abstract" /> 139*67e74705SXin Li </optional> 140*67e74705SXin Li <optional> 141*67e74705SXin Li <ref name="TemplateParameters" /> 142*67e74705SXin Li </optional> 143*67e74705SXin Li 144*67e74705SXin Li <!-- Parameters and results don't make sense for classes, but the user 145*67e74705SXin Li can specify \param or \returns in a comment anyway. --> 146*67e74705SXin Li <optional> 147*67e74705SXin Li <ref name="Parameters" /> 148*67e74705SXin Li </optional> 149*67e74705SXin Li <optional> 150*67e74705SXin Li <ref name="ResultDiscussion" /> 151*67e74705SXin Li </optional> 152*67e74705SXin Li 153*67e74705SXin Li <optional> 154*67e74705SXin Li <ref name="Discussion" /> 155*67e74705SXin Li </optional> 156*67e74705SXin Li </element> 157*67e74705SXin Li </define> 158*67e74705SXin Li 159*67e74705SXin Li <define name="Variable"> 160*67e74705SXin Li <element name="Variable"> 161*67e74705SXin Li <ref name="attrSourceLocation" /> 162*67e74705SXin Li <ref name="Name" /> 163*67e74705SXin Li <optional> 164*67e74705SXin Li <ref name="USR" /> 165*67e74705SXin Li </optional> 166*67e74705SXin Li <optional> 167*67e74705SXin Li <ref name="Headerfile" /> 168*67e74705SXin Li </optional> 169*67e74705SXin Li <optional> 170*67e74705SXin Li <ref name="Declaration" /> 171*67e74705SXin Li </optional> 172*67e74705SXin Li <optional> 173*67e74705SXin Li <ref name="Abstract" /> 174*67e74705SXin Li </optional> 175*67e74705SXin Li 176*67e74705SXin Li <!-- Template parameters, parameters and results don't make sense for 177*67e74705SXin Li variables, but the user can specify \tparam \param or \returns 178*67e74705SXin Li in a comment anyway. --> 179*67e74705SXin Li <optional> 180*67e74705SXin Li <ref name="TemplateParameters" /> 181*67e74705SXin Li </optional> 182*67e74705SXin Li <optional> 183*67e74705SXin Li <ref name="Parameters" /> 184*67e74705SXin Li </optional> 185*67e74705SXin Li <optional> 186*67e74705SXin Li <ref name="ResultDiscussion" /> 187*67e74705SXin Li </optional> 188*67e74705SXin Li 189*67e74705SXin Li <optional> 190*67e74705SXin Li <ref name="Discussion" /> 191*67e74705SXin Li </optional> 192*67e74705SXin Li </element> 193*67e74705SXin Li </define> 194*67e74705SXin Li 195*67e74705SXin Li <define name="Namespace"> 196*67e74705SXin Li <element name="Namespace"> 197*67e74705SXin Li <ref name="attrSourceLocation" /> 198*67e74705SXin Li <ref name="Name" /> 199*67e74705SXin Li <optional> 200*67e74705SXin Li <ref name="USR" /> 201*67e74705SXin Li </optional> 202*67e74705SXin Li <optional> 203*67e74705SXin Li <ref name="Headerfile" /> 204*67e74705SXin Li </optional> 205*67e74705SXin Li <optional> 206*67e74705SXin Li <ref name="Declaration" /> 207*67e74705SXin Li </optional> 208*67e74705SXin Li <optional> 209*67e74705SXin Li <ref name="Abstract" /> 210*67e74705SXin Li </optional> 211*67e74705SXin Li 212*67e74705SXin Li <!-- Template parameters, parameters and results don't make sense for 213*67e74705SXin Li namespaces, but the user can specify \tparam, \param or \returns 214*67e74705SXin Li in a comment anyway. --> 215*67e74705SXin Li <optional> 216*67e74705SXin Li <ref name="TemplateParameters" /> 217*67e74705SXin Li </optional> 218*67e74705SXin Li <optional> 219*67e74705SXin Li <ref name="Parameters" /> 220*67e74705SXin Li </optional> 221*67e74705SXin Li <optional> 222*67e74705SXin Li <ref name="ResultDiscussion" /> 223*67e74705SXin Li </optional> 224*67e74705SXin Li 225*67e74705SXin Li <optional> 226*67e74705SXin Li <ref name="Discussion" /> 227*67e74705SXin Li </optional> 228*67e74705SXin Li </element> 229*67e74705SXin Li </define> 230*67e74705SXin Li 231*67e74705SXin Li <define name="Typedef"> 232*67e74705SXin Li <element name="Typedef"> 233*67e74705SXin Li <ref name="attrSourceLocation" /> 234*67e74705SXin Li <ref name="Name" /> 235*67e74705SXin Li <optional> 236*67e74705SXin Li <ref name="USR" /> 237*67e74705SXin Li </optional> 238*67e74705SXin Li <optional> 239*67e74705SXin Li <ref name="Headerfile" /> 240*67e74705SXin Li </optional> 241*67e74705SXin Li <optional> 242*67e74705SXin Li <ref name="Declaration" /> 243*67e74705SXin Li </optional> 244*67e74705SXin Li <optional> 245*67e74705SXin Li <ref name="Abstract" /> 246*67e74705SXin Li </optional> 247*67e74705SXin Li 248*67e74705SXin Li <optional> 249*67e74705SXin Li <ref name="TemplateParameters" /> 250*67e74705SXin Li </optional> 251*67e74705SXin Li 252*67e74705SXin Li <!-- Parameters and results might make sense for typedefs if the type is 253*67e74705SXin Li a function pointer type. --> 254*67e74705SXin Li <optional> 255*67e74705SXin Li <ref name="Parameters" /> 256*67e74705SXin Li </optional> 257*67e74705SXin Li <optional> 258*67e74705SXin Li <ref name="ResultDiscussion" /> 259*67e74705SXin Li </optional> 260*67e74705SXin Li 261*67e74705SXin Li <optional> 262*67e74705SXin Li <ref name="Discussion" /> 263*67e74705SXin Li </optional> 264*67e74705SXin Li </element> 265*67e74705SXin Li </define> 266*67e74705SXin Li 267*67e74705SXin Li <define name="Enum"> 268*67e74705SXin Li <element name="Enum"> 269*67e74705SXin Li <ref name="attrSourceLocation" /> 270*67e74705SXin Li <ref name="Name" /> 271*67e74705SXin Li <optional> 272*67e74705SXin Li <ref name="USR" /> 273*67e74705SXin Li </optional> 274*67e74705SXin Li <optional> 275*67e74705SXin Li <ref name="Headerfile" /> 276*67e74705SXin Li </optional> 277*67e74705SXin Li <optional> 278*67e74705SXin Li <ref name="Declaration" /> 279*67e74705SXin Li </optional> 280*67e74705SXin Li <optional> 281*67e74705SXin Li <ref name="Abstract" /> 282*67e74705SXin Li </optional> 283*67e74705SXin Li 284*67e74705SXin Li <!-- Template parameters, parameters and results don't make sense for 285*67e74705SXin Li enums, but the user can specify \tparam \param or \returns in a 286*67e74705SXin Li comment anyway. --> 287*67e74705SXin Li <optional> 288*67e74705SXin Li <ref name="TemplateParameters" /> 289*67e74705SXin Li </optional> 290*67e74705SXin Li <optional> 291*67e74705SXin Li <ref name="Parameters" /> 292*67e74705SXin Li </optional> 293*67e74705SXin Li <optional> 294*67e74705SXin Li <ref name="ResultDiscussion" /> 295*67e74705SXin Li </optional> 296*67e74705SXin Li 297*67e74705SXin Li <optional> 298*67e74705SXin Li <ref name="Discussion" /> 299*67e74705SXin Li </optional> 300*67e74705SXin Li </element> 301*67e74705SXin Li </define> 302*67e74705SXin Li 303*67e74705SXin Li <define name="attrSourceLocation"> 304*67e74705SXin Li <optional> 305*67e74705SXin Li <attribute name="file"> 306*67e74705SXin Li <!-- Non-empty text content. --> 307*67e74705SXin Li <data type="string"> 308*67e74705SXin Li <param name="pattern">.*\S.*</param> 309*67e74705SXin Li </data> 310*67e74705SXin Li </attribute> 311*67e74705SXin Li </optional> 312*67e74705SXin Li <optional> 313*67e74705SXin Li <attribute name="line"> 314*67e74705SXin Li <data type="positiveInteger" /> 315*67e74705SXin Li </attribute> 316*67e74705SXin Li <attribute name="column"> 317*67e74705SXin Li <data type="positiveInteger" /> 318*67e74705SXin Li </attribute> 319*67e74705SXin Li </optional> 320*67e74705SXin Li </define> 321*67e74705SXin Li 322*67e74705SXin Li <define name="Name"> 323*67e74705SXin Li <element name="Name"> 324*67e74705SXin Li <!-- Non-empty text content. --> 325*67e74705SXin Li <data type="string"> 326*67e74705SXin Li <param name="pattern">.*\S.*</param> 327*67e74705SXin Li </data> 328*67e74705SXin Li </element> 329*67e74705SXin Li </define> 330*67e74705SXin Li 331*67e74705SXin Li <define name="USR"> 332*67e74705SXin Li <element name="USR"> 333*67e74705SXin Li <!-- Non-empty text content. --> 334*67e74705SXin Li <data type="string"> 335*67e74705SXin Li <param name="pattern">.*\S.*</param> 336*67e74705SXin Li </data> 337*67e74705SXin Li </element> 338*67e74705SXin Li </define> 339*67e74705SXin Li 340*67e74705SXin Li <define name="Abstract"> 341*67e74705SXin Li <element name="Abstract"> 342*67e74705SXin Li <zeroOrMore> 343*67e74705SXin Li <ref name="TextBlockContent" /> 344*67e74705SXin Li </zeroOrMore> 345*67e74705SXin Li </element> 346*67e74705SXin Li </define> 347*67e74705SXin Li 348*67e74705SXin Li <define name="Declaration"> 349*67e74705SXin Li <element name="Declaration"> 350*67e74705SXin Li <!-- Non-empty text content. --> 351*67e74705SXin Li <data type="string"/> 352*67e74705SXin Li </element> 353*67e74705SXin Li </define> 354*67e74705SXin Li 355*67e74705SXin Li <define name="Headerfile"> 356*67e74705SXin Li <element name="Headerfile"> 357*67e74705SXin Li <oneOrMore> 358*67e74705SXin Li <ref name="TextBlockContent" /> 359*67e74705SXin Li </oneOrMore> 360*67e74705SXin Li </element> 361*67e74705SXin Li </define> 362*67e74705SXin Li 363*67e74705SXin Li <define name="Discussion"> 364*67e74705SXin Li <element name="Discussion"> 365*67e74705SXin Li <zeroOrMore> 366*67e74705SXin Li <ref name="TextBlockContent" /> 367*67e74705SXin Li </zeroOrMore> 368*67e74705SXin Li </element> 369*67e74705SXin Li </define> 370*67e74705SXin Li 371*67e74705SXin Li <define name="TemplateParameters"> 372*67e74705SXin Li <element name="TemplateParameters"> 373*67e74705SXin Li <!-- Parameter elements should be sorted according to position. --> 374*67e74705SXin Li <oneOrMore> 375*67e74705SXin Li <element name="Parameter"> 376*67e74705SXin Li <element name="Name"> 377*67e74705SXin Li <!-- Non-empty text content. --> 378*67e74705SXin Li <data type="string"> 379*67e74705SXin Li <param name="pattern">.*\S.*</param> 380*67e74705SXin Li </data> 381*67e74705SXin Li </element> 382*67e74705SXin Li <optional> 383*67e74705SXin Li <!-- This is index at depth 0. libclang API can return more 384*67e74705SXin Li information about position, but we expose only essential 385*67e74705SXin Li information here, since "Parameter" elements are already 386*67e74705SXin Li sorted. 387*67e74705SXin Li 388*67e74705SXin Li "Position" element could be added in future if needed. --> 389*67e74705SXin Li <element name="Index"> 390*67e74705SXin Li <data type="nonNegativeInteger" /> 391*67e74705SXin Li </element> 392*67e74705SXin Li </optional> 393*67e74705SXin Li <!-- In general, template parameters with whitespace discussion 394*67e74705SXin Li should not be emitted. Schema might be more strict here. --> 395*67e74705SXin Li <element name="Discussion"> 396*67e74705SXin Li <ref name="TextBlockContent" /> 397*67e74705SXin Li </element> 398*67e74705SXin Li </element> 399*67e74705SXin Li </oneOrMore> 400*67e74705SXin Li </element> 401*67e74705SXin Li </define> 402*67e74705SXin Li 403*67e74705SXin Li <define name="Parameters"> 404*67e74705SXin Li <element name="Parameters"> 405*67e74705SXin Li <!-- Parameter elements should be sorted according to index. --> 406*67e74705SXin Li <oneOrMore> 407*67e74705SXin Li <element name="Parameter"> 408*67e74705SXin Li <element name="Name"> 409*67e74705SXin Li <!-- Non-empty text content. --> 410*67e74705SXin Li <data type="string"> 411*67e74705SXin Li <param name="pattern">.*\S.*</param> 412*67e74705SXin Li </data> 413*67e74705SXin Li </element> 414*67e74705SXin Li <optional> 415*67e74705SXin Li <choice> 416*67e74705SXin Li <element name="Index"> 417*67e74705SXin Li <data type="nonNegativeInteger" /> 418*67e74705SXin Li </element> 419*67e74705SXin Li <element name="IsVarArg"> 420*67e74705SXin Li <empty /> 421*67e74705SXin Li </element> 422*67e74705SXin Li </choice> 423*67e74705SXin Li </optional> 424*67e74705SXin Li <element name="Direction"> 425*67e74705SXin Li <attribute name="isExplicit"> 426*67e74705SXin Li <data type="boolean" /> 427*67e74705SXin Li </attribute> 428*67e74705SXin Li <choice> 429*67e74705SXin Li <value>in</value> 430*67e74705SXin Li <value>out</value> 431*67e74705SXin Li <value>in,out</value> 432*67e74705SXin Li </choice> 433*67e74705SXin Li </element> 434*67e74705SXin Li <!-- In general, template parameters with whitespace discussion 435*67e74705SXin Li should not be emitted, unless direction is explicitly specified. 436*67e74705SXin Li Schema might be more strict here. --> 437*67e74705SXin Li <element name="Discussion"> 438*67e74705SXin Li <ref name="TextBlockContent" /> 439*67e74705SXin Li </element> 440*67e74705SXin Li </element> 441*67e74705SXin Li </oneOrMore> 442*67e74705SXin Li </element> 443*67e74705SXin Li </define> 444*67e74705SXin Li 445*67e74705SXin Li <define name="Exceptions"> 446*67e74705SXin Li <element name="Exceptions"> 447*67e74705SXin Li <oneOrMore> 448*67e74705SXin Li <ref name="TextBlockContent" /> 449*67e74705SXin Li </oneOrMore> 450*67e74705SXin Li </element> 451*67e74705SXin Li </define> 452*67e74705SXin Li 453*67e74705SXin Li <define name="Availability"> 454*67e74705SXin Li <element name="Availability"> 455*67e74705SXin Li <attribute name="distribution"> 456*67e74705SXin Li <data type="string" /> 457*67e74705SXin Li </attribute> 458*67e74705SXin Li <optional> 459*67e74705SXin Li <element name="IntroducedInVersion"> 460*67e74705SXin Li <data type="string"> 461*67e74705SXin Li <param name="pattern">\d+|\d+\.\d+|\d+\.\d+.\d+</param> 462*67e74705SXin Li </data> 463*67e74705SXin Li </element> 464*67e74705SXin Li </optional> 465*67e74705SXin Li <optional> 466*67e74705SXin Li <element name="DeprecatedInVersion"> 467*67e74705SXin Li <data type="string"> 468*67e74705SXin Li <param name="pattern">\d+|\d+\.\d+|\d+\.\d+.\d+</param> 469*67e74705SXin Li </data> 470*67e74705SXin Li </element> 471*67e74705SXin Li </optional> 472*67e74705SXin Li <optional> 473*67e74705SXin Li <element name="RemovedAfterVersion"> 474*67e74705SXin Li <data type="string"> 475*67e74705SXin Li <param name="pattern">\d+|\d+\.\d+|\d+\.\d+.\d+</param> 476*67e74705SXin Li </data> 477*67e74705SXin Li </element> 478*67e74705SXin Li </optional> 479*67e74705SXin Li <optional> 480*67e74705SXin Li <element name="DeprecationSummary"> 481*67e74705SXin Li <data type="string" /> 482*67e74705SXin Li </element> 483*67e74705SXin Li </optional> 484*67e74705SXin Li <optional> 485*67e74705SXin Li <ref name="Unavailable" /> 486*67e74705SXin Li </optional> 487*67e74705SXin Li </element> 488*67e74705SXin Li </define> 489*67e74705SXin Li 490*67e74705SXin Li <define name="Deprecated"> 491*67e74705SXin Li <element name="Deprecated"> 492*67e74705SXin Li <optional> 493*67e74705SXin Li <data type="string" /> 494*67e74705SXin Li </optional> 495*67e74705SXin Li </element> 496*67e74705SXin Li </define> 497*67e74705SXin Li 498*67e74705SXin Li <define name="Unavailable"> 499*67e74705SXin Li <element name="Unavailable"> 500*67e74705SXin Li <optional> 501*67e74705SXin Li <data type="string" /> 502*67e74705SXin Li </optional> 503*67e74705SXin Li </element> 504*67e74705SXin Li </define> 505*67e74705SXin Li 506*67e74705SXin Li <define name="ResultDiscussion"> 507*67e74705SXin Li <element name="ResultDiscussion"> 508*67e74705SXin Li <zeroOrMore> 509*67e74705SXin Li <ref name="TextBlockContent" /> 510*67e74705SXin Li </zeroOrMore> 511*67e74705SXin Li </element> 512*67e74705SXin Li </define> 513*67e74705SXin Li 514*67e74705SXin Li <define name="TextBlockContent"> 515*67e74705SXin Li <choice> 516*67e74705SXin Li <element name="Para"> 517*67e74705SXin Li <optional> 518*67e74705SXin Li <attribute name="kind"> 519*67e74705SXin Li <choice> 520*67e74705SXin Li <value>attention</value> 521*67e74705SXin Li <value>author</value> 522*67e74705SXin Li <value>authors</value> 523*67e74705SXin Li <value>bug</value> 524*67e74705SXin Li <value>copyright</value> 525*67e74705SXin Li <value>date</value> 526*67e74705SXin Li <value>invariant</value> 527*67e74705SXin Li <value>note</value> 528*67e74705SXin Li <value>post</value> 529*67e74705SXin Li <value>pre</value> 530*67e74705SXin Li <value>remark</value> 531*67e74705SXin Li <value>remarks</value> 532*67e74705SXin Li <value>sa</value> 533*67e74705SXin Li <value>see</value> 534*67e74705SXin Li <value>since</value> 535*67e74705SXin Li <value>todo</value> 536*67e74705SXin Li <value>version</value> 537*67e74705SXin Li <value>warning</value> 538*67e74705SXin Li </choice> 539*67e74705SXin Li </attribute> 540*67e74705SXin Li </optional> 541*67e74705SXin Li <zeroOrMore> 542*67e74705SXin Li <ref name="TextInlineContent" /> 543*67e74705SXin Li </zeroOrMore> 544*67e74705SXin Li </element> 545*67e74705SXin Li <element name="Verbatim"> 546*67e74705SXin Li <attribute name="xml:space"> 547*67e74705SXin Li <value>preserve</value> 548*67e74705SXin Li </attribute> 549*67e74705SXin Li <attribute name="kind"> 550*67e74705SXin Li <!-- TODO: add all Doxygen verbatim kinds --> 551*67e74705SXin Li <choice> 552*67e74705SXin Li <value>code</value> 553*67e74705SXin Li <value>verbatim</value> 554*67e74705SXin Li </choice> 555*67e74705SXin Li </attribute> 556*67e74705SXin Li <text /> 557*67e74705SXin Li </element> 558*67e74705SXin Li </choice> 559*67e74705SXin Li </define> 560*67e74705SXin Li 561*67e74705SXin Li <define name="TextInlineContent"> 562*67e74705SXin Li <choice> 563*67e74705SXin Li <text /> 564*67e74705SXin Li <element name="bold"> 565*67e74705SXin Li <!-- Non-empty text content. --> 566*67e74705SXin Li <data type="string"> 567*67e74705SXin Li <param name="pattern">.*\S.*</param> 568*67e74705SXin Li </data> 569*67e74705SXin Li </element> 570*67e74705SXin Li <element name="monospaced"> 571*67e74705SXin Li <!-- Non-empty text content. --> 572*67e74705SXin Li <data type="string"> 573*67e74705SXin Li <param name="pattern">.*\S.*</param> 574*67e74705SXin Li </data> 575*67e74705SXin Li </element> 576*67e74705SXin Li <element name="emphasized"> 577*67e74705SXin Li <!-- Non-empty text content. --> 578*67e74705SXin Li <data type="string"> 579*67e74705SXin Li <param name="pattern">.*\S.*</param> 580*67e74705SXin Li </data> 581*67e74705SXin Li </element> 582*67e74705SXin Li <element name="rawHTML"> 583*67e74705SXin Li <optional> 584*67e74705SXin Li <!-- If not specified, the default value is 'false'. --> 585*67e74705SXin Li <!-- The value 'false' or absence of the attribute does not imply 586*67e74705SXin Li that the HTML is actually well-formed. --> 587*67e74705SXin Li <attribute name="isMalformed"> 588*67e74705SXin Li <data type="boolean" /> 589*67e74705SXin Li </attribute> 590*67e74705SXin Li </optional> 591*67e74705SXin Li <!-- Non-empty text content. --> 592*67e74705SXin Li <data type="string"> 593*67e74705SXin Li <param name="pattern">.*\S.*</param> 594*67e74705SXin Li </data> 595*67e74705SXin Li </element> 596*67e74705SXin Li </choice> 597*67e74705SXin Li </define> 598*67e74705SXin Li 599*67e74705SXin Li</grammar> 600*67e74705SXin Li 601