<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="../../xhtml-default.css"?>
<?xml-stylesheet type="text/css" href="xhtml2.css"?>
<?xml-stylesheet type="text/css" href="sample.css"?>
<!DOCTYPE html SYSTEM "xhtml2proto-xlink.dtd"[
<!ENTITY % XLINK.prefix "x">
<!ATTLIST a
      id        ID                 #IMPLIED
      x:type    ( simple | none )  'simple'
      x:show    ( new | replace )  'replace'
      x:actuate ( onRequest )      #FIXED 'onRequest'
>
<!ATTLIST blockquote
      id        ID                 #IMPLIED
      x:type    ( simple | none )  'simple'
      x:show    ( new | replace )  'replace'
      x:actuate ( onRequest )      #FIXED 'onRequest'
>
<!ATTLIST quote
      id        ID                 #IMPLIED
      x:type    ( simple | none )  'simple'
      x:show    ( new | replace )  'replace'
      x:actuate ( onRequest )      #FIXED 'onRequest'
>
<!ATTLIST ins
      id        ID                 #IMPLIED
      x:type    ( simple | none )  'simple'
      x:show    ( new | replace )  'replace'
      x:actuate ( onRequest )      #FIXED 'onRequest'
>
<!ATTLIST del
      id        ID                 #IMPLIED
      x:type    ( simple | none )  'simple'
      x:show    ( new | replace )  'replace'
      x:actuate ( onRequest )      #FIXED 'onRequest'
>
<!ATTLIST section id ID #IMPLIED>
<!ATTLIST p id ID #IMPLIED>
]>
<!-- XHTML namespace is intentionally left out -->
<html xmlns:x="http://www.w3.org/1999/xlink"
schemalocation="http://www.w3.org/People/mimasa/test/schemas/DTD/dev/xhtml2proto-xlink.dtd">
<head>
  <title>XHTML 2.0 in a Nutshell</title>
</head>
<body id="body">
<h>XHTML 2.0 in a Nutshell</h>

<p class="author">Author: <a x:href="mailto:mimasa@w3.org">Masayasu Ishikawa</a></p>

<div class="caution">
<p><l><strong>CAUTION</strong>:</l>
<l>This document only describes features currently implemented in an
<a x:href="xhtml2proto-xlink.dtd">experimental XHTML 2.0 DTD</a>.</l>
<l>This is purely the author's personal experiment, and nothing is
guaranteed to be adopted in XHTML 2.0.  This document itself is conforming
to the experimental DTD, and uses features described in this document.</l>
<l>Namespace declaration for the XHTML namespace is intentionally
left out from this instance to investigate how generic XML browsers
will treat XHTML 2.0 documents without arcane knowledge of the XHTML
namespace.</l>
<l>To render this document correctly, you'll need an XML browser that
understand XML (of course), XML Namespaces, simple XLink, XML Base,
CSS1/2, and <code>@namespace</code> at-rule and namespace component
of CSS3, such as <a x:href="http://www.mozilla.org/">Mozilla</a> /
<a x:href="http://home.netscape.com/browsers/6/">Netscape 6</a>.</l></p>
</div>

<section id="ToC">
  <h>Table of Contents</h>

  <ul>
    <li><l><a x:href="#newElements">Proposed new elements in XHTML 2.0</a></l>
    <ul>
      <li><a x:href="#section">Sectioning: the <code>section</code> element</a></li>
      <li><a x:href="#h">Heading: the <code>h</code> element</a></li>
      <li><a x:href="#l">Line: the <code>l</code> element</a></li>
      <li><a x:href="#quote">Short Quotation: the <code>quote</code> element</a></li>
    </ul></li>
    <li><l><a x:href="#changedElements">Changes to existing elements</a></l>
    <ul>
      <li><l><a x:href="#a">Simple Linking: the <code>a</code> element</a></l>
      <ul>
        <li><a x:href="#xmlbase"><code>xml:base</code> support</a></li>
      </ul></li>
      <li><a x:href="#blockquote">Long Quotation: the <code>blockquote</code> element</a>
      <ul>
        <li><a x:href="#issue-nested-links">Issue: Nested XLink elements</a></li>
      </ul></li>
      <li><a x:href="#edit">Marking document changes: the <code>ins</code> and
    <code>del</code> elements</a></li>
      <li><a x:href="#pre">Preformatted text: the <code>pre</code> element</a></li>
    </ul></li>
    <li><a x:href="#deadElements">The deaths</a></li>
    <li><a x:href="#furtherWork">Further Work</a></li>
  </ul>
