2011-12-09 5 views
0

内のXSLリファレンスとしてXMLからXSLスタイルシートを参照するに関する簡単な質問を使用することができますは... URLがXML

今まで私はいつも例えば、UNCを使用してスタイルシートを参照しています

<?xml-stylesheet type="text/xsl" href="\\test\... 

は今、私は例えば、URLを使用してXSLを参照で探しています:

<?xml-stylesheet type="text/xsl" href="http://mysite.com/xsltest.xsl 

しかし、これは(「アクセスが リソースの処理中にエラーが拒否されている」私に失敗しています.e。 XSL)

XMLでXSL参照としてURLを使用することができますか?

+0

どのXSLTプロセッサを使用していますか?これはブラウザですか? –

+0

はいそれのブラウザ – Amit

答えて

0

短い答えは「はい」です。現代のブラウザでそのXMLを開くだけで、XSLが適用されていることがわかります。

しかし、一般的にどのようにXMLを処理するかによって異なります。たとえば、ブラウザでそのURLを開くことができるかもしれませんが、XMLプロセッサはプロキシやファイアウォールなどのためにできません。

0

href擬似属性は国際化されたURIであるIRIであるため、動作するはずです。

有効なURIでさえないので、href擬似属性(およびURI/IRI/URLが必要な他の場所)にUNCを置くべきではありません。

編集 例:href属性として

  1. URL:href属性として

    <?xml-stylesheet type="application/xsl" href="http://www.domain.com/sheet.xsl" ?>. 
    
  2. URI(つまり、URLではありません):この場合

    <?xml-stylesheet type="application/xsl" href="urn:isbn:0451450523" ?> 
    

    それは構文的です正しければ意味的には意味をなさない(スタイルシートはisbn;))また、URLのように見えるURI(最初はhttp://であっても)はありますが、何も指していません。それは合法です。 URIはちょうど識別子であり、必要な場所ではありません。

  3. IRI(それはURIではありません)href属性として

    <?xml-stylesheet type="application/xsl" href="urn:country:españa" ?> 
    

    はどちらかあまり意味がありませんが、それは単なる例です。 IRIは、Unicode文字をサポートするURIのスーパーセットです(この例では - )。

IRIが

<?xml-stylesheet type="application/xsl" href="\\youserver\resource" ?> 

これは違法であると予想されるUNCを誤って使用します。 UNC(統一命名規則)文字列はIRIではない(従って、URIでもURLでもない)。 xml-stylesheet定義ではIRIのみがhref属性の値として許可されているため、UNC文字列を置くと間違っていて、単純にうまくいきました。 Windows以外のOSでxmlを開こうとすると、おそらくうまくいかないでしょう。

+0

<?xml-stylesheet type = "application/xsl" href = "test.xsl" IRI = "http://foo.com/"?> これはあなたが話してきたものです – Amit

+0

@アミット号href属性は、(順番にURLのスーパーセットである)URIのスーパーセットであるIRI(国際化リソース識別子)です。だからあなたが試したURLを含めて、どんなURLでもそこで行うべきです。 href = "\\ test \"それは有効なIRI/URI/URLではないため、おそらくウィンドウでのみ動作するため、別の話です。あなたはあなたのXMLがウィンドウだけであることを望んではいけません。 – soulcheck

+0

あなたは同じものの例を引用できますか?私は周りを検索したが、見つけられなかった。本当に助けていただきありがとうございます! – Amit

関連する問題