XML Templates
.Ticker
- <!ELEMENT Ticker #PCDATA>
- <Ticker>IBM</Ticker>
.Ticker ( .Symbol^ # `stuff )
- <!ELEMENT Ticker `stuff><!ATTLIST Symbol CDATA #IMPLIED>
- <Ticker Symbol=“IBM”>`stuff</Ticker>
.Ticker!Symbol
- <!ELEMENT Ticker EMPTY><!ATTLIST Symbol CDATA #IMPLIED>
- <Ticker Symbol=“IBM”/>
.Portfolio*.templ
- <!ELEMENT Portfolio templ*>
- <Portfolio> <templ>…</templ> <templ>…</templ></Portfolio>
.Stock ( T1 # … # Tn )
- <!ELEMENT Stock (T1,…,Tn)>
- <Stock> <T1>…</T1>… <Tn>…</Tn>
Template := Leaf | Record | List
Leaf := . Tag | . Tag ^ | . Tag ! Tag
List := . Tag Flatten Template
Record := . Tag ( TemplList )
TemplList := Template | Template # TemplList