</section>

<section id="newElements">
  <h>Proposed new elements in XHTML 2.0</h>

  <section id="section">
    <h>Sectioning: the <code>section</code> element</h>

    <p>The <code>section</code> element is a container for nestable sections.
    The level of sections is automatically determined by the nested level
    of the <code>section</code> element.</p>

    <p>Example:</p>

<pre xml:space="preserve" class="example"
><![CDATA[<section>
  ... section ....
  <section>
  ... subsection ....
    <section>
      ... subsubsection ....
    </section>
  </section>
</section>]]></pre>

  </section>

  <section id="h">
    <h>Heading: the <code>h</code> element</h>

    <p>The <code>h</code> element provides the heading information for
    sections.  The level of headings is automatically determined by
    the nested level of the enclosing <code>section</code> element.</p>

    <p>Example:</p>

<pre xml:space="preserve" class="example"
><![CDATA[<body>
  <h>... top-level heading ...</h>
  ... some text ...
  <section>
    <h>... second-level heading ...</h>
    ... some text ...
    <section>
      <h>... third-level heading ...</h>
      ... some text ...
    </section>
    <section>
      <h>... another third-level heading ...</h>
      ... some text ...
    </section>
  </section>
</body>]]></pre>


    <p>The <code>h1</code>, <code>h2</code>, <code>h3</code>,
    <code>h4</code>, <code>h5</code>, and <code>h6</code> elements are
    deprecated in favor of the <code>h</code> element (<code>h1</code> -
    <code>h6</code> are not available in the experimental DTD).</p>

    <p>Note that in the current DTD implementation, there's no structural
    relationship between the <code>section</code> and the <code>h</code>
    elements. It could lead to the bad usage of
    <code>section</code>/<code>h</code>, and those should be used with
    care.</p>
  </section>

  <section id="l">
    <h>Line: the <code>l</code> element</h>

    <p>An <code>l</code> element denotes a line. It may appear where
    inline-level elements may appear.</p>

    <p>Example:</p>

<pre xml:space="preserve" class="example"
><![CDATA[<p><l>... first line ...</l>
<l>... second line ...</l>
<l>... third line ...</l></p>]]></pre>

    <p>The <code>br</code> element is deprecated in favor of
    the <code>l</code> element (<code>br</code> is not available
    in the experimental DTD).</p>
  </section>

  <section id="quote">
    <h>Short Quotation: the <code>quote</code> element</h>

    <p>The <code>quote</code> element designates inline-level quoted text.
    Unlike the <code>q</code> element, which the HTML 4 specification
    specified that <quote
    x:href="http://www.w3.org/TR/html4/struct/text.html#h-9.2.2.1">[v]isual
    user agents must ensure that the content of the Q element is rendered
    with delimiting quotation marks</quote>,
    the <code>quote</code> element
    should not cause the insertion of quotation marks by default.
    Quotation marks should either be inserted by the user,
    <strong>outside</strong> of the <code>quote</code> element, or
    should be supplied using styling.</p>

    <p>Example:</p>

<pre xml:space="preserve" class="example"
>&lt;p xml:lang="en"&gt;... &#x201C;&lt;quote&gt;... quoted text ...&lt;/quote&gt;&#x201D; ...&lt;/p&gt;</pre>

    <p>The <code><var class="prefix">xlink</var>:href</code> attribute may be
    used to designate a source document or message. This attribute is
    intended to give information about the source from which the quotation
    was borrowed, just like the <code>cite</code> attribute of
    the <code>q</code> element (see also
    an <a x:href="#issue-nested-links">issue about nesting</a>).</p>

    <p>The <code>q</code> element is deprecated and not available in
    XHTML 2.0.</p>

  </section>
</section>

<section id="changedElements">
  <h>Changes to existing elements</h>

  <section id="a">
    <h>Simple Linking: the <code>a</code> element</h>

    <p>Like previous versions of XHTML, an <code>a</code> element
    specifies a link to an another resource, but uses
    <a x:href="http://www.w3.org/TR/xlink/#simple-links">simple XLink</a>.
    The <code><var class="prefix">xlink</var>:href</code> attribute
    specifies a URI reference to another resource. The prefix
    <var class="prefix">xlink</var> is just an example, and may be altered
    by other string.  In the experimental DTD, the parameter entity
    <code class="PE">%XLINK.prefix;</code> specifies the prefix for
    XLink, and the string <var>xlink</var> is used by default, but it
    may be altered in the internal subset like the following:</p>

