2011-01-06 3 views
1

xsslt를 사용하여 렌더링 된 XML 문서에 rss-doctype을 추가하려고합니다. 루트 요소는 어떻게 변경합니까?xslt를 사용하여 HTML에서 rss로 Doctype 루트 요소를 변경 하시겠습니까?

<!DOCTYPE html PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "about:legacy-compat"> 

내가 좋아하는 것 : (참조 당신은 DTD를 포함해야

<xsl:output 
method="xml" 
version="1.0" 
encoding="UTF-8" 
doctype-public="-//Netscape Communications//DTD RSS 0.91//EN" 
indent="yes" 
/> 
+0

당신이'

+0

좋은 질문입니다, +1. 완벽한 해결책은 내 대답을 참조하십시오. –

답변

1

: 여기

<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "about:legacy-compat"> 

내 outputnode입니다

은 현재 모습입니다 http://www.stylusstudio.com/xsllist/200405/post70520.html이고 대답은 http://www.stylusstudio.com/xsllist/200405/post90520.html입니다. David Carlisle은 이것을 지적합니다.) 다음은 올바른 구문입니다 - 당신이 DTD

<xsl:output method="xml" indent="yes" encoding="UTF-8" 
doctype-system="http://foo.org/dont.know.the.dtd" 
doctype-public="-//Netscape Communications//DTD RSS 0.91//EN"/> 
0

을 찾아야합니다 다음은 간단한 예를입니다 :

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="xml" indent="yes" 
doctype-system="http://www.silmaril.ie/software/rss2.dtd" 
doctype-public="-//Netscape Communications//DTD RSS 0.91//EN"/> 
<xsl:template match="/"> 
    <rss> 
    <channel/> 
    </rss> 
</xsl:template> 
</xsl:stylesheet> 

모든 XML 문서를 (사용되지 않음) 이러한 변화로 처리되어, 원하는 정확한 결과는 생성됩니다!

<!DOCTYPE rss 
    PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://www.silmaril.ie/software/rss2.dtd"> 
<rss> 
    <channel/> 
</rss> 
관련 문제