平成23年度 特別 問100
ソフトウェア
相対パスに関する問題
〔中問C・Web ページの作成〕〔テクノロジ〕D さんは,E さんから,完成した ank01.html を Web サーバの nsiten ディレクトリに,懸賞ページで使用した写真などのデータを tgazou ディレクトリに転送して公開するよう指示された。そこで,写真が懸賞ページに正しく表示されるように,ank01.html に写真を表示するタグを記述した。Web サーバのディレクトリ構成とファイルの指定方法が次のとおりのとき,JPEG 形式に変換した写真1(ファイル名 s01.jpeg)を表示するタグの a に入る記述はどれか。ここで,img タグは,src="ファイル名" で指定したファイル名の画像を表示する。
〔中問C の記述(抜粋・再掲)〕D さんは E さんから次の指示を受けている。
1. 懸賞ページは HTML 形式の ank01.html というファイル名で作成し,Web サーバの指定されたディレクトリに転送する。
2. ファイルを指定する場合は,相対パスで記述する。
3. 使用する写真のファイルサイズは,1 枚当たり 200 k バイト以下とする。
〔Web サーバのディレクトリ構成〕木の形を字で書き起こしたもの
ルート
└ …… www ── main ─┬─ tenpo ── nsiten ← ank01.html を置く
└─ tgazou ← 写真を置く
(ルートと www の間には省略されたディレクトリがある)
〔ファイルの指定方法〕
1. ファイルは,“ディレクトリ名¥…¥ディレクトリ名¥ファイル名” のように,経路上のディレクトリを順に “¥” で区切って並べた後に “¥” とファイル名を指定する。
2. カレントディレクトリは “.” で表す。
3. 1 階層上のディレクトリは “..” で表す。
4. 始まりが “¥” のときは,左端にルートディレクトリが省略されているものとする。
5. 始まりが “¥”,“.”,“..” のいずれでもないときは,左端にカレントディレクトリ配下であることを示す “.¥” が省略されているものとする。
〔写真1を表示するタグ〕
img src=" a ¥s01.jpeg " … (原典は img タグの形で印字されている)
- ア..¥..¥tgazou
- イ..¥main¥tgazou
- ウ.¥tgazou
- エ¥www¥main¥tgazou
答えと解説を見る
✓ これが正解ア..¥..¥tgazou
解説
いったん二つ上へ戻ってから、画像を置いたディレクトリへ下ります。
ページの置き場所と、画像の置き場所は別のディレクトリでした。ページは、店のディレクトリの下の店名のディレクトリに置かれます。画像のほうは、その二つ上のディレクトリの下に置かれました。だからページから見ると、いったん上へ戻る必要があります。一つ上へ戻ると、店のディレクトリに着きました。そこからさらに上へ行くと、共通の親に着きました。そこから下へたどれば、画像のディレクトリです。だから上へ戻る印を二つ並べ、ディレクトリの名を書きます。この書き方を挙げた肢が当たり、戻る回数が要でした。一つだけ戻る書き方は、まだ店のディレクトリに居ます。そこに画像のディレクトリは無いので、たどり着けませんでした。いま居る場所から下る書き方も、画像のディレクトリへは届きません。ルートから書き下ろす書き方は、相対という指示に反します。シラバスも、絶対パスと相対パスの指定を活用の例に挙げています。
ほかの選択肢はなぜ違うのか
- イ..¥main¥tgazou:一つだけ戻る書き方を挙げた肢のほうです。戻った先は、店のディレクトリになりました。その下に、画像のディレクトリは置かれていません。もう一つ上へ戻る必要がありました。戻る回数が足りません。途中で止まっています。戻り足りません。
- ウ.¥tgazou:いま居る場所から下る書き方が、こちらです。ページと同じディレクトリの中を探しに行きました。けれども画像は、別のディレクトリに置かれています。下る前に、上へ戻る手が必要でした。向きが逆を向いています。たどり着けません。向きが逆でした。
- エ¥www¥main¥tgazou:ルートから書き下ろす書き方が、こちらです。ところが根と、いちばん上に置いた名の間には、省かれた入れ物がありました。だから道筋としても、絵には届きません。しかも指示は、相対で書くというものです。ルートから書く形は、絶対の書き方にあたりました。二つの理由で外れます。指示に反します。
出典:平成23年度 特別 ITパスポート試験 問100(改変:原典の図表をテキストに書き起こした)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)