<pre xml:space="preserve" class="example"
><![CDATA[<!ENTITY % XLINK.prefix "x">]]></pre>

    <p>The above parameter entity will override the default prefix
    <var class="prefix">xlink</var>, and XLink attributes may be
    written like <code><var class="prefix">x</var>:href</code>.
    For brevity, the prefix <var class="prefix">xlink</var> is used
    throughout this document.
    Note that XLink attributes are global attributes, and they must
    always be prefixed.</p>

    <p>There are two possible values for
    the <code><var class="prefix">xlink</var>:show</code> attribute:</p>

    <ul>
      <li><a x:show="replace"
      x:href="http://www.w3.org/TR/xlink/#show-att"><var
      class="prefix">xlink</var>:show="replace"</a> will load the linked
      resource in the same window, frame, pane, or other relevant presentation
      context in which the starting resource was loaded.</li>
      <li><a x:show="new" x:href="http://www.w3.org/TR/xlink/#show-att"><var
      class="prefix">xlink</var>:show="new"</a> will load the linked
      resource in a new window, frame, pane, or other relevant presentation
      context.</li>
    </ul>

    <p>The default value for the <code><var class="prefix"
    >xlink</var>:show</code> attribute is <code>replace</code>.</p>

    <p>In DTD implementation, the common simple XLink attributes are
    defined in the XHTML XLink Module as follows:</p>

<pre xml:space="preserve" class="example"
><![CDATA[<!-- common simple XLink attributes -->
<!ENTITY % xlink.simple.attrib
     "%XLINK.pfx;type    ( simple | none )  'simple'
      %XLINK.pfx;href    %URI.datatype;     #IMPLIED
      %XLINK.pfx;arcrole %URI.datatype;     #IMPLIED
      %XLINK.pfx;title   %Text.datatype;    #IMPLIED
      %XLINK.pfx;show    ( new | replace )  'replace'
      %XLINK.pfx;actuate ( onRequest )      #FIXED 'onRequest'"
>
]]></pre>

    <p id="xlinkElements">In addition to the <code>a</code> element,
    <code><a x:href="#blockquote">blockquote</a></code>, <code><a
    x:href="#quote">quote</a></code>, <a x:href="#edit"><code>ins</code>
    and <code>del</code></a> elements also use simple XLink to designate
    a source document or message, which was done by
    the <code>cite</code> attribute in previous versions of XHTML.</p>

    <section id="xmlbase">
      <h><code>xml:base</code> support</h>

      <p xml:base="http://www.w3.org/">The <code>xml:base</code> attribute
      has been added to the core set of attributes. For example,
      this paragraph sets <samp>xml:base="http://www.w3.org/"</samp>,
      so the following link, which designates <samp><var class="prefix"
      >xlink</var>:href="MarkUp/"</samp>, will go to
      the <a x:href="MarkUp/">W3C HTML home page</a>.</p>

      <p>The <code>base</code> element has been removed in favor of
      <code>xml:base</code>.</p>
    </section>
  </section>

  <section id="blockquote">
    <h>Long Quotation: the <code>blockquote</code> element</h>

    <p>The <code>blockquote</code> element designates block-level quoted
    text, just like the <a x:href="#quote"><code>q</code> element</a> for
    short quotations.</p>

    <p>The <code><var class="prefix">xlink</var>:href</code> attribute may be
    used to designate a source document or message. This attribute is
    intended to give information about the source from which the quotation
    was borrowed, just like the <code>cite</code> attribute found in the
    previous version of the <code>blockquote</code> element.</p>

    <p>Example:</p>

    <p class="note">Note: Legacy links are replaced with XLink.</p>

<pre xml:space="preserve" class="example"
>&lt;blockquote <var class="prefix">xlink</var>:href="http://www.w3.org/TR/xlink/#status"&gt;
&lt;p xml:base="http://www.w3.org/TR/xlink/"&gt;See &lt;a <var class="prefix">xlink</var>:href="./#xldp"&gt;[XLDP]&lt;/a&gt;
for additional background on the design principles informing XLink,
and &lt;a <var class="prefix">xlink</var>:href="./#xlreq"&gt;[XLREQ]&lt;/a&gt; for the normative XLink
requirements that this document attempts to satisfy.
XLink does not support all HTML linking constructs as they stand;
see &lt;a <var class="prefix">xlink</var>:href="./#xlink-naming"&gt;[XLinkNaming]&lt;/a&gt; for a discussion
of this situation.&lt;/p&gt;
&lt;/blockquote&gt;</pre>

    <p>The above example might be rendered as follows:</p>

