Controlling link destination DOCTYPE

John Tigue (john@datachannel.com)
Mon, 6 Apr 1998 12:54:50 -0700


The below document asks the question "how do you tell the processor that the
destination of a link must be a document complying to DTD X?"

<!DOCTYPE foo
[
<!ELEMENT foo ( linkToABarDoc ) >

<!-- I want tell the parser that the BarDecls DTD is a notation -->
<!NOTATION BarDecls PUBLIC "The BarDecls PUBLIC ID" >

<!-- I want tell the parser that the 'linkToABarDoc' element is a
link to a instance doc of the BarDecls DTD

Is there any way (XML, HyTime, etc.) to declare that an ENTITY
attribute is not only an ENTITY attribute but that the value
must be of a particular declared NOTATION? That is, the
entity must be declared to have a particular NDATA? Or is this
simply application level constraints not parser level?

Some other attributes would be needed to declare the link-ness of
this element type.
-->
<!ELEMENT linkToABarDoc EMPTY >
<!ATTLIST linkToABarDoc
docLinkingTo ENTITY #REQUIRED
>

<!-- ============================================================= -->
<!-- All the above would really go in an external subset but this
e.g. is all in one doc for clarity.
The stuff below this comment would occur in the internal subset
-->

<!-- Here it is established that myBarDoc is an instance document
of the BarDecls DTD -->
<!ENTITY myBarDoc PUBLIC "a" "b" NDATA BarDecls >

]>

<foo>
<linkToABarDoc docLinkingTo="myBarDoc" />
</foo>