Skip Navigation
 
 
/* ------------------------------------------------------------------------ */
/*                                                                          */
/* [xml.abs]                   Abstract Grammar                             */
/*                                                                          */
/* ------------------------------------------------------------------------ */

LANGUAGE xml

TOKENS

  DCharRef, HCharRef, ERef, PERef, Nmtoken, XMLDecl, PI, CDSect, XMLOpr, Name, dtdEmbed, DTDStart, Literal, CharData, Empty, Comment, _other_

TYPES

  xml        = Start_XDoc(XDoc)

  XDoc       = dfn(XDecl, CDecl*)

  XDecl      = nul;
               dfn(XMLDecl)

  White      = nul;
               spc(Empty)

  EDecl      = dfn(Name, Attr*, EBody)

  EBody      = dfn(CDecl*, Name, White);
               nul

  Attr       = spc(White);
               dfn(White, Name, White, White, Literal)

  CDecl      = eref(ERef);
               data(CharData);
               nmtk(Nmtoken);
               cref(DCharRef);
               sect(CDSect);
               xcom(Comment);
               xopr(XMLOpr);
               pref(PERef);
               name(Name);
               pi(PI);
               elm(EDecl);
               etg0;
               lit(Literal);
               else(_other_);
               etg1;
               typ(DTDStart, dtdEmbed);
               spc(White);
               eq;
               href(HCharRef)