如何使用“BizTalk 平面文件架构向导”
在以前的 BizTalk Server 版本中,您必须在 BizTalk 架构编辑器中手动向 XML 架构定义 (XSD) 语言架构添加批注,才能使平面文件管道组件(例如,平面文件拆装器和平面文件组装器)理解这些架构。 你仍然可以使用BizTalk Server架构编辑器执行此操作。 为了减少创建解决方案的手动步骤和所需时间,您可以使用“BizTalk 平面文件架构向导”,该向导提供以下功能:
将真实的平面文件实例用作输入内容。
包括一个用于处理分隔平面文件架构和位置平面文件架构的可视化设计图面。
使用基于向导的重入过程以交互方式向架构添加元素和定义与平面文件相关的批注。
支持标记标识符、字符分隔符和十六进制分隔符。
自动确定标记标识符的偏移量以及子级的分隔顺序。
提供文件格式的预览功能。
可用于选择交换实例中的首选子数据,以用于定义平面文件架构。
如何启动“BizTalk 平面文件架构向导”
您可以从 Microsoft Visual Studio 解决方案资源管理器或 BizTalk 架构编辑器启动该向导。
从解决方案资源管理器启动向导
在 Microsoft Visual Studio 中,打开解决方案资源管理器。
若要添加新的平面文件架构,请右键单击 BizTalk 项目,然后选择“ 添加”。
单击“ 新建项”。
在 “添加新项” 窗口中,执行以下操作:
在 “类别 ”部分中,选择“ 架构文件”。
在 “模板” 部分中,选择“ 平面文件架构向导”。
在“ 名称 ”文本框中,键入新架构的名称。
单击“添加”。
“BizTalk 平面文件架构向导”随即打开。
从架构编辑器启动向导
在 Visual Studio 中,打开解决方案资源管理器。
若要添加新的平面文件架构,请右键单击 BizTalk 项目,然后选择“ 添加”。 选择“ 新建项 ”,然后单击“ 新建项”。
在 “添加新项” 窗口中,执行以下操作:
在 “类别 ”部分中,选择“ 架构文件”。
在 “模板” 部分中,选择“ 平面文件架构”。
在“ 名称 ”文本框中,键入新架构的名称。
单击“添加”。
右键单击“ 根 ”,然后选择“ 从平面文件实例定义记录”。
此时“BizTalk 平面文件架构向导”启动。
注意
如果在架构编辑器中打开了工作架构,只需右键单击所选节点,然后选择“ 从平面文件实例定义记录”。
注意
如果所选节点是没有子元素的记录,则启用“ 从平面文件实例定义 记录”选项。 如果所选节点有子元素,该向导会删除所有当前子元素,然后生成新的子元素。 在删除现有子元素之前,向导会提示您进行确认。
使用平面文件架构向导的注意事项
本部分介绍您在使用“BizTalk 平面文件架构向导”时应注意的问题。
使用多字节字符集 (MBCS)
默认情况下,“平面文件架构信息”屏幕上未选中“以字节为单位检查位置”框。 该向导按字符来计算位置数,这意味着如果您的位置平面文件实例中有 MBCS 字符,则将无法正确计算位置数。 通过选择“以字节为单位检查位置”框,向导将显示 MBCS 字符,并附加指示其位置长度。 字符占据屏幕的一个位置 , 而剩下的长度将用圆点符号“•” 填充 。 具体填充多少圆点符号取决于文件是以双字节字符集 (DBCS)、Unicode,还是 UTF-8 格式保存的。
平面文件架构向导中支持的代码页
以下是该向导支持的代码页的列表:
阿拉伯语 (1256)
ASCII (20127)
波罗的语 (1257)
Big-Endian-UTF16 (1201)
Central-European (1250)
西里尔语 (1251)
希腊文 (1253)
希伯来语 (1255)
日语 Shift JIS (932)
韩语 (949)
Little-Endian-UTF16 (1200)
简体中文 GBK (936)
简体中文 GB18030 (54936)
泰语 (874)
繁体中文 BIG5 (950)
土耳其语 (1254)
UTF-7 (65000)
UTF-8 (65001)
越南语 (1258)
西欧语 (1252)
平面文件架构向导中的记录类型
平面文件不能将分隔记录包含在位置记录中。 由于向导是基于重新输入的,因此会根据在向导中定义的子项的父记录的格式启用或禁用用于定义 By 分隔符符号 和 By 相对位置 类型的单选按钮。 例如,
如果针对分隔记录的子级运行该向导,则两个单选按钮都是选中的。
如果为位置记录的子级运行向导,则会清除“ 按分隔符符号 ”单选按钮。
平面文件架构向导中的分隔符符号
子分隔符属性的下拉列表包含以下常见的分隔符:
{CR}{LF}
{CR}
{LF}
{TAB}
{SPACE}
{0x1A}
|
,
;
此属性的默认值为 {CR}{LF}。 该属性还有一个可编辑的文本框,这样您就可以将子分隔符指定为字符序列或字符的十六进制值。 为子分隔符使用字符的示例为“a”或“street”。十六进制分隔符使用以下格式指定:
{0xnnnn}。 例如,{0x0D}{0x0A}、{0x09} 或 {0x20}。
例如,使用十六进制值序列 {0x0D}{0x0A}, {0x09}{0x20}。
如果将符号 \、{ 或 } 用作分隔符,您还必须在分隔符符号前面放置一个反斜杠符号,否则您将接收到一条错误消息。 例如,
\\、\{ 或 \}。
平面文件架构向导中的相对位置
设置位置标记
用鼠标左键单击位置选择框中的某个位置标记来设置新的位置标记线。 位置标记用实线表示。 默认情况下,位置标记线位于记录开头的位置 0 处。 若要删除现有位置标记线,请使用鼠标左键单击它。
平面文件架构向导中的转义符
转义符是用于取消其后接字符的任何特殊含义的单个字符。 有关详细信息,请参阅将特殊字符解释为字段值的一部分的方法下的转义字符主题。 您可以在向导中使用转义符属性指定在解析平面文件实例时使用的转义符。 默认值为空,这表示将使用在架构级别定义的默认转义符。
转义符可指定为字符或十六进制值。 十六进制值用以下格式指定:
{0xnnnn}。 例如,{0x0D}{0x0A}、{0x09} 或 {0x20}。
如果将符号 \、{ 或 } 用作转义符,您还必须在分隔符符号前面放置一个反斜杠符号,否则您将接收到一条错误消息,例如:
\\, \{, \}.
平面文件架构向导中的子元素
每个子元素都包含 元素名称、 元素类型、 数据类型 和 内容。 使用“ 元素名称” 文本框为节点键入有意义的名称。 元素类型是包含以下值的下拉列表:
Field 元素:指定将在架构中创建此节点作为元素。
字段属性:指定将在架构中创建此节点作为属性。
记录:指定将在架构中创建没有子级的记录。
重复记录:指定将在架构中创建没有子级的记录,并将其最大出现次数设置为 “无限制”。
忽略:不会在此节点的架构中创建任何内容。
默认情况下,所有元素的类型均为 Field 元素 ,其数据类型为 字符串。
注意
仅当子元素之前没有声明为 Field 元素、Record 或 Repeating record 的子元素时,才能声明为 Field 属性。
注意
在以下实例中,子 节点 前面会显示一个感叹号:
Field 属性在 Field 元素、Record 或 Repeating record 之后定义。
子元素没有名称。
子元素有重复的名称。
子元素的选定数据类型对内容不合适。