๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

๊ธฐ์กด ํ…œํ”Œ๋ฆฟ์ด(hml, hwp) ์žˆ๊ณ  ํ•ด๋‹น ํ…œํ”Œ๋ฆฟ์„ ๋ณ€ํ™˜ํ•  ๋•Œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•œ ๋‚ด์šฉ

 

์˜ˆ๋ฅผ ๋“ค์–ด ๋„์„œ๊ด€ ๋Œ€์ถœ ๋ชฉ๋ก ๋ฆฌํฌํŠธ๋ผ๊ณ  ํ•ด๋ณด์ž.

ํ…œํ”Œ๋ฆฟ์—๋Š” ๋ฐ์ดํ„ฐ ์‹œ์ž‘ ์œ„์น˜์— ๋งˆ์ปค๋ฅผ ์‚ฝ์ž…ํ•ด๋‘”๋‹ค.

<CHAR>#BOOK_ROW#</CHAR>

ํ•ด๋‹น ๋งˆ์ปค๋Š” ์„ฑ์ ํ‘œ ํ‘œ ์•ˆ์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฝ์ž…๋  ์‹œ์ž‘ ์œ„์น˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

ํ…œํ”Œ๋ฆฟ์˜ TABLE ํƒœ๊ทธ๋Š” ๋ณดํ†ต ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

 

์œ„ ํƒœ๊ทธ๋Š” 3๋ฒˆ์งธ ROW์•ˆ์— ์ฒซ๋ฒˆ์งธ CELL์— ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ๋‚ด์šฉ์ด ๋ ๊ฒƒ์ด๋‹ค.

 

<TABLE RowCount="6" ColCount="4">
  <ROW RowAddr="0">...</ROW> <!-- ์ œ๋ชฉ -->
  <ROW RowAddr="1">...</ROW> <!-- ํ—ค๋” -->
  <ROW RowAddr="2">...</ROW> <!-- ์ฒซ ๋ฒˆ์งธ ์ฑ… -->
  <ROW RowAddr="3">...</ROW> <!-- ๋‘ ๋ฒˆ์งธ ์ฑ… -->
  ...
</TABLE>

 

๊ทธ๋ ‡๋‹ค๋ฉด ํ•ต์‹ฌ ๋กœ์ง์€ ์ด๋ ‡๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค.

  • <CHAR>#BOOK_ROW#</CHAR> ๋งˆ์ปค๋ฅผ ๊ธฐ์ค€์œผ๋กœ <ROW> ๋ธ”๋Ÿญ์„ ๋ณต์‚ฌ
  • ๊ฐ <ROW> ๋‚ด๋ถ€์˜ <TEXT> ํƒœ๊ทธ๋ฅผ replaceALL๋กœ ์ˆœ์ฐจ ์น˜ํ™˜
  • RowAddr๋Š” ๋ฐ˜๋“œ์‹œ ๊ฐ๊ฐ ๋‹ค๋ฅด๊ฒŒ ์„ค์ •ํ•ด์•ผ ํ•จ (2 + i)
  • <TABLE> ํƒœ๊ทธ ์•ˆ RowCount ๊ฐ’๋„ ๋ฐ˜๋“œ์‹œ ๊ฐฑ์‹ ํ•ด์•ผ ๋ฌธ์„œ ์†์ƒ ์•ˆ๋จ

 

ํ…œํ”Œ๋ฆฟ์ด ๊ฐ์ž ๋‹ฌ๋ผ์„œ ์„œ๋น„์Šค ๋กœ์ง๊นŒ์ง€ ์„ค๋ช…ํ•˜๊ธด ์–ด๋ ค์šธ ๊ฒƒ ๊ฐ™๋‹ค ใ… 

๋งŒ์ผ #BOOK_ROW# ๊ฐ€ ํฌํ•จ๋œ ๊ธฐ์ค€ ROW๋ฅผ ์ฐพ๋Š”๋‹ค๋ฉด

String rowStartMarker = "#BOOK_ROW#";
String rowStartTag = "<CHAR>" + rowStartMarker + "</CHAR>";

int rowStartIndex = templateContent.indexOf(rowStartTag);

int rowTagStart = templateContent.lastIndexOf("<ROW", rowStartIndex);
int rowTagEnd = templateContent.indexOf("</ROW>", rowStartIndex) + "</ROW>".length();
String originalRow = templateContent.substring(rowTagStart, rowTagEnd);

์ด๋Ÿฐ์‹์œผ๋กœ ์ฐพ์œผ๋ฉด ๋œ๋‹ค.

 

์…€ ์•ˆ์— ๊ฐ’์„ ๋„ฃ์„๋•Œ๋Š” ๊ธฐ๋ณธ ํ…œํ”Œ๋ฆฟ ๊ตฌ์กฐ๋ฅผ ํŒŒ์•…ํ•œ ํ›„ ์ •ํ™•ํ•˜๊ฒŒ ๋™์ผํ•œ ์œ„์น˜์— ์น˜ํ™˜ํ•ด์ฃผ์ง€ ์•Š์œผ๋ฉด ์†์ƒ๋œ ํŒŒ์ผ์ด๋‚˜ ๊นจ์ง„ ํŒŒ์ผ์ด ๋˜๋ฒ„๋ฆฌ๋‹ˆ ์กฐ์‹ฌํ•ด์•ผ ํ•œ๋‹ค. 

RowAddr, RowCount ๊ฐ™์€ ์†์„ฑ๋“ค์ด ์ค‘๋ณต๋˜๊ฑฐ๋‚˜ ๊ฐฏ์ˆ˜๊ฐ€ ๋‹ฌ๋ผ์ง€์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•˜์ž.

 

ํ…œํ”Œ๋ฆฟ XML์„ ๋‹ค๋ฃจ๋ฉด, HTML์ด๋‚˜ ์—‘์…€์ฒ˜๋Ÿผ ์†์‰ฝ๊ฒŒ ํ…์ŠคํŠธ ๋ฐ”์ธ๋”ฉ์€ ์–ด๋ ต์ง€๋งŒ ๊ทธ๋งŒํผ ์ž์œ ๋„ ์žˆ๋Š” ์ œ์–ด๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

๋ฐ˜์‘ํ˜•