xmlから別ディレクトリのxslファイルの参照
BY e70502 / DATE 2010-05-31 16:20:50 / ID 9729 / VIEW 794
| xmlから別ディレクトリのxslファイルの参照 xml初心者です。 xmlファイルのひとつ上の階層にxslファイルを置いてあります。 xslファイル <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="../format.xsl"?> ... xslファイル format.xsl <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> ... href="../format.xsl" のように指定したのですがxslが適用されません。 そもそも別ディレクトリへの参照は可能なのでしょうか。 もし可能ならばどのような方法があるのでしょうか。 |
ORUKA1951さんからのお返事です
ID:9730 POST:2010-05-31 16:21:14
| あるページから、他のファイルの位置を参照する(ブラウザとサーバーの)機能をしっかり理解しておきましょう。なにしろ、ウェブの基本中の基本ですからね。 ブラウザがあるファイルをサーバーにHTTPプロトコルで要求するときは、ネットワークに対して [HTTP要求ヘッダの例] GET /ディレクトリ(/ファイル名) HTTP/1.1 Host: サーバー名 User-Agent: Mozilla/5.0 (Windows; ***Firefox/3.0.10 Accept: text/html****application/xml;q=0.9,*/*;q=0.8 Accept-Language: ja,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive という要求が行われます。 ウェブ上のルーターが、サーバー名からIPアドレスを調べて、そのサーバーにファイルを要求します。 GET(あるいはPOST)の要求を受け取ったサーバーは、指定されたファイルを提供しますが、【そのファイルは実在するとは限りません。】【重要】・・パスやファイル名を含めて動的に作成され提供される場合も多い。 [HTTP応答ヘッダの例] HTTP/1.x 301 Moved Permanently Date: Thu, 18 Jun 2009 09:51:40 GMT Server: Apache Location: http://サーバー名/ファイル名とパス Content-Length: 242 Keep-Alive: timeout=2, max=100 Connection: Keep-Alive Content-Type: text/html; charset=iso-8859-1 そのため、ブラウザは、そのページで指定されているファイル(画像・スタイルシート・スクリプトなど)の位置は知る由もありません。 そこでブラウザは、そのファイルの【サーバー上のルートからの見かけのパスとファイル名】から、それらのファイルの場所を算出して、再びサーバーに要求します。そのとき、ページでの必要な指定方法は、 [ウェブ上の要求プロトコルと絶対パスとファイル名] http://[サーバー名][パス][ファイル名] [同じサーバーでの絶対パス] /[パス]と[ファイル名] ブラウザからは、現在のファイルのプロトコル・サーバー名が付与される。 http://サーバー名/[パス]と[ファイル名]とみなされる。 [同じサーバーでの相対パス] ../[パス]と[ファイル名] ./[パス]と[ファイル名] [パス]と[ファイル名] http://サーバー名/[算出されたパス]と[ファイル名]とみなされる。 以下同様・・・ よって、指定方法は ../format.xsl ないし、 http://[サーバー名][パス][ファイル名] のいずれか・・ |



