2009-08-20 5 views
0

공백 CSS 속성을 사용하려는 경우 인터넷 익스플로러 표준을 준수하는 CSS를 일반 XML 문서로 사용하는 DOCTYPE 태그를 잠시 동안 검색해 왔습니다. . This page은 "doctype 'XML' '을 사용하는 것이 인터넷 익스플로러 6+가 나오기에 충분해야한다고 말합니다.하지만 예상 된 결과를 얻지 않고 예제에서 생각할 수있는 모든 DOCTYPE 태그를 시도했습니다. 어쩌면 여기서 다른 것을 놓치고 있지만 기본적으로 올바른 DOCTYPE 태그 (코드의 적절한 위치에 있음)가이를 수행해야한다고 생각합니다.IE의 xml 표준 호환 모드 용 Doctype

Message { 
    white-space: pre-wrap; 
} 

test.xml의 :

Test.css : 여기

내가 함께 테스트입니다 코드입니다

<?xml version="1.0"?> 
<?xml-stylesheet href="Test.css" type="text/css"?> 
<Message><![CDATA[ 
Some data 

which is pre 

formatted 
]]></Message> 

FF &에 그대로 위의 예는 잘 작동 원정 여행.

답변

1

IE가 HTML을 XML로 제공하기 위해 올바른 MIME 형식 인 application/xml + xhtml을 아직 지원하지 않기 때문에 아무 것도 없습니다. 그러나 IE는 XML을 직접 지원하므로 HTML로 가장하여 전자 메일을 직접 작성한 다음 스타일 시트를 사용하여 페이지를 HTML로 표시 할 수 있습니다. 이 방법은 아무도 XML 요소의 문법을 이해하지 못하기 때문에 액세스 가능성과 의미 위반을 초래합니다.

그게 아마도 XML이 웹에서 잘 채택되지 않는 이유 일 것입니다.

0

내가 아는 한 하나도 없습니다. 문서는 거짓말입니다. 스타일 시트로 렌더링 된 raw-XML 문서는 항상 quirks 모드로 표시됩니다. 이론에서는 doctypes (시대에 구애받지 않으며 요즘에는 XML에서는 그렇게 많이 사용되지 않습니다)에 관계없이 항상 표준 모드 여야합니다.

위의 예는 정말하지만 ... 나는 이런 식으로 뭔가 함께 함을 입증하지 않습니다

<?xml-stylesheet href="test.css" type="text/css"?> 
<potato> 
    <custard>X</custard> 
</potato> 

custard { width: 150px; padding: 50px; background: yellow; } 

이 대신 올바른 250 픽셀의 150 픽셀로 전체 너비 + 패딩을 렌더링합니다. 중 어느 하나에 추가 :

<!DOCTYPE potato> 
<!DOCTYPE potato SYSTEM "blankfile.dtd"> 
<!DOCTYPE potato PUBLIC "-//W3C//DTD XHTML 1.0//EN" "blankfile.dtd"> 

또는 'HTML'에 루트 요소를 변경하고 실제 XHTML DTD URI를 참조, 차이가 없습니다. 원시 XML 렌더링은 쿼크 모드로 유지됩니다. 이것은 MIME application/xhtml + xml 미디어 유형의 인식과 관련이 없습니다.

IE의 raw-XML 렌더링은 IE5 이후 실제로 어떤 업데이트도 보지 못한 기능입니다. 그것은 천천히, 기발하고 쓸모가 계속됩니다.