2011年3月5日土曜日

e4xのXML.prototypeは変更できないらしい

今日もポチポチとRhinoでxmlを読むコードを試してました。 どうやらe4xには「要素.hasChildNodes()」のメソッドが無いようですね。 代わりにこんな感じでいいのかな?

if(0 < 要素.*.length() )
{
    子要素があるときの処理
}

一応動いているようだけど、よく確認してません。 ほんとにこれでいいんでしょうか?

2011年3月2日水曜日

RhinoでXMLを使うときデフォルト名前空間を設定...できたけど何か変?

前回の投稿で名前空間の扱いがよく分からず、力技で処理してました。 その後ちょっと勉強してデフォルト名前空間を設定するコードを発見。 次のようにすればいいようです。

var ns = xmlobj.namespace();
default xml namespace = ns;

これでxmlの各要素にアクセスできるようになりました。 例えば次のようなxmlファイル「test.xml」を用意して、

<?xml version="1.0" encoding="UTF-8"?>
<root xmlns="http://www.dummy.jp">
    <msg attr="属性">テキスト</msg>
</root>

msg要素にアクセスするには次のようにします。

2011年2月27日日曜日

Rhinoでネームスペース付きのxmlファイルを読み込む

「どうでもよかった女.svg」の省サイズ化をしたとき、「スクリプトを作っておいた方が楽かも」とか書いてました。 簡単に言うと、

  1. inkscapeでsvg画像を描いてウェブサイトに投稿したい。
  2. inkscapeは色々不要なデータも吐き出してくれる。
  3. ウェブサイトにsvg画像を上げるときはサイズが小さい方がいい。
  4. svg画像はxmlドキュメントなのでxmlを読んで不要なデータを消すスクリプトが組みたい。

ってことです。 今svg画像を作っていないのですぐに必要はないのですが、とりあえずなにでスクリプトを組むか考え中。 javascriptについて調べてみたらRhinoに行き当たりました。

2011年2月21日月曜日

ネットにアクセスできなくなった

先週末、家でネットにアクセスできなくなってました。 晩飯を食っている間に切断されてしまったようです。 こういうこと、たまにあるんですよね。 いつもならルータの電源ケーブルを引っこ抜いて、30秒ほど待ってからコンセントにさせば直ってました。 今回もそれで...

直らない? こんな場合はどうすれば? ネットで検索...できません。

そんなオヤクソクなボケを考えてから、家でできる範囲で原因を調べてみました。 我が家は壁⇔モデム⇔ルータ⇔PCの順につないでいます。 ルータ⇔PCは通信できているのでそれから先が問題。 Bフレッツの書類とモデムの説明書を読んでみました。 モデムのLEDから推察すると、モデム⇔壁⇔プロバイダのどこかがダメなようです。 これはサポートセンターに聞くしかなさそうですね。