5個以上のdivを子エレメントとして持つ、そしてそのdivはpostというclass名を持つ

気がつかなかったけど tumblr 表側の pageElemnt エライことなっとる

Twitter / taizooo: 気がつかなかったけど tumblr 表側の pageE...

5以上とか、10以上とか何かを count しておる。どーいう意味だろー

Twitter / taizooo: 5以上とか、10以上とか何かを count しておる。...
pageElement 	//div[@id = "container" or @class = "main" or count(child::div) >= 10 or count(child::div[contains(@class, "post")]) >= 5]/div[@class !="footer" and @class != "navigation" and @class != "calendar" and @class != "page"]
アイテム: Tumblr - データベース: AutoPagerize - wedata

ということで、学習。

  • //divのうち
    • @id = "container"
      • containerというid名を持つ、または
    • @class = "main"
      • mainというclass名を持つ、または
    • count(child::div) >= 10
      • 10個以上のdivを子エレメントとして持つ、または
    • count(child::div[contains(@class, "post")]) >= 5
      • 5個以上のdivを子エレメントとして持つ
        • そのdivはpostというclass名を持つ
  • その子エレメントのdivのうち
    • @class !="footer"
      • footerというclass名を持たない、かつ
    • @class != "navigation"
      • navigationというclass名を持たない、かつ
    • @class != "calendar"
      • calendarというclass名を持たない、かつ
    • @class != "page"
      • pageというclass名を持たない

ということかしら。実際にはどういう表側ページをやっつけるためにこういう風にdivの数をカウントしたのかがわかんないんだけどねえ。どういう意図ですか? id:hideki_y !!!


以下、参照

関数: number count(node-set)

count 関数は引数に指定したノード集合に含まれるノード数を返す。

XML Path Language (XPath)

child::para はコンテキストノードの para という名前の子エレメントを選択する。

XML Path Language (XPath)

省略シンタックスで最も重要なのは、ロケーションステップから child:: を省略できることである。 事実上、child はデフォルトの基準点である。 たとえばロケーションパス div/para は child::div/child::para の省略形である。

XML Path Language (XPath)