2014-02-10 1 views
1

일부 XSL을 사용하여 HTML로 내보낼 수있는 Gantt 차트 용 데스크톱 응용 프로그램 인 GanntProject를 사용하고 있습니다. (나는 이것이 어떻게 작동하는지 XSL/100 %에 익숙하지 않은 오전)XSLT에 <script>을 추가하는 방법

내 보낸 결과는 여기에 있습니다 : http://pixels.studenttribe.org/3DPrinting/3rdYrProjGannt3.6-tasks.html 가 (정상 하이퍼 링크를 참고 차트로 이동 "Gannt")

원래 XSL "작업"페이지는 다음에서 구할 수 있습니다. http://pixels.studenttribe.org/3DPrinting/StackOverflow/ "이전"파일은 프로그램과 함께 제공된 원본 파일이고 "gannt-tasks.xsl"은 사용중인 버전입니다 (편집 내용 포함) (파일 확장자가 ".xsl"에서 ".txt"로 바뀌어 브라우저에서 볼 수 있음)

질문 : 이 XSL 파일에 Javascript를 추가하려고하면 오류가 발생하는 이유는 무엇입니까? 이 스크립트를 내보낼 때 HTML에 자동으로 포함시키는 솔루션이 있습니까? (위에 제공된 첫 번째 링크의 페이지 소스를보고 직접 입력 한 스크립트를 볼 수 있습니다. 스크립트는 맨 위에 있습니다.) N.B. 이 스크립트는 일반 텍스트를 표시하는 것과는 대조적으로 HTML을 가능하게합니다.

미리 도움 주셔서 감사합니다.

제롬

답변

1

XSLT가 올바른 형식인지 확인하십시오. JavaScript 코드에서 이스케이프 처리되지 않은 < 또는 &은 XML을 손상시킵니다.

당신과 같이 <![CDATA[...]]>의 내용을 포장하여 스크립트를 "탈출"할 수 있습니다

<script type="application/javascript"><![CDATA[ 
    // Put your script here 
]]></script> 

XML은 HTML만큼 관대하지 않다. 더 엄격한 구문 분석 규칙을 사용합니다.

+0

도움을 주셔서 감사합니다. 이제 Javascript가 자동으로 HTML에 추가되었으며, 실제로 "탈출"이 무엇인지도 배웠습니다. 아코디언 레이아웃을이 테이블에 포함시키는 것에 관해 묻는 새로운 Stackoverflow 질문을 시작하겠습니다. – Jerome

+0

문제가 해결되어 기쁩니다. 그렇습니다, 당신은 분명히 분리 된 부분으로 질문을 분리해야합니다. Stackoverflow에 대한 질문과 답변은 가능한 한 다른 사람들에게 유용해야합니다. 모든 측면이 다른 상황은 매우 구체적입니다. 그래서 질문과 제목을 편집하고 1) 그곳을 떠날 때 필요한 경우 다른 측면에 대한 다른 질문을 만듭니다. 2) XSLT로 아무 것도 할 필요가 없습니다. –

+0

도와 주셔서 감사합니다. – Jerome