attribute element attribute--element
内容模型 content-model
attribute:==help
属性 attributes
_operation (string)、advanced (boolean)、applicableIf (string)、autoIncrement (boolean)、fallsTo (string)、dataPolicy (string)、dbEnum (string)、defOnDuplicate (boolean)、default (string)、desc (string)、edit (string)、enum (string)、expr (string)、featureDate (boolean)、img (string)、inout (string)、label (string)、length (string)、localizable (boolean)、name (MNTOKEN (NTOKEN)、NOT (not)、not (not (boolean)、notNull (boolean)、pkgStatus (string (boolean) ref)、ref(字符串)、required(布尔值)、sql(布尔值)、sqlDefault(字符串)、sqlname(字符串)、sqltable(字符串)、target(MNTOKEN)、template(字符串)、translatedDefault(字符串)、translatedExpr(字符串)、type(MNTOKEN)、user(布尔值)、userEnum(字符串)、visibleIf(字符串)、xml(布尔值)
父项 parents
<element>
子项 children
<help>
说明 description
<attribute>
元素允许您在数据库中定义字段。
使用和使用环境 use-and-context-of-use
必须在<element>
元素中声明<attribute>
元素。
在<srcschema>
中定义<attribute>
元素的序列不会影响数据库中的字段创建序列。 创建序列将按字母顺序排列。
属性说明 attribute-description
-
_operation (string):定义在数据库中写入的类型。
此属性主要用于扩展现成架构。
可访问值包括:
- “无”:仅和解。 这意味着Adobe Campaign将恢复元素,而不更新它,如果元素不存在则生成错误。
- "insertOrUpdate":使用insertion更新。 这意味着Adobe Campaign将更新元素,如果它不存在,则创建它。
- "insert": insertion. 这意味着Adobe Campaign将插入元素而不检查元素是否存在。
- "update":更新。 这意味着Adobe Campaign将更新元素,如果它不存在,则产生错误。
- "delete":删除。 这意味着Adobe Campaign将恢复和删除元素。
-
高级(布尔值):激活此选项(@advanced="true")后,您可以在可用于配置表单列表的可用字段列表中隐藏该属性。
-
applicableIf (字符串):此属性允许您将字段设为可选字段。 当满足约束时更新数据库时将考虑
<attribute>
元素。 "applicableIf"接收XTK表达式。 -
autoIncrement (布尔值):如果激活此选项,则字段将变为计数器。 这使您可以递增值(主要是ID)。 (外部使用)
-
fallsTo (字符串):获取共享该字段的表的名称和命名空间,并填充声明该属性的架构。 (仅在
<schema>
中使用)。 -
dataPolicy (字符串):允许您对SQL或XML字段中允许的值指定批准约束。 此属性的值为:
- "none":无值
- "smartCase":第一字母大写
- "lowerCase":全部为小写
- "upperCase":全部大写
- "email":电子邮件地址
- "phone":电话号码
- "identifier":标识符名称
- "resIdentifier":文件名
-
dbEnum (字符串):接收“已关闭”枚举的内部名称。 必须在
<srcschema>
中定义枚举值。 -
defOnDuplicate (布尔值):如果激活此属性,则在复制记录时,默认值(在@default中定义)将自动重新应用于记录。
-
默认(字符串):用于定义默认字段的值(调用函数,默认值)。 此属性接收XTK表达式。
-
desc (字符串):允许您插入属性的描述。 此描述用于了解元素的含义及其用途。 您可以在表单中显示它。
-
编辑(字符串):此属性指定将在链接到架构的表单中使用的输入类型。
-
枚举(字符串):接收链接到该字段的枚举的名称。 枚举可以插入到同一模式或远程模式中。
-
expr (字符串):定义字段预计算表达式。 此属性接收Xpath或XTK表达式。
-
功能(字符串):定义特性字段:这些字段用于扩展现有表中的数据,但存储在附件表中。 接受的值包括:
- “共享”:根据数据类型将内容存储在共享表中
- "dedicated":内容存储在专用表中
SQL特性表是根据以下特性类型自动构建的:
- 专用:
Ft_[name_of_the_schema_containing_the_characteristic]_[name_of_the_characteristic]
- 已共享:
Ft_[type_of_key_of_the_schema_containing_the_characteristic]_[type_of_the_characteristic]
有两种类型的特征字段:简单的oà1字段,其中在特征上授权了一个值;以及oà1多选字段,其中特征链接到可能包含多个值的集合元素。
在架构中定义特征时,此架构必须具有基于单个字段的主键(复合键未授权)。
-
featureDate (布尔值):链接到“@feature”特性字段的属性。 如果其值为“true”,则可让您了解该值的上次更新时间。
-
img (字符串):用于定义链接到字段的图像的路径(命名空间+图像名称)(例如:img="cus:mypicture.jpg")。 在物理上,必须将映像导入到应用程序服务器。
-
标签(字符串):链接到字段的标签,主要用于界面中的用户。 它可让您避免命名约束。
-
长度(字符串):最大值。 “字符串”类型SQL字段值的字符数。 如果未指定“@length”属性,Adobe Campaign会自动创建一个包含255个字符的字段。
-
可本地化(布尔值):如果激活此属性,则此属性会告知收集工具恢复“@label”属性的值以进行翻译(内部使用)。
-
name (MNTOKEN):与表中字段的名称匹配的属性的名称。 “@name”属性的值必须较短,最好是英文,并符合XML命名约束。
当架构写入数据库时,Adobe Campaign会自动将前缀添加到字段名称中:
- "i":"integer"类型的前缀。
- "d":"double"类型的前缀。
- “s”:字符串类型的前缀。
- "ts":"date"类型的前缀。
要完全定义表中字段的名称,请在定义属性时使用“@sqlname”选项。
-
notNull (布尔值):允许您重新定义Adobe Campaign在数据库中管理NULL记录的行为。 默认情况下,数字字段不为null,字符串和日期类型字段可以为null。
-
pkgStatus (字符串):在导出包期间,将根据“@pkgStatus”的值考虑值:
- "always":始终存在
- “从不”:从不出现
- "default(or nothing)":导出值,除非它是默认值,或者不是与其他实例不兼容的内部字段。
-
ref (字符串):此属性定义对由多个架构(定义分解)共享的
<attribute>
元素的引用。 该定义将不会复制到当前架构中。 -
必需(布尔值):如果激活此属性(@required="true"),则接口中会高亮显示该字段。 字段的标签在表单中将为红色。
-
sql (布尔值):如果激活此属性(@sql="true"),则强制存储SQL属性,即使包含该属性的元素具有xml="true"属性也是如此。
-
sqlDefault (string):此属性允许您定义在激活@notNull属性时考虑用于更新数据库的默认值。 如果在属性创建后添加此属性,则即使对于新记录,架构行为也不会更改。 要更改架构并更新新记录的值,您需要删除并再次创建属性。
-
表创建期间字段的 sqlname (string):。 如果未指定@sqlname,则默认使用“@name”属性的值。 在数据库中写入架构时,将根据字段类型自动添加前缀。
-
模板(字符串):此属性定义对由多个架构共享的
<attribute>
元素的引用。 该定义会自动复制到当前架构中。 -
translatedDefault (字符串):如果找到“@default”属性,“@translatedDefault”将允许您重新定义表达式以匹配@default中定义的表达式,该表达式将由翻译工具收集(内部使用)。
-
translatedExpr (字符串):如果存在“@expr”属性,则“@translatedExpr”属性允许您重新定义表达式以匹配@expr中定义的表达式,该表达式将由翻译工具收集(内部使用)。
-
类型(MNTOKEN):字段类型。
字段类型是通用的。 根据安装的数据库类型,Adobe Campaign会将定义的类型更改为特定于结构更新期间安装的数据库的值。
可用类型列表:
- 任何
- 纸盒
- blob
- 布尔值
- 字节
- CDATA
- datetime
- datetimetz
- datetimenotz
- 日期
- double
- 枚举
- float
- html
- int64
- 链接
- 长
- 备忘
- MNTOKEN
- 百分比
- 主密钥
- 短
- 字符串
- time
- timespan
- uuid
如果“@type”属性留空,默认情况下,Adobe Campaign会将长度为100的字符串(字符串)链接到字段。
如果字段为STRING类型,并且字段的名称未通过“@sqlname”属性的存在来指定,则数据库中字段的名称将自动加上“s”。 该操作模式与INTEGER (i)、DOUBLE (d)和DATES (ts)类型字段类似。
-
userEnum (字符串):接收“open”枚举的内部名称。 枚举的值可由用户在界面中定义。
-
visibleIf (字符串):以XTK表达式的形式定义条件以显示或隐藏属性。
note important IMPORTANT 属性已隐藏,但仍可以访问其数据。 -
xml (布尔值):如果激活此选项,则该字段的值没有链接的SQL字段。 Adobe Campaign为记录存储创建文本类型“mData”字段。 这意味着没有对这些字段进行筛选或排序。
示例 examples
其值存储在数据库中的枚举值示例:
<enumeration name="myEnum">
<value name="One" value="1"/>
<value name="Two" value="2"/>
</enumeration>
<element label="Sample" name="Sample">
<attribute dbEnum="myEnum" length="100" name="Number" required="true" type="string"/>
</element>
带有“@datapolicy”的XML字段的声明:
<attribute dataPolicy="phone" desc="Mobile number" label="Mobile"
length="32" name="mobilePhone" sqlname="sMobilePhone" type="string"/>
带有“@applicableIf”的示例:仅当国家/地区数量大于20时,才会创建“contains”属性。
<attribute length="100" name="Continent" type="string" applicableIf="@country > 20"/>
“共享”类型的“@feature”示例:
<attribute name="field1" label="Field 1" type="long" feature="shared"/>
<attribute name="field1" label="Field 1" type="long" feature="shared" sqlname="126" sqltable="Ft_Content_Long"/>
“dedicated”类型的“@feature”示例:
<attribute name="field1" label="Field 1" type="long" feature="dedicated"/>
<attribute name="field1" label="Field 1" type="long" feature="dedicated" sqlname="sField1" sqltable="Ft_recipient_field1"/>