XML로 홈페이지 만들 때 도크타입 지정법..
-
- Posts: 12
- Joined: 2005 02 24 22:09 29
- Location: Korea
- Contact:
XML로 홈페이지 만들 때 도크타입 지정법..
http://okoru.net/new/page0.xml
만들고 있는 페이지는 이렇습니다.
FF에선 "float: left;"가 잘 적용 되어서 한 줄에 div가 2개 나오는데, IE에선 도크타입에 XHTML 1.1을 지정하지 않으면 "float: left;"가 안먹힙니다(HTML도 마찬가지).
그런데 XML/XSL에 도크타입을 지정해 버리면 읽지 못하내요.
XML로 제작하면 파일 하나 바꿔서 여러 출력 물을 바꾸는게 가능하므로(예를 들면 최근 게시물 같은..) XML로 제작 중 입니다만 부실한 IE 덕분에 초반부터 막혀버렸습니다.
XML파일 : http://okoru.net/new/page0.xml
XSL파일 : http://okoru.net/new/style.xsl & http://okoru.net/new/contents.xsl
CSS파일 : http://okoru.net/new/style.css
고수님들의 도움, 부탁드립니다..
만들고 있는 페이지는 이렇습니다.
FF에선 "float: left;"가 잘 적용 되어서 한 줄에 div가 2개 나오는데, IE에선 도크타입에 XHTML 1.1을 지정하지 않으면 "float: left;"가 안먹힙니다(HTML도 마찬가지).
그런데 XML/XSL에 도크타입을 지정해 버리면 읽지 못하내요.
XML로 제작하면 파일 하나 바꿔서 여러 출력 물을 바꾸는게 가능하므로(예를 들면 최근 게시물 같은..) XML로 제작 중 입니다만 부실한 IE 덕분에 초반부터 막혀버렸습니다.
XML파일 : http://okoru.net/new/page0.xml
XSL파일 : http://okoru.net/new/style.xsl & http://okoru.net/new/contents.xsl
CSS파일 : http://okoru.net/new/style.css
고수님들의 도움, 부탁드립니다..
-
- 해커
- Posts: 1146
- Joined: 2004 01 15 20:06 36
정말 망할 MS IE로군요. XML과 XSL을 써서 만들어진 페이지라면 당연히 표준 모드로 렌더링을 해야지....
MS IE는 이런 경우 XML 전체에 대해 XSL을 모두 다 적용한 결과물을 html rendering 엔진에 던지나 봅니다. IE의 HTML rendering 엔진 입장에서는 doctype이 없는 html로 보여지고....
정말 꽁수 같은데, MS IE가 그 모양이니....
XSL에서 '/'에 대해 '<html.....'로 시작하지 말고, 그 앞에 DOCTYPE을 넣어 두면 어떨까요? 음... 이렇게 해도 되나.... 안 될 것도 없을 것 같지만.. 정말 꽁수네요...
흠. 이미 해 보고 안 된다고 하신 방법인가요? 'XML에서 도크 타잎을 지정하면 읽지를 못 하네요'라고 쓰셨군요...
참, 고등학생인 것 같은데, 질문 하나 해도 될까요? 학교에서 다양한 브라우저 지원의 중요성이나 UTF-8 사용, XML, XSL, CSS 사용 등에 대해서 잘 가르쳐 줍니까? 사이 웹 페이지에 가 보니 여러 브라우저로 시험한 그림도 올려져 있더군요. 다른 친구들도 그런 것에 관심이 많이 있는지요? 한국 웹의 미래가 그래도 좀 밝아 보입니다
MS IE는 이런 경우 XML 전체에 대해 XSL을 모두 다 적용한 결과물을 html rendering 엔진에 던지나 봅니다. IE의 HTML rendering 엔진 입장에서는 doctype이 없는 html로 보여지고....
정말 꽁수 같은데, MS IE가 그 모양이니....
XSL에서 '/'에 대해 '<html.....'로 시작하지 말고, 그 앞에 DOCTYPE을 넣어 두면 어떨까요? 음... 이렇게 해도 되나.... 안 될 것도 없을 것 같지만.. 정말 꽁수네요...
흠. 이미 해 보고 안 된다고 하신 방법인가요? 'XML에서 도크 타잎을 지정하면 읽지를 못 하네요'라고 쓰셨군요...
참, 고등학생인 것 같은데, 질문 하나 해도 될까요? 학교에서 다양한 브라우저 지원의 중요성이나 UTF-8 사용, XML, XSL, CSS 사용 등에 대해서 잘 가르쳐 줍니까? 사이 웹 페이지에 가 보니 여러 브라우저로 시험한 그림도 올려져 있더군요. 다른 친구들도 그런 것에 관심이 많이 있는지요? 한국 웹의 미래가 그래도 좀 밝아 보입니다
-
- Posts: 12
- Joined: 2005 02 24 22:09 29
- Location: Korea
- Contact:
아닙니다.
학교에서 그런걸 가르치진 않는 듯..
HTML 책을 하나 받았는데, 훑어 보면서 웃음이 나올 정도로 빈약함의 극치 입니다.
중 3 마지막에 XML공부에 열을 올렸고, 같이 익힌게 적법 입니다.
또 존경하는 선배님(MAC 브라우저 테스트를 해 주신..)에게 배우면서 문법의 중요성을 느끼게 되었고, 선배와 인터넷을 통해 DIV 레이아웃도 익히게 되었습니다.(시행착오가 꽤 많았었습니다.)
이 부분을
이렇게 바꿔 보았습니다만, IE에선 아예 안열리내요.
결과 ↓
그리고 <xsl:stylesheet> 안 쪽엔 DOCTYPE을 못 넣어요.
HTML 책을 하나 받았는데, 훑어 보면서 웃음이 나올 정도로 빈약함의 극치 입니다.
중 3 마지막에 XML공부에 열을 올렸고, 같이 익힌게 적법 입니다.
또 존경하는 선배님(MAC 브라우저 테스트를 해 주신..)에게 배우면서 문법의 중요성을 느끼게 되었고, 선배와 인터넷을 통해 DIV 레이아웃도 익히게 되었습니다.(시행착오가 꽤 많았었습니다.)
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
결과 ↓
Code: Select all
XML 페이지를 표시할 수 없습니다.
XSL 스타일시트를 사용하여 XML 입력을 볼 수 없습니다. 오류를 수정한 다음 새로고침 단추를 누르거나 나중에 다시 시도하십시오.
----------------------------------------------------------
매개 변수 엔티티는 먼저 정의해야 사용할 수 있습니다. 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd' 리소스를 처리하는 데 오류가 발생했습니다. 줄 85, 위치 2
%xhtml-prefw-redecl.mod;
-^
-
- Posts: 12
- Joined: 2005 02 24 22:09 29
- Location: Korea
- Contact:
성공입니다!!
어제 밤, 잠이 안와 XSL 책을 읽던 중 <xsl:output>에서 도크타입을 설정할 수 있다는 사실을 알게 되었습니다.
책에선 다루는 부분을 찾지 못해, 오늘 인터넷을 뒤져본 결과, 그 해답을 알게 되었습니다.
이것 을
이렇게..
그런데 책에선 XHTML로 뽑기 위해선 method="xml"로 하라고 나와 있습니다만, 이렇게 하면 FF에서 텍스트만 출력 됩니다.
그리고 version="1.0"이 맞는지 안맞는지도 잘 모르겠습니다.
혹시 틀린 것이 있다면 지적해 주시기 바랍니다.
책에선 다루는 부분을 찾지 못해, 오늘 인터넷을 뒤져본 결과, 그 해답을 알게 되었습니다.
Code: Select all
<xsl:output method="html" version="1.0"
indent="yes" encoding="utf-8"/>
Code: Select all
<xsl:output method="html" version="1.0"
doctype-public="-//W3C//DTD XHTML 1.1//EN"
doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"
indent="yes" encoding="utf-8"/>
그런데 책에선 XHTML로 뽑기 위해선 method="xml"로 하라고 나와 있습니다만, 이렇게 하면 FF에서 텍스트만 출력 됩니다.
그리고 version="1.0"이 맞는지 안맞는지도 잘 모르겠습니다.
혹시 틀린 것이 있다면 지적해 주시기 바랍니다.
-
- 해커
- Posts: 1146
- Joined: 2004 01 15 20:06 36
저도 박민권님 말씀에 전적으로 동의. xslt의 output 지정에 대해 전에 한 번 보았지만, xml을 평소에 쓰질 않다 보니 새까맣게 잊고 있었네요.
친구, 후배들에게도 많이 전파해 주세요
참, okoru님.. 그 문제는 xml namespace를 하나 더해 주면 해결됩니다. contents.xsl과 style.xsl의 처음 부분을 다음과 같이 해 주세요. 빨간 색 부분을 더해 주면 됩니다. xslt가 처리한 후에 결과물에서 default namespace 선언이 없으므로, html, body, div, h1 등이 아무런 의미도 없어지고, 그 내용만 text로 보인 모양입니다.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
친구, 후배들에게도 많이 전파해 주세요
참, okoru님.. 그 문제는 xml namespace를 하나 더해 주면 해결됩니다. contents.xsl과 style.xsl의 처음 부분을 다음과 같이 해 주세요. 빨간 색 부분을 더해 주면 됩니다. xslt가 처리한 후에 결과물에서 default namespace 선언이 없으므로, html, body, div, h1 등이 아무런 의미도 없어지고, 그 내용만 text로 보인 모양입니다.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
- Posts: 12
- Joined: 2005 02 24 22:09 29
- Location: Korea
- Contact:
친구와 후배에게 전파할 생각입니다..
근데 들어주는 친구는 별로 없내요.. orz.
http://okoru.net/new/page0.xml
익스플로러에선 float: left;가 안먹고, 그림에 뭔지 모를 margin이 생겼습니다.
파이어폭스에선 다 완벽한데, 배경이 안나오내요..
어떻게 해야할까~요?
근데 들어주는 친구는 별로 없내요.. orz.
해봤습니다.빛알갱이 wrote:Code: Select all
<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" [color=red]xmlns="http://www.w3.org/1999/xhtml"[/color] xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
http://okoru.net/new/page0.xml
익스플로러에선 float: left;가 안먹고, 그림에 뭔지 모를 margin이 생겼습니다.
파이어폭스에선 다 완벽한데, 배경이 안나오내요..
어떻게 해야할까~요?
-
- 해커
- Posts: 691
- Joined: 2004 08 11 22:14 59
- Contact:
Who is online
Users browsing this forum: No registered users and 0 guests