2511회 채점완료

This commit is contained in:
2025-11-28 17:04:20 +09:00
parent ed97d6c9ed
commit 24b4a8b72d
57 changed files with 3776 additions and 1707 deletions

View File

@@ -4,8 +4,8 @@ from pathlib import Path
import re import re
# ===== 사용자 설정 ===== # ===== 사용자 설정 =====
source_dir = r"D:\project\HWP\HWP-Scoring\회차별채점자료\2510" source_dir = r"D:\project\HWP\HWP-Scoring\회차별채점자료\2511"
exam_round = "2510" # 회차명 exam_round = "2511" # 회차명
exam_code = "DIW" # 코드명 exam_code = "DIW" # 코드명
# ======================= # =======================

View File

@@ -76,8 +76,8 @@ def copy_exam_files(exam_round, exam_codes, source_dir):
# 사용 예시 # 사용 예시
if __name__ == "__main__": if __name__ == "__main__":
# [source_dir경로\DIW] 디렉토리 안에 A형, B형... 폴더가 존재해야 함 # [source_dir경로\DIW] 디렉토리 안에 A형, B형... 폴더가 존재해야 함
exam_round = "2510" exam_round = "2511"
exam_codes = ["DIW"] exam_codes = ["DIW"]
source_dir = r"D:\project\data\제2510회 정기\과목별답안파일" source_dir = r"D:\project\data\제2511회 정기"
copy_exam_files(exam_round, exam_codes, source_dir) copy_exam_files(exam_round, exam_codes, source_dir)

View File

