Security:Strawman Model: Difference between revisions

Jump to navigation Jump to search
Line 59: Line 59:
=== Grammar ===
=== Grammar ===


Informal subset EBNF grammar for an XHTML-subset markup language, with embedded <i>semantics</i>, capitalized non-terminals, and quoted or lowercase terminals.  Unquoted terminals stand for the obvious lexical nonterminals, e.g. <code>tagname</code> is any valid HTML tag name other than those quoted tagnames used in the grammar (<code>button</code>, <code>iframe</code>, <code>script</code>).
Informal subset EBNF grammar for an XHTML-subset markup language, with embedded <i>semantics</i>, capitalized non-terminals, and quoted or lowercase terminals.  Unquoted terminals stand for the obvious lexical nonterminals, e.g. <code>tagname</code> is any valid HTML tag name other than those quoted tagnames used in the grammar (<code>a</code>, <code>button</code>, <code>iframe</code>, <code>script</code>).


   Document ::=                        <i>document = new Document()</i>
   Document ::=                        <i>document = new Document()</i>
Line 70: Line 70:
               Content
               Content
             </ tagname >            <i>document.popChild()</i>
             </ tagname >            <i>document.popChild()</i>
          | < 'a' 'href' '=' string '>' text '</' 'a' '>'
                                      <i>document.appendChild(new Link(string, text))</i>
           | < 'button' 'onclick' '=' string > text </ 'button' >
           | < 'button' 'onclick' '=' string > text </ 'button' >
                                       <i>document.appendChild(new Button(string, text))</i>
                                       <i>document.appendChild(new Button(string, text))</i>
Confirmed users, Bureaucrats and Sysops emeriti
419

edits

Navigation menu