2011-01-26 7 views
7

/template.xsl에 스타일 시트가 있고 /en/index.xml에 xml 파일이 있습니다. "/"(루트)는 실제로 "C : \"형식입니다. 물건 \ 기타 물건 \ ".XSLT 스타일 시트 상대 경로 문제 Windows에서

xml 파일에 <?xml-stylesheet type="text/xsl" href="../template.xsl"?>이 포함되어 있지만 스타일 시트가 검색되지 않습니다. 나는 슬래시 대신 백 슬래시 또는 페어 또는 백 슬래시를 사용하여 file : ///, 절대 경로를 사용하여 수많은 변형을 시도했습니다 ...

무엇이 잘못 되었나요?

편집 : 레코드의 경우 Internet Explorer에서는 작동하지만 Firefox에서는 작동하지 않습니다.

편집 : 바

  • 변화 security.fileuri.strict_origin_policy 거짓
  • 에 주소 설정 :

    1. 유형에 대한 : http://forums.mozillazine.org/viewtopic.php?f=25&t=670995 이 또한 솔루션을 포함한다 : 여기는 설명이다
    +1

    security.fileuri.strict_origin_policy 위 말했다>로, 스위치를 나는이 문제를 재현 할 수 없습니다 . PI와 같은 모든 입력 소스는 부모 폴더에서 변환을 호출합니다. 거기에 대한 특권이 필요한 경우가 있음을 유의하십시오. –

    +0

    결과 절대 경로에 공백이 포함 된 경우이 문제가 발생했습니다. 어떤 XSL 변환기를 사용하고 있습니까 (예 : 호출 할 것으로 예상합니까?) 및 XML 구문 분석기가이 변환기를 호출해야하는 항목은 무엇입니까? MSXML 만? –

    +0

    @Alejandro : "부모 폴더에서 변형을 호출"한다는 의미를 얻지 못했습니다. @Alain : 경로에 공백이 없습니다. Firefox 4에서 xml 파일을 열면 Firefox가 사용하는 모든 것입니다. xml과 xslt 파일이 같은 폴더에 있으면 모든 것이 잘 작동합니다. – Norswap

    답변

    0

    내가 생각하는 문제는 두 가지입니다.
    1. 파일이 같은 폴더에 있다고 가정하면 href = "../ template.xsl"은 XML 파일의 상위 폴더로 이동합니다. 아마도 href = "template.xsl"을 사용해야합니다.
    2. Firefox는 베타 버전입니다. 버그를 일으키는 베타 소프트웨어가 될 수 있기 때문에 항상 안정 버전을 사용해야합니다.

    +0

    1. 나는 template.xsl이 사실상 부모 폴더에 있다는 것을 말하지 않았습니다. 제 게시물을 다시 읽어주십시오. 2. Firefox 3에서도 작동하지 않습니다. – Norswap

    -1

    스타일 시트를 template.xml이라고하면, template.xsl에 대한 참조는 찾을 수 없습니다.

    +0

    그것은 실제로 template.xsl입니다. 오타를 바로 편집하겠습니다. – Norswap

    1

    서브 디렉토리의 put template.xsl이 DISPLAY라고하면 href = "DISPLAY/template.xsl"이 작동한다는 것을 알아 챘습니다. 그러나 XML을 다른 하위 디렉토리에 넣으면 A와 같이 href = "../ DISPLAY/template.xsl"이 작동하지 않습니다.

    ".."에 문제가있는 것으로 보입니다. 에서 참조 니콜라스 Smethurst의 부착 (! 파이어 폭스 40.0 사용하는 경우에도 2015 년)

    : https://bugzilla.mozilla.org/show_bug.cgi?id=439924

    이 -