3

私は Plone 3.5 サイトを持っており、collective.xdv テーマのコンテンツに Simple Social の FB Like アクションを埋め込もうとしています。FB Like機能はXMLタグに埋め込まれています

<fb:like></fb:like>

XPATHを介して選択しようとしています

//*[local-name()="like"]

ただし、出力は表示されません。上記は Collective.xdv でサポートされていますか? XPATH で fb:like タグを選択する別の方法はありますか?

4

2 に答える 2

2

lxml で使用される libxml2 HTMLParser と xdv/diazo は名前空間プレフィックスを削除するため、「//like」で選択できるはずです。

これらのタグを修正するには、次のようにレンダリングする必要があるため、いくつかの xslt コードを追加する必要があります。

<xsl:template match="activity|add-profile-tab|bookmark|comments|friendpile|like|like-box|live-stream|login-button|pronoun|recommendations|serverFbml|profile-pic|user-status">
  <xsl:element name="fb:{local-name()}" xmlns:fb="http://www.facebook.com/2008/fbml">
    <xsl:apply-templates select="@*|node()"/>
  </xsl:element>
</xsl:template>

xdv/diazo を XMLParser で動作させることはできますが、ドキュメントに xmlns:fb="..." 宣言を追加し、すべての入力が有効な xhtml であることを確認する必要があります。ブラウザベースの HTML エディタ。

ローレンス

于 2011-04-08T15:42:45.503 に答える
0

aiui、それは local-name の仕組みではありません。名前空間で修飾されたタグで一致する必要があり、local-name()は修飾されていない名前を返します。//*デフォルトの名前空間にあるタグのノードセットのみを返すと思います。

試しました//fb:likeか?[私は知っています、それはあまりにも簡単です-そして私はそれが間違っていると思います-しかし、繰り返しになりますが、それ簡単です:-)]

于 2011-04-08T03:32:11.153 に答える