无法理解Perl中的HTML :: Element文档

时间:2012-09-12 17:20:34

标签: perl perl-module

我正在查看HTML:Element文档并遇到attr_get_i方法,根据文档说明:

  

在列表上下文中,返回包含给定值的列表   $ h及其所有祖先的属性从$ h开始   努力工作。

现在,根据那里给出的例子:

<html lang='i-klingon'>
     <head><title>Pati Pata</title></head>
     <body>
       <h1 lang='la'>Stuff</h1>
       <p lang='es-MX' align='center'>
         Foo bar baz <cite>Quux</cite>.
       </p>
       <p>Hooboy.</p>
     </body>
   </html>

如果$h<cite> element,则列表上下文中的$h->attr_get_i("lang")将返回列表('es-MX', 'i-klingon')

现在,根据我的理解,返回的列表应该是('es-MX', 'la', 'i-klingon'),它也应该考虑<h1 lang='la'>Stuff</h1>但是根据文档它没有。{{1}}。

现在,我为什么错在这里。

2 个答案:

答案 0 :(得分:3)

这里的'lang'属性是:

+-------------+------------------+
|    lang     |       path       |
+-------------+------------------+
| i-klingon   | /html            |
| la          | /html/body/h1    |
| es-MX       | /html/body/p     |
+-------------+------------------+

<cite>节点没有<h1>作为其父节点(路径为/html/body/p/cite),因此<h1>不是它的祖先。这就是该方法不返回它的原因。

答案 1 :(得分:2)

<h1 lang='la'>Stuff</h1>不是<cite>的祖先,它是兄弟姐妹。