Mandatory.html 3.87 KB
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta name="generator" content=
    "HTML Tidy for Mac OS X (vers 31 October 2006 - Apple Inc. build 13), see www.w3.org" />
    <title>
      -- Axioms of Web architecture
    </title>
    <link rel="Stylesheet" href="di.css" type="text/css" />
    <meta http-equiv="Content-Type" content="text/html" />
  </head>
  <body bgcolor="#DDFFDD" text="#000000">
    <address>
      Tim Berners-Lee<br />
      Date: 1998, last change: $Date: 2009/08/27 21:38:07 $<br />
      Status: personal view only. Editing status: first draft.
    </address>
    <p>
      <a href="./">Up to Design Issues</a>
    </p>
    <h3>
      Axioms of Web Architecture: n
    </h3>
    <hr />
    <h1>
      Mandatory extensions
    </h1>
    <p>
      There is a common requirement for the design of a language on
      the web that it should allow for extensions, but it must
      allow a clear declaration as to whether understanding of an
      extension is a requirement to understanding of the document
      or whether it may be ignored. (See <a href=
      "Evolution.html">Evolvability</a>)
    </p>
    <p>
      Historically the lack of such a "mandatory field" has led to
      a complete inabaility to get any particular guaranteed
      behaviour be clients on the web.
    </p>
    <p>
      This is essential for partial understanding and the smooth
      evolution of the web.
    </p>
    <p>
      A simple requirement on a language is that it not only
      provide for its own extension, but provides for a way to
      explain whether a given extension is optional or not. This is
      a fundamental key to smooth evolution from the language to a
      new version.
    </p>
    <p>
      There are manyways in which it can be done. It can be done
      term by term, or in bulk about a whole new language. It can
      be specified in the new document, in the schema for the new
      language.
    </p>
    <p>
      XML provides in Namespaces a standard way of extending
      languages. It should also, in my opinion, provide a standard
      way to specify mandatopry or optional extensions.
    </p>
    <p>
      I propose two things:
    </p>
    <h3>
      Sublanguages
    </h3>
    <p>
      The simple assertion that language A is a sublanguage of
      language B means that the writer's intent is preserved if a
      dpcument in language A is converted into a document in
      language B just by relabelling every term as being from
      langauge B. For XML, this means that a receiver of namespace
      A can simply process it as though the namespace had been
      delcared as B.
    </p>
    <p>
      This assertion has got to be simple enough to put into a
      document for cases where the functionality is needed without
      the receiver having to dereference a schema.
    </p>
    <h3>
      Optional/Ignoreable/Mandatory flags for elements
    </h3>
    <p>
      In XML there are three simple thiong you can do with an
      element you don't understand.
    </p>
    <ol>
      <li>Stop, and conclude you do not understand the document, or
      the clause in the document; Example : logical NOT
      </li>
      <li>Ignore the elementand all its contents (including child
      elements) Example; &lt;Comment&gt;
      </li>
      <li>Replace the element with its contents (including
      children). Example: &lt;bold&gt;
      </li>
    </ol>
    <p>
      The schema langauge needs to be able to specify these very
      simply, and indeed it would be neatto be able to do it in a
      document for a given elemnt, or in one fell swoop for all the
      elements in a given namespace.
    </p>
    <p>
      Languages which donot use XML should attend to these needs in
      their own way!
    </p>
    <hr />
    <p>
      <a href="Overview.html">Up to Design Issues</a>
    </p>
    <p>
      <a href="../People/Berners-Lee">Tim BL</a>
    </p>
  </body>
</html>