XML and HTML Intermixed

Richard Light richard at light.demon.co.uk
Fri Jun 27 13:44:33 BST 1997


In message <8543 at ursus.demon.co.uk>, Peter Murray-Rust
<Peter at ursus.demon.co.uk> writes
>...
>(e) Can I use XML-ised HTML and include XML-LINKs to other XML
documents?
>       Yes, if the HTML has been extended to use XML-LINK.  This is
what I
>do to avoid namespace clashes.  It may have its detractors. Be warned
that 
>there is not much software which can display XML documents using two
different
>DTDs at the same time; I'm working out how JUMBO will do this - if I
get some
>answers to my LINK queries it should be fairly straighforward.
>...
>To summarise, I believe that mix-and-match from different DTDs is a valid and
>useful approach to XML.  It means that there can be 'islands of validity'
>[an idea from the WG] within XML documents, so that XML-WF docs will not
>be semantically void tag soup.  The difficulty at present is how those
>islands are identified - there is no consensus yet.

I would suggest, looking at the XML-Link spec, that the clean way to mix
and match is to use simple links with the attribute specifications: 

        SHOW="EMBED" ACTUATE="AUTO"

Have your chunk of HTML as a separate document (which can be valid or
well-formed, as you wish), and just point to it. This is a fragment from
an object record in a museum catalogue, where the artist's biographical
details are stored in a separate XML document with a different DTD:

<production>
 <person ROLE="artist">Mathias, William
  <description HREF="mathiasw.xml" SHOW="EMBED" ACTUATE="AUTO"/>
 </person>

On hitting the empty <description> element, the XML processor will go
off and read mathias.xml. This will be parsed separately, and probably
held separately in memory.  It is a genuinely separate document with its
own namespace and so on.  But _for_the_purposes_of_display_and_processin
g_ it is 'inserted' into the source document at the point the
<description> element occurs.  And ACTUATE="AUTO" says that it is, in
effect, a necessary part of the catalogue record.

If you want to physically embed a chunk of HTML into your document which
conforms to a non-HTML DTD, surely you have to extend your DTD as Peter
has done. And once you have put the HTML element types into your DTD,
you're not really 'mixing and matching' in the sense of this discussion:
just borrowing a bunch of element types from another DTD.

Richard Light

xml-dev: A list for W3C XML Developers
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To unsubscribe, send to majordomo at ic.ac.uk the following message;
unsubscribe xml-dev
List coordinator, Henry Rzepa (rzepa at ic.ac.uk)




More information about the Xml-dev mailing list