在早期版本的 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)
大Endian-UTF16 (1201)
Central-European (1250)
西里尔文 (1251)
希腊文 (1253)
希伯来语 (1255)
日语 -Shift-JIS (932)
朝鲜语 (949)
小-Endian-UTF16(1200)
简化 -Chinese-GBK (936)
简化 -Chinese-GB18030 (54936)
泰国语 (874)
传统Chinese-BIG5 (950)
土耳其 (1254)
UTF-7 (65000)
UTF-8 (65001)
越南语 (1258)
Western-European (1252)
平面文件架构向导中的记录类型
平面文件不能在位置记录中包含带分隔符的记录。 由于向导是基于可重入设计的,因此会根据您在向导中定义的子项的父记录格式,启用或禁用定义 按分隔符符号 和 按相对位置 的类型的单选按钮。 例如,
如果向导针对带分隔符的记录的子级运行,这两个单选按钮将会被选中。
如果向导针对位置记录的子级运行,则会清除 By 分隔符符号 单选按钮。
平面文件架构向导中的分隔符符号
子分隔符属性下拉列表包含以下常见分隔符:
{CR}{LF}
{CR}
{LF}
{TAB}
{SPACE}
{0x1A}
|
,
;
此属性的默认值为 {CR}{LF}。 该属性也是一个可编辑文本框,因此可以将子分隔符指定为字符序列或字符的十六进制值。 为子分隔符使用字符的示例是“a”或“street”。使用以下格式指定十六进制分隔符:
{0xnnnn}。 例如,{0x0D}{0x0A}、{0x09} 或 {0x20}。
使用十六进制值序列的示例包括 {0x0D}{0x0A}、 {0x09}{0x20}。
如果使用符号 \、{或 } 作为分隔符,则必须将额外的反斜杠符号放在分隔符符号的前面,否则将收到错误消息。 例如,
\\、\{或 \}。
平面文件架构向导中的相对位置
设置位置标记
使用鼠标左键单击位置选择框中的位置标记以设置新的位置标记线。 位置标记表示为实线。 默认情况下,位置指示线位于记录的起始位置,即位置为零。 若要删除现有位置标记线,请使用鼠标左键单击它。
平面文件架构向导中的转义字符
转义字符是一个单独的字符,用于取消其后面字符的任何特殊含义。 有关详细信息,请参阅“将特殊字符解释为字段值的一部分的方法”下的转义字符主题。 在向导中使用转义字符属性来指定解析平面文件实例时要使用的转义字符。 默认值为 null,这意味着使用在架构级别定义的默认转义字符。
转义字符可以指定为字符或十六进制值。 使用以下格式指定十六进制值:
{0xnnnn}。 例如,{0x0D}{0x0A}、{0x09}或 {0x20}。
如果使用符号 \、{或 } 作为转义字符,则必须将其他反斜杠符号放在分隔符符号的前面,否则将收到错误消息,例如,
\\, \{, \}.
平面文件架构向导中的子元素
每个子元素都包含 元素名称、 元素类型、 数据类型 和 内容。 使用 “元素名称 ”文本框为节点键入有意义的名称。 元素类型是具有以下值的下拉列表:
Field 元素:指定此节点将在架构中创建为元素。
字段属性:指定将在架构中创建此节点作为属性。
记录:指定在架构中创建不带子级的记录。
重复记录:指定在架构中创建不带子级的记录,其最大出现次数设置为不受限制。
忽略:此节点的架构中不会创建任何内容。
默认情况下,所有元素均为 Field 元素 类型,其数据类型为 字符串。
注释
只有在某个子元素之前没有被声明为 Field 元素、记录 或 重复记录的情况下,该子元素才能被声明为 Field 属性。
注释
您将在以下情况中的子节点前面看到感叹号:
Field 属性在 Field 元素、记录或重复记录之后定义。
子元素没有名称。
子元素具有重复的名称。
子元素的所选数据类型不适合内容。