OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-tc message

[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 |

PGP signature



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]