PDX包内容
各种ODX的数据交换可以用一个叫做PDX package的文件容器来实现,它可以包含如下类型文件名扩展的ODX文件:
⎯ odx-c, odx-cs (for COMPARAM-SPEC, COMPARAM-SUBSET);
⎯ odx-d (for DIAG-LAYER-CONTAINER);
⎯ odx-e (for ECU-CONFIG);
⎯ odx-f (for FLASH);
⎯ odx-fd (for FUNCTION-DICTIONARY);
⎯ odx-m (for MULTIPLE-ECU-JOB-SPEC);
⎯ odx-v (for VEHICLE-INFORMATION-SPEC);
⎯ odx (alternatively all the files containing ODX data can use the extension “odx” lesser restrictive).
注意文件名扩展是小写字母,除此,PDX package 也可以包含其他格式的文件,如text, picture等任何格式。PDX包的目录文件名固定为index.xml。
PDX以ZIP压缩包实现,文件扩展名是 .pdx
PDX包目录结构(index.xml)
UML表示的PDX 包目录结构
以上图表示,CATALOG与ABLOCK是组合关系,与ADMIN-DATA等为聚合关系。PDX 包目录由CATALOG实例表示,它列出了PDX 包里的所有文件,文件可以分类,如ODX data为一类,文本文件/图片为一类;这些类可以由ABLOCK标识,每个ABLOCK代表一类文件;
下面的值为 ABLOCK类的CATEGORY属性预定义:
a) ODX-DATA for all files that are derived from an ODX-CATEGORY;
b) ODX-JOB for all job code files (e.g. java-files, class-files, jar-files, dll-files);
c) LIB for all libraries that can be used or are imported by jobs;
d) PROGRAMMING-DATA for binary/hex files that are used for ECU programming and are referenced from
an ECU-MEM.
实际使用中,CATEGORY属性值可以根据需要再扩展。
AMDIN-DATA: ABLOCK的可选项,包含版本信息等;
UPD属性,ABLOCK必须有的属性,表示ABLOCK的文件更新状态,有以下值:
⎯ NEW: new files have been introduced;
⎯ CHANGED: the files have been changed;
⎯ UNCHANGED: the files have not been changed;
⎯ UNUSED: the files are no longer used at the moment but may be used again in the future;
⎯ REUSED: the files that have been marked as UNUSED in an earlier stage of the data exchange
process are used again;
⎯ DELETED the files have been deleted;
⎯ UNDEFINED: no update status available: this is the default value.
FILE类包含以下属性:
- MIME-TYPE:多媒体文件类型;参考https://www.cnblogs.com/jsean/articles/1610265.html
- CREATOR:创建者
- CREATION-DATA:创建日期
例子: A catalogue for a PDX package with three files:
<?xml version="1.0" encoding="UTF-8"?>
<CATALOG F-DTD-VERSION="ODX-2.2.0" xsi:noNamespaceSchemaLocation = "odx-cc.xsd" xmlns:xsi =
"http://www.w3.org/2001/XMLSchema-instance">
<SHORT-NAME>ODX_CC_Example</SHORT-NAME>
<ABLOCKS>
<ABLOCK UPD = "NEW">
<SHORT-NAME>DiagData</SHORT-NAME>
<CATEGORY>ODX-DATA</CATEGORY>
<FILES>
<FILE MIME-TYPE = "text/xml" CREATOR = "xyz" CREATION-DATE = "2005-12-08">DiagData.odx</FILE>
</FILES>
</ABLOCK>
<ABLOCK UPD = "NEW">
<SHORT-NAME>Documentation</SHORT-NAME>
<CATEGORY>DOCUMENTATION</CATEGORY>
<FILES>
<FILE MIME-TYPE = "application/pdf" CREATOR = "xyz" CREATION-DATE = "2005-12-08">odx_spec.pdf</FILE>
<FILE MIME-TYPE = "text/html" CREATOR = "xyz" CREATION-DATE= "2005-12-08">readme.html</FILE>
</FILES>
</ABLOCK>
</ABLOCKS>
</CATALOG>
PDX目录只能引用PDX包里面的文件,不允许引用包以外文件;
如果包含同文件的不同版本,每个版本保存在单独的ABLOCK,包含相同文件的所有ABLOCK共用一个SHORT-NAME