2010-04-30 3 views
4

저는 학사 학위 논문으로 XSLT를 사용하여 일부 XML 데이터를 HTML로 변환하려고합니다.XSL-FO 및 HTML 사용?

내 교수님도 XSL-FO를 고려해 보시거나 최소한 그것에 대해 말씀 드리고 싶습니다. 그러나 나는 이것에 아주 멍청하다.

그래서 제 질문은 다음과 같습니다

나는 HTML과 FO를 결합 할 수 있나요? HTML과 CSS의 FO istead를 사용할 수 있습니까? 그렇다면 브라우저가 어떻게 렌더링합니까? FO를 사용하여 xml을 웹 페이지로 변환하는 방법에 대한 예제/튜토리얼이 있습니까?

답변

5

XSL-FO는 PDF 디스플레이 전용입니다 (이것은 사실이 아니지만 가이드 라인으로 사용할 수 있습니다). 따라서 HTML 출력과 FO 출력은 관련이 없습니다. XML 소스에서 XSLT를 사용하여 XHTML 또는 XSL-FO를 생성 할 수 있지만 동시에 둘 다 생성 할 수는 없습니다.

예를 들어 DocBook을 참조하십시오. 사용 가능한 XSLT 스타일 시트가 여러 개 있습니다. 하나는 HTML 출력용이고 다른 하나는 PDF 용입니다 (Apache Fop을 통해). 결과에 만족한다면 다른 질문이 될 수 있습니다.

8

XSLT에서 XSL-FO 및 XHTML을 생성하는 것이 반드시 선택 사항은 아닙니다.

일반적으로 PDF 생성에는 XSL-FO이 사용됩니다. 이를 위해 당신은 그러나 XHTMLXSL-FO를 변환 한 다음 브라우저에서 렌더링 할 수있는 등 FOP, RenderX, Antenna House, IBex, 등의 XSL-FO 엔진가 필요합니다. 당신이 (PDF 및 XHTML을 모두 출력 형식을 만들려하지 않는 한

일반적으로, 당신의 XSLT가 XSL-FO 만들도록하고 XHTML로 변환하는 번거 로움 가치가 없을 것이다 (다만 직접 XHTML을 생성)) 감소 된 노력으로.

그것은 만들 수 모두 ** 다른 어휘 유사한 출력을 생성하기 위해 두 개의 스타일의 완전한 세트를 유지하지 않고 동시에 XSL-FO와 XHTML.

오히려 하나의 형식이나 다른 사이의 선택, 또는 두 개의 분명히 diffirent (비슷하지만) 스타일 라이브러리를 유지하는 것보다, 당신은 XSL-FO 또는 XHTML 중 하나를 생성하고 사용하는 기본 스타일 라이브러리를 만들 수 있습니다 XSL-FO에서XHTML 또는 그 반대로 변환하는 변환입니다. 이렇게하기 위해 기존 XSLT 스타일 시트를 활용할 수 있습니다. 그때 XSL-FO 스타일 시트를 개발 한 과거

XHTML 출력에 XSL-FO을 변환 할 Render-X FO2HTML stylesheet을 사용했다. <block> 요소를 <div>, <inline><span> 등으로 변환합니다.

내가 전에 그들을 사용하지 않은,하지만 당신은 또한 XSL-FOXHTML outut을 변환하는 HTML2FO stylesheets를 사용하여 시도 할 수 있습니다. 특정 출력 형식으로 전용 한 XSLT 라이브러리를 유지하면서

박스 아웃, 당신은 모두 형식으로 놀라 울 정도로 유사한 출력을 얻을 수 있습니다.

당신은 약간의 출력을 사용자 정의해야 할 일이 있다면 당신은 그냥 가져 오기/변환 스타일 시트를 확장하고 분기 콘텐츠에 대한 적절한 템플릿을 (를) 재정의해야합니다 (XHTML에 대한 예를 들어, 다른 헤더 내용). 이렇게하면 유지 관리가 훨씬 수월해 지므로 본질적으로 동일한 정보로 여러 세트의 스타일 시트를 업데이트하는 것에 대해 걱정할 필요가 없습니다.