XML - PowerPoint PPT Presentation

1 / 8
About This Presentation
Title:

XML

Description:

Internet Explorer 5 (IE5) 655 Project Syntax program ::= { statement ... Output those syntax trees in XML. XSL style sheets to display those parse trees ... – PowerPoint PPT presentation

Number of Views:51
Avg rating:3.0/5.0
Slides: 9
Provided by: bobma5
Category:

less

Transcript and Presenter's Notes

Title: XML


1
XML eXtensible Markup Language
  • Similar to HTML in some ways
  • mark-up language
  • Mixture of commands and data
  • HTML markup for formatting
  • XML markup for data description
  • Used in lots of different ways
  • Self-describing data
  • Intermediate parser output
  • XSL eXtensible Stylesheet Language
  • Provides formatting rules for XML
  • Internet Explorer 5 (IE5)

2
655 Project Syntax
  • ltprogramgt ltstatementgt
  • ltstatementgt ltassignmentgt ltconditionalgt
    ltloopgt
  • ltassignmentgt ltidentifiergt ltexprgt
  • ltconditionalgt if ( ltexprgt ) then
    ltstatementgt if ( ltexprgt ) then
    ltstatementgt
    else ltstatementgt
  • ltloopgt while ( ltexprgt ) do ltstatementgt
  • lttermgt ltidentifiergt ltnumbergt ( ltexprgt )
  • ltexprgt lttermgt lttermgt ltoperatorgt ltexprgt

3
XML DTD Part-1
  • lt?xml version"1.0" encoding"ISO-8859-1" ?gt
  • lt!ELEMENT program (l-brace, statement, r-brace)gt
  • lt!ELEMENT statement (assignment conditional
    loop)gt
  • lt!ELEMENT assignment (identifier, assign-opr,
    expression, semicolon)gt
  • lt!ELEMENT conditional (if, l-paren, expression,
    r-paren, then, l-brace, statement, r-brace)gt
  • lt!-- how to add else clause --gt
  • lt!ELEMENT loop (while, l-paren, expression,
    r-paren, do, l-brace, statement, r-brace)gt
  • lt!ELEMENT expression (term (term, operator,
    expression))gt
  • lt!ELEMENT term (identifier number (l-paren,
    expression, r-paren))gt

4
DTD Part-2
  • lt!ELEMENT identifier (PCDATA)gt
  • lt!ELEMENT number (PCDATA)gt
  • lt!ELEMENT l-brace EMPTYgt
  • lt!ELEMENT r-brace EMPTYgt
  • lt!ELEMENT assign-opr EMPTYgt
  • lt!ELEMENT semicolon EMPTYgt
  • lt!ELEMENT l-paren EMPTYgt
  • lt!ELEMENT r-paren EMPTYgt
  • lt!ELEMENT if EMPTYgt
  • lt!ELEMENT then EMPTYgt
  • lt!ELEMENT while EMPTYgt
  • lt!ELEMENT do EMPTYgt
  • lt!ELEMENT operator EMPTYgt
  • lt!ATTLIST operator which (plus minus times
    divide) "plus"gt

5
XML Version of a Program
  • lt?xml version"1.0" encoding"ISO-8859-1"
    ?gtlt!DOCTYPE program SYSTEM "syntax-a.dtd"gtlt?xml-
    stylesheet type"text/xsl" href"syntax-a.xsl"?gtlt
    PROGRAMgt ltL-BRACE/gt ltSTATEMENTgt ltASSIGNMENTgt
    ltIDENTIFIERgtleftlt/IDENTIFIERgt ltASSIGN-OPR
    /gt ltEXPRESSIONgtltTERMgt ltIDENTIFIERgtrightlt/IDEN
    TIFIERgt lt/TERMgtlt/EXPRESSIONgt ltSEMICOLON
    /gt lt/ASSIGNMENTgt lt/STATEMENTgt ltR-BRACE
    /gtlt/PROGRAMgt

6
XSL-1
  • lt?xml version"1.0"?gt
  • ltxslstylesheet version"1.0 xmlnsxsl"http//ww
    w.w3.org/TR/WD-xsl"gt
  • ltxsltemplate match"/"gt
  • lthtmlgtltheadgt lttitlegtCIS 655 Example
    XMLlt/titlegtlt/headgtltbodygt ltxslapply-templates
    select"PROGRAM"/gt lt/bodygtlt/htmlgt
  • lt/xsltemplategt
  • ltxsltemplate match"PROGRAM"gtltxslapply-templates
    /gtlt/xsltemplategt
  • ltxsltemplate match"STATEMENT"gt
    ltxslapply-templates /gt lt/xsltemplategt
  • ltxsltemplate match"ASSIGNMENT"gt
    ltxslapply-templates /gt lt/xsltemplategt
  • ltxsltemplate match"EXPRESSION"gt
    ltxslapply-templates /gt lt/xsltemplategt
  • ltxsltemplate match"TERM"gt ltxslapply-templates
    /gt lt/xsltemplategt

7
XSL-2
  • ltxsltemplate match"IDENTIFIER"gt ltfont
    color"red"gtltxslvalue-of select"."
    /gtlt/fontgtlt/xsltemplategt
  • ltxsltemplate match"NUMBER"gt ltxslvalue-of
    select"." /gt lt/xsltemplategt
  • ltxsltemplate match"L-BRACE"gt ltbgtL-BRACE ltbr
    /gtlt/bgt lt/xsltemplategt
  • ltxsltemplate match"R-BRACE"gt ltbr
    /gtltbgtR-BRACElt/bgt lt/xsltemplategt
  • ltxsltemplate match"ASSIGN-OPR"gt
    ltbgtASSIGN-OPRlt/bgt lt/xsltemplategt
  • ltxsltemplate match"SEMICOLON"gt ltbgtSEMICOLONlt/bgt
    lt/xsltemplategt
  • ltxsltemplate match"OPERATOR"gt ltxslvalue-of
    select"_at_WHICH" /gt lt/xsltemplategt
  • lt/xslstylesheetgt

8
XML Example
  • Instructors little example
  • proj-syntax.xml
  • proj-syntax.dtd
  • proj-syntax.xsl
  • Potential use in conjunction with 655 project
  • Define syntax for language youre building
  • Write sample programs in your language
  • Write a parser for your language
  • Parse your examples to make syntax trees
  • Output those syntax trees in XML
  • XSL style sheets to display those parse trees
Write a Comment
User Comments (0)
About PowerShow.com