This is the mail archive of the docbook@lists.oasis-open.org mailing list for the DocBook project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Re: XML Schemas and docbook documents


On Sun, Dec 09, 2001 at 09:51:07AM -0800, Norman Walsh wrote:
> Yes, entity declarations are, as far as I can see, the single
> necessary feature that hasn't made the transition out of DTDs yet.
> There are some obvious, if verbose, solutions for entity references in
> element contexts, but none of them work in attribute contexts.

That reminds me of a thought I had, about the markup of document
vs. their meta-info.  I guess that, following the original thought
that led to SGML, just stripping the tags from a marked-up text would
result in a readable text version.  This is not true with most DTDs,
because we have to markup some metainfo (eg. everything inside
ArticleInfo) using elements, which in turn IMHO takes its root in the
limitation that attributes can't be structured as elements.

In other words, I was thinking of extending the syntax of attributes
so that we could write:

<article
  <class>whitepaper</>
  <author>
    <personinfo>
      <firstname>foo</>
      <surname>foo</>
    </>
  </>
>
  <section
    <author>
    ...
    </author>
  >
  ...
  </section>
</article>

That is, <author> is an attribute of <article> or <section>, instead of
being a sub-element of <articleinfo> of <sectioninfo>.

With maybe some declaration syntax like:

<!ATTLIST Article
   Author  ELEMENT  #IMPLIED>

And with classical attributes (like class="whitepaper") being allowed
in the new syntax like show above.


> but it doesn't work *at all* in
> 
>   <ulink url='imaginary-person-protocol:&ndw;"/>

That would make you example possible, as:

<ulink
  <url>imaginary-person-protocol:<e:ref name="ndw"/></url>
>


> | However, XML has gone well beyond the uses envisioned for SGML. XML is
> | being used for object serialization, stock trading, remote procedure
> | calls, vector graphics, and many more things that look nothing like
> | traditional narrative documents; and it is in these new arenas that
> | DTDs are showing some limits.
> 
> The really significant weakness of DTDs these days is poor namespace
> support. I'm sorely tempted to extend DTD syntax to fix this. I'd love
> to introduce a "namespace" declaration:
> 
> <!NAMESPACE xhtml "http://www.w3.org/1999/xhtml";>
> 
> that would allow a DTD validator to recognize that
> 
>   <xhtml:p>...</xhtml:p>
> 
> is the same as
> 
>   <xh:p xmlns:xh="http://www.w3.org/1999/xhtml";>...</xh:p>
> 
> If you did that, and gave xmlns: attributes special treatment so that
> they didn't have to be declared (because they aren't really
> attributes), you'd be in pretty good shape.

But maybe there is a fundamental problem here, in that something that
isn't really an attribute should not use attribute syntax...
This looks more like an abuse, that was made possible by XML's ability
to cope with non-declared stuff, than a structurally thought-out
approach - but I confess I don't have a better idea off the top of my
head here.

-- 
Yann Dirson <Yann.Dirson@fr.alcove.com>                 http://www.alcove.com/
Free-Software Engineer				      Ingénieur Logiciel-Libre
Free-Software time manager    	       Responsable du temps Informatique-Libre
Debian GNU/Linux developper <dirson@debian.org>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]