gzz-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz] Dart: xml_text_markup--benja


From: Benja Fallenstein
Subject: [Gzz] Dart: xml_text_markup--benja
Date: Sun, 13 Jul 2003 23:59:38 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030704 Debian/1.4-1

===============
XML text markup
===============

One of those ideas that come relatively
"out of the blue."

We have been `thinking about how to represent
styled text in XML in RDF`__. XHTML seemed
like a first possibility. Here's something
that goes far beyond, in a sense.

__ ../../pegboard/markup_xhtmlmodules--tjl/peg.gen.html

We want to allow for "semantic markup:"
markup that says what the author *means*.
WYGIWYM-- what you get is what you mean.

However, we don't want that *only*. We
also want presentational markup, because
people will want to use it, and if there
is no other way they will do presentational
markup through semantic markup-- they'll
"emphasize" whenever they want to italicize,
just to get the effect they want. This
is a really bad thing.

Semantic markup should be extensible; you
should be able to make up new, meaningful
'styles' as you go.

Here's an example from Tim Bray (source__)::

     <chunk xmlns="http://www.tbray.org/ns/22";>The essays found
     on the web at <address>http://www.tbray.org</address> are
     <adj>boring</adj> <adj>pedantic</adj> ravings
     <adverb>clumsily</adverb> authored by a
     <adj>self-styled</adj> technologist.</chunk>

__ http://www.tbray.org/ongoing/When/200x/2003/04/09/SemanticMarkup

He says he made the namespace up when he typed
the above. (It's for example purposes.)

Now, that got me thinking. I propose that the
above could be written pretty much like that
in our system::

     <chunk xmlns="http://example.org/namespace/22#";
            xmlns:tag="http://example.org/namespace/tag#";
            tag:type="para">The essays found on the web
     at <address tag:type="span">http://www.tbray.org</address>
     are <adj tag:type="span">boring</adj>
     <adj tag:type="span">pedantic</adj> ravings
     <adverb tag:type="span">clumsily</adverb> authored by a
     <adj tag:type="span">self-styled</adj>
     technologist.</chunk>

This is, admittedly, clunkier, but it would be
auto-generated by the computer. -- Hmm. No, probably
it would be better to explicitly declare the type
of each tag somewhere; so, ok, something like this::

    <ff:text xmlns="..." xmlns:ff="..." xmlns:tags="...">
        <tags:paragraph-tag name="chunk"/>
        <tags:span-tag      name="address"/>
        <tags:span          name="adj"/>
        <tags:span          name="adverb"/>

        <chunk>The essays found on the web at
        <address>http://www.tbray.org</address> are
        <adj>boring</adj> <adj>pedantic</adj> ravings
        <adverb>clumsily</adverb> authored by a
        <adj>self-styled</adj> technologist.</chunk>
    </ff:text>

(Assume the namespace to be as in the previous example.)
Like that, this would be feasible to write by hand.
I like it.

*Now*, every tag declared through ``tags:paragraph-tag``
or ``tags:span-tag`` would have a URI formed in the
usual RDF way::

    chunk   = http://example.org/namespace/22#chunk
    address = http://example.org/namespace/22#address
    adj     = http://example.org/namespace/22#adj
    adverb  = http://example.org/namespace/22#adverb

And *then*, you could both use this with an XSLT
or CSS style sheet, and with a style definition
connected to the URI through RDF. We would normally
use the latter.

For presentational markup, we'd use something
straight-forward, like::

    <span foo:font-face="sans-serif"
          foo:font-size="18">...</span>

The semantic markup with special tags, as shown above,
should only be done at explicit user request.
If we only need to associate some text with a URI
to connect it to something, we'd do::

    <span bla:uri="urn:urn-5:..."/>


The point of all this is: If a user consciously uses
the semantic markup technology and user interface,
they *create a new XML vocabulary*. A user in the know
could also trivially use an existing vocabulary,
like XHTML or DocBook. The result will be XML markup
as you expect good XML markup to be. A great win.

\- Benja





reply via email to

[Prev in Thread] Current Thread [Next in Thread]