Jintrick.netagenda2004年04月アーカイブ → 2004年04月29日

2004-04-29 のリンク

Hixie's Natural Log: Server-sent DOM events

サーバーが株価変動等のDOM EventをUser Agentに送信、スクリプトがそれを受け取って云々ということができたら、という話。

Installing Jython

Pythonの構文でJava 2 プラットフォーム SE v1.4.0等々を利用してみよう、と思ってみたのです。で、Jython。

>>> from org.w3c import dom
>>> dom
<java package org.w3c.dom at 2954511>
>>> impl = dom.DOMImplementation
>>> impl.hasFeature('Core', '2.0')
Traceback (innermost last):
  File "<console>", line 1, in ?
TypeError: hasFeature(): expected 3 args; got 2
>>> impl = impl()
Traceback (innermost last):
  File "<console>", line 1, in ?
TypeError: can't instantiate interface (org.w3c.dom.DOMImplementation)

そうか、org.w3c.domはインターフェイスを定義しているだけなのか。CPython(Python)のxml.dom.minidomとかではDOMImplementationはクラスだったから一瞬あせった(Pythonにinterfaceはない)。ということはPython的にはこのorg.w3c.domパッケージから何をインポートしても全く意味が無いのでは。型とかを宣言する必要が無いのだし。つまりJavaなら DOMImplementation impl = ..と宣言するところを、impl = .. で良いわけだから:

>>> from javax.xml.parsers import *
>>> factory = DocumentBuilderFactory.newInstance()
>>> builder = factory.newDocumentBuilder()
>>> impl = builder.getDOMImplementation()
>>> impl.hasFeature('Core', '2.0')
1

org.w3c.dom さよなら……。というか一度インポートしてみたかっただけなんだ。


webmaster@jintrick.net
公開: 2004年04月29日
カテゴリ: Python