我知道通常不会在一个问题中提出一堆问题,只是每个问题都与前一个问题相互联系。再问一堆单独的问题,我认为那是错误的。
所以我首先要开始的是:
由于每个令牌都是从令牌生成器发出的,因此用户代理必须 请按照以下列表中的适当步骤操作,即 树木施工调度员:
我正确理解,令牌分析器将在分析源文本中的所有令牌后立即完成其工作,也就是说,令牌分析器一旦创建新令牌,便将其发送到树管理器中,然后继续使令牌。我说的对吗?
这些单词看起来像这样:
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
正如您在树结构调度程序中看到的那样,有很多项目,我不完全理解它们。
- 如果打开的元素堆栈为空
- 如果调整后的当前节点是HTML命名空间中的元素
- 如果调整后的当前节点是MathML文本集成点,并且标记是开始标记,其标记名称既不是“ mglyph”也不是 “ malignmark”
- 如果调整后的当前节点是MathML文本集成点,并且令牌是字符令牌
- 如果调整后的当前节点是MathML注解xml元素,并且令牌是标签名称为“ svg”的起始标签
- 如果调整后的当前节点是HTML集成点,并且令牌是开始标签
- 如果调整后的当前节点是HTML集成点,并且令牌是字符令牌
如果令牌是文件结束令牌
根据本节中给出的规则处理令牌 对应于HTML内容中的当前插入模式。
否则
根据本节中给出的规则处理令牌 解析外部内容中的令牌。
例如,据我了解,有术语调整后的当前节点,它可以是任何标签,例如<section>
。这是一个没有任何节点的节点-<section></section>
。我希望看到所有部分的示例,其中包含已调整的当前节点。例如,如果调整后的当前节点是MathML注解xml元素,并且令牌是标签名称为“ svg”的开始标签:此处说该节点为{{1} }(来自MathML名称空间),并且起始令牌是名称为annotation-xml
的标签。如果您通过文字表示该项目,则它应如下所示:
svg
树结构分配器中的最后一项将以外部内容进行解析。在这一点上,我们还看到了很多项目如何从令牌生成器感知令牌。如果我理解正确,我们可以从树结构调度程序(<annotation-xml> <!-- this is adjusted current node -->
<svg> <!-- this is start token named svg -->
<!-- something content here -->
</svg>
</annotation-xml>
)的最后一项到达此处,也就是说,我们应该具有这样一种结构来获取外部内容:Otherwise
或{{ 1}}。
接下来,指向-<svg></svg>
。对说明感兴趣。
- 开始标记,其标记名称是以下之一:“ b”,“ big”,“ blockquote”,“ body”,“ br”,“ center”,“ code”,“ dd”,“ div “,” dl“,” dt“,” em“, “嵌入”,“ h1”,“ h2”,“ h3”,“ h4”,“ h5”,“ h6”,“ head”,“ hr”,“ i”,“ img”, “ li”,“ listing”,“ menu”,“ meta”,“ nobr”,“ ol”,“ p”,“ pre”,“ ruby”, “ s”,“ small”,“ span”,“ strong”,“ strike”,“ sub”,“ sup”,“ table”,“ tt”, “ u”,“ ul”,“ var”
起始标记,其标记名称为“字体”(如果令牌具有名为“ color”,“ face”或“ size”的任何属性)
解析错误。
如果解析器最初是为HTML片段解析创建的 算法,然后按照“任何其他开始标签”条目中所述进行操作 下面。 (碎片情况)
否则:
从打开的元素堆栈中弹出一个元素,然后继续弹出 从打开的元素堆栈到当前节点的更多元素 是MathML文本集成点,HTML集成点或 HTML名称空间中的元素。
然后,重新处理令牌。
据我了解,这不是一条指令,这里至少有3条指令,我想了解一下这一点,每个示例中有3条指令。
例如:<math></math>
时的结构应如何,A start tag...
时的结构应如何,Parse error
时的结构应如何?
答案 0 :(得分:0)
令牌生成器创建新令牌后,立即将其释放到树管理器中,然后继续生成令牌。我说的对吗?
否,它必须等待树构造阶段处理令牌,因为这可能会影响令牌生成器接下来要做的事情。正如规范在12.2.5 Tokenization中所说:
发出令牌时,必须在树构建阶段立即对其进行处理。树的构造阶段可以影响标记化阶段的状态,并且可以在流中插入其他字符。
(我想我不理解您的任何其他问题。)