[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: XLink support
More for today's discussion. Here's an example document that (I believe) correctly defines two extended links, one inline and one third-party. <article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.1"> <info> <title>Some XLink Testing</title> <extendedlink xlink:type="extended"> <locator xlink:type="locator" xlink:href="http://www.w3.org/TR/XQuery" xlink:label="target" xlink:title="XQuery specification"/> <locator xlink:type="locator" xlink:href="http://www.w3.org/XML/Query/" xlink:label="target" xlink:title="XQuery WG"/> <locator xlink:type="locator" xlink:href="http://en.wikipedia.org/wiki/XQuery" xlink:label="target" xlink:title="XQuery on Wikipedia"/> <locator xlink:type="locator" xlink:href="#xquery" xlink:label="source"/> <arc xlink:type="arc" xlink:from="source" xlink:to="target"/> </extendedlink> </info> <para>What about <citetitle xlink:type="extended"> <link xlink:type="locator" xlink:href="http://docbook.org/" xlink:label="target" xlink:title="DocBook.org"/> <link xlink:type="locator" xlink:href="http://en.wikipedia.org/wiki/DocBook" xlink:label="target" xlink:title="DocBook on Wikipedia"/> <phrase xlink:type="resource" xlink:label="source">DocBook</phrase> <link xlink:type="arc" xlink:from="source" xlink:to="target"/> </citetitle> and <citetitle xml:id="xquery">XQuery</citetitle>. </para> </article> (This isn't valid 5.0 for the reasons I described earlier, but I think it should be) My current thinking is that we should drop the locator, arc, and resource elements and instead allow link to appear as a child of extendedlink. If we did so, I could rewrite that first extended link thus: <extendedlink xlink:type="extended"> <link xlink:type="locator" xlink:href="http://www.w3.org/TR/XQuery" xlink:label="target" xlink:title="XQuery specification"/> <link xlink:type="locator" xlink:href="http://www.w3.org/XML/Query/" xlink:label="target" xlink:title="XQuery WG"/> <link xlink:type="locator" xlink:href="http://en.wikipedia.org/wiki/XQuery" xlink:label="target" xlink:title="XQuery on Wikipedia"/> <link xlink:type="locator" xlink:href="#xquery" xlink:label="source"/> <link xlink:type="arc" xlink:from="source" xlink:to="target"/> </extendedlink> Which I believe has the same XLink semantics. I can't think of any reason why we'd need to allow elements other than link in an extended link. Given that extendedlink can only occur in info elements, it's purpose is really to instantiate third-party links. Using xlink:type="extended" on other elements establishes inline extended links. Linkbases are another wrinkle. I think we can load them like this: <extendedlink xlink:type="extended"> <link xlink:type="locator" xlink:href="" xlink:label="source"/> <link xlink:type="locator" xlink:href="linkbase.xml" xlink:label="linkbase"/> <link xlink:type="arc" xlink:from="source" xlink:to="linkbase" xlink:actuate="onLoad" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> </extendedlink> Which is a little unsatisfying in its complexity. Be seeing you, norm P.S. Thinking a little bit about processing expectations: ugh. My first thought is that we'll have to work in several passes. The first pass loads the linkbases. The second pass transforms third-party links into inline links. The third pass does normal processing which has to be augmented to handle inline extended links. That's going to be a little tricky too. Can we use XProc yet? :-) -- Norman Walsh <ndw@nwalsh.com> | Some people can stay longer in an http://www.oasis-open.org/docbook/ | hour than others can in a week Chair, DocBook Technical Committee |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]