<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml-stylesheet type="text/css" href="project.css"?>

<presentation>

<note>This presentation was given at WWW9 on May 19, 2000. <A
HREF="http://www.opera.com/">Opera 4.0</A> has since shipped and an
evaluations version can be <A
HREF="http://www.opera.com/">downloaded</A>. This presentation is kept
for archival purposes and serves as a sample file for Opera's
presentation mode. If you are using Opera 4.0 for Windows, press F11!
</note>


<slide><heading>XML in Opera</heading>

<presenter>
Håkon W Lie
Chief Technology Officer
Opera Software
&lt;howcome@opera.com>
</presenter>


</slide>


<slide><heading>Jon's invitation</heading>

<quote>
Down here where only the truly dedicated will read it is another
solicitation.  XML is becoming Establishment Technology; it's time
for some controversy.  I would like to have one good inflammatory
presentation on the schedule.  If you have an ax to grind and can
do so in an interesting and entertaining manner, send a proposal.
<author>-Jon Bosak</author>
</quote>
</slide>


<slide><heading>Opera4</heading>

<list>
<item>HTML 4.0</item>
<item>JavaScript 1.3</item>
<item>HTTP 1.1</item>
<item>SSL 2/3, TLS 1.0</item>
<item>NNTP</item>
<item>POP &amp; SMTP</item>
<item>CSS1 &amp; CSS2</item>
<item>XML</item>
</list>
</slide>


<slide><heading>Why CSS?</heading>
<quote>
I think CSS is perfectly usable and
extremely useful with XML, and there are existence proofs of this for anyone
who will look.
<author>-Tim Bray</author>
</quote>
</slide>

<slide><heading>Opera4 XML features</heading>

<list>
<item>uses expat browser</item>
<item>adds 80k to distribution</item>
<item>used to parse XML, WML, ebook</item>
</list>
</slide>

<slide><heading>Opera4 CSS2 formatting</heading>

<list>
<item>generated text</item>
<item>attribute selectors</item>
<item>pagination</item>
<item>media-specific style sheets</item>
<item>tables</item>
<item>display: block, inline, list-item, run-in, compact</item>
<item>floating elements</item>
</list>
</slide>

<slide><heading>CSS3 features</heading>
<list>
<item>headers/footers</item>
<item>multi-column</item>
<item>writing-mode</item>
</list>
</slide>

<slide><heading>Why not XSL?</heading>
<list>
<item>XSLT (XTL!)</item>
<item>XFO</item>
</list>

</slide>


<slide><heading>XSLT</heading>
<list>
<item>"the perl of the web"</item>
<item>transformations necessary</item>
<item>server side or client side?</item>
<item>progressive rendering</item>
<item>adds 300k?</item>
<item>will generic semantics be available?</item>
<item>server side!</item>
</list>
</slide>



<slide><heading>XFO</heading>
<list>
<item>XML vocabulary for formatting</item>
<item>no separation between content and presentation</item>
<item>FONT tags</item>
<item>Braille contractions</item>
<item>formatting objects considered harmful</item>
</list>
</slide>


<slide><heading>Specs written in XML</heading>
<list>
<item>WML</item>
<item>Open eBook</item>
<item>HWG's marked up Gutenberg</item>
<item>generic markup</item>
</list>
</slide>


<slide><heading>Semantics needed</heading>
<list>
<item>replaced elements</item>
<item>link elements</item>
<item>form elements</item>
<item>the behavior of elements</item>
</list>
</slide>



<slide><heading>Replaced elements</heading>
<preformatted>
img {
  -replace: attr(src);
}
</preformatted>
</slide>


<slide><heading>Links</heading>

<preformatted>
a { 
  -set-link: attr(href);
  -use-link: current;
}
do, anchor { 
  -use-link: next;
}
go {
  -set-link: attr(href);
}
</preformatted>
</slide>


<slide><heading>Properties vs. XLink</heading>
<list>
<item>light-weight solution</item>
<item>describes current formats</item>
<item>HTML, WML, eBook</item>
<item>for internal use</item>
<item>extensions: longdesc, base</item>
</list>
</slide>


<slide><heading>Is the dragon dying?</heading>
<list>
<item>XML is draconian</item>
<item>expat encounters badformed WML?</item>
<item>"encoding" attribute missing on XML declaration</item>
<item>newlines before XML declaration</item>
</list>
</slide>



<slide><heading>Opera4 availability</heading>
<list>
<item>Beta: Windows</item>
<item>Alpha: Linux, Mac</item>
<item>Q3: EPOC and BeOS</item>
</list>

</slide>


</presentation>

<!--
Abstract: XML in Opera

The Opera browser has established itself as the "third browser" on
the Web due to its speed, size and support for standards. Opera is
full-featured, yet fits on a single floppy. The presentation will
describe how XML was added to Opera and why the size of the
executable was reduced in the process. By adding a simple XML
parser (expat) and combining it with Opera's CSS2 formatting
engine, generic XML documents are fetched from the Web and
rendered at a very high speed.  Issues that will be discussed
include Opera's support for progressive rendering, style sheet
linking, hyperlinks and replaced elements (e.g.  images). A
version of Opera with XML will be available at the time of the
conference.
-->


