0

使用 DocBook V4.x 和 DTD,我可以创建一个实体:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [

<!ENTITY mdash   "&#8212;">

]>
<article>
...
<title>Em dash</title>

<para>The em dash is perhaps the most versatile punctuation mark.
Depending on the context, the em dash can take the place of commas,
parentheses, or colons&mdash;in each case to slightly different effect.</para>
...
</article>

我如何使用 RELAX NG 模式对 DocBook V5.0 做同样的事情?:

<?xml version='1.0' encoding='utf-8'?>
<article xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en'>
...
<title>Em dash</title>
<para>The em dash is perhaps the most versatile punctuation mark.
Depending on the context, the em dash can take the place of commas,
parentheses, or colons&mdash;in each case to slightly different effect.</para>
4

1 回答 1

3

您不能使用 RELAX NG 定义一般实体。实体是 DTD 的东西。您要么需要使用内部 DTD 子集(如在您的第一个代码示例中),要么只使用硬编码的工具来识别实体(例如 Web 浏览器)。

于 2016-05-03T15:40:40.177 回答