Class Overview DTD Project discussion Visual Studio NET
- Slides: 13
Class Overview • • DTD Project discussion Visual Studio. NET Assignment 1 Thayer School of Engineering Dartmouth
DTD’s. . This the “syntax” of an XML document. The structure (elements, etc) of an XML document are specified by a “schema”. If an XML document adheres to a prespecified schema, it is valid. . ie the syntax is compliant with the schema. Schemas are specified by DTD’s or XML Schema. We’ll look at both DTD’s and XML Schema next. Thayer School of Engineering Dartmouth
The role of XML Request Database, web service etc CGI, PHP, VB, etc XML document Parse, validate Application DTD or XML Schema Data is formatted into an XML doc Formatting is done in compliance with XML schema or DTD Thayer School of Engineering Dartmouth XML doc is parsed and possibly validated by parser Application uses content (for presentation CSS) or other kind of application (web service)
Different types of DTD’s Internal DTD - inside. xml file <? xml version=“ 1. 0”? > <!DOCTYPE people [. . ]> <people> </people> External DTD - file with. dtd extension <!ELEMENT. . . > “SYSTEM” (private) vs “PUBLIC” Local extensions, rules can be added to external reference and override the external DTD. Thayer School of Engineering Dartmouth
Using a DTD from within an. xml <? xml version=“ 1. 0” standalone=“no”? > <!DOCTYPE people SYSTEM “http: //www. dartmouth. edu/~gvc/. . ”> <people>. . . </people> Naming DTD’s using Formal Public Identifiers (FPI’s). . . Next class. . structure of the DTD and XML Schema. Thayer School of Engineering Dartmouth
Defining elements <!ELEMENT people(name, company)> Elements name and company must be defined elsewhere, before, after or externally. <!ELEMENT people(name+, company*)> means name occurs at least once, company zero or more times. <!ELEMENT nameandcomp(name|company)> <!ELEMENT people(name|nameandcomp*)> + means at least once, ? means zero or one, * means zero or more so (name, name+) means at least three time, etc. Thayer School of Engineering Dartmouth
Kinds of Elements • <!ELEMENT weather(temp, wind, precip)> - as before • <!ELEMENT photo EMPTY> - attributes only • <!ELEMENT people ANY> - any elements allowed! • <!ELEMENT temp (#PCDATA)> <!ELEMENT wind (#PCDATA)> #PCDATA indicates text (leaf element) Thayer School of Engineering Dartmouth
Defining Attributes <!ELEMENT weather(temp, wind, precip)> <weather units=“US”> <temp. . </weather> <!ATTLIST weather units xxx yyy> weather - element for which attribute declared units - name of attribute for weather xxx - either PCDATA or (US|INT) yyy - either default or #FIXED “default” or #REQUIRED or #IMPLIED Thayer School of Engineering Dartmouth
Defining Attributes default - value if not specified #FIXED “default” - value it must be if specified #REQUIRED - not optional #IMPLIED - optional, no default value Precede by “ID” if value is required to be unique for all attributes in the XML document, see also IDREF Thayer School of Engineering Dartmouth
Defining Entities (Macros) <!ENTITY MS “Microsoft Corporation”> In an XML document. . . <company>&MS; </company> expands to <company>Microsoft Corporation</company> when parsed. Thayer School of Engineering Dartmouth
Defining External Entities File ms. ent contains Microsoft Corporation, Redmond, WA In DTD file, abc. dtd put <!ENTITY MS SYSTEM “ms. ent”> In the XML document. . . <? xml version=“ 1. 0” standalone=“no”? > <!DOCTYLE company SYSTEM “http: //www. x. edu/pub/abs. dtd”>. . <company>&MS; </company> expands to <company>Microsoft Corporation, Redmond, WA</company> Thayer School of Engineering Dartmouth
Defining External Entities File entity. dtd contains an element declaration. In another DTD file, abc. dtd put <!ENTITY % MS SYSTEM “entity. dtd”> In the XML document. . . <? xml version=“ 1. 0” standalone=“no”? >. . %MS; . . Non-parsed entities. . read about them on your own. . . XML Schema is another way to declare XML structure. . do it on your own. Brown XML validator http: //www. stg. brown. edu/pub/xmlvalid/ Thayer School of Engineering Dartmouth
Project Discussion Class project • description/goals • resources • schedule/milestones • assignments • deliverables Thayer School of Engineering Dartmouth