xslt를 이용해서 xml 파일을 부분적으로 수정하는 방법은?
글쓴이: prolinko / 작성시간: 목, 2005/09/01 - 6:17오후
굉장히 덩치가 크고 복잡한 XHTML 파일이 있는 데 이중에서 특정 부분을 수정하고 싶습니다. 정확히 말하면 모든 <a>태그의 name 애트리뷰트 값들을 수정하고 싶습니다.
단순 검색/치환으로는 하기 힘든일이고 정규식을 이용한 펄스크립트 정도를 짜서도 할 수 있는 일인 것 같습니다. 그런데 스크립트 보다는 xslt를 쓰는게 더 깔끔한 방법인 것 같아서 xslt를 조금 공부 해 보았습니다.
그런데 문제가 제가 웹에서 본 예제들은 전부 특정 데이터를 담고있는 xml을 프로세싱 해서, 원본과 다른 구조의 xml을 루트 엘레멘트 부터 생성해내는 형식입니다. 즉 <xsl:template match="/"> 로 부터 시작해서 내용을 만들어 나가는 형식이지요.
내용을 처음부터 새로 생성하기 보다는 소스 xml의 대부분의 내용은 그대로 두고 특정 조건을 만족하는 태그를 찾아서(이 xquery는 대충 작성할 수 있을 것 같습니다) 그 아래 내용만 원하는 모양으로 치환 할려면 어떤 식으로 스타일시트를 작성해야 되나요?
참고로 입력으로 들어오는 소스 들이 양이 방대하고 특별한 규칙이 없는 XHTML이며 <a> 태그가 등장하는 위치도 정해져 있는게 없습니다.
Forums:
xsl:copy를 활용해보시면 될것같네요.치환을 원하는 엘리먼트만 t
xsl:copy를 활용해보시면 될것같네요.
치환을 원하는 엘리먼트만 template으로 빼서 치환해버리고, 나머지는 전부 copy하면 될듯합니다.
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
댓글 달기