@@ -166,7 +166,7 @@ if __name__ == "__main__":
setup_logging() setup_logging()
exam_rounds = [ exam_rounds = [
"2510", "2511",
# "2507" # "2507"
] ]

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
251128_DIW_2511D_TEST.xlsx Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -46,65 +46,65 @@
"1": { "1": {
"1": { "1": {
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName", "path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
"searchValue": "현대미술비엔날레", "searchValue": "대학교육정책포럼",
"value": "굴림", "value": "휴먼옛체",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (현대미술비엔날레)/① 글씨체 (굴림)" "item": "문구 (대학교육정책포럼)/① 글씨체 (휴먼옛체)"
}, },
"2": { "2": {
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor", "path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
"searchValue": "현대미술비엔날레", "searchValue": "대학교육정책포럼",
"value": "14,214,211", "value": "53,135,145",
"points": 2, "points": 2,
"category": "Color", "category": "Color",
"item": "문구 (현대미술비엔날레)/② 채우기 : 색상(RGB:14,214,211)" "item": "문구 (대학교육정책포럼)/② 채우기 : 색상(RGB:53,135,145)"
}, },
"3": { "3": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width", "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
"searchValue": "현대미술비엔날레", "searchValue": "대학교육정책포럼",
"value": "120", "value": "120",
"tolerance": 1, "tolerance": 1,
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "문구 (현대미술비엔날레)/③ 크기-너비 (120 mm)" "item": "문구 (대학교육정책포럼)/③ 크기-너비 (120 mm)"
}, },
"4": { "4": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height", "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
"searchValue": "현대미술비엔날레", "searchValue": "대학교육정책포럼",
"value": "20", "value": "20",
"tolerance": 1, "tolerance": 1,
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "문구 (현대미술비엔날레)/④ 크기-높이 (20 mm)" "item": "문구 (대학교육정책포럼)/④ 크기-높이 (20 mm)"
}, },
"5": { "5": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar", "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
"searchValue": "현대미술비엔날레", "searchValue": "대학교육정책포럼",
"value": "true", "value": "true",
"points": 2, "points": 2,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (현대미술비엔날레)/⑤ 위치 (글자처럼 취급)" "item": "문구 (대학교육정책포럼)/⑤ 위치 (글자처럼 취급)"
}, },
"6": { "6": {
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
"searchValue": "현대미술비엔날레", "searchValue": "대학교육정책포럼",
"value": "Center", "value": "Center",
"points": 2, "points": 2,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (현대미술비엔날레)/⑥ 정렬 (가운데 정렬)" "item": "문구 (대학교육정책포럼)/⑥ 정렬 (가운데 정렬)"
}, },
"7": { "7": {
"path": "//TEXTART[@Text='{searchValue}']", "path": "//TEXTART[@Text='{searchValue}']",
"searchValue": "현대미술비엔날레", "searchValue": "대학교육정책포럼",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "Boolean", "category": "Boolean",
"item": "문구 (현대미술비엔날레)/⑦ 글맵시모양 (육안확인)" "item": "문구 (대학교육정책포럼)/⑦ 글맵시모양 (육안확인)"
}, },
"8": { "8": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE", "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
"searchValue": "", "searchValue": "",
"value": { "value": {
"Height": 2800, "Height": 2800,
"Width": 2800 "Width": 2800
@@ -116,7 +116,7 @@
}, },
"9": { "9": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "", "searchValue": "",
"value": "굴림체", "value": "굴림체",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
@@ -124,15 +124,15 @@
}, },
"10": { "10": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor", "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
"searchValue": "", "searchValue": "",
"value": "37,211,143", "value": "192,204,239",
"points": 2, "points": 2,
"category": "Color", "category": "Color",
"item": "어/③ 면색 : 색상(RGB:37,211,143)" "item": "어/③ 면색 : 색상(RGB:192,204,239)"
}, },
"11": { "11": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right", "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
"searchValue": "", "searchValue": "",
"value": "3.0", "value": "3.0",
"tolerance": 1, "tolerance": 1,
"points": 2, "points": 2,
@@ -141,19 +141,19 @@
}, },
"12": { "12": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
"searchValue": "경계를 넘어, 새로운 시선", "searchValue": "대학 퇴출 및 통폐합의 방향과 과제를 주제",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (경계를 넘어, 새로운 시선)/① BOLD" "item": "문구 (대학 퇴출 및 통폐합의 방향과 과제를 주제)/① BOLD"
}, },
"13": { "13": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
"searchValue": "경계를 넘어, 새로운 시선", "searchValue": "대학 퇴출 및 통폐합의 방향과 과제를 주제",
"value": "UNDERLINE", "value": "UNDERLINE",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (경계를 넘어, 새로운 시선)/② UNDERLINE" "item": "문구 (대학 퇴출 및 통폐합의 방향과 과제를 주제)/② UNDERLINE"
}, },
"14": { "14": {
"path": "//CHAR[contains(string(.),'{char1}')]/text()", "path": "//CHAR[contains(string(.),'{char1}')]/text()",
@@ -186,20 +186,20 @@
"17": { "17": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "2025. 10. 29.() 18:00까지 온라인 사전 등록(http://www.ihd.or.kr)", "searchValue": "2025. 11. 28.() 18:00까지 온라인 사전 등록(http://www.ihd.or.kr)",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (2025. 10. 29.() 18:00까지 온라인 사전 등록(http://www.ihd.or.kr))/① BOLD" "item": "문구 (2025. 11. 28.() 18:00까지 온라인 사전 등록(http://www.ihd.or.kr))/① BOLD"
}, },
"18": { "18": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "2025. 10. 29.() 18:00까지 온라인 사전 등록(http://www.ihd.or.kr)", "searchValue": "2025. 11. 28.() 18:00까지 온라인 사전 등록(http://www.ihd.or.kr)",
"value": "ITALIC", "value": "ITALIC",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (2025. 10. 29.() 18:00까지 온라인 사전 등록(http://www.ihd.or.kr))/② ITALIC" "item": "문구 (2025. 11. 28.() 18:00까지 온라인 사전 등록(http://www.ihd.or.kr))/② ITALIC"
}, },
"19": { "19": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN", "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
@@ -215,52 +215,52 @@
}, },
"20": { "20": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
"searchValue": "2025. 10. 25.", "searchValue": "2025. 11. 22.",
"value": "1400", "value": "1300",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (2025. 10. 25.)/① 크기 (1400)", "item": "문구 (2025. 11. 22.)/① 크기 (1300)",
"desc": "1pt당 100" "desc": "1pt당 100"
}, },
"21": { "21": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"searchValue": "2025. 10. 25.", "searchValue": "2025. 11. 22.",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (2025. 10. 25.)/② 정렬 (가운데 정렬)" "item": "문구 (2025. 11. 22.)/② 정렬 (가운데 정렬)"
}, },
"22": { "22": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "현대미술발전협의회", "searchValue": "한국대학교육협의회",
"value": "맑은고딕", "value": "고딕",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구 (현대미술발전협의회)/① 글씨체 (맑은고딕)" "item": "문구 (한국대학교육협의회)/① 글씨체 (고딕)"
}, },
"23": { "23": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "현대미술발전협의회", "searchValue": "한국대학교육협의회",
"value": "2500", "value": "2500",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (현대미술발전협의회)/② 크기 (2500)" "item": "문구 (한국대학교육협의회)/② 크기 (2500)"
}, },
"24": { "24": {
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
"searchValue": "현대미술발전협의회", "searchValue": "한국대학교육협의회",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (현대미술발전협의회)/③ 정렬 (가운데 정렬)" "item": "문구 (한국대학교육협의회)/③ 정렬 (가운데 정렬)"
}, },
"25": { "25": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "DIAT", "searchValue": "DIAT",
"value": "궁서체", "value": "굴림",
"points": 1, "points": 1,
"category": "Header.FontName", "category": "Header.FontName",
"item": "문구 (DIAT)/① 글꼴 (궁서체)" "item": "문구 (DIAT)/① 글꼴 (굴림)"
}, },
"26": { "26": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
@@ -283,20 +283,26 @@
"value": "LatinCapital", "value": "LatinCapital",
"points": 2, "points": 2,
"category": "PageNumber", "category": "PageNumber",
"item": "① 쪽 번호 매기기 (가,나,다 순으로)", "item": "① 쪽 번호 매기기 (A,B,C 순으로)",
"desc1": { "desc1": {
"가,나,다": "HangulSyllable", "가,나,다": "HangulSyllable",
"1,2,3": "Digit", "1,2,3": "Digit",
"일,이,삼": "HangulPhonetic",
"갑,을,병": "DecagonCircle", "갑,을,병": "DecagonCircle",
"A,B,C": "LatinCapital", "A,B,C": "LatinCapital",
"a,b,c": "LatinSmall", "a,b,c": "LatinSmall",
"Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital",
"①,②,③": "CircledDigit", "①,②,③": "CircledDigit",
"一,二,三": "Ideograph", "一,二,三": "Ideograph",
"㉠,㉡,㉢": "CircledHangulJamo", "㉠,㉡,㉢": "CircledHangulJamo",
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall", "ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
"㊀,㊁,㊂": "CircledIdeograph",
"i,ii,iii": "RomanSmall", "i,ii,iii": "RomanSmall",
"I,II,III": "RomanCapital", "I,II,III": "RomanCapital",
"desc": "정답에 맞는 값 value에 입력" "甲,乙,丙": "DecagonCircleHanja",
"+,++,+++": "UserChar",
"*,**,***": "UserChar",
"정답에 맞는 값 value에 입력": ""
}, },
"desc2": "1, 2페이지 모두 정답이어야 점수 부여" "desc2": "1, 2페이지 모두 정답이어야 점수 부여"
}, },
@@ -319,13 +325,13 @@
"value": true, "value": true,
"points": 2, "points": 2,
"category": "hyperlink", "category": "hyperlink",
"item": "문구 (http://www.ihd.or.kr)/하이퍼링크 없이 작성", "item": "문구 (https://www.ihd.or.kr)/하이퍼링크 없이 작성",
"desc": "searchValue에 해당하는 주소 문구에 하이퍼링크가 하나라도 설정되어 있으면 오답" "desc": "searchValue에 해당하는 주소 문구에 하이퍼링크가 하나라도 설정되어 있으면 오답"
}, },
"31": { "31": {
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing", "path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
"value": "200", "value": "200",
"first_word": "", "first_word": "",
"points": 2, "points": 2,
"category": "LineSpacing", "category": "LineSpacing",
"item": "문제 1 줄간격 200% 설정", "item": "문제 1 줄간격 200% 설정",
@@ -361,17 +367,17 @@
}, },
"4": { "4": {
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width", "path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
"value": "55", "value": "65",
"points": 2, "points": 2,
"category": "Rectangle.mmSize", "category": "Rectangle.mmSize",
"item": "문구 (현대미술 생태계)/① 크기-너비 (55 mm)" "item": "문구 (대학 구조조정)/① 크기-너비 (65 mm)"
}, },
"5": { "5": {
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height", "path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
"value": "12", "value": "12",
"points": 2, "points": 2,
"category": "Rectangle.mmSize", "category": "Rectangle.mmSize",
"item": "문구 (현대미술 생태계)/② 크기-높이 (12 mm)" "item": "문구 (대학 구조조정)/② 크기-높이 (12 mm)"
}, },
"6": { "6": {
"path": "//RECTANGLE//LINESHAPE", "path": "//RECTANGLE//LINESHAPE",
@@ -381,7 +387,7 @@
}, },
"points": 2, "points": 2,
"category": "Rectangle.LineShape", "category": "Rectangle.LineShape",
"item": "문구 (현대미술 생태계)/③ 테두리 : 이중 실선(1.00mm)", "item": "문구 (대학 구조조정)/③ 테두리 : 이중 실선(1.00mm)",
"desc": "1mm = 283pt value['Width']에 pt값 입력" "desc": "1mm = 283pt value['Width']에 pt값 입력"
}, },
"7": { "7": {
@@ -389,43 +395,43 @@
"value": "20", "value": "20",
"points": 2, "points": 2,
"category": "Rectangle.OneAnswer", "category": "Rectangle.OneAnswer",
"item": "문구 (현대미술 생태계)/④ 글상자 모서리 (반원)", "item": "문구 (대학 구조조정)/④ 글상자 모서리 (반원)",
"desc": "모서리 비율 반원:50 / 둥근모양:20" "desc": "모서리 비율 반원:50 / 둥근모양:20"
}, },
"8": { "8": {
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor", "path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
"value": "229,233,119", "value": "227,220,193",
"points": 2, "points": 2,
"category": "Rectangle.Color", "category": "Rectangle.Color",
"item": "문구 (현대미술 생태계)/⑤ 채우기 : 색상(RGB:229,233,119)" "item": "문구 (대학 구조조정)/⑤ 채우기 : 색상(RGB:227,220,193)"
}, },
"9": { "9": {
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar", "path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
"value": "true", "value": "true",
"points": 1, "points": 1,
"category": "Rectangle.OneAnswer", "category": "Rectangle.OneAnswer",
"item": "문구 (현대미술 생태계)/⑥ 글상자 위치 (글자처럼 취급)" "item": "문구 (대학 구조조정)/⑥ 글상자 위치 (글자처럼 취급)"
}, },
"10": { "10": {
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align", "path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "Rectangle.TextBoxAlign", "category": "Rectangle.TextBoxAlign",
"item": "문구 (현대미술 생태계)/⑦ 글상자 정렬 (가운데 정렬)" "item": "문구 (대학 구조조정)/⑦ 글상자 정렬 (가운데 정렬)"
}, },
"11": { "11": {
"path": ".//RECTANGLE//TEXT/@CharShape", "path": ".//RECTANGLE//TEXT/@CharShape",
"value": "견고딕", "value": "궁서체",
"points": 1, "points": 1,
"category": "Rectangle.FontName", "category": "Rectangle.FontName",
"item": "문구 (현대미술 생태계)/⑧ 글씨체 (견고딕)" "item": "문구 (대학 구조조정)/⑧ 글씨체 (궁서체)"
}, },
"12": { "12": {
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height", "path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
"value": "2000", "value": "2000",
"points": 1, "points": 1,
"category": "Rectangle.FontSize", "category": "Rectangle.FontSize",
"item": "문구 (현대미술 생태계)/⑨ 글씨크기 (2000)", "item": "문구 (대학 구조조정)/⑨ 글씨크기 (2000)",
"desc": "1pt당 100" "desc": "1pt당 100"
}, },
"13": { "13": {
@@ -433,39 +439,39 @@
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "Rectangle.TextBoxAlign", "category": "Rectangle.TextBoxAlign",
"item": "문구 (현대미술 생태계)/⑩ 정렬 (가운데 정렬)" "item": "문구 (대학 구조조정)/⑩ 정렬 (가운데 정렬)"
}, },
"14": { "14": {
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG']", "path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "Boolean", "category": "Boolean",
"item": "① 파일명 \"그림C.jpg\" 삽입", "item": "① 파일명 \"그림A.jpg\" 삽입",
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)" "desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
}, },
"15": { "15": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/SIZE/@Width", "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
"value": "85", "value": "80",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "② 크기-너비 (85 mm)" "item": "② 크기-너비 (80 mm)"
}, },
"16": { "16": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/SIZE/@Height", "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
"value": "40", "value": "35",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "③ 크기-높이 (40 mm)" "item": "③ 크기-높이 (35 mm)"
}, },
"17": { "17": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset", "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", "value": "0",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0mm)" "item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0mm)"
}, },
"18": { "18": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset", "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", "value": "24",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
@@ -473,81 +479,81 @@
}, },
"19": { "19": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "1. 현대미술 트렌드", "searchValue": "1. 학령인구 감소",
"value": "돋움", "value": "중고딕",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구① (1. 현대미술 트렌드)/① 글씨체 (돋움)" "item": "문구① (1. 학령인구 감소)/① 글씨체 (중고딕)"
}, },
"20": { "20": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "1. 현대미술 트렌드", "searchValue": "1. 학령인구 감소",
"value": "1200", "value": "1200",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구① (1. 현대미술 트렌드)/② 크기 (1200)" "item": "문구① (1. 학령인구 감소)/② 크기 (1200)"
}, },
"21": { "21": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "1. 현대미술 트렌드", "searchValue": "1. 학령인구 감소",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구① (1. 현대미술 트렌드)/③ 진하게" "item": "문구① (1. 학령인구 감소)/③ 진하게"
}, },
"22": { "22": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "2. 현대미술의 가치", "searchValue": "2. 한계대학이란?",
"value": "돋움", "value": "중고딕",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구② (2. 현대미술의 가치)/① 글씨체 (돋움)" "item": "문구② (2. 한계대학이란?)/① 글씨체 (중고딕)"
}, },
"23": { "23": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "2. 현대미술의 가치", "searchValue": "2. 한계대학이란?",
"value": "1200", "value": "1200",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구② (2. 현대미술의 가치)/② 크기 (1200)" "item": "문구② (2. 한계대학이란?)/② 크기 (1200)"
}, },
"24": { "24": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "2. 현대미술의 가치", "searchValue": "2. 한계대학이란?",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구② (2. 현대미술의 가치)/③ 진하게" "item": "문구② (2. 한계대학이란?)/③ 진하게"
}, },
"25": { "25": {
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)", "path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)", "path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
"option": "블록체인(Blockchain)", "option": "학령인구",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "Boolean", "category": "Boolean",
"item": "문구 (블록체인(Blockchain))/① 각주 설정 및 문구 입력" "item": "문구 (학령인구)/① 각주 설정 및 문구 입력"
}, },
"26": { "26": {
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape", "path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
"searchValue": "누구라도 임의로 수정할 수 없고, 누구나 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기술", "searchValue": "유치원 : 만 3~5세, 초등학교 : 만 6~11세, 중학교 : 만 12~14세, 고등학교 : 만 15~17세",
"value": "돋움", "value": "돋움",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구 (블록체인(Blockchain))/② 글씨체 (돋움)" "item": "문구 (학령인구)/② 글씨체 (돋움)"
}, },
"27": { "27": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
"searchValue": "누구라도 임의로 수정할 수 없고, 누구나 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기술", "searchValue": "유치원 : 만 3~5세, 초등학교 : 만 6~11세, 중학교 : 만 12~14세, 고등학교 : 만 15~17세",
"value": "900", "value": "900",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (블록체인(Blockchain))/③ 크기 (9pt)" "item": "문구 (학령인구)/③ 크기 (9pt)"
}, },
"28": { "28": {
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type", "path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
"searchValue": "누구라도 임의로 수정할 수 없고, 누구나 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기술", "searchValue": "유치원 : 만 3~5세, 초등학교 : 만 6~11세, 중학교 : 만 12~14세, 고등학교 : 만 15~17세",
"value": "HangulPhonetic", "value": "CircledHangulJamo",
"points": 2, "points": 2,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (전당)/④ 각주 번호모양", "item": "문구 (전당)/④ 각주 번호모양",
@@ -563,6 +569,7 @@
"一,二,三": "Ideograph", "一,二,三": "Ideograph",
"㉠,㉡,㉢": "CircledHangulJamo", "㉠,㉡,㉢": "CircledHangulJamo",
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall", "ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
"㊀,㊁,㊂": "CircledIdeograph",
"i,ii,iii": "RomanSmall", "i,ii,iii": "RomanSmall",
"I,II,III": "RomanCapital", "I,II,III": "RomanCapital",
"甲,乙,丙": "DecagonCircleHanja", "甲,乙,丙": "DecagonCircleHanja",
@@ -572,81 +579,81 @@
} }
}, },
"29": { "29": {
"path": "boolean(//CHAR[contains(text(),'Blockchain')])", "path": "boolean(//CHAR[contains(text(),'Management')])",
"ignoreWord": "Blockchain", "ignoreWord": "Management",
"value": true, "value": true,
"points": 3, "points": 3,
"category": "Boolean", "category": "Boolean",
"item": "Blockchain/영단어 미입력, 대소문자/오타 시 전체 감점", "item": "Management/영단어 미입력, 대소문자/오타 시 전체 감점",
"desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요" "desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요"
}, },
"30": { "30": {
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]", "path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
"word": [ "word": [
["진화", "進化"], ["환경", "環境"],
["관객", "觀客"], ["분석", "分析"],
["매체", "媒體"], ["재무구조", "財務構造"],
["대체", "代替"], ["경영", "經營"],
["논의", "論議"] ["상태", "狀態"]
], ],
"value": 10, "value": 10,
"points": 10, "points": 10,
"category": "Hanja", "category": "Hanja",
"item": "① 진화(進化), ② 관객(觀客), ③ 매체(媒體), ④ 대체(代替), ⑤ 논의(論議)" "item": "① 환경(環境), ② 분석(分析), ③ 재무구조(財務構造), ④ 경영(經營), ⑤ 상태(狀態)"
}, },
"31": { "31": {
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'지털아트')])", "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'덕적해이')])",
"value": true, "value": true,
"points": 3, "points": 3,
"category": "Boolean", "category": "Boolean",
"item": "문구 (…아트나 디지털 대체(代替) 불가능 토큰…)>'아트나 / 디지털' 순서바꿈" "item": "문구 (…비위나 해이가 도덕적 대학…)>'해이가 / 도덕적' 순서바꿈"
}, },
"32": { "32": {
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'페어및비엔')])", "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'증가추이')])",
"value": true, "value": true,
"points": 3, "points": 3,
"category": "Boolean", "category": "Boolean",
"item": "문구 (…글로벌 아트페어 밑 비엔날레가…)>'밑→및' 글자바꿈" "item": "문구 (…향후 증강 추이는 가속화될 전망이다…)>'강 → 가' 글자바꿈"
}, },
"33": { "33": {
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape", "path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
"searchValue": "현대미술 성장률(단위: %)", "searchValue": "학령인구 변동 추계(단위:천명)",
"value": "고딕", "value": "맑은고딕",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "제목 문구 (현대미술 성장률(단위: %))/① 글씨체 (고딕)" "item": "제목 문구 (학령인구 변동 추계(단위:천명))/① 글씨체 (맑은고딕)"
}, },
"34": { "34": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "현대미술 성장률(단위: %)", "searchValue": "학령인구 변동 추계(단위:천명)",
"value": "1200", "value": "1200",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (현대미술 성장률(단위: %))/② 크기 (1200)" "item": "제목 문구 (학령인구 변동 추계(단위:천명))/② 크기 (1200)"
}, },
"35": { "35": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "현대미술 성장률(단위: %)", "searchValue": "학령인구 변동 추계(단위:천명)",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "제목 문구 (현대미술 성장률(단위: %))/③ 진하게" "item": "제목 문구 (학령인구 변동 추계(단위:천명))/③ 진하게"
}, },
"36": { "36": {
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
"searchValue": "현대미술 성장률(단위: %)", "searchValue": "학령인구 변동 추계(단위:천명)",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (현대미술 성장률(단위: %))/④ 정렬 (가운데 정렬)" "item": "제목 문구 (핀테크 산업 성장률(단위 : g))/④ 정렬 (가운데 정렬)"
}, },
"37": { "37": {
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor", "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", "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
"value": "105,155,39", "value": "158,219,98",
"points": 2, "points": 2,
"category": "Color", "category": "Color",
"item": "위쪽 제목 셀/① 색상(RGB:105,155,39)" "item": "위쪽 제목 셀/① 색상(RGB:158,219,98)"
}, },
"38": { "38": {
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]", "path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
@@ -675,11 +682,11 @@
"41": { "41": {
"path": "//TABLE//TEXT/@CharShape", "path": "//TABLE//TEXT/@CharShape",
"path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name", "path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"value": "굴림", "value": "돋움체",
"points": 1, "points": 1,
"category": "TableFontName", "category": "TableFontName",
"category_tmp": "FontName", "category_tmp": "FontName",
"item": "글자모양/① 글씨체 (굴림)", "item": "글자모양/① 글씨체 (돋움체)",
"desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경" "desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경"
}, },
"42": { "42": {
@@ -746,28 +753,28 @@
}, },
"50": { "50": {
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface", "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
"searchValue": "현대미술 성장률", "searchValue": "학령인구 변동 추계",
"value": "돋움체", "value": "굴림체",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (현대미술 성장률)/① 글씨체 (돋움체)" "item": "제목 문구 (학령인구 변동 추계)/① 글씨체 (굴림체)"
}, },
"51": { "51": {
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz", "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
"searchValue": "현대미술 성장률", "searchValue": "학령인구 변동 추계",
"value": "1400", "value": "1300",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (현대미술 성장률)/② 크기 (1400)" "item": "제목 문구 (학령인구 변동 추계)/② 크기 (1300)"
}, },
"52": { "52": {
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}", "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
"option": "b", "option": "b",
"searchValue": "현대미술 성장률", "searchValue": "학령인구 변동 추계",
"value": "1", "value": "1",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (현대미술 성장률)/③ 기울임", "item": "제목 문구 (학령인구 변동 추계)/③ 기울임",
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
}, },
"53": { "53": {

View File

@@ -46,65 +46,65 @@
"1": { "1": {
"1": { "1": {
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName", "path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
"searchValue": "반려동물산업의미래", "searchValue": "전통주페어링특강안내",
"value": "굴림체", "value": "휴먼옛체",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (반려동물산업의미래)/① 글씨체 (굴림체)" "item": "문구 (전통주페어링특강안내)/① 글씨체 (휴먼옛체)"
}, },
"2": { "2": {
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor", "path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
"searchValue": "반려동물산업의미래", "searchValue": "전통주페어링특강안내",
"value": "202,86,167", "value": "187,57,49",
"points": 2, "points": 2,
"category": "Color", "category": "Color",
"item": "문구 (반려동물산업의미래)/② 채우기 : 색상(RGB:202,86,167)" "item": "문구 (전통주페어링특강안내)/② 채우기 : 색상(RGB:187,57,49)"
}, },
"3": { "3": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width", "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
"searchValue": "반려동물산업의미래", "searchValue": "전통주페어링특강안내",
"value": "110", "value": "110",
"tolerance": 1, "tolerance": 1,
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "문구 (반려동물산업의미래)/③ 크기-너비 (110 mm)" "item": "문구 (전통주페어링특강안내)/③ 크기-너비 (110 mm)"
}, },
"4": { "4": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height", "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
"searchValue": "반려동물산업의미래", "searchValue": "전통주페어링특강안내",
"value": "20", "value": "20",
"tolerance": 1, "tolerance": 1,
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "문구 (반려동물산업의미래)/④ 크기-높이 (20 mm)" "item": "문구 (전통주페어링특강안내)/④ 크기-높이 (20 mm)"
}, },
"5": { "5": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar", "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
"searchValue": "반려동물산업의미래", "searchValue": "전통주페어링특강안내",
"value": "true", "value": "true",
"points": 2, "points": 2,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (반려동물산업의미래)/⑤ 위치 (글자처럼 취급)" "item": "문구 (전통주페어링특강안내)/⑤ 위치 (글자처럼 취급)"
}, },
"6": { "6": {
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
"searchValue": "반려동물산업의미래", "searchValue": "전통주페어링특강안내",
"value": "Center", "value": "Center",
"points": 2, "points": 2,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (반려동물산업의미래)/⑥ 정렬 (가운데 정렬)" "item": "문구 (전통주페어링특강안내)/⑥ 정렬 (가운데 정렬)"
}, },
"7": { "7": {
"path": "//TEXTART[@Text='{searchValue}']", "path": "//TEXTART[@Text='{searchValue}']",
"searchValue": "반려동물산업의미래", "searchValue": "전통주페어링특강안내",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "Boolean", "category": "Boolean",
"item": "문구 (반려동물산업의미래)/⑦ 글맵시모양 (육안확인)" "item": "문구 (전통주페어링특강안내)/⑦ 글맵시모양 (육안확인)"
}, },
"8": { "8": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE", "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
"searchValue": "", "searchValue": "",
"value": { "value": {
"Height": 2800, "Height": 2800,
"Width": 2800 "Width": 2800
@@ -116,23 +116,23 @@
}, },
"9": { "9": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "", "searchValue": "",
"value": "바탕체", "value": "중고딕",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "어/② 글씨체 (바탕체)" "item": "어/② 글씨체 (중고딕)"
}, },
"10": { "10": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor", "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
"searchValue": "", "searchValue": "",
"value": "252,229,88", "value": "252,231,95",
"points": 2, "points": 2,
"category": "Color", "category": "Color",
"item": "어/③ 면색 : 색상(RGB:252,229,88)" "item": "어/③ 면색 : 색상(RGB:252,231,95)"
}, },
"11": { "11": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right", "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
"searchValue": "", "searchValue": "",
"value": "3.0", "value": "3.0",
"tolerance": 1, "tolerance": 1,
"points": 2, "points": 2,
@@ -141,39 +141,39 @@
}, },
"12": { "12": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
"searchValue": "제1회 반려동물 산업의 미래", "searchValue": "전통주는 단순히 전통만 고집하는 오래된 것이 아니라는 것",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (제1회 반려동물 산업의 미래)/① BOLD" "item": "문구 (전통주는 단순히 전통만 고집하는 오래된 것이 아니라는 것)/① BOLD"
}, },
"13": { "13": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
"searchValue": "제1회 반려동물 산업의 미래", "searchValue": "전통주는 단순히 전통만 고집하는 오래된 것이 아니라는 것",
"value": "UNDERLINE", "value": "UNDERLINE",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (제1회 반려동물 산업의 미래)/② UNDERLINE" "item": "문구 (전통주는 단순히 전통만 고집하는 오래된 것이 아니라는 것)/② UNDERLINE"
}, },
"14": { "14": {
"path": "//CHAR[contains(string(.),'{char1}')]/text()", "path": "//CHAR[contains(string(.),'{char1}')]/text()",
"path2": "//CHAR[contains(string(.),'{char2}')]/text()", "path2": "//CHAR[contains(string(.),'{char2}')]/text()",
"path3": "//CHAR[contains(string(.),'{char3}')]/text()", "path3": "//CHAR[contains(string(.),'{char3}')]/text()",
"char1": "", "char1": "",
"char2": "", "char2": "",
"char3": "※", "char3": "※",
"value": 3, "value": 3,
"points": 3, "points": 3,
"category": "SpecialChar", "category": "SpecialChar",
"item": "① , ② , ③ ※" "item": "① , ② , ③ ※"
}, },
"15": { "15": {
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape", "path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
"searchValue": "행사안내", "searchValue": "행사안내",
"value": "궁서", "value": "굴림체",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구 ( 행사안내 )/① 글씨체 (궁서)" "item": "문구 ( 행사안내 )/① 글씨체 (굴림체)"
}, },
"16": { "16": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
@@ -181,78 +181,78 @@
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "Align", "category": "Align",
"item": "문구 ( 행사안내 )/② 정렬 (가운데 정렬)" "item": "문구 ( 행사안내 )/② 정렬 (가운데 정렬)"
}, },
"17": { "17": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "반려동물 산업 종사자, 단체 및 학계, 언론 관계자 등", "searchValue": "2025년 11월 23일(일) 18:00까지 온라인으로 등록(http://www.ihd.or.kr)",
"value": "BOLD", "value": "ITALIC",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (반려동물 산업 종사자, 단체 및 학계, 언론 관계자 등)/① BOLD" "item": "문구 (2025년 11월 23일(일) 18:00까지 온라인으로 등록(http://www.ihd.or.kr))/① ITALIC"
}, },
"18": { "18": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "반려동물 산업 종사자, 단체 및 학계, 언론 관계자 등", "searchValue": "2025년 11월 23일(일) 18:00까지 온라인으로 등록(http://www.ihd.or.kr)",
"value": "ITALIC", "value": "UNDERLINE",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (반려동물 산업 종사자, 단체 및 학계, 언론 관계자 등)/② ITALIC" "item": "문구 (2025년 11월 23일(일) 18:00까지 온라인으로 등록(http://www.ihd.or.kr))/② UNDERLINE"
}, },
"19": { "19": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN", "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
"searchValue": "기타사항", "searchValue": "기타사항",
"value": { "value": {
"Left": 15, "Left": 12,
"Indent": 12 "Indent": 14
}, },
"points": 2, "points": 2,
"category": "ParaShape", "category": "ParaShape",
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15), 내어쓰기 (12)", "item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (12), 내어쓰기 (14)",
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력" "desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
}, },
"20": { "20": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
"searchValue": "2025. 10. 25.", "searchValue": "2025. 11. 22.",
"value": "1300", "value": "1300",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (2025. 10. 25.)/① 크기 (1300)", "item": "문구 (2025. 11. 22.)/① 크기 (1300)",
"desc": "1pt당 100" "desc": "1pt당 100"
}, },
"21": { "21": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"searchValue": "2025. 10. 25.", "searchValue": "2025. 11. 22.",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (2025. 10. 25.)/② 정렬 (가운데 정렬)" "item": "문구 (2025. 11. 22.)/② 정렬 (가운데 정렬)"
}, },
"22": { "22": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "한국반려동물산업협회", "searchValue": "대한민국전통주살리기협회",
"value": "궁서체", "value": "궁서체",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구 (한국반려동물산업협회)/① 글씨체 (궁서체)" "item": "문구 (대한민국전통주살리기협회)/① 글씨체 (궁서체)"
}, },
"23": { "23": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "한국반려동물산업협회", "searchValue": "대한민국전통주살리기협회",
"value": "2400", "value": "2700",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (한국반려동물산업협회)/② 크기 (2400)" "item": "문구 (대한민국전통주살리기협회)/② 크기 (2700)"
}, },
"24": { "24": {
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
"searchValue": "한국반려동물산업협회", "searchValue": "대한민국전통주살리기협회",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (한국반려동물산업협회)/③ 정렬 (가운데 정렬)" "item": "문구 (대한민국전통주살리기협회)/③ 정렬 (가운데 정렬)"
}, },
"25": { "25": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
@@ -280,23 +280,29 @@
}, },
"28": { "28": {
"path": "//PAGENUM/@FormatType", "path": "//PAGENUM/@FormatType",
"value": "LatinCapital", "value": "HangulSyllable",
"points": 2, "points": 2,
"category": "PageNumber", "category": "PageNumber",
"item": "① 쪽 번호 매기기 (가,나,다 순으로)", "item": "① 쪽 번호 매기기 (가,나,다 순으로)",
"desc1": { "desc1": {
"가,나,다": "HangulSyllable", "가,나,다": "HangulSyllable",
"1,2,3": "Digit", "1,2,3": "Digit",
"일,이,삼": "HangulPhonetic",
"갑,을,병": "DecagonCircle", "갑,을,병": "DecagonCircle",
"A,B,C": "LatinCapital", "A,B,C": "LatinCapital",
"a,b,c": "LatinSmall", "a,b,c": "LatinSmall",
"Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital",
"①,②,③": "CircledDigit", "①,②,③": "CircledDigit",
"一,二,三": "Ideograph", "一,二,三": "Ideograph",
"㉠,㉡,㉢": "CircledHangulJamo", "㉠,㉡,㉢": "CircledHangulJamo",
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall", "ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
"㊀,㊁,㊂": "CircledIdeograph",
"i,ii,iii": "RomanSmall", "i,ii,iii": "RomanSmall",
"I,II,III": "RomanCapital", "I,II,III": "RomanCapital",
"desc": "정답에 맞는 값 value에 입력" "甲,乙,丙": "DecagonCircleHanja",
"+,++,+++": "UserChar",
"*,**,***": "UserChar",
"정답에 맞는 값 value에 입력": ""
}, },
"desc2": "1, 2페이지 모두 정답이어야 점수 부여" "desc2": "1, 2페이지 모두 정답이어야 점수 부여"
}, },
@@ -324,11 +330,11 @@
}, },
"31": { "31": {
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing", "path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
"value": "200", "value": "190",
"first_word": "", "first_word": "",
"points": 2, "points": 2,
"category": "LineSpacing", "category": "LineSpacing",
"item": "문제 1 줄간격 200% 설정", "item": "문제 1 줄간격 190% 설정",
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다." "desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
} }
}, },
@@ -364,14 +370,14 @@
"value": "60", "value": "60",
"points": 2, "points": 2,
"category": "Rectangle.mmSize", "category": "Rectangle.mmSize",
"item": "문구 (반려동물 시장)/① 크기-너비 (60 mm)" "item": "문구 (한국의 전통주)/① 크기-너비 (60 mm)"
}, },
"5": { "5": {
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height", "path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
"value": "12", "value": "12",
"points": 2, "points": 2,
"category": "Rectangle.mmSize", "category": "Rectangle.mmSize",
"item": "문구 (반려동물 시장)/② 크기-높이 (12 mm)" "item": "문구 (한국의 전통주)/② 크기-높이 (12 mm)"
}, },
"6": { "6": {
"path": "//RECTANGLE//LINESHAPE", "path": "//RECTANGLE//LINESHAPE",
@@ -381,51 +387,51 @@
}, },
"points": 2, "points": 2,
"category": "Rectangle.LineShape", "category": "Rectangle.LineShape",
"item": "문구 (반려동물 시장)/③ 테두리 : 이중 실선(1.00mm)", "item": "문구 (한국의 전통주)/③ 테두리 : 이중 실선(1.00mm)",
"desc": "1mm = 283pt value['Width']에 pt값 입력" "desc": "1mm = 283pt value['Width']에 pt값 입력"
}, },
"7": { "7": {
"path": "//RECTANGLE/@Ratio", "path": "//RECTANGLE/@Ratio",
"value": "50", "value": "20",
"points": 2, "points": 2,
"category": "Rectangle.OneAnswer", "category": "Rectangle.OneAnswer",
"item": "문구 (반려동물 시장)/④ 글상자 모서리 (반원)", "item": "문구 (한국의 전통주)/④ 글상자 모서리 (반원)",
"desc": "모서리 비율 반원:50 / 둥근모양:20" "desc": "모서리 비율 반원:50 / 둥근모양:20"
}, },
"8": { "8": {
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor", "path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
"value": "233,174,43", "value": "53,135,145",
"points": 2, "points": 2,
"category": "Rectangle.Color", "category": "Rectangle.Color",
"item": "문구 (반려동물 시장)/⑤ 채우기 : 색상(RGB:233,174,43)" "item": "문구 (한국의 전통주)/⑤ 채우기 : 색상(RGB:53,135,145)"
}, },
"9": { "9": {
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar", "path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
"value": "true", "value": "true",
"points": 1, "points": 1,
"category": "Rectangle.OneAnswer", "category": "Rectangle.OneAnswer",
"item": "문구 (반려동물 시장)/⑥ 글상자 위치 (글자처럼 취급)" "item": "문구 (한국의 전통주)/⑥ 글상자 위치 (글자처럼 취급)"
}, },
"10": { "10": {
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align", "path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "Rectangle.TextBoxAlign", "category": "Rectangle.TextBoxAlign",
"item": "문구 (반려동물 시장)/⑦ 글상자 정렬 (가운데 정렬)" "item": "문구 (한국의 전통주)/⑦ 글상자 정렬 (가운데 정렬)"
}, },
"11": { "11": {
"path": ".//RECTANGLE//TEXT/@CharShape", "path": ".//RECTANGLE//TEXT/@CharShape",
"value": "견고딕", "value": "궁서",
"points": 1, "points": 1,
"category": "Rectangle.FontName", "category": "Rectangle.FontName",
"item": "문구 (반려동물 시장)/⑧ 글씨체 (견고딕)" "item": "문구 (한국의 전통주)/⑧ 글씨체 (궁서)"
}, },
"12": { "12": {
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height", "path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
"value": "1800", "value": "2000",
"points": 1, "points": 1,
"category": "Rectangle.FontSize", "category": "Rectangle.FontSize",
"item": "문구 (반려동물 시장)/⑨ 글씨크기 (1800)", "item": "문구 (한국의 전통주)/⑨ 글씨크기 (2000)",
"desc": "1pt당 100" "desc": "1pt당 100"
}, },
"13": { "13": {
@@ -433,10 +439,10 @@
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "Rectangle.TextBoxAlign", "category": "Rectangle.TextBoxAlign",
"item": "문구 (반려동물 시장)/⑩ 정렬 (가운데 정렬)" "item": "문구 (한국의 전통주)/⑩ 정렬 (가운데 정렬)"
}, },
"14": { "14": {
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG']", "path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "Boolean", "category": "Boolean",
@@ -444,116 +450,117 @@
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)" "desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
}, },
"15": { "15": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/SIZE/@Width", "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
"value": "80", "value": "85",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "② 크기-너비 (80 mm)" "item": "② 크기-너비 (85 mm)"
}, },
"16": { "16": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/SIZE/@Height", "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
"value": "40", "value": "40",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "③ 크기-높이 (40 mm)" "item": "③ 크기-높이 (40 mm)"
}, },
"17": { "17": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset", "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", "value": "0",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0mm)" "item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0mm)"
}, },
"18": { "18": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset", "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", "value": "24",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 22 mm)" "item": "⑤ 위치 (어울림 : 세로-쪽의 위 24 mm)"
}, },
"19": { "19": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "1. 펫 휴머니제이션", "searchValue": "1. 한국 전통주",
"value": "돋움", "value": "돋움",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구① (1. 펫 휴머니제이션)/① 글씨체 (돋움)" "item": "문구① (1. 한국 전통주)/① 글씨체 (돋움)"
}, },
"20": { "20": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "1. 펫 휴머니제이션", "searchValue": "1. 한국 전통주",
"value": "1200", "value": "1200",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구① (1. 펫 휴머니제이션)/② 크기 (1200)" "item": "문구① (1. 한국 전통주)/② 크기 (1200)"
}, },
"21": { "21": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "1. 펫 휴머니제이션", "searchValue": "1. 한국 전통주",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구① (1. 펫 휴머니제이션)/③ 진하게" "item": "문구① (1. 한국 전통주)/③ 진하게"
}, },
"22": { "22": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "2. 반려동물 산업의 미래", "searchValue": "2. 패러다임 바뀐 음주 문화",
"value": "돋움", "value": "돋움",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구② (2. 반려동물 산업의 미래)/① 글씨체 (돋움)" "item": "문구② (2. 패러다임 바뀐 음주 문화)/① 글씨체 (돋움)"
}, },
"23": { "23": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "2. 반려동물 산업의 미래", "searchValue": "2. 패러다임 바뀐 음주 문화",
"value": "1200", "value": "1200",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구② (2. 반려동물 산업의 미래)/② 크기 (1200)" "item": "문구② (2. 패러다임 바뀐 음주 문화)/② 크기 (1200)"
}, },
"24": { "24": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "2. 반려동물 산업의 미래", "searchValue": "2. 패러다임 바뀐 음주 문화",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구② (2. 반려동물 산업의 미래)/③ 진하게" "item": "문구② (2. 패러다임 바뀐 음주 문화)/③ 진하게"
}, },
"25": { "25": {
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)", "path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)", "path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
"option": "펫팸족", "option": "MZ세대",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "Boolean", "category": "Boolean",
"item": "문구 (펫팸족)/① 각주 설정 및 문구 입력" "item": "문구 (MZ세대)/① 각주 설정 및 문구 입력"
}, },
"26": { "26": {
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape", "path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
"searchValue": "반려동물을 가족처럼 여기는 사람들", "searchValue": "밀레니얼 세대와 Z세대를 통틀어 지칭하는 신조어",
"value": "중고딕", "value": "바탕체",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구 (펫팸족)/② 글씨체 (중고딕)" "item": "문구 (MZ세대)/② 글씨체 (바탕체)"
}, },
"27": { "27": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
"searchValue": "반려동물을 가족처럼 여기는 사람들", "searchValue": "밀레니얼 세대와 Z세대를 통틀어 지칭하는 신조어",
"value": "900", "value": "900",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (펫팸족)/③ 크기 (9pt)" "item": "문구 (MZ세대)/③ 크기 (9pt)"
}, },
"28": { "28": {
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type", "path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
"searchValue": "반려동물을 가족처럼 여기는 사람들", "searchValue": "밀레니얼 세대와 Z세대를 통틀어 지칭하는 신조어",
"value": "DecagonCircleHanja", "value": "UserChar",
"points": 2, "points": 2,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (전당)/④ 각주 번호모양", "item": "문구 (전당)/④ 각주 번호모양",
"desc": { "desc": {
"가,나,다": "HangulSyllable", "가,나,다": "HangulSyllable",
"1,2,3": "Digit", "1,2,3": "Digit",
"일,이,삼": "HangulPhonetic",
"갑,을,병": "DecagonCircle", "갑,을,병": "DecagonCircle",
"A,B,C": "LatinCapital", "A,B,C": "LatinCapital",
"a,b,c": "LatinSmall", "a,b,c": "LatinSmall",
@@ -562,6 +569,7 @@
"一,二,三": "Ideograph", "一,二,三": "Ideograph",
"㉠,㉡,㉢": "CircledHangulJamo", "㉠,㉡,㉢": "CircledHangulJamo",
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall", "ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
"㊀,㊁,㊂": "CircledIdeograph",
"i,ii,iii": "RomanSmall", "i,ii,iii": "RomanSmall",
"I,II,III": "RomanCapital", "I,II,III": "RomanCapital",
"甲,乙,丙": "DecagonCircleHanja", "甲,乙,丙": "DecagonCircleHanja",
@@ -571,81 +579,81 @@
} }
}, },
"29": { "29": {
"path": "boolean(//CHAR[contains(text(),'Solution')])", "path": "boolean(//CHAR[contains(text(),'Paradigm')])",
"ignoreWord": "Solution", "ignoreWord": "Paradigm",
"value": true, "value": true,
"points": 3, "points": 3,
"category": "Boolean", "category": "Boolean",
"item": "Solution/영단어 미입력, 대소문자/오타 시 전체 감점", "item": "Paradigm/영단어 미입력, 대소문자/오타 시 전체 감점",
"desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요" "desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요"
}, },
"30": { "30": {
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]", "path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
"word": [ "word": [
["의미", "意味"], ["양조", "釀造"],
["문화", "文化"], ["노동자", "勞動者"],
["추세", "趨勢"], ["문인", "文人"],
["확대", "擴大"], ["백주", "白酒"],
["전망", "展望"] ["음미", "吟味"]
], ],
"value": 10, "value": 10,
"points": 10, "points": 10,
"category": "Hanja", "category": "Hanja",
"item": "① 의미(意味), ② 문화(文化), ③ 추세(趨勢), ④ 확대(擴大), ⑤ 전망(展望)" "item": "① 양조(釀造), ② 노동자(勞動者), ③ 문인(文人), ④ 백주(白酒), ⑤ 음미(吟味)"
}, },
"31": { "31": {
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'어가등장')])", "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'있는술을')])",
"value": true, "value": true,
"points": 3, "points": 3,
"category": "Boolean", "category": "Boolean",
"item": "문구 (…신조어는 등장하는 것처럼…)>'' → '' 글자바꿈" "item": "문구 (…즐길 수 있게 술을 찾아 마시는 것…)>'' → '' 글자바꿈"
}, },
"32": { "32": {
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'출산,고령')])", "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'하는문화')])",
"value": true, "value": true,
"points": 3, "points": 3,
"category": "Boolean", "category": "Boolean",
"item": "문구 (…경제 수준 향상, 고령화, 저출산, 1인 가구…)>'고령화, / 저출산, ' 순서바꿈" "item": "문구 (…마시고 문화에서 취하는 술의 맛과…)>'문화에서' / '취하는' 순서바꿈"
}, },
"33": { "33": {
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape", "path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
"searchValue": "국내 반려동물 시장 규모(단위:십억 원)", "searchValue": "연도별 전통주 산업(단위:원)",
"value": "돋움체", "value": "돋움체",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "제목 문구 (국내 반려동물 시장 규모(단위:십억 원))/① 글씨체 (돋움체)" "item": "제목 문구 (연도별 전통주 산업(단위:원))/① 글씨체 (돋움체)"
}, },
"34": { "34": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "국내 반려동물 시장 규모(단위:십억 원)", "searchValue": "연도별 전통주 산업(단위:원)",
"value": "1100", "value": "1200",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (국내 반려동물 시장 규모(단위:십억 원))/② 크기 (1100)" "item": "제목 문구 (연도별 전통주 산업(단위:원))/② 크기 (1200)"
}, },
"35": { "35": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "국내 반려동물 시장 규모(단위:십억 원)", "searchValue": "연도별 전통주 산업(단위:원)",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "제목 문구 (국내 반려동물 시장 규모(단위:십억 원))/③ 진하게" "item": "제목 문구 (연도별 전통주 산업(단위:원))/③ 진하게"
}, },
"36": { "36": {
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
"searchValue": "국내 반려동물 시장 규모(단위:십억 원)", "searchValue": "연도별 전통주 산업(단위:원)",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (국내 반려동물 시장 규모(단위:십억 원))/④ 정렬 (가운데 정렬)" "item": "제목 문구 (연도별 전통주 산업(단위:원))/④ 정렬 (가운데 정렬)"
}, },
"37": { "37": {
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor", "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", "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
"value": "166,220,112", "value": "202,86,167",
"points": 2, "points": 2,
"category": "Color", "category": "Color",
"item": "위쪽 제목 셀/① 색상(RGB:166,220,112)" "item": "위쪽 제목 셀/① 색상(RGB:202,86,167)"
}, },
"38": { "38": {
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]", "path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
@@ -674,11 +682,11 @@
"41": { "41": {
"path": "//TABLE//TEXT/@CharShape", "path": "//TABLE//TEXT/@CharShape",
"path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name", "path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"value": "돋움", "value": "중고딕",
"points": 1, "points": 1,
"category": "TableFontName", "category": "TableFontName",
"category_tmp": "FontName", "category_tmp": "FontName",
"item": "글자모양/① 글씨체 (돋움)", "item": "글자모양/① 글씨체 (중고딕)",
"desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경" "desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경"
}, },
"42": { "42": {
@@ -697,7 +705,7 @@
}, },
"44": { "44": {
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) and boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])", "path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) and boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
"option": "SUM", "option": "AVG",
"value": true, "value": true,
"points": 4, "points": 4,
"category": "Boolean", "category": "Boolean",
@@ -706,11 +714,11 @@
}, },
"45": { "45": {
"chart_xpath": "", "chart_xpath": "",
"chart_type": "표식만 있는 분산형", "chart_type": "누적 세로 막대형",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "ChartType", "category": "ChartType",
"item": "① 종류 (표식만 있는 분산형)", "item": "① 종류 (누적 세로 막대형)",
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)" "desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
}, },
"46": { "46": {
@@ -745,36 +753,36 @@
}, },
"50": { "50": {
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface", "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
"searchValue": "국내 반려동물 시장 규모", "searchValue": "연도별 전통주 산업",
"value": "궁서체", "value": "굴림체",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (국내 반려동물 시장 규모)/① 글씨체 (궁서체)" "item": "제목 문구 (연도별 전통주 산업)/① 글씨체 (굴림체)"
}, },
"51": { "51": {
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz", "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
"searchValue": "국내 반려동물 시장 규모", "searchValue": "연도별 전통주 산업",
"value": "1300", "value": "1300",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (국내 반려동물 시장 규모)/② 크기 (1300)" "item": "제목 문구 (연도별 전통주 산업)/② 크기 (1300)"
}, },
"52": { "52": {
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}", "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
"option": "b", "option": "b",
"searchValue": "국내 반려동물 시장 규모", "searchValue": "연도별 전통주 산업",
"value": "1", "value": "1",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (국내 반려동물 시장 규모)/③ 기울임", "item": "제목 문구 (연도별 전통주 산업)/③ 기울임",
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
}, },
"53": { "53": {
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface", "chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface",
"value": "굴림", "value": "바탕",
"points": 1, "points": 1,
"category": "ChartOneAnswer", "category": "ChartOneAnswer",
"item": "X축/① 글꼴 (굴림)" "item": "X축/① 글꼴 (바탕)"
}, },
"54": { "54": {
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz", "chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
@@ -794,10 +802,10 @@
}, },
"56": { "56": {
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface", "chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface",
"value": "굴림", "value": "바탕",
"points": 1, "points": 1,
"category": "ChartOneAnswer", "category": "ChartOneAnswer",
"item": "Y축/① 글꼴 (굴림)" "item": "Y축/① 글꼴 (바탕)"
}, },
"57": { "57": {
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz", "chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
@@ -817,10 +825,10 @@
}, },
"59": { "59": {
"chart_xpath": "//c:legend//a:ea/@typeface", "chart_xpath": "//c:legend//a:ea/@typeface",
"value": "굴림", "value": "바탕",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "범례/① 글꼴 (굴림)" "item": "범례/① 글꼴 (바탕)"
}, },
"60": { "60": {
"chart_xpath": "//c:legend//a:defRPr/@sz", "chart_xpath": "//c:legend//a:defRPr/@sz",

View File

@@ -46,65 +46,65 @@
"1": { "1": {
"1": { "1": {
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName", "path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
"searchValue": "즐거운컬러푸드영양교실", "searchValue": "제18회인정시북페스티벌",
"value": "궁서체", "value": "견고딕",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (즐거운컬러푸드영양교실)/① 글씨체 (궁서체)" "item": "문구 (제18회인정시북페스티벌)/① 글씨체 (견고딕)"
}, },
"2": { "2": {
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor", "path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
"searchValue": "즐거운컬러푸드영양교실", "searchValue": "제18회인정시북페스티벌",
"value": "51,63,153", "value": "104,37,245",
"points": 2, "points": 2,
"category": "Color", "category": "Color",
"item": "문구 (즐거운컬러푸드영양교실)/② 채우기 : 색상(RGB:51,63,153)" "item": "문구 (제18회인정시북페스티벌)/② 채우기 : 색상(RGB:104,37,245)"
}, },
"3": { "3": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width", "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
"searchValue": "즐거운컬러푸드영양교실", "searchValue": "제18회인정시북페스티벌",
"value": "130", "value": "110",
"tolerance": 1, "tolerance": 1,
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "문구 (즐거운컬러푸드영양교실)/③ 크기-너비 (130 mm)" "item": "문구 (제18회인정시북페스티벌)/③ 크기-너비 (110 mm)"
}, },
"4": { "4": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height", "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
"searchValue": "즐거운컬러푸드영양교실", "searchValue": "제18회인정시북페스티벌",
"value": "20", "value": "20",
"tolerance": 1, "tolerance": 1,
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "문구 (즐거운컬러푸드영양교실)/④ 크기-높이 (20 mm)" "item": "문구 (제18회인정시북페스티벌)/④ 크기-높이 (20 mm)"
}, },
"5": { "5": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar", "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
"searchValue": "즐거운컬러푸드영양교실", "searchValue": "제18회인정시북페스티벌",
"value": "true", "value": "true",
"points": 2, "points": 2,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (즐거운컬러푸드영양교실)/⑤ 위치 (글자처럼 취급)" "item": "문구 (제18회인정시북페스티벌)/⑤ 위치 (글자처럼 취급)"
}, },
"6": { "6": {
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
"searchValue": "즐거운컬러푸드영양교실", "searchValue": "제18회인정시북페스티벌",
"value": "Center", "value": "Center",
"points": 2, "points": 2,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (즐거운컬러푸드영양교실)/⑥ 정렬 (가운데 정렬)" "item": "문구 (제18회인정시북페스티벌)/⑥ 정렬 (가운데 정렬)"
}, },
"7": { "7": {
"path": "//TEXTART[@Text='{searchValue}']", "path": "//TEXTART[@Text='{searchValue}']",
"searchValue": "즐거운컬러푸드영양교실", "searchValue": "제18회인정시북페스티벌",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "Boolean", "category": "Boolean",
"item": "문구 (즐거운컬러푸드영양교실)/⑦ 글맵시모양 (육안확인)" "item": "문구 (제18회인정시북페스티벌)/⑦ 글맵시모양 (육안확인)"
}, },
"8": { "8": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE", "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
"searchValue": "", "searchValue": "",
"value": { "value": {
"Height": 2800, "Height": 2800,
"Width": 2800 "Width": 2800
@@ -116,23 +116,23 @@
}, },
"9": { "9": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "", "searchValue": "",
"value": "맑은 고딕", "value": "굴림",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "어/② 글씨체 (맑은 고딕)" "item": "어/② 글씨체 (굴림)"
}, },
"10": { "10": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor", "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
"searchValue": "", "searchValue": "",
"value": "105,231,82", "value": "234,137,67",
"points": 2, "points": 2,
"category": "Color", "category": "Color",
"item": "어/③ 면색 : 색상(RGB:105,231,82)" "item": "어/③ 면색 : 색상(RGB:234,137,67)"
}, },
"11": { "11": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right", "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
"searchValue": "", "searchValue": "",
"value": "3.0", "value": "3.0",
"tolerance": 1, "tolerance": 1,
"points": 2, "points": 2,
@@ -141,39 +141,39 @@
}, },
"12": { "12": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
"searchValue": "즐거운 컬러푸드 영양교실", "searchValue": "제18회 인정시 북 페스티벌",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (즐거운 컬러푸드 영양교실)/① BOLD" "item": "문구 (제18회 인정시 북 페스티벌)/① BOLD"
}, },
"13": { "13": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
"searchValue": "즐거운 컬러푸드 영양교실", "searchValue": "제18회 인정시 북 페스티벌",
"value": "ITALIC", "value": "ITALIC",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (즐거운 컬러푸드 영양교실)/② ITALIC" "item": "문구 (제18회 인정시 북 페스티벌)/② ITALIC"
}, },
"14": { "14": {
"path": "//CHAR[contains(string(.),'{char1}')]/text()", "path": "//CHAR[contains(string(.),'{char1}')]/text()",
"path2": "//CHAR[contains(string(.),'{char2}')]/text()", "path2": "//CHAR[contains(string(.),'{char2}')]/text()",
"path3": "//CHAR[contains(string(.),'{char3}')]/text()", "path3": "//CHAR[contains(string(.),'{char3}')]/text()",
"char1": "", "char1": "",
"char2": "", "char2": "",
"char3": "※", "char3": "※",
"value": 3, "value": 3,
"points": 3, "points": 3,
"category": "SpecialChar", "category": "SpecialChar",
"item": "① , ② , ③ ※" "item": "① , ② , ③ ※"
}, },
"15": { "15": {
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape", "path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
"searchValue": "행사안내", "searchValue": "행사안내",
"value": "굴림체", "value": "돋움체",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구 ( 행사안내 )/① 글씨체 (굴림체)" "item": "문구 ( 행사안내 )/① 글씨체 (돋움체)"
}, },
"16": { "16": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
@@ -181,86 +181,86 @@
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "Align", "category": "Align",
"item": "문구 ( 행사안내 )/② 정렬 (가운데 정렬)" "item": "문구 ( 행사안내 )/② 정렬 (가운데 정렬)"
}, },
"17": { "17": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "홈페이지(http://www.ihd.or.kr)", "searchValue": "인정시립대학교 야외무대",
"value": "ITALIC", "value": "ITALIC",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (홈페이지(http://www.ihd.or.kr))/① ITALIC" "item": "문구 (인정시립대학교 야외무대)/① ITALIC"
}, },
"18": { "18": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "홈페이지(http://www.ihd.or.kr)", "searchValue": "인정시립대학교 야외무대",
"value": "UNDERLINE", "value": "UNDERLINE",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (홈페이지(http://www.ihd.or.kr))/② UNDERLINE" "item": "문구 (인정시립대학교 야외무대)/② UNDERLINE"
}, },
"19": { "19": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN", "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
"searchValue": "기타사항", "searchValue": "기타사항",
"value": { "value": {
"Left": 18, "Left": 15,
"Indent": 12 "Indent": 12
}, },
"points": 2, "points": 2,
"category": "ParaShape", "category": "ParaShape",
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (18), 내어쓰기 (12)", "item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15), 내어쓰기 (12)",
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력" "desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
}, },
"20": { "20": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
"searchValue": "2025. 10. 16.", "searchValue": "2025. 11. 22.",
"value": "1400", "value": "1400",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (2025. 10. 16.)/① 크기 (1400)", "item": "문구 (2025. 11. 22.)/① 크기 (1400)",
"desc": "1pt당 100" "desc": "1pt당 100"
}, },
"21": { "21": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"searchValue": "2025. 10. 16.", "searchValue": "2025. 11. 22.",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (2025. 10. 16.)/② 정렬 (가운데 정렬)" "item": "문구 (2025. 11. 22.)/② 정렬 (가운데 정렬)"
}, },
"22": { "22": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "용일동보건소", "searchValue": "인정시립대학교 총무팀",
"value": "중고딕", "value": "중고딕",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구 (용일동보건소)/① 글씨체 (중고딕)" "item": "문구 (인정시립대학교 총무팀)/① 글씨체 (중고딕)"
}, },
"23": { "23": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "용일동보건소", "searchValue": "인정시립대학교 총무팀",
"value": "2200", "value": "2400",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (용일동보건소)/② 크기 (2200)" "item": "문구 (인정시립대학교 총무팀)/② 크기 (2400)"
}, },
"24": { "24": {
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
"searchValue": "용일동보건소", "searchValue": "인정시립대학교 총무팀",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (용일동보건소)/③ 정렬 (가운데 정렬)" "item": "문구 (인정시립대학교 총무팀)/③ 정렬 (가운데 정렬)"
}, },
"25": { "25": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "DIAT", "searchValue": "DIAT",
"value": "돋움", "value": "돋움",
"points": 1, "points": 1,
"category": "Header.FontName", "category": "Header.FontName",
"item": "문구 (DIAT)/① 글꼴 (돋움)" "item": "문구 (DIAT)/① 글꼴 (돋움)"
}, },
"26": { "26": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
@@ -280,23 +280,29 @@
}, },
"28": { "28": {
"path": "//PAGENUM/@FormatType", "path": "//PAGENUM/@FormatType",
"value": "LatinCapital", "value": "DecagonCircle",
"points": 2, "points": 2,
"category": "PageNumber", "category": "PageNumber",
"item": "① 쪽 번호 매기기 (가,나,다 순으로)", "item": "① 쪽 번호 매기기 (갑,을,병 순으로)",
"desc1": { "desc1": {
"가,나,다": "HangulSyllable", "가,나,다": "HangulSyllable",
"1,2,3": "Digit", "1,2,3": "Digit",
"일,이,삼": "HangulPhonetic",
"갑,을,병": "DecagonCircle", "갑,을,병": "DecagonCircle",
"A,B,C": "LatinCapital", "A,B,C": "LatinCapital",
"a,b,c": "LatinSmall", "a,b,c": "LatinSmall",
"Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital",
"①,②,③": "CircledDigit", "①,②,③": "CircledDigit",
"一,二,三": "Ideograph", "一,二,三": "Ideograph",
"㉠,㉡,㉢": "CircledHangulJamo", "㉠,㉡,㉢": "CircledHangulJamo",
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall", "ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
"㊀,㊁,㊂": "CircledIdeograph",
"i,ii,iii": "RomanSmall", "i,ii,iii": "RomanSmall",
"I,II,III": "RomanCapital", "I,II,III": "RomanCapital",
"desc": "정답에 맞는 값 value에 입력" "甲,乙,丙": "DecagonCircleHanja",
"+,++,+++": "UserChar",
"*,**,***": "UserChar",
"정답에 맞는 값 value에 입력": ""
}, },
"desc2": "1, 2페이지 모두 정답이어야 점수 부여" "desc2": "1, 2페이지 모두 정답이어야 점수 부여"
}, },
@@ -315,7 +321,7 @@
}, },
"30": { "30": {
"path": "//CHAR[contains(text(),'{searchValue}')]", "path": "//CHAR[contains(text(),'{searchValue}')]",
"searchValue": "http://www.ihd.or.kr", "searchValue": "http",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "hyperlink", "category": "hyperlink",
@@ -325,7 +331,7 @@
"31": { "31": {
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing", "path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
"value": "180", "value": "180",
"first_word": "", "first_word": "",
"points": 2, "points": 2,
"category": "LineSpacing", "category": "LineSpacing",
"item": "문제 1 줄간격 180% 설정", "item": "문제 1 줄간격 180% 설정",
@@ -361,17 +367,17 @@
}, },
"4": { "4": {
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width", "path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
"value": "55", "value": "60",
"points": 2, "points": 2,
"category": "Rectangle.mmSize", "category": "Rectangle.mmSize",
"item": "문구 (다양한 컬러푸드)/① 크기-너비 (55 mm)" "item": "문구 (베스트와 스테디)/① 크기-너비 (60 mm)"
}, },
"5": { "5": {
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height", "path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
"value": "12", "value": "12",
"points": 2, "points": 2,
"category": "Rectangle.mmSize", "category": "Rectangle.mmSize",
"item": "문구 (다양한 컬러푸드)/② 크기-높이 (12 mm)" "item": "문구 (베스트와 스테디)/② 크기-높이 (12 mm)"
}, },
"6": { "6": {
"path": "//RECTANGLE//LINESHAPE", "path": "//RECTANGLE//LINESHAPE",
@@ -381,7 +387,7 @@
}, },
"points": 2, "points": 2,
"category": "Rectangle.LineShape", "category": "Rectangle.LineShape",
"item": "문구 (다양한 컬러푸드)/③ 테두리 : 이중 실선(1.00mm)", "item": "문구 (베스트와 스테디)/③ 테두리 : 이중 실선(1.00mm)",
"desc": "1mm = 283pt value['Width']에 pt값 입력" "desc": "1mm = 283pt value['Width']에 pt값 입력"
}, },
"7": { "7": {
@@ -389,43 +395,43 @@
"value": "20", "value": "20",
"points": 2, "points": 2,
"category": "Rectangle.OneAnswer", "category": "Rectangle.OneAnswer",
"item": "문구 (다양한 컬러푸드)/④ 글상자 모서리 (반원)", "item": "문구 (베스트와 스테디)/④ 글상자 모서리 (반원)",
"desc": "모서리 비율 반원:50 / 둥근모양:20" "desc": "모서리 비율 반원:50 / 둥근모양:20"
}, },
"8": { "8": {
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor", "path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
"value": "194,133,195", "value": "233,106,147",
"points": 2, "points": 2,
"category": "Rectangle.Color", "category": "Rectangle.Color",
"item": "문구 (다양한 컬러푸드)/⑤ 채우기 : 색상(RGB:194,133,195)" "item": "문구 (베스트와 스테디)/⑤ 채우기 : 색상(RGB:233,106,147)"
}, },
"9": { "9": {
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar", "path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
"value": "true", "value": "true",
"points": 1, "points": 1,
"category": "Rectangle.OneAnswer", "category": "Rectangle.OneAnswer",
"item": "문구 (다양한 컬러푸드)/⑥ 글상자 위치 (글자처럼 취급)" "item": "문구 (베스트와 스테디)/⑥ 글상자 위치 (글자처럼 취급)"
}, },
"10": { "10": {
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align", "path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "Rectangle.TextBoxAlign", "category": "Rectangle.TextBoxAlign",
"item": "문구 (다양한 컬러푸드)/⑦ 글상자 정렬 (가운데 정렬)" "item": "문구 (베스트와 스테디)/⑦ 글상자 정렬 (가운데 정렬)"
}, },
"11": { "11": {
"path": ".//RECTANGLE//TEXT/@CharShape", "path": ".//RECTANGLE//TEXT/@CharShape",
"value": "견고딕", "value": "궁서체",
"points": 1, "points": 1,
"category": "Rectangle.FontName", "category": "Rectangle.FontName",
"item": "문구 (다양한 컬러푸드)/⑧ 글씨체 (견고딕)" "item": "문구 (베스트와 스테디)/⑧ 글씨체 (궁서체)"
}, },
"12": { "12": {
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height", "path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
"value": "1600", "value": "1800",
"points": 1, "points": 1,
"category": "Rectangle.FontSize", "category": "Rectangle.FontSize",
"item": "문구 (다양한 컬러푸드)/⑨ 글씨크기 (1600)", "item": "문구 (베스트와 스테디)/⑨ 글씨크기 (1800)",
"desc": "1pt당 100" "desc": "1pt당 100"
}, },
"13": { "13": {
@@ -433,127 +439,128 @@
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "Rectangle.TextBoxAlign", "category": "Rectangle.TextBoxAlign",
"item": "문구 (다양한 컬러푸드)/⑩ 정렬 (가운데 정렬)" "item": "문구 (베스트와 스테디)/⑩ 정렬 (가운데 정렬)"
}, },
"14": { "14": {
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG']", "path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "Boolean", "category": "Boolean",
"item": "① 파일명 \"그림A.jpg\" 삽입", "item": "① 파일명 \"그림C.jpg\" 삽입",
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)" "desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
}, },
"15": { "15": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/SIZE/@Width", "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
"value": "80", "value": "80",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "② 크기-너비 (80 mm)" "item": "② 크기-너비 (80 mm)"
}, },
"16": { "16": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/SIZE/@Height", "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
"value": "40", "value": "40",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "③ 크기-높이 (40 mm)" "item": "③ 크기-높이 (40 mm)"
}, },
"17": { "17": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset", "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset",
"value": "2", "value": "0",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 2mm)" "item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0mm)"
}, },
"18": { "18": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset", "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
"value": "23", "value": "24",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 23 mm)" "item": "⑤ 위치 (어울림 : 세로-쪽의 위 24 mm)"
}, },
"19": { "19": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "1. 컬러푸드란?", "searchValue": "1. 베스트셀러",
"value": "굴림", "value": "굴림",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구① (1. 컬러푸드란?)/① 글씨체 (굴림)" "item": "문구① (1. 베스트셀러)/① 글씨체 (굴림)"
}, },
"20": { "20": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "1. 컬러푸드란?", "searchValue": "1. 베스트셀러",
"value": "1100", "value": "1200",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구① (1. 컬러푸드란?)/② 크기 (1100)" "item": "문구① (1. 베스트셀러)/② 크기 (1200)"
}, },
"21": { "21": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "1. 컬러푸드란?", "searchValue": "1. 베스트셀러",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구① (1. 컬러푸드란?)/③ 진하게" "item": "문구① (1. 베스트셀러)/③ 진하게"
}, },
"22": { "22": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "2. 컬러푸드의 효능", "searchValue": "2. 스테디셀러",
"value": "굴림", "value": "굴림",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구② (2. 컬러푸드의 효능)/① 글씨체 (굴림)" "item": "문구② (2. 스테디셀러)/① 글씨체 (굴림)"
}, },
"23": { "23": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "2. 컬러푸드의 효능", "searchValue": "2. 스테디셀러",
"value": "1100", "value": "1200",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구② (2. 컬러푸드의 효능)/② 크기 (1100)" "item": "문구② (2. 스테디셀러)/② 크기 (1200)"
}, },
"24": { "24": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "2. 컬러푸드의 효능", "searchValue": "2. 스테디셀러",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구② (2. 컬러푸드의 효능)/③ 진하게" "item": "문구② (2. 스테디셀러)/③ 진하게"
}, },
"25": { "25": {
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)", "path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)", "path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
"option": "항산화 작용", "option": "로빈슨 크루소",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "Boolean", "category": "Boolean",
"item": "문구 (항산화 작용)/① 각주 설정 및 문구 입력" "item": "문구 (로빈슨 크루소)/① 각주 설정 및 문구 입력"
}, },
"26": { "26": {
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape", "path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
"searchValue": "산화를 억제하는 작용", "searchValue": "영국의 작가 대니얼 디포의 장편소설",
"value": "굴림", "value": "중고딕",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구 (항산화 작용)/② 글씨체 (굴림)" "item": "문구 (로빈슨 크루소)/② 글씨체 (중고딕)"
}, },
"27": { "27": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
"searchValue": "산화를 억제하는 작용", "searchValue": "영국의 작가 대니얼 디포의 장편소설",
"value": "900", "value": "900",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (항산화 작용)/③ 크기 (9pt)" "item": "문구 (로빈슨 크루소)/③ 크기 (9pt)"
}, },
"28": { "28": {
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type", "path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
"searchValue": "산화를 억제하는 작용", "searchValue": "영국의 작가 대니얼 디포의 장편소설",
"value": "UserChar", "value": "CircledIdeograph",
"points": 2, "points": 2,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (전당)/④ 각주 번호모양", "item": "문구 (전당)/④ 각주 번호모양",
"desc": { "desc": {
"가,나,다": "HangulSyllable", "가,나,다": "HangulSyllable",
"1,2,3": "Digit", "1,2,3": "Digit",
"일,이,삼": "HangulPhonetic",
"갑,을,병": "DecagonCircle", "갑,을,병": "DecagonCircle",
"A,B,C": "LatinCapital", "A,B,C": "LatinCapital",
"a,b,c": "LatinSmall", "a,b,c": "LatinSmall",
@@ -562,6 +569,7 @@
"一,二,三": "Ideograph", "一,二,三": "Ideograph",
"㉠,㉡,㉢": "CircledHangulJamo", "㉠,㉡,㉢": "CircledHangulJamo",
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall", "ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
"㊀,㊁,㊂": "CircledIdeograph",
"i,ii,iii": "RomanSmall", "i,ii,iii": "RomanSmall",
"I,II,III": "RomanCapital", "I,II,III": "RomanCapital",
"甲,乙,丙": "DecagonCircleHanja", "甲,乙,丙": "DecagonCircleHanja",
@@ -571,81 +579,81 @@
} }
}, },
"29": { "29": {
"path": "boolean(//CHAR[contains(text(),'Phytochemical')])", "path": "boolean(//CHAR[contains(text(),'Bookman')])",
"ignoreWord": "Phytochemical", "ignoreWord": "Bookman",
"value": true, "value": true,
"points": 3, "points": 3,
"category": "Boolean", "category": "Boolean",
"item": "Phytochemical/영단어 미입력, 대소문자/오타 시 전체 감점", "item": "Bookman/영단어 미입력, 대소문자/오타 시 전체 감점",
"desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요" "desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요"
}, },
"30": { "30": {
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]", "path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
"word": [ "word": [
["미생물", "微生物"], ["시초", "始初"],
["해충", "害蟲"], ["유래", "由來"],
["재생", "再生"], ["양립", "兩立"],
["노화", "老化"], ["수요", "需要"],
["성분", "成分"] ["독자", "讀者"]
], ],
"value": 10, "value": 10,
"points": 10, "points": 10,
"category": "Hanja", "category": "Hanja",
"item": "① 미생물(微生物), ② 해충(害蟲), ③ 재생(再生), ④ 노화(老化), ⑤ 성분(成分)" "item": "① 시초(始初), ② 유래(由來), ③ 양립(兩立), ④ 수요(需要), ⑤ 독자(讀者)"
}, },
"31": { "31": {
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'신의몸을')])", "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'품의양립')])",
"value": true, "value": true,
"points": 3, "points": 3,
"category": "Boolean", "category": "Boolean",
"item": "문구 (…해충 등으로부터 자신과 몸을 보호하는…)>'과''의' 글자바꿈" "item": "문구 (…작품은 양립(兩立)이…)>' → 의' 글자바꿈"
}, },
"32": { "32": {
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'관을튼튼')])", "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'러와훌륭')])",
"value": true, "value": true,
"points": 3, "points": 3,
"category": "Boolean", "category": "Boolean",
"item": "문구 (…튼튼하게 혈관을 하고…)>'튼튼하게' / '혈관을' 순서바꿈" "item": "문구 (…훌륭한 베스트셀러와 작품의 양립…)>'훌륭한 / 베스트셀러와' 순서바꿈"
}, },
"33": { "33": {
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape", "path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
"searchValue": "과일야채 섭취량 비교(단위 : g)", "searchValue": "연평균 성인 독서량 추이(단위 : )",
"value": "굴림체", "value": "맑은 고딕",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "제목 문구 (과일야채 섭취량 비교(단위 : g))/① 글씨체 (굴림체)" "item": "제목 문구 (연평균 성인 독서량 추이(단위 : ))/① 글씨체 (맑은 고딕)"
}, },
"34": { "34": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "과일야채 섭취량 비교(단위 : g)", "searchValue": "연평균 성인 독서량 추이(단위 : )",
"value": "1100", "value": "1200",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (과일야채 섭취량 비교(단위 : g))/② 크기 (1100)" "item": "제목 문구 (연평균 성인 독서량 추이(단위 : ))/② 크기 (1200)"
}, },
"35": { "35": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "과일야채 섭취량 비교(단위 : g)", "searchValue": "연평균 성인 독서량 추이(단위 : )",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "제목 문구 (과일야채 섭취량 비교(단위 : g))/③ 진하게" "item": "제목 문구 (연평균 성인 독서량 추이(단위 : ))/③ 진하게"
}, },
"36": { "36": {
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
"searchValue": "과일야채 섭취량 비교(단위 : g)", "searchValue": "연평균 성인 독서량 추이(단위 : )",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (과일야채 섭취량 비교(단위 : g))/④ 정렬 (가운데 정렬)" "item": "제목 문구 (연평균 성인 독서량 추이(단위 : ))/④ 정렬 (가운데 정렬)"
}, },
"37": { "37": {
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor", "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", "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
"value": "253,164,95", "value": "37,233,245",
"points": 2, "points": 2,
"category": "Color", "category": "Color",
"item": "위쪽 제목 셀/① 색상(RGB:253,164,95)" "item": "위쪽 제목 셀/① 색상(RGB:37,233,245)"
}, },
"38": { "38": {
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]", "path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
@@ -674,11 +682,11 @@
"41": { "41": {
"path": "//TABLE//TEXT/@CharShape", "path": "//TABLE//TEXT/@CharShape",
"path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name", "path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"value": "궁서", "value": "돋움체",
"points": 1, "points": 1,
"category": "TableFontName", "category": "TableFontName",
"category_tmp": "FontName", "category_tmp": "FontName",
"item": "글자모양/① 글씨체 (궁서)", "item": "글자모양/① 글씨체 (돋움체)",
"desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경" "desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경"
}, },
"42": { "42": {
@@ -745,36 +753,36 @@
}, },
"50": { "50": {
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface", "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
"searchValue": "과일야채 섭취량 비교", "searchValue": "연평균 성인 독서량 추이",
"value": "돋움체", "value": "궁서",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (과일야채 섭취량 비교)/① 글씨체 (돋움체)" "item": "제목 문구 (연평균 성인 독서량 추이)/① 글씨체 (궁서)"
}, },
"51": { "51": {
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz", "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
"searchValue": "과일야채 섭취량 비교", "searchValue": "연평균 성인 독서량 추이",
"value": "1400", "value": "1400",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (과일야채 섭취량 비교)/② 크기 (1400)" "item": "제목 문구 (연평균 성인 독서량 추이)/② 크기 (1400)"
}, },
"52": { "52": {
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}", "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
"option": "b", "option": "b",
"searchValue": "과일야채 섭취량 비교", "searchValue": "연평균 성인 독서량 추이",
"value": "1", "value": "1",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (과일야채 섭취량 비교)/③ 기울임", "item": "제목 문구 (연평균 성인 독서량 추이)/③ 기울임",
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
}, },
"53": { "53": {
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface", "chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface",
"value": "돋움", "value": "바탕체",
"points": 1, "points": 1,
"category": "ChartOneAnswer", "category": "ChartOneAnswer",
"item": "X축/① 글꼴 (돋움)" "item": "X축/① 글꼴 (바탕체)"
}, },
"54": { "54": {
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz", "chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
@@ -794,10 +802,10 @@
}, },
"56": { "56": {
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface", "chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface",
"value": "돋움", "value": "바탕체",
"points": 1, "points": 1,
"category": "ChartOneAnswer", "category": "ChartOneAnswer",
"item": "Y축/① 글꼴 (돋움)" "item": "Y축/① 글꼴 (바탕체)"
}, },
"57": { "57": {
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz", "chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
@@ -817,10 +825,10 @@
}, },
"59": { "59": {
"chart_xpath": "//c:legend//a:ea/@typeface", "chart_xpath": "//c:legend//a:ea/@typeface",
"value": "돋움", "value": "바탕체",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "범례/① 글꼴 (돋움)" "item": "범례/① 글꼴 (바탕체)"
}, },
"60": { "60": {
"chart_xpath": "//c:legend//a:defRPr/@sz", "chart_xpath": "//c:legend//a:defRPr/@sz",

View File

@@ -46,65 +46,65 @@
"1": { "1": {
"1": { "1": {
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName", "path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
"searchValue": "한방바이오박람회", "searchValue": "전통된장만들기체험교실",
"value": "굴림체", "value": "맑은 고딕",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (한방바이오박람회)/① 글씨체 (굴림체)" "item": "문구 (전통된장만들기체험교실)/① 글씨체 (맑은 고딕)"
}, },
"2": { "2": {
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor", "path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
"searchValue": "한방바이오박람회", "searchValue": "전통된장만들기체험교실",
"value": "252,67,144", "value": "153,51,102",
"points": 2, "points": 2,
"category": "Color", "category": "Color",
"item": "문구 (한방바이오박람회)/② 채우기 : 색상(RGB:252,67,144)" "item": "문구 (전통된장만들기체험교실)/② 채우기 : 색상(RGB:153,51,102)"
}, },
"3": { "3": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width", "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
"searchValue": "한방바이오박람회", "searchValue": "전통된장만들기체험교실",
"value": "120", "value": "120",
"tolerance": 1, "tolerance": 1,
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "문구 (한방바이오박람회)/③ 크기-너비 (120 mm)" "item": "문구 (전통된장만들기체험교실)/③ 크기-너비 (120 mm)"
}, },
"4": { "4": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height", "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
"searchValue": "한방바이오박람회", "searchValue": "전통된장만들기체험교실",
"value": "20", "value": "20",
"tolerance": 1, "tolerance": 1,
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "문구 (한방바이오박람회)/④ 크기-높이 (20 mm)" "item": "문구 (전통된장만들기체험교실)/④ 크기-높이 (20 mm)"
}, },
"5": { "5": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar", "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
"searchValue": "한방바이오박람회", "searchValue": "전통된장만들기체험교실",
"value": "true", "value": "true",
"points": 2, "points": 2,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (한방바이오박람회)/⑤ 위치 (글자처럼 취급)" "item": "문구 (전통된장만들기체험교실)/⑤ 위치 (글자처럼 취급)"
}, },
"6": { "6": {
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
"searchValue": "한방바이오박람회", "searchValue": "전통된장만들기체험교실",
"value": "Center", "value": "Center",
"points": 2, "points": 2,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (한방바이오박람회)/⑥ 정렬 (가운데 정렬)" "item": "문구 (전통된장만들기체험교실)/⑥ 정렬 (가운데 정렬)"
}, },
"7": { "7": {
"path": "//TEXTART[@Text='{searchValue}']", "path": "//TEXTART[@Text='{searchValue}']",
"searchValue": "한방바이오박람회", "searchValue": "전통된장만들기체험교실",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "Boolean", "category": "Boolean",
"item": "문구 (한방바이오박람회)/⑦ 글맵시모양 (육안확인)" "item": "문구 (전통된장만들기체험교실)/⑦ 글맵시모양 (육안확인)"
}, },
"8": { "8": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE", "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
"searchValue": "", "searchValue": "",
"value": { "value": {
"Height": 2800, "Height": 2800,
"Width": 2800 "Width": 2800
@@ -116,23 +116,23 @@
}, },
"9": { "9": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "", "searchValue": "",
"value": "궁서", "value": "돋움체",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "어/② 글씨체 (궁서)" "item": "어/② 글씨체 (돋움체)"
}, },
"10": { "10": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor", "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
"searchValue": "", "searchValue": "",
"value": "115,139,236", "value": "83,246,225",
"points": 2, "points": 2,
"category": "Color", "category": "Color",
"item": "어/③ 면색 : 색상(RGB:115,139,236)" "item": "어/③ 면색 : 색상(RGB:83,246,225)"
}, },
"11": { "11": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right", "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
"searchValue": "", "searchValue": "",
"value": "3.0", "value": "3.0",
"tolerance": 1, "tolerance": 1,
"points": 2, "points": 2,
@@ -141,126 +141,126 @@
}, },
"12": { "12": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
"searchValue": "한방바이오 박람회", "searchValue": "전통된장 만들기 체험교실",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (한방바이오 박람회)/① BOLD" "item": "문구 (전통된장 만들기 체험교실)/① BOLD"
}, },
"13": { "13": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
"searchValue": "한방바이오 박람회", "searchValue": "전통된장 만들기 체험교실",
"value": "ITALIC", "value": "ITALIC",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (한방바이오 박람회)/② ITALIC" "item": "문구 (전통된장 만들기 체험교실)/② ITALIC"
}, },
"14": { "14": {
"path": "//CHAR[contains(string(.),'{char1}')]/text()", "path": "//CHAR[contains(string(.),'{char1}')]/text()",
"path2": "//CHAR[contains(string(.),'{char2}')]/text()", "path2": "//CHAR[contains(string(.),'{char2}')]/text()",
"path3": "//CHAR[contains(string(.),'{char3}')]/text()", "path3": "//CHAR[contains(string(.),'{char3}')]/text()",
"char1": "", "char1": "",
"char2": "", "char2": "",
"char3": "※", "char3": "※",
"value": 3, "value": 3,
"points": 3, "points": 3,
"category": "SpecialChar", "category": "SpecialChar",
"item": "① , ② , ③ ※" "item": "① , ② , ③ ※"
}, },
"15": { "15": {
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape", "path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
"searchValue": "행사안내", "searchValue": "체험안내",
"value": "바탕체", "value": "굴림체",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구 (♠ 행사안내 )/① 글씨체 (바탕체)" "item": "문구 (★ 체험안내 )/① 글씨체 (굴림체)"
}, },
"16": { "16": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
"match_str": "행사안내", "match_str": "체험안내",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "Align", "category": "Align",
"item": "문구 (♠ 행사안내 )/② 정렬 (가운데 정렬)" "item": "문구 (★ 체험안내 )/② 정렬 (가운데 정렬)"
}, },
"17": { "17": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "제천시청 홈페이지(http://www.ihd.or.kr)", "searchValue": "초등학생 자녀를 둔 학부모 30명(자녀 2인까지 동반 가능",
"value": "ITALIC", "value": "ITALIC",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (제천시청 홈페이지(http://www.ihd.or.kr))/① ITALIC" "item": "문구 (초등학생 자녀를 둔 학부모 30명(자녀 2인까지 동반 가능)/① ITALIC"
}, },
"18": { "18": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "제천시청 홈페이지(http://www.ihd.or.kr)", "searchValue": "초등학생 자녀를 둔 학부모 30명(자녀 2인까지 동반 가능",
"value": "UNDERLINE", "value": "UNDERLINE",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (제천시청 홈페이지(http://www.ihd.or.kr))/② UNDERLINE" "item": "문구 (초등학생 자녀를 둔 학부모 30명(자녀 2인까지 동반 가능)/② UNDERLINE"
}, },
"19": { "19": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN", "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
"searchValue": "기타사항", "searchValue": "기타사항",
"value": { "value": {
"Left": 12, "Left": 15,
"Indent": 10 "Indent": 12
}, },
"points": 2, "points": 2,
"category": "ParaShape", "category": "ParaShape",
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (12), 내어쓰기 (10)", "item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15), 내어쓰기 (12)",
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력" "desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
}, },
"20": { "20": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
"searchValue": "2025. 09. 27.", "searchValue": "2025. 11. 22.",
"value": "1400", "value": "1400",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (2025. 09. 27.)/① 크기 (1400)", "item": "문구 (2025. 11. 22.)/① 크기 (1400)",
"desc": "1pt당 100" "desc": "1pt당 100"
}, },
"21": { "21": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"searchValue": "2025. 09. 27.", "searchValue": "2025. 11. 22.",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (2025. 09. 27.)/② 정렬 (가운데 정렬)" "item": "문구 (2025. 11. 22.)/② 정렬 (가운데 정렬)"
}, },
"22": { "22": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "한방발전추진협회", "searchValue": "전통음식관광협회",
"value": "견고딕", "value": "견고딕",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구 (한방발전추진협회)/① 글씨체 (견고딕)" "item": "문구 (전통음식관광협회)/① 글씨체 (견고딕)"
}, },
"23": { "23": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "한방발전추진협회", "searchValue": "전통음식관광협회",
"value": "2600", "value": "2400",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (한방발전추진협회)/② 크기 (2600)" "item": "문구 (전통음식관광협회)/② 크기 (2400)"
}, },
"24": { "24": {
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
"searchValue": "한방발전추진협회", "searchValue": "전통음식관광협회",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (한방발전추진협회)/③ 정렬 (가운데 정렬)" "item": "문구 (전통음식관광협회)/③ 정렬 (가운데 정렬)"
}, },
"25": { "25": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "DIAT", "searchValue": "DIAT",
"value": "돋움", "value": "중고딕",
"points": 1, "points": 1,
"category": "Header.FontName", "category": "Header.FontName",
"item": "문구 (DIAT)/① 글꼴 (돋움)" "item": "문구 (DIAT)/① 글꼴 (중고딕)"
}, },
"26": { "26": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
@@ -280,23 +280,29 @@
}, },
"28": { "28": {
"path": "//PAGENUM/@FormatType", "path": "//PAGENUM/@FormatType",
"value": "RomanCapital", "value": "LatinCapital",
"points": 2, "points": 2,
"category": "PageNumber", "category": "PageNumber",
"item": "① 쪽 번호 매기기 (가,나,다 순으로)", "item": "① 쪽 번호 매기기 (가,나,다 순으로)",
"desc1": { "desc1": {
"가,나,다": "HangulSyllable", "가,나,다": "HangulSyllable",
"1,2,3": "Digit", "1,2,3": "Digit",
"일,이,삼": "HangulPhonetic",
"갑,을,병": "DecagonCircle", "갑,을,병": "DecagonCircle",
"A,B,C": "LatinCapital", "A,B,C": "LatinCapital",
"a,b,c": "LatinSmall", "a,b,c": "LatinSmall",
"Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital",
"①,②,③": "CircledDigit", "①,②,③": "CircledDigit",
"一,二,三": "Ideograph", "一,二,三": "Ideograph",
"㉠,㉡,㉢": "CircledHangulJamo", "㉠,㉡,㉢": "CircledHangulJamo",
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall", "ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
"㊀,㊁,㊂": "CircledIdeograph",
"i,ii,iii": "RomanSmall", "i,ii,iii": "RomanSmall",
"I,II,III": "RomanCapital", "I,II,III": "RomanCapital",
"desc": "정답에 맞는 값 value에 입력" "甲,乙,丙": "DecagonCircleHanja",
"+,++,+++": "UserChar",
"*,**,***": "UserChar",
"정답에 맞는 값 value에 입력": ""
}, },
"desc2": "1, 2페이지 모두 정답이어야 점수 부여" "desc2": "1, 2페이지 모두 정답이어야 점수 부여"
}, },
@@ -315,7 +321,7 @@
}, },
"30": { "30": {
"path": "//CHAR[contains(text(),'{searchValue}')]", "path": "//CHAR[contains(text(),'{searchValue}')]",
"searchValue": "http://www.ihd.or.kr", "searchValue": "http",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "hyperlink", "category": "hyperlink",
@@ -324,11 +330,11 @@
}, },
"31": { "31": {
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing", "path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
"value": "190", "value": "180",
"first_word": "", "first_word": "",
"points": 2, "points": 2,
"category": "LineSpacing", "category": "LineSpacing",
"item": "문제 1 줄간격 190% 설정", "item": "문제 1 줄간격 180% 설정",
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다." "desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
} }
}, },
@@ -361,17 +367,17 @@
}, },
"4": { "4": {
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width", "path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
"value": "65", "value": "60",
"points": 2, "points": 2,
"category": "Rectangle.mmSize", "category": "Rectangle.mmSize",
"item": "문구 (한약의 정의와 효과)/① 크기-너비 (65 mm)" "item": "문구 (된장의 역사와 종류)/① 크기-너비 (60 mm)"
}, },
"5": { "5": {
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height", "path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
"value": "12", "value": "12",
"points": 2, "points": 2,
"category": "Rectangle.mmSize", "category": "Rectangle.mmSize",
"item": "문구 (한약의 정의와 효과)/② 크기-높이 (12 mm)" "item": "문구 (된장의 역사와 종류)/② 크기-높이 (12 mm)"
}, },
"6": { "6": {
"path": "//RECTANGLE//LINESHAPE", "path": "//RECTANGLE//LINESHAPE",
@@ -381,7 +387,7 @@
}, },
"points": 2, "points": 2,
"category": "Rectangle.LineShape", "category": "Rectangle.LineShape",
"item": "문구 (한약의 정의와 효과)/③ 테두리 : 이중 실선(1.00mm)", "item": "문구 (된장의 역사와 종류)/③ 테두리 : 이중 실선(1.00mm)",
"desc": "1mm = 283pt value['Width']에 pt값 입력" "desc": "1mm = 283pt value['Width']에 pt값 입력"
}, },
"7": { "7": {
@@ -389,43 +395,43 @@
"value": "50", "value": "50",
"points": 2, "points": 2,
"category": "Rectangle.OneAnswer", "category": "Rectangle.OneAnswer",
"item": "문구 (한약의 정의와 효과)/④ 글상자 모서리 (반원)", "item": "문구 (된장의 역사와 종류)/④ 글상자 모서리 (반원)",
"desc": "모서리 비율 반원:50 / 둥근모양:20" "desc": "모서리 비율 반원:50 / 둥근모양:20"
}, },
"8": { "8": {
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor", "path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
"value": "62,187,204", "value": "247,227,169",
"points": 2, "points": 2,
"category": "Rectangle.Color", "category": "Rectangle.Color",
"item": "문구 (한약의 정의와 효과)/⑤ 채우기 : 색상(RGB:62,187,204)" "item": "문구 (된장의 역사와 종류)/⑤ 채우기 : 색상(RGB:247,227,169)"
}, },
"9": { "9": {
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar", "path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
"value": "true", "value": "true",
"points": 1, "points": 1,
"category": "Rectangle.OneAnswer", "category": "Rectangle.OneAnswer",
"item": "문구 (한약의 정의와 효과)/⑥ 글상자 위치 (글자처럼 취급)" "item": "문구 (된장의 역사와 종류)/⑥ 글상자 위치 (글자처럼 취급)"
}, },
"10": { "10": {
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align", "path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "Rectangle.TextBoxAlign", "category": "Rectangle.TextBoxAlign",
"item": "문구 (한약의 정의와 효과)/⑦ 글상자 정렬 (가운데 정렬)" "item": "문구 (된장의 역사와 종류)/⑦ 글상자 정렬 (가운데 정렬)"
}, },
"11": { "11": {
"path": ".//RECTANGLE//TEXT/@CharShape", "path": ".//RECTANGLE//TEXT/@CharShape",
"value": "맑은 고딕", "value": "궁서체",
"points": 1, "points": 1,
"category": "Rectangle.FontName", "category": "Rectangle.FontName",
"item": "문구 (한약의 정의와 효과)/⑧ 글씨체 (맑은 고딕)" "item": "문구 (된장의 역사와 종류)/⑧ 글씨체 (궁서체)"
}, },
"12": { "12": {
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height", "path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
"value": "1700", "value": "1700",
"points": 1, "points": 1,
"category": "Rectangle.FontSize", "category": "Rectangle.FontSize",
"item": "문구 (한약의 정의와 효과)/⑨ 글씨크기 (1700)", "item": "문구 (된장의 역사와 종류)/⑨ 글씨크기 (1700)",
"desc": "1pt당 100" "desc": "1pt당 100"
}, },
"13": { "13": {
@@ -433,39 +439,39 @@
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "Rectangle.TextBoxAlign", "category": "Rectangle.TextBoxAlign",
"item": "문구 (한약의 정의와 효과)/⑩ 정렬 (가운데 정렬)" "item": "문구 (된장의 역사와 종류)/⑩ 정렬 (가운데 정렬)"
}, },
"14": { "14": {
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG']", "path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "Boolean", "category": "Boolean",
"item": "① 파일명 \"그림A.jpg\" 삽입", "item": "① 파일명 \"그림D.jpg\" 삽입",
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)" "desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
}, },
"15": { "15": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/SIZE/@Width", "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
"value": "80", "value": "80",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "② 크기-너비 (80 mm)" "item": "② 크기-너비 (80 mm)"
}, },
"16": { "16": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/SIZE/@Height", "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
"value": "40", "value": "40",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "③ 크기-높이 (40 mm)" "item": "③ 크기-높이 (40 mm)"
}, },
"17": { "17": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset", "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", "value": "0",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0.0mm)" "item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0mm)"
}, },
"18": { "18": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset", "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
"value": "23", "value": "23",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
@@ -473,87 +479,88 @@
}, },
"19": { "19": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "1. 한약이란?", "searchValue": "1. 된장의 역사",
"value": "굴림", "value": "굴림",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구① (1. 한약이란?)/① 글씨체 (굴림)" "item": "문구① (1. 된장의 역사)/① 글씨체 (굴림)"
}, },
"20": { "20": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "1. 한약이란?", "searchValue": "1. 된장의 역사",
"value": "1200", "value": "1200",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구① (1. 한약이란?)/② 크기 (1200)" "item": "문구① (1. 된장의 역사)/② 크기 (1200)"
}, },
"21": { "21": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "1. 한약이란?", "searchValue": "1. 된장의 역사",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구① (1. 한약이란?)/③ 진하게" "item": "문구① (1. 된장의 역사)/③ 진하게"
}, },
"22": { "22": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "2. 한약의 효과", "searchValue": "2. 된장의 종류",
"value": "굴림", "value": "굴림",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구② (2. 한약의 효과)/① 글씨체 (굴림)" "item": "문구② (2. 된장의 종류)/① 글씨체 (굴림)"
}, },
"23": { "23": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "2. 한약의 효과", "searchValue": "2. 된장의 종류",
"value": "1200", "value": "1200",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구② (2. 한약의 효과)/② 크기 (1200)" "item": "문구② (2. 된장의 종류)/② 크기 (1200)"
}, },
"24": { "24": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "2. 한약의 효과", "searchValue": "2. 된장의 종류",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구② (2. 한약의 효과)/③ 진하게" "item": "문구② (2. 된장의 종류)/③ 진하게"
}, },
"25": { "25": {
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)", "path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)", "path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
"option": "미신", "option": "절구",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "Boolean", "category": "Boolean",
"item": "문구 (미신)/① 각주 설정 및 문구 입력" "item": "문구 (절구)/① 각주 설정 및 문구 입력"
}, },
"26": { "26": {
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape", "path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
"searchValue": "비과학적이고 종교적으로 망령되다고 판단되는 신앙", "searchValue": "곡식을 빻거나 찧으며 떡을 치기도 하는 기구",
"value": "돋움", "value": "돋움",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구 (미신)/② 글씨체 (돋움)" "item": "문구 (절구)/② 글씨체 (돋움)"
}, },
"27": { "27": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
"searchValue": "비과학적이고 종교적으로 망령되다고 판단되는 신앙", "searchValue": "곡식을 빻거나 찧으며 떡을 치기도 하는 기구",
"value": "900", "value": "900",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (미신)/③ 크기 (9pt)" "item": "문구 (절구)/③ 크기 (9pt)"
}, },
"28": { "28": {
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type", "path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
"searchValue": "비과학적이고 종교적으로 망령되다고 판단되는 신앙", "searchValue": "곡식을 빻거나 찧으며 떡을 치기도 하는 기구",
"value": "UserChar", "value": "CircledDigit",
"points": 2, "points": 2,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (전당)/④ 각주 번호모양", "item": "문구 (전당)/④ 각주 번호모양",
"desc": { "desc": {
"가,나,다": "HangulSyllable", "가,나,다": "HangulSyllable",
"1,2,3": "Digit", "1,2,3": "Digit",
"일,이,삼": "HangulPhonetic",
"갑,을,병": "DecagonCircle", "갑,을,병": "DecagonCircle",
"A,B,C": "LatinCapital", "A,B,C": "LatinCapital",
"a,b,c": "LatinSmall", "a,b,c": "LatinSmall",
@@ -562,89 +569,91 @@
"一,二,三": "Ideograph", "一,二,三": "Ideograph",
"㉠,㉡,㉢": "CircledHangulJamo", "㉠,㉡,㉢": "CircledHangulJamo",
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall", "ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
"㊀,㊁,㊂": "CircledIdeograph",
"i,ii,iii": "RomanSmall", "i,ii,iii": "RomanSmall",
"I,II,III": "RomanCapital", "I,II,III": "RomanCapital",
"甲,乙,丙": "DecagonCircleHanja", "甲,乙,丙": "DecagonCircleHanja",
"+,++,+++": "UserChar", "+,++,+++": "UserChar",
"*,**,***": "UserChar",
"정답에 맞는 값 value에 입력": "" "정답에 맞는 값 value에 입력": ""
} }
}, },
"29": { "29": {
"path": "boolean(//CHAR[contains(text(),'Organism')])", "path": "boolean(//CHAR[contains(text(),'Fermentation')])",
"ignoreWord": "Organism", "ignoreWord": "Fermentation",
"value": true, "value": true,
"points": 3, "points": 3,
"category": "Boolean", "category": "Boolean",
"item": "Organism/영단어 미입력, 대소문자/오타 시 전체 감점", "item": "Fermentation/영단어 미입력, 대소문자/오타 시 전체 감점",
"desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요" "desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요"
}, },
"30": { "30": {
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]", "path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
"word": [ "word": [
["한약", "韓藥"], ["기록", "記錄"],
["배합", "配合"], ["추정", "推定"],
["채취", "採取"], ["속성", "速成"],
["보약", "補藥"], ["단점", "短點"],
["치료", "治療"] ["숙성", "熟成"]
], ],
"value": 10, "value": 10,
"points": 10, "points": 10,
"category": "Hanja", "category": "Hanja",
"item": "① 한약(韓藥), ② 배합(配合), ③ 채취(採取), ④ 보약(補藥), ⑤ 치료(治療)" "item": "① 기록(記錄), ② 추정(推定), ③ 속성(速成), ④ 단점(短點), ⑤ 숙성(熟成)"
}, },
"31": { "31": {
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'병을퇴치')])", "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'장의제조')])",
"value": true, "value": true,
"points": 3, "points": 3,
"category": "Boolean", "category": "Boolean",
"item": "문구 (…사람의 질병은 퇴치할 수 있다고…)>'' 글자바꿈" "item": "문구 (…된장에 제조를…)>'' 글자바꿈"
}, },
"32": { "32": {
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'부터한약')])", "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'크게다르')])",
"value": true, "value": true,
"points": 3, "points": 3,
"category": "Boolean", "category": "Boolean",
"item": "문구 (…우리 민족은 한약만으로 예로부터 병을 치료해왔고…)>'한약만으로 / 예로부터' 순서바꿈" "item": "문구 (…메주와 다르며 크게…)>'다르며 / 크게' 순서바꿈"
}, },
"33": { "33": {
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape", "path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
"searchValue": "한약에 쓰이는 약초 재배량(단위 : )", "searchValue": "전통된장 총매출(단위 : 억원)",
"value": "바탕체", "value": "바탕체",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "제목 문구 (한약에 쓰이는 약초 재배량(단위 : ))/① 글씨체 (바탕체)" "item": "제목 문구 (전통된장 총매출(단위 : 억원))/① 글씨체 (바탕체)"
}, },
"34": { "34": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "한약에 쓰이는 약초 재배량(단위 : )", "searchValue": "전통된장 총매출(단위 : 억원)",
"value": "1100", "value": "1100",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (한약에 쓰이는 약초 재배량(단위 : ))/② 크기 (1100)" "item": "제목 문구 (전통된장 총매출(단위 : 억원))/② 크기 (1100)"
}, },
"35": { "35": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "한약에 쓰이는 약초 재배량(단위 : )", "searchValue": "전통된장 총매출(단위 : 억원)",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "제목 문구 (한약에 쓰이는 약초 재배량(단위 : ))/③ 진하게" "item": "제목 문구 (전통된장 총매출(단위 : 억원))/③ 진하게"
}, },
"36": { "36": {
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
"searchValue": "한약에 쓰이는 약초 재배량(단위 : )", "searchValue": "전통된장 총매출(단위 : 억원)",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (한약에 쓰이는 약초 재배량(단위 : ))/④ 정렬 (가운데 정렬)" "item": "제목 문구 (전통된장 총매출(단위 : 억원))/④ 정렬 (가운데 정렬)"
}, },
"37": { "37": {
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor", "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", "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
"value": "157,229,141", "value": "212,131,154",
"points": 2, "points": 2,
"category": "Color", "category": "Color",
"item": "위쪽 제목 셀/① 색상(RGB:157,229,141)" "item": "위쪽 제목 셀/① 색상(RGB:212,131,154)"
}, },
"38": { "38": {
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]", "path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
@@ -673,11 +682,11 @@
"41": { "41": {
"path": "//TABLE//TEXT/@CharShape", "path": "//TABLE//TEXT/@CharShape",
"path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name", "path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"value": "중고딕", "value": "돋움체",
"points": 1, "points": 1,
"category": "TableFontName", "category": "TableFontName",
"category_tmp": "FontName", "category_tmp": "FontName",
"item": "글자모양/① 글씨체 (중고딕)", "item": "글자모양/① 글씨체 (돋움체)",
"desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경" "desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경"
}, },
"42": { "42": {
@@ -705,11 +714,11 @@
}, },
"45": { "45": {
"chart_xpath": "", "chart_xpath": "",
"chart_type": "누적 세로 막대형", "chart_type": "묶은 가로 막대형",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "ChartType", "category": "ChartType",
"item": "① 종류 (누적 세로 막대형)", "item": "① 종류 (묶은 가로 막대형)",
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)" "desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
}, },
"46": { "46": {
@@ -744,36 +753,36 @@
}, },
"50": { "50": {
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface", "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
"searchValue": "한약에 쓰이는 약초 재배량", "searchValue": "전통된장 총매출",
"value": "궁서", "value": "궁서",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (한약에 쓰이는 약초 재배량)/① 글씨체 (궁서)" "item": "제목 문구 (전통된장 총매출)/① 글씨체 (궁서)"
}, },
"51": { "51": {
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz", "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
"searchValue": "한약에 쓰이는 약초 재배량", "searchValue": "전통된장 총매출",
"value": "1300", "value": "1300",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (한약에 쓰이는 약초 재배량)/② 크기 (1300)" "item": "제목 문구 (전통된장 총매출)/② 크기 (1300)"
}, },
"52": { "52": {
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}", "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
"option": "b", "option": "b",
"searchValue": "한약에 쓰이는 약초 재배량", "searchValue": "전통된장 총매출",
"value": "1", "value": "1",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (한약에 쓰이는 약초 재배량)/③ 기울임", "item": "제목 문구 (전통된장 총매출)/③ 기울임",
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
}, },
"53": { "53": {
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface", "chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface",
"value": "굴림체", "value": "바탕",
"points": 1, "points": 1,
"category": "ChartOneAnswer", "category": "ChartOneAnswer",
"item": "X축/① 글꼴 (굴림체)" "item": "X축/① 글꼴 (바탕)"
}, },
"54": { "54": {
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz", "chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
@@ -793,10 +802,10 @@
}, },
"56": { "56": {
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface", "chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface",
"value": "굴림체", "value": "바탕",
"points": 1, "points": 1,
"category": "ChartOneAnswer", "category": "ChartOneAnswer",
"item": "Y축/① 글꼴 (굴림체)" "item": "Y축/① 글꼴 (바탕)"
}, },
"57": { "57": {
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz", "chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
@@ -816,10 +825,10 @@
}, },
"59": { "59": {
"chart_xpath": "//c:legend//a:ea/@typeface", "chart_xpath": "//c:legend//a:ea/@typeface",
"value": "굴림체", "value": "바탕",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "범례/① 글꼴 (굴림체)" "item": "범례/① 글꼴 (바탕)"
}, },
"60": { "60": {
"chart_xpath": "//c:legend//a:defRPr/@sz", "chart_xpath": "//c:legend//a:defRPr/@sz",

View File

@@ -1468,19 +1468,19 @@ class XMLScorer:
def main(): def main():
# 시험회차 및 유형 # 시험회차 및 유형
exam_round = '2510' exam_round = '2511'
# exam_round = '2522' # exam_round = '2522'
# 채점하고자 하는 유형은 주석 해제 # 채점하고자 하는 유형은 주석 해제
exam_types = [ exam_types = [
'A', # 'A',
# 'B', # 'B',
# 'C', # 'C',
# 'D', 'D',
] ]
# test_mode = False test_mode = False
test_mode = True #/TEST 폴더 채점시 # test_mode = True #/TEST 폴더 채점시
output_excel_paths = [] output_excel_paths = []
for exam_type in exam_types: for exam_type in exam_types:

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -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": "2025. 11. 28.(금) 18:00까지 온라인 사전 등록(http://www.ihd.or.kr)",
"value": "BOLD",
"points": 1,
"category": "FontAttribute",
"item": "문구 (2025. 11. 28.(금) 18:00까지 온라인 사전 등록(http://www.ihd.or.kr))/① BOLD"
},
"18": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "2025. 11. 28.(금) 18:00까지 온라인 사전 등록(http://www.ihd.or.kr)",
"value": "ITALIC",
"points": 1,
"category": "FontAttribute",
"item": "문구 (2025. 11. 28.(금) 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": "2025. 11. 22.",
"value": "1300",
"points": 1,
"category": "OneAnswer",
"item": "문구 (2025. 11. 22.)/① 크기 (1300)",
"desc": "1pt당 100"
},
"21": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"searchValue": "2025. 11. 22.",
"value": "Center",
"points": 1,
"category": "OneAnswer",
"item": "문구 (2025. 11. 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": "① 쪽 번호 매기기 (A,B,C 순으로)",
"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": "문구 (https://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": "CircledHangulJamo",
"points": 2,
"category": "OneAnswer",
"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(),'Management')])",
"ignoreWord": "Management",
"value": true,
"points": 3,
"category": "Boolean",
"item": "Management/영단어 미입력, 대소문자/오타 시 전체 감점",
"desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요"
},
"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": "제목 문구 (핀테크 산업 성장률(단위 : g))/④ 정렬 (가운데 정렬)"
},
"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}')]) and 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",
"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",
"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",
"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"
}
}
}

