diff --git a/01_copy_files_answer.py b/01_copy_files_answer.py index a4a8cd9..9caa586 100644 --- a/01_copy_files_answer.py +++ b/01_copy_files_answer.py @@ -3,7 +3,7 @@ import shutil import glob # ── 설정 ──────────────────────────────────────────────────────────────── -exam_round = "2603" # 회차명 +exam_round = "2604" # 회차명 exam_code = "DIW" # 코드명 source_dir = rf"D:\project\HWP\HWP-Scoring\회차별채점자료\{exam_round}" @@ -13,7 +13,7 @@ types = ["A", "B", "C", "D", "E"] # ── 복사 실행 ──────────────────────────────────────────────────────────── for type in types: - pattern = os.path.join(source_dir, f"*회 {type}형") + pattern = os.path.join(source_dir, f"*{type}*") matched = [d for d in glob.glob(pattern) if os.path.isdir(d)] if not matched: diff --git a/01_copy_files_by_path.py b/01_copy_files_by_path.py index 695a27c..7cd74dc 100644 --- a/01_copy_files_by_path.py +++ b/01_copy_files_by_path.py @@ -43,10 +43,10 @@ def copy_dic_subdirs(source_root, target_root_a, target_root_b, target_root_c, t print(f"Skipping {dir_name} under {parent_dir}, as it doesn't match '2교시' or '3교시'.") # 사용법 -exam_round = "2601" +exam_round = "2604_5" # exam_round = "2510_4" # source_directory = r"D:\project\data\제2510회 수시2(제주)\답안파일\제2510회 수시2 제주지부_답안파일" -source_directory = r"D:\project\data\제2601회 정기\제2601회 정기\과목별답안파일" +source_directory = r"D:\project\data\제2604회 수시5(읍내)\답안파일\2604회 수시5_읍내정보통신학교" target_directory_a = f".\\input\\{exam_round}\\A" # '1교시'의 타겟 경로 diff --git a/01_copy_files_by_subject.py b/01_copy_files_by_subject.py index a2fb353..bcb954b 100644 --- a/01_copy_files_by_subject.py +++ b/01_copy_files_by_subject.py @@ -78,8 +78,8 @@ def copy_exam_files(exam_round, exam_codes, source_dir): # 사용 예시 if __name__ == "__main__": # [source_dir경로\DIW] 디렉토리 안에 A형, B형... 폴더가 존재해야 함 - exam_round = "2603" + exam_round = "2604_2" exam_codes = ["DIW"] - source_dir = r"D:\project\data\제2603회 정기\답안파일\과목별답안파일" + source_dir = r"D:\project\data\제2604회 수시2(수원)\답안파일" copy_exam_files(exam_round, exam_codes, source_dir) diff --git a/02_conversion_hwp_to_xml.py b/02_conversion_hwp_to_xml.py index 4b7a9b6..e6afd8d 100644 --- a/02_conversion_hwp_to_xml.py +++ b/02_conversion_hwp_to_xml.py @@ -166,7 +166,7 @@ if __name__ == "__main__": setup_logging() exam_rounds = [ - "2603", + "2604", ] # 변환할 폴더 경로 설정 diff --git a/260423_DIW_2604_4A_채점결과.xlsx b/260423_DIW_2604_4A_채점결과.xlsx new file mode 100644 index 0000000..02542be Binary files /dev/null and b/260423_DIW_2604_4A_채점결과.xlsx differ diff --git a/260423_DIW_2604_5A_채점결과.xlsx b/260423_DIW_2604_5A_채점결과.xlsx new file mode 100644 index 0000000..2482e88 Binary files /dev/null and b/260423_DIW_2604_5A_채점결과.xlsx differ diff --git a/260427_DIW_2604A_채점결과.xlsx b/260427_DIW_2604A_채점결과.xlsx new file mode 100644 index 0000000..013cb84 Binary files /dev/null and b/260427_DIW_2604A_채점결과.xlsx differ diff --git a/260427_DIW_2604B_채점결과.xlsx b/260427_DIW_2604B_채점결과.xlsx new file mode 100644 index 0000000..6588b67 Binary files /dev/null and b/260427_DIW_2604B_채점결과.xlsx differ diff --git a/260427_DIW_2604C_채점결과.xlsx b/260427_DIW_2604C_채점결과.xlsx new file mode 100644 index 0000000..d4ad0b5 Binary files /dev/null and b/260427_DIW_2604C_채점결과.xlsx differ diff --git a/JSON/2604/DIW_2604A.json b/JSON/2604/DIW_2604A.json new file mode 100644 index 0000000..7eb8257 --- /dev/null +++ b/JSON/2604/DIW_2604A.json @@ -0,0 +1,850 @@ +{ + "0": { + "0": { + "path": "", + "path2": "", + "points": 0, + "category": "파일저장", + "item": "파일명 (수검번호.hwp/hwpx)" + }, + "1": { + "path": "//PAGEMARGIN", + "value": { + "Top": 20, + "Bottom": 20, + "Left": 20, + "Right": 20, + "Header": 10, + "Footer": 10, + "Gutter": 0 + }, + "tolerance": 1, + "points": 4, + "category": "PageSetting", + "item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)" + }, + "2": { + "path": "", + "value": { + "FontName": "바탕", + "FontSize": "1000", + "Alignment": "Justify", + "LineSpacing": "160" + }, + "points": 4, + "category": "BasicSetting", + "item": "글꼴 (바탕, 10pt), 양쪽정렬, 줄간격 (160%)" + }, + "3": { + "path": "", + "value": null, + "points": 40, + "category": "오타감점", + "item": "오타 1개 -1점 / 2503회부터 오타 1개 -1점으로 변경" + } + }, + "1": { + "1": { + "path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName", + "searchValue": "디지털노마드창업자모집", + "value": "휴먼옛체", + "points": 1, + "category": "OneAnswer", + "item": "문구 (디지털노마드창업자모집)/① 글씨체 (휴먼옛체)" + }, + "2": { + "path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor", + "searchValue": "디지털노마드창업자모집", + "value": "202,86,167", + "points": 2, + "category": "Color", + "item": "문구 (디지털노마드창업자모집)/② 채우기 : 색상(RGB:202,86,167)" + }, + "3": { + "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width", + "searchValue": "디지털노마드창업자모집", + "value": "120", + "tolerance": 1, + "points": 2, + "category": "mmSize", + "item": "문구 (디지털노마드창업자모집)/③ 크기-너비 (120 mm)" + }, + "4": { + "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height", + "searchValue": "디지털노마드창업자모집", + "value": "20", + "tolerance": 1, + "points": 2, + "category": "mmSize", + "item": "문구 (디지털노마드창업자모집)/④ 크기-높이 (20 mm)" + }, + "5": { + "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar", + "searchValue": "디지털노마드창업자모집", + "value": "true", + "points": 2, + "category": "OneAnswer", + "item": "문구 (디지털노마드창업자모집)/⑤ 위치 (글자처럼 취급)" + }, + "6": { + "path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align", + "searchValue": "디지털노마드창업자모집", + "value": "Center", + "points": 2, + "category": "OneAnswer", + "item": "문구 (디지털노마드창업자모집)/⑥ 정렬 (가운데 정렬)" + }, + "7": { + "path": "//TEXTART[@Text='{searchValue}']", + "searchValue": "디지털노마드창업자모집", + "value": true, + "points": 2, + "category": "Boolean", + "item": "문구 (디지털노마드창업자모집)/⑦ 글맵시모양 (육안확인)" + }, + "8": { + "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE", + "searchValue": "서", + "value": { + "Height": 2800, + "Width": 2800 + }, + "tolerance": 200, + "points": 1, + "category": "TwoLineSize", + "item": "어/① 모양 (2줄)" + }, + "9": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "서", + "value": "궁서체", + "points": 1, + "category": "FontName", + "item": "어/② 글씨체 (궁서체)" + }, + "10": { + "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor", + "searchValue": "서", + "value": "238,219,98", + "points": 2, + "category": "Color", + "item": "어/③ 면색 : 색상(RGB:238,219,98)" + }, + "11": { + "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right", + "searchValue": "서", + "value": "3.0", + "tolerance": 1, + "points": 2, + "category": "mmSize", + "item": "어/④ 본문과의 간격 : 3.0mm" + }, + "12": { + "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", + "searchValue": "디지털노마드 형태의 근무와 창업에 관심 있는 분들의", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/① BOLD" + }, + "13": { + "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", + "searchValue": "디지털노마드 형태의 근무와 창업에 관심 있는 분들의", + "value": "UNDERLINE", + "points": 1, + "category": "FontAttribute", + "item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/② UNDERLINE" + }, + "14": { + "path": "//CHAR[contains(string(.),'{char1}')]/text()", + "path2": "//CHAR[contains(string(.),'{char2}')]/text()", + "path3": "//CHAR[contains(string(.),'{char3}')]/text()", + "char1": "◎", + "char2": "◎", + "char3": "※", + "value": 3, + "points": 3, + "category": "SpecialChar", + "item": "① ◎ , ② ◎ , ③ ※" + }, + "15": { + "path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape", + "searchValue": "참여안내", + "value": "돋움", + "points": 1, + "category": "FontName", + "item": "문구 (◎ 참여안내 ◎)/① 글씨체 (돋움)" + }, + "16": { + "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align", + "match_str": "참여안내", + "value": "Center", + "points": 1, + "category": "Align", + "item": "문구 (◎ 참여안내 ◎)/② 정렬 (가운데 정렬)" + }, + "17": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", + "searchValue": "서면심사 및 대면심사", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "문구 (서면심사 및 대면심사)/① BOLD" + }, + "18": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", + "searchValue": "서면심사 및 대면심사", + "value": "ITALIC", + "points": 1, + "category": "FontAttribute", + "item": "문구 (서면심사 및 대면심사)/② ITALIC" + }, + "19": { + "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN", + "searchValue": "기타사항", + "value": { + "Left": 15, + "Indent": 12 + }, + "points": 2, + "category": "ParaShape", + "item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15), 내어쓰기 (12)", + "desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력" + }, + "20": { + "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height", + "searchValue": "2026. 04. 25.", + "value": "1300", + "points": 1, + "category": "OneAnswer", + "item": "문구 (2026. 04. 25.)/① 크기 (1300)", + "desc": "1pt당 100" + }, + "21": { + "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align", + "searchValue": "2026. 04. 25.", + "value": "Center", + "points": 1, + "category": "OneAnswer", + "item": "문구 (2026. 04. 25.)/② 정렬 (가운데 정렬)" + }, + "22": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "디지털노마드센터", + "value": "굴림체", + "points": 1, + "category": "FontName", + "item": "문구 (디지털노마드센터)/① 글씨체 (굴림체)" + }, + "23": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "디지털노마드센터", + "value": "2500", + "points": 1, + "category": "OneAnswer", + "item": "문구 (디지털노마드센터)/② 크기 (2500)" + }, + "24": { + "path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align", + "searchValue": "디지털노마드센터", + "value": "Center", + "points": 1, + "category": "OneAnswer", + "item": "문구 (디지털노마드센터)/③ 정렬 (가운데 정렬)" + }, + "25": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "DIAT", + "value": "굴림", + "points": 1, + "category": "Header.FontName", + "item": "문구 (DIAT)/① 글꼴 (굴림)" + }, + "26": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "DIAT", + "value": "900", + "points": 1, + "category": "Header.OneAnswer", + "item": "문구 (DIAT)/② 크기 (9pt)" + }, + "27": { + "path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align", + "searchValue": "DIAT", + "value": "Right", + "points": 1, + "category": "Header.OneAnswer", + "item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)" + }, + "28": { + "path": "//PAGENUM/@FormatType", + "value": "HangulSyllable", + "points": 2, + "category": "PageNumber", + "item": "① 쪽 번호 매기기 (가,나,다 순으로)", + "desc1": { + "가,나,다": "HangulSyllable", + "1,2,3": "Digit", + "일,이,삼": "HangulPhonetic", + "갑,을,병": "DecagonCircle", + "A,B,C": "LatinCapital", + "a,b,c": "LatinSmall", + "Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital", + "①,②,③": "CircledDigit", + "一,二,三": "Ideograph", + "㉠,㉡,㉢": "CircledHangulJamo", + "ⓐ,ⓑ,ⓒ": "CircledLatinSmall", + "㊀,㊁,㊂": "CircledIdeograph", + "i,ii,iii": "RomanSmall", + "I,II,III": "RomanCapital", + "甲,乙,丙": "DecagonCircleHanja", + "+,++,+++": "UserChar", + "*,**,***": "UserChar", + "정답에 맞는 값 value에 입력": "" + }, + "desc2": "1, 2페이지 모두 정답이어야 점수 부여" + }, + "29": { + "path": "//PAGENUM/@Pos", + "value": "BottomCenter", + "points": 2, + "category": "PageNumber", + "item": "가운데 아래", + "desc": "1, 2페이지 모두 정답이어야 점수 부여", + "desc2": { + "가운데 아래": "BottomCenter", + "오른쪽 아래": "BottomRight", + "왼쪽 아래": "BottomLeft" + } + }, + "30": { + "path": "//CHAR[contains(text(),'{searchValue}')]", + "searchValue": "http", + "value": true, + "points": 2, + "category": "hyperlink", + "item": "문구 (http://www.ihd.or.kr)/하이퍼링크 없이 작성", + "desc": "searchValue에 해당하는 주소 문구에 하이퍼링크가 하나라도 설정되어 있으면 오답" + }, + "31": { + "path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing", + "value": "190", + "first_word": "서", + "points": 2, + "category": "LineSpacing", + "item": "문제 1 줄간격 190% 설정", + "desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다." + } + }, + "2": { + "1": { + "path": "//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@HeaderInside", + "path2": "//BORDERFILL[@Id=//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@BorferFill]", + "value": { + "header_inside": true, + "all_double_slim": true + }, + "points": 4, + "category": "PageBorder", + "item": "문제2 쪽테두리(이중 실선, 머리말 포함) 설정" + }, + "2": { + "path": "count(//SECTION)>1", + "value": true, + "points": 3, + "category": "Boolean", + "item": "① 구역나누기", + "desc": "섹션이 1개 이상이면 점수부여" + }, + "3": { + "path": "./TEXT/COLDEF/@Count", + "value": "2", + "points": 3, + "category": "TwoColumn", + "item": "② 다단 2단" + }, + "4": { + "path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width", + "value": "60", + "points": 2, + "category": "Rectangle.mmSize", + "item": "문구 (디지털노마드)/① 크기-너비 (60 mm)" + }, + "5": { + "path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height", + "value": "12", + "points": 2, + "category": "Rectangle.mmSize", + "item": "문구 (디지털노마드)/② 크기-높이 (12 mm)" + }, + "6": { + "path": "//RECTANGLE//LINESHAPE", + "value": { + "Style": "DoubleSlim", + "Width": "283" + }, + "points": 2, + "category": "Rectangle.LineShape", + "item": "문구 (디지털노마드)/③ 테두리 : 이중 실선(1.00mm)", + "desc": "1mm = 283pt value['Width']에 pt값 입력" + }, + "7": { + "path": "//RECTANGLE/@Ratio", + "value": "50", + "points": 2, + "category": "Rectangle.OneAnswer", + "item": "문구 (디지털노마드)/④ 글상자 모서리 (둥근모양)", + "desc": "모서리 비율 반원:50 / 둥근모양:20" + }, + "8": { + "path": "//RECTANGLE//WINDOWBRUSH/@FaceColor", + "value": "192,205,239", + "points": 2, + "category": "Rectangle.Color", + "item": "문구 (디지털노마드)/⑤ 채우기 : 색상(RGB:192,205,239)" + }, + "9": { + "path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar", + "value": "true", + "points": 1, + "category": "Rectangle.OneAnswer", + "item": "문구 (디지털노마드)/⑥ 글상자 위치 (글자처럼 취급)" + }, + "10": { + "path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align", + "value": "Center", + "points": 1, + "category": "Rectangle.TextBoxAlign", + "item": "문구 (디지털노마드)/⑦ 글상자 정렬 (가운데 정렬)" + }, + "11": { + "path": ".//RECTANGLE//TEXT/@CharShape", + "value": "견고딕", + "points": 1, + "category": "Rectangle.FontName", + "item": "문구 (디지털노마드)/⑧ 글씨체 (견고딕)" + }, + "12": { + "path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height", + "value": "1900", + "points": 1, + "category": "Rectangle.FontSize", + "item": "문구 (디지털노마드)/⑨ 글씨크기 (1900)", + "desc": "1pt당 100" + }, + "13": { + "path": "//PARASHAPE[@Id={rect_parashape_id}]/@Align", + "value": "Center", + "points": 1, + "category": "Rectangle.TextBoxAlign", + "item": "문구 (디지털노마드)/⑩ 정렬 (가운데 정렬)" + }, + "14": { + "path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']", + "value": true, + "points": 2, + "category": "Boolean", + "item": "① 파일명 \"그림A.jpg\" 삽입", + "desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)" + }, + "15": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width", + "value": "85", + "points": 2, + "category": "mmSize", + "item": "② 크기-너비 (85 mm)" + }, + "16": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height", + "value": "40", + "points": 2, + "category": "mmSize", + "item": "③ 크기-높이 (40 mm)" + }, + "17": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset", + "value": "0", + "points": 2, + "category": "mmSize", + "item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0mm)" + }, + "18": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset", + "value": "22", + "points": 2, + "category": "mmSize", + "item": "⑤ 위치 (어울림 : 세로-쪽의 위 22 mm)" + }, + "19": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "1. 디지털노마드란?", + "value": "돋움", + "points": 1, + "category": "FontName", + "item": "문구① (1. 디지털노마드란?)/① 글씨체 (돋움)" + }, + "20": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "1. 디지털노마드란?", + "value": "1200", + "points": 1, + "category": "OneAnswer", + "item": "문구① (1. 디지털노마드란?)/② 크기 (1200)" + }, + "21": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "searchValue": "1. 디지털노마드란?", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "문구① (1. 디지털노마드란?)/③ 진하게" + }, + "22": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "2. 디지털노마드의 장단점", + "value": "돋움", + "points": 1, + "category": "FontName", + "item": "문구② (2. 디지털노마드의 장단점)/① 글씨체 (돋움)" + }, + "23": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "2. 디지털노마드의 장단점", + "value": "1200", + "points": 1, + "category": "OneAnswer", + "item": "문구② (2. 디지털노마드의 장단점)/② 크기 (1200)" + }, + "24": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "searchValue": "2. 디지털노마드의 장단점", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "문구② (2. 디지털노마드의 장단점)/③ 진하게" + }, + "25": { + "path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)", + "path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)", + "option": "공유오피스", + "value": true, + "points": 2, + "category": "Boolean", + "item": "문구 (공유오피스)/① 각주 설정 및 문구 입력" + }, + "26": { + "path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape", + "searchValue": "함께 사용할 수 있는 사무공간", + "value": "돋움체", + "points": 1, + "category": "FontName", + "item": "문구 (공유오피스)/② 글씨체 (돋움체)" + }, + "27": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height", + "searchValue": "함께 사용할 수 있는 사무공간", + "value": "900", + "points": 1, + "category": "OneAnswer", + "item": "문구 (공유오피스)/③ 크기 (9pt)" + }, + "28": { + "path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type", + "searchValue": "함께 사용할 수 있는 사무공간", + "value": "UserChar", + "points": 2, + "category": "PageNumber", + "item": "문구 (전당)/④ 각주 번호모양", + "desc": { + "가,나,다": "HangulSyllable", + "1,2,3": "Digit", + "일,이,삼": "HangulPhonetic", + "갑,을,병": "DecagonCircle", + "A,B,C": "LatinCapital", + "a,b,c": "LatinSmall", + "Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital", + "①,②,③": "CircledDigit", + "一,二,三": "Ideograph", + "㉠,㉡,㉢": "CircledHangulJamo", + "ⓐ,ⓑ,ⓒ": "CircledLatinSmall", + "㊀,㊁,㊂": "CircledIdeograph", + "i,ii,iii": "RomanSmall", + "I,II,III": "RomanCapital", + "甲,乙,丙": "DecagonCircleHanja", + "+,++,+++": "UserChar", + "*,**,***": "UserChar", + "정답에 맞는 값 value에 입력": "" + } + }, + "29": { + "path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])", + "ignoreWord": "Digital", + "value": true, + "points": 3, + "category": "Boolean", + "item": "Digital/영단어 미입력, 대소문자/오타 시 전체 감점", + "desc": "" + }, + "30": { + "path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]", + "word": [ + ["원격", "遠隔"], + ["환경", "環境"], + ["문화", "文化"], + ["형성", "形成"], + ["부여", "附與"] + ], + "value": 10, + "points": 10, + "category": "Hanja", + "item": "① 원격(遠隔), ② 환경(環境), ③ 문화(文化), ④ 형성(形成), ⑤ 부여(附與)" + }, + "31": { + "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'소에구애')])", + "value": true, + "points": 3, + "category": "Boolean", + "item": "문구 (…기기를 활용해 장소는 구애받지 않고…)>'는' → '에' 글자바꿈" + }, + "32": { + "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'무나원격')])", + "value": true, + "points": 3, + "category": "Boolean", + "item": "문구 (…원격근무를 재택근무나 하는 사람들을 말한다.…)>'원격근무를 / 재택근무나' 순서바꿈" + }, + "33": { + "path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape", + "searchValue": "전 세계 디지털노마드 추이(단위:만명)", + "value": "중고딕", + "points": 1, + "category": "FontName", + "item": "제목 문구 (전 세계 디지털노마드 추이(단위:만명))/① 글씨체 (중고딕)" + }, + "34": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "전 세계 디지털노마드 추이(단위:만명)", + "value": "1200", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (전 세계 디지털노마드 추이(단위:만명))/② 크기 (1200)" + }, + "35": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "searchValue": "전 세계 디지털노마드 추이(단위:만명)", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "제목 문구 (전 세계 디지털노마드 추이(단위:만명))/③ 진하게" + }, + "36": { + "path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align", + "searchValue": "전 세계 디지털노마드 추이(단위:만명)", + "value": "Center", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (전 세계 디지털노마드 추이(단위:만명))/④ 정렬 (가운데 정렬)" + }, + "37": { + "path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor", + "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor", + "value": "175,232,239", + "points": 2, + "category": "Color", + "item": "위쪽 제목 셀/① 색상(RGB:175,232,239)" + }, + "38": { + "path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "위쪽 제목 셀/② 진하게", + "desc": "글자 속성이라 CELLZONE으로 적용 되지 않음" + }, + "39": { + "path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Type", + "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Type", + "value": "DoubleSlim", + "points": 2, + "category": "TableAnswer", + "item": "제목 셀 아래선/① 이중실선" + }, + "40": { + "path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Width", + "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Width", + "value": "0.5mm", + "points": 2, + "category": "TableAnswer", + "item": "제목 셀 아래선/② 0.5mm" + }, + "41": { + "path": "//TABLE//TEXT/@CharShape", + "path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name", + "value": "바탕체", + "points": 1, + "category": "TableFontName", + "category_tmp": "FontName", + "item": "글자모양/① 글씨체 (바탕체)", + "desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경" + }, + "42": { + "path": "//CHARSHAPE[@Id=//TABLE//TEXT/@CharShape]/@Height", + "value": "1000", + "points": 1, + "category": "TableAnswer", + "item": "글자모양/② 크기 (1000)" + }, + "43": { + "path": "//PARASHAPE[@Id=//TABLE/ROW//P/@ParaShape]/@Align", + "value": "Center", + "points": 1, + "category": "TableAnswer", + "item": "글자모양/③ 정렬 (가운데 정렬)" + }, + "44": { + "path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) or boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])", + "option": "SUM", + "value": true, + "points": 4, + "category": "Boolean", + "item": "블록 계산식/합계", + "desc": "option값에 합계는 SUM / 평균은 AVG" + }, + "45": { + "chart_xpath": "", + "chart_type": "곡선이 있는 분산형", + "value": true, + "points": 2, + "category": "ChartType", + "item": "① 종류 (곡선이 있는 분산형)", + "desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)" + }, + "46": { + "chart_xpath": "//c:valAx/c:majorTickMark/@val", + "value": "out", + "points": 2, + "category": "ChartOneAnswer", + "item": "② 값 축 주 눈금선", + "desc": "chart xml파일에서 답안을 가져오는 문항은 path키값 대신 chart_xpath키값을 이용해 xapth구문을 작성한다" + }, + "47": { + "path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Width", + "value": "80", + "points": 2, + "category": "mmSize", + "item": "③ 크기-너비 (80 mm)" + }, + "48": { + "path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Height", + "value": "90", + "points": 2, + "category": "mmSize", + "item": "④ 크기-높이 (90 mm)" + }, + "49": { + "chart_xpath": "boolean(//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='합계' or text()='평균']))", + "value": true, + "points": 2, + "category": "Boolean", + "item": "⑤ 차트 데이터(표에서 블록계산식을 제외한 나머지 값만 이용)", + "desc": "차트가 존재하고 블록계산식(합계, 평균) 데이터가 없는 경우 정답 처리" + }, + "50": { + "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface", + "searchValue": "전 세계 디지털노마드 추이", + "value": "궁서", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (전 세계 디지털노마드 추이)/① 글씨체 (궁서)" + }, + "51": { + "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz", + "searchValue": "전 세계 디지털노마드 추이", + "value": "1300", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (전 세계 디지털노마드 추이)/② 크기 (1300)" + }, + "52": { + "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}", + "option": "b", + "searchValue": "전 세계 디지털노마드 추이", + "value": "1", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (전 세계 디지털노마드 추이)/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + }, + "53": { + "chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface | //c:catAx/c:txPr//a:latin/@typeface", + "value": "굴림체", + "points": 1, + "category": "ChartOneAnswer", + "item": "X축/① 글꼴 (굴림체)" + }, + "54": { + "chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz", + "value": "900", + "points": 1, + "category": "ChartOneAnswer", + "item": "X축/② 크기 (9pt)" + }, + "55": { + "chart_xpath": "//c:catAx/c:txPr//a:defRPr/@{option}", + "option": "i", + "value": "1", + "points": 1, + "category": "ChartOneAnswer", + "item": "X축/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + }, + "56": { + "chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface | //c:valAx/c:txPr//a:latin/@typeface", + "value": "굴림체", + "points": 1, + "category": "ChartOneAnswer", + "item": "Y축/① 글꼴 (굴림체)" + }, + "57": { + "chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz", + "value": "900", + "points": 1, + "category": "ChartOneAnswer", + "item": "Y축/② 크기 (9pt)" + }, + "58": { + "chart_xpath": "//c:valAx/c:txPr//a:defRPr/@{option}", + "option": "i", + "value": "1", + "points": 1, + "category": "ChartOneAnswer", + "item": "Y축/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + }, + "59": { + "chart_xpath": "//c:legend//a:ea/@typeface | //c:legend//a:latin/@typeface", + "value": "굴림체", + "points": 1, + "category": "OneAnswer", + "item": "범례/① 글꼴 (굴림체)" + }, + "60": { + "chart_xpath": "//c:legend//a:defRPr/@sz", + "value": "900", + "points": 1, + "category": "OneAnswer", + "item": "범례/② 크기 (9pt)" + }, + "61": { + "chart_xpath": "//c:legend//a:defRPr/@{option}", + "option": "i", + "value": "1", + "points": 1, + "category": "OneAnswer", + "item": "범례/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + } + } +} diff --git a/JSON/2604/DIW_2604B.json b/JSON/2604/DIW_2604B.json new file mode 100644 index 0000000..9b59abb --- /dev/null +++ b/JSON/2604/DIW_2604B.json @@ -0,0 +1,850 @@ +{ + "0": { + "0": { + "path": "", + "path2": "", + "points": 0, + "category": "파일저장", + "item": "파일명 (수검번호.hwp/hwpx)" + }, + "1": { + "path": "//PAGEMARGIN", + "value": { + "Top": 20, + "Bottom": 20, + "Left": 20, + "Right": 20, + "Header": 10, + "Footer": 10, + "Gutter": 0 + }, + "tolerance": 1, + "points": 4, + "category": "PageSetting", + "item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)" + }, + "2": { + "path": "", + "value": { + "FontName": "바탕", + "FontSize": "1000", + "Alignment": "Justify", + "LineSpacing": "160" + }, + "points": 4, + "category": "BasicSetting", + "item": "글꼴 (바탕, 10pt), 양쪽정렬, 줄간격 (160%)" + }, + "3": { + "path": "", + "value": null, + "points": 40, + "category": "오타감점", + "item": "오타 1개 -1점 / 2503회부터 오타 1개 -1점으로 변경" + } + }, + "1": { + "1": { + "path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName", + "searchValue": "세계문화체험페스티벌", + "value": "굴림", + "points": 1, + "category": "OneAnswer", + "item": "문구 (세계문화체험페스티벌)/① 글씨체 (굴림)" + }, + "2": { + "path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor", + "searchValue": "세계문화체험페스티벌", + "value": "28,61,98", + "points": 2, + "category": "Color", + "item": "문구 (세계문화체험페스티벌)/② 채우기 : 색상(RGB:28,61,98)" + }, + "3": { + "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width", + "searchValue": "세계문화체험페스티벌", + "value": "130", + "tolerance": 1, + "points": 2, + "category": "mmSize", + "item": "문구 (세계문화체험페스티벌)/③ 크기-너비 (130 mm)" + }, + "4": { + "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height", + "searchValue": "세계문화체험페스티벌", + "value": "20", + "tolerance": 1, + "points": 2, + "category": "mmSize", + "item": "문구 (세계문화체험페스티벌)/④ 크기-높이 (20 mm)" + }, + "5": { + "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar", + "searchValue": "세계문화체험페스티벌", + "value": "true", + "points": 2, + "category": "OneAnswer", + "item": "문구 (세계문화체험페스티벌)/⑤ 위치 (글자처럼 취급)" + }, + "6": { + "path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align", + "searchValue": "세계문화체험페스티벌", + "value": "Center", + "points": 2, + "category": "OneAnswer", + "item": "문구 (세계문화체험페스티벌)/⑥ 정렬 (가운데 정렬)" + }, + "7": { + "path": "//TEXTART[@Text='{searchValue}']", + "searchValue": "세계문화체험페스티벌", + "value": true, + "points": 2, + "category": "Boolean", + "item": "문구 (세계문화체험페스티벌)/⑦ 글맵시모양 (육안확인)" + }, + "8": { + "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE", + "searchValue": "전", + "value": { + "Height": 2800, + "Width": 2800 + }, + "tolerance": 200, + "points": 1, + "category": "TwoLineSize", + "item": "어/① 모양 (2줄)" + }, + "9": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "전", + "value": "맑은 고딕", + "points": 1, + "category": "FontName", + "item": "어/② 글씨체 (맑은 고딕)" + }, + "10": { + "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor", + "searchValue": "전", + "value": "245,132,58", + "points": 2, + "category": "Color", + "item": "어/③ 면색 : 색상(RGB:245,132,58)" + }, + "11": { + "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right", + "searchValue": "전", + "value": "3.0", + "tolerance": 1, + "points": 2, + "category": "mmSize", + "item": "어/④ 본문과의 간격 : 3.0mm" + }, + "12": { + "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", + "searchValue": "전통 공연, 의상 체험, 음식 시식, 공예 체험", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/① BOLD" + }, + "13": { + "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", + "searchValue": "전통 공연, 의상 체험, 음식 시식, 공예 체험", + "value": "ITALIC", + "points": 1, + "category": "FontAttribute", + "item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/② ITALIC" + }, + "14": { + "path": "//CHAR[contains(string(.),'{char1}')]/text()", + "path2": "//CHAR[contains(string(.),'{char2}')]/text()", + "path3": "//CHAR[contains(string(.),'{char3}')]/text()", + "char1": "▶", + "char2": "◀", + "char3": "※", + "value": 3, + "points": 3, + "category": "SpecialChar", + "item": "① ▶ , ② ◀ , ③ ※" + }, + "15": { + "path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape", + "searchValue": "행사안내", + "value": "궁서", + "points": 1, + "category": "FontName", + "item": "문구 (▶ 행사안내 ◀)/① 글씨체 (궁서)" + }, + "16": { + "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align", + "match_str": "행사안내", + "value": "Center", + "points": 1, + "category": "Align", + "item": "문구 (▶ 행사안내 ◀)/② 정렬 (가운데 정렬)" + }, + "17": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", + "searchValue": "2026년 5월 1일(금) 18:00까지 온라인으로 등록(http://www.ihd.or.kr)", + "value": "ITALIC", + "points": 1, + "category": "FontAttribute", + "item": "문구 (2026년 5월 1일(금) 18:00까지 온라인으로 등록(http://www.ihd.or.kr))/① BOLD" + }, + "18": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", + "searchValue": "2026년 5월 1일(금) 18:00까지 온라인으로 등록(http://www.ihd.or.kr)", + "value": "UNDERLINE", + "points": 1, + "category": "FontAttribute", + "item": "문구 (2026년 5월 1일(금) 18:00까지 온라인으로 등록(http://www.ihd.or.kr))/② UNDERLINE" + }, + "19": { + "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN", + "searchValue": "기타사항", + "value": { + "Left": 15, + "Indent": 12 + }, + "points": 2, + "category": "ParaShape", + "item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15), 내어쓰기 (12)", + "desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력" + }, + "20": { + "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height", + "searchValue": "2026. 04. 25.", + "value": "1300", + "points": 1, + "category": "OneAnswer", + "item": "문구 (2026. 04. 25.)/① 크기 (1300)", + "desc": "1pt당 100" + }, + "21": { + "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align", + "searchValue": "2026. 04. 25.", + "value": "Center", + "points": 1, + "category": "OneAnswer", + "item": "문구 (2026. 04. 25.)/② 정렬 (가운데 정렬)" + }, + "22": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "세계도시문화축제협회", + "value": "견고딕", + "points": 1, + "category": "FontName", + "item": "문구 (세계도시문화축제협회)/① 글씨체 (견고딕)" + }, + "23": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "세계도시문화축제협회", + "value": "2500", + "points": 1, + "category": "OneAnswer", + "item": "문구 (세계도시문화축제협회)/② 크기 (2500)" + }, + "24": { + "path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align", + "searchValue": "세계도시문화축제협회", + "value": "Center", + "points": 1, + "category": "OneAnswer", + "item": "문구 (한국대학교육협의회)/③ 정렬 (가운데 정렬)" + }, + "25": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "DIAT", + "value": "중고딕", + "points": 1, + "category": "Header.FontName", + "item": "문구 (DIAT)/① 글꼴 (중고딕)" + }, + "26": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "DIAT", + "value": "900", + "points": 1, + "category": "Header.OneAnswer", + "item": "문구 (DIAT)/② 크기 (9pt)" + }, + "27": { + "path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align", + "searchValue": "DIAT", + "value": "Right", + "points": 1, + "category": "Header.OneAnswer", + "item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)" + }, + "28": { + "path": "//PAGENUM/@FormatType", + "value": "RomanSmall", + "points": 2, + "category": "PageNumber", + "item": "① 쪽 번호 매기기 (가,나,다 순으로)", + "desc1": { + "가,나,다": "HangulSyllable", + "1,2,3": "Digit", + "일,이,삼": "HangulPhonetic", + "갑,을,병": "DecagonCircle", + "A,B,C": "LatinCapital", + "a,b,c": "LatinSmall", + "Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital", + "①,②,③": "CircledDigit", + "一,二,三": "Ideograph", + "㉠,㉡,㉢": "CircledHangulJamo", + "ⓐ,ⓑ,ⓒ": "CircledLatinSmall", + "㊀,㊁,㊂": "CircledIdeograph", + "i,ii,iii": "RomanSmall", + "I,II,III": "RomanCapital", + "甲,乙,丙": "DecagonCircleHanja", + "+,++,+++": "UserChar", + "*,**,***": "UserChar", + "정답에 맞는 값 value에 입력": "" + }, + "desc2": "1, 2페이지 모두 정답이어야 점수 부여" + }, + "29": { + "path": "//PAGENUM/@Pos", + "value": "BottomRight", + "points": 2, + "category": "PageNumber", + "item": "오른쪽 아래", + "desc": "1, 2페이지 모두 정답이어야 점수 부여", + "desc2": { + "가운데 아래": "BottomCenter", + "오른쪽 아래": "BottomRight", + "왼쪽 아래": "BottomLeft" + } + }, + "30": { + "path": "//CHAR[contains(text(),'{searchValue}')]", + "searchValue": "http", + "value": true, + "points": 2, + "category": "hyperlink", + "item": "문구 (http://www.ihd.or.kr)/하이퍼링크 없이 작성", + "desc": "searchValue에 해당하는 주소 문구에 하이퍼링크가 하나라도 설정되어 있으면 오답" + }, + "31": { + "path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing", + "value": "180", + "first_word": "전", + "points": 2, + "category": "LineSpacing", + "item": "문제 1 줄간격 180% 설정", + "desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다." + } + }, + "2": { + "1": { + "path": "//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@HeaderInside", + "path2": "//BORDERFILL[@Id=//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@BorferFill]", + "value": { + "header_inside": true, + "all_double_slim": true + }, + "points": 4, + "category": "PageBorder", + "item": "문제2 쪽테두리(이중 실선, 머리말 포함) 설정" + }, + "2": { + "path": "count(//SECTION)>1", + "value": true, + "points": 3, + "category": "Boolean", + "item": "① 구역나누기", + "desc": "섹션이 1개 이상이면 점수부여" + }, + "3": { + "path": "./TEXT/COLDEF/@Count", + "value": "2", + "points": 3, + "category": "TwoColumn", + "item": "② 다단 2단" + }, + "4": { + "path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width", + "value": "65", + "points": 2, + "category": "Rectangle.mmSize", + "item": "문구 (글로벌 문화 교류)/① 크기-너비 (65 mm)" + }, + "5": { + "path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height", + "value": "12", + "points": 2, + "category": "Rectangle.mmSize", + "item": "문구 (글로벌 문화 교류)/② 크기-높이 (12 mm)" + }, + "6": { + "path": "//RECTANGLE//LINESHAPE", + "value": { + "Style": "DoubleSlim", + "Width": "283" + }, + "points": 2, + "category": "Rectangle.LineShape", + "item": "문구 (글로벌 문화 교류)/③ 테두리 : 이중 실선(1.00mm)", + "desc": "1mm = 283pt value['Width']에 pt값 입력" + }, + "7": { + "path": "//RECTANGLE/@Ratio", + "value": "20", + "points": 2, + "category": "Rectangle.OneAnswer", + "item": "문구 (글로벌 문화 교류)/④ 글상자 모서리 (둥근모양)", + "desc": "모서리 비율 반원:50 / 둥근모양:20" + }, + "8": { + "path": "//RECTANGLE//WINDOWBRUSH/@FaceColor", + "value": "199,231,245", + "points": 2, + "category": "Rectangle.Color", + "item": "문구 (글로벌 문화 교류)/⑤ 채우기 : 색상(RGB:199,231,245)" + }, + "9": { + "path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar", + "value": "true", + "points": 1, + "category": "Rectangle.OneAnswer", + "item": "문구 (글로벌 문화 교류)/⑥ 글상자 위치 (글자처럼 취급)" + }, + "10": { + "path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align", + "value": "Center", + "points": 1, + "category": "Rectangle.TextBoxAlign", + "item": "문구 (글로벌 문화 교류)/⑦ 글상자 정렬 (가운데 정렬)" + }, + "11": { + "path": ".//RECTANGLE//TEXT/@CharShape", + "value": "궁서", + "points": 1, + "category": "Rectangle.FontName", + "item": "문구 (글로벌 문화 교류)/⑧ 글씨체 (궁서)" + }, + "12": { + "path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height", + "value": "2000", + "points": 1, + "category": "Rectangle.FontSize", + "item": "문구 (글로벌 문화 교류)/⑨ 글씨크기 (2000)", + "desc": "1pt당 100" + }, + "13": { + "path": "//PARASHAPE[@Id={rect_parashape_id}]/@Align", + "value": "Center", + "points": 1, + "category": "Rectangle.TextBoxAlign", + "item": "문구 (글로벌 문화 교류)/⑩ 정렬 (가운데 정렬)" + }, + "14": { + "path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']", + "value": true, + "points": 2, + "category": "Boolean", + "item": "① 파일명 \"그림B.jpg\" 삽입", + "desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)" + }, + "15": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width", + "value": "85", + "points": 2, + "category": "mmSize", + "item": "② 크기-너비 (85 mm)" + }, + "16": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height", + "value": "40", + "points": 2, + "category": "mmSize", + "item": "③ 크기-높이 (40 mm)" + }, + "17": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset", + "value": "0", + "points": 2, + "category": "mmSize", + "item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0mm)" + }, + "18": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset", + "value": "24", + "points": 2, + "category": "mmSize", + "item": "⑤ 위치 (어울림 : 세로-쪽의 위 24 mm)" + }, + "19": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "1. 글로벌 문화 트렌드", + "value": "굴림", + "points": 1, + "category": "FontName", + "item": "문구① (1. 글로벌 문화 트렌드)/① 글씨체 (굴림)" + }, + "20": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "1. 글로벌 문화 트렌드", + "value": "1200", + "points": 1, + "category": "OneAnswer", + "item": "문구① (1. 글로벌 문화 트렌드)/② 크기 (1200)" + }, + "21": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "searchValue": "1. 글로벌 문화 트렌드", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "문구① (1. 글로벌 문화 트렌드)/③ 진하게" + }, + "22": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "2. 문화 산업의 가치", + "value": "굴림", + "points": 1, + "category": "FontName", + "item": "문구② (2. 문화 산업의 가치)/① 글씨체 (굴림)" + }, + "23": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "2. 문화 산업의 가치", + "value": "1200", + "points": 1, + "category": "OneAnswer", + "item": "문구② (2. 문화 산업의 가치)/② 크기 (1200)" + }, + "24": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "searchValue": "2. 문화 산업의 가치", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "문구② (2. 문화 산업의 가치)/③ 진하게" + }, + "25": { + "path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)", + "path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)", + "option": "브랜드", + "value": true, + "points": 2, + "category": "Boolean", + "item": "문구 (브랜드)/① 각주 설정 및 문구 입력" + }, + "26": { + "path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape", + "searchValue": "경제적인 생산자를 구별하는 지각된 이미지와 경험의 집합으로 상품이나 회사를 나타내는 상표임", + "value": "바탕체", + "points": 1, + "category": "FontName", + "item": "문구 (브랜드)/② 글씨체 (바탕체)" + }, + "27": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height", + "searchValue": "경제적인 생산자를 구별하는 지각된 이미지와 경험의 집합으로 상품이나 회사를 나타내는 상표임", + "value": "900", + "points": 1, + "category": "OneAnswer", + "item": "문구 (브랜드)/③ 크기 (9pt)" + }, + "28": { + "path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type", + "searchValue": "경제적인 생산자를 구별하는 지각된 이미지와 경험의 집합으로 상품이나 회사를 나타내는 상표임", + "value": "DecagonCircleHanja", + "points": 2, + "category": "PageNumber", + "item": "문구 (전당)/④ 각주 번호모양", + "desc": { + "가,나,다": "HangulSyllable", + "1,2,3": "Digit", + "일,이,삼": "HangulPhonetic", + "갑,을,병": "DecagonCircle", + "A,B,C": "LatinCapital", + "a,b,c": "LatinSmall", + "Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital", + "①,②,③": "CircledDigit", + "一,二,三": "Ideograph", + "㉠,㉡,㉢": "CircledHangulJamo", + "ⓐ,ⓑ,ⓒ": "CircledLatinSmall", + "㊀,㊁,㊂": "CircledIdeograph", + "i,ii,iii": "RomanSmall", + "I,II,III": "RomanCapital", + "甲,乙,丙": "DecagonCircleHanja", + "+,++,+++": "UserChar", + "*,**,***": "UserChar", + "정답에 맞는 값 value에 입력": "" + } + }, + "29": { + "path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])", + "ignoreWord": "Pandemic", + "value": true, + "points": 3, + "category": "Boolean", + "item": "Pandemic/영단어 미입력, 대소문자/오타 시 전체 감점", + "desc": "" + }, + "30": { + "path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]", + "word": [ + ["문화", "文化"], + ["인기", "人氣"], + ["초월", "超越"], + ["미식", "美食"], + ["정부", "政府"] + ], + "value": 10, + "points": 10, + "category": "Hanja", + "item": "① 문화(文化), ② 인기(人氣), ③ 초월(超越), ④ 미식(美食), ⑤ 정부(政府)" + }, + "31": { + "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'전시,문화')])", + "value": true, + "points": 3, + "category": "Boolean", + "item": "문구 (…온라인 문화 전시, 가상 체험, 디지털 공연 등이…)>'문화 / 전시,' 순서바꿈" + }, + "32": { + "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'화를현대')])", + "value": true, + "points": 3, + "category": "Boolean", + "item": "문구 (…전통문화는 현대적으로…)>'는 → 를' 글자바꿈" + }, + "33": { + "path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape", + "searchValue": "문화 산업 시장 성장률(단위:%)", + "value": "돋움", + "points": 1, + "category": "FontName", + "item": "제목 문구 (문화 산업 시장 성장률(단위:%))/① 글씨체 (돋움)" + }, + "34": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "문화 산업 시장 성장률(단위:%)", + "value": "1200", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (문화 산업 시장 성장률(단위:%))/② 크기 (1200)" + }, + "35": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "searchValue": "문화 산업 시장 성장률(단위:%)", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "제목 문구 (문화 산업 시장 성장률(단위:%))/③ 진하게" + }, + "36": { + "path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align", + "searchValue": "문화 산업 시장 성장률(단위:%)", + "value": "Center", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (문화 산업 시장 성장률(단위:%))/④ 정렬 (가운데 정렬)" + }, + "37": { + "path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor", + "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor", + "value": "233,62,98", + "points": 2, + "category": "Color", + "item": "위쪽 제목 셀/① 색상(RGB:233,62,98)" + }, + "38": { + "path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "위쪽 제목 셀/② 진하게", + "desc": "글자 속성이라 CELLZONE으로 적용 되지 않음" + }, + "39": { + "path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Type", + "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Type", + "value": "DoubleSlim", + "points": 2, + "category": "TableAnswer", + "item": "제목 셀 아래선/① 이중실선" + }, + "40": { + "path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Width", + "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Width", + "value": "0.5mm", + "points": 2, + "category": "TableAnswer", + "item": "제목 셀 아래선/② 0.5mm" + }, + "41": { + "path": "//TABLE//TEXT/@CharShape", + "path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name", + "value": "중고딕", + "points": 1, + "category": "TableFontName", + "category_tmp": "FontName", + "item": "글자모양/① 글씨체 (중고딕)", + "desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경" + }, + "42": { + "path": "//CHARSHAPE[@Id=//TABLE//TEXT/@CharShape]/@Height", + "value": "1000", + "points": 1, + "category": "TableAnswer", + "item": "글자모양/② 크기 (1000)" + }, + "43": { + "path": "//PARASHAPE[@Id=//TABLE/ROW//P/@ParaShape]/@Align", + "value": "Center", + "points": 1, + "category": "TableAnswer", + "item": "글자모양/③ 정렬 (가운데 정렬)" + }, + "44": { + "path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) or boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])", + "option": "AVG", + "value": true, + "points": 4, + "category": "Boolean", + "item": "블록 계산식/합계", + "desc": "option값에 합계는 SUM / 평균은 AVG" + }, + "45": { + "chart_xpath": "", + "chart_type": "표식만 있는 분산형", + "value": true, + "points": 2, + "category": "ChartType", + "item": "① 종류 (표식만 있는 분산형)", + "desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)" + }, + "46": { + "chart_xpath": "//c:valAx/c:majorTickMark/@val", + "value": "out", + "points": 2, + "category": "ChartOneAnswer", + "item": "② 값 축 주 눈금선", + "desc": "chart xml파일에서 답안을 가져오는 문항은 path키값 대신 chart_xpath키값을 이용해 xapth구문을 작성한다" + }, + "47": { + "path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Width", + "value": "80", + "points": 2, + "category": "mmSize", + "item": "③ 크기-너비 (80 mm)" + }, + "48": { + "path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Height", + "value": "90", + "points": 2, + "category": "mmSize", + "item": "④ 크기-높이 (90 mm)" + }, + "49": { + "chart_xpath": "boolean(//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='합계' or text()='평균']))", + "value": true, + "points": 2, + "category": "Boolean", + "item": "⑤ 차트 데이터(표에서 블록계산식을 제외한 나머지 값만 이용)", + "desc": "차트가 존재하고 블록계산식(합계, 평균) 데이터가 없는 경우 정답 처리" + }, + "50": { + "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface", + "searchValue": "문화 산업 시장 성장률(단위:%)", + "value": "굴림체", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (문화 산업 시장 성장률(단위:%))/① 글씨체 (굴림체)" + }, + "51": { + "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz", + "searchValue": "문화 산업 시장 성장률(단위:%)", + "value": "1300", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (문화 산업 시장 성장률(단위:%))/② 크기 (1300)" + }, + "52": { + "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}", + "option": "b", + "searchValue": "문화 산업 시장 성장률(단위:%)", + "value": "1", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (문화 산업 시장 성장률(단위:%))/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + }, + "53": { + "chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface | //c:catAx/c:txPr//a:latin/@typeface", + "value": "돋움", + "points": 1, + "category": "ChartOneAnswer", + "item": "X축/① 글꼴 (돋움)" + }, + "54": { + "chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz", + "value": "900", + "points": 1, + "category": "ChartOneAnswer", + "item": "X축/② 크기 (9pt)" + }, + "55": { + "chart_xpath": "//c:catAx/c:txPr//a:defRPr/@{option}", + "option": "i", + "value": "1", + "points": 1, + "category": "ChartOneAnswer", + "item": "X축/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + }, + "56": { + "chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface | //c:valAx/c:txPr//a:latin/@typeface", + "value": "돋움", + "points": 1, + "category": "ChartOneAnswer", + "item": "Y축/① 글꼴 (돋움)" + }, + "57": { + "chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz", + "value": "900", + "points": 1, + "category": "ChartOneAnswer", + "item": "Y축/② 크기 (9pt)" + }, + "58": { + "chart_xpath": "//c:valAx/c:txPr//a:defRPr/@{option}", + "option": "i", + "value": "1", + "points": 1, + "category": "ChartOneAnswer", + "item": "Y축/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + }, + "59": { + "chart_xpath": "//c:legend//a:ea/@typeface | //c:legend//a:latin/@typeface", + "value": "돋움", + "points": 1, + "category": "OneAnswer", + "item": "범례/① 글꼴 (돋움)" + }, + "60": { + "chart_xpath": "//c:legend//a:defRPr/@sz", + "value": "900", + "points": 1, + "category": "OneAnswer", + "item": "범례/② 크기 (9pt)" + }, + "61": { + "chart_xpath": "//c:legend//a:defRPr/@{option}", + "option": "i", + "value": "1", + "points": 1, + "category": "OneAnswer", + "item": "범례/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + } + } +} diff --git a/JSON/2604/DIW_2604C.json b/JSON/2604/DIW_2604C.json new file mode 100644 index 0000000..8a20296 --- /dev/null +++ b/JSON/2604/DIW_2604C.json @@ -0,0 +1,850 @@ +{ + "0": { + "0": { + "path": "", + "path2": "", + "points": 0, + "category": "파일저장", + "item": "파일명 (수검번호.hwp/hwpx)" + }, + "1": { + "path": "//PAGEMARGIN", + "value": { + "Top": 20, + "Bottom": 20, + "Left": 20, + "Right": 20, + "Header": 10, + "Footer": 10, + "Gutter": 0 + }, + "tolerance": 1, + "points": 4, + "category": "PageSetting", + "item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)" + }, + "2": { + "path": "", + "value": { + "FontName": "바탕", + "FontSize": "1000", + "Alignment": "Justify", + "LineSpacing": "160" + }, + "points": 4, + "category": "BasicSetting", + "item": "글꼴 (바탕, 10pt), 양쪽정렬, 줄간격 (160%)" + }, + "3": { + "path": "", + "value": null, + "points": 40, + "category": "오타감점", + "item": "오타 1개 -1점 / 2503회부터 오타 1개 -1점으로 변경" + } + }, + "1": { + "1": { + "path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName", + "searchValue": "인상파예술특별기획전", + "value": "휴먼명조", + "points": 1, + "category": "OneAnswer", + "item": "문구 (인상파예술특별기획전)/① 글씨체 (휴먼명조)" + }, + "2": { + "path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor", + "searchValue": "인상파예술특별기획전", + "value": "95,172,34", + "points": 2, + "category": "Color", + "item": "문구 (인상파예술특별기획전)/② 채우기 : 색상(RGB:95,172,34)" + }, + "3": { + "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width", + "searchValue": "인상파예술특별기획전", + "value": "130", + "tolerance": 1, + "points": 2, + "category": "mmSize", + "item": "문구 (인상파예술특별기획전)/③ 크기-너비 (130 mm)" + }, + "4": { + "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height", + "searchValue": "인상파예술특별기획전", + "value": "20", + "tolerance": 1, + "points": 2, + "category": "mmSize", + "item": "문구 (인상파예술특별기획전)/④ 크기-높이 (20 mm)" + }, + "5": { + "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar", + "searchValue": "인상파예술특별기획전", + "value": "true", + "points": 2, + "category": "OneAnswer", + "item": "문구 (인상파예술특별기획전)/⑤ 위치 (글자처럼 취급)" + }, + "6": { + "path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align", + "searchValue": "인상파예술특별기획전", + "value": "Center", + "points": 2, + "category": "OneAnswer", + "item": "문구 (인상파예술특별기획전)/⑥ 정렬 (가운데 정렬)" + }, + "7": { + "path": "//TEXTART[@Text='{searchValue}']", + "searchValue": "인상파예술특별기획전", + "value": true, + "points": 2, + "category": "Boolean", + "item": "문구 (대학교육정책포럼)/⑦ 글맵시모양 (육안확인)" + }, + "8": { + "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE", + "searchValue": "빛", + "value": { + "Height": 2800, + "Width": 2800 + }, + "tolerance": 200, + "points": 1, + "category": "TwoLineSize", + "item": "어/① 모양 (2줄)" + }, + "9": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "빛", + "value": "맑은 고딕", + "points": 1, + "category": "FontName", + "item": "어/② 글씨체 (맑은 고딕)" + }, + "10": { + "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor", + "searchValue": "빛", + "value": "244,82,29", + "points": 2, + "category": "Color", + "item": "어/③ 면색 : 색상(RGB:244,82,29)" + }, + "11": { + "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right", + "searchValue": "빛", + "value": "3.0", + "tolerance": 1, + "points": 2, + "category": "mmSize", + "item": "어/④ 본문과의 간격 : 3.0mm" + }, + "12": { + "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", + "searchValue": "인상파 미술에 대한 깊이 있는 이해를 도와드립니다.", + "value": "ITALIC", + "points": 1, + "category": "FontAttribute", + "item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/① ITALIC" + }, + "13": { + "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", + "searchValue": "인상파 미술에 대한 깊이 있는 이해를 도와드립니다.", + "value": "UNDERLINE", + "points": 1, + "category": "FontAttribute", + "item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/② UNDERLINE" + }, + "14": { + "path": "//CHAR[contains(string(.),'{char1}')]/text()", + "path2": "//CHAR[contains(string(.),'{char2}')]/text()", + "path3": "//CHAR[contains(string(.),'{char3}')]/text()", + "char1": "◉", + "char2": "◉", + "char3": "※", + "value": 3, + "points": 3, + "category": "SpecialChar", + "item": "① ◉ , ② ◉ , ③ ※" + }, + "15": { + "path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape", + "searchValue": "전시정보", + "value": "돋움", + "points": 1, + "category": "FontName", + "item": "문구 (◉ 전시정보 ◉)/① 글씨체 (돋움)" + }, + "16": { + "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align", + "match_str": "전시정보", + "value": "Center", + "points": 1, + "category": "Align", + "item": "문구 (◉ 전시정보 ◉)/② 정렬 (가운데 정렬)" + }, + "17": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", + "searchValue": "나만의 키링 만들기 체험", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "문구 (나만의 키링 만들기 체험)/① BOLD" + }, + "18": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", + "searchValue": "나만의 키링 만들기 체험", + "value": "ITALIC", + "points": 1, + "category": "FontAttribute", + "item": "문구 (나만의 키링 만들기 체험)/② ITALIC" + }, + "19": { + "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN", + "searchValue": "기타사항", + "value": { + "Left": 15, + "Indent": 12 + }, + "points": 2, + "category": "ParaShape", + "item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15), 내어쓰기 (12)", + "desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력" + }, + "20": { + "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height", + "searchValue": "2026. 04. 25.", + "value": "1300", + "points": 1, + "category": "OneAnswer", + "item": "문구 (2026. 04. 25.)/① 크기 (1300)", + "desc": "1pt당 100" + }, + "21": { + "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align", + "searchValue": "2026. 04. 25.", + "value": "Center", + "points": 1, + "category": "OneAnswer", + "item": "문구 (2026. 04. 25.)/② 정렬 (가운데 정렬)" + }, + "22": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "성남오아시스예술센터", + "value": "돋움체", + "points": 1, + "category": "FontName", + "item": "문구 (성남오아시스예술센터)/① 글씨체 (돋움체)" + }, + "23": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "성남오아시스예술센터", + "value": "2600", + "points": 1, + "category": "OneAnswer", + "item": "문구 (성남오아시스예술센터)/② 크기 (2600)" + }, + "24": { + "path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align", + "searchValue": "성남오아시스예술센터", + "value": "Center", + "points": 1, + "category": "OneAnswer", + "item": "문구 (성남오아시스예술센터)/③ 정렬 (가운데 정렬)" + }, + "25": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "DIAT", + "value": "굴림", + "points": 1, + "category": "Header.FontName", + "item": "문구 (DIAT)/① 글꼴 (굴림)" + }, + "26": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "DIAT", + "value": "900", + "points": 1, + "category": "Header.OneAnswer", + "item": "문구 (DIAT)/② 크기 (9pt)" + }, + "27": { + "path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align", + "searchValue": "DIAT", + "value": "Right", + "points": 1, + "category": "Header.OneAnswer", + "item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)" + }, + "28": { + "path": "//PAGENUM/@FormatType", + "value": "HangulSyllable", + "points": 2, + "category": "PageNumber", + "item": "① 쪽 번호 매기기 (가,나,다 순으로)", + "desc1": { + "가,나,다": "HangulSyllable", + "1,2,3": "Digit", + "일,이,삼": "HangulPhonetic", + "갑,을,병": "DecagonCircle", + "A,B,C": "LatinCapital", + "a,b,c": "LatinSmall", + "Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital", + "①,②,③": "CircledDigit", + "一,二,三": "Ideograph", + "㉠,㉡,㉢": "CircledHangulJamo", + "ⓐ,ⓑ,ⓒ": "CircledLatinSmall", + "㊀,㊁,㊂": "CircledIdeograph", + "i,ii,iii": "RomanSmall", + "I,II,III": "RomanCapital", + "甲,乙,丙": "DecagonCircleHanja", + "+,++,+++": "UserChar", + "*,**,***": "UserChar", + "정답에 맞는 값 value에 입력": "" + }, + "desc2": "1, 2페이지 모두 정답이어야 점수 부여" + }, + "29": { + "path": "//PAGENUM/@Pos", + "value": "BottomRight", + "points": 2, + "category": "PageNumber", + "item": "오른쪽 아래", + "desc": "1, 2페이지 모두 정답이어야 점수 부여", + "desc2": { + "가운데 아래": "BottomCenter", + "오른쪽 아래": "BottomRight", + "왼쪽 아래": "BottomLeft" + } + }, + "30": { + "path": "//CHAR[contains(text(),'{searchValue}')]", + "searchValue": "http", + "value": true, + "points": 2, + "category": "hyperlink", + "item": "문구 (http://www.ihd.or.kr)/하이퍼링크 없이 작성", + "desc": "searchValue에 해당하는 주소 문구에 하이퍼링크가 하나라도 설정되어 있으면 오답" + }, + "31": { + "path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing", + "value": "200", + "first_word": "빛", + "points": 2, + "category": "LineSpacing", + "item": "문제 1 줄간격 200% 설정", + "desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다." + } + }, + "2": { + "1": { + "path": "//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@HeaderInside", + "path2": "//BORDERFILL[@Id=//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@BorferFill]", + "value": { + "header_inside": true, + "all_double_slim": true + }, + "points": 4, + "category": "PageBorder", + "item": "문제2 쪽테두리(이중 실선, 머리말 포함) 설정" + }, + "2": { + "path": "count(//SECTION)>1", + "value": true, + "points": 3, + "category": "Boolean", + "item": "① 구역나누기", + "desc": "섹션이 1개 이상이면 점수부여" + }, + "3": { + "path": "./TEXT/COLDEF/@Count", + "value": "2", + "points": 3, + "category": "TwoColumn", + "item": "② 다단 2단" + }, + "4": { + "path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width", + "value": "50", + "points": 2, + "category": "Rectangle.mmSize", + "item": "문구 (인상주의)/① 크기-너비 (50 mm)" + }, + "5": { + "path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height", + "value": "12", + "points": 2, + "category": "Rectangle.mmSize", + "item": "문구 (인상주의)/② 크기-높이 (12 mm)" + }, + "6": { + "path": "//RECTANGLE//LINESHAPE", + "value": { + "Style": "DoubleSlim", + "Width": "283" + }, + "points": 2, + "category": "Rectangle.LineShape", + "item": "문구 (인상주의)/③ 테두리 : 이중 실선(1.00mm)", + "desc": "1mm = 283pt value['Width']에 pt값 입력" + }, + "7": { + "path": "//RECTANGLE/@Ratio", + "value": "50", + "points": 2, + "category": "Rectangle.OneAnswer", + "item": "문구 (인상주의)/④ 글상자 모서리 (둥근모양)", + "desc": "모서리 비율 반원:50 / 둥근모양:20" + }, + "8": { + "path": "//RECTANGLE//WINDOWBRUSH/@FaceColor", + "value": "245,177,248", + "points": 2, + "category": "Rectangle.Color", + "item": "문구 (인상주의)/⑤ 채우기 : 색상(RGB:245,177,248)" + }, + "9": { + "path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar", + "value": "true", + "points": 1, + "category": "Rectangle.OneAnswer", + "item": "문구 (인상주의)/⑥ 글상자 위치 (글자처럼 취급)" + }, + "10": { + "path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align", + "value": "Center", + "points": 1, + "category": "Rectangle.TextBoxAlign", + "item": "문구 (인상주의)/⑦ 글상자 정렬 (가운데 정렬)" + }, + "11": { + "path": ".//RECTANGLE//TEXT/@CharShape", + "value": "견고딕", + "points": 1, + "category": "Rectangle.FontName", + "item": "문구 (인상주의)/⑧ 글씨체 (견고딕)" + }, + "12": { + "path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height", + "value": "2200", + "points": 1, + "category": "Rectangle.FontSize", + "item": "문구 (인상주의)/⑨ 글씨크기 (2200)", + "desc": "1pt당 100" + }, + "13": { + "path": "//PARASHAPE[@Id={rect_parashape_id}]/@Align", + "value": "Center", + "points": 1, + "category": "Rectangle.TextBoxAlign", + "item": "문구 (인상주의)/⑩ 정렬 (가운데 정렬)" + }, + "14": { + "path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']", + "value": true, + "points": 2, + "category": "Boolean", + "item": "① 파일명 \"그림C.jpg\" 삽입", + "desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)" + }, + "15": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width", + "value": "85", + "points": 2, + "category": "mmSize", + "item": "② 크기-너비 (85 mm)" + }, + "16": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height", + "value": "40", + "points": 2, + "category": "mmSize", + "item": "③ 크기-높이 (40 mm)" + }, + "17": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset", + "value": "0", + "points": 2, + "category": "mmSize", + "item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0mm)" + }, + "18": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset", + "value": "22", + "points": 2, + "category": "mmSize", + "item": "⑤ 위치 (어울림 : 세로-쪽의 위 22 mm)" + }, + "19": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "1. 인상주의란?", + "value": "돋움체", + "points": 1, + "category": "FontName", + "item": "문구① (1. 인상주의란?)/① 글씨체 (중고딕)" + }, + "20": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "1. 인상주의란?", + "value": "1200", + "points": 1, + "category": "OneAnswer", + "item": "문구① (1. 인상주의란?)/② 크기 (1200)" + }, + "21": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "searchValue": "1. 인상주의란?", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "문구① (1. 인상주의란?)/③ 진하게" + }, + "22": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "2. 인상파 화가", + "value": "돋움체", + "points": 1, + "category": "FontName", + "item": "문구② (2. 인상파 화가)/① 글씨체 (돋움체)" + }, + "23": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "2. 인상파 화가", + "value": "1200", + "points": 1, + "category": "OneAnswer", + "item": "문구② (2. 인상파 화가)/② 크기 (1200)" + }, + "24": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "searchValue": "2. 인상파 화가", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "문구② (2. 인상파 화가)/③ 진하게" + }, + "25": { + "path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)", + "path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)", + "option": "연작", + "value": true, + "points": 2, + "category": "Boolean", + "item": "문구 (연작)/① 각주 설정 및 문구 입력" + }, + "26": { + "path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape", + "searchValue": "변화 포착을 위해 같은 풍경을 반복적으로 그림", + "value": "굴림체", + "points": 1, + "category": "FontName", + "item": "문구 (연작)/② 글씨체 (굴림체)" + }, + "27": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height", + "searchValue": "변화 포착을 위해 같은 풍경을 반복적으로 그림", + "value": "900", + "points": 1, + "category": "OneAnswer", + "item": "문구 (연작)/③ 크기 (9pt)" + }, + "28": { + "path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type", + "searchValue": "변화 포착을 위해 같은 풍경을 반복적으로 그림", + "value": "CircledIdeograph", + "points": 2, + "category": "PageNumber", + "item": "문구 (전당)/④ 각주 번호모양", + "desc": { + "가,나,다": "HangulSyllable", + "1,2,3": "Digit", + "일,이,삼": "HangulPhonetic", + "갑,을,병": "DecagonCircle", + "A,B,C": "LatinCapital", + "a,b,c": "LatinSmall", + "Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital", + "①,②,③": "CircledDigit", + "一,二,三": "Ideograph", + "㉠,㉡,㉢": "CircledHangulJamo", + "ⓐ,ⓑ,ⓒ": "CircledLatinSmall", + "㊀,㊁,㊂": "CircledIdeograph", + "i,ii,iii": "RomanSmall", + "I,II,III": "RomanCapital", + "甲,乙,丙": "DecagonCircleHanja", + "+,++,+++": "UserChar", + "*,**,***": "UserChar", + "정답에 맞는 값 value에 입력": "" + } + }, + "29": { + "path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])", + "ignoreWord": "Expression", + "value": true, + "points": 3, + "category": "Boolean", + "item": "Expression/영단어 미입력, 대소문자/오타 시 전체 감점", + "desc": "" + }, + "30": { + "path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]", + "word": [ + ["규범", "規範"], + ["관찰", "觀察"], + ["화가", "畫家"], + ["탐구", "探究"], + ["여성", "女性"] + ], + "value": 10, + "points": 10, + "category": "Hanja", + "item": "① 규범(規範), ② 관찰(觀察), ③ 화가(畫家), ④ 탐구(探究), ⑤ 여성(女性)" + }, + "31": { + "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'화를가져')])", + "value": true, + "points": 3, + "category": "Boolean", + "item": "문구 (…큰 변화를 갖져왔다.…)>'갖' → '가' 글자바꿈" + }, + "32": { + "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'료로활용')])", + "value": true, + "points": 3, + "category": "Boolean", + "item": "문구 (…문화 상품과 교육 활용되며 자료로 대중문화에도…)>'활용되며 / 자료로' 순서바꿈" + }, + "33": { + "path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape", + "searchValue": "인상파 작품 소장 현황", + "value": "돋움체", + "points": 1, + "category": "FontName", + "item": "제목 문구 (인상파 작품 소장 현황)/① 글씨체 (돋움체)" + }, + "34": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "인상파 작품 소장 현황", + "value": "1200", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (인상파 작품 소장 현황)/② 크기 (1200)" + }, + "35": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "searchValue": "인상파 작품 소장 현황", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "제목 문구 (인상파 작품 소장 현황)/③ 진하게" + }, + "36": { + "path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align", + "searchValue": "인상파 작품 소장 현황", + "value": "Center", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (인상파 작품 소장 현황(단위: 천 명))/④ 정렬 (가운데 정렬)" + }, + "37": { + "path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor", + "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor", + "value": "84,207,228", + "points": 2, + "category": "Color", + "item": "위쪽 제목 셀/① 색상(RGB:84,207,228)" + }, + "38": { + "path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "위쪽 제목 셀/② 진하게", + "desc": "글자 속성이라 CELLZONE으로 적용 되지 않음" + }, + "39": { + "path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Type", + "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Type", + "value": "DoubleSlim", + "points": 2, + "category": "TableAnswer", + "item": "제목 셀 아래선/① 이중실선" + }, + "40": { + "path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Width", + "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Width", + "value": "0.5mm", + "points": 2, + "category": "TableAnswer", + "item": "제목 셀 아래선/② 0.5mm" + }, + "41": { + "path": "//TABLE//TEXT/@CharShape", + "path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name", + "value": "중고딕", + "points": 1, + "category": "TableFontName", + "category_tmp": "FontName", + "item": "글자모양/① 글씨체 (중고딕)", + "desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경" + }, + "42": { + "path": "//CHARSHAPE[@Id=//TABLE//TEXT/@CharShape]/@Height", + "value": "1000", + "points": 1, + "category": "TableAnswer", + "item": "글자모양/② 크기 (1000)" + }, + "43": { + "path": "//PARASHAPE[@Id=//TABLE/ROW//P/@ParaShape]/@Align", + "value": "Center", + "points": 1, + "category": "TableAnswer", + "item": "글자모양/③ 정렬 (가운데 정렬)" + }, + "44": { + "path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) or boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])", + "option": "SUM", + "value": true, + "points": 4, + "category": "Boolean", + "item": "블록 계산식/합계", + "desc": "option값에 합계는 SUM / 평균은 AVG" + }, + "45": { + "chart_xpath": "", + "chart_type": "100% 기준 누적 세로 막대형", + "value": true, + "points": 2, + "category": "ChartType", + "item": "① 종류 (100% 기준 누적 세로 막대형)", + "desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)" + }, + "46": { + "chart_xpath": "//c:valAx/c:majorTickMark/@val", + "value": "out", + "points": 2, + "category": "ChartOneAnswer", + "item": "② 값 축 주 눈금선", + "desc": "chart xml파일에서 답안을 가져오는 문항은 path키값 대신 chart_xpath키값을 이용해 xapth구문을 작성한다" + }, + "47": { + "path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Width", + "value": "80", + "points": 2, + "category": "mmSize", + "item": "③ 크기-너비 (80 mm)" + }, + "48": { + "path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Height", + "value": "80", + "points": 2, + "category": "mmSize", + "item": "④ 크기-높이 (80 mm)" + }, + "49": { + "chart_xpath": "boolean(//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='합계' or text()='평균']))", + "value": true, + "points": 2, + "category": "Boolean", + "item": "⑤ 차트 데이터(표에서 블록계산식을 제외한 나머지 값만 이용)", + "desc": "차트가 존재하고 블록계산식(합계, 평균) 데이터가 없는 경우 정답 처리" + }, + "50": { + "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface", + "searchValue": "인상파 작품 소장 현황", + "value": "궁서체", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (인상파 작품 소장 현황)/① 글씨체 (궁서체)" + }, + "51": { + "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz", + "searchValue": "인상파 작품 소장 현황", + "value": "1200", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (인상파 작품 소장 현황)/② 크기 (1200)" + }, + "52": { + "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}", + "option": "b", + "searchValue": "인상파 작품 소장 현황", + "value": "1", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (인상파 작품 소장 현황)/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + }, + "53": { + "chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface | //c:catAx/c:txPr//a:latin/@typeface", + "value": "궁서", + "points": 1, + "category": "ChartOneAnswer", + "item": "X축/① 글꼴 (궁서)" + }, + "54": { + "chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz", + "value": "900", + "points": 1, + "category": "ChartOneAnswer", + "item": "X축/② 크기 (9pt)" + }, + "55": { + "chart_xpath": "//c:catAx/c:txPr//a:defRPr/@{option}", + "option": "i", + "value": "1", + "points": 1, + "category": "ChartOneAnswer", + "item": "X축/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + }, + "56": { + "chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface | //c:valAx/c:txPr//a:latin/@typeface", + "value": "궁서", + "points": 1, + "category": "ChartOneAnswer", + "item": "Y축/① 글꼴 (궁서)" + }, + "57": { + "chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz", + "value": "900", + "points": 1, + "category": "ChartOneAnswer", + "item": "Y축/② 크기 (9pt)" + }, + "58": { + "chart_xpath": "//c:valAx/c:txPr//a:defRPr/@{option}", + "option": "i", + "value": "1", + "points": 1, + "category": "ChartOneAnswer", + "item": "Y축/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + }, + "59": { + "chart_xpath": "//c:legend//a:ea/@typeface | //c:legend//a:latin/@typeface", + "value": "궁서", + "points": 1, + "category": "OneAnswer", + "item": "범례/① 글꼴 (궁서)" + }, + "60": { + "chart_xpath": "//c:legend//a:defRPr/@sz", + "value": "900", + "points": 1, + "category": "OneAnswer", + "item": "범례/② 크기 (9pt)" + }, + "61": { + "chart_xpath": "//c:legend//a:defRPr/@{option}", + "option": "i", + "value": "1", + "points": 1, + "category": "OneAnswer", + "item": "범례/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + } + } +} diff --git a/JSON/2604_2/DIW_2604_2A.json b/JSON/2604_2/DIW_2604_2A.json new file mode 100644 index 0000000..daf5043 --- /dev/null +++ b/JSON/2604_2/DIW_2604_2A.json @@ -0,0 +1,840 @@ +{ + "0": { + "0": { + "path": "", + "path2": "", + "points": 0, + "category": "파일저장", + "item": "파일명 (수검번호.hwp/hwpx)" + }, + "1": { + "path": "//PAGEMARGIN", + "value": { + "Top": 20, + "Bottom": 20, + "Left": 20, + "Right": 20, + "Header": 10, + "Footer": 10, + "Gutter": 0 + }, + "tolerance": 1, + "points": 4, + "category": "PageSetting", + "item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)" + }, + "2": { + "path": "", + "value": { + "FontName": "바탕", + "FontSize": "1000", + "Alignment": "Justify", + "LineSpacing": "160" + }, + "points": 4, + "category": "BasicSetting", + "item": "글꼴 (바탕, 10pt), 양쪽정렬, 줄간격 (160%)" + }, + "3": { + "path": "", + "value": null, + "points": 40, + "category": "오타감점", + "item": "오타 1개 -1점 / 2503회부터 오타 1개 -1점으로 변경" + } + }, + "1": { + "1": { + "path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName", + "searchValue": "소셜네트워킹전략컨퍼런스", + "value": "견고딕", + "points": 1, + "category": "OneAnswer", + "item": "문구 (소셜네트워킹전략컨퍼런스)/① 글씨체 (견고딕)" + }, + "2": { + "path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor", + "searchValue": "소셜네트워킹전략컨퍼런스", + "value": "201,102,248", + "points": 2, + "category": "Color", + "item": "문구 (소셜네트워킹전략컨퍼런스)/② 채우기 : 색상(RGB:201,102,248)" + }, + "3": { + "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width", + "searchValue": "소셜네트워킹전략컨퍼런스", + "value": "120", + "tolerance": 1, + "points": 2, + "category": "mmSize", + "item": "문구 (소셜네트워킹전략컨퍼런스)/③ 크기-너비 (120 mm)" + }, + "4": { + "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height", + "searchValue": "소셜네트워킹전략컨퍼런스", + "value": "20", + "tolerance": 1, + "points": 2, + "category": "mmSize", + "item": "문구 (소셜네트워킹전략컨퍼런스)/④ 크기-높이 (20 mm)" + }, + "5": { + "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar", + "searchValue": "소셜네트워킹전략컨퍼런스", + "value": "true", + "points": 2, + "category": "OneAnswer", + "item": "문구 (소셜네트워킹전략컨퍼런스)/⑤ 위치 (글자처럼 취급)" + }, + "6": { + "path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align", + "searchValue": "소셜네트워킹전략컨퍼런스", + "value": "Center", + "points": 2, + "category": "OneAnswer", + "item": "문구 (소셜네트워킹전략컨퍼런스)/⑥ 정렬 (가운데 정렬)" + }, + "7": { + "path": "//TEXTART[@Text='{searchValue}']", + "searchValue": "소셜네트워킹전략컨퍼런스", + "value": true, + "points": 2, + "category": "Boolean", + "item": "문구 (소셜네트워킹전략컨퍼런스)/⑦ 글맵시모양 (육안확인)" + }, + "8": { + "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE", + "searchValue": "최", + "value": { + "Height": 2800, + "Width": 2800 + }, + "tolerance": 200, + "points": 1, + "category": "TwoLineSize", + "item": "어/① 모양 (2줄)" + }, + "9": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "최", + "value": "궁서", + "points": 1, + "category": "FontName", + "item": "어/② 글씨체 (궁서)" + }, + "10": { + "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor", + "searchValue": "최", + "value": "218,202,48", + "points": 2, + "category": "Color", + "item": "어/③ 면색 : 색상(RGB:218,202,48)" + }, + "11": { + "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right", + "searchValue": "최", + "value": "3.0", + "tolerance": 1, + "points": 2, + "category": "mmSize", + "item": "어/④ 본문과의 간격 : 3.0mm" + }, + "12": { + "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", + "searchValue": "소셜 네트워킹 서비스", + "value": "BOLD", + "points": 2, + "category": "FontAttribute", + "item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/① BOLD" + }, + "13": { + "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", + "searchValue": "소셜 네트워킹 서비스", + "value": "ITALIC", + "points": 2, + "category": "FontAttribute", + "item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/② ITALIC" + }, + "14": { + "path": "//CHAR[contains(string(.),'{char1}')]/text()", + "path2": "//CHAR[contains(string(.),'{char2}')]/text()", + "path3": "//CHAR[contains(string(.),'{char3}')]/text()", + "char1": "□", + "char2": "□", + "char3": "※", + "value": 3, + "points": 3, + "category": "SpecialChar", + "item": "① □, ② □, ③ ※" + }, + "15": { + "path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape", + "searchValue": "행사안내", + "value": "굴림", + "points": 1, + "category": "FontName", + "item": "문구 (□ 행사안내 □)/① 글씨체 (굴림)" + }, + "16": { + "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align", + "match_str": "행사안내", + "value": "Center", + "points": 1, + "category": "Align", + "item": "문구 (□ 행사안내 □)/② 정렬 (가운데 정렬)" + }, + "17": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", + "searchValue": "서울 강남구 한국정보기술협력센터 3층 대회의장", + "value": "ITALIC", + "points": 1, + "category": "FontAttribute", + "item": "문구 (서울 강남구 한국정보기술협력센터 3층 대회의장)/① ITALIC" + }, + "18": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", + "searchValue": "서울 강남구 한국정보기술협력센터 3층 대회의장", + "value": "UNDERLINE", + "points": 1, + "category": "FontAttribute", + "item": "문구 (서울 강남구 한국정보기술협력센터 3층 대회의장)/② UNDERLINE" + }, + "19": { + "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN", + "searchValue": "기타사항", + "value": { + "Left": 10, + "Indent": 12 + }, + "points": 2, + "category": "ParaShape", + "item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (10), 내어쓰기 (12)", + "desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력" + }, + "20": { + "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height", + "searchValue": "2026. 04. 07.", + "value": "1400", + "points": 1, + "category": "OneAnswer", + "item": "문구 (2026. 04. 07.)/① 크기 (1400)", + "desc": "1pt당 100" + }, + "21": { + "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align", + "searchValue": "2026. 04. 07.", + "value": "Center", + "points": 1, + "category": "OneAnswer", + "item": "문구 (2026. 04. 07.)/② 정렬 (가운데 정렬)" + }, + "22": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "한국정보서비스학회장", + "value": "궁서체", + "points": 1, + "category": "FontName", + "item": "문구 (한국정보서비스학회장)/① 글씨체 (궁서체)" + }, + "23": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "한국정보서비스학회장", + "value": "2000", + "points": 1, + "category": "OneAnswer", + "item": "문구 (한국정보서비스학회장)/② 크기 (2000)" + }, + "24": { + "path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align", + "searchValue": "한국정보서비스학회장", + "value": "Center", + "points": 1, + "category": "OneAnswer", + "item": "문구 (한국정보서비스학회장)/③ 정렬 (가운데 정렬)" + }, + "25": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "DIAT", + "value": "돋움", + "points": 1, + "category": "Header.FontName", + "item": "문구 (DIAT)/① 글꼴 (돋움)" + }, + "26": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "DIAT", + "value": "900", + "points": 1, + "category": "Header.OneAnswer", + "item": "문구 (DIAT)/② 크기 (9pt)" + }, + "27": { + "path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align", + "searchValue": "DIAT", + "value": "Right", + "points": 1, + "category": "Header.OneAnswer", + "item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)" + }, + "28": { + "path": "//PAGENUM/@FormatType", + "value": "Digit", + "points": 2, + "category": "PageNumber", + "item": "① 쪽 번호 매기기 (가,나,다 순으로)", + "desc1": { + "가,나,다": "HangulSyllable", + "1,2,3": "Digit", + "일,이,삼": "HangulPhonetic", + "갑,을,병": "DecagonCircle", + "A,B,C": "LatinCapital", + "a,b,c": "LatinSmall", + "Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital", + "①,②,③": "CircledDigit", + "一,二,三": "Ideograph", + "㉠,㉡,㉢": "CircledHangulJamo", + "ⓐ,ⓑ,ⓒ": "CircledLatinSmall", + "㊀,㊁,㊂": "CircledIdeograph", + "i,ii,iii": "RomanSmall", + "I,II,III": "RomanCapital", + "甲,乙,丙": "DecagonCircleHanja", + "+,++,+++": "UserChar", + "*,**,***": "UserChar", + "정답에 맞는 값 value에 입력": "" + }, + "desc2": "1, 2페이지 모두 정답이어야 점수 부여" + }, + "29": { + "path": "//PAGENUM/@Pos", + "value": "BottomCenter", + "points": 2, + "category": "PageNumber", + "item": "가운데 아래", + "desc": "1, 2페이지 모두 정답이어야 점수 부여", + "desc2": { + "가운데 아래": "BottomCenter", + "오른쪽 아래": "BottomRight", + "왼쪽 아래": "BottomLeft" + } + }, + "30": { + "path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing", + "value": "180", + "points": 2, + "category": "LineSpacing", + "item": "문제 1 줄간격 180% 설정", + "desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점)" + } + }, + "2": { + "1": { + "path": "//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@HeaderInside", + "path2": "//BORDERFILL[@Id=//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@BorferFill]", + "value": { + "header_inside": true, + "all_double_slim": true + }, + "points": 4, + "category": "PageBorder", + "item": "문제2 쪽테두리(이중 실선, 머리말 포함) 설정" + }, + "2": { + "path": "count(//SECTION)>1", + "value": true, + "points": 3, + "category": "Boolean", + "item": "① 구역나누기", + "desc": "섹션이 1개 이상이면 점수부여" + }, + "3": { + "path": "./TEXT/COLDEF/@Count", + "value": "2", + "points": 3, + "category": "TwoColumn", + "item": "② 다단 2단" + }, + "4": { + "path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width", + "value": "70", + "points": 2, + "category": "Rectangle.mmSize", + "item": "문구 (소셜 네트워킹 서비스)/① 크기-너비 (70 mm)" + }, + "5": { + "path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height", + "value": "12", + "points": 2, + "category": "Rectangle.mmSize", + "item": "문구 (소셜 네트워킹 서비스)/② 크기-높이 (12 mm)" + }, + "6": { + "path": "//RECTANGLE//LINESHAPE", + "value": { + "Style": "DoubleSlim", + "Width": "283" + }, + "points": 2, + "category": "Rectangle.LineShape", + "item": "문구 (소셜 네트워킹 서비스)/③ 테두리 : 이중 실선(1.00mm)", + "desc": "1mm = 283pt value['Width']에 pt값 입력" + }, + "7": { + "path": "//RECTANGLE/@Ratio", + "value": "50", + "points": 2, + "category": "Rectangle.OneAnswer", + "item": "문구 (소셜 네트워킹 서비스)/④ 글상자 모서리 (둥근모양)", + "desc": "모서리 비율 반원:50 / 둥근모양:20" + }, + "8": { + "path": "//RECTANGLE//WINDOWBRUSH/@FaceColor", + "value": "90,233,53", + "points": 2, + "category": "Rectangle.Color", + "item": "문구 (소셜 네트워킹 서비스)/⑤ 채우기 : 색상(RGB:90,233,53)" + }, + "9": { + "path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar", + "value": "true", + "points": 1, + "category": "Rectangle.OneAnswer", + "item": "문구 (소셜 네트워킹 서비스)/⑥ 글상자 위치 (글자처럼 취급)" + }, + "10": { + "path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align", + "value": "Center", + "points": 1, + "category": "Rectangle.TextBoxAlign", + "item": "문구 (소셜 네트워킹 서비스)/⑦ 글상자 정렬 (가운데 정렬)" + }, + "11": { + "path": ".//RECTANGLE//TEXT/@CharShape", + "value": "궁서체", + "points": 1, + "category": "Rectangle.FontName", + "item": "문구 (소셜 네트워킹 서비스)/⑧ 글씨체 (궁서체)" + }, + "12": { + "path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height", + "value": "1800", + "points": 1, + "category": "Rectangle.FontSize", + "item": "문구 (소셜 네트워킹 서비스)/⑨ 글씨크기 (1800)", + "desc": "1pt당 100" + }, + "13": { + "path": "//PARASHAPE[@Id={rect_parashape_id}]/@Align", + "value": "Center", + "points": 1, + "category": "Rectangle.TextBoxAlign", + "item": "문구 (소셜 네트워킹 서비스)/⑩ 정렬 (가운데 정렬)" + }, + "14": { + "path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']", + "value": true, + "points": 2, + "category": "Boolean", + "item": "① 파일명 \"그림A.jpg\" 삽입", + "desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)" + }, + "15": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width", + "value": "80", + "points": 2, + "category": "mmSize", + "item": "② 크기-너비 (80 mm)" + }, + "16": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height", + "value": "45", + "points": 2, + "category": "mmSize", + "item": "③ 크기-높이 (45 mm)" + }, + "17": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset", + "value": "0", + "points": 2, + "category": "mmSize", + "item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0mm)" + }, + "18": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset", + "value": "22", + "points": 2, + "category": "mmSize", + "item": "⑤ 위치 (어울림 : 세로-쪽의 위 22 mm)" + }, + "19": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "1. 소셜 네트워킹 서비스", + "value": "굴림체", + "points": 1, + "category": "FontName", + "item": "문구① (1. 소셜 네트워킹 서비스)/① 글씨체 (굴림체)" + }, + "20": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "1. 소셜 네트워킹 서비스", + "value": "1200", + "points": 1, + "category": "OneAnswer", + "item": "문구① (1. 소셜 네트워킹 서비스)/② 크기 (1200)" + }, + "21": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "searchValue": "1. 소셜 네트워킹 서비스", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "문구① (1. 소셜 네트워킹 서비스)/③ 진하게" + }, + "22": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "2. 소셜 네트워킹 서비스 활용", + "value": "굴림체", + "points": 1, + "category": "FontName", + "item": "문구② (2. 소셜 네트워킹 서비스 활용)/① 글씨체 (굴림체)" + }, + "23": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "2. 소셜 네트워킹 서비스 활용", + "value": "1200", + "points": 1, + "category": "OneAnswer", + "item": "문구② (2. 소셜 네트워킹 서비스 활용)/② 크기 (1200)" + }, + "24": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "searchValue": "2. 소셜 네트워킹 서비스 활용", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "문구② (2. 소셜 네트워킹 서비스 활용)/③ 진하게" + }, + "25": { + "path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)", + "path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)", + "option": "마이크로블로깅", + "value": true, + "points": 2, + "category": "Boolean", + "item": "문구 (마이크로블로깅)/① 각주 설정 및 문구 입력" + }, + "26": { + "path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape", + "searchValue": "블로거가 한두 문장 정도의 단편적 정보를 관심이 있는 개인들에게 전달하는 통신방식", + "value": "돋움", + "points": 1, + "category": "FontName", + "item": "문구 (마이크로블로깅)/② 글씨체 (돋움)" + }, + "27": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height", + "searchValue": "블로거가 한두 문장 정도의 단편적 정보를 관심이 있는 개인들에게 전달하는 통신방식", + "value": "900", + "points": 1, + "category": "OneAnswer", + "item": "문구 (마이크로블로깅)/③ 크기 (9pt)" + }, + "28": { + "path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type", + "searchValue": "블로거가 한두 문장 정도의 단편적 정보를 관심이 있는 개인들에게 전달하는 통신방식", + "value": "CircledIdeograph", + "points": 2, + "category": "PageNumber", + "item": "문구 (전당)/④ 각주 번호모양", + "desc": { + "가,나,다": "HangulSyllable", + "1,2,3": "Digit", + "일,이,삼": "HangulPhonetic", + "갑,을,병": "DecagonCircle", + "A,B,C": "LatinCapital", + "a,b,c": "LatinSmall", + "Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital", + "①,②,③": "CircledDigit", + "一,二,三": "Ideograph", + "㉠,㉡,㉢": "CircledHangulJamo", + "ⓐ,ⓑ,ⓒ": "CircledLatinSmall", + "㊀,㊁,㊂": "CircledIdeograph", + "i,ii,iii": "RomanSmall", + "I,II,III": "RomanCapital", + "甲,乙,丙": "DecagonCircleHanja", + "+,++,+++": "UserChar", + "*,**,***": "UserChar", + "정답에 맞는 값 value에 입력": "" + } + }, + "29": { + "path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])", + "ignoreWord": "Marketing", + "value": true, + "points": 3, + "category": "Boolean", + "item": "Marketing/영단어 미입력, 대소문자/오타 시 전체 감점", + "desc": "" + }, + "30": { + "path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]", + "word": [ + ["방식", "方式"], + ["관계", "關係"], + ["획득", "獲得"], + ["정보", "情報"], + ["절감", "節減"] + ], + "value": 10, + "points": 10, + "category": "Hanja", + "item": "① 방식(方式), ② 관계(關係), ③ 획득(獲得), ④ 정보(情報), ⑤ 절감(節減)" + }, + "31": { + "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'적인매체')])", + "value": true, + "points": 3, + "category": "Boolean", + "item": "문구 (…대표적의 매체로…)>'의' → '인' 글자바꿈" + }, + "32": { + "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'인이필요')])", + "value": true, + "points": 3, + "category": "Boolean", + "item": "문구 (…필요한 개인이 정보를…)>'필요한' / '개인이' 순서바꿈" + }, + "33": { + "path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape", + "searchValue": "스마트폰 가입자 수(단위 : 만 명)", + "value": "중고딕", + "points": 1, + "category": "FontName", + "item": "제목 문구 (스마트폰 가입자 수(단위 : 만 명))/① 글씨체 (중고딕)" + }, + "34": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "스마트폰 가입자 수(단위 : 만 명)", + "value": "1200", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (스마트폰 가입자 수(단위 : 만 명))/② 크기 (1200)" + }, + "35": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "searchValue": "스마트폰 가입자 수(단위 : 만 명)", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "제목 문구 (스마트폰 가입자 수(단위 : 만 명))/③ 진하게" + }, + "36": { + "path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align", + "searchValue": "스마트폰 가입자 수(단위 : 만 명)", + "value": "Center", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (스마트폰 가입자 수(단위 : 만 명))/④ 정렬 (가운데 정렬)" + }, + "37": { + "path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor", + "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor", + "value": "248,203,169", + "points": 2, + "category": "Color", + "item": "위쪽 제목 셀/① 색상(RGB:248,203,169)" + }, + "38": { + "path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "위쪽 제목 셀/② 진하게", + "desc": "글자 속성이라 CELLZONE으로 적용 되지 않음" + }, + "39": { + "path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Type", + "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Type", + "value": "DoubleSlim", + "points": 2, + "category": "TableAnswer", + "item": "제목 셀 아래선/① 이중실선" + }, + "40": { + "path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Width", + "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Width", + "value": "0.5mm", + "points": 2, + "category": "TableAnswer", + "item": "제목 셀 아래선/② 0.5mm" + }, + "41": { + "path": "//TABLE//TEXT/@CharShape", + "path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name", + "value": "굴림", + "points": 1, + "category": "TableFontName", + "category_tmp": "FontName", + "item": "글자모양/① 글씨체 (굴림)", + "desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경" + }, + "42": { + "path": "//CHARSHAPE[@Id=//TABLE//TEXT/@CharShape]/@Height", + "value": "1000", + "points": 1, + "category": "TableAnswer", + "item": "글자모양/② 크기 (1000)" + }, + "43": { + "path": "//PARASHAPE[@Id=//TABLE/ROW//P/@ParaShape]/@Align", + "value": "Center", + "points": 1, + "category": "TableAnswer", + "item": "글자모양/③ 정렬 (가운데 정렬)" + }, + "44": { + "path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) or boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])", + "option": "AVG", + "value": true, + "points": 4, + "category": "Boolean", + "item": "블록 계산식/합계", + "desc": "option값에 합계는 SUM / 평균은 AVG" + }, + "45": { + "chart_xpath": "", + "chart_type": "꺾은선형", + "value": true, + "points": 2, + "category": "ChartType", + "item": "① 종류 (꺾은선형)", + "desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)" + }, + "46": { + "chart_xpath": "//c:valAx/c:majorTickMark/@val", + "value": "out", + "points": 2, + "category": "ChartOneAnswer", + "item": "② 값 축 주 눈금선", + "desc": "chart xml파일에서 답안을 가져오는 문항은 path키값 대신 chart_xpath키값을 이용해 xapth구문을 작성한다" + }, + "47": { + "path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Width", + "value": "80", + "points": 2, + "category": "mmSize", + "item": "③ 크기-너비 (80 mm)" + }, + "48": { + "path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Height", + "value": "90", + "points": 2, + "category": "mmSize", + "item": "④ 크기-높이 (90 mm)" + }, + "49": { + "chart_xpath": "boolean(//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='합계' or text()='평균']))", + "value": true, + "points": 2, + "category": "Boolean", + "item": "⑤ 차트 데이터(표에서 블록계산식을 제외한 나머지 값만 이용)", + "desc": "차트가 존재하고 블록계산식(합계, 평균) 데이터가 없는 경우 정답 처리" + }, + "50": { + "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface", + "searchValue": "스마트폰 가입자 수", + "value": "궁서체", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (스마트폰 가입자 수)/① 글씨체 (궁서체)" + }, + "51": { + "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz", + "searchValue": "스마트폰 가입자 수", + "value": "1200", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (스마트폰 가입자 수)/② 크기 (1200)" + }, + "52": { + "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}", + "option": "b", + "searchValue": "스마트폰 가입자 수", + "value": "1", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (스마트폰 가입자 수)/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + }, + "53": { + "chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface | //c:catAx/c:txPr//a:latin/@typeface", + "value": "돋움체", + "points": 1, + "category": "ChartOneAnswer", + "item": "X축/① 글꼴 (돋움체)" + }, + "54": { + "chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz", + "value": "900", + "points": 1, + "category": "ChartOneAnswer", + "item": "X축/② 크기 (9pt)" + }, + "55": { + "chart_xpath": "//c:catAx/c:txPr//a:defRPr/@{option}", + "option": "i", + "value": "1", + "points": 1, + "category": "ChartOneAnswer", + "item": "X축/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + }, + "56": { + "chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface | //c:valAx/c:txPr//a:latin/@typeface", + "value": "돋움체", + "points": 1, + "category": "ChartOneAnswer", + "item": "Y축/① 글꼴 (돋움체)" + }, + "57": { + "chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz", + "value": "900", + "points": 1, + "category": "ChartOneAnswer", + "item": "Y축/② 크기 (9pt)" + }, + "58": { + "chart_xpath": "//c:valAx/c:txPr//a:defRPr/@{option}", + "option": "i", + "value": "1", + "points": 1, + "category": "ChartOneAnswer", + "item": "Y축/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + }, + "59": { + "chart_xpath": "//c:legend//a:ea/@typeface | //c:legend//a:latin/@typeface", + "value": "돋움체", + "points": 1, + "category": "OneAnswer", + "item": "범례/① 글꼴 (돋움체)" + }, + "60": { + "chart_xpath": "//c:legend//a:defRPr/@sz", + "value": "900", + "points": 1, + "category": "OneAnswer", + "item": "범례/② 크기 (9pt)" + }, + "61": { + "chart_xpath": "//c:legend//a:defRPr/@{option}", + "option": "i", + "value": "1", + "points": 1, + "category": "OneAnswer", + "item": "범례/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + } + } +} diff --git a/JSON/2604_4/DIW_2604_4A.json b/JSON/2604_4/DIW_2604_4A.json new file mode 100644 index 0000000..2c4864e --- /dev/null +++ b/JSON/2604_4/DIW_2604_4A.json @@ -0,0 +1,850 @@ +{ + "0": { + "0": { + "path": "", + "path2": "", + "points": 0, + "category": "파일저장", + "item": "파일명 (수검번호.hwp/hwpx)" + }, + "1": { + "path": "//PAGEMARGIN", + "value": { + "Top": 20, + "Bottom": 20, + "Left": 20, + "Right": 20, + "Header": 10, + "Footer": 10, + "Gutter": 0 + }, + "tolerance": 1, + "points": 4, + "category": "PageSetting", + "item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)" + }, + "2": { + "path": "", + "value": { + "FontName": "바탕", + "FontSize": "1000", + "Alignment": "Justify", + "LineSpacing": "160" + }, + "points": 4, + "category": "BasicSetting", + "item": "글꼴 (바탕, 10pt), 양쪽정렬, 줄간격 (160%)" + }, + "3": { + "path": "", + "value": null, + "points": 40, + "category": "오타감점", + "item": "오타 1개 -1점 / 2503회부터 오타 1개 -1점으로 변경" + } + }, + "1": { + "1": { + "path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName", + "searchValue": "대학교육정책포럼", + "value": "휴먼옛체", + "points": 1, + "category": "OneAnswer", + "item": "문구 (대학교육정책포럼)/① 글씨체 (휴먼옛체)" + }, + "2": { + "path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor", + "searchValue": "대학교육정책포럼", + "value": "53,135,145", + "points": 2, + "category": "Color", + "item": "문구 (대학교육정책포럼)/② 채우기 : 색상(RGB:53,135,145)" + }, + "3": { + "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width", + "searchValue": "대학교육정책포럼", + "value": "120", + "tolerance": 1, + "points": 2, + "category": "mmSize", + "item": "문구 (대학교육정책포럼)/③ 크기-너비 (120 mm)" + }, + "4": { + "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height", + "searchValue": "대학교육정책포럼", + "value": "20", + "tolerance": 1, + "points": 2, + "category": "mmSize", + "item": "문구 (대학교육정책포럼)/④ 크기-높이 (20 mm)" + }, + "5": { + "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar", + "searchValue": "대학교육정책포럼", + "value": "true", + "points": 2, + "category": "OneAnswer", + "item": "문구 (대학교육정책포럼)/⑤ 위치 (글자처럼 취급)" + }, + "6": { + "path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align", + "searchValue": "대학교육정책포럼", + "value": "Center", + "points": 2, + "category": "OneAnswer", + "item": "문구 (대학교육정책포럼)/⑥ 정렬 (가운데 정렬)" + }, + "7": { + "path": "//TEXTART[@Text='{searchValue}']", + "searchValue": "대학교육정책포럼", + "value": true, + "points": 2, + "category": "Boolean", + "item": "문구 (대학교육정책포럼)/⑦ 글맵시모양 (육안확인)" + }, + "8": { + "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE", + "searchValue": "한", + "value": { + "Height": 2800, + "Width": 2800 + }, + "tolerance": 200, + "points": 1, + "category": "TwoLineSize", + "item": "어/① 모양 (2줄)" + }, + "9": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "한", + "value": "굴림체", + "points": 1, + "category": "FontName", + "item": "어/② 글씨체 (굴림체)" + }, + "10": { + "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor", + "searchValue": "한", + "value": "192,204,239", + "points": 2, + "category": "Color", + "item": "어/③ 면색 : 색상(RGB:192,204,239)" + }, + "11": { + "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right", + "searchValue": "한", + "value": "3.0", + "tolerance": 1, + "points": 2, + "category": "mmSize", + "item": "어/④ 본문과의 간격 : 3.0mm" + }, + "12": { + "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", + "searchValue": "대학 퇴출 및 통폐합의 방향과 과제를 주제", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/① BOLD" + }, + "13": { + "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", + "searchValue": "대학 퇴출 및 통폐합의 방향과 과제를 주제", + "value": "UNDERLINE", + "points": 1, + "category": "FontAttribute", + "item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/② UNDERLINE" + }, + "14": { + "path": "//CHAR[contains(string(.),'{char1}')]/text()", + "path2": "//CHAR[contains(string(.),'{char2}')]/text()", + "path3": "//CHAR[contains(string(.),'{char3}')]/text()", + "char1": "★", + "char2": "★", + "char3": "※", + "value": 3, + "points": 3, + "category": "SpecialChar", + "item": "① ★, ② ★, ③ ※" + }, + "15": { + "path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape", + "searchValue": "행사안내", + "value": "궁서", + "points": 1, + "category": "FontName", + "item": "문구 (★ 행사안내 ★)/① 글씨체 (궁서)" + }, + "16": { + "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align", + "match_str": "행사안내", + "value": "Center", + "points": 1, + "category": "Align", + "item": "문구 (★ 행사안내 ★)/② 정렬 (가운데 정렬)" + }, + "17": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", + "searchValue": "2026. 05. 01.(금) 18:00까지 온라인 사전 등록(http://www.ihd.or.kr)", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "문구 (2026. 05. 01.(금) 18:00까지 온라인 사전 등록(http://www.ihd.or.kr))/① BOLD" + }, + "18": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", + "searchValue": "2026. 05. 01.(금) 18:00까지 온라인 사전 등록(http://www.ihd.or.kr)", + "value": "ITALIC", + "points": 1, + "category": "FontAttribute", + "item": "문구 (2026. 05. 01.(금) 18:00까지 온라인 사전 등록(http://www.ihd.or.kr))/② ITALIC" + }, + "19": { + "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN", + "searchValue": "기타사항", + "value": { + "Left": 10, + "Indent": 12 + }, + "points": 2, + "category": "ParaShape", + "item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (10), 내어쓰기 (12)", + "desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력" + }, + "20": { + "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height", + "searchValue": "2026. 04. 22.", + "value": "1300", + "points": 1, + "category": "OneAnswer", + "item": "문구 (2026. 04. 22.)/① 크기 (1300)", + "desc": "1pt당 100" + }, + "21": { + "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align", + "searchValue": "2026. 04. 22.", + "value": "Center", + "points": 1, + "category": "OneAnswer", + "item": "문구 (2026. 04. 22.)/② 정렬 (가운데 정렬)" + }, + "22": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "한국대학교육협의회", + "value": "견고딕", + "points": 1, + "category": "FontName", + "item": "문구 (한국대학교육협의회)/① 글씨체 (견고딕)" + }, + "23": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "한국대학교육협의회", + "value": "2500", + "points": 1, + "category": "OneAnswer", + "item": "문구 (한국대학교육협의회)/② 크기 (2500)" + }, + "24": { + "path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align", + "searchValue": "한국대학교육협의회", + "value": "Center", + "points": 1, + "category": "OneAnswer", + "item": "문구 (한국대학교육협의회)/③ 정렬 (가운데 정렬)" + }, + "25": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "DIAT", + "value": "굴림", + "points": 1, + "category": "Header.FontName", + "item": "문구 (DIAT)/① 글꼴 (굴림)" + }, + "26": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "DIAT", + "value": "900", + "points": 1, + "category": "Header.OneAnswer", + "item": "문구 (DIAT)/② 크기 (9pt)" + }, + "27": { + "path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align", + "searchValue": "DIAT", + "value": "Right", + "points": 1, + "category": "Header.OneAnswer", + "item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)" + }, + "28": { + "path": "//PAGENUM/@FormatType", + "value": "LatinCapital", + "points": 2, + "category": "PageNumber", + "item": "① 쪽 번호 매기기 (가,나,다 순으로)", + "desc1": { + "가,나,다": "HangulSyllable", + "1,2,3": "Digit", + "일,이,삼": "HangulPhonetic", + "갑,을,병": "DecagonCircle", + "A,B,C": "LatinCapital", + "a,b,c": "LatinSmall", + "Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital", + "①,②,③": "CircledDigit", + "一,二,三": "Ideograph", + "㉠,㉡,㉢": "CircledHangulJamo", + "ⓐ,ⓑ,ⓒ": "CircledLatinSmall", + "㊀,㊁,㊂": "CircledIdeograph", + "i,ii,iii": "RomanSmall", + "I,II,III": "RomanCapital", + "甲,乙,丙": "DecagonCircleHanja", + "+,++,+++": "UserChar", + "*,**,***": "UserChar", + "정답에 맞는 값 value에 입력": "" + }, + "desc2": "1, 2페이지 모두 정답이어야 점수 부여" + }, + "29": { + "path": "//PAGENUM/@Pos", + "value": "BottomCenter", + "points": 2, + "category": "PageNumber", + "item": "가운데 아래", + "desc": "1, 2페이지 모두 정답이어야 점수 부여", + "desc2": { + "가운데 아래": "BottomCenter", + "오른쪽 아래": "BottomRight", + "왼쪽 아래": "BottomLeft" + } + }, + "30": { + "path": "//CHAR[contains(text(),'{searchValue}')]", + "searchValue": "http", + "value": true, + "points": 2, + "category": "hyperlink", + "item": "문구 (http://www.ihd.or.kr)/하이퍼링크 없이 작성", + "desc": "searchValue에 해당하는 주소 문구에 하이퍼링크가 하나라도 설정되어 있으면 오답" + }, + "31": { + "path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing", + "value": "200", + "first_word": "한", + "points": 2, + "category": "LineSpacing", + "item": "문제 1 줄간격 200% 설정", + "desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다." + } + }, + "2": { + "1": { + "path": "//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@HeaderInside", + "path2": "//BORDERFILL[@Id=//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@BorferFill]", + "value": { + "header_inside": true, + "all_double_slim": true + }, + "points": 4, + "category": "PageBorder", + "item": "문제2 쪽테두리(이중 실선, 머리말 포함) 설정" + }, + "2": { + "path": "count(//SECTION)>1", + "value": true, + "points": 3, + "category": "Boolean", + "item": "① 구역나누기", + "desc": "섹션이 1개 이상이면 점수부여" + }, + "3": { + "path": "./TEXT/COLDEF/@Count", + "value": "2", + "points": 3, + "category": "TwoColumn", + "item": "② 다단 2단" + }, + "4": { + "path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width", + "value": "65", + "points": 2, + "category": "Rectangle.mmSize", + "item": "문구 (대학 구조조정)/① 크기-너비 (65 mm)" + }, + "5": { + "path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height", + "value": "12", + "points": 2, + "category": "Rectangle.mmSize", + "item": "문구 (대학 구조조정)/② 크기-높이 (12 mm)" + }, + "6": { + "path": "//RECTANGLE//LINESHAPE", + "value": { + "Style": "DoubleSlim", + "Width": "283" + }, + "points": 2, + "category": "Rectangle.LineShape", + "item": "문구 (대학 구조조정)/③ 테두리 : 이중 실선(1.00mm)", + "desc": "1mm = 283pt value['Width']에 pt값 입력" + }, + "7": { + "path": "//RECTANGLE/@Ratio", + "value": "20", + "points": 2, + "category": "Rectangle.OneAnswer", + "item": "문구 (대학 구조조정)/④ 글상자 모서리 (둥근모양)", + "desc": "모서리 비율 반원:50 / 둥근모양:20" + }, + "8": { + "path": "//RECTANGLE//WINDOWBRUSH/@FaceColor", + "value": "227,220,193", + "points": 2, + "category": "Rectangle.Color", + "item": "문구 (대학 구조조정)/⑤ 채우기 : 색상(RGB:227,220,193)" + }, + "9": { + "path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar", + "value": "true", + "points": 1, + "category": "Rectangle.OneAnswer", + "item": "문구 (대학 구조조정)/⑥ 글상자 위치 (글자처럼 취급)" + }, + "10": { + "path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align", + "value": "Center", + "points": 1, + "category": "Rectangle.TextBoxAlign", + "item": "문구 (대학 구조조정)/⑦ 글상자 정렬 (가운데 정렬)" + }, + "11": { + "path": ".//RECTANGLE//TEXT/@CharShape", + "value": "궁서체", + "points": 1, + "category": "Rectangle.FontName", + "item": "문구 (대학 구조조정)/⑧ 글씨체 (궁서체)" + }, + "12": { + "path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height", + "value": "2000", + "points": 1, + "category": "Rectangle.FontSize", + "item": "문구 (대학 구조조정)/⑨ 글씨크기 (2000)", + "desc": "1pt당 100" + }, + "13": { + "path": "//PARASHAPE[@Id={rect_parashape_id}]/@Align", + "value": "Center", + "points": 1, + "category": "Rectangle.TextBoxAlign", + "item": "문구 (대학 구조조정)/⑩ 정렬 (가운데 정렬)" + }, + "14": { + "path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']", + "value": true, + "points": 2, + "category": "Boolean", + "item": "① 파일명 \"그림A.jpg\" 삽입", + "desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)" + }, + "15": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width", + "value": "80", + "points": 2, + "category": "mmSize", + "item": "② 크기-너비 (80 mm)" + }, + "16": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height", + "value": "35", + "points": 2, + "category": "mmSize", + "item": "③ 크기-높이 (35 mm)" + }, + "17": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset", + "value": "0", + "points": 2, + "category": "mmSize", + "item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0mm)" + }, + "18": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset", + "value": "24", + "points": 2, + "category": "mmSize", + "item": "⑤ 위치 (어울림 : 세로-쪽의 위 24 mm)" + }, + "19": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "1. 학령인구 감소", + "value": "중고딕", + "points": 1, + "category": "FontName", + "item": "문구① (1. 학령인구 감소)/① 글씨체 (중고딕)" + }, + "20": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "1. 학령인구 감소", + "value": "1200", + "points": 1, + "category": "OneAnswer", + "item": "문구① (1. 학령인구 감소)/② 크기 (1200)" + }, + "21": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "searchValue": "1. 학령인구 감소", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "문구① (1. 학령인구 감소)/③ 진하게" + }, + "22": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "2. 한계대학이란?", + "value": "중고딕", + "points": 1, + "category": "FontName", + "item": "문구② (2. 한계대학이란?)/① 글씨체 (중고딕)" + }, + "23": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "2. 한계대학이란?", + "value": "1200", + "points": 1, + "category": "OneAnswer", + "item": "문구② (2. 한계대학이란?)/② 크기 (1200)" + }, + "24": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "searchValue": "2. 한계대학이란?", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "문구② (2. 한계대학이란?)/③ 진하게" + }, + "25": { + "path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)", + "path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)", + "option": "학령인구", + "value": true, + "points": 2, + "category": "Boolean", + "item": "문구 (학령인구)/① 각주 설정 및 문구 입력" + }, + "26": { + "path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape", + "searchValue": "유치원 : 만 3~5세, 초등학교 : 만 6~11세, 중학교 : 만 12~14세, 고등학교 : 만 15~17세", + "value": "돋움", + "points": 1, + "category": "FontName", + "item": "문구 (학령인구)/② 글씨체 (돋움)" + }, + "27": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height", + "searchValue": "유치원 : 만 3~5세, 초등학교 : 만 6~11세, 중학교 : 만 12~14세, 고등학교 : 만 15~17세", + "value": "900", + "points": 1, + "category": "OneAnswer", + "item": "문구 (학령인구)/③ 크기 (9pt)" + }, + "28": { + "path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type", + "searchValue": "유치원 : 만 3~5세, 초등학교 : 만 6~11세, 중학교 : 만 12~14세, 고등학교 : 만 15~17세", + "value": "DecagonCircleHanja", + "points": 2, + "category": "PageNumber", + "item": "문구 (전당)/④ 각주 번호모양", + "desc": { + "가,나,다": "HangulSyllable", + "1,2,3": "Digit", + "일,이,삼": "HangulPhonetic", + "갑,을,병": "DecagonCircle", + "A,B,C": "LatinCapital", + "a,b,c": "LatinSmall", + "Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital", + "①,②,③": "CircledDigit", + "一,二,三": "Ideograph", + "㉠,㉡,㉢": "CircledHangulJamo", + "ⓐ,ⓑ,ⓒ": "CircledLatinSmall", + "㊀,㊁,㊂": "CircledIdeograph", + "i,ii,iii": "RomanSmall", + "I,II,III": "RomanCapital", + "甲,乙,丙": "DecagonCircleHanja", + "+,++,+++": "UserChar", + "*,**,***": "UserChar", + "정답에 맞는 값 value에 입력": "" + } + }, + "29": { + "path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])", + "ignoreWord": "Management", + "value": true, + "points": 3, + "category": "Boolean", + "item": "Management/영단어 미입력, 대소문자/오타 시 전체 감점", + "desc": "" + }, + "30": { + "path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]", + "word": [ + ["환경", "環境"], + ["분석", "分析"], + ["재무구조", "財務構造"], + ["경영", "經營"], + ["상태", "狀態"] + ], + "value": 10, + "points": 10, + "category": "Hanja", + "item": "① 환경(環境), ② 분석(分析), ③ 재무구조(財務構造), ④ 경영(經營), ⑤ 상태(狀態)" + }, + "31": { + "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'덕적해이')])", + "value": true, + "points": 3, + "category": "Boolean", + "item": "문구 (…비위나 해이가 도덕적 대학…)>'해이가 / 도덕적' 순서바꿈" + }, + "32": { + "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'증가추이')])", + "value": true, + "points": 3, + "category": "Boolean", + "item": "문구 (…향후 증강 추이는 가속화될 전망이다…)>'강 → 가' 글자바꿈" + }, + "33": { + "path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape", + "searchValue": "학령인구 변동 추계(단위: 천 명)", + "value": "맑은고딕", + "points": 1, + "category": "FontName", + "item": "제목 문구 (학령인구 변동 추계(단위: 천 명))/① 글씨체 (맑은고딕)" + }, + "34": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "학령인구 변동 추계(단위: 천 명)", + "value": "1200", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (학령인구 변동 추계(단위: 천 명))/② 크기 (1200)" + }, + "35": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "searchValue": "학령인구 변동 추계(단위: 천 명)", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "제목 문구 (학령인구 변동 추계(단위: 천 명))/③ 진하게" + }, + "36": { + "path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align", + "searchValue": "학령인구 변동 추계(단위: 천 명)", + "value": "Center", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (학령인구 변동 추계(단위: 천 명))/④ 정렬 (가운데 정렬)" + }, + "37": { + "path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor", + "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor", + "value": "158,219,98", + "points": 2, + "category": "Color", + "item": "위쪽 제목 셀/① 색상(RGB:158,219,98)" + }, + "38": { + "path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "위쪽 제목 셀/② 진하게", + "desc": "글자 속성이라 CELLZONE으로 적용 되지 않음" + }, + "39": { + "path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Type", + "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Type", + "value": "DoubleSlim", + "points": 2, + "category": "TableAnswer", + "item": "제목 셀 아래선/① 이중실선" + }, + "40": { + "path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Width", + "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Width", + "value": "0.5mm", + "points": 2, + "category": "TableAnswer", + "item": "제목 셀 아래선/② 0.5mm" + }, + "41": { + "path": "//TABLE//TEXT/@CharShape", + "path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name", + "value": "돋움체", + "points": 1, + "category": "TableFontName", + "category_tmp": "FontName", + "item": "글자모양/① 글씨체 (돋움체)", + "desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경" + }, + "42": { + "path": "//CHARSHAPE[@Id=//TABLE//TEXT/@CharShape]/@Height", + "value": "1000", + "points": 1, + "category": "TableAnswer", + "item": "글자모양/② 크기 (1000)" + }, + "43": { + "path": "//PARASHAPE[@Id=//TABLE/ROW//P/@ParaShape]/@Align", + "value": "Center", + "points": 1, + "category": "TableAnswer", + "item": "글자모양/③ 정렬 (가운데 정렬)" + }, + "44": { + "path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) or boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])", + "option": "AVG", + "value": true, + "points": 4, + "category": "Boolean", + "item": "블록 계산식/합계", + "desc": "option값에 합계는 SUM / 평균은 AVG" + }, + "45": { + "chart_xpath": "", + "chart_type": "꺾은선형", + "value": true, + "points": 2, + "category": "ChartType", + "item": "① 종류 (꺾은선형)", + "desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)" + }, + "46": { + "chart_xpath": "//c:valAx/c:majorTickMark/@val", + "value": "out", + "points": 2, + "category": "ChartOneAnswer", + "item": "② 값 축 주 눈금선", + "desc": "chart xml파일에서 답안을 가져오는 문항은 path키값 대신 chart_xpath키값을 이용해 xapth구문을 작성한다" + }, + "47": { + "path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Width", + "value": "80", + "points": 2, + "category": "mmSize", + "item": "③ 크기-너비 (80 mm)" + }, + "48": { + "path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Height", + "value": "90", + "points": 2, + "category": "mmSize", + "item": "④ 크기-높이 (90 mm)" + }, + "49": { + "chart_xpath": "boolean(//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='합계' or text()='평균']))", + "value": true, + "points": 2, + "category": "Boolean", + "item": "⑤ 차트 데이터(표에서 블록계산식을 제외한 나머지 값만 이용)", + "desc": "차트가 존재하고 블록계산식(합계, 평균) 데이터가 없는 경우 정답 처리" + }, + "50": { + "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface", + "searchValue": "학령인구 변동 추계", + "value": "굴림체", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (학령인구 변동 추계)/① 글씨체 (굴림체)" + }, + "51": { + "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz", + "searchValue": "학령인구 변동 추계", + "value": "1300", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (학령인구 변동 추계)/② 크기 (1300)" + }, + "52": { + "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}", + "option": "b", + "searchValue": "학령인구 변동 추계", + "value": "1", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (학령인구 변동 추계)/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + }, + "53": { + "chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface | //c:catAx/c:txPr//a:latin/@typeface", + "value": "궁서", + "points": 1, + "category": "ChartOneAnswer", + "item": "X축/① 글꼴 (궁서)" + }, + "54": { + "chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz", + "value": "900", + "points": 1, + "category": "ChartOneAnswer", + "item": "X축/② 크기 (9pt)" + }, + "55": { + "chart_xpath": "//c:catAx/c:txPr//a:defRPr/@{option}", + "option": "i", + "value": "1", + "points": 1, + "category": "ChartOneAnswer", + "item": "X축/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + }, + "56": { + "chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface | //c:valAx/c:txPr//a:latin/@typeface", + "value": "궁서", + "points": 1, + "category": "ChartOneAnswer", + "item": "Y축/① 글꼴 (궁서)" + }, + "57": { + "chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz", + "value": "900", + "points": 1, + "category": "ChartOneAnswer", + "item": "Y축/② 크기 (9pt)" + }, + "58": { + "chart_xpath": "//c:valAx/c:txPr//a:defRPr/@{option}", + "option": "i", + "value": "1", + "points": 1, + "category": "ChartOneAnswer", + "item": "Y축/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + }, + "59": { + "chart_xpath": "//c:legend//a:ea/@typeface | //c:legend//a:latin/@typeface", + "value": "궁서", + "points": 1, + "category": "OneAnswer", + "item": "범례/① 글꼴 (궁서)" + }, + "60": { + "chart_xpath": "//c:legend//a:defRPr/@sz", + "value": "900", + "points": 1, + "category": "OneAnswer", + "item": "범례/② 크기 (9pt)" + }, + "61": { + "chart_xpath": "//c:legend//a:defRPr/@{option}", + "option": "i", + "value": "1", + "points": 1, + "category": "OneAnswer", + "item": "범례/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + } + } +} diff --git a/JSON/2604_5/DIW_2604_5A.json b/JSON/2604_5/DIW_2604_5A.json new file mode 100644 index 0000000..2c4864e --- /dev/null +++ b/JSON/2604_5/DIW_2604_5A.json @@ -0,0 +1,850 @@ +{ + "0": { + "0": { + "path": "", + "path2": "", + "points": 0, + "category": "파일저장", + "item": "파일명 (수검번호.hwp/hwpx)" + }, + "1": { + "path": "//PAGEMARGIN", + "value": { + "Top": 20, + "Bottom": 20, + "Left": 20, + "Right": 20, + "Header": 10, + "Footer": 10, + "Gutter": 0 + }, + "tolerance": 1, + "points": 4, + "category": "PageSetting", + "item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)" + }, + "2": { + "path": "", + "value": { + "FontName": "바탕", + "FontSize": "1000", + "Alignment": "Justify", + "LineSpacing": "160" + }, + "points": 4, + "category": "BasicSetting", + "item": "글꼴 (바탕, 10pt), 양쪽정렬, 줄간격 (160%)" + }, + "3": { + "path": "", + "value": null, + "points": 40, + "category": "오타감점", + "item": "오타 1개 -1점 / 2503회부터 오타 1개 -1점으로 변경" + } + }, + "1": { + "1": { + "path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName", + "searchValue": "대학교육정책포럼", + "value": "휴먼옛체", + "points": 1, + "category": "OneAnswer", + "item": "문구 (대학교육정책포럼)/① 글씨체 (휴먼옛체)" + }, + "2": { + "path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor", + "searchValue": "대학교육정책포럼", + "value": "53,135,145", + "points": 2, + "category": "Color", + "item": "문구 (대학교육정책포럼)/② 채우기 : 색상(RGB:53,135,145)" + }, + "3": { + "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width", + "searchValue": "대학교육정책포럼", + "value": "120", + "tolerance": 1, + "points": 2, + "category": "mmSize", + "item": "문구 (대학교육정책포럼)/③ 크기-너비 (120 mm)" + }, + "4": { + "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height", + "searchValue": "대학교육정책포럼", + "value": "20", + "tolerance": 1, + "points": 2, + "category": "mmSize", + "item": "문구 (대학교육정책포럼)/④ 크기-높이 (20 mm)" + }, + "5": { + "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar", + "searchValue": "대학교육정책포럼", + "value": "true", + "points": 2, + "category": "OneAnswer", + "item": "문구 (대학교육정책포럼)/⑤ 위치 (글자처럼 취급)" + }, + "6": { + "path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align", + "searchValue": "대학교육정책포럼", + "value": "Center", + "points": 2, + "category": "OneAnswer", + "item": "문구 (대학교육정책포럼)/⑥ 정렬 (가운데 정렬)" + }, + "7": { + "path": "//TEXTART[@Text='{searchValue}']", + "searchValue": "대학교육정책포럼", + "value": true, + "points": 2, + "category": "Boolean", + "item": "문구 (대학교육정책포럼)/⑦ 글맵시모양 (육안확인)" + }, + "8": { + "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE", + "searchValue": "한", + "value": { + "Height": 2800, + "Width": 2800 + }, + "tolerance": 200, + "points": 1, + "category": "TwoLineSize", + "item": "어/① 모양 (2줄)" + }, + "9": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "한", + "value": "굴림체", + "points": 1, + "category": "FontName", + "item": "어/② 글씨체 (굴림체)" + }, + "10": { + "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor", + "searchValue": "한", + "value": "192,204,239", + "points": 2, + "category": "Color", + "item": "어/③ 면색 : 색상(RGB:192,204,239)" + }, + "11": { + "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right", + "searchValue": "한", + "value": "3.0", + "tolerance": 1, + "points": 2, + "category": "mmSize", + "item": "어/④ 본문과의 간격 : 3.0mm" + }, + "12": { + "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", + "searchValue": "대학 퇴출 및 통폐합의 방향과 과제를 주제", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/① BOLD" + }, + "13": { + "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", + "searchValue": "대학 퇴출 및 통폐합의 방향과 과제를 주제", + "value": "UNDERLINE", + "points": 1, + "category": "FontAttribute", + "item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/② UNDERLINE" + }, + "14": { + "path": "//CHAR[contains(string(.),'{char1}')]/text()", + "path2": "//CHAR[contains(string(.),'{char2}')]/text()", + "path3": "//CHAR[contains(string(.),'{char3}')]/text()", + "char1": "★", + "char2": "★", + "char3": "※", + "value": 3, + "points": 3, + "category": "SpecialChar", + "item": "① ★, ② ★, ③ ※" + }, + "15": { + "path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape", + "searchValue": "행사안내", + "value": "궁서", + "points": 1, + "category": "FontName", + "item": "문구 (★ 행사안내 ★)/① 글씨체 (궁서)" + }, + "16": { + "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align", + "match_str": "행사안내", + "value": "Center", + "points": 1, + "category": "Align", + "item": "문구 (★ 행사안내 ★)/② 정렬 (가운데 정렬)" + }, + "17": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", + "searchValue": "2026. 05. 01.(금) 18:00까지 온라인 사전 등록(http://www.ihd.or.kr)", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "문구 (2026. 05. 01.(금) 18:00까지 온라인 사전 등록(http://www.ihd.or.kr))/① BOLD" + }, + "18": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", + "searchValue": "2026. 05. 01.(금) 18:00까지 온라인 사전 등록(http://www.ihd.or.kr)", + "value": "ITALIC", + "points": 1, + "category": "FontAttribute", + "item": "문구 (2026. 05. 01.(금) 18:00까지 온라인 사전 등록(http://www.ihd.or.kr))/② ITALIC" + }, + "19": { + "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN", + "searchValue": "기타사항", + "value": { + "Left": 10, + "Indent": 12 + }, + "points": 2, + "category": "ParaShape", + "item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (10), 내어쓰기 (12)", + "desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력" + }, + "20": { + "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height", + "searchValue": "2026. 04. 22.", + "value": "1300", + "points": 1, + "category": "OneAnswer", + "item": "문구 (2026. 04. 22.)/① 크기 (1300)", + "desc": "1pt당 100" + }, + "21": { + "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align", + "searchValue": "2026. 04. 22.", + "value": "Center", + "points": 1, + "category": "OneAnswer", + "item": "문구 (2026. 04. 22.)/② 정렬 (가운데 정렬)" + }, + "22": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "한국대학교육협의회", + "value": "견고딕", + "points": 1, + "category": "FontName", + "item": "문구 (한국대학교육협의회)/① 글씨체 (견고딕)" + }, + "23": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "한국대학교육협의회", + "value": "2500", + "points": 1, + "category": "OneAnswer", + "item": "문구 (한국대학교육협의회)/② 크기 (2500)" + }, + "24": { + "path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align", + "searchValue": "한국대학교육협의회", + "value": "Center", + "points": 1, + "category": "OneAnswer", + "item": "문구 (한국대학교육협의회)/③ 정렬 (가운데 정렬)" + }, + "25": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "DIAT", + "value": "굴림", + "points": 1, + "category": "Header.FontName", + "item": "문구 (DIAT)/① 글꼴 (굴림)" + }, + "26": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "DIAT", + "value": "900", + "points": 1, + "category": "Header.OneAnswer", + "item": "문구 (DIAT)/② 크기 (9pt)" + }, + "27": { + "path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align", + "searchValue": "DIAT", + "value": "Right", + "points": 1, + "category": "Header.OneAnswer", + "item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)" + }, + "28": { + "path": "//PAGENUM/@FormatType", + "value": "LatinCapital", + "points": 2, + "category": "PageNumber", + "item": "① 쪽 번호 매기기 (가,나,다 순으로)", + "desc1": { + "가,나,다": "HangulSyllable", + "1,2,3": "Digit", + "일,이,삼": "HangulPhonetic", + "갑,을,병": "DecagonCircle", + "A,B,C": "LatinCapital", + "a,b,c": "LatinSmall", + "Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital", + "①,②,③": "CircledDigit", + "一,二,三": "Ideograph", + "㉠,㉡,㉢": "CircledHangulJamo", + "ⓐ,ⓑ,ⓒ": "CircledLatinSmall", + "㊀,㊁,㊂": "CircledIdeograph", + "i,ii,iii": "RomanSmall", + "I,II,III": "RomanCapital", + "甲,乙,丙": "DecagonCircleHanja", + "+,++,+++": "UserChar", + "*,**,***": "UserChar", + "정답에 맞는 값 value에 입력": "" + }, + "desc2": "1, 2페이지 모두 정답이어야 점수 부여" + }, + "29": { + "path": "//PAGENUM/@Pos", + "value": "BottomCenter", + "points": 2, + "category": "PageNumber", + "item": "가운데 아래", + "desc": "1, 2페이지 모두 정답이어야 점수 부여", + "desc2": { + "가운데 아래": "BottomCenter", + "오른쪽 아래": "BottomRight", + "왼쪽 아래": "BottomLeft" + } + }, + "30": { + "path": "//CHAR[contains(text(),'{searchValue}')]", + "searchValue": "http", + "value": true, + "points": 2, + "category": "hyperlink", + "item": "문구 (http://www.ihd.or.kr)/하이퍼링크 없이 작성", + "desc": "searchValue에 해당하는 주소 문구에 하이퍼링크가 하나라도 설정되어 있으면 오답" + }, + "31": { + "path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing", + "value": "200", + "first_word": "한", + "points": 2, + "category": "LineSpacing", + "item": "문제 1 줄간격 200% 설정", + "desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다." + } + }, + "2": { + "1": { + "path": "//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@HeaderInside", + "path2": "//BORDERFILL[@Id=//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@BorferFill]", + "value": { + "header_inside": true, + "all_double_slim": true + }, + "points": 4, + "category": "PageBorder", + "item": "문제2 쪽테두리(이중 실선, 머리말 포함) 설정" + }, + "2": { + "path": "count(//SECTION)>1", + "value": true, + "points": 3, + "category": "Boolean", + "item": "① 구역나누기", + "desc": "섹션이 1개 이상이면 점수부여" + }, + "3": { + "path": "./TEXT/COLDEF/@Count", + "value": "2", + "points": 3, + "category": "TwoColumn", + "item": "② 다단 2단" + }, + "4": { + "path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width", + "value": "65", + "points": 2, + "category": "Rectangle.mmSize", + "item": "문구 (대학 구조조정)/① 크기-너비 (65 mm)" + }, + "5": { + "path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height", + "value": "12", + "points": 2, + "category": "Rectangle.mmSize", + "item": "문구 (대학 구조조정)/② 크기-높이 (12 mm)" + }, + "6": { + "path": "//RECTANGLE//LINESHAPE", + "value": { + "Style": "DoubleSlim", + "Width": "283" + }, + "points": 2, + "category": "Rectangle.LineShape", + "item": "문구 (대학 구조조정)/③ 테두리 : 이중 실선(1.00mm)", + "desc": "1mm = 283pt value['Width']에 pt값 입력" + }, + "7": { + "path": "//RECTANGLE/@Ratio", + "value": "20", + "points": 2, + "category": "Rectangle.OneAnswer", + "item": "문구 (대학 구조조정)/④ 글상자 모서리 (둥근모양)", + "desc": "모서리 비율 반원:50 / 둥근모양:20" + }, + "8": { + "path": "//RECTANGLE//WINDOWBRUSH/@FaceColor", + "value": "227,220,193", + "points": 2, + "category": "Rectangle.Color", + "item": "문구 (대학 구조조정)/⑤ 채우기 : 색상(RGB:227,220,193)" + }, + "9": { + "path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar", + "value": "true", + "points": 1, + "category": "Rectangle.OneAnswer", + "item": "문구 (대학 구조조정)/⑥ 글상자 위치 (글자처럼 취급)" + }, + "10": { + "path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align", + "value": "Center", + "points": 1, + "category": "Rectangle.TextBoxAlign", + "item": "문구 (대학 구조조정)/⑦ 글상자 정렬 (가운데 정렬)" + }, + "11": { + "path": ".//RECTANGLE//TEXT/@CharShape", + "value": "궁서체", + "points": 1, + "category": "Rectangle.FontName", + "item": "문구 (대학 구조조정)/⑧ 글씨체 (궁서체)" + }, + "12": { + "path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height", + "value": "2000", + "points": 1, + "category": "Rectangle.FontSize", + "item": "문구 (대학 구조조정)/⑨ 글씨크기 (2000)", + "desc": "1pt당 100" + }, + "13": { + "path": "//PARASHAPE[@Id={rect_parashape_id}]/@Align", + "value": "Center", + "points": 1, + "category": "Rectangle.TextBoxAlign", + "item": "문구 (대학 구조조정)/⑩ 정렬 (가운데 정렬)" + }, + "14": { + "path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']", + "value": true, + "points": 2, + "category": "Boolean", + "item": "① 파일명 \"그림A.jpg\" 삽입", + "desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)" + }, + "15": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width", + "value": "80", + "points": 2, + "category": "mmSize", + "item": "② 크기-너비 (80 mm)" + }, + "16": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height", + "value": "35", + "points": 2, + "category": "mmSize", + "item": "③ 크기-높이 (35 mm)" + }, + "17": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset", + "value": "0", + "points": 2, + "category": "mmSize", + "item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0mm)" + }, + "18": { + "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset", + "value": "24", + "points": 2, + "category": "mmSize", + "item": "⑤ 위치 (어울림 : 세로-쪽의 위 24 mm)" + }, + "19": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "1. 학령인구 감소", + "value": "중고딕", + "points": 1, + "category": "FontName", + "item": "문구① (1. 학령인구 감소)/① 글씨체 (중고딕)" + }, + "20": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "1. 학령인구 감소", + "value": "1200", + "points": 1, + "category": "OneAnswer", + "item": "문구① (1. 학령인구 감소)/② 크기 (1200)" + }, + "21": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "searchValue": "1. 학령인구 감소", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "문구① (1. 학령인구 감소)/③ 진하게" + }, + "22": { + "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", + "searchValue": "2. 한계대학이란?", + "value": "중고딕", + "points": 1, + "category": "FontName", + "item": "문구② (2. 한계대학이란?)/① 글씨체 (중고딕)" + }, + "23": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "2. 한계대학이란?", + "value": "1200", + "points": 1, + "category": "OneAnswer", + "item": "문구② (2. 한계대학이란?)/② 크기 (1200)" + }, + "24": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "searchValue": "2. 한계대학이란?", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "문구② (2. 한계대학이란?)/③ 진하게" + }, + "25": { + "path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)", + "path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)", + "option": "학령인구", + "value": true, + "points": 2, + "category": "Boolean", + "item": "문구 (학령인구)/① 각주 설정 및 문구 입력" + }, + "26": { + "path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape", + "searchValue": "유치원 : 만 3~5세, 초등학교 : 만 6~11세, 중학교 : 만 12~14세, 고등학교 : 만 15~17세", + "value": "돋움", + "points": 1, + "category": "FontName", + "item": "문구 (학령인구)/② 글씨체 (돋움)" + }, + "27": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height", + "searchValue": "유치원 : 만 3~5세, 초등학교 : 만 6~11세, 중학교 : 만 12~14세, 고등학교 : 만 15~17세", + "value": "900", + "points": 1, + "category": "OneAnswer", + "item": "문구 (학령인구)/③ 크기 (9pt)" + }, + "28": { + "path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type", + "searchValue": "유치원 : 만 3~5세, 초등학교 : 만 6~11세, 중학교 : 만 12~14세, 고등학교 : 만 15~17세", + "value": "DecagonCircleHanja", + "points": 2, + "category": "PageNumber", + "item": "문구 (전당)/④ 각주 번호모양", + "desc": { + "가,나,다": "HangulSyllable", + "1,2,3": "Digit", + "일,이,삼": "HangulPhonetic", + "갑,을,병": "DecagonCircle", + "A,B,C": "LatinCapital", + "a,b,c": "LatinSmall", + "Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital", + "①,②,③": "CircledDigit", + "一,二,三": "Ideograph", + "㉠,㉡,㉢": "CircledHangulJamo", + "ⓐ,ⓑ,ⓒ": "CircledLatinSmall", + "㊀,㊁,㊂": "CircledIdeograph", + "i,ii,iii": "RomanSmall", + "I,II,III": "RomanCapital", + "甲,乙,丙": "DecagonCircleHanja", + "+,++,+++": "UserChar", + "*,**,***": "UserChar", + "정답에 맞는 값 value에 입력": "" + } + }, + "29": { + "path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])", + "ignoreWord": "Management", + "value": true, + "points": 3, + "category": "Boolean", + "item": "Management/영단어 미입력, 대소문자/오타 시 전체 감점", + "desc": "" + }, + "30": { + "path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]", + "word": [ + ["환경", "環境"], + ["분석", "分析"], + ["재무구조", "財務構造"], + ["경영", "經營"], + ["상태", "狀態"] + ], + "value": 10, + "points": 10, + "category": "Hanja", + "item": "① 환경(環境), ② 분석(分析), ③ 재무구조(財務構造), ④ 경영(經營), ⑤ 상태(狀態)" + }, + "31": { + "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'덕적해이')])", + "value": true, + "points": 3, + "category": "Boolean", + "item": "문구 (…비위나 해이가 도덕적 대학…)>'해이가 / 도덕적' 순서바꿈" + }, + "32": { + "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'증가추이')])", + "value": true, + "points": 3, + "category": "Boolean", + "item": "문구 (…향후 증강 추이는 가속화될 전망이다…)>'강 → 가' 글자바꿈" + }, + "33": { + "path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape", + "searchValue": "학령인구 변동 추계(단위: 천 명)", + "value": "맑은고딕", + "points": 1, + "category": "FontName", + "item": "제목 문구 (학령인구 변동 추계(단위: 천 명))/① 글씨체 (맑은고딕)" + }, + "34": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", + "searchValue": "학령인구 변동 추계(단위: 천 명)", + "value": "1200", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (학령인구 변동 추계(단위: 천 명))/② 크기 (1200)" + }, + "35": { + "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", + "searchValue": "학령인구 변동 추계(단위: 천 명)", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "제목 문구 (학령인구 변동 추계(단위: 천 명))/③ 진하게" + }, + "36": { + "path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align", + "searchValue": "학령인구 변동 추계(단위: 천 명)", + "value": "Center", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (학령인구 변동 추계(단위: 천 명))/④ 정렬 (가운데 정렬)" + }, + "37": { + "path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor", + "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor", + "value": "158,219,98", + "points": 2, + "category": "Color", + "item": "위쪽 제목 셀/① 색상(RGB:158,219,98)" + }, + "38": { + "path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]", + "value": "BOLD", + "points": 1, + "category": "FontAttribute", + "item": "위쪽 제목 셀/② 진하게", + "desc": "글자 속성이라 CELLZONE으로 적용 되지 않음" + }, + "39": { + "path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Type", + "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Type", + "value": "DoubleSlim", + "points": 2, + "category": "TableAnswer", + "item": "제목 셀 아래선/① 이중실선" + }, + "40": { + "path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Width", + "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Width", + "value": "0.5mm", + "points": 2, + "category": "TableAnswer", + "item": "제목 셀 아래선/② 0.5mm" + }, + "41": { + "path": "//TABLE//TEXT/@CharShape", + "path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name", + "value": "돋움체", + "points": 1, + "category": "TableFontName", + "category_tmp": "FontName", + "item": "글자모양/① 글씨체 (돋움체)", + "desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경" + }, + "42": { + "path": "//CHARSHAPE[@Id=//TABLE//TEXT/@CharShape]/@Height", + "value": "1000", + "points": 1, + "category": "TableAnswer", + "item": "글자모양/② 크기 (1000)" + }, + "43": { + "path": "//PARASHAPE[@Id=//TABLE/ROW//P/@ParaShape]/@Align", + "value": "Center", + "points": 1, + "category": "TableAnswer", + "item": "글자모양/③ 정렬 (가운데 정렬)" + }, + "44": { + "path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) or boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])", + "option": "AVG", + "value": true, + "points": 4, + "category": "Boolean", + "item": "블록 계산식/합계", + "desc": "option값에 합계는 SUM / 평균은 AVG" + }, + "45": { + "chart_xpath": "", + "chart_type": "꺾은선형", + "value": true, + "points": 2, + "category": "ChartType", + "item": "① 종류 (꺾은선형)", + "desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)" + }, + "46": { + "chart_xpath": "//c:valAx/c:majorTickMark/@val", + "value": "out", + "points": 2, + "category": "ChartOneAnswer", + "item": "② 값 축 주 눈금선", + "desc": "chart xml파일에서 답안을 가져오는 문항은 path키값 대신 chart_xpath키값을 이용해 xapth구문을 작성한다" + }, + "47": { + "path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Width", + "value": "80", + "points": 2, + "category": "mmSize", + "item": "③ 크기-너비 (80 mm)" + }, + "48": { + "path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Height", + "value": "90", + "points": 2, + "category": "mmSize", + "item": "④ 크기-높이 (90 mm)" + }, + "49": { + "chart_xpath": "boolean(//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='합계' or text()='평균']))", + "value": true, + "points": 2, + "category": "Boolean", + "item": "⑤ 차트 데이터(표에서 블록계산식을 제외한 나머지 값만 이용)", + "desc": "차트가 존재하고 블록계산식(합계, 평균) 데이터가 없는 경우 정답 처리" + }, + "50": { + "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface", + "searchValue": "학령인구 변동 추계", + "value": "굴림체", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (학령인구 변동 추계)/① 글씨체 (굴림체)" + }, + "51": { + "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz", + "searchValue": "학령인구 변동 추계", + "value": "1300", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (학령인구 변동 추계)/② 크기 (1300)" + }, + "52": { + "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}", + "option": "b", + "searchValue": "학령인구 변동 추계", + "value": "1", + "points": 1, + "category": "OneAnswer", + "item": "제목 문구 (학령인구 변동 추계)/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + }, + "53": { + "chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface | //c:catAx/c:txPr//a:latin/@typeface", + "value": "궁서", + "points": 1, + "category": "ChartOneAnswer", + "item": "X축/① 글꼴 (궁서)" + }, + "54": { + "chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz", + "value": "900", + "points": 1, + "category": "ChartOneAnswer", + "item": "X축/② 크기 (9pt)" + }, + "55": { + "chart_xpath": "//c:catAx/c:txPr//a:defRPr/@{option}", + "option": "i", + "value": "1", + "points": 1, + "category": "ChartOneAnswer", + "item": "X축/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + }, + "56": { + "chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface | //c:valAx/c:txPr//a:latin/@typeface", + "value": "궁서", + "points": 1, + "category": "ChartOneAnswer", + "item": "Y축/① 글꼴 (궁서)" + }, + "57": { + "chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz", + "value": "900", + "points": 1, + "category": "ChartOneAnswer", + "item": "Y축/② 크기 (9pt)" + }, + "58": { + "chart_xpath": "//c:valAx/c:txPr//a:defRPr/@{option}", + "option": "i", + "value": "1", + "points": 1, + "category": "ChartOneAnswer", + "item": "Y축/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + }, + "59": { + "chart_xpath": "//c:legend//a:ea/@typeface | //c:legend//a:latin/@typeface", + "value": "궁서", + "points": 1, + "category": "OneAnswer", + "item": "범례/① 글꼴 (궁서)" + }, + "60": { + "chart_xpath": "//c:legend//a:defRPr/@sz", + "value": "900", + "points": 1, + "category": "OneAnswer", + "item": "범례/② 크기 (9pt)" + }, + "61": { + "chart_xpath": "//c:legend//a:defRPr/@{option}", + "option": "i", + "value": "1", + "points": 1, + "category": "OneAnswer", + "item": "범례/③ 기울임", + "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" + } + } +} diff --git a/diwScoring2.py b/diwScoring2.py index 19c17e4..e59327c 100644 --- a/diwScoring2.py +++ b/diwScoring2.py @@ -1076,6 +1076,7 @@ class XMLScorer: '묶은세로막대형': "//c:barChart[c:barDir[@val='col'] and c:grouping[@val='clustered']]", '누적세로막대형': "//c:barChart[c:barDir[@val='col'] and c:grouping[@val='stacked']]", + '100%기준누적세로막대형': "//c:barChart[c:barDir[@val='col'] and c:grouping[@val='percentStacked']]", '원형': "//c:pieChart", '분산형': "//c:scatterChart", '표식만있는분산형': "//c:scatterChart[c:scatterStyle[@val='marker']]", @@ -1489,7 +1490,7 @@ class XMLScorer: def main(): # 시험회차 및 유형 - exam_round = '2603' + exam_round = '2604' # exam_round = '2522' # 채점하고자 하는 유형은 주석 해제 diff --git a/hwp_conversion.log b/hwp_conversion.log index 9373693..50dee1a 100644 --- a/hwp_conversion.log +++ b/hwp_conversion.log @@ -34158,3 +34158,256 @@ 2026-03-31 17:48:33,058 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2603\D\DIW -> D:\project\HWP\HWP-Scoring\output\2603\D\DIW 2026-03-31 17:48:33,559 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2603\E\DIW -> D:\project\HWP\HWP-Scoring\output\2603\E\DIW 2026-03-31 17:48:34,980 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2603\E\DIW -> D:\project\HWP\HWP-Scoring\output\2603\E\DIW +2026-04-08 17:03:55,911 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604\A\DIW -> D:\project\HWP\HWP-Scoring\output\2604\A\DIW +2026-04-08 17:03:59,890 - INFO - 변환 성공: DIW_2604A.hwpx -> DIW_2604A.hml +2026-04-08 17:04:00,369 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604\A\DIW -> D:\project\HWP\HWP-Scoring\output\2604\A\DIW +2026-04-08 17:04:00,870 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604\B\DIW -> D:\project\HWP\HWP-Scoring\output\2604\B\DIW +2026-04-08 17:04:02,171 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604\B\DIW -> D:\project\HWP\HWP-Scoring\output\2604\B\DIW +2026-04-08 17:04:02,672 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604\C\DIW -> D:\project\HWP\HWP-Scoring\output\2604\C\DIW +2026-04-08 17:04:04,008 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604\C\DIW -> D:\project\HWP\HWP-Scoring\output\2604\C\DIW +2026-04-08 17:04:04,509 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604\D\DIW -> D:\project\HWP\HWP-Scoring\output\2604\D\DIW +2026-04-08 17:04:05,786 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604\D\DIW -> D:\project\HWP\HWP-Scoring\output\2604\D\DIW +2026-04-08 17:04:06,288 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604\E\DIW -> D:\project\HWP\HWP-Scoring\output\2604\E\DIW +2026-04-08 17:04:07,588 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604\E\DIW -> D:\project\HWP\HWP-Scoring\output\2604\E\DIW +2026-04-09 16:34:47,819 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604\A\DIW -> D:\project\HWP\HWP-Scoring\output\2604\A\DIW +2026-04-09 16:34:50,074 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604\A\DIW -> D:\project\HWP\HWP-Scoring\output\2604\A\DIW +2026-04-09 16:34:50,576 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604\B\DIW -> D:\project\HWP\HWP-Scoring\output\2604\B\DIW +2026-04-09 16:34:56,751 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604+2\A\DIW -> D:\project\HWP\HWP-Scoring\output\2604+2\A\DIW +2026-04-09 16:34:58,320 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604+2\A\DIW -> D:\project\HWP\HWP-Scoring\output\2604+2\A\DIW +2026-04-09 16:34:58,820 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604+2\B\DIW -> D:\project\HWP\HWP-Scoring\output\2604+2\B\DIW +2026-04-09 16:35:00,156 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604+2\B\DIW -> D:\project\HWP\HWP-Scoring\output\2604+2\B\DIW +2026-04-09 16:35:00,657 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604+2\C\DIW -> D:\project\HWP\HWP-Scoring\output\2604+2\C\DIW +2026-04-09 16:35:01,911 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604+2\C\DIW -> D:\project\HWP\HWP-Scoring\output\2604+2\C\DIW +2026-04-09 16:35:02,412 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604+2\D\DIW -> D:\project\HWP\HWP-Scoring\output\2604+2\D\DIW +2026-04-09 16:35:03,604 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604+2\D\DIW -> D:\project\HWP\HWP-Scoring\output\2604+2\D\DIW +2026-04-09 16:35:04,104 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604+2\E\DIW -> D:\project\HWP\HWP-Scoring\output\2604+2\E\DIW +2026-04-09 16:35:05,365 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604+2\E\DIW -> D:\project\HWP\HWP-Scoring\output\2604+2\E\DIW +2026-04-09 16:35:22,305 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_2\A\DIW -> D:\project\HWP\HWP-Scoring\output\2604_2\A\DIW +2026-04-09 16:35:25,613 - INFO - 변환 성공: DIW-001643-구민우.hwp -> DIW-001643-구민우.hml +2026-04-09 16:35:26,290 - INFO - 변환 성공: DIW-001644-김강민.hwp -> DIW-001644-김강민.hml +2026-04-09 16:35:26,776 - INFO - 변환 성공: DIW-001645-김민율.hwp -> DIW-001645-김민율.hml +2026-04-09 16:35:27,231 - INFO - 변환 성공: DIW-001646-김승현.hwp -> DIW-001646-김승현.hml +2026-04-09 16:35:27,801 - INFO - 변환 성공: DIW-001647-남윤서.hwp -> DIW-001647-남윤서.hml +2026-04-09 16:35:28,236 - INFO - 변환 성공: DIW-001648-노재환.hwp -> DIW-001648-노재환.hml +2026-04-09 16:35:28,665 - INFO - 변환 성공: DIW-001649-문성현.hwp -> DIW-001649-문성현.hml +2026-04-09 16:35:29,230 - INFO - 변환 성공: DIW-001650-박승수.hwp -> DIW-001650-박승수.hml +2026-04-09 16:35:29,728 - INFO - 변환 성공: DIW-001651-백건호.hwp -> DIW-001651-백건호.hml +2026-04-09 16:35:30,142 - INFO - 변환 성공: DIW-001652-백수환.hwp -> DIW-001652-백수환.hml +2026-04-09 16:35:30,761 - INFO - 변환 성공: DIW-001653-서민성.hwp -> DIW-001653-서민성.hml +2026-04-09 16:35:31,289 - INFO - 변환 성공: DIW-001654-성준우.hwp -> DIW-001654-성준우.hml +2026-04-09 16:35:31,833 - INFO - 변환 성공: DIW-001655-연서준.hwp -> DIW-001655-연서준.hml +2026-04-09 16:35:32,384 - INFO - 변환 성공: DIW-001656-유진욱.hwp -> DIW-001656-유진욱.hml +2026-04-09 16:35:33,029 - INFO - 변환 성공: DIW-001657-이민규.hwp -> DIW-001657-이민규.hml +2026-04-09 16:35:33,636 - INFO - 변환 성공: DIW-001658-이승현.hwp -> DIW-001658-이승현.hml +2026-04-09 16:35:34,262 - INFO - 변환 성공: DIW-001659-이주명.hwp -> DIW-001659-이주명.hml +2026-04-09 16:35:34,847 - INFO - 변환 성공: DIW-001660-최영우.hwp -> DIW-001660-최영우.hml +2026-04-09 16:35:35,414 - INFO - 변환 성공: DIW-001661-최재영.hwp -> DIW-001661-최재영.hml +2026-04-09 16:35:35,985 - INFO - 변환 성공: DIW-001662-최황빈.hwp -> DIW-001662-최황빈.hml +2026-04-09 16:35:36,526 - INFO - 변환 성공: DIW-001663-한은호.hwp -> DIW-001663-한은호.hml +2026-04-09 16:35:37,224 - INFO - 변환 성공: DIW-001664-홍준민.hwp -> DIW-001664-홍준민.hml +2026-04-09 16:35:37,800 - INFO - 변환 성공: DIW-001665-길태우.hwp -> DIW-001665-길태우.hml +2026-04-09 16:35:38,201 - INFO - 변환 성공: DIW-001666-김범수.hwp -> DIW-001666-김범수.hml +2026-04-09 16:35:38,763 - INFO - 변환 성공: DIW-001667-김유근.hwp -> DIW-001667-김유근.hml +2026-04-09 16:35:39,311 - INFO - 변환 성공: DIW-001668-김윤찬.hwp -> DIW-001668-김윤찬.hml +2026-04-09 16:35:39,855 - INFO - 변환 성공: DIW-001669-김율각.hwp -> DIW-001669-김율각.hml +2026-04-09 16:35:40,487 - INFO - 변환 성공: DIW-001670-김형민.hwp -> DIW-001670-김형민.hml +2026-04-09 16:35:41,030 - INFO - 변환 성공: DIW-001671-문서준.hwp -> DIW-001671-문서준.hml +2026-04-09 16:35:41,424 - INFO - 변환 성공: DIW-001672-문성원.hwp -> DIW-001672-문성원.hml +2026-04-09 16:35:42,055 - INFO - 변환 성공: DIW-001673-박성준.hwp -> DIW-001673-박성준.hml +2026-04-09 16:35:42,593 - INFO - 변환 성공: DIW-001674-신도윤.hwp -> DIW-001674-신도윤.hml +2026-04-09 16:35:43,138 - INFO - 변환 성공: DIW-001675-신우철.hwp -> DIW-001675-신우철.hml +2026-04-09 16:35:43,684 - INFO - 변환 성공: DIW-001676-신진혁.hwp -> DIW-001676-신진혁.hml +2026-04-09 16:35:44,306 - INFO - 변환 성공: DIW-001677-원우빈.hwp -> DIW-001677-원우빈.hml +2026-04-09 16:35:44,880 - INFO - 변환 성공: DIW-001678-윤지호.hwp -> DIW-001678-윤지호.hml +2026-04-09 16:35:45,444 - INFO - 변환 성공: DIW-001679-이만희.hwp -> DIW-001679-이만희.hml +2026-04-09 16:35:45,972 - INFO - 변환 성공: DIW-001680-이승현.hwp -> DIW-001680-이승현.hml +2026-04-09 16:35:46,507 - INFO - 변환 성공: DIW-001681-이우성.hwp -> DIW-001681-이우성.hml +2026-04-09 16:35:47,040 - INFO - 변환 성공: DIW-001682-조재호.hwp -> DIW-001682-조재호.hml +2026-04-09 16:35:47,758 - INFO - 변환 성공: DIW-001683-최성민.hwp -> DIW-001683-최성민.hml +2026-04-09 16:35:48,439 - INFO - 변환 성공: DIW-001684-최성준.hwp -> DIW-001684-최성준.hml +2026-04-09 16:35:49,083 - INFO - 변환 성공: DIW-001685-최하진.hwp -> DIW-001685-최하진.hml +2026-04-09 16:35:49,721 - INFO - 변환 성공: DIW-001686-최한결.hwp -> DIW-001686-최한결.hml +2026-04-09 16:35:50,348 - INFO - 변환 성공: DIW_2604_2A.hwpx -> DIW_2604_2A.hml +2026-04-09 16:35:50,762 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_2\A\DIW -> D:\project\HWP\HWP-Scoring\output\2604_2\A\DIW +2026-04-09 16:35:51,263 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_2\B\DIW -> D:\project\HWP\HWP-Scoring\output\2604_2\B\DIW +2026-04-09 16:35:55,292 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_2\B\DIW -> D:\project\HWP\HWP-Scoring\output\2604_2\B\DIW +2026-04-09 16:35:55,793 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_2\C\DIW -> D:\project\HWP\HWP-Scoring\output\2604_2\C\DIW +2026-04-09 16:35:57,284 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_2\C\DIW -> D:\project\HWP\HWP-Scoring\output\2604_2\C\DIW +2026-04-09 16:35:57,785 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_2\D\DIW -> D:\project\HWP\HWP-Scoring\output\2604_2\D\DIW +2026-04-09 16:35:59,082 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_2\D\DIW -> D:\project\HWP\HWP-Scoring\output\2604_2\D\DIW +2026-04-09 16:35:59,583 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_2\E\DIW -> D:\project\HWP\HWP-Scoring\output\2604_2\E\DIW +2026-04-09 16:36:00,764 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_2\E\DIW -> D:\project\HWP\HWP-Scoring\output\2604_2\E\DIW +2026-04-23 16:21:45,090 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_4\A\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\A\DIW +2026-04-23 16:22:05,026 - INFO - 변환 성공: DIW_2604_4A.hwpx -> DIW_2604_4A.hml +2026-04-23 16:22:05,061 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_4\A\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\A\DIW +2026-04-23 16:22:05,563 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_4\B\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\B\DIW +2026-04-23 16:22:06,871 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_4\B\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\B\DIW +2026-04-23 16:22:07,372 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_4\C\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\C\DIW +2026-04-23 16:22:08,688 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_4\C\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\C\DIW +2026-04-23 16:22:09,189 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_4\D\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\D\DIW +2026-04-23 16:22:10,558 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_4\D\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\D\DIW +2026-04-23 16:22:11,058 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_4\E\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\E\DIW +2026-04-23 16:22:12,452 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_4\E\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\E\DIW +2026-04-23 16:22:12,952 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_5\A\DIW -> D:\project\HWP\HWP-Scoring\output\2604_5\A\DIW +2026-04-23 16:22:15,947 - INFO - 변환 성공: DIW_2604_5A.hwpx -> DIW_2604_5A.hml +2026-04-23 16:22:15,985 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_5\A\DIW -> D:\project\HWP\HWP-Scoring\output\2604_5\A\DIW +2026-04-23 16:22:16,486 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_5\B\DIW -> D:\project\HWP\HWP-Scoring\output\2604_5\B\DIW +2026-04-23 16:22:17,886 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_5\B\DIW -> D:\project\HWP\HWP-Scoring\output\2604_5\B\DIW +2026-04-23 16:22:18,388 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_5\C\DIW -> D:\project\HWP\HWP-Scoring\output\2604_5\C\DIW +2026-04-23 16:22:19,774 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_5\C\DIW -> D:\project\HWP\HWP-Scoring\output\2604_5\C\DIW +2026-04-23 16:22:20,275 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_5\D\DIW -> D:\project\HWP\HWP-Scoring\output\2604_5\D\DIW +2026-04-23 16:22:21,602 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_5\D\DIW -> D:\project\HWP\HWP-Scoring\output\2604_5\D\DIW +2026-04-23 16:22:22,102 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_5\E\DIW -> D:\project\HWP\HWP-Scoring\output\2604_5\E\DIW +2026-04-23 16:22:23,426 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_5\E\DIW -> D:\project\HWP\HWP-Scoring\output\2604_5\E\DIW +2026-04-23 16:25:57,772 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_4\A\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\A\DIW +2026-04-23 16:26:01,103 - INFO - 변환 성공: DIW-002763-송소연.hwp -> DIW-002763-송소연.hml +2026-04-23 16:26:01,721 - INFO - 변환 성공: DIW-002764-오시원.hwp -> DIW-002764-오시원.hml +2026-04-23 16:26:02,229 - INFO - 변환 성공: DIW-002774-서로빈.hwp -> DIW-002774-서로빈.hml +2026-04-23 16:26:02,722 - INFO - 변환 성공: DIW-002775-이승원.hwp -> DIW-002775-이승원.hml +2026-04-23 16:26:03,239 - INFO - 변환 성공: DIW-002776-김지혜.hwp -> DIW-002776-김지혜.hml +2026-04-23 16:26:03,743 - INFO - 변환 성공: DIW-002777-권원.hwp -> DIW-002777-권원.hml +2026-04-23 16:26:04,264 - INFO - 변환 성공: DIW-002778-김지환.hwp -> DIW-002778-김지환.hml +2026-04-23 16:26:04,772 - INFO - 변환 성공: DIW-002781-강지안.hwp -> DIW-002781-강지안.hml +2026-04-23 16:26:05,512 - INFO - 변환 성공: DIW-002790-홍다현.hwp -> DIW-002790-홍다현.hml +2026-04-23 16:26:05,990 - INFO - 변환 성공: DIW-002791-남현준.hwp -> DIW-002791-남현준.hml +2026-04-23 16:26:06,427 - INFO - 변환 성공: DIW-002792-이선유.hwp -> DIW-002792-이선유.hml +2026-04-23 16:26:06,861 - INFO - 변환 성공: DIW-002793-한채윤.hwp -> DIW-002793-한채윤.hml +2026-04-23 16:26:07,208 - INFO - 변환 성공: DIW-002794-오연우.hwp -> DIW-002794-오연우.hml +2026-04-23 16:26:07,462 - INFO - 변환 성공: DIW-002795-오아림.hwp -> DIW-002795-오아림.hml +2026-04-23 16:26:07,818 - INFO - 변환 성공: DIW-002796-탁화연.hwp -> DIW-002796-탁화연.hml +2026-04-23 16:26:08,361 - INFO - 변환 성공: DIW-002797-유다율.hwp -> DIW-002797-유다율.hml +2026-04-23 16:26:08,741 - INFO - 변환 성공: DIW-002799-김준성.hwp -> DIW-002799-김준성.hml +2026-04-23 16:26:09,471 - INFO - 변환 성공: DIW-002800-김라훈.hwp -> DIW-002800-김라훈.hml +2026-04-23 16:26:10,014 - INFO - 변환 성공: DIW-002801-한서율.hwp -> DIW-002801-한서율.hml +2026-04-23 16:26:10,549 - INFO - 변환 성공: DIW-002802-윤가율.hwp -> DIW-002802-윤가율.hml +2026-04-23 16:26:11,173 - INFO - 변환 성공: DIW-002803-현지안.hwp -> DIW-002803-현지안.hml +2026-04-23 16:26:11,690 - INFO - 변환 성공: DIW-002804-조아람.hwp -> DIW-002804-조아람.hml +2026-04-23 16:26:12,155 - INFO - 변환 성공: DIW-002805-김가연.hwp -> DIW-002805-김가연.hml +2026-04-23 16:26:12,781 - INFO - 변환 성공: DIW-002812-강유재.hwp -> DIW-002812-강유재.hml +2026-04-23 16:26:13,370 - INFO - 변환 성공: DIW-002813-김가현.hwp -> DIW-002813-김가현.hml +2026-04-23 16:26:13,918 - INFO - 변환 성공: DIW-002814-변준혁.hwp -> DIW-002814-변준혁.hml +2026-04-23 16:26:14,687 - INFO - 변환 성공: DIW-002820-강혜원.hwp -> DIW-002820-강혜원.hml +2026-04-23 16:26:15,234 - INFO - 변환 성공: DIW-002821-백지우.hwp -> DIW-002821-백지우.hml +2026-04-23 16:26:15,746 - INFO - 변환 성공: DIW-002822-원서윤.hwp -> DIW-002822-원서윤.hml +2026-04-23 16:26:16,255 - INFO - 변환 성공: DIW-002823-이하준.hwp -> DIW-002823-이하준.hml +2026-04-23 16:26:16,745 - INFO - 변환 성공: DIW-002828-지단우.hwp -> DIW-002828-지단우.hml +2026-04-23 16:26:17,282 - INFO - 변환 성공: DIW-002829-우예지.hwp -> DIW-002829-우예지.hml +2026-04-23 16:26:17,778 - INFO - 변환 성공: DIW-002830-현우준.hwp -> DIW-002830-현우준.hml +2026-04-23 16:26:18,270 - INFO - 변환 성공: DIW-002831-허준영.hwp -> DIW-002831-허준영.hml +2026-04-23 16:26:18,763 - INFO - 변환 성공: DIW-002832-강도윤.hwp -> DIW-002832-강도윤.hml +2026-04-23 16:26:19,269 - INFO - 변환 성공: DIW-002833-고다윤.hwp -> DIW-002833-고다윤.hml +2026-04-23 16:26:19,954 - INFO - 변환 성공: DIW-002838-홍서준.hwp -> DIW-002838-홍서준.hml +2026-04-23 16:26:20,449 - INFO - 변환 성공: DIW-002839-임도현.hwp -> DIW-002839-임도현.hml +2026-04-23 16:26:20,927 - INFO - 변환 성공: DIW-002840-이다희.hwp -> DIW-002840-이다희.hml +2026-04-23 16:26:21,454 - INFO - 변환 성공: DIW_2604_4A.hwpx -> DIW_2604_4A.hml +2026-04-23 16:26:21,760 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_4\A\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\A\DIW +2026-04-23 16:26:22,260 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_4\B\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\B\DIW +2026-04-23 16:26:23,552 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_4\B\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\B\DIW +2026-04-23 16:26:24,054 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_4\C\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\C\DIW +2026-04-23 16:26:25,380 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_4\C\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\C\DIW +2026-04-23 16:26:25,881 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_4\D\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\D\DIW +2026-04-23 16:26:27,164 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_4\D\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\D\DIW +2026-04-23 16:26:27,665 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_4\E\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\E\DIW +2026-04-23 16:26:28,964 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_4\E\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\E\DIW +2026-04-23 16:26:29,465 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_5\A\DIW -> D:\project\HWP\HWP-Scoring\output\2604_5\A\DIW +2026-04-23 16:26:33,360 - INFO - 변환 성공: 워드(한글)-002423-윤세훈.hwp -> 워드(한글)-002423-윤세훈.hml +2026-04-23 16:26:33,833 - INFO - 변환 성공: 워드(한글)-002428-최민성.hwp -> 워드(한글)-002428-최민성.hml +2026-04-23 16:26:34,087 - INFO - 변환 성공: 워드(한글)-002432-권유진.hwp -> 워드(한글)-002432-권유진.hml +2026-04-23 16:26:34,425 - INFO - 변환 성공: 워드(한글)-002433-김경현.hwp -> 워드(한글)-002433-김경현.hml +2026-04-23 16:26:34,916 - INFO - 변환 성공: 워드(한글)-002434-김기현.hwp -> 워드(한글)-002434-김기현.hml +2026-04-23 16:26:35,281 - INFO - 변환 성공: 워드(한글)-002435-김민규.hwp -> 워드(한글)-002435-김민규.hml +2026-04-23 16:26:35,609 - INFO - 변환 성공: 워드(한글)-002436-김선우.hwp -> 워드(한글)-002436-김선우.hml +2026-04-23 16:26:36,104 - INFO - 변환 성공: 워드(한글)-002437-김성종.hwp -> 워드(한글)-002437-김성종.hml +2026-04-23 16:26:36,490 - INFO - 변환 성공: 워드(한글)-002440-김종현.hwp -> 워드(한글)-002440-김종현.hml +2026-04-23 16:26:36,820 - INFO - 변환 성공: 워드(한글)-002441-남건진.hwp -> 워드(한글)-002441-남건진.hml +2026-04-23 16:26:37,295 - INFO - 변환 성공: 워드(한글)-002442-남규완.hwp -> 워드(한글)-002442-남규완.hml +2026-04-23 16:26:37,685 - INFO - 변환 성공: 워드(한글)-002444-박보검.hwp -> 워드(한글)-002444-박보검.hml +2026-04-23 16:26:38,036 - INFO - 변환 성공: 워드(한글)-002447-신경준.hwp -> 워드(한글)-002447-신경준.hml +2026-04-23 16:26:38,350 - INFO - 변환 성공: 워드(한글)-002448-신승헌.hwp -> 워드(한글)-002448-신승헌.hml +2026-04-23 16:26:38,684 - INFO - 변환 성공: 워드(한글)-002449-여현동.hwp -> 워드(한글)-002449-여현동.hml +2026-04-23 16:26:39,070 - INFO - 변환 성공: 워드(한글)-002450-이동건.hwp -> 워드(한글)-002450-이동건.hml +2026-04-23 16:26:39,404 - INFO - 변환 성공: 워드(한글)-002451-이상훈.hwp -> 워드(한글)-002451-이상훈.hml +2026-04-23 16:26:39,881 - INFO - 변환 성공: 워드(한글)-002453-이재율.hwp -> 워드(한글)-002453-이재율.hml +2026-04-23 16:26:40,276 - INFO - 변환 성공: 워드(한글)-002455-임성훈.hwp -> 워드(한글)-002455-임성훈.hml +2026-04-23 16:26:40,524 - INFO - 변환 성공: 워드(한글)-002456-장민제.hwp -> 워드(한글)-002456-장민제.hml +2026-04-23 16:26:40,772 - INFO - 변환 성공: 워드(한글)-002458-정시율.hwp -> 워드(한글)-002458-정시율.hml +2026-04-23 16:26:41,131 - INFO - 변환 성공: 워드(한글)-002459-정우재.hwp -> 워드(한글)-002459-정우재.hml +2026-04-23 16:26:41,499 - INFO - 변환 성공: 워드(한글)-002461-최우식.hwp -> 워드(한글)-002461-최우식.hml +2026-04-23 16:26:41,673 - INFO - 변환 성공: 워드(한글)-002462-팽민성.hwp -> 워드(한글)-002462-팽민성.hml +2026-04-23 16:26:41,915 - INFO - 변환 성공: 워드(한글)-002464-홍서진.hwp -> 워드(한글)-002464-홍서진.hml +2026-04-23 16:26:42,252 - INFO - 변환 성공: 워드(한글)-002465-홍준.hwp -> 워드(한글)-002465-홍준.hml +2026-04-23 16:26:42,764 - INFO - 변환 성공: DIW_2604_5A.hwpx -> DIW_2604_5A.hml +2026-04-23 16:26:43,304 - INFO - 변환 성공: 워드(한글)-002446-손민성.hwpx -> 워드(한글)-002446-손민성.hml +2026-04-23 16:26:43,584 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_5\A\DIW -> D:\project\HWP\HWP-Scoring\output\2604_5\A\DIW +2026-04-23 16:26:44,086 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_5\B\DIW -> D:\project\HWP\HWP-Scoring\output\2604_5\B\DIW +2026-04-23 16:26:45,563 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_5\B\DIW -> D:\project\HWP\HWP-Scoring\output\2604_5\B\DIW +2026-04-23 16:26:46,064 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_5\C\DIW -> D:\project\HWP\HWP-Scoring\output\2604_5\C\DIW +2026-04-23 16:26:47,397 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_5\C\DIW -> D:\project\HWP\HWP-Scoring\output\2604_5\C\DIW +2026-04-23 16:26:47,897 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_5\D\DIW -> D:\project\HWP\HWP-Scoring\output\2604_5\D\DIW +2026-04-23 16:26:49,284 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_5\D\DIW -> D:\project\HWP\HWP-Scoring\output\2604_5\D\DIW +2026-04-23 16:26:49,785 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_5\E\DIW -> D:\project\HWP\HWP-Scoring\output\2604_5\E\DIW +2026-04-23 16:26:51,098 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_5\E\DIW -> D:\project\HWP\HWP-Scoring\output\2604_5\E\DIW +2026-04-23 16:43:17,710 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_4\A\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\A\DIW +2026-04-23 16:43:22,506 - INFO - 변환 성공: DIW-002763-송소연.hwp -> DIW-002763-송소연.hml +2026-04-23 16:43:22,591 - INFO - 변환 성공: DIW-002764-오시원.hwp -> DIW-002764-오시원.hml +2026-04-23 16:43:22,661 - INFO - 변환 성공: DIW-002774-서로빈.hwp -> DIW-002774-서로빈.hml +2026-04-23 16:43:22,731 - INFO - 변환 성공: DIW-002775-이승원.hwp -> DIW-002775-이승원.hml +2026-04-23 16:43:22,800 - INFO - 변환 성공: DIW-002776-김지혜.hwp -> DIW-002776-김지혜.hml +2026-04-23 16:43:22,869 - INFO - 변환 성공: DIW-002777-권원.hwp -> DIW-002777-권원.hml +2026-04-23 16:43:22,939 - INFO - 변환 성공: DIW-002778-김지환.hwp -> DIW-002778-김지환.hml +2026-04-23 16:43:23,011 - INFO - 변환 성공: DIW-002781-강지안.hwp -> DIW-002781-강지안.hml +2026-04-23 16:43:23,081 - INFO - 변환 성공: DIW-002790-홍다현.hwp -> DIW-002790-홍다현.hml +2026-04-23 16:43:23,155 - INFO - 변환 성공: DIW-002791-남현준.hwp -> DIW-002791-남현준.hml +2026-04-23 16:43:23,224 - INFO - 변환 성공: DIW-002792-이선유.hwp -> DIW-002792-이선유.hml +2026-04-23 16:43:23,293 - INFO - 변환 성공: DIW-002793-한채윤.hwp -> DIW-002793-한채윤.hml +2026-04-23 16:43:23,360 - INFO - 변환 성공: DIW-002794-오연우.hwp -> DIW-002794-오연우.hml +2026-04-23 16:43:23,429 - INFO - 변환 성공: DIW-002795-오아림.hwp -> DIW-002795-오아림.hml +2026-04-23 16:43:23,497 - INFO - 변환 성공: DIW-002796-탁화연.hwp -> DIW-002796-탁화연.hml +2026-04-23 16:43:23,565 - INFO - 변환 성공: DIW-002797-유다율.hwp -> DIW-002797-유다율.hml +2026-04-23 16:43:23,632 - INFO - 변환 성공: DIW-002799-김준성.hwp -> DIW-002799-김준성.hml +2026-04-23 16:43:23,701 - INFO - 변환 성공: DIW-002800-김라훈.hwp -> DIW-002800-김라훈.hml +2026-04-23 16:43:23,769 - INFO - 변환 성공: DIW-002801-한서율.hwp -> DIW-002801-한서율.hml +2026-04-23 16:43:23,837 - INFO - 변환 성공: DIW-002802-윤가율.hwp -> DIW-002802-윤가율.hml +2026-04-23 16:43:23,905 - INFO - 변환 성공: DIW-002803-현지안.hwp -> DIW-002803-현지안.hml +2026-04-23 16:43:23,973 - INFO - 변환 성공: DIW-002804-조아람.hwp -> DIW-002804-조아람.hml +2026-04-23 16:43:24,041 - INFO - 변환 성공: DIW-002805-김가연.hwp -> DIW-002805-김가연.hml +2026-04-23 16:43:24,110 - INFO - 변환 성공: DIW-002812-강유재.hwp -> DIW-002812-강유재.hml +2026-04-23 16:43:24,186 - INFO - 변환 성공: DIW-002813-김가현.hwp -> DIW-002813-김가현.hml +2026-04-23 16:43:24,253 - INFO - 변환 성공: DIW-002814-변준혁.hwp -> DIW-002814-변준혁.hml +2026-04-23 16:43:24,321 - INFO - 변환 성공: DIW-002820-강혜원.hwp -> DIW-002820-강혜원.hml +2026-04-23 16:43:24,388 - INFO - 변환 성공: DIW-002821-백지우.hwp -> DIW-002821-백지우.hml +2026-04-23 16:43:24,460 - INFO - 변환 성공: DIW-002822-원서윤.hwp -> DIW-002822-원서윤.hml +2026-04-23 16:43:24,529 - INFO - 변환 성공: DIW-002823-이하준.hwp -> DIW-002823-이하준.hml +2026-04-23 16:43:24,597 - INFO - 변환 성공: DIW-002828-지단우.hwp -> DIW-002828-지단우.hml +2026-04-23 16:43:24,665 - INFO - 변환 성공: DIW-002829-우예지.hwp -> DIW-002829-우예지.hml +2026-04-23 16:43:24,733 - INFO - 변환 성공: DIW-002830-현우준.hwp -> DIW-002830-현우준.hml +2026-04-23 16:43:24,803 - INFO - 변환 성공: DIW-002831-허준영.hwp -> DIW-002831-허준영.hml +2026-04-23 16:43:24,873 - INFO - 변환 성공: DIW-002832-강도윤.hwp -> DIW-002832-강도윤.hml +2026-04-23 16:43:24,940 - INFO - 변환 성공: DIW-002833-고다윤.hwp -> DIW-002833-고다윤.hml +2026-04-23 16:43:25,009 - INFO - 변환 성공: DIW-002838-홍서준.hwp -> DIW-002838-홍서준.hml +2026-04-23 16:43:25,078 - INFO - 변환 성공: DIW-002839-임도현.hwp -> DIW-002839-임도현.hml +2026-04-23 16:43:25,150 - INFO - 변환 성공: DIW-002840-이다희.hwp -> DIW-002840-이다희.hml +2026-04-23 16:43:25,221 - INFO - 변환 성공: DIW_2604_4A.hwpx -> DIW_2604_4A.hml +2026-04-23 16:43:25,246 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_4\A\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\A\DIW +2026-04-23 16:43:25,748 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_4\B\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\B\DIW +2026-04-23 16:43:26,997 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_4\B\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\B\DIW +2026-04-23 16:43:27,498 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_4\C\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\C\DIW +2026-04-23 16:43:28,733 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_4\C\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\C\DIW +2026-04-23 16:43:29,234 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_4\D\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\D\DIW +2026-04-23 16:43:30,505 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_4\D\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\D\DIW +2026-04-23 16:43:31,005 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_4\E\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\E\DIW +2026-04-23 16:43:32,355 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604_4\E\DIW -> D:\project\HWP\HWP-Scoring\output\2604_4\E\DIW +2026-04-23 16:43:32,856 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604_5\A\DIW -> D:\project\HWP\HWP-Scoring\output\2604_5\A\DIW +2026-04-27 16:49:59,296 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604\A\DIW -> D:\project\HWP\HWP-Scoring\output\2604\A\DIW +2026-04-27 16:50:05,627 - INFO - 변환 성공: DIW_2604A.hwpx -> DIW_2604A.hml +2026-04-27 16:50:06,086 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604\A\DIW -> D:\project\HWP\HWP-Scoring\output\2604\A\DIW +2026-04-27 16:50:06,587 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604\B\DIW -> D:\project\HWP\HWP-Scoring\output\2604\B\DIW +2026-04-27 16:50:08,759 - INFO - 변환 성공: DIW_2604B.hwpx -> DIW_2604B.hml +2026-04-27 16:50:09,185 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604\B\DIW -> D:\project\HWP\HWP-Scoring\output\2604\B\DIW +2026-04-27 16:50:09,686 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604\C\DIW -> D:\project\HWP\HWP-Scoring\output\2604\C\DIW +2026-04-27 16:50:11,826 - INFO - 변환 성공: DIW_2604C.hwpx -> DIW_2604C.hml +2026-04-27 16:50:12,265 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604\C\DIW -> D:\project\HWP\HWP-Scoring\output\2604\C\DIW +2026-04-27 16:50:12,766 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604\D\DIW -> D:\project\HWP\HWP-Scoring\output\2604\D\DIW +2026-04-27 16:50:14,023 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604\D\DIW -> D:\project\HWP\HWP-Scoring\output\2604\D\DIW +2026-04-27 16:50:14,524 - INFO - 폴더 변환 시작: D:\project\HWP\HWP-Scoring\input\2604\E\DIW -> D:\project\HWP\HWP-Scoring\output\2604\E\DIW +2026-04-27 16:50:15,755 - INFO - 폴더 변환 완료: D:\project\HWP\HWP-Scoring\input\2604\E\DIW -> D:\project\HWP\HWP-Scoring\output\2604\E\DIW diff --git a/260330_DIW_2603A_채점결과.xlsx b/회차별채점자료/2603/260330_DIW_2603A_채점결과.xlsx similarity index 100% rename from 260330_DIW_2603A_채점결과.xlsx rename to 회차별채점자료/2603/260330_DIW_2603A_채점결과.xlsx diff --git a/260331_DIW_2603A_채점결과.xlsx b/회차별채점자료/2603/260331_DIW_2603A_채점결과.xlsx similarity index 100% rename from 260331_DIW_2603A_채점결과.xlsx rename to 회차별채점자료/2603/260331_DIW_2603A_채점결과.xlsx diff --git a/260331_DIW_2603B_채점결과.xlsx b/회차별채점자료/2603/260331_DIW_2603B_채점결과.xlsx similarity index 100% rename from 260331_DIW_2603B_채점결과.xlsx rename to 회차별채점자료/2603/260331_DIW_2603B_채점결과.xlsx diff --git a/260331_DIW_2603C_채점결과.xlsx b/회차별채점자료/2603/260331_DIW_2603C_채점결과.xlsx similarity index 100% rename from 260331_DIW_2603C_채점결과.xlsx rename to 회차별채점자료/2603/260331_DIW_2603C_채점결과.xlsx diff --git a/260402_DIW_2603A_채점결과.xlsx b/회차별채점자료/2603/260402_DIW_2603A_채점결과.xlsx similarity index 100% rename from 260402_DIW_2603A_채점결과.xlsx rename to 회차별채점자료/2603/260402_DIW_2603A_채점결과.xlsx diff --git a/260402_DIW_2603B_채점결과.xlsx b/회차별채점자료/2603/260402_DIW_2603B_채점결과.xlsx similarity index 100% rename from 260402_DIW_2603B_채점결과.xlsx rename to 회차별채점자료/2603/260402_DIW_2603B_채점결과.xlsx diff --git a/260402_DIW_2603C_채점결과.xlsx b/회차별채점자료/2603/260402_DIW_2603C_채점결과.xlsx similarity index 100% rename from 260402_DIW_2603C_채점결과.xlsx rename to 회차별채점자료/2603/260402_DIW_2603C_채점결과.xlsx diff --git a/회차별채점자료/2604/A형/그림A.jpg b/회차별채점자료/2604/A형/그림A.jpg new file mode 100644 index 0000000..ad8e4f1 Binary files /dev/null and b/회차별채점자료/2604/A형/그림A.jpg differ diff --git a/회차별채점자료/2604/A형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 문제.hwpx b/회차별채점자료/2604/A형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 문제.hwpx new file mode 100644 index 0000000..80bc058 Binary files /dev/null and b/회차별채점자료/2604/A형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 문제.hwpx differ diff --git a/회차별채점자료/2604/A형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 정답.hwpx b/회차별채점자료/2604/A형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 정답.hwpx new file mode 100644 index 0000000..b98546a Binary files /dev/null and b/회차별채점자료/2604/A형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 정답.hwpx differ diff --git a/회차별채점자료/2604/A형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 채점기준표.xlsx b/회차별채점자료/2604/A형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 채점기준표.xlsx new file mode 100644 index 0000000..973c4aa Binary files /dev/null and b/회차별채점자료/2604/A형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 채점기준표.xlsx differ diff --git a/회차별채점자료/2604/B형/Thumbs.db b/회차별채점자료/2604/B형/Thumbs.db new file mode 100644 index 0000000..259a6f0 Binary files /dev/null and b/회차별채점자료/2604/B형/Thumbs.db differ diff --git a/회차별채점자료/2604/B형/그림B.jpg b/회차별채점자료/2604/B형/그림B.jpg new file mode 100644 index 0000000..a04cb84 Binary files /dev/null and b/회차별채점자료/2604/B형/그림B.jpg differ diff --git a/회차별채점자료/2604/B형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) B형 문제.hwpx b/회차별채점자료/2604/B형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) B형 문제.hwpx new file mode 100644 index 0000000..f36c880 Binary files /dev/null and b/회차별채점자료/2604/B형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) B형 문제.hwpx differ diff --git a/회차별채점자료/2604/B형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) B형 정답.hwpx b/회차별채점자료/2604/B형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) B형 정답.hwpx new file mode 100644 index 0000000..852e907 Binary files /dev/null and b/회차별채점자료/2604/B형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) B형 정답.hwpx differ diff --git a/회차별채점자료/2604/B형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) B형 채점기준표.xlsx b/회차별채점자료/2604/B형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) B형 채점기준표.xlsx new file mode 100644 index 0000000..6f1e84c Binary files /dev/null and b/회차별채점자료/2604/B형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) B형 채점기준표.xlsx differ diff --git a/회차별채점자료/2604/C형/Thumbs.db b/회차별채점자료/2604/C형/Thumbs.db new file mode 100644 index 0000000..ed980c8 Binary files /dev/null and b/회차별채점자료/2604/C형/Thumbs.db differ diff --git a/회차별채점자료/2604/C형/그림C.jpg b/회차별채점자료/2604/C형/그림C.jpg new file mode 100644 index 0000000..a62dd4e Binary files /dev/null and b/회차별채점자료/2604/C형/그림C.jpg differ diff --git a/회차별채점자료/2604/C형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) C형 문제.hwpx b/회차별채점자료/2604/C형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) C형 문제.hwpx new file mode 100644 index 0000000..d578095 Binary files /dev/null and b/회차별채점자료/2604/C형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) C형 문제.hwpx differ diff --git a/회차별채점자료/2604/C형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) C형 정답.hwpx b/회차별채점자료/2604/C형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) C형 정답.hwpx new file mode 100644 index 0000000..0bf2c16 Binary files /dev/null and b/회차별채점자료/2604/C형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) C형 정답.hwpx differ diff --git a/회차별채점자료/2604/C형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) C형 채점기준표.xlsx b/회차별채점자료/2604/C형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) C형 채점기준표.xlsx new file mode 100644 index 0000000..2ca3e7a Binary files /dev/null and b/회차별채점자료/2604/C형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) C형 채점기준표.xlsx differ diff --git a/회차별채점자료/2604_2/260409_DIW_2604_2A_채점결과.xlsx b/회차별채점자료/2604_2/260409_DIW_2604_2A_채점결과.xlsx new file mode 100644 index 0000000..b907716 Binary files /dev/null and b/회차별채점자료/2604_2/260409_DIW_2604_2A_채점결과.xlsx differ diff --git a/회차별채점자료/2604_2/2604회 A형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 문제.hwpx b/회차별채점자료/2604_2/2604회 A형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 문제.hwpx new file mode 100644 index 0000000..3a4d60b Binary files /dev/null and b/회차별채점자료/2604_2/2604회 A형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 문제.hwpx differ diff --git a/회차별채점자료/2604_2/2604회 A형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 정답.hwpx b/회차별채점자료/2604_2/2604회 A형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 정답.hwpx new file mode 100644 index 0000000..eefbaa7 Binary files /dev/null and b/회차별채점자료/2604_2/2604회 A형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 정답.hwpx differ diff --git a/회차별채점자료/2604_2/2604회 A형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 채점기준표.xlsx b/회차별채점자료/2604_2/2604회 A형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 채점기준표.xlsx new file mode 100644 index 0000000..a1051a1 Binary files /dev/null and b/회차별채점자료/2604_2/2604회 A형/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 채점기준표.xlsx differ diff --git a/회차별채점자료/2604_4/2604_4A/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 문제.hwpx b/회차별채점자료/2604_4/2604_4A/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 문제.hwpx new file mode 100644 index 0000000..abb26d1 Binary files /dev/null and b/회차별채점자료/2604_4/2604_4A/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 문제.hwpx differ diff --git a/회차별채점자료/2604_4/2604_4A/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 정답.hwpx b/회차별채점자료/2604_4/2604_4A/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 정답.hwpx new file mode 100644 index 0000000..130a54a Binary files /dev/null and b/회차별채점자료/2604_4/2604_4A/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 정답.hwpx differ diff --git a/회차별채점자료/2604_4/2604_4A/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 채점기준표.xlsx b/회차별채점자료/2604_4/2604_4A/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 채점기준표.xlsx new file mode 100644 index 0000000..2287ce1 Binary files /dev/null and b/회차별채점자료/2604_4/2604_4A/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 채점기준표.xlsx differ diff --git a/회차별채점자료/2604_5/2604_5A/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 문제.hwpx b/회차별채점자료/2604_5/2604_5A/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 문제.hwpx new file mode 100644 index 0000000..abb26d1 Binary files /dev/null and b/회차별채점자료/2604_5/2604_5A/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 문제.hwpx differ diff --git a/회차별채점자료/2604_5/2604_5A/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 정답.hwpx b/회차별채점자료/2604_5/2604_5A/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 정답.hwpx new file mode 100644 index 0000000..130a54a Binary files /dev/null and b/회차별채점자료/2604_5/2604_5A/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 정답.hwpx differ diff --git a/회차별채점자료/2604_5/2604_5A/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 채점기준표.xlsx b/회차별채점자료/2604_5/2604_5A/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 채점기준표.xlsx new file mode 100644 index 0000000..2287ce1 Binary files /dev/null and b/회차별채점자료/2604_5/2604_5A/제2604회 디지털정보활용능력 워드프로세서(한글2022버전) A형 채점기준표.xlsx differ