ブログ「サイバー少年」

ブログ「サイバー少年」へようこそ!
小学六年生ごろからプログラミングを趣味にしている高校生のブログです。
勉強したことについての記事などを書いています。フリーソフトも制作、公開しています。
(当ブログについて詳しくは「ブログ概要紹介」を参照)

サイバー少年が作ったフリーソフトは「サイバー少年の作品展示場」へ

作品リストXML化&Silverlight製ビューワー公開!

私がこれまで作ってきたソフトウェア作品、今までサイト「サイバー少年の作品展示場」にリストしていましたが、
HTMLドキュメントだけでリストしておくのは曖昧さがあるということで、以前からXMLドキュメントを作ろうということになっていました。

過去記事を見てみたところ2012年の暮れからそういう計画があったみたいですね。
(記事「サイバー少年の作ったソフトをデータにまとめる計画」)

しかし、すぐに「Plugin-Load Library」の制作が始まり、これが完成したら着手しようと思っていたものの、その直後に「サルでもわかる小遣い帳」を制作することになり、今まで保留…

という感じだったと思います。

そんな中、ようやく余裕ができたので(まあ、上記の制作期間も余裕だらけだったのですが(笑))、今回XML化をしました!

サイト「サイバー少年の作品展示場」内で公開しています。

URLはこちらです。
http://cyberboy6.web.fc2.com/softwares.xml


上記サイトのHTMLでの表と同様、リスト化しているのは正式な作品だけです。

正式な作品ってなんだよという感じではあるのですが、サンプルプログラムなのかなんなのか、よく分からないソフトは含まれていません。

いや~しかし、2012年の記事に“XML自体はすぐに覚えたけどDTDが覚えられていない”と書いてありましたが、結局まだDTDは覚えられていませんね。

今回公開したのはスキーマのないXMLです。
ただ、私の頭の中では、ちゃんとフォーマットが明確化されています…。

XML Schemeというのもあるみたいなので、これから覚えるならそっちのほうがいいのかもしれませんね。





また、XML形式のドキュメントを作ったということは、プログラムから容易に利用できるドキュメントを作ったということになります。

というわけで、今回作ったソフトウェアのリストのXMLドキュメントをプログラムから扱うサンプルとして、Silverlightでリッチなビューワーを作成しました。

プラグインがないと表示できないコンテンツは避けられて、RIAという言葉が死語になってきている昨今ですが、
時代に逆行してSilverlightで作ったのはC#が好きだから。

「サルでもわかる小遣い帳」以降、C#で作品を作ることはないと思っていましたが、今回はC#で書きました。


さて、タイトルは「サイバー少年の作品ビューワーRIA」です。

サイト「サイバー少年のオンライン駄作庫」で公開しています。

サイバー少年の作品ビューワーRIA - サイバー少年のオンライン駄作庫
http://www.geocities.jp/blog_of_cyberboy_onlinedasakuko/silverlight/CyberboySoftwaresViewer/


本当はFC2のサーバーにアクセスしてXMLファイルを取ってくるプログラムを書きたかったのですが、Silverlightでは制限がかけられていました。

この制限は、アクセス対象のサーバーにアクセス許可証みたいなファイルを置くか、
Silverlightアプリケーションの権限を昇格することをユーザーに求めれば回避できるみたいで、

私は後者で回避しようと思ったのですが、権限昇格を求める設定方法がよくわからなかったので諦めました。

結果、まずユーザーにXMLドキュメントを入力してもらうという謎設計になりました。


というわけでみなさん、まずは今回公開したXMLファイルのソースを開いてコードをコピーし、
それを本アプリケーションのテキストボックスに貼り付けていただくようお願いします…。


ただ、起動のたびに入力させるのは酷なので、入力したXMLドキュメントをみなさまのマシンに保存できるようにしました。

詳しい操作方法は解説しませんので、直感で使うか、コメント欄、メール等でご質問ください。


にしても、C#はXMLファイルがとても簡単に読めますね。
我々使用者にしてみれば、XMLファイルもツリー同然です。

書き込みはやったことないのですが、どうなのでしょうか。

ただ、Silverlightには標準でSystem.Linq.Xmlがないみたいで、今回は必要になったので拡張ライブラリとして参照に追加したのですが、
なんとビルドしてみたら成果物(XAP)に、そのDLLを同梱してきやがりました。

そのせいでサイズが大きくなってしまいました。

まぁ、同梱してあたりまえなのでしょうが…。
必要な部分だけ同梱する、みたいな機構がSilverlightでは特に求められているんじゃないかと思いますけどね~。



さて、というわけで、2年越しの計画がついに達成されました。

ただ、今後XMLにスキーマを設定したいというのはありますね。

前述したように、私の頭の中では超明確にフォーマットが定まっているのですが、いつ忘れてもおかしくありません。


あと、久しぶりのSilverlight作品でしたね。
もう、しばらくはC#で作品を作ることはないと思います。

tag: XML Silverlight サイバー少年の作品展示場 サイバー少年のオンライン駄作庫 自作ソフト

コメント

コメントの投稿

トラックバック

トラックバック URL
http://cyberboy6.blog.fc2.com/tb.php/379-21703f83
この記事にトラックバックする(FC2ブログユーザー)

当ブログをご利用(閲覧等)になる場合は必ず「当ブログの利用規定」をお守りください。