Binary file not shown.

Binary file not shown.

View File

@@ -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": "187,57,49",
"points": 2,
"category": "Color",
"item": "문구 (전통주페어링특강안내)/② 채우기 : 색상(RGB:187,57,49)"
},
"3": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
"searchValue": "전통주페어링특강안내",
"value": "110",
"tolerance": 1,
"points": 2,
"category": "mmSize",
"item": "문구 (전통주페어링특강안내)/③ 크기-너비 (110 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": "252,231,95",
"points": 2,
"category": "Color",
"item": "어/③ 면색 : 색상(RGB:252,231,95)"
},
"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": "2025년 11월 23일(일) 18:00까지 온라인으로 등록(http://www.ihd.or.kr)",
"value": "ITALIC",
"points": 1,
"category": "FontAttribute",
"item": "문구 (2025년 11월 23일(일) 18:00까지 온라인으로 등록(http://www.ihd.or.kr))/① ITALIC"
},
"18": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "2025년 11월 23일(일) 18:00까지 온라인으로 등록(http://www.ihd.or.kr)",
"value": "UNDERLINE",
"points": 1,
"category": "FontAttribute",
"item": "문구 (2025년 11월 23일(일) 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": 12,
"Indent": 14
},
"points": 2,
"category": "ParaShape",
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (12), 내어쓰기 (14)",
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
},
"20": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
"searchValue": "2025. 11. 22.",
"value": "1300",
"points": 1,
"category": "OneAnswer",
"item": "문구 (2025. 11. 22.)/① 크기 (1300)",
"desc": "1pt당 100"
},
"21": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"searchValue": "2025. 11. 22.",
"value": "Center",
"points": 1,
"category": "OneAnswer",
"item": "문구 (2025. 11. 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": "2700",
"points": 1,
"category": "OneAnswer",
"item": "문구 (대한민국전통주살리기협회)/② 크기 (2700)"
},
"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": "20",
"points": 2,
"category": "Rectangle.OneAnswer",
"item": "문구 (한국의 전통주)/④ 글상자 모서리 (반원)",
"desc": "모서리 비율 반원:50 / 둥근모양:20"
},
"8": {
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
"value": "53,135,145",
"points": 2,
"category": "Rectangle.Color",
"item": "문구 (한국의 전통주)/⑤ 채우기 : 색상(RGB:53,135,145)"
},
"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": "MZ세대",
"value": true,
"points": 2,
"category": "Boolean",
"item": "문구 (MZ세대)/① 각주 설정 및 문구 입력"
},
"26": {
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
"searchValue": "밀레니얼 세대와 Z세대를 통틀어 지칭하는 신조어",
"value": "바탕체",
"points": 1,
"category": "FontName",
"item": "문구 (MZ세대)/② 글씨체 (바탕체)"
},
"27": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
"searchValue": "밀레니얼 세대와 Z세대를 통틀어 지칭하는 신조어",
"value": "900",
"points": 1,
"category": "OneAnswer",
"item": "문구 (MZ세대)/③ 크기 (9pt)"
},
"28": {
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
"searchValue": "밀레니얼 세대와 Z세대를 통틀어 지칭하는 신조어",
"value": "UserChar",
"points": 2,
"category": "OneAnswer",
"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(),'Paradigm')])",
"ignoreWord": "Paradigm",
"value": true,
"points": 3,
"category": "Boolean",
"item": "Paradigm/영단어 미입력, 대소문자/오타 시 전체 감점",
"desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요"
},
"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": "202,86,167",
"points": 2,
"category": "Color",
"item": "위쪽 제목 셀/① 색상(RGB:202,86,167)"
},
"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}')]) and 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",
"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",
"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",
"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"
}
}
}

