参考AUTOSAR文档:
https://www.autosar.org/fileadmin/standards/R22-11/FO/AUTOSAR_TPS_ARXMLSerializationRules.pdfhttps://www.autosar.org/fileadmin/standards/R22-11/FO/AUTOSAR_TPS_ARXMLSerializationRules.pdf
编码
arxml只允许使用UTF-8编码,且不允许使用"UTF Byte Order Mask" (BOM)
XML版本
arxml只允许使用1.0的xml版本,其他版本均不允许
xml信息的声明位于首行:
<?xml version="1.0" encoding="UTF-8" ...?>
XML Comments and Processing Instructions
comments信息不影响autosar模型
处理指令亦可忽略
根元素
根元素(Element)标签名(tag)为:AUTOSAR,其包含3个属性(Attribute):
-
xsi:schemaLocation
-
xmlns
-
xmlns:xsi
xsi:schemaLocation:所引用schema的位置,如:
xsi:schemaLocation=http://autosar.org/schema/r4.0 AUTOSAR_4-2-1.xsd
- 前半部分为namespace,后半部分为版本
xmlns:xml namespace,格式为http://autosar.org/schema/r<major>.<minor>,如:
xmlns="http://autosar.org/schema/r4.0"
- 不允许使用第三方的namespace
xmlns:xsi:声明当前文件是schema的一个实例,一般固定如下:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
总体上根元素的格式如下:
<AUTOSAR
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="{AUTOSAR XML Namespace} {Revision Hint URI}"
xmlns="{AUTOSAR XML Namespace}">
...
</AUTOSAR>
格式和缩进
有如下格式:
- OneLine,NewLine
- InLine:如图中元素<E>
- keepWhitespace:元素中的空白应保持原样
- normalizeWhitespace:
- 首尾的空白应去除
- 连续的空白应替换为一个空格
- 不应对空白进行包装
- 回车应替换为空格
- child(inline)-elements应被视为一个非空白字符
空元素也需要有首位tag,如:一个空的VALUE应写作<VALUE></VALUE>