<?xml version='1.0'?>
<!DOCTYPE slideshow SYSTEM "slide.dtd" >
<slideshow>
  
  <showhead>XML: The Universal Publishing Format</showhead>
  
  <showtitleslide>
    <title><line>XML: The Universal Publishing Format</line></title>
    <subtitle>
      <line>SGML/XML Europe '98</line>
      <line>Paris, 19 May 1998</line>
    </subtitle>
    <subtitle>
      <line>Jon Bosak</line>
      <line>Sun Microsystems</line>
    </subtitle>
  </showtitleslide>
  
  <slidemodule>
    <modhead>XML Basics</modhead>

    <moduletitleslide>
      <title><line>XML Basics</line></title>
    </moduletitleslide>
    
    <slide>
      <slidehead>A note about this presentation</slidehead>
      <p>The slides presented at SGML/XML Europe '98 have been
	augmented here to include some comments that were made to the
	audience but did not appear in the slides themselves.  Source
	files for the two "proof of concept" examples have also been
	provided.</p>
      <p>Note that the online version assumes a display with a
	resolution of 1024 x 768.  The slides should be viewable on
	screens with lower resolution, but they won't look as
	good.</p>
    </slide>

    <slide>
      <slidehead>What is XML?</slidehead>
      <bulletlist>
        <item><p>Extensible Markup Language</p></item>
        <item><p>An activity of the World Wide Web Consortium
	    (W3C) organized by Sun to put SGML on the World Wide Web</p></item>
        <item><p>Will create new data-centric Web applications</p>
	  <bulletsublist>
	    <item><p>Database exchange</p></item>
	    <item><p>Distribution of processing to clients</p></item>
	    <item><p>Client-side manipulation of views into the
	    data</p></item>
	    <item><p>Customization of information by intelligent
		agents</p></item>
	    <item><p>Management of document collections</p></item>
	  </bulletsublist>
	</item>
        <item><p>Will fundamentally change publishing on the web and
	    then publishing in general</p></item>
      </bulletlist>
    </slide>
    
    <slide>
      <slidehead>Who developed XML?</slidehead>
      <p>The XML specification was developed from 1996 through 1998 by
	a wide-ranging group of markup language experts from industry
	and academia.</p>
      <bulletlist>
        <item><p><b>Computer industry:</b> Sun Microsystems,
	    Hewlett-Packard, Microsoft, Netscape, Adobe, Fuji
	    Xerox</p></item>
        <item><p><b>SGML vendors and system integrators:</b>
	    ArborText, Inso, SoftQuad, Grif, Isogen, Texcel</p></item>
        <item><p><b>Academic and research community:</b> Text Encoding
	    Initiative (TEI), NCSA, James Clark</p></item>
        <item><p><b>Early adopters:</b> DataChannel, Vignette</p></item>
        <item><p><b>Recent additions (after XML 1.0):</b> IBM, Oracle,
	    Omnimark</p></item>
      </bulletlist>
    </slide>

    <slide>
      <slidehead>Document components</slidehead>
      <image src='aspects.gif'>Content, structure, presentation</image>
    </slide>
    
    <slide>
      <slidehead>The SGML/XML concept</slidehead>
      <image src='concept.gif'>Presentation generated from content+structure
      </image>
      <p>SGML and XML specify the content and structure of a document
	in a way that allows particular presentations to be generated
	as needed.</p>
    </slide>
    
    <slide>
      <slidehead>Proof of concept: this presentation</slidehead>
      <p><i>(These are links in the online version.)</i></p>
      <bulletlist>
        <item><p>The <hlink href="show.xml">XML source</hlink> from which this
	      presentation was produced</p></item>
        <item><p>The optional <hlink href="slide.dtd">XML DTD</hlink>
	    used to validate the XML source</p></item>
        <item><p>The <hlink href="hslide.dsl">DSSSL style
	      sheet</hlink> for the HTML used in the online
	    version</p></item>
        <item><p>The <hlink href="pslide.dsl">DSSSL style
	      sheet</hlink> for the RTF used in the printed
	    version</p></item>
        <item><p>The <hlink href="http://www.jclark.com/jade">Jade
	      DSSSL engine</hlink> used to produce both the HTML and
	    RTF files</p></item>
        <item><p><hlink href="show.ps">A PostScript version</hlink> of this
	      presentation produced from Jade's RTF output</p></item>
      </bulletlist>
    </slide>

    <slide>
      <slidehead>Why take this approach?</slidehead>
      <p>Separating content and structure from presentation and
	behavior makes possible</p>
      <bulletlist>
        <item><p>Reusable information</p></item>
        <item><p>Media-independent publishing</p></item>
        <item><p>One-on-one marketing</p></item>
        <item><p>Intelligent downstream document processing</p></item>
        <item><p>Large-scale information management</p></item>
      </bulletlist>
    </slide>
    
    <slide>
      <slidehead>The XML family</slidehead>
      <p>The XML family of languages is being created by adapting
	existing international publishing standards for use on the
	Web.</p>
      <bulletlist>
        <item><p><b>XML</b> (Extensible Markup Language): A subset of
	    SGML (ISO 8879) designed for easy implementation</p>
        </item>
        <item><p><b>XLL</b> (Extensible Linking Language): A set of
	    standard hypertext mechanisms based on HyTime (ISO/IEC
	    10744) and the Text Encoding Initiative (TEI)</p>
        </item>
        <item><p><b>XSL</b> (Extensible Stylesheet Language): A
	    standard stylesheet language for structured information
	    formed by subsetting DSSSL (ISO/IEC 10179), designing an
	    alternative syntax, and incorporating key CSS concepts</p>
        </item>
      </bulletlist>
    </slide>
    
    <slide>
      <slidehead>XML itself</slidehead>
      <bulletlist>
        <item><p>A simplified subset of SGML (ISO 8879)</p>
          <bulletsublist>
            <item><p>Very powerful</p></item>
            <item><p>No limits on namespace or structural
		depth</p></item>
            <item><p>Easy to implement</p></item>
	    <item><p>Small enough for Web browsers</p></item>
          </bulletsublist>
        </item>
        <item><p>Internationalized from the beginning</p>
	  <bulletsublist>
	    <item><p>Unicode for both content and
		markup (can mix languages)</p></item>
	    <item><p>XML tools <b>must</b> support both UTF-8 and
		UTF-16 and <b>can</b> support other encodings</p></item>
	  </bulletsublist>
	</item>
        <item><p>Not a language but a metalanguage</p>
          <bulletsublist>
            <item><p>Designed to support the definition of an
		unlimited number of vertical-market languages for
		specific industries</p></item>
	    <item><p>"Write once, parse anywhere"</p></item>
          </bulletsublist>
        </item>
      </bulletlist>
    </slide>
    
    <slide>
      <slidehead>XML tag languages</slidehead>
      <p>XML allows industries to design specific tag languages to
	solve specific problems.  Early examples:</p>
      <bulletlist>
        <item><p>Chemical Markup Language (CML)</p></item>
        <item><p>Channel Definition Format (CDF)</p></item>
        <item><p>Open Financial Exchange (OFX)</p></item>
        <item><p>Handheld Device Markup Language (HDML)</p></item>
        <item><p>Resource Description Framework (RDF)</p></item>
        <item><p>Mathematics Markup Language (MathML)</p></item>
        <item><p>Precision Graphics Markup Language (PGML)</p></item>
      </bulletlist>
      <p>The advantage for implementors is that an unlimited number of
	domain-specific tag languages can all be processed by a single
	parser built into every Web browser.</p>
    </slide>
    
    <slide>
      <slidehead>XML in isolation</slidehead>
      <bulletlist>
        <item><p>"Syntax, not semantics"</p>
	  <bulletsublist>
	    <item><p>Tags have no predefined meaning</p></item>
	    <item><p>XML by itself conveys only content and structure,
		not presentation or behavior</p></item>
	  </bulletsublist>
	</item>
        <item><p>There are important applications for XML alone:
	    interprocess communication, object serialization,
	    metadata, database exchange</p></item>
        <item><p>But associating <b>presentation or behavior</b> with XML
	    requires <b>additional mechanisms</b></p>
	  <bulletsublist>
	    <item><p>Downloadable programs, applets, or scripts designed
		for a specific tag set (grammar)</p></item>
	    <item><p>Tag-sensitive components (e.g., Java
		beans)</p></item>
	    <item><p>Industry agreements on the processing of specific
		grammars (example of the concept: HTML)</p></item>
	    <item><p>Stylesheets (XSL or CSS)</p></item>
	  </bulletsublist>
	</item>
      </bulletlist>
    </slide>

  </slidemodule>
  
  <slidemodule>
    <modhead>Futures: XML for Data Exchange</modhead>
    
    <moduletitleslide>
      <title><line>Futures: XML for Data Exchange</line></title>
    </moduletitleslide>

    <slide>
      <slidehead>The two XML domains</slidehead>
      <numberedlist>
        <item><p>Data exchange</p>
	  <bulletsublist>
	    <item><p>Data intended for consumption by
		machine</p></item>
	  </bulletsublist>
	</item>
        <item><p>Publishing</p>
	  <bulletsublist>
	    <item><p>Data intended for consumption by
		humans</p></item>
	  </bulletsublist>
	</item>
      </numberedlist>
      <p><b>What more needs to be done for data exchange?</b></p>
      <bulletlist>
        <item><p>XML schemas</p></item>
        <item><p>Standard grammars (schemas and namespaces)</p></item>
        <item><p>Enhanced linking</p></item>
      </bulletlist>
    </slide>

    <slide>
      <slidehead>XML schemas</slidehead>
      <bulletlist>
        <item><p>Enhancements to existing DTD functionality</p>
	  <bulletsublist>
	    <item><p>Data typing</p></item>
	    <item><p>Inheritance</p></item>
	  </bulletsublist>
	</item>
	<item><p>The need for these features has been known for
	    years</p></item>
	<item><p>The XML-Data submission is an interesting start but
	    far from cooked yet</p></item>
        <item><p>Open questions:</p>
	  <bulletsublist>
	    <item><p>Use instance syntax or extend existing DTD
		syntax?</p></item>
	    <item><p>Base on RDF?</p></item>
	  </bulletsublist>
	</item>
        <item><p>The XML WG has asked to have this item placed on its
	    list of work so that these issues can be sorted
	    out</p></item>
        <item><p>Doing a good job with schemas will take a
	    while!</p></item>
      </bulletlist>
    </slide>

    <slide>
      <slidehead>Standard grammars</slidehead>
      <bulletlist>
        <item><p>This is another old idea (standard DTDs)</p></item>
        <item><p>Now namespaces (vocabularies) need to be
	    standardized, too</p></item>
        <item><p>Big question: are these standards controlled by user
	    communities or by platform vendors?</p></item>
        <item><p>Need distributed registries beyond platform vendor
	    control</p>
	  <bulletsublist>
	    <item><p>Vertical industry consortia</p></item>
	    <item><p>Entrepreneurs</p></item>
	    <item><p>Neutral third parties (e.g., <hlink
		  href="http://www.oasis-open.org">OASIS</hlink>)</p></item>
	  </bulletsublist>
	</item>
      </bulletlist>
    </slide>

    <slide>
      <slidehead>Extended linking</slidehead>
      <bulletlist>
        <item><p>Doesn't get much publicity but has important
	    implications</p></item>
        <item><p>Allows new ways of associating information</p></item>
        <item><p>Promotes the creation of advanced information
	    structures and site management</p></item>
        <item><p>Makes possible an industry devoted to knowledge
	    management</p></item>
	<item><p>Will ultimately be as important as XML
	    itself</p></item>
	<item><p>Keep your eye on the XLL work (XLink and
	    XPointer)</p></item>
      </bulletlist>
    </slide>

  </slidemodule>
  
  <slidemodule>
    <modhead>Futures: The Larger Picture</modhead>
    
    <moduletitleslide>
      <title><line>Futures: The Larger Picture</line></title>
    </moduletitleslide>

    <slide>
      <slidehead>Beyond a narrow interpretation of XML</slidehead>
      <numberedlist>
        <item><p>XML is not just about exchanging data between
	    machines</p>
	  <bulletsublist>
	    <item><p>It's also about communication between humans</p></item>
	  </bulletsublist>
	</item>
        <item><p>XML is not just about the web</p>
	  <bulletsublist>
	    <item><p>It's about information in general</p></item>
	  </bulletsublist>
	</item>
        <item><p>XML is not just about technology</p>
	  <bulletsublist>
	    <item><p>It's also about the relationship between content
		creators and software vendors</p></item>
	  </bulletsublist>
	</item>
      </numberedlist>
    </slide>

    <slide>
      <slidehead>Next step for publishing: XSL</slidehead>
      <p>Large-scale cross-platform Web publishing demands that XML
	deliver on the <i>display-oriented</i> promises:</p>
      <bulletlist>
        <item><p>User-configurable views</p></item>
        <item><p>More powerful display-centric client-side
	    applications</p></item>
        <item><p>Media-independent publishing</p></item>
	<item><p>In particular, printed and online deliverables from
	    the same source</p></item>
	<item><p>Asian-language rendering support</p></item>
      </bulletlist>
      <p>XSL is intended to complete the internationalized
	media-independent publishing story.</p>
    </slide>

    <slide>
      <slidehead>Example: Database document</slidehead>
      <image src='bcat.gif'>Japanese book catalog</image>
    </slide>

    <slide>
      <slidehead>With stylesheet for Japanese reader</slidehead>
      <image src='bcat-j.gif'>Catalog rendered for Japanese reader</image>
    </slide>

    <slide>
      <slidehead>With stylesheet for English reader</slidehead>
      <image src='bcat-e.gif'>Catalog rendered for English reader</image>
    </slide>

    <slide>
      <slidehead>Proof of concept: source files for the example</slidehead>
      <p><i>(These are links in the online version.)</i></p>
      <bulletlist>
        <item><p>The <hlink href="bcat.uc.txt">UTF-16 XML
	      source</hlink> from which the different versions were
	    produced</p></item>
        <item><p>The <hlink href="ssj-dsl.uc">UTF-16 DSSSL style
	      sheet</hlink> used to produce the version for the reader
	    of Japanese</p></item>
        <item><p>The <hlink href="sse-dsl.uc">UTF-16 DSSSL style
	      sheet</hlink> used to produce the version for the reader
	    of English</p></item>
        <item><p>The <hlink href="http://www.jclark.com/jade">Jade
	      DSSSL engine</hlink> used to produce RTF files from the
	    source and the style sheets</p></item>
        <item><p>The <hlink href="bcat-j.rtf">UTF-16 RTF file</hlink>
	    for the reader of Japanese (font association done in Word
	    7)</p></item>
        <item><p>The <hlink href="bcat-e.rtf">UTF-16 RTF file</hlink>
	    for the reader of English (font association done in Word
	    7)</p></item>
      </bulletlist>
    </slide>


    <slide>
      <slidehead>Lessons from the example</slidehead>
      <bulletlist>
        <item><p>The catalog example shows that the distinction
	    between data exchange and publishing is ultimately an
	    artificial one (the same source would also be used to
	    create the printed catalog)</p></item>
        <item><p>The rendition in each case occurs <b>on the
	      web client</b></p></item>
        <item><p>The database owner can publish <b>a single data
	      stream</b> to the entire world</p></item>
        <item><p>Consider the alternative:</p>
	  <bulletsublist>
	    <item><p>Generation of a different HTML output stream for
		<b>every possible</b> user and target
		platform</p></item>
	    <item><p>Much greater load on the server</p></item>
	    <item><p>No user autonomy</p></item>
	  </bulletsublist>
	</item>
      </bulletlist>
    </slide>

    <slide>
      <slidehead>XML inherits the social agenda of SGML</slidehead>
      <p>The social agenda of SGML has always been about
	<b>creator ownership of content.</b></p>
      <bulletlist>
        <item><p>Freedom from proprietary data formats</p></item>
        <item><p>Vendor neutrality</p></item>
        <item><p>Platform neutrality</p></item>
        <item><p>Language neutrality</p></item>
      </bulletlist>
    </slide>

    <slide>
      <slidehead>Good news for users</slidehead>
      <p>XML is a big open-standards victory for users.</p>
      <bulletlist>
	<item><p>Freely extensible</p>
          <bulletsublist>
	    <item><p>No tag name limitations</p></item>
	    <item><p>No language limitations</p></item>
          </bulletsublist>
	</item>
	<item><p>Human-readable</p>
	  <bulletsublist>
	    <item><p>Can maintain data using basic text
		tools like sed and awk</p></item>
	    <item><p>Perl is being optimized for XML
		support</p></item>
          </bulletsublist>
	</item>
	<item><p>Open standard</p>
	  <bulletsublist>
	    <item><p>In theory, XML users can't be held hostage to
		vendor control</p></item>
          </bulletsublist>
	</item>
	<item><p>Easy to implement</p>
	  <bulletsublist>
	    <item><p>There will be many powerful, cheap, off-the-shelf
		commercial XML tools</p></item>
	    <item><p>There is already an ever-growing set of free XML
		tools (almost all of them Java-based)</p></item>
          </bulletsublist>
	</item>
      </bulletlist>
    </slide>

    <slide>
      <slidehead>Economic/political implications of XML+XSL</slidehead>
      <p>The combination of XML and XSL can replace all existing
	word-processing and publishing formats.</p>
      <bulletlist>
        <item><p>A single format for both print and online
	    publishing</p></item>
        <item><p>A single format across different products</p></item>
        <item><p>A single format for all languages</p></item>
      </bulletlist>
      <p><b>What does this mean?</b></p>
      <bulletlist>
	<item><p>Users no longer tied to a proprietary
	    format</p></item>
        <item><p>A change in the relationship between software vendors
	    and customers</p></item>
        <item><p>An end to domination of the market by a few big
	    companies</p></item>
        <item><p>An end to domination of the market by a few big
	    countries</p></item>
      </bulletlist>
    </slide>

    <slide>
      <slidehead>What can go wrong?</slidehead>
      <p>The complete implementation of XML and XSL means an end to
	control of users through proprietary formats.</p>
      <p><b>Companies that have built their business models on
	  proprietary formats can be expected to resist this.</b></p>
      <p>The most obvious ways to subvert the user-empowerment agenda
	of XML are:</p>
      <bulletlist>
        <item><p>Control of standard schemas and namespaces</p></item>
        <item><p>Incomplete XSL implementation</p></item>
      </bulletlist>
    </slide>

    <slide>
      <slidehead>Ways to subvert the social agenda</slidehead>
      <numberedlist>
        <item><p>Control of standard schemas and namespaces by
	    platform vendors</p>
	  <bulletsublist>
	    <item><p>This is vendor dependence in another guise</p></item>
	    <item><p>If you propose a standard, your implementation
		will always be 6-12 months ahead of everyone
		else's</p></item>
	    <item><p>Platform vendors are a particular problem because
		they can optimize the platform for a particular
		grammar</p></item>
	  </bulletsublist>
	</item>
        <item><p>Incomplete implementation of XSL</p>
	  <bulletsublist>
	    <item><p>Crippled XSL limited to tagset transformations
		(XML to XML)</p></item>
	    <item><p>This implies document delivery via a single tag
		set (HTML)</p></item>
	    <item><p>In other words, a return to the status
		quo!</p></item>
	    <item><p>Solves the data exchange problem but ignores the
		larger publishing problem and keeps users dependent on
		vendors</p></item>
	  </bulletsublist>
	</item>
      </numberedlist>
    </slide>

    <slide>
      <slidehead>The HTML output trap</slidehead>
      <p>Much can be accomplished with on-the-fly generation of HTML
	(see <hlink
	  href="http://docs.sun.com">http://docs.sun.com</hlink>) but
	it is <b>not</b> the answer for publishing in the general
	case. A real XML+XSL solution would provide:</p>
      <bulletlist>
        <item><p>Media-independent publishing</p></item>
        <item><p>Independence from particular HTML
	    implementations</p></item>
	<item><p>Delivery of the same source to multiple users</p></item>
        <item><p>Fewer round trips to the server</p></item>
        <item><p>Quality formatting</p>
	  <bulletsublist>
	    <item><p>The idea that online formatting requirements are
		a subset of print formatting requirements is a
		short-term historical accident</p></item>
	    <item><p>In the long run, online requirements are a
		<b>superset</b> of print requirements</p></item>
	  </bulletsublist>
	</item>
      </bulletlist>
    </slide>

    <slide>
      <slidehead>The embedded script trap</slidehead>
      <p>Embedding scripts or applets in documents is not a viable
	long-term approach, either.</p>
      <bulletlist>
        <item><p>Strategies based on embedding scripts in source files
	    don't scale; management becomes very difficult</p></item>
        <item><p>Documents with embedded scripts cannot be edited (so
	    no real interoperability between editing
	    environments)</p></item>
        <item><p>Therefore the final form of documents must
	    <b>always</b> be generated rather than authored</p></item>
      </bulletlist>
    </slide>

    <slide>
      <slidehead>How can we keep the XML dream alive?</slidehead>
      <bulletlist>
        <item><p>Beware of strategies that limit XML to the role of
	    middleware</p></item>
        <item><p>Beware of attempts by platform vendors to dictate
	    standard schemas (DTDs) and namespaces</p></item>
        <item><p>Beware of attempts by browser vendors to introduce
	    nonstandard extensions to the XML family of
	    languages</p></item>
        <item><p>Beware of attempts by browser vendors to introduce
	    ad-hoc tags into HTML under the name of XML</p></item>
        <item><p>Insist on real XSL support: the ability to render
	    formatting objects, not just HTML tags</p></item>
        <item><p>Support platform-independent tools vendors</p></item>
        <item><p>Support the only organization dedicated to
	    interoperable document standards: <hlink
	      href="http://www.oasis-open.org">OASIS</hlink>
	    (http://www.oasis-open.org)</p></item>
      </bulletlist>
    </slide>

    <slide>
      <slidehead>The payoff</slidehead>
      <bulletlist>
        <item><p>Interoperability of both content and style</p></item>
        <item><p>Freedom from vendor control of our data</p></item>
        <item><p>Creator control of markup depth</p></item>
        <item><p>User control of views into the data</p></item>
        <item><p>A level playing field for independent software
	    developers</p></item>
        <item><p>True international publishing across all media</p></item>
      </bulletlist>
    </slide>

  </slidemodule>    

</slideshow>
