【整理】Docbook中的xlink和link的区别和联系

【背景】

折腾:

【已解决】docbook编译html出错:Element xlink in namespace ‘http://docbook.org/ns/docbook’ encountered in para, but no template matches.

期间,由于好久没弄Docbook,导致xlink和link之前,都搞混了。

也忘了,这两者之间的关系了,所以要去搞清楚,docbook中的xlink和link之间的关系。

【折腾过程】

1.参考了:

Universal linking in DocBook 5

其中的例子:

<link xlink:href="#preview">previewing</link>

可知:

link是docbook中的一个元素element。

而xlink是link中的一个属性。

2.另外,注意到:

【已解决】docbook编译html出错:Element xlink in namespace ‘http://docbook.org/ns/docbook’ encountered in para, but no template matches.

xl:href

实际上是:

xlink:href

那是因为:

由于我此处docbook的chapter中,加了"xmlns:xl=http://www.w3.org/1999/xlink"

即:

<chapter    xml:id="gnu_binutils_intro"
    xmlns="http://docbook.org/ns/docbook"
    xmlns:xl="http://www.w3.org/1999/xlink"
    xmlns:xi="http://www.w3.org/2001/XInclude"
    xmlns:ns5="http://www.w3.org/1998/Math/MathML"
    xmlns:ns4="http://www.w3.org/1999/xhtml"
    xmlns:ns3="http://www.w3.org/2000/svg"
    xmlns:ns="http://docbook.org/ns/docbook">

而使得,后面再用到xlink的话,可以简写为xl,所以:

<para>相关旧帖:<link xlink:href="http://www.crifan.com/gnu_binutils_tools/">GNU binutils工具使用</link></para>

可以写成:

<para>相关旧帖:<link xl:href="http://www.crifan.com/gnu_binutils_tools/">GNU binutils工具使用</link></para>

这个,其实是namespace的效果了。

 

【总结】

1 .link是docbook中的一个元素element。

而xlink是link中的一个属性。

2.xlink,可以在添加了:

xmlns:xl=http://www.w3.org/1999/xlink

的namespace的前提下,简写为xl。



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量