Altova XMLSpy 2023 Professional Edition

关于实体

无论您的文档是基于DTD,还是XML Schema,您都可以定义实体在Authentic视图中使用。完成定义后,这些实体将显示在“实体”输入助手和上下文菜单的插入实体子菜单中。当您在“实体”输入助手中双击一个实体时,将在光标插入点插入该实体。

 

如果您将在文档的多个位置使用文本字符串、XML片段或一些其他外部资源,则实体会十分有用。您可以在“定义实体”对话框中定义实体,它基本上代表所需数据的短名称。定义实体后,您可以在文档中的多个位置使用它。这可以帮助您节省时间,并大大增强维护工作。

 

实体的类型

您可以在文档中使用两种广泛类型的实体:解析实体,即XML数据(文本字符串或XML文档片段),或未解析实体,即非XML数据,例如二进制文件(通常是图形、声音或多媒体对象)。每个实体都有一个名称和一个值。在解析实体的情况下,实体是XML数据的占位符。实体的值可以是XML数据本身,也可以是指向包含XML数据的.xml文件的URI。在未解析实体的情况下,实体的值是指向非XML数据文件的URI。

 

定义实体

要定义实体,请执行以下操作:

 

1.单击Authentic | 定义XML实体。这将打开“定义实体”对话框(参见下方截图)。

dlg_define_entities

2.在“名称”字段中输入您的实体的名称。这就是将出现在“实体”输入助手中的名称。

3.在“类型”字段中从下拉列表中输入实体的类型。区分以下类型:Internal实体是要使用的文本存储在XML文档本身中的实体。选择PUBLICSYSTEM指定资源位于XML文件之外,并分别使用公共标识符或系统标识符进行定位。系统标识符是指提供资源位置的URI。公共标识符是指与位置无关的标识符,它使一些处理器能够识别该资源。如果您同时指定公共标识符和系统标识符,则公共标识符将被解析为系统标识符,并使用系统标识符。

4.如果您选择了PUBLIC作为类型,请在PUBLIC字段中输入资源的公共标识符。如果您选择了Internal或SYSTEM作为类型,则PUBLIC字段将被禁用。

5.在“Value/Path”字段中,您可以输入以下任何一项:

 

如果实体类型是Internal,请输入想要作为实体值的文本字符串。请勿输入引号来分隔条目。您输入的任何引号将被视为文本字符串的一部分。

如果实体类型是SYSTEM,请输入资源的URI,或使用“浏览”按钮选择本地网络上的资源。如果该资源包含已解析的数据,则它必须是XML文件(即,它必须具有.xml扩展名)。或者,该资源可以是二进制文件,例如GIF文件。

如果实体类型是PUBLIC,则必须在此字段中额外输入系统标识符。

 

6.NDATA条目告诉处理器,此实体不需要被解析,而是要被发送到适当的处理器。因此,“NDATA”字段必须包含一些值,以表明该实体是一个未解析的实体。

 

对话功能

您可以在“定义实体”对话框中执行以下操作:

 

追加实体

插入实体

删除实体

您还可以通过单击列标题按任何列的字母值对实体进行排序;单击一次以升序排序,两次以降序排序。

您还可以调整对话框大小以及列宽。

锁定。一旦在XML文档中使用了实体,它就会被锁定并无法在“定义实体”对话框中编辑。锁定的实体将由第一列中的锁定符号指示。锁定实体会确保XML文档对于实体是有效的。(如果实体被引用但未被定义,则文档是无效的。)

重复实体会被标记。

 

实体的限制

 

无论是在对话框Authentic视图,还是在XSLT输出中,包含在另一个实体中的实体都不会被解析,并且此类实体的&字符以其转义形式显示,即&

Authentic视图中,不是图像文件的外部未解析实体不会被解析。如果设计中的图像被定义为读取外部未解析实体,并将其URI设为实体名称(例如:'logo'),则可以在“定义实体”对话框(参见上方截图)中将此实体名称定义为外部未解析实体,其值可被解析为该图像文件的URI(如上方截图中的logo实体)。

 

© 2017-2023 Altova GmbH