[学习笔记]ARXML - Data Format

参考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>

相关推荐
FakeOccupational11 分钟前
【电路笔记 通信】AXI4-Lite协议 FPGA实现 & Valid-Ready Handshake 握手协议
笔记·fpga开发
奶黄小甜包1 小时前
C语言零基础第18讲:自定义类型—结构体
c语言·数据结构·笔记·学习
rannn_1113 小时前
【MySQL学习|黑马笔记|Day7】触发器和锁(全局锁、表级锁、行级锁、)
笔记·后端·学习·mysql
喜欢吃燃面4 小时前
C++算法竞赛:位运算
开发语言·c++·学习·算法
传奇开心果编程4 小时前
【传奇开心果系列】Flet框架实现的家庭记账本示例自定义模板
python·学习·ui·前端框架·自动化
草莓熊Lotso4 小时前
《详解 C++ Date 类的设计与实现:从运算符重载到功能测试》
开发语言·c++·经验分享·笔记·其他
_Kayo_10 小时前
node.js 学习笔记3 HTTP
笔记·学习
CCCC131016313 小时前
嵌入式学习(day 28)线程
jvm·学习
星星火柴93614 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
小狗爱吃黄桃罐头14 小时前
正点原子【第四期】Linux之驱动开发篇学习笔记-1.1 Linux驱动开发与裸机开发的区别
linux·驱动开发·学习