数据字典使商业用户能够使用来自后端数据源的信息,而无需了解其底层数据模型的技术细节。 数据字典由数据字典元素(DDE)组成。 您可以使用这些数据元素将后端数据集成到信件作为输入,以便在客户通信中使用。
数据字典是元数据的独立表示形式,用于描述基础数据结构及其关联的属性。 使用商业词汇创建数据字典。 它可以映射到一个或多个基础数据模型。
数据字典由三种类型的元素组成:简单、复合和集合元素。 简单DDE是一些基本元素,例如字符串、数字、日期和布尔值,它们包含城市名称等信息。 复合DDE包含其他DDE,它们可以是原始类型、复合类型或集合类型。 例如,由街道地址、城市、省、国家/地区和邮政编码组成的地址。 集合是类似的简单或复合DDE的列表。 例如,客户具有多个地点或不同的帐单和送货地址。
通信管理使用后端、客户或收件人特定的数据(根据数据字典的结构存储)来创建针对不同客户的通信。 例如,可以创建具有友好名称的文档,例如“亲爱的{First Name}”、“先生”。 {姓氏}".
通常,商业用户不需要了解元数据表示法,例如XSD(XML架构)和Java类。 但是,它们通常需要访问这些数据结构和属性才能构建解决方案。
安装 兼容包 查看 数据字典 上的选项 Forms 页面。
您可以使用数据字典编辑器创建数据字典,也可以上传XSD架构文件以基于它创建数据字典。 然后,您可以通过添加更多必填信息(包括字段)来扩展数据字典。 无论数据字典是如何创建的,业务流程所有者不需要了解后端系统。 业务流程所有者只需要了解域对象及其定义,就能完成其流程。
对于需要相似元素的多个字母,您可以创建一个通用数据字典。 但是,如果大数据字典包含大量元素,则在使用数据字典并加载元素(如字母和文档片段)时,可能会导致性能问题。 如果您遇到性能问题,请尝试为不同的字母创建单独的数据字典。
选择 Forms > 数据字典.
点按 创建数据字典.
在Properties屏幕中,添加以下内容:
标题: (可选)输入数据字典的标题。 标题不必是唯一的,并且可以包含特殊字符和非英语字符。 书信和其他文档片段通过其标题(如果可用)进行引用,例如在缩略图和资产属性中。 引用数据词典的不是标题,而是其名称。
名称: 数据字典的唯一名称。 在“名称”字段中,只能输入英语字符、数字和连字符。 “名称”字段会根据“标题”字段自动填充,并且在“标题”字段中输入的特殊字符、空格、数字和非英语字符会被替换为连字符。 虽然“标题”字段中的值会自动复制到“名称”,但您可以编辑该值。
描述:(可选)数据字典的描述。
标记: (可选)要创建自定义标记,请在文本字段中输入值,然后按Enter。 您可以在标记的文本字段下方看到您的标记。 保存此文本时,也会创建新添加的标记。
扩展属性:(可选)点按 添加字段 以指定数据字典的元数据属性。 在“属性名称”列中,输入唯一的属性名称。 在值列中,输入要与属性关联的值。
(可选)要上传数据字典的XSD架构定义,请在“数据字典结构”窗格下点按 上传XML架构. 浏览到XSD文件,选择它,然后点按 打开. 将根据上传的XML架构创建数据字典。 您需要调整数据字典中元素的显示名称和描述。 要实现此目的,请通过点按元素选择元素名称,并在右侧窗格的字段中编辑其描述、显示名称和其他详细信息。
有关计算的DD元素的详细信息,请参阅 计算的数据字典元素.
您可以跳过上传架构文件,并使用用户界面从头开始构建数据字典。 为此,请跳过此步骤并继续后续步骤。
点按 下一个.
在“添加属性”屏幕中,将元素添加到数据字典。 如果您已上传架构以获取数据字典的基本结构,则还可以添加/删除元素并编辑其详细信息。
您可以点按元素右侧的三个圆点,并将元素添加到数据字典结构。
选择“复合元素”、“集合元素”或“基本元素”。
以下是创建数据字典的一些规则:
有关复合、收藏集和原始元素以及使用数据字典元素的更多信息,请参阅 将数据字典元素映射到XML架构.
有关数据字典中验证的信息,请参阅 数据字典编辑器验证.
(可选)选择元素后,您可以在高级选项卡中添加属性(属性)。 您还可以点按 添加字段 和扩展DD元素的属性。
(可选)通过点按元素右侧的三个圆点,然后选择 删除.
删除具有子节点的复合/收集要素也会删除其子节点。
(可选)在“数据字典结构”窗格以及“字段和变量列表”面板中选择一个元素。 更改或添加任何与元素关联的必需属性。
点按 保存.
要快速创建一个或多个具有与现有数据字典类似的属性和元素的数据字典,您可以复制并粘贴它们。
在编辑或查看数据字典时,您可以看到数据字典中的哪些元素在文本、条件、字母和交互式通信中被引用。
执行以下操作之一以编辑数据字典:
或者点击数据字典以查看它。
在数据字典中,点按一个简单元素以将其选定。 复合元素和收藏集元素没有引用。
除了元素的“基本”和“高级”属性外,还显示“借出内容”。
点按借出内容。
“借出内容”选项卡显示如下:文本、条件、信件和交互式通信。 每个标题还会显示对选定元素的引用数量。
点按标题可查看引用元素的资产名称。
要查看其他元素的借出内容,请点击元素。
要显示引用元素的资产,请点按其名称。 浏览器显示资产、信件或交互式通信。
在数据字典页面上,点按 选择.
点按要为其下载测试数据的数据字典,然后点按 下载示例XML数据.
点按 确定 在警报消息中。 下载XML文件。
使用记事本或其他XML编辑器打开XML文件。 XML文件的结构与元素中的数据字典和占位符字符串相同。 将占位符字符串替换为您要测试字母的数据。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Company>
<Name>string</Name>
<Type>string</Type>
<HeadOfficeAddress>
<Street>string</Street>
<City>string</City>
<State>string</State>
<Zip>string</Zip>
</HeadOfficeAddress>
<SalesOfficeAddress>
<Street>string</Street>
<City>string</City>
<State>string</State>
<Zip>string</Zip>
</SalesOfficeAddress>
<HeadCount>1.0</HeadCount>
<CEO>
<PersonName>
<FirstName>string</FirstName>
<MiddleName>string</MiddleName>
<LastName>string</LastName>
</PersonName>
<DOB>string</DOB>
<CurrAddress>
<Street>string</Street>
<City>string</City>
<State>string</State>
<Zip>string</Zip>
</CurrAddress>
<DOJ>14-04-1973</DOJ>
<Phone>1.0</Phone>
</CEO>
</Company>
在本例中,XML为收集要素的三个值创建空间,但可以根据需要增加/减少值的数量。
生成数据条目后,在预览包含测试数据的信件时,可以使用此XML文件。
您可以使用DD(选择DD并点按上传测试数据并上传此xml文件)添加此测试数据。因此,当您正常预览信件(非自定义)时,此XML数据将在信件中使用。 您还可以点按自定义,然后上传此XML。
以下代码示例显示了数据字典的实施详细信息。
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns="DCT" targetNamespace="DCT" xmlns:xs="https://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="Company">
<xs:complexType>
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="Type" type="xs:anySimpleType"/>
<xs:element name="HeadOfficeAddress" type="Address"/>
<xs:element name="SalesOfficeAddress" type="Address" minOccurs="0"/>
<xs:element name="HeadCount" type="xs:integer"/>
<xs:element name="CEO" type="Employee"/>
<xs:element name="Workers" type="Employee" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="Employee">
<xs:complexContent>
<xs:extension base="Person">
<xs:sequence>
<xs:element name="CurrAddress" type="Address"/>
<xs:element name="DOJ" type="xs:date"/>
<xs:element name="Phone" type="xs:integer"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="Person">
<xs:sequence>
<xs:element name="PersonName" type="Name"/>
<xs:element name="DOB" type="xs:dateTime"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Name">
<xs:sequence>
<xs:element name="FirstName" type="xs:string"/>
<xs:element name="MiddleName" type="xs:string"/>
<xs:element name="LastName" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Address">
<xs:sequence>
<xs:element name="Street" type="xs:string"/>
<xs:element name="City" type="xs:string"/>
<xs:element name="State" type="xs:string"/>
<xs:element name="Zip" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
下表详细列出了与DDE关联的常见属性:
属性 | 类型 | 描述 |
名称 | 字符串 | 必填. DDE的名称。 它必须是唯一的。 |
引用 名称 |
字符串 | 必填. DDE的唯一引用名称,允许对DDE的引用独立于对数据字典的层次结构或结构的更改。 文本模块使用此名称进行映射 |
displayname | 字符串 | DDE的可选用户友好名称。 |
说明 | 字符串 | DDE的说明。 |
元素类型 | 字符串 | 必填. DDE的类型:STRING、NUMBER、DATE、Boolean、COMPOSITE、COLLECTION。 |
元素子类型 | 字符串 | DDE的子类型: ENUM。 仅允许用于STRING和NUMBER elementType。 |
键 | 布尔值 | 一个布尔字段,用于指示DDE是否为关键元素。 |
已计算 | 布尔值 | 用于指示是否计算DDE的布尔字段。 计算的DDE值是其他DDE值的函数。 默认情况下,支持jsp表达式。 |
表达式 | 字符串 | “已计算”DDE的表达式。 缺省情况下提供的表达式求值服务支持JSP EL表达式。 您可以使用自定义实施替换expression服务。 |
值集 | 列表 | 枚举类型DDE的一组允许值。 例如,帐户类型只能有(保存、当前)值。 |
extendedproperties | 对象 | 添加到DDE的自定义属性映射(特定于用户界面或任何其他信息)。 |
必填 | 布尔值 | 该标志表示与数据字典对应的实例数据源必须包含此特定DDE的值。 |
捆绑 | 绑定元素 | 元素的XML或Java绑定。 |
数据字典还可以包括计算元素。 计算数据字典元素始终与表达式关联。 计算此表达式是为了在运行时获取数据字典元素的值。 计算的DDE值是其他DDE值或文字的函数。 默认情况下,支持JSP表达式语言(EL)表达式。 EL表达式使用${ }个字符,有效的表达式可以包括文本、运算符、变量(数据字典元素引用)和函数调用。 在表达式中引用数据字典元素时,会使用DDE的引用名称。 引用名称对于数据字典中的每个数据字典元素都是唯一的。
计算的DDE PersonFullName可以与EL连接表达式关联,例如${PersonFirstName} ${PersonLastName}。
导出XSD需要特定的数据映射,下表对此进行了详细说明。 DDI列指示DDI中可用的DDE值的类型。
XSD |
数据字典 |
DDI(实例值数据类型) |
xs:元素类型 — 复合类型 |
类型为“复合”的DDE |
java.util.Map |
xs:元素,其中maxOccurs > 1 |
类型为DDE — 收藏集 — 在捕获来自父COLLECTION节点的信息的COLLECTION DDE旁边创建一个DDE节点。 对于简单/复合数据类型的集合,也会创建相同的。 只要您拥有类型组合的COLLECTION,数据字典树就会捕获为捕获类型信息而创建的DDE子项中的组成字段。 - DDE(集合) - DDE(类型信息的复合) - DDE(STRING)字段1 - DDE(STRING)字段2 |
java.util.List |
类型的属性 — xs:id |
DDE类型 — 字符串 |
java.lang.String |
xs:attribute /xs:element类型 — xs:string | DDE类型 — 字符串 |
java.lang.String |
xs:attribute /xs:element类型 — xs:布尔值 |
类型为DDE — 布尔值 |
java.lang.Boolean |
xs:attribute /xs:element类型 — xs:date | DDE类型 — 日期 | java.lang.String |
xs:attribute /xs:element类型 — xs:integer | 类型为“NUMBER”的DDE | java.lang.Double |
xs:attribute /xs:element类型 — xs:long | 类型为“NUMBER”的DDE | java.lang.Double |
xs:attribute /xs:element类型 — xs:double | 类型为“NUMBER”的DDE | java.lang.Double |
枚举类型和baseType的元素 — xs:string | DDE / 类型 — 字符串 子类型 — 枚举 valueSet - ENUM的允许值 |
java.lang.String |
创建数据字典后,您可以将其下载为XML示例数据文件,以便在其中输入文本。
在“数据字典”页面中,点按 选择 然后点按数据字典以将其选定。
选择 下载示例XML数据.
点按 确定 在警报消息中。
通信管理会根据所选数据字典的结构创建一个XML文件,然后将其下载到名为的计算机 <data-dictionary-name>-Sampledata。 现在,您可以在XML或文本编辑器中编辑此文件以在以下情况下输入数据: 创建书信.
如果要以不同语言向客户发送同一信件,可将数据字典和数据字典元素的显示名称、说明和枚举值集本地化。
在数据字典页面上,点按 选择 然后点按数据字典以将其选定。
点按 下载本地化数据.
点按 确定 在警报中。 通信管理会将名为DataDictionary的zip文件下载到您的计算机 — <ddname>.zip.
Zip文件包含.properties文件。 此文件定义下载的数据字典。 属性文件的内容类似于以下内容:
#Wed May 20 16:06:23 BST 2015
DataDictionary.EmployeeDD.description=
DataDictionary.EmployeeDD.displayName=EmployeeDataDictionary
DataDictionaryElement.name.description=
DataDictionaryElement.name.displayName=name
DataDictionaryElement.person.description=
DataDictionaryElement.person.displayName=person
属性文件的结构分别定义一行,用于描述数据字典以及数据字典中每个数据字典元素的显示名称。 此外,属性文件为每个数据字典元素设置的枚举值定义一行。 与使用数据字典时一样,相应的属性文件可以有多个数据字典元素定义。 此外,文件可以包含一个或多个枚举值集的定义。
要更新不同区域设置的.properties文件,请更新文件中的显示名称和说明值。 为要本地化的每种语言创建更多文件实例。 仅支持法语、德语、日语和英语。
使用以下名称保存不同的已更新属性文件:
_fr_FR.properties法语
_de_DE.properties德语
_ja_JA.properties日语
_en_EN.properties英语
将.properties文件(或多个区域设置的文件)存档到一个.zip文件中。
在“数据字典”页面中,选择 更多 > 上传本地化数据 并选择包含本地化属性文件的zip文件。
要查看本地化更改,请更改您的浏览器区域设置。
数据字典编辑器在创建或更新数据字典时强制进行以下验证。
在数据字典级别应用的验证
在数据字典元素级别应用的验证。
您可以从XML架构创建数据字典,也可以使用数据字典用户界面构建数据字典。 数据字典中的所有数据字典元素(DDE)都有一个XML绑定字段,用于存储DDE与XML架构中某个元素的绑定。 每个DDE中的绑定都相对于父DDE。
下面详细列出了示例模型和代码示例,这些示例显示了数据字典的实施详细信息。
基元DDE表示本质上是原子性的字段或属性。 在复杂类型(复合DDE)或重复元素(集合DDE)的范围之外定义的基元DDE可以存储在XML Schema内的任何位置。 与原始DDE对应的数据的位置不依赖于其父DDE的映射。 原始DDE使用“XML绑定”字段中的映射信息来确定其值,并且映射将转换为以下项之一:
以下示例显示了一个简单的架构。
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="https://www.w3.org/2001/XMLSchema">
<xs:element name='age' type='integer'/>
<xs:element name='price' type='decimal'/>
</xs:schema>
数据字典元素 | 默认XML绑定 |
---|---|
年龄 | /年龄 |
价格 | /价格 |
复合元素不支持绑定,如果提供了绑定,则会忽略该绑定。 原始类型的所有组成子DDE的绑定必须是绝对的。 允许复合DDE的子元素的绝对映射,在XPath绑定方面提供了更大的灵活性。 将复合DDE映射到XML架构中的复杂类型元素会限制其子元素的绑定范围。
以下示例显示了注释的架构。
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
数据字典元素 | 默认XML绑定 |
注释 | empty(null) |
到 | /note/to |
从 | /note/from |
标题 | /note/heading |
正文 | /note/body |
收集要素仅映射至基数> 1的另一个收集要素。 集合DDE的子DDE具有与其父级的XML绑定相关的相对(本地) XML绑定。 由于集合元素的子DDE必须与父元素的子DDE具有相同的基数,因此要求相对绑定确保基数约束,以便子DDE不会指向非重复的XML架构元素。 在以下示例中,“TokenID”的基数必须与“Tokens”相同,后者是其父集合DDE。
将收藏集DDE映射到XML Schema元素时:
与Collection元素对应的DDE的绑定必须是绝对XPath
没有为表示集合元素类型的DDE提供绑定。 如果提供,则将忽略绑定。
Collection元素的所有子DDE的绑定必须相对于父Collection元素。
以下XML架构声明了一个名为Tokens的元素,其maxOccurs属性为“unbounded”。 因此,令牌是一个收集元素。
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Tokens>
<TokenID>string</TokenID>
<TokenText>
<TextHeading>string</TextHeading>
<TextBody>string</TextBody>
</TokenText>
</Tokens>
<Tokens>
<TokenID>string</TokenID>
<TokenText>
<TextHeading>string</TextHeading>
<TextBody>string</TextBody>
</TokenText>
</Tokens>
<Tokens>
<TokenID>string</TokenID>
<TokenText>
<TextHeading>string</TextHeading>
<TextBody>string</TextBody>
</TokenText>
</Tokens>
</Root>
与此示例关联的Token.xsd应为:
<xs:element name="Root">
<xs:complexType>
<xs:sequence>
<xs:element name="Tokens" type="TokenType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="TokenType">
<xs:sequence>
<xs:element name="TokenID" type="xs:string"/>
<xs:element name="TokenText">
<xs:complexType>
<xs:sequence>
<xs:element name="TextHeading" type="xs:string"/>
<xs:element name="TextBody" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
数据字典元素 | 默认XML绑定 |
---|---|
根 | empty(null) |
令牌 | /Root/Tokens |
复合 | empty(null) |
令牌ID | 令牌ID |
令牌文本 | empty(null) |
TokenHeading | 令牌文本/文本标题 |
令牌正文 | TokenText/文本正文 |