![ConTeXt mkIV 和 XML:如何定义没有要传递的内容的自闭合标签?](https://linux22.com/image/232479/ConTeXt%20mkIV%20%E5%92%8C%20XML%EF%BC%9A%E5%A6%82%E4%BD%95%E5%AE%9A%E4%B9%89%E6%B2%A1%E6%9C%89%E8%A6%81%E4%BC%A0%E9%80%92%E7%9A%84%E5%86%85%E5%AE%B9%E7%9A%84%E8%87%AA%E9%97%AD%E5%90%88%E6%A0%87%E7%AD%BE%EF%BC%9F.png)
我正在使用 TEI Lite,并尝试使用 ConTeXt 进行排版。TEI Lite 定义<divGen type='toc' />
为指示目录,在 ConTeXt 中为\completecontents
现在我正在尝试这个:
\startxmlsetups xml:divGen[@type='toc']
\completecontents
\stopxmlsetups
但它不起作用。
如何将这个自闭合标签映射到 ConTeXt 目录命令?
答案1
不要将 XML 路径选择器放在设置名称中:\startxmlsetups
...\stopxmlsetups
只是定义一个命令,而不是实际上从 XML 文件中选择项目。
它\xmlsetsetup
执行 XML 对象的选择。
我自己并不是 ConTeXt xml 支持的重度用户,但我认为你需要这样的东西:
\xmlsetsetup{}{xml:divGen[@type='toc']}{xml:divgen:toc}
\startxmlsetups xml:divgen:toc
\completecontents
\stopxmlsetups