在网上订购-fragment.xml

ordering in Web-fragment.xml

我正在为 OCEJWCD 做准备。我遇到了这个问题。并且不知道 answer.I 会是什么,认为正确答案是顺序无法预测。这是wrong.Can有人请帮助我理解它,

问:在一个应用中有三个web-fragment.xml。下面给出。这些描述符将按什么顺序被解析。鉴于 web.xml.

中没有绝对排序

网页片段 A

<web-fragment>
<name>A</name>
<ordering>
    <before>
        <others/>
        <name>B</name>
    </before>
</ordering>

网络片段 B:

<web-fragment>
<name>B</name>
<ordering>
    <before>
        <others/>
        <name>C</name>
    </before>
</ordering>

网络片段 C:

<web-fragment>
<name>C</name>
<ordering>
    <before>
        <others/>
    </before>
</ordering>

提前致谢。

来自规格

表示文档必须排在带有 与嵌套 元素中指定的名称相匹配的名称。

有一个特殊元素,可能被包含零次或一次 在 元素内,或直接在 <绝对排序> 元素。 元素必须作为 如下。

如果 元素包含嵌套的 ,文档将是 移动到已排序文档列表的开头。如果有多个 说明 的文档,它们都将在开头 已排序文档的列表,但是此类文档在组内的排序 文档未指定。

这清楚地表明 A、B 和 C 之间的顺序不是确定性的。

但是还有这一段

元素中,如果存在 元素, 但不是其父元素中唯一的 元素,另一个 在订购过程中必须考虑该父项中的元素。

现在 A 和 B 都属于这一类,他们的网页片段除了 之外还有一个 元素。在这种情况下,规格说明必须在订购过程中考虑其他元素。所以 A 应该在 B 之前,B 应该在 C 之前。瞧,它现在是确定性的,顺序是

  1. 一个
  2. B
  3. C

为了测试,我们可以编写 3 个过滤器并在每个网页片段中定义一个并检查加载顺序。