标记式语言(Markup Language)

如何定义语言?!

杭士基体系(Chomsky hierarchy)

文法语言自动机产生式规则0-型递迴可列举语言图灵机α -> β (无限制)1-型上下文相关语言线性有界非确定图灵机αAβ -> αγβ2-型上下文无关语言非确定下推自动机A -> γ3-型正规语言有限状态自动机A -> aB;A -> a

使用巴科斯範式/扩展巴科斯範式/增强巴科斯範式(Backus-Naur Form/Extended BNF/Augmented BNF)定义语言

标準通用标记式语言(Standard Generalized Markup Language, SGML)

最早是由国际商业机器公司(International Business Machines Corporation, IBM)所设计出来的通用标记式语言(Generalized Markup Language, GML),并于西元1986年通过国际标準化组织(International Organization for Standardization, ISO)认证成为 ISO 8879 A.1是一种语言定义标记语言。

HTML 是一种基于 SGML 的“应用程序”。

一个 SGML 应用程序由几个部分组成:

SGML 声明:SGML 声明指定了哪些字符和分隔符可能会出现在应用程序中。文件类型定义 (Document Type Definition,DTD):DTD 定义语法的标记结构。 DTD 可能包括额外的定义,例如:数字和命名字元实体。描述要归属的语义的规範标记:该规範还施加了语法限制,即 不能在 DTD 中表达。包含资料(内容)和标记的文档实例:每个实例都包含对 DTD 的引用,用于 解释它。

如何阅读 HTML DTD ?!

超文字标记式语言(HyperText Markup Language, HTML)

实体(Entities)

在 HTML 中, <>"'& 是特殊字元,它们是 HTML 语法的一部份。那么,如果想要使用这些特殊字元要如何避免它们被浏览器当成原始码呢?
我们就需要用到字元实体参照(character entity reference),它们是用来表示特殊字元的编码,专门用在这种情形上。每个字元实体都是以 & (ampersand) 起头,以分号 ; (semi-colon) 做结尾。

元素(Elements)

一个元素通常包含三个部分:起始标籤(opening tag)、内容(content)和结束标籤(closing tag)。
http://img2.58codes.com/2024/20124678zPIk2X94JX.png

区块级元素(block level elements)

http://img2.58codes.com/2024/201246783lSSis2ezg.png
又称区块元素,然而它有以下几项重要的特性:

它在页面中单独佔据一行,在它前后的内容都将以一个换行分隔。不会巢套(nesting)在行内元素中,但有可能会巢套其他区块级元素中。高度、行高以及顶和底边距都可控制。预设情况下,其宽度自动填满其父元素宽度,即宽度100%。可以设定宽度(width)、高度(hight)。

行内元素(inline elements)

http://img2.58codes.com/2024/20124678gQYfhOczLz.png
又称内联元素,以下列出几项重要的特性:

在区块级元素之中的内容。不会在文件中产生新的一行,要直到一行排不下,才会换行,其宽度随元素的内容而变化。设定width, height属性无效,只能由内容撑起来。设定上下margin, padding无效,左右padding, margin有效。水平方向的padding-left, padding-right, margin-left, margin-right都会产生效果,但上下方向的padding-top, padding-bottom, margin-top, margin-bottom不会产生边距效果。

空元素(empty elements)

不是所有元素都符合起始标籤、内容、结束标籤的格式。有些元素只有一个标籤,这些标籤通常用来在文件中插入/嵌入物件。例如:<br> <hr> <img> <input> <link> <meta> <area> <base> <col> <command> <embed> <keygen> <param> <source> <track> <wbr>......等等。

属性(Attributes)

一个属性应该要有以下几个特性:

一个空白,用来隔开属性和元素名称(或者前一个属性,如果该元素已经有一个以上的属性的话)。属性名称以及一个接在其后的等号。属性值预设情况下, SGML 要求您使用 双引号 (") /单引号 ('),单引号可以包含在当值由双引号分隔时的属性值,以及反之亦然。属性值只能包含大、小写字母(a-z 和 A-Z)、数字(0-9)、连字符(ASCII 十进制 45)和句点(ASCII 十进制 46)。属性名称始终不区分大小写,属性值通常也不区分大小写。

注解(comments)

<!-- 这是一个单行注解,也是多行注解的写法。 -->

一个最基础的HTML文件

在此假设你学过基本的程式语言,应该就会知道「Hello, World!」,以下就让我们使用HTML5的语法来撰写「Hello, World!」吧!!

<!DOCTYPE html><html>  <head>    <meta charset="utf-8">    <title>Hello, World!</title>  </head>  <body>    <p>Hello, World!</p>  </body></html>

可延伸标记式语言(eXtensible Markup Language, XML)

可延伸超文字标记式语言(eXtensible HyperText Markup Language, XHTML)

Reference

https://hackmd.io/@ShenTengTu/HJzCM3aDr?type=view


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章