<blockquote x:href="http://www.w3.org/TR/xlink/#status">
<p xml:base="http://www.w3.org/TR/xlink/">See <a x:href="./#xldp">[XLDP]</a>
for additional background on the design principles informing XLink,
and <a x:href="./#xlreq">[XLREQ]</a> for the normative XLink
requirements that this document attempts to satisfy.
XLink does not support all HTML linking constructs as they stand;
see <a x:href="./#xlink-naming">[XLinkNaming]</a> for a discussion
of this situation.</p>
</blockquote>


    <section class="issue" id="issue-nested-links">
    <h>Issue: Nested XLink elements</h>

    <p>Do we want to make reference to a source document or message
    traversable? It would be useful to make it possible, on the other hand,
    quoted text might include links (as shown in an above example),
    and it would create the same problem as nested links.
    For example, in the current implementation of Mozilla / Netscape 6,
    the above <code>blockquote</code> is traversable but links inside
    the <code>blockquote</code> don't work. Furthermore, if the
    <code><var class="prefix">xlink</var>:type</code> attribute is set to
    <code>simple</code> by default, the whole content of XLink-related
    elements become untraversable, even if the 
    <code><var class="prefix">xlink</var>:href</code> attribute is not
    specified in the instance.
    Note that the XLink Recommendation itself
    <a x:href="http://www.w3.org/XML/2000/12/LinkingIssueList.html#XL25"
    >doesn't prohibit the nesting of simple links</a>.
    The same problem for <code><a x:href="#quote">quote</a></code>,
    <a x:href="#edit"><code>ins</code> and <code>del</code></a> elements.</p>
    </section>
  </section>

  <section id="edit">
    <h>Marking document changes: the <code>ins</code> and
    <code>del</code> elements</h>

    <p><code>ins</code> and <code>del</code> are used to markup sections
    of the document that have been inserted or deleted with respect to
    a different version of a document (e.g., in draft legislation where
    lawmakers need to view the changes).</p>

    <p>Example:</p>

<pre xml:space="preserve" class="example"
><![CDATA[<p>A Sheriff can employ <del>3</del><ins>5</ins> deputies.</p>]]></pre>

	<p>The <del x:type="simple" x:href="#xlinkElements"><code>cite</code></del><ins><code><var class="prefix">xlink</var>:href</code></ins> attribute may be
    used to designate a source document or message. This attribute is
    intended to point to information explaining why a document was
    changed<ins x:type="none">, just like the <code>cite</code> attribute found in
    the <a x:href="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_editmodule">previous version of the Edit Module</a> (see also
    an <a x:href="#issue-nested-links">issue about nesting</a>)</ins>.</p>
  </section>

  <section id="pre">
    <h>Preformatted text: the <code>pre</code> element</h>

    <p>In previous versions of XHTML, certain elements were not allowed
    within the <code>pre</code> element.  In XHTML 2.0, <code>pre</code>
    is just like a <code>p</code>, the only difference is white space
    preservation (the <code>xml:space</code> attribute is fixed to
    <code>preserve</code>).</p>
  </section>
</section>

<section id="deadElements">
  <h>The deaths</h>

  <p>The following elements that were available in XHTML 1.1 are put
  to death: <code>b</code>, <code>base</code>, <code>big</code>,
  <code>i</code>, <code>q</code>, <code>small</code>, <code>tt</code></p>

  <p>Elements that were not available in XHTML 1.1 will not resurrect.</p>
</section>

<section id="furtherWork">
  <h>Further Work</h>

  <p>At least the following things need to be reworked:</p>

  <ul>
    <li>The Forms Module will be replaced by
    <a x:href="http://www.w3.org/TR/xforms/">XForms</a></li>
    <li>Events stuff will be replaced by the new
    <a x:href="http://www.w3.org/TR/xhtml-events/">Events Module</a></li>
    <li>The Tables Module needs clean-up</li>
    <li>The <code>img</code> element will be gone, the <code>object</code>
    element needs rework</li>
    <li>The <code>p</code> element will accept more stuff as its content
    (e.g. lists)</li>
    <li>The <code>address</code> element would be fixed to add more
    structure/semantics</li>
    <li>Need rework on frames</li>
    <li>The <code>meta</code> element would be replaced by RDF stuff or
    something</li>
    <li>...</li>
  </ul>
</section>
</body>
</html>