2011-05-13 5 views
5

XSLT를 사용하여 HTML 출력 페이지를 만듭니다. 출력 페이지에 doctype을 추가해야합니다. 검색 좀이는 작업을 얻을 수있을 것 같다 :XSLT가 xs : output을 사용하여 DOCTYPE을 추가하지 못했습니다.

<?xml version="1.0" encoding="ISO-8859-1"?> 

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 

<xsl:output 
    doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" 
    doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" 
/> 

<xsl:template match="/"> 

<html> 
<head> 
    <title>test</title> 
</head> 
<body> 
content! 
</body> 
</html> 

</xsl:template> 
</xsl:stylesheet> 

그러나 HTML이 포함되어 있지 않습니다 출력 :

<xsl:output 
    doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" 
    doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" 
/> 

그래서 내가 테스트 변환 파일에, transform.xsl 그것을 추가 doctype .... 나머지 예제는 ... 괜찮습니다.

무엇이 잘못 되었나요? doctype이 추가되지 않은 이유는 무엇입니까?

감사합니다.

편집 : 문제 해결, 내가 존재를 사용하고 있는데는 XSL 보인다 출력 명령이 작동하지 않습니다 솔루션 : mailing list

답변

1

나는 두 가지 대답

(가) 당신의 XSLT 생각할 수를 프로세서가 사양을 준수하지 않거나,

(b) XSLT 프로세서가 결과 트리의 직렬화를 수행하지 않습니다. 직렬화가 XSLT 프로세서 이외의 다른 방법 (예 : DOM에 출력을 보낸 다음 DOM 직렬 변환기를 사용하는 경우)에 의해 수행되면 XSLT 직렬화 속성은 무시됩니다.

관련 문제