本主题不是最新的。 有关最新信息,请参阅 打印架构规范。
ParameterDef 元素不同于 ParameterInit 元素,因为它描述 ParameterInit 元素可以包含的值,而 ParameterInit 元素将值分配给参数。 ParameterDef 元素由一组特定的 Property 元素组成,这些元素是 ParameterDef 元素的子元素,用于指定数据类型、数据的最大值、最小值和默认值以及其他信息。 本主题稍后将讨论这些属性元素。
ParameterDef 元素只能出现在其允许的上下文中。 对于打印架构的初始版本,它们可能位于 PrintCapabilities 文档的根级别。 ParameterDef 元素的名称属性定义参数名称。 PrintCapabilities 文档中的每个 ParameterDef 元素都必须分配唯一的名称属性。
注意
打印功能文档提供程序:
参数名称的含义是通用的;也就是说,如果一个 PrintCapabilities 文档中的 ParameterDef 元素具有相同的名称属性(从命名空间构成的字符串和 ParameterDef 元素的描述性名称)作为另一个 PrintCapabilities 文档中的 ParameterDef 元素,则假定这两个元素都表示相同的概念,并且应该以相同的方式进行解释。 因此,一个 PrintCapabilities 文档的 PrintTicket 中定义的 ParameterDef 元素可用于初始化不同 PrintCapabilities 文档中定义的同名的 ParameterInit 元素。
与 XML 属性的关系
与所有名称属性一样,参数名称采用 XML QName 的形式。 架构定义参数构造具有由公共命名空间限定的名称,构成名称属性,而专用定义参数构造的名称属性由创建者唯一的私有命名空间限定。
ParameterDef 与属性元素类型之间的关系
在 Print Schema Keywords 中定义的 ParameterDef 元素必须在 PrintCapabilities 文档中完全定义。 Print Schema Keywords 文档为 ParameterDef 元素(如 DefaultValue 等)的某些 Property 元素提供名义值,但 PrintCapabilities 文档的作者负责定义剩余的 Property 元素。 在任何情况下,都必须在 ParameterDef 元素中显式定义所有 Property 元素,包括打印架构关键字中定义的元素。
打印架构关键字中显示的每个 ParameterDef 元素的某些属性元素被指定为 不可变。 这意味着打印架构关键字定义 ParameterDef 元素的所有 PrintCapabilities 文档定义都必须保留这些属性元素,而无需修改。 这些不可变属性元素允许参数构造在所有 PrintCapabilities 文档中可移植且明确。 主要示例是 ParameterDef 元素中使用的单位。 这些单位应该是不可变的,以促进对其含义的一致理解。 可以在 PrintCapabilities 文档中重新定义被指定为不可变的 ParameterDef 的属性元素。
ParameterDef 元素由以下 Property 元素组成。 除非另有说明,否则必须存在所有内容。
有关多个说明
对于带整数或十进制值的 ParameterInit 元素,ParameterInit 的值应为此数字的倍数。 例如,通过将此属性设置为 0.1,decimal-valued ParameterInit 元素可以限制为十分之几。 UI 元素在构造对话框和 UI 控件时使用此属性。 此外,PrintTicket 验证代码可以使用此属性将 ParameterInit 的值舍入到 Multiple 指示的最接近的值。 注意:设备驱动程序和 PrintCapabilities 提供程序不应假定 ParameterInit 值是此属性值的倍数。 每个提供程序必须能够将任意值舍入到最接近的可用值,因为不同的提供程序可能指定此属性的不同值和冲突值。