Binary file not shown.

Binary file not shown.

View File

@@ -46,65 +46,65 @@
"1": { "1": {
"1": { "1": {
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName", "path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
"searchValue": "글로벌핀테크컨퍼런스", "searchValue": "제18회인정시북페스티벌",
"value": "돋움체", "value": "견고딕",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (글로벌핀테크컨퍼런스)/① 글씨체 (궁서체)" "item": "문구 (제18회인정시북페스티벌)/① 글씨체 (견고딕)"
}, },
"2": { "2": {
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor", "path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
"searchValue": "글로벌핀테크컨퍼런스", "searchValue": "제18회인정시북페스티벌",
"value": "53,135,145", "value": "104,37,245",
"points": 2, "points": 2,
"category": "Color", "category": "Color",
"item": "문구 (글로벌핀테크컨퍼런스)/② 채우기 : 색상(RGB:53,135,145)" "item": "문구 (제18회인정시북페스티벌)/② 채우기 : 색상(RGB:104,37,245)"
}, },
"3": { "3": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width", "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
"searchValue": "글로벌핀테크컨퍼런스", "searchValue": "제18회인정시북페스티벌",
"value": "110", "value": "110",
"tolerance": 1, "tolerance": 1,
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "문구 (글로벌핀테크컨퍼런스)/③ 크기-너비 (110 mm)" "item": "문구 (제18회인정시북페스티벌)/③ 크기-너비 (110 mm)"
}, },
"4": { "4": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height", "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
"searchValue": "글로벌핀테크컨퍼런스", "searchValue": "제18회인정시북페스티벌",
"value": "20", "value": "20",
"tolerance": 1, "tolerance": 1,
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "문구 (글로벌핀테크컨퍼런스)/④ 크기-높이 (20 mm)" "item": "문구 (제18회인정시북페스티벌)/④ 크기-높이 (20 mm)"
}, },
"5": { "5": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar", "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
"searchValue": "글로벌핀테크컨퍼런스", "searchValue": "제18회인정시북페스티벌",
"value": "true", "value": "true",
"points": 2, "points": 2,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (글로벌핀테크컨퍼런스)/⑤ 위치 (글자처럼 취급)" "item": "문구 (제18회인정시북페스티벌)/⑤ 위치 (글자처럼 취급)"
}, },
"6": { "6": {
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
"searchValue": "글로벌핀테크컨퍼런스", "searchValue": "제18회인정시북페스티벌",
"value": "Center", "value": "Center",
"points": 2, "points": 2,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (글로벌핀테크컨퍼런스)/⑥ 정렬 (가운데 정렬)" "item": "문구 (제18회인정시북페스티벌)/⑥ 정렬 (가운데 정렬)"
}, },
"7": { "7": {
"path": "//TEXTART[@Text='{searchValue}']", "path": "//TEXTART[@Text='{searchValue}']",
"searchValue": "글로벌핀테크컨퍼런스", "searchValue": "제18회인정시북페스티벌",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "Boolean", "category": "Boolean",
"item": "문구 (글로벌핀테크컨퍼런스)/⑦ 글맵시모양 (육안확인)" "item": "문구 (제18회인정시북페스티벌)/⑦ 글맵시모양 (육안확인)"
}, },
"8": { "8": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE", "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
"searchValue": "", "searchValue": "",
"value": { "value": {
"Height": 2800, "Height": 2800,
"Width": 2800 "Width": 2800
@@ -116,23 +116,23 @@
}, },
"9": { "9": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "", "searchValue": "",
"value": "맑은 고딕", "value": "굴림",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "어/② 글씨체 (맑은 고딕)" "item": "어/② 글씨체 (굴림)"
}, },
"10": { "10": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor", "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
"searchValue": "", "searchValue": "",
"value": "123,217,167", "value": "234,137,67",
"points": 2, "points": 2,
"category": "Color", "category": "Color",
"item": "어/③ 면색 : 색상(RGB:123,217,167)" "item": "어/③ 면색 : 색상(RGB:234,137,67)"
}, },
"11": { "11": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right", "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
"searchValue": "", "searchValue": "",
"value": "3.0", "value": "3.0",
"tolerance": 1, "tolerance": 1,
"points": 2, "points": 2,
@@ -141,39 +141,39 @@
}, },
"12": { "12": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
"searchValue": "디지털 자산, 오픈 뱅킹, 보안 인증, AI 기반 금융 분석", "searchValue": "제18회 인정시 북 페스티벌",
"value": "ITALIC", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (디지털 자산, 오픈 뱅킹, 보안 인증, AI 기반 금융 분석)/① ITALIC" "item": "문구 (제18회 인정시 북 페스티벌)/① BOLD"
}, },
"13": { "13": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
"searchValue": "디지털 자산, 오픈 뱅킹, 보안 인증, AI 기반 금융 분석", "searchValue": "제18회 인정시 북 페스티벌",
"value": "UNDERLINE", "value": "ITALIC",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (디지털 자산, 오픈 뱅킹, 보안 인증, AI 기반 금융 분석)/② UNDERLINE" "item": "문구 (제18회 인정시 북 페스티벌)/② ITALIC"
}, },
"14": { "14": {
"path": "//CHAR[contains(string(.),'{char1}')]/text()", "path": "//CHAR[contains(string(.),'{char1}')]/text()",
"path2": "//CHAR[contains(string(.),'{char2}')]/text()", "path2": "//CHAR[contains(string(.),'{char2}')]/text()",
"path3": "//CHAR[contains(string(.),'{char3}')]/text()", "path3": "//CHAR[contains(string(.),'{char3}')]/text()",
"char1": "", "char1": "",
"char2": "", "char2": "",
"char3": "※", "char3": "※",
"value": 3, "value": 3,
"points": 3, "points": 3,
"category": "SpecialChar", "category": "SpecialChar",
"item": "① , ② , ③ ※" "item": "① , ② , ③ ※"
}, },
"15": { "15": {
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape", "path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
"searchValue": "행사안내", "searchValue": "행사안내",
"value": "궁서", "value": "돋움체",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구 ( 행사안내 )/① 글씨체 (궁서)" "item": "문구 ( 행사안내 )/① 글씨체 (돋움체)"
}, },
"16": { "16": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
@@ -181,25 +181,25 @@
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "Align", "category": "Align",
"item": "문구 ( 행사안내 )/② 정렬 (가운데 정렬)" "item": "문구 ( 행사안내 )/② 정렬 (가운데 정렬)"
}, },
"17": { "17": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "금융권 종사자, 핀테크 스타트업, 투자자, IT 전문가, 일반인", "searchValue": "인정시립대학교 야외무대",
"value": "BOLD", "value": "ITALIC",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (금융권 종사자, 핀테크 스타트업, 투자자, IT 전문가, 일반인)/① BOLD" "item": "문구 (인정시립대학교 야외무대)/① ITALIC"
}, },
"18": { "18": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "금융권 종사자, 핀테크 스타트업, 투자자, IT 전문가, 일반인", "searchValue": "인정시립대학교 야외무대",
"value": "ITALIC", "value": "UNDERLINE",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (금융권 종사자, 핀테크 스타트업, 투자자, IT 전문가, 일반인)/② ITALIC" "item": "문구 (인정시립대학교 야외무대)/② UNDERLINE"
}, },
"19": { "19": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN", "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
@@ -215,52 +215,52 @@
}, },
"20": { "20": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
"searchValue": "2025. 10. 25.", "searchValue": "2025. 11. 22.",
"value": "1400", "value": "1400",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (2025. 10. 25.)/① 크기 (1400)", "item": "문구 (2025. 11. 22.)/① 크기 (1400)",
"desc": "1pt당 100" "desc": "1pt당 100"
}, },
"21": { "21": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"searchValue": "2025. 10. 25.", "searchValue": "2025. 11. 22.",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (2025. 10. 25.)/② 정렬 (가운데 정렬)" "item": "문구 (2025. 11. 22.)/② 정렬 (가운데 정렬)"
}, },
"22": { "22": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "글로벌 핀테크 컨퍼런스", "searchValue": "인정시립대학교 총무팀",
"value": "굴림", "value": "중고딕",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구 (글로벌 핀테크 컨퍼런스)/① 글씨체 (굴림)" "item": "문구 (인정시립대학교 총무팀)/① 글씨체 (중고딕)"
}, },
"23": { "23": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "글로벌 핀테크 컨퍼런스", "searchValue": "인정시립대학교 총무팀",
"value": "2300", "value": "2400",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (글로벌 핀테크 컨퍼런스)/② 크기 (2300)" "item": "문구 (인정시립대학교 총무팀)/② 크기 (2400)"
}, },
"24": { "24": {
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
"searchValue": "글로벌 핀테크 컨퍼런스", "searchValue": "인정시립대학교 총무팀",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (글로벌 핀테크 컨퍼런스)/③ 정렬 (가운데 정렬)" "item": "문구 (인정시립대학교 총무팀)/③ 정렬 (가운데 정렬)"
}, },
"25": { "25": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "DIAT", "searchValue": "DIAT",
"value": "중고딕", "value": "돋움",
"points": 1, "points": 1,
"category": "Header.FontName", "category": "Header.FontName",
"item": "문구 (DIAT)/① 글꼴 (중고딕)" "item": "문구 (DIAT)/① 글꼴 (돋움)"
}, },
"26": { "26": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
@@ -280,32 +280,38 @@
}, },
"28": { "28": {
"path": "//PAGENUM/@FormatType", "path": "//PAGENUM/@FormatType",
"value": "RomanCapital", "value": "DecagonCircle",
"points": 2, "points": 2,
"category": "PageNumber", "category": "PageNumber",
"item": "① 쪽 번호 매기기 (가,나,다 순으로)", "item": "① 쪽 번호 매기기 (갑,을,병 순으로)",
"desc1": { "desc1": {
"가,나,다": "HangulSyllable", "가,나,다": "HangulSyllable",
"1,2,3": "Digit", "1,2,3": "Digit",
"일,이,삼": "HangulPhonetic",
"갑,을,병": "DecagonCircle", "갑,을,병": "DecagonCircle",
"A,B,C": "LatinCapital", "A,B,C": "LatinCapital",
"a,b,c": "LatinSmall", "a,b,c": "LatinSmall",
"Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital",
"①,②,③": "CircledDigit", "①,②,③": "CircledDigit",
"一,二,三": "Ideograph", "一,二,三": "Ideograph",
"㉠,㉡,㉢": "CircledHangulJamo", "㉠,㉡,㉢": "CircledHangulJamo",
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall", "ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
"㊀,㊁,㊂": "CircledIdeograph",
"i,ii,iii": "RomanSmall", "i,ii,iii": "RomanSmall",
"I,II,III": "RomanCapital", "I,II,III": "RomanCapital",
"desc": "정답에 맞는 값 value에 입력" "甲,乙,丙": "DecagonCircleHanja",
"+,++,+++": "UserChar",
"*,**,***": "UserChar",
"정답에 맞는 값 value에 입력": ""
}, },
"desc2": "1, 2페이지 모두 정답이어야 점수 부여" "desc2": "1, 2페이지 모두 정답이어야 점수 부여"
}, },
"29": { "29": {
"path": "//PAGENUM/@Pos", "path": "//PAGENUM/@Pos",
"value": "BottomLeft", "value": "BottomCenter",
"points": 2, "points": 2,
"category": "PageNumber", "category": "PageNumber",
"item": "왼쪽 아래", "item": "가운데 아래",
"desc": "1, 2페이지 모두 정답이어야 점수 부여", "desc": "1, 2페이지 모두 정답이어야 점수 부여",
"desc2": { "desc2": {
"가운데 아래": "BottomCenter", "가운데 아래": "BottomCenter",
@@ -319,16 +325,16 @@
"value": true, "value": true,
"points": 2, "points": 2,
"category": "hyperlink", "category": "hyperlink",
"item": "문구 (https://www.ihd.or.kr)/하이퍼링크 없이 작성", "item": "문구 (http://www.ihd.or.kr)/하이퍼링크 없이 작성",
"desc": "searchValue에 해당하는 주소 문구에 하이퍼링크가 하나라도 설정되어 있으면 오답" "desc": "searchValue에 해당하는 주소 문구에 하이퍼링크가 하나라도 설정되어 있으면 오답"
}, },
"31": { "31": {
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing", "path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
"value": "190", "value": "180",
"first_word": "", "first_word": "",
"points": 2, "points": 2,
"category": "LineSpacing", "category": "LineSpacing",
"item": "문제 1 줄간격 190% 설정", "item": "문제 1 줄간격 180% 설정",
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다." "desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
} }
}, },
@@ -364,14 +370,14 @@
"value": "60", "value": "60",
"points": 2, "points": 2,
"category": "Rectangle.mmSize", "category": "Rectangle.mmSize",
"item": "문구 (핀테크 산업)/① 크기-너비 (60 mm)" "item": "문구 (베스트와 스테디)/① 크기-너비 (60 mm)"
}, },
"5": { "5": {
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height", "path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
"value": "12", "value": "12",
"points": 2, "points": 2,
"category": "Rectangle.mmSize", "category": "Rectangle.mmSize",
"item": "문구 (핀테크 산업)/② 크기-높이 (12 mm)" "item": "문구 (베스트와 스테디)/② 크기-높이 (12 mm)"
}, },
"6": { "6": {
"path": "//RECTANGLE//LINESHAPE", "path": "//RECTANGLE//LINESHAPE",
@@ -381,7 +387,7 @@
}, },
"points": 2, "points": 2,
"category": "Rectangle.LineShape", "category": "Rectangle.LineShape",
"item": "문구 (핀테크 산업)/③ 테두리 : 이중 실선(1.00mm)", "item": "문구 (베스트와 스테디)/③ 테두리 : 이중 실선(1.00mm)",
"desc": "1mm = 283pt value['Width']에 pt값 입력" "desc": "1mm = 283pt value['Width']에 pt값 입력"
}, },
"7": { "7": {
@@ -389,43 +395,43 @@
"value": "20", "value": "20",
"points": 2, "points": 2,
"category": "Rectangle.OneAnswer", "category": "Rectangle.OneAnswer",
"item": "문구 (핀테크 산업)/④ 글상자 모서리 (반원)", "item": "문구 (베스트와 스테디)/④ 글상자 모서리 (반원)",
"desc": "모서리 비율 반원:50 / 둥근모양:20" "desc": "모서리 비율 반원:50 / 둥근모양:20"
}, },
"8": { "8": {
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor", "path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
"value": "227,220,193", "value": "233,106,147",
"points": 2, "points": 2,
"category": "Rectangle.Color", "category": "Rectangle.Color",
"item": "문구 (핀테크 산업)/⑤ 채우기 : 색상(RGB:227,220,193)" "item": "문구 (베스트와 스테디)/⑤ 채우기 : 색상(RGB:233,106,147)"
}, },
"9": { "9": {
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar", "path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
"value": "true", "value": "true",
"points": 1, "points": 1,
"category": "Rectangle.OneAnswer", "category": "Rectangle.OneAnswer",
"item": "문구 (핀테크 산업)/⑥ 글상자 위치 (글자처럼 취급)" "item": "문구 (베스트와 스테디)/⑥ 글상자 위치 (글자처럼 취급)"
}, },
"10": { "10": {
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align", "path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "Rectangle.TextBoxAlign", "category": "Rectangle.TextBoxAlign",
"item": "문구 (핀테크 산업)/⑦ 글상자 정렬 (가운데 정렬)" "item": "문구 (베스트와 스테디)/⑦ 글상자 정렬 (가운데 정렬)"
}, },
"11": { "11": {
"path": ".//RECTANGLE//TEXT/@CharShape", "path": ".//RECTANGLE//TEXT/@CharShape",
"value": "견고딕", "value": "궁서체",
"points": 1, "points": 1,
"category": "Rectangle.FontName", "category": "Rectangle.FontName",
"item": "문구 (핀테크 산업)/⑧ 글씨체 (견고딕)" "item": "문구 (베스트와 스테디)/⑧ 글씨체 (궁서체)"
}, },
"12": { "12": {
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height", "path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
"value": "2000", "value": "1800",
"points": 1, "points": 1,
"category": "Rectangle.FontSize", "category": "Rectangle.FontSize",
"item": "문구 (핀테크 산업)/⑨ 글씨크기 (2000)", "item": "문구 (베스트와 스테디)/⑨ 글씨크기 (1800)",
"desc": "1pt당 100" "desc": "1pt당 100"
}, },
"13": { "13": {
@@ -433,127 +439,128 @@
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "Rectangle.TextBoxAlign", "category": "Rectangle.TextBoxAlign",
"item": "문구 (핀테크 산업)/⑩ 정렬 (가운데 정렬)" "item": "문구 (베스트와 스테디)/⑩ 정렬 (가운데 정렬)"
}, },
"14": { "14": {
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG']", "path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "Boolean", "category": "Boolean",
"item": "① 파일명 \"그림A.jpg\" 삽입", "item": "① 파일명 \"그림C.jpg\" 삽입",
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)" "desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
}, },
"15": { "15": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/SIZE/@Width", "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
"value": "85", "value": "80",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "② 크기-너비 (85 mm)" "item": "② 크기-너비 (80 mm)"
}, },
"16": { "16": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/SIZE/@Height", "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
"value": "40", "value": "40",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "③ 크기-높이 (40 mm)" "item": "③ 크기-높이 (40 mm)"
}, },
"17": { "17": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset", "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", "value": "0",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0mm)" "item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0mm)"
}, },
"18": { "18": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset", "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", "value": "24",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 22 mm)" "item": "⑤ 위치 (어울림 : 세로-쪽의 위 24 mm)"
}, },
"19": { "19": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "1. 핀테크 산업", "searchValue": "1. 베스트셀러",
"value": "돋움", "value": "굴림체",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구① (1. 핀테크 산업)/① 글씨체 (돋움)" "item": "문구① (1. 베스트셀러)/① 글씨체 (굴림체)"
}, },
"20": { "20": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "1. 핀테크 산업", "searchValue": "1. 베스트셀러",
"value": "1200", "value": "1200",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구① (1. 핀테크 산업)/② 크기 (1200)" "item": "문구① (1. 베스트셀러)/② 크기 (1200)"
}, },
"21": { "21": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "1. 핀테크 산업", "searchValue": "1. 베스트셀러",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구① (1. 핀테크 산업)/③ 진하게" "item": "문구① (1. 베스트셀러)/③ 진하게"
}, },
"22": { "22": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "2. 성장 전망", "searchValue": "2. 스테디셀러",
"value": "돋움", "value": "굴림체",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구② (2. 성장 전망)/① 글씨체 (돋움)" "item": "문구② (2. 스테디셀러)/① 글씨체 (굴림체)"
}, },
"23": { "23": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "2. 성장 전망", "searchValue": "2. 스테디셀러",
"value": "1200", "value": "1200",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구② (2. 성장 전망)/② 크기 (1200)" "item": "문구② (2. 스테디셀러)/② 크기 (1200)"
}, },
"24": { "24": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "2. 성장 전망", "searchValue": "2. 스테디셀러",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구② (2. 성장 전망)/③ 진하게" "item": "문구② (2. 스테디셀러)/③ 진하게"
}, },
"25": { "25": {
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)", "path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)", "path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
"option": "머신러닝", "option": "로빈슨 크루소",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "Boolean", "category": "Boolean",
"item": "문구 (머신러닝)/① 각주 설정 및 문구 입력" "item": "문구 (로빈슨 크루소)/① 각주 설정 및 문구 입력"
}, },
"26": { "26": {
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape", "path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
"searchValue": "인공지능의 연구 분야로 인간의 학습 능력과 같은 기능을 컴퓨터에서 실현하고자 하는 기술 및 기법", "searchValue": "영국의 작가 대니얼 디포의 장편소설",
"value": "중고딕", "value": "중고딕",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구 (머신러닝)/② 글씨체 (중고딕)" "item": "문구 (로빈슨 크루소)/② 글씨체 (중고딕)"
}, },
"27": { "27": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
"searchValue": "인공지능의 연구 분야로 인간의 학습 능력과 같은 기능을 컴퓨터에서 실현하고자 하는 기술 및 기법", "searchValue": "영국의 작가 대니얼 디포의 장편소설",
"value": "900", "value": "900",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (머신러닝)/③ 크기 (9pt)" "item": "문구 (로빈슨 크루소)/③ 크기 (9pt)"
}, },
"28": { "28": {
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type", "path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
"searchValue": "인공지능의 연구 분야로 인간의 학습 능력과 같은 기능을 컴퓨터에서 실현하고자 하는 기술 및 기법", "searchValue": "영국의 작가 대니얼 디포의 장편소설",
"value": "CircledDigit", "value": "CircledIdeograph",
"points": 2, "points": 2,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (전당)/④ 각주 번호모양", "item": "문구 (전당)/④ 각주 번호모양",
"desc": { "desc": {
"가,나,다": "HangulSyllable", "가,나,다": "HangulSyllable",
"1,2,3": "Digit", "1,2,3": "Digit",
"일,이,삼": "HangulPhonetic",
"갑,을,병": "DecagonCircle", "갑,을,병": "DecagonCircle",
"A,B,C": "LatinCapital", "A,B,C": "LatinCapital",
"a,b,c": "LatinSmall", "a,b,c": "LatinSmall",
@@ -562,6 +569,7 @@
"一,二,三": "Ideograph", "一,二,三": "Ideograph",
"㉠,㉡,㉢": "CircledHangulJamo", "㉠,㉡,㉢": "CircledHangulJamo",
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall", "ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
"㊀,㊁,㊂": "CircledIdeograph",
"i,ii,iii": "RomanSmall", "i,ii,iii": "RomanSmall",
"I,II,III": "RomanCapital", "I,II,III": "RomanCapital",
"甲,乙,丙": "DecagonCircleHanja", "甲,乙,丙": "DecagonCircleHanja",
@@ -571,81 +579,81 @@
} }
}, },
"29": { "29": {
"path": "boolean(//CHAR[contains(text(),'FinTech')])", "path": "boolean(//CHAR[contains(text(),'Bookman')])",
"ignoreWord": "FinTech", "ignoreWord": "Bookman",
"value": true, "value": true,
"points": 3, "points": 3,
"category": "Boolean", "category": "Boolean",
"item": "FinTech/영단어 미입력, 대소문자/오타 시 전체 감점", "item": "Bookman/영단어 미입력, 대소문자/오타 시 전체 감점",
"desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요" "desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요"
}, },
"30": { "30": {
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]", "path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
"word": [ "word": [
["대체", "代替"], ["시초", "始初"],
["등장", "登場"], ["유래", "由來"],
["실생활", "實生活"], ["양립", "兩立"],
["성장", "成長"], ["수요", "需要"],
["절감", "節減"] ["독자", "讀者"]
], ],
"value": 10, "value": 10,
"points": 10, "points": 10,
"category": "Hanja", "category": "Hanja",
"item": "① 대체(代替), ② 등장(登場), ③ 실생활(實生活), ④ 성장(成長), ⑤ 절감(節減)" "item": "① 시초(始初), ② 유래(由來), ③ 양립(兩立), ④ 수요(需要), ⑤ 독자(讀者)"
}, },
"31": { "31": {
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'테크산업')])", "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'품의양립')])",
"value": true, "value": true,
"points": 3, "points": 3,
"category": "Boolean", "category": "Boolean",
"item": "문구 (…산업이 핀테크 전통 금융권과 협업하여…)>'산업이 / 핀테크' 순서바꿈" "item": "문구 (…작품은 양립(兩立)이…)>'은 → 의' 글자바꿈"
}, },
"32": { "32": {
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'계의자동')])", "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'러와훌륭')])",
"value": true, "value": true,
"points": 3, "points": 3,
"category": "Boolean", "category": "Boolean",
"item": "문구 (…은행, 보험, 투자업계를 자동화 및 효율성…)>'를→의' 글자바꿈" "item": "문구 (…훌륭한 베스트셀러와 작품의 양립…)>'훌륭한 / 베스트셀러와' 순서바꿈"
}, },
"33": { "33": {
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape", "path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
"searchValue": "핀테크 산업 성장률(단위: %)", "searchValue": "연평균 성인 독서량 추이(단위 : )",
"value": "궁서", "value": "맑은 고딕",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "제목 문구 (핀테크 산업 성장률(단위: %))/① 글씨체 (궁서)" "item": "제목 문구 (연평균 성인 독서량 추이(단위 : ))/① 글씨체 (맑은 고딕)"
}, },
"34": { "34": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "핀테크 산업 성장률(단위: %)", "searchValue": "연평균 성인 독서량 추이(단위 : )",
"value": "1200", "value": "1200",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (핀테크 산업 성장률(단위: %))/② 크기 (1200)" "item": "제목 문구 (연평균 성인 독서량 추이(단위 : ))/② 크기 (1200)"
}, },
"35": { "35": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "핀테크 산업 성장률(단위: %)", "searchValue": "연평균 성인 독서량 추이(단위 : )",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "제목 문구 (핀테크 산업 성장률(단위: %))/③ 진하게" "item": "제목 문구 (연평균 성인 독서량 추이(단위 : ))/③ 진하게"
}, },
"36": { "36": {
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
"searchValue": "핀테크 산업 성장률(단위: %)", "searchValue": "연평균 성인 독서량 추이(단위 : )",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (핀테크 산업 성장률(단위 : g))/④ 정렬 (가운데 정렬)" "item": "제목 문구 (연평균 성인 독서량 추이(단위 : ))/④ 정렬 (가운데 정렬)"
}, },
"37": { "37": {
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor", "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", "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
"value": "221,141,229", "value": "37,233,245",
"points": 2, "points": 2,
"category": "Color", "category": "Color",
"item": "위쪽 제목 셀/① 색상(RGB:221,141,229)" "item": "위쪽 제목 셀/① 색상(RGB:37,233,245)"
}, },
"38": { "38": {
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]", "path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
@@ -674,11 +682,11 @@
"41": { "41": {
"path": "//TABLE//TEXT/@CharShape", "path": "//TABLE//TEXT/@CharShape",
"path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name", "path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"value": "굴림", "value": "돋움체",
"points": 1, "points": 1,
"category": "TableFontName", "category": "TableFontName",
"category_tmp": "FontName", "category_tmp": "FontName",
"item": "글자모양/① 글씨체 (굴림)", "item": "글자모양/① 글씨체 (돋움체)",
"desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경" "desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경"
}, },
"42": { "42": {
@@ -745,36 +753,36 @@
}, },
"50": { "50": {
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface", "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
"searchValue": "핀테크 산업 성장률", "searchValue": "연평균 성인 독서량 추이",
"value": "바탕체", "value": "궁서",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (핀테크 산업 성장률)/① 글씨체 (바탕체)" "item": "제목 문구 (연평균 성인 독서량 추이)/① 글씨체 (궁서)"
}, },
"51": { "51": {
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz", "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
"searchValue": "핀테크 산업 성장률", "searchValue": "연평균 성인 독서량 추이",
"value": "1400", "value": "1400",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (핀테크 산업 성장률)/② 크기 (1400)" "item": "제목 문구 (연평균 성인 독서량 추이)/② 크기 (1400)"
}, },
"52": { "52": {
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}", "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
"option": "b", "option": "b",
"searchValue": "핀테크 산업 성장률", "searchValue": "연평균 성인 독서량 추이",
"value": "1", "value": "1",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (핀테크 산업 성장률)/③ 기울임", "item": "제목 문구 (연평균 성인 독서량 추이)/③ 기울임",
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
}, },
"53": { "53": {
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface", "chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface",
"value": "돋움", "value": "바탕체",
"points": 1, "points": 1,
"category": "ChartOneAnswer", "category": "ChartOneAnswer",
"item": "X축/① 글꼴 (돋움)" "item": "X축/① 글꼴 (바탕체)"
}, },
"54": { "54": {
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz", "chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
@@ -794,10 +802,10 @@
}, },
"56": { "56": {
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface", "chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface",
"value": "돋움", "value": "바탕체",
"points": 1, "points": 1,
"category": "ChartOneAnswer", "category": "ChartOneAnswer",
"item": "Y축/① 글꼴 (돋움)" "item": "Y축/① 글꼴 (바탕체)"
}, },
"57": { "57": {
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz", "chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
@@ -817,10 +825,10 @@
}, },
"59": { "59": {
"chart_xpath": "//c:legend//a:ea/@typeface", "chart_xpath": "//c:legend//a:ea/@typeface",
"value": "돋움", "value": "바탕체",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "범례/① 글꼴 (돋움)" "item": "범례/① 글꼴 (바탕체)"
}, },
"60": { "60": {
"chart_xpath": "//c:legend//a:defRPr/@sz", "chart_xpath": "//c:legend//a:defRPr/@sz",

Binary file not shown.

Binary file not shown.

View File

@@ -46,65 +46,65 @@
"1": { "1": {
"1": { "1": {
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName", "path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
"searchValue": "한방바이오박람회", "searchValue": "전통된장만들기체험교실",
"value": "굴림체", "value": "맑은 고딕",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (한방바이오박람회)/① 글씨체 (굴림체)" "item": "문구 (전통된장만들기체험교실)/① 글씨체 (맑은 고딕)"
}, },
"2": { "2": {
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor", "path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
"searchValue": "한방바이오박람회", "searchValue": "전통된장만들기체험교실",
"value": "252,67,144", "value": "153,51,102",
"points": 2, "points": 2,
"category": "Color", "category": "Color",
"item": "문구 (한방바이오박람회)/② 채우기 : 색상(RGB:252,67,144)" "item": "문구 (전통된장만들기체험교실)/② 채우기 : 색상(RGB:153,51,102)"
}, },
"3": { "3": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width", "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
"searchValue": "한방바이오박람회", "searchValue": "전통된장만들기체험교실",
"value": "120", "value": "120",
"tolerance": 1, "tolerance": 1,
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "문구 (한방바이오박람회)/③ 크기-너비 (120 mm)" "item": "문구 (전통된장만들기체험교실)/③ 크기-너비 (120 mm)"
}, },
"4": { "4": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height", "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
"searchValue": "한방바이오박람회", "searchValue": "전통된장만들기체험교실",
"value": "20", "value": "20",
"tolerance": 1, "tolerance": 1,
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "문구 (한방바이오박람회)/④ 크기-높이 (20 mm)" "item": "문구 (전통된장만들기체험교실)/④ 크기-높이 (20 mm)"
}, },
"5": { "5": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar", "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
"searchValue": "한방바이오박람회", "searchValue": "전통된장만들기체험교실",
"value": "true", "value": "true",
"points": 2, "points": 2,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (한방바이오박람회)/⑤ 위치 (글자처럼 취급)" "item": "문구 (전통된장만들기체험교실)/⑤ 위치 (글자처럼 취급)"
}, },
"6": { "6": {
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
"searchValue": "한방바이오박람회", "searchValue": "전통된장만들기체험교실",
"value": "Center", "value": "Center",
"points": 2, "points": 2,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (한방바이오박람회)/⑥ 정렬 (가운데 정렬)" "item": "문구 (전통된장만들기체험교실)/⑥ 정렬 (가운데 정렬)"
}, },
"7": { "7": {
"path": "//TEXTART[@Text='{searchValue}']", "path": "//TEXTART[@Text='{searchValue}']",
"searchValue": "한방바이오박람회", "searchValue": "전통된장만들기체험교실",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "Boolean", "category": "Boolean",
"item": "문구 (한방바이오박람회)/⑦ 글맵시모양 (육안확인)" "item": "문구 (전통된장만들기체험교실)/⑦ 글맵시모양 (육안확인)"
}, },
"8": { "8": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE", "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
"searchValue": "", "searchValue": "",
"value": { "value": {
"Height": 2800, "Height": 2800,
"Width": 2800 "Width": 2800
@@ -116,23 +116,23 @@
}, },
"9": { "9": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "", "searchValue": "",
"value": "궁서", "value": "돋움체",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "어/② 글씨체 (궁서)" "item": "어/② 글씨체 (돋움체)"
}, },
"10": { "10": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor", "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
"searchValue": "", "searchValue": "",
"value": "115,139,236", "value": "83,246,225",
"points": 2, "points": 2,
"category": "Color", "category": "Color",
"item": "어/③ 면색 : 색상(RGB:115,139,236)" "item": "어/③ 면색 : 색상(RGB:83,246,225)"
}, },
"11": { "11": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right", "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
"searchValue": "", "searchValue": "",
"value": "3.0", "value": "3.0",
"tolerance": 1, "tolerance": 1,
"points": 2, "points": 2,
@@ -141,126 +141,126 @@
}, },
"12": { "12": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
"searchValue": "한방바이오 박람회", "searchValue": "전통된장 만들기 체험교실",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (한방바이오 박람회)/① BOLD" "item": "문구 (전통된장 만들기 체험교실)/① BOLD"
}, },
"13": { "13": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]", "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
"searchValue": "한방바이오 박람회", "searchValue": "전통된장 만들기 체험교실",
"value": "ITALIC", "value": "ITALIC",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (한방바이오 박람회)/② ITALIC" "item": "문구 (전통된장 만들기 체험교실)/② ITALIC"
}, },
"14": { "14": {
"path": "//CHAR[contains(string(.),'{char1}')]/text()", "path": "//CHAR[contains(string(.),'{char1}')]/text()",
"path2": "//CHAR[contains(string(.),'{char2}')]/text()", "path2": "//CHAR[contains(string(.),'{char2}')]/text()",
"path3": "//CHAR[contains(string(.),'{char3}')]/text()", "path3": "//CHAR[contains(string(.),'{char3}')]/text()",
"char1": "", "char1": "",
"char2": "", "char2": "",
"char3": "※", "char3": "※",
"value": 3, "value": 3,
"points": 3, "points": 3,
"category": "SpecialChar", "category": "SpecialChar",
"item": "① , ② , ③ ※" "item": "① , ② , ③ ※"
}, },
"15": { "15": {
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape", "path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
"searchValue": "행사안내", "searchValue": "체험안내",
"value": "바탕체", "value": "굴림체",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구 (♠ 행사안내 )/① 글씨체 (바탕체)" "item": "문구 (★ 체험안내 )/① 글씨체 (굴림체)"
}, },
"16": { "16": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
"match_str": "행사안내", "match_str": "체험안내",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "Align", "category": "Align",
"item": "문구 (♠ 행사안내 )/② 정렬 (가운데 정렬)" "item": "문구 (★ 체험안내 )/② 정렬 (가운데 정렬)"
}, },
"17": { "17": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "제천시청 홈페이지(http://www.ihd.or.kr)", "searchValue": "초등학생 자녀를 둔 학부모 30명(자녀 2인까지 동반 가능",
"value": "ITALIC", "value": "ITALIC",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (제천시청 홈페이지(http://www.ihd.or.kr))/① ITALIC" "item": "문구 (초등학생 자녀를 둔 학부모 30명(자녀 2인까지 동반 가능)/① ITALIC"
}, },
"18": { "18": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]", "hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "제천시청 홈페이지(http://www.ihd.or.kr)", "searchValue": "초등학생 자녀를 둔 학부모 30명(자녀 2인까지 동반 가능",
"value": "UNDERLINE", "value": "UNDERLINE",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구 (제천시청 홈페이지(http://www.ihd.or.kr))/② UNDERLINE" "item": "문구 (초등학생 자녀를 둔 학부모 30명(자녀 2인까지 동반 가능)/② UNDERLINE"
}, },
"19": { "19": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN", "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
"searchValue": "기타사항", "searchValue": "기타사항",
"value": { "value": {
"Left": 12, "Left": 15,
"Indent": 10 "Indent": 12
}, },
"points": 2, "points": 2,
"category": "ParaShape", "category": "ParaShape",
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (12), 내어쓰기 (10)", "item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15), 내어쓰기 (12)",
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력" "desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
}, },
"20": { "20": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
"searchValue": "2025. 09. 27.", "searchValue": "2025. 11. 22.",
"value": "1400", "value": "1400",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (2025. 09. 27.)/① 크기 (1400)", "item": "문구 (2025. 11. 22.)/① 크기 (1400)",
"desc": "1pt당 100" "desc": "1pt당 100"
}, },
"21": { "21": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"searchValue": "2025. 09. 27.", "searchValue": "2025. 11. 22.",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (2025. 09. 27.)/② 정렬 (가운데 정렬)" "item": "문구 (2025. 11. 22.)/② 정렬 (가운데 정렬)"
}, },
"22": { "22": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "한방발전추진협회", "searchValue": "전통음식관광협회",
"value": "견고딕", "value": "견고딕",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구 (한방발전추진협회)/① 글씨체 (견고딕)" "item": "문구 (전통음식관광협회)/① 글씨체 (견고딕)"
}, },
"23": { "23": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "한방발전추진협회", "searchValue": "전통음식관광협회",
"value": "2600", "value": "2400",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (한방발전추진협회)/② 크기 (2600)" "item": "문구 (전통음식관광협회)/② 크기 (2400)"
}, },
"24": { "24": {
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
"searchValue": "한방발전추진협회", "searchValue": "전통음식관광협회",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (한방발전추진협회)/③ 정렬 (가운데 정렬)" "item": "문구 (전통음식관광협회)/③ 정렬 (가운데 정렬)"
}, },
"25": { "25": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "DIAT", "searchValue": "DIAT",
"value": "돋움", "value": "중고딕",
"points": 1, "points": 1,
"category": "Header.FontName", "category": "Header.FontName",
"item": "문구 (DIAT)/① 글꼴 (돋움)" "item": "문구 (DIAT)/① 글꼴 (중고딕)"
}, },
"26": { "26": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
@@ -280,23 +280,29 @@
}, },
"28": { "28": {
"path": "//PAGENUM/@FormatType", "path": "//PAGENUM/@FormatType",
"value": "RomanCapital", "value": "LatinCapital",
"points": 2, "points": 2,
"category": "PageNumber", "category": "PageNumber",
"item": "① 쪽 번호 매기기 (가,나,다 순으로)", "item": "① 쪽 번호 매기기 (가,나,다 순으로)",
"desc1": { "desc1": {
"가,나,다": "HangulSyllable", "가,나,다": "HangulSyllable",
"1,2,3": "Digit", "1,2,3": "Digit",
"일,이,삼": "HangulPhonetic",
"갑,을,병": "DecagonCircle", "갑,을,병": "DecagonCircle",
"A,B,C": "LatinCapital", "A,B,C": "LatinCapital",
"a,b,c": "LatinSmall", "a,b,c": "LatinSmall",
"Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital",
"①,②,③": "CircledDigit", "①,②,③": "CircledDigit",
"一,二,三": "Ideograph", "一,二,三": "Ideograph",
"㉠,㉡,㉢": "CircledHangulJamo", "㉠,㉡,㉢": "CircledHangulJamo",
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall", "ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
"㊀,㊁,㊂": "CircledIdeograph",
"i,ii,iii": "RomanSmall", "i,ii,iii": "RomanSmall",
"I,II,III": "RomanCapital", "I,II,III": "RomanCapital",
"desc": "정답에 맞는 값 value에 입력" "甲,乙,丙": "DecagonCircleHanja",
"+,++,+++": "UserChar",
"*,**,***": "UserChar",
"정답에 맞는 값 value에 입력": ""
}, },
"desc2": "1, 2페이지 모두 정답이어야 점수 부여" "desc2": "1, 2페이지 모두 정답이어야 점수 부여"
}, },
@@ -315,7 +321,7 @@
}, },
"30": { "30": {
"path": "//CHAR[contains(text(),'{searchValue}')]", "path": "//CHAR[contains(text(),'{searchValue}')]",
"searchValue": "http://www.ihd.or.kr", "searchValue": "http",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "hyperlink", "category": "hyperlink",
@@ -324,11 +330,11 @@
}, },
"31": { "31": {
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing", "path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
"value": "190", "value": "180",
"first_word": "", "first_word": "",
"points": 2, "points": 2,
"category": "LineSpacing", "category": "LineSpacing",
"item": "문제 1 줄간격 190% 설정", "item": "문제 1 줄간격 180% 설정",
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다." "desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
} }
}, },
@@ -361,17 +367,17 @@
}, },
"4": { "4": {
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width", "path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
"value": "65", "value": "60",
"points": 2, "points": 2,
"category": "Rectangle.mmSize", "category": "Rectangle.mmSize",
"item": "문구 (한약의 정의와 효과)/① 크기-너비 (65 mm)" "item": "문구 (된장의 역사와 종류)/① 크기-너비 (60 mm)"
}, },
"5": { "5": {
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height", "path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
"value": "12", "value": "12",
"points": 2, "points": 2,
"category": "Rectangle.mmSize", "category": "Rectangle.mmSize",
"item": "문구 (한약의 정의와 효과)/② 크기-높이 (12 mm)" "item": "문구 (된장의 역사와 종류)/② 크기-높이 (12 mm)"
}, },
"6": { "6": {
"path": "//RECTANGLE//LINESHAPE", "path": "//RECTANGLE//LINESHAPE",
@@ -381,7 +387,7 @@
}, },
"points": 2, "points": 2,
"category": "Rectangle.LineShape", "category": "Rectangle.LineShape",
"item": "문구 (한약의 정의와 효과)/③ 테두리 : 이중 실선(1.00mm)", "item": "문구 (된장의 역사와 종류)/③ 테두리 : 이중 실선(1.00mm)",
"desc": "1mm = 283pt value['Width']에 pt값 입력" "desc": "1mm = 283pt value['Width']에 pt값 입력"
}, },
"7": { "7": {
@@ -389,43 +395,43 @@
"value": "50", "value": "50",
"points": 2, "points": 2,
"category": "Rectangle.OneAnswer", "category": "Rectangle.OneAnswer",
"item": "문구 (한약의 정의와 효과)/④ 글상자 모서리 (반원)", "item": "문구 (된장의 역사와 종류)/④ 글상자 모서리 (반원)",
"desc": "모서리 비율 반원:50 / 둥근모양:20" "desc": "모서리 비율 반원:50 / 둥근모양:20"
}, },
"8": { "8": {
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor", "path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
"value": "62,187,204", "value": "247,227,169",
"points": 2, "points": 2,
"category": "Rectangle.Color", "category": "Rectangle.Color",
"item": "문구 (한약의 정의와 효과)/⑤ 채우기 : 색상(RGB:62,187,204)" "item": "문구 (된장의 역사와 종류)/⑤ 채우기 : 색상(RGB:247,227,169)"
}, },
"9": { "9": {
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar", "path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
"value": "true", "value": "true",
"points": 1, "points": 1,
"category": "Rectangle.OneAnswer", "category": "Rectangle.OneAnswer",
"item": "문구 (한약의 정의와 효과)/⑥ 글상자 위치 (글자처럼 취급)" "item": "문구 (된장의 역사와 종류)/⑥ 글상자 위치 (글자처럼 취급)"
}, },
"10": { "10": {
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align", "path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "Rectangle.TextBoxAlign", "category": "Rectangle.TextBoxAlign",
"item": "문구 (한약의 정의와 효과)/⑦ 글상자 정렬 (가운데 정렬)" "item": "문구 (된장의 역사와 종류)/⑦ 글상자 정렬 (가운데 정렬)"
}, },
"11": { "11": {
"path": ".//RECTANGLE//TEXT/@CharShape", "path": ".//RECTANGLE//TEXT/@CharShape",
"value": "맑은 고딕", "value": "궁서체",
"points": 1, "points": 1,
"category": "Rectangle.FontName", "category": "Rectangle.FontName",
"item": "문구 (한약의 정의와 효과)/⑧ 글씨체 (맑은 고딕)" "item": "문구 (된장의 역사와 종류)/⑧ 글씨체 (궁서체)"
}, },
"12": { "12": {
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height", "path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
"value": "1700", "value": "1700",
"points": 1, "points": 1,
"category": "Rectangle.FontSize", "category": "Rectangle.FontSize",
"item": "문구 (한약의 정의와 효과)/⑨ 글씨크기 (1700)", "item": "문구 (된장의 역사와 종류)/⑨ 글씨크기 (1700)",
"desc": "1pt당 100" "desc": "1pt당 100"
}, },
"13": { "13": {
@@ -433,39 +439,39 @@
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "Rectangle.TextBoxAlign", "category": "Rectangle.TextBoxAlign",
"item": "문구 (한약의 정의와 효과)/⑩ 정렬 (가운데 정렬)" "item": "문구 (된장의 역사와 종류)/⑩ 정렬 (가운데 정렬)"
}, },
"14": { "14": {
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG']", "path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "Boolean", "category": "Boolean",
"item": "① 파일명 \"그림A.jpg\" 삽입", "item": "① 파일명 \"그림D.jpg\" 삽입",
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)" "desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
}, },
"15": { "15": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/SIZE/@Width", "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
"value": "80", "value": "80",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "② 크기-너비 (80 mm)" "item": "② 크기-너비 (80 mm)"
}, },
"16": { "16": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/SIZE/@Height", "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
"value": "40", "value": "40",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "③ 크기-높이 (40 mm)" "item": "③ 크기-높이 (40 mm)"
}, },
"17": { "17": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset", "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", "value": "0",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
"item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0.0mm)" "item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0mm)"
}, },
"18": { "18": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset", "path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
"value": "23", "value": "23",
"points": 2, "points": 2,
"category": "mmSize", "category": "mmSize",
@@ -473,87 +479,88 @@
}, },
"19": { "19": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "1. 한약이란?", "searchValue": "1. 된장의 역사",
"value": "굴림", "value": "굴림",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구① (1. 한약이란?)/① 글씨체 (굴림)" "item": "문구① (1. 된장의 역사)/① 글씨체 (굴림)"
}, },
"20": { "20": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "1. 한약이란?", "searchValue": "1. 된장의 역사",
"value": "1200", "value": "1200",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구① (1. 한약이란?)/② 크기 (1200)" "item": "문구① (1. 된장의 역사)/② 크기 (1200)"
}, },
"21": { "21": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "1. 한약이란?", "searchValue": "1. 된장의 역사",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구① (1. 한약이란?)/③ 진하게" "item": "문구① (1. 된장의 역사)/③ 진하게"
}, },
"22": { "22": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape", "path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "2. 한약의 효과", "searchValue": "2. 된장의 종류",
"value": "굴림", "value": "굴림",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구② (2. 한약의 효과)/① 글씨체 (굴림)" "item": "문구② (2. 된장의 종류)/① 글씨체 (굴림)"
}, },
"23": { "23": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "2. 한약의 효과", "searchValue": "2. 된장의 종류",
"value": "1200", "value": "1200",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구② (2. 한약의 효과)/② 크기 (1200)" "item": "문구② (2. 된장의 종류)/② 크기 (1200)"
}, },
"24": { "24": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "2. 한약의 효과", "searchValue": "2. 된장의 종류",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "문구② (2. 한약의 효과)/③ 진하게" "item": "문구② (2. 된장의 종류)/③ 진하게"
}, },
"25": { "25": {
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)", "path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)", "path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
"option": "미신", "option": "절구",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "Boolean", "category": "Boolean",
"item": "문구 (미신)/① 각주 설정 및 문구 입력" "item": "문구 (절구)/① 각주 설정 및 문구 입력"
}, },
"26": { "26": {
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape", "path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
"searchValue": "비과학적이고 종교적으로 망령되다고 판단되는 신앙", "searchValue": "곡식을 빻거나 찧으며 떡을 치기도 하는 기구",
"value": "돋움", "value": "돋움",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "문구 (미신)/② 글씨체 (돋움)" "item": "문구 (절구)/② 글씨체 (돋움)"
}, },
"27": { "27": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
"searchValue": "비과학적이고 종교적으로 망령되다고 판단되는 신앙", "searchValue": "곡식을 빻거나 찧으며 떡을 치기도 하는 기구",
"value": "900", "value": "900",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (미신)/③ 크기 (9pt)" "item": "문구 (절구)/③ 크기 (9pt)"
}, },
"28": { "28": {
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type", "path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
"searchValue": "비과학적이고 종교적으로 망령되다고 판단되는 신앙", "searchValue": "곡식을 빻거나 찧으며 떡을 치기도 하는 기구",
"value": "UserChar", "value": "CircledDigit",
"points": 2, "points": 2,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (전당)/④ 각주 번호모양", "item": "문구 (전당)/④ 각주 번호모양",
"desc": { "desc": {
"가,나,다": "HangulSyllable", "가,나,다": "HangulSyllable",
"1,2,3": "Digit", "1,2,3": "Digit",
"일,이,삼": "HangulPhonetic",
"갑,을,병": "DecagonCircle", "갑,을,병": "DecagonCircle",
"A,B,C": "LatinCapital", "A,B,C": "LatinCapital",
"a,b,c": "LatinSmall", "a,b,c": "LatinSmall",
@@ -562,89 +569,91 @@
"一,二,三": "Ideograph", "一,二,三": "Ideograph",
"㉠,㉡,㉢": "CircledHangulJamo", "㉠,㉡,㉢": "CircledHangulJamo",
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall", "ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
"㊀,㊁,㊂": "CircledIdeograph",
"i,ii,iii": "RomanSmall", "i,ii,iii": "RomanSmall",
"I,II,III": "RomanCapital", "I,II,III": "RomanCapital",
"甲,乙,丙": "DecagonCircleHanja", "甲,乙,丙": "DecagonCircleHanja",
"+,++,+++": "UserChar", "+,++,+++": "UserChar",
"*,**,***": "UserChar",
"정답에 맞는 값 value에 입력": "" "정답에 맞는 값 value에 입력": ""
} }
}, },
"29": { "29": {
"path": "boolean(//CHAR[contains(text(),'Organism')])", "path": "boolean(//CHAR[contains(text(),'Fermentation')])",
"ignoreWord": "Organism", "ignoreWord": "Fermentation",
"value": true, "value": true,
"points": 3, "points": 3,
"category": "Boolean", "category": "Boolean",
"item": "Organism/영단어 미입력, 대소문자/오타 시 전체 감점", "item": "Fermentation/영단어 미입력, 대소문자/오타 시 전체 감점",
"desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요" "desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요"
}, },
"30": { "30": {
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]", "path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
"word": [ "word": [
["한약", "韓藥"], ["기록", "記錄"],
["배합", "配合"], ["추정", "推定"],
["채취", "採取"], ["속성", "速成"],
["보약", "補藥"], ["단점", "短點"],
["치료", "治療"] ["숙성", "熟成"]
], ],
"value": 10, "value": 10,
"points": 10, "points": 10,
"category": "Hanja", "category": "Hanja",
"item": "① 한약(韓藥), ② 배합(配合), ③ 채취(採取), ④ 보약(補藥), ⑤ 치료(治療)" "item": "① 기록(記錄), ② 추정(推定), ③ 속성(速成), ④ 단점(短點), ⑤ 숙성(熟成)"
}, },
"31": { "31": {
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'병을퇴치')])", "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'장의제조')])",
"value": true, "value": true,
"points": 3, "points": 3,
"category": "Boolean", "category": "Boolean",
"item": "문구 (…사람의 질병은 퇴치할 수 있다고…)>'' 글자바꿈" "item": "문구 (…된장에 제조를…)>'' 글자바꿈"
}, },
"32": { "32": {
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'부터한약')])", "path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'크게다르')])",
"value": true, "value": true,
"points": 3, "points": 3,
"category": "Boolean", "category": "Boolean",
"item": "문구 (…우리 민족은 한약만으로 예로부터 병을 치료해왔고…)>'한약만으로 / 예로부터' 순서바꿈" "item": "문구 (…메주와 다르며 크게…)>'다르며 / 크게' 순서바꿈"
}, },
"33": { "33": {
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape", "path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
"searchValue": "한약에 쓰이는 약초 재배량(단위 : )", "searchValue": "전통된장 총매출(단위 : 억원)",
"value": "바탕체", "value": "바탕체",
"points": 1, "points": 1,
"category": "FontName", "category": "FontName",
"item": "제목 문구 (한약에 쓰이는 약초 재배량(단위 : ))/① 글씨체 (바탕체)" "item": "제목 문구 (전통된장 총매출(단위 : 억원))/① 글씨체 (바탕체)"
}, },
"34": { "34": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "한약에 쓰이는 약초 재배량(단위 : )", "searchValue": "전통된장 총매출(단위 : 억원)",
"value": "1100", "value": "1100",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (한약에 쓰이는 약초 재배량(단위 : ))/② 크기 (1100)" "item": "제목 문구 (전통된장 총매출(단위 : 억원))/② 크기 (1100)"
}, },
"35": { "35": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]", "path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "한약에 쓰이는 약초 재배량(단위 : )", "searchValue": "전통된장 총매출(단위 : 억원)",
"value": "BOLD", "value": "BOLD",
"points": 1, "points": 1,
"category": "FontAttribute", "category": "FontAttribute",
"item": "제목 문구 (한약에 쓰이는 약초 재배량(단위 : ))/③ 진하게" "item": "제목 문구 (전통된장 총매출(단위 : 억원))/③ 진하게"
}, },
"36": { "36": {
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align", "path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
"searchValue": "한약에 쓰이는 약초 재배량(단위 : )", "searchValue": "전통된장 총매출(단위 : 억원)",
"value": "Center", "value": "Center",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (한약에 쓰이는 약초 재배량(단위 : ))/④ 정렬 (가운데 정렬)" "item": "제목 문구 (전통된장 총매출(단위 : 억원))/④ 정렬 (가운데 정렬)"
}, },
"37": { "37": {
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor", "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", "path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
"value": "157,229,141", "value": "212,131,154",
"points": 2, "points": 2,
"category": "Color", "category": "Color",
"item": "위쪽 제목 셀/① 색상(RGB:157,229,141)" "item": "위쪽 제목 셀/① 색상(RGB:212,131,154)"
}, },
"38": { "38": {
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]", "path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
@@ -673,11 +682,11 @@
"41": { "41": {
"path": "//TABLE//TEXT/@CharShape", "path": "//TABLE//TEXT/@CharShape",
"path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name", "path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"value": "중고딕", "value": "돋움체",
"points": 1, "points": 1,
"category": "TableFontName", "category": "TableFontName",
"category_tmp": "FontName", "category_tmp": "FontName",
"item": "글자모양/① 글씨체 (중고딕)", "item": "글자모양/① 글씨체 (돋움체)",
"desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경" "desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경"
}, },
"42": { "42": {
@@ -705,11 +714,11 @@
}, },
"45": { "45": {
"chart_xpath": "", "chart_xpath": "",
"chart_type": "누적 세로 막대형", "chart_type": "묶은 가로 막대형",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "ChartType", "category": "ChartType",
"item": "① 종류 (누적 세로 막대형)", "item": "① 종류 (묶은 가로 막대형)",
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)" "desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
}, },
"46": { "46": {
@@ -744,36 +753,36 @@
}, },
"50": { "50": {
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface", "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
"searchValue": "한약에 쓰이는 약초 재배량", "searchValue": "전통된장 총매출",
"value": "궁서", "value": "궁서",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (한약에 쓰이는 약초 재배량)/① 글씨체 (궁서)" "item": "제목 문구 (전통된장 총매출)/① 글씨체 (궁서)"
}, },
"51": { "51": {
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz", "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
"searchValue": "한약에 쓰이는 약초 재배량", "searchValue": "전통된장 총매출",
"value": "1300", "value": "1300",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (한약에 쓰이는 약초 재배량)/② 크기 (1300)" "item": "제목 문구 (전통된장 총매출)/② 크기 (1300)"
}, },
"52": { "52": {
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}", "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
"option": "b", "option": "b",
"searchValue": "한약에 쓰이는 약초 재배량", "searchValue": "전통된장 총매출",
"value": "1", "value": "1",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (한약에 쓰이는 약초 재배량)/③ 기울임", "item": "제목 문구 (전통된장 총매출)/③ 기울임",
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b" "desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
}, },
"53": { "53": {
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface", "chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface",
"value": "굴림체", "value": "바탕",
"points": 1, "points": 1,
"category": "ChartOneAnswer", "category": "ChartOneAnswer",
"item": "X축/① 글꼴 (굴림체)" "item": "X축/① 글꼴 (바탕)"
}, },
"54": { "54": {
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz", "chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
@@ -793,10 +802,10 @@
}, },
"56": { "56": {
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface", "chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface",
"value": "굴림체", "value": "바탕",
"points": 1, "points": 1,
"category": "ChartOneAnswer", "category": "ChartOneAnswer",
"item": "Y축/① 글꼴 (굴림체)" "item": "Y축/① 글꼴 (바탕)"
}, },
"57": { "57": {
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz", "chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
@@ -816,10 +825,10 @@
}, },
"59": { "59": {
"chart_xpath": "//c:legend//a:ea/@typeface", "chart_xpath": "//c:legend//a:ea/@typeface",
"value": "굴림체", "value": "바탕",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "범례/① 글꼴 (굴림체)" "item": "범례/① 글꼴 (바탕)"
}, },
"60": { "60": {
"chart_xpath": "//c:legend//a:defRPr/@sz", "chart_xpath": "//c:legend//a:defRPr/@sz",

Binary file not shown.

View File

@@ -1,841 +0,0 @@
{
"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": "252,67,144",
"points": 2,
"category": "Color",
"item": "문구 (한방바이오박람회)/② 채우기 : 색상(RGB:252,67,144)"
},
"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": "115,139,236",
"points": 2,
"category": "Color",
"item": "어/③ 면색 : 색상(RGB:115,139,236)"
},
"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": "제천시청 홈페이지(http://www.ihd.or.kr)",
"value": "ITALIC",
"points": 1,
"category": "FontAttribute",
"item": "문구 (제천시청 홈페이지(http://www.ihd.or.kr))/① ITALIC"
},
"18": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "제천시청 홈페이지(http://www.ihd.or.kr)",
"value": "UNDERLINE",
"points": 1,
"category": "FontAttribute",
"item": "문구 (제천시청 홈페이지(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": 12,
"Indent": 10
},
"points": 2,
"category": "ParaShape",
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (12), 내어쓰기 (10)",
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
},
"20": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
"searchValue": "2025. 09. 27.",
"value": "1400",
"points": 1,
"category": "OneAnswer",
"item": "문구 (2025. 09. 27.)/① 크기 (1400)",
"desc": "1pt당 100"
},
"21": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"searchValue": "2025. 09. 27.",
"value": "Center",
"points": 1,
"category": "OneAnswer",
"item": "문구 (2025. 09. 27.)/② 정렬 (가운데 정렬)"
},
"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": "RomanCapital",
"points": 2,
"category": "PageNumber",
"item": "① 쪽 번호 매기기 (가,나,다 순으로)",
"desc1": {
"가,나,다": "HangulSyllable",
"1,2,3": "Digit",
"갑,을,병": "DecagonCircle",
"A,B,C": "LatinCapital",
"a,b,c": "LatinSmall",
"①,②,③": "CircledDigit",
"一,二,三": "Ideograph",
"㉠,㉡,㉢": "CircledHangulJamo",
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
"i,ii,iii": "RomanSmall",
"I,II,III": "RomanCapital",
"desc": "정답에 맞는 값 value에 입력"
},
"desc2": "1, 2페이지 모두 정답이어야 점수 부여"
},
"29": {
"path": "//PAGENUM/@Pos",
"value": "BottomLeft",
"points": 2,
"category": "PageNumber",
"item": "왼쪽 아래",
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
"desc2": {
"가운데 아래": "BottomCenter",
"오른쪽 아래": "BottomRight",
"왼쪽 아래": "BottomLeft"
}
},
"30": {
"path": "//CHAR[contains(text(),'{searchValue}')]",
"searchValue": "http://www.ihd.or.kr",
"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": "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": "50",
"points": 2,
"category": "Rectangle.OneAnswer",
"item": "문구 (한약의 정의와 효과)/④ 글상자 모서리 (반원)",
"desc": "모서리 비율 반원:50 / 둥근모양:20"
},
"8": {
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
"value": "62,187,204",
"points": 2,
"category": "Rectangle.Color",
"item": "문구 (한약의 정의와 효과)/⑤ 채우기 : 색상(RGB:62,187,204)"
},
"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": "1700",
"points": 1,
"category": "Rectangle.FontSize",
"item": "문구 (한약의 정의와 효과)/⑨ 글씨크기 (1700)",
"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']",
"value": true,
"points": 2,
"category": "Boolean",
"item": "① 파일명 \"그림A.jpg\" 삽입",
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
},
"15": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
"value": "80",
"points": 2,
"category": "mmSize",
"item": "② 크기-너비 (80 mm)"
},
"16": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
"value": "40",
"points": 2,
"category": "mmSize",
"item": "③ 크기-높이 (40 mm)"
},
"17": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset",
"value": "0",
"points": 2,
"category": "mmSize",
"item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0.0mm)"
},
"18": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
"value": "23",
"points": 2,
"category": "mmSize",
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 23 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": "OneAnswer",
"item": "문구 (전당)/④ 각주 번호모양",
"desc": {
"가,나,다": "HangulSyllable",
"1,2,3": "Digit",
"갑,을,병": "DecagonCircle",
"A,B,C": "LatinCapital",
"a,b,c": "LatinSmall",
"Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital",
"①,②,③": "CircledDigit",
"一,二,三": "Ideograph",
"㉠,㉡,㉢": "CircledHangulJamo",
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
"i,ii,iii": "RomanSmall",
"I,II,III": "RomanCapital",
"甲,乙,丙": "DecagonCircleHanja",
"+,++,+++": "UserChar",
"정답에 맞는 값 value에 입력": ""
}
},
"29": {
"path": "boolean(//CHAR[contains(text(),'Organism')])",
"ignoreWord": "Organism",
"value": true,
"points": 3,
"category": "Boolean",
"item": "Organism/영단어 미입력, 대소문자/오타 시 전체 감점",
"desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요"
},
"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": "1100",
"points": 1,
"category": "OneAnswer",
"item": "제목 문구 (한약에 쓰이는 약초 재배량(단위 : 톤))/② 크기 (1100)"
},
"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": "157,229,141",
"points": 2,
"category": "Color",
"item": "위쪽 제목 셀/① 색상(RGB:157,229,141)"
},
"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}')]) and 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",
"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",
"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",
"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"
}
}
}