关于树构造的一些问题[html规范]
我知道在一个问题中问一堆问题是不习惯的,但每个问题都与前一个问题相互关联。问一大堆单独的问题,我认为这是错误的关于树构造的一些问题[html规范],html,standards,Html,Standards,我知道在一个问题中问一堆问题是不习惯的,但每个问题都与前一个问题相互关联。问一大堆单独的问题,我认为这是错误的 因此,我首先要开始的是: 由于每个标记都是从标记器发出的,因此用户代理必须 遵循以下列表中的相应步骤,即 树结构调度员: 我正确地理解,标记器将在分析源文本中的所有标记后立即完成其工作,也就是说,一旦标记器创建了一个新的标记,它就会将其发送到树管理器中,然后继续生成标记。我说得对吗 由文字将看起来像这样: lexical analysis created a token placed
因此,我首先要开始的是: 由于每个标记都是从标记器发出的,因此用户代理必须 遵循以下列表中的相应步骤,即 树结构调度员: 我正确地理解,标记器将在分析源文本中的所有标记后立即完成其工作,也就是说,一旦标记器创建了一个新的标记,它就会将其发送到树管理器中,然后继续生成标记。我说得对吗 由文字将看起来像这样:
lexical analysis
created a token
placed in the tree dispatcher
lexical analysis
created a token
placed in the tree dispatcher
...
lexical analysis
no tokens created
<annotation-xml> <!-- this is adjusted current node -->
<svg> <!-- this is start token named svg -->
<!-- something content here -->
</svg>
</annotation-xml>
正如您在树结构调度器中看到的,有很多项,我不完全理解它们
- 如果打开元素的堆栈为空
- 如果调整后的当前节点是HTML命名空间中的元素
- 如果调整后的当前节点是一个MathML文本集成点,且标记是一个开始标记,其标记名既不是“mglyph”,也不是 “恶意标记”
- 如果调整后的当前节点是MathML文本集成点,且标记是字符标记
- 如果调整后的当前节点是MathML注释xml元素,且标记是标记名为“svg”的开始标记
- 如果调整后的当前节点是HTML集成点,且令牌是开始标记
- 如果调整后的当前节点是HTML集成点,且令牌是字符令牌
- 如果令牌是文件结束令牌 根据节中给出的规则处理令牌 对应于HTML内容中的当前插入模式
- 否则 根据第节中给出的规则处理令牌 解析外部内容中的标记
。这是一个没有任何内容的节点-
。我想看看所有调整了当前节点的部分的例子。例如,如果调整后的当前节点是MathML注释xml元素,并且标记是标记名为“svg”的开始标记,:这里说节点是MathML名称空间中的注释xml
,开始标记是名为svg
的标记。如果通过文本表示此项,则应如下所示:
lexical analysis
created a token
placed in the tree dispatcher
lexical analysis
created a token
placed in the tree dispatcher
...
lexical analysis
no tokens created
<annotation-xml> <!-- this is adjusted current node -->
<svg> <!-- this is start token named svg -->
<!-- something content here -->
</svg>
</annotation-xml>
树构造调度器中的最后一项用于解析外部内容。在这一点上,我们还看到了一系列如何从标记器中感知标记的项目。如果我理解正确,我们可以通过树构造调度器的最后一项(否则
)到达这里,也就是说,我们应该有这样一个结构来进入外来内容:
或
接下来,点-
开始标记…
。对说明书感兴趣
- 一个起始标记,其标记名为:“b”、“大”、“块引号”、“主体”、“br”、“中心”、“代码”、“dd”、“div”、“dl”、“dt”、“em”之一, “嵌入”、“h1”、“h2”、“h3”、“h4”、“h5”、“h6”、“头部”、“hr”、“i”、“img”, “li”、“listing”、“menu”、“meta”、“nobr”、“ol”、“p”、“pre”、“ruby”, “s”、“小”、“跨度”、“强”、“打击”、“分”、“支持”、“表”、“tt”, “u”、“ul”、“var”
- 标记名为“字体”的起始标记,如果标记有任何名为“颜色”、“面”或“大小”的属性 分析错误 如果解析器最初是为HTML片段解析创建的 算法,然后按照“任何其他开始标记”条目中的说明操作 在下面(碎片案) 否则: 从打开的元素堆栈中弹出一个元素,然后继续弹出 打开元素堆栈中的更多元素,直到当前节点 是MathML文本集成点、HTML集成点或 HTML命名空间中的元素 然后,重新处理令牌
Parse error
时的构造应该是什么样子,或者最初为HTML片段解析算法创建解析器时的构造应该是什么样子,或者否则的情况下的构造应该是什么样子
一旦令牌发生器创建了一个新的令牌,它就会将其发送到树管理器中,然后继续生成令牌。我说得对吗
不,它必须等待树构造阶段来处理令牌,因为这可能会影响令牌化器所做的下一件事。正如规范中所述:
当发出令牌时,它必须立即由树构造阶段处理。树构造阶段可以影响标记化阶段的状态,并且可以向流中插入其他字符
(我想我不理解你的任何其他问题。)关于第一个问题,是的,我是认真的。你正确地补充了我的想法。还有其他问题呢?你不明白的是什么?我已经详细地描述了规格的报价