<!entity % xref " label|ref|pageref|cite|url|htmlurl|ncite " >
一旦文档变得稍微复杂一些,就需要引用文档内的其他位置。
<!element label - o empty> <!attlist label id cdata #required>
一个例子可能看起来像这样
<sect1>Welcome to the article<label id="intro"> <p>...
<!element ref - o empty> <!attlist ref id cdata #required name cdata "<@@refnam>">
使用这个标记,你可以引用文档中像 标签标记 中那样被标记的位置。
引用在文档中如何映射再次取决于映射器。可能会生成超链接(HTML)或章节号(LaTeX)。
<!element pageref - o empty> <!attlist pageref id cdata #required>
一个页码引用的例子
<pageref id="intro">
在 HTML 映射中,页码引用 没有用处,因为没有页码。在 LaTeX 映射中,这个标记被映射到被引用标签的页码。
<!element url - o empty> <!attlist url url cdata #required name cdata "<@@urlnam>" >
一个 URL 的例子
<url url="https://gnu.ac.cn" name="GNU Organization">
映射到 HTML 会在你的文档中生成一个超链接。引用是 url 属性的值,超链接中显示的文本是 name 属性的值。
在 LaTeX 映射中,这会生成名称,后跟 URL。
<!element htmlurl - o empty> <!attlist htmlurl url cdata #required name cdata "<@@urlnam>" >
<htmlurl url="https://gnu.ac.cn" name="GNU Organization">
这个标记和 URL 标记 之间的唯一区别在于 LaTeX 映射。
LaTeX 映射只是丢弃 url 属性,并强调名称。
在所有其他情况下,它与 URL 标记 完全相同。
<!element cite - o empty> <!attlist cite id cdata #required>
据我所知,这个标记需要 bibTeX 才能良好地工作。非常抱歉,但我还没有能够使用它。因此,我肯定不是解释它的合适人选。
<!element ncite - o empty> <!attlist ncite id cdata #required note cdata #required>
与 引用标记 相同。