2010-07-31 2 views
12

어떻게 CSS를 xsl 파일로 구현합니까? 나는이 시도 :xss 문서의 CSS

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<link rel="stylesheet" type="text/css" href="dxsl.css"/> 
<xsl:output method="html" /> 

를하지만 오류가 발생했습니다 :

XSLTProcessor::importStylesheet(): Found a top-level element link with null namespace URI 

Warning: XSLTProcessor::transformToXml(): No stylesheet associated to this object 
+0

나는 이것이 XSLT 질문이 아니라 HTML 질문이라고 생각합니다. XML에서 HTML 로의 변환을 실행한다면'link' 엘리먼트를 어디에 출력합니까? –

답변

0

'링크'는 HTML 요소이며, 당신은 XML로 사용하려는를 하나. XSL은 입력을 다른 문서로 수정합니다. XSL 파일에서 CSS를 사용하지 마십시오. 그것을 (X) HTML 파일에 삽입하고 거기에 적용합니다.

+0

감사합니다. xsl 파일의 head 요소 바로 뒤에 있어야합니다. 'http : // www.velocityreviews.com/forums/t166257-linking-to-a-separate-css-in-xsl.html' – input

+0

예, 머리 속에 들어가면 HTML 네임 스페이스에있게됩니다. – Rob

2

정확하게 이해한다면 출력물에 특정 스타일 시트를 사용하고 싶습니까?

XSL은 XML을 한 형식에서 다른 형식으로 변환하는 데 사용되는 언어입니다 (이는 CSS 스타일 시트를 적용하는 것과 같은 의미로 사용됩니다). 전형적인 유스 케이스에서 어떤 일이 일어날지는 xml 파일을 가지고 XSL을 사용하여 XHTML로 변환하는 것이다. 이 출력에서는 원하는 경우 link 요소를 사용하여 스타일 시트를 포함 할 수 있지만 XSL은 실제로 CSS를 사용하지 않습니다. (기본적으로 XHTML 출력을 사용하도록 변환의 일부로 CSS를 XSL에 넣으십시오.)

XML 문서 인 경우 XSL에 대한 참조를 포함하기 만하면됩니다. 변환을 자동으로 수행합니다.

+0

마지막으로, 나는 지금 무엇이 진행되고 있는지 잘 이해하고있다. 좋은 대답 (.xsl 파일에 html 요소가 있다면 보통 HTML에서와 같이 태그 아래에 CSS href 링크를 추가해야 할 필요가있다. 왜냐하면 출력 XHTML이 결과로 CSS 파일 가져 오기) –

1

링크는 xsl 템플릿 안에 있어야합니다.

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

<xsl:output method="html" /> 

<xsl:template match="/*//*[1]"> 

    <link rel="stylesheet" type="text/css" href="dxsl.css"/> 

</xsl:template> 

</xsl:stylesheet> 
+0

xml을 XML로 변환하기 위해 xsl을 적용하는 경우이 의미가 없습니다. – Dmitry

+2

다음은 xml을 html로 변환하는 것이 좋은 질문입니다. –

-1

다른 대답으로, 링크는 변환에 의해 생성되어야합니다. 다음은 간단한 XML 문서에서 CSS에 링크 된 작은 HTML 문서를 생성하는 예제입니다. CSS 경로는 데이터에서도 제공됩니다.

Try this