돈 안 들이고 PDF 파일 만들기 1장 XML

세벌의 이미지

물음 : XML이 뭐죠?
답변 : eXtended Markup Language 입니다.

위의 답은 맞을까요? 틀릴까요? 맞다고 하신 분이 있다면 아쉽게도 땡! 틀렸습니다.

XML의 X는 extended(확장된)가 아니고 extensible(확장가능한)을 뜻합니다. 혹시나 하고 구글에 찾아 봤더니 about.com에도 잘못된 표현( http://linux.about.com/cs/linux101/g/xmllparextended.htm )이 보이네요. 이런....

XML은 extensible markup language 입니다. markup language 중에 우리들이 가장 흔히 볼 수 있는게 HTML(HyperText Markup Languagee)입니다. 인터넷의 문서들은 기본적으로 대부분 HTML로 되어있죠. HTML은 확장가능하지 않습니다. 이 뜻이 뭔고 하면 정해진 요소 이외에는 쓸 수가 없단 얘기죠. 반면에 XML은 확장가능하므로 여러 분야에 응용할 수 있습니다. PDF 파일을 만드는 것도 그 중의 하나죠.

우선 간단한 XML 문서를 만들어 봅시다.

Hi.xml

<?xml version='1.0'?>
<root>
<p>Hi</p>
</root>

편집기는 MS 윈도 사용자라면 메모장, Linux 사용자라면 vi 쓰시면 됩니다. 물론 다른 편집기 쓰셔도 되고요.
이 문서를 파이어폭스(저는 파이어폭스를 애용합니다만 인터넷익스플로러에서도 물론 가능)에서 열어 봅시다. 잘 열리죠? 별로 특이할 게 없어 보입니다.(물론 오타가 났다면 에러 메시지를 보실 수도 있습니다.)

이번에는 Hi 대신 안녕 이라고만 바꾸어 봅시다.

Hik.xml

<?xml version='1.0'?>
<root>
<p>안녕</p>
</root>

이렇게요. 마찬가지로 파이어폭스로 열어보면 이런. 에러가 납니다. 파일을 저장할 때 UTF-8 형식으로 저장하면 에러가 나오지 않고 잘 열리는 것을 볼 수 있습니다. utf-8형식으로 저장하는 방법 모르시는 분을 위해 조금 더 설명하자면
메모장에서 파일 - 다른이름으로 저장 - 인코딩에서 UTF-8을 선택하셔서 저장하시면 됩니다.

인코딩 얘기가 나온 김에 한마디 더 하면 우리나라에서 자주 쓰이는 방식은 euc-kr 이라는 건데 이건 아름다운 한글 중 자주 쓰이는 일부 글자만을 코드에 넣어 놓아서 욕을 많이 먹고 있는 방식입니다. euc-kr 대신 utf-8을 사용할 것을 권장합니다. 아래와 같이 인코딩 방식을 문서 안에 명시적으로 써 넣을 수도 있습니다.

hik8.xml

<?xml version='1.0' encoding='utf-8'?>
<root>
<p>안녕</p>
</root>

Forums: 
thames의 이미지

기대되는 강의군요. 허허허.. 저만 그런가 -_ㅠ
──────────────────────────────────


──────────────────────────────────

oppor의 이미지

이거 나빌레라 님의 컴퓨터를 만듭시다 강좌처럼 rss 리더에서 읽어지게 올려주시면 안되나요?

blog에 올리면 되는것 같은데...

rss로 등록해 놓으면 나중에 찾기도 쉬울것 같아요.

세벌의 이미지

puresupe의 이미지

저도 기대되네요 ㅋㅋ
xml..막상 책빌려서 읽을 시간은 안났었는데..
틈틈히 세벌님 글 읽어야겠네요 ㅋ

kyagrd의 이미지

무료공개로 배포하는 TeX 시스템으로 조판해 pdf 뽑아내면 되는 거 아닌가요?
LaTeX이라면 pdflatex 로 컴파일하면 되고요. 강좌의 목적이나 내용이 감이 잘 안잡히는네요.
전 평소에 돈 안 들이고 PDF을 뽑아내고 있어서 당연히 LaTeX이나 TeX강좌라고 생각했는데 XML을 소개하시네요.

아무리 생각해도 XML은 사람이 날코딩할 물건이 아니라서 현실적으로는 문서를 만들 때 조판 시스템으로 아직까지 (La)TeX만한 것이 없을 것 같아요.

--
There's nothing so practical as a good theory. - Kurt Lewin
"하스켈로 배우는 프로그래밍" http://pl.pusan.ac.kr/~haskell/

--
There's nothing so practical as a good theory. - Kurt Lewin
"하스켈로 배우는 프로그래밍" http://pl.pusan.ac.kr/~haskell/

세벌의 이미지

laTeX 이용하면 돈 안들이고 pdf 만들기 가능합니다. 또 다른 방법으로도 돈 안들이고 pdf 만드는 방법이 있고... 제 강좌의 목적은 XSL-FO에 대해 초보자도 쉽게 이해할 수 있도록 해 보자는 거고, 제목은 관심을 끌기 위해 그렇게 만들었습니다.

http://sebul.sarang.net/

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.