消息编码
Satori 中的消息使用消息元素 (Message Element) 进行编码。消息元素的语法与 XHTML 类似。
语法
消息元素的语法与 HTML 类似,但是不完全相同。
字符
你可以在消息元素内使用任何字符。不过部分特殊字符需要转义:
原始字符 | 转义写法 |
---|---|
" | " |
& | & |
< | < |
> | > |
根据上下文的不同,有些字符可能不需要被转义或使用其他的转义方式。
除此以外,你可以使用十进制或十六进制转义任何字符。例如 '
也可以被书写成 '
或 '
。
标签
使用一对尖括号包裹元素名,加上可选的属性、闭合指示符,就构成了一个标签。
元素名由小写字母、数字和连字符组成,且必须以字母开头。在元素名前后添加 /
表示这是一个结束标签或自闭合标签,没有 /
符号时则表示这是一个起始标签:
<tag>
一个起始标签</tag>
一个结束标签<tag/>
一个自闭合标签
属性
起始或自闭合标签的元素名后接受可选的属性列表。每个属性必须形如以下形式:
key
key="value"
(此时value
中的"
需要被转义)key='value'
(此时value
中的'
需要被转义)
下面是一段示例:
html
<tag foo="1" bar/>
元素
一个元素要么是自闭合标签,要么由一对同名的起始标签和结束标签构成。元素的内容指起始标签和结束标签中间的部分,可以包含文本内容或其他元素。对于自闭合标签,元素的内容为空。下面是一段示例:
html
<parent>
text content
<child/>
</parent>
当存在未配对的元素时,将自动视为文本内容的一部分。文本内容前后如果存在包含换行符的连续空白字符,则会被忽略。这意味着下面两段代码是等价的:
html
<tag>
<foo> bar
<!-- comment -->
</tag>
html
<tag><foo> bar</tag>
注释
使用成对的 <!--
和 -->
插入一段注释。注释中的部分不会被渲染。
标准元素
关于 Satori 内置的消息元素,请参考 标准元素。