2508 채 자료 업데이트
This commit is contained in:
82
01_copy_files.py
Normal file
82
01_copy_files.py
Normal file
@@ -0,0 +1,82 @@
|
||||
# 분류된 "과목별" 폴더에서 시험 파일을 복사하는 스크립트
|
||||
|
||||
import os
|
||||
import shutil
|
||||
import re
|
||||
|
||||
def copy_exam_files(exam_round, exam_codes, source_dir):
|
||||
"""
|
||||
시험 파일을 지정된 출력 폴더로 복사합니다.
|
||||
|
||||
Args:
|
||||
exam_round (str): 시험 회차 (예: "2507")
|
||||
exam_codes (list): 시험 코드 리스트 (예: ["DIC", "DPI"])
|
||||
source_dir (str): 기본 소스 디렉토리 경로
|
||||
"""
|
||||
|
||||
created_test_folders = set() # TEST 폴더 중복 생성을 막기 위한 집합
|
||||
|
||||
for exam_code in exam_codes:
|
||||
code_dir = os.path.join(source_dir, exam_code)
|
||||
|
||||
if not os.path.exists(code_dir):
|
||||
print(f"⚠️ {exam_code} 디렉토리가 존재하지 않습니다.")
|
||||
continue
|
||||
|
||||
# 폴더 이름이 A, B, C...로 시작하는 폴더만 인식
|
||||
exam_types = []
|
||||
for item in os.listdir(code_dir):
|
||||
match = re.match(r"^([A-Z])", item)
|
||||
if match:
|
||||
exam_types.append((match.group(1), item)) # ("A", "A형" 또는 "A_정답")
|
||||
|
||||
if not exam_types:
|
||||
print(f"⚠️ 시험 유형 디렉토리가 없습니다: {exam_code}")
|
||||
continue
|
||||
|
||||
for exam_type, real_folder in exam_types:
|
||||
source_folder = os.path.join(code_dir, real_folder)
|
||||
target_path = os.path.join(".", "input", exam_round, exam_type, exam_code)
|
||||
|
||||
if not os.path.exists(source_folder):
|
||||
print(f"⚠️ 건너뜀: {source_folder} 경로가 존재하지 않습니다.")
|
||||
continue
|
||||
|
||||
os.makedirs(target_path, exist_ok=True)
|
||||
|
||||
# ✅ TEST 폴더 생성: input/회차/유형/TEST
|
||||
# test_folder = os.path.join("output", exam_round, exam_type, "TEST")
|
||||
# if test_folder not in created_test_folders:
|
||||
# os.makedirs(test_folder, exist_ok=True)
|
||||
# created_test_folders.add(test_folder)
|
||||
|
||||
print(f"\n🔄 복사 시작: {exam_code} - 유형: {exam_type} (폴더명: {real_folder})")
|
||||
print(f"📂 원본 경로: {source_folder}")
|
||||
print(f"📂 대상 경로: {target_path}")
|
||||
print("-" * 60)
|
||||
|
||||
try:
|
||||
for item in os.listdir(source_folder):
|
||||
source_item = os.path.join(source_folder, item)
|
||||
target_item = os.path.join(target_path, item)
|
||||
|
||||
if os.path.isdir(source_item):
|
||||
shutil.copytree(source_item, target_item, dirs_exist_ok=True)
|
||||
print(f"📁 폴더 복사: {source_item} ➡️ {target_item}")
|
||||
else:
|
||||
shutil.copy2(source_item, target_item)
|
||||
print(f"📄 파일 복사: {source_item} ➡️ {target_item}")
|
||||
|
||||
print("-" * 60)
|
||||
print(f"✅ 복사 완료: {exam_code} - {exam_type}")
|
||||
except Exception as e:
|
||||
print("-" * 60)
|
||||
print(f"❌ 오류 발생: {exam_code} - {exam_type} - {e}")
|
||||
|
||||
# 사용 예시
|
||||
if __name__ == "__main__":
|
||||
exam_round = "2508"
|
||||
exam_codes = ["DIW"]
|
||||
source_dir = r"D:\project\data\제2508회 정기\(전체답안)답안파일(과목별)"
|
||||
|
||||
copy_exam_files(exam_round, exam_codes, source_dir)
|
||||
52
01_copy_files_1.py
Normal file
52
01_copy_files_1.py
Normal file
@@ -0,0 +1,52 @@
|
||||
import os
|
||||
import shutil
|
||||
import unicodedata
|
||||
|
||||
def copy_dic_subdirs(source_root, target_root_a, target_root_b, target_root_c, target_root_d, target_root_e):
|
||||
for root, dirs, files in os.walk(source_root):
|
||||
for dir_name in dirs:
|
||||
if dir_name.lower() == 'diw': # DIW 디렉토리 탐색
|
||||
parent_dir = os.path.basename(os.path.dirname(os.path.join(root, dir_name)))
|
||||
target_root = None
|
||||
parent_dir = unicodedata.normalize('NFC', parent_dir)
|
||||
|
||||
# 부모 디렉토리가 '2교시'인지, '3교시'인지 확인
|
||||
if parent_dir == '1교시':
|
||||
target_root = target_root_a
|
||||
elif parent_dir == '2교시':
|
||||
target_root = target_root_b
|
||||
elif parent_dir == '3교시':
|
||||
target_root = target_root_c
|
||||
elif parent_dir == '4교시':
|
||||
target_root = target_root_d
|
||||
elif parent_dir == '5교시':
|
||||
target_root = target_root_e
|
||||
|
||||
if target_root:
|
||||
source_dic_path = os.path.join(root, dir_name)
|
||||
target_dir_name = dir_name.upper()
|
||||
target_dic_path = os.path.join(target_root, target_dir_name)
|
||||
|
||||
# DIC 하위 디렉토리와 파일 복사
|
||||
shutil.copytree(source_dic_path, target_dic_path, dirs_exist_ok=True)
|
||||
print(f"Copied {source_dic_path} to {target_dic_path}")
|
||||
|
||||
test_folder_path = os.path.join(target_root, "TEST")
|
||||
os.makedirs(test_folder_path, exist_ok=True)
|
||||
|
||||
|
||||
else:
|
||||
print(f"Skipping {dir_name} under {parent_dir}, as it doesn't match '2교시' or '3교시'.")
|
||||
|
||||
# 사용법
|
||||
# exam_round = "2504_2"
|
||||
exam_round = "2508_2"
|
||||
source_directory = r"D:\project\data\제2508회 수시2(제주)\답안파일\제2508회 디지털정보활용능력 수시2 답안파일"
|
||||
|
||||
target_directory_a = f".\\input\\{exam_round}\\A" # '1교시'의 타겟 경로
|
||||
target_directory_b = f".\\input\\{exam_round}\\B" # '2교시'의 타겟 경로
|
||||
target_directory_c = f".\\input\\{exam_round}\\C" # '3교시'의 타겟 경로
|
||||
target_directory_d = f".\\input\\{exam_round}\\D" # '4교시'의 타겟 경로
|
||||
target_directory_e = f".\\input\\{exam_round}\\E" # '5교시'의 타겟 경로
|
||||
|
||||
copy_dic_subdirs(source_directory, target_directory_a, target_directory_b, target_directory_c, target_directory_d, target_directory_e)
|
||||
@@ -164,8 +164,8 @@ if __name__ == "__main__":
|
||||
setup_logging()
|
||||
|
||||
exam_rounds = [
|
||||
# "2506_3",
|
||||
"2507"
|
||||
"2508",
|
||||
# "2507"
|
||||
]
|
||||
|
||||
# 변환할 폴더 경로 설정
|
||||
|
||||
BIN
250829_DIW_2508A_채점결과.xlsx
Normal file
BIN
250829_DIW_2508A_채점결과.xlsx
Normal file
Binary file not shown.
BIN
250829_DIW_2508B_채점결과.xlsx
Normal file
BIN
250829_DIW_2508B_채점결과.xlsx
Normal file
Binary file not shown.
BIN
250829_DIW_2508C_채점결과.xlsx
Normal file
BIN
250829_DIW_2508C_채점결과.xlsx
Normal file
Binary file not shown.
BIN
250829_DIW_2508D_채점결과.xlsx
Normal file
BIN
250829_DIW_2508D_채점결과.xlsx
Normal file
Binary file not shown.
BIN
250829_DIW_2508_2A_채점결과.xlsx
Normal file
BIN
250829_DIW_2508_2A_채점결과.xlsx
Normal file
Binary file not shown.
840
DIW_2508A.json
Normal file
840
DIW_2508A.json
Normal file
@@ -0,0 +1,840 @@
|
||||
{
|
||||
"0": {
|
||||
"0": {
|
||||
"path": "",
|
||||
"path2": "",
|
||||
"points": 0,
|
||||
"category": "파일저장",
|
||||
"item": "파일명 (수검번호.hwp/hwpx)"
|
||||
},
|
||||
"1": {
|
||||
"path": "//PAGEMARGIN",
|
||||
"value": {
|
||||
"Top": 20,
|
||||
"Bottom": 20,
|
||||
"Left": 20,
|
||||
"Right": 20,
|
||||
"Header": 10,
|
||||
"Footer": 10,
|
||||
"Gutter": 0
|
||||
},
|
||||
"tolerance": 1,
|
||||
"points": 4,
|
||||
"category": "PageSetting",
|
||||
"item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)"
|
||||
},
|
||||
"2": {
|
||||
"path": "",
|
||||
"value": {
|
||||
"FontName": "바탕",
|
||||
"FontSize": "1000",
|
||||
"Alignment": "Justify",
|
||||
"LineSpacing": "160"
|
||||
},
|
||||
"points": 4,
|
||||
"category": "BasicSetting",
|
||||
"item": "글꼴 (바탕, 10pt), 양쪽정렬, 줄간격 (160%)"
|
||||
},
|
||||
"3": {
|
||||
"path": "",
|
||||
"value": null,
|
||||
"points": 40,
|
||||
"category": "오타감점",
|
||||
"item": "오타 1개 -1점 / 2503회부터 오타 1개 -1점으로 변경"
|
||||
}
|
||||
},
|
||||
"1": {
|
||||
"1": {
|
||||
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
||||
"searchValue": "노인일자리참여자모집",
|
||||
"value": "휴먼옛체",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (노인일자리참여자모집)/① 글씨체 (휴먼옛체)"
|
||||
},
|
||||
"2": {
|
||||
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
||||
"searchValue": "노인일자리참여자모집",
|
||||
"value": "199,58,82",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (노인일자리참여자모집)/② 채우기 : 색상(RGB:199,58,82)"
|
||||
},
|
||||
"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": "137,221,202",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "어/③ 면색 : 색상(RGB:137,221,202)"
|
||||
},
|
||||
"11": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
||||
"searchValue": "어",
|
||||
"value": "3.0",
|
||||
"tolerance": 1,
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "어/④ 본문과의 간격 : 3.0mm"
|
||||
},
|
||||
"12": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||
"searchValue": "어르신들에게 다양한 일자리와 봉사활동 기회",
|
||||
"value": "BOLD",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (어르신들에게 다양한 일자리와 봉사활동 기회)/① BOLD"
|
||||
},
|
||||
"13": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||
"searchValue": "어르신들에게 다양한 일자리와 봉사활동 기회",
|
||||
"value": "UNDERLINE",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (어르신들에게 다양한 일자리와 봉사활동 기회)/② UNDERLINE"
|
||||
},
|
||||
"14": {
|
||||
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
||||
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
||||
"char1": "▶",
|
||||
"char2": "◀",
|
||||
"char3": "※",
|
||||
"value": 3,
|
||||
"points": 3,
|
||||
"category": "SpecialChar",
|
||||
"item": "① ▶, ② ◀, ③ ※"
|
||||
},
|
||||
"15": {
|
||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||
"searchValue": "모집안내",
|
||||
"value": "궁서체",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (▶ 모집안내 ◀)/① 글씨체 (궁서체)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"match_str": "모집안내",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "Align",
|
||||
"item": "문구 (▶ 모집안내 ◀)/② 정렬 (가운데 정렬)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "공익활동형, 사회서비스형, 공동체사업단",
|
||||
"value": "BOLD",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (공익활동형, 사회서비스형, 공동체사업단)/① BOLD"
|
||||
},
|
||||
"18": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "공익활동형, 사회서비스형, 공동체사업단",
|
||||
"value": "ITALIC",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (공익활동형, 사회서비스형, 공동체사업단)/② ITALIC"
|
||||
},
|
||||
"19": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||
"searchValue": "기타사항",
|
||||
"value": {
|
||||
"Left": 15,
|
||||
"Indent": 12
|
||||
},
|
||||
"points": 2,
|
||||
"category": "ParaShape",
|
||||
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15), 내어쓰기 (12)",
|
||||
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||
"searchValue": "2025. 08. 23",
|
||||
"value": "1300",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 08. 23)/① 크기 (1300)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"21": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"searchValue": "2025. 08. 23",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 08. 23)/② 정렬 (가운데 정렬)"
|
||||
},
|
||||
"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": "2400",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (시니어클럽)/② 크기 (2400)"
|
||||
},
|
||||
"24": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||
"searchValue": "시니어클럽",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (시니어클럽)/③ 정렬 (가운데 정렬)"
|
||||
},
|
||||
"25": {
|
||||
"path": "//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "DIAT",
|
||||
"value": "굴림",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (DIAT)/① 글꼴 (굴림)"
|
||||
},
|
||||
"26": {
|
||||
"path": "//CHARSHAPE[@Id=//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "DIAT",
|
||||
"value": "900",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/② 크기 (9pt)"
|
||||
},
|
||||
"27": {
|
||||
"path": "//PARASHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
|
||||
"searchValue": "DIAT",
|
||||
"value": "Right",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
|
||||
},
|
||||
"28": {
|
||||
"path": "//PAGENUM/@FormatType",
|
||||
"value": "HangulSyllable",
|
||||
"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": "BottomCenter",
|
||||
"points": 2,
|
||||
"category": "PageNumber",
|
||||
"item": "가운데 아래",
|
||||
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
||||
"desc2": {
|
||||
"가운데 아래": "BottomCenter",
|
||||
"오른쪽 아래": "BottomRight"
|
||||
}
|
||||
},
|
||||
"30": {
|
||||
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
||||
"value": "180",
|
||||
"first_word": "어",
|
||||
"points": 2,
|
||||
"category": "LineSpacing",
|
||||
"item": "문제 1 줄간격 180% 설정",
|
||||
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
|
||||
}
|
||||
},
|
||||
"2": {
|
||||
"1": {
|
||||
"path": "//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@HeaderInside",
|
||||
"path2": "//BORDERFILL[@Id=//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@BorferFill]",
|
||||
"value": {
|
||||
"header_inside": true,
|
||||
"all_double_slim": true
|
||||
},
|
||||
"points": 4,
|
||||
"category": "PageBorder",
|
||||
"item": "문제2 쪽테두리(이중 실선, 머리말 포함) 설정"
|
||||
},
|
||||
"2": {
|
||||
"path": "count(//SECTION)>1",
|
||||
"value": true,
|
||||
"points": 3,
|
||||
"category": "Boolean",
|
||||
"item": "① 구역나누기",
|
||||
"desc": "섹션이 1개 이상이면 점수부여"
|
||||
},
|
||||
"3": {
|
||||
"path": "TEXT/COLDEF/@Count",
|
||||
"value": "2",
|
||||
"points": 3,
|
||||
"category": "TwoColumn",
|
||||
"item": "② 다단 2단"
|
||||
},
|
||||
"4": {
|
||||
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||
"searchValue": "노인일자리",
|
||||
"value": "60",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (노인일자리)/① 크기-너비 (60 mm)"
|
||||
},
|
||||
"5": {
|
||||
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||
"searchValue": "노인일자리",
|
||||
"value": "12",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (노인일자리)/② 크기-높이 (12 mm)"
|
||||
},
|
||||
"6": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//LINESHAPE",
|
||||
"searchValue": "노인일자리",
|
||||
"value": {
|
||||
"Style": "DoubleSlim",
|
||||
"Width": "283"
|
||||
},
|
||||
"points": 2,
|
||||
"category": "LineShape",
|
||||
"item": "문구 (노인일자리)/③ 테두리 : 이중 실선(1.00mm)",
|
||||
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||
},
|
||||
"7": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/@Ratio",
|
||||
"searchValue": "노인일자리",
|
||||
"value": "50",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (노인일자리)/④ 글상자 모서리 (반원)",
|
||||
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||
},
|
||||
"8": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||
"searchValue": "노인일자리",
|
||||
"value": "211,251,193",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (노인일자리)/⑤ 채우기 : 색상(RGB:211,251,193)"
|
||||
},
|
||||
"9": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||
"searchValue": "노인일자리",
|
||||
"value": "true",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (노인일자리)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||
},
|
||||
"10": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::P[last()]/@ParaShape]/@Align",
|
||||
"searchValue": "노인일자리",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (노인일자리)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||
},
|
||||
"11": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "노인일자리",
|
||||
"value": "맑은고딕",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (노인일자리)/⑧ 글씨체 (맑은고딕)"
|
||||
},
|
||||
"12": {
|
||||
"path": "//CHARSHAPE[@Id=//RECTANGLE//TEXT[./CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "노인일자리",
|
||||
"value": "2200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (노인일자리)/⑨ 글씨크기 (2200)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"13": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||
"searchValue": "노인일자리",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (노인일자리)/⑩ 정렬 (가운데 정렬)"
|
||||
},
|
||||
"14": {
|
||||
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG']",
|
||||
"value": true,
|
||||
"points": 2,
|
||||
"category": "Boolean",
|
||||
"item": "① 파일명 \"그림A.jpg\" 삽입",
|
||||
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||
},
|
||||
"15": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
||||
"value": "85",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "② 크기-너비 (85 mm)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
||||
"value": "40",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "③ 크기-높이 (40 mm)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@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']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
||||
"value": "22",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 22 mm)"
|
||||
},
|
||||
"19": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "1. 필요성",
|
||||
"value": "돋움",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구① (1. 필요성)/① 글씨체 (돋움)"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "1. 필요성",
|
||||
"value": "1200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구① (1. 필요성)/② 크기 (1200)"
|
||||
},
|
||||
"21": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"searchValue": "1. 필요성",
|
||||
"value": "BOLD",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구① (1. 필요성)/③ 진하게"
|
||||
},
|
||||
"22": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "2.주요 노인일자리사업",
|
||||
"value": "돋움",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구② (2.주요 노인일자리사업)/① 글씨체 (돋움)"
|
||||
},
|
||||
"23": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "2.주요 노인일자리사업",
|
||||
"value": "1200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구② (2.주요 노인일자리사업)/② 크기 (1200)"
|
||||
},
|
||||
"24": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"searchValue": "2.주요 노인일자리사업",
|
||||
"value": "BOLD",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구② (2.주요 노인일자리사업)/③ 진하게"
|
||||
},
|
||||
"25": {
|
||||
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
||||
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
||||
"option": "세계보건기구",
|
||||
"value": true,
|
||||
"points": 2,
|
||||
"category": "Boolean",
|
||||
"item": "문구 (세계보건기구)/① 각주 설정 및 문구 입력"
|
||||
},
|
||||
"26": {
|
||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||
"searchValue": "국제 공중보건을 책임지는 유엔 전문 기구",
|
||||
"value": "궁서",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (세계보건기구)/② 글씨체 (궁서)"
|
||||
},
|
||||
"27": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
||||
"searchValue": "국제 공중보건을 책임지는 유엔 전문 기구",
|
||||
"value": "900",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (세계보건기구)/③ 크기 (9pt)"
|
||||
},
|
||||
"28": {
|
||||
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
||||
"searchValue": "국제 공중보건을 책임지는 유엔 전문 기구",
|
||||
"value": "CircledDigit",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (전당)/④ 각주 번호모양",
|
||||
"desc": {
|
||||
"가,나,다": "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",
|
||||
"甲,乙,丙": "DecagonCircleHanja",
|
||||
"+,++,+++": "UserChar",
|
||||
"정답에 맞는 값 value에 입력": ""
|
||||
}
|
||||
},
|
||||
"29": {
|
||||
"path": "boolean(//CHAR[contains(text(),'Improvement')])",
|
||||
"ignoreWord": "Improvement",
|
||||
"value": true,
|
||||
"points": 3,
|
||||
"category": "Boolean",
|
||||
"item": "Improvement/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||
"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": "233,215,77",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "위쪽 제목 셀/① 색상(RGB:233,215,77)"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
841
DIW_2508B.json
Normal file
841
DIW_2508B.json
Normal file
@@ -0,0 +1,841 @@
|
||||
{
|
||||
"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": "84,139,241",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (기능경진대회참가안내)/② 채우기 : 색상(RGB:84,139,241)"
|
||||
},
|
||||
"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": "2",
|
||||
"value": {
|
||||
"Height": 2800,
|
||||
"Width": 2800
|
||||
},
|
||||
"tolerance": 200,
|
||||
"points": 1,
|
||||
"category": "TwoLineSize",
|
||||
"item": "2/① 모양 (2줄)"
|
||||
},
|
||||
"9": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "2",
|
||||
"value": "맑은 고딕",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "2/② 글씨체 (맑은 고딕)"
|
||||
},
|
||||
"10": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||
"searchValue": "2",
|
||||
"value": "240,223,102",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "2/③ 면색 : 색상(RGB:240,223,102)"
|
||||
},
|
||||
"11": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
||||
"searchValue": "2",
|
||||
"value": "3.0",
|
||||
"tolerance": 1,
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "2/④ 본문과의 간격 : 3.0mm"
|
||||
},
|
||||
"12": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||
"searchValue": "지역사회의 기능 수준 향상과 기술 및 기능 개발 촉진",
|
||||
"value": "BOLD",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (지역사회의 기능 수준 향상과 기술 및 기능 개발 촉진)/① BOLD"
|
||||
},
|
||||
"13": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||
"searchValue": "지역사회의 기능 수준 향상과 기술 및 기능 개발 촉진",
|
||||
"value": "UNDERLINE",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (지역사회의 기능 수준 향상과 기술 및 기능 개발 촉진)/② UNDERLINE"
|
||||
},
|
||||
"14": {
|
||||
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
||||
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
||||
"char1": "▶",
|
||||
"char2": "◀",
|
||||
"char3": "※",
|
||||
"value": 3,
|
||||
"points": 3,
|
||||
"category": "SpecialChar",
|
||||
"item": "① ▶, ② ◀, ③ ※"
|
||||
},
|
||||
"15": {
|
||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||
"searchValue": "접수안내",
|
||||
"value": "굴림",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (▶ 접수안내 ◀)/① 글씨체 (굴림)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"match_str": "접수안내",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "Align",
|
||||
"item": "문구 (▶ 접수안내 ◀)/② 정렬 (가운데 정렬)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "누구나 참가 가능",
|
||||
"value": "BOLD",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (누구나 참가 가능)/① BOLD"
|
||||
},
|
||||
"18": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "누구나 참가 가능",
|
||||
"value": "ITALIC",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (누구나 참가 가능)/② ITALIC"
|
||||
},
|
||||
"19": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||
"searchValue": "기타사항",
|
||||
"value": {
|
||||
"Left": 15,
|
||||
"Indent": 12
|
||||
},
|
||||
"points": 2,
|
||||
"category": "ParaShape",
|
||||
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15pt), 내어쓰기 (12pt)",
|
||||
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||
"searchValue": "2025. 08. 23.",
|
||||
"value": "1300",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 08. 23.)/① 크기 (1300)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"21": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"searchValue": "2025. 08. 23.",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 08. 23.)/② 정렬 (가운데 정렬)"
|
||||
},
|
||||
"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": "2400",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (기능경진대회운영위원회)/② 크기 (2400)"
|
||||
},
|
||||
"24": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||
"searchValue": "기능경진대회운영위원회",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (기능경진대회운영위원회)/③ 정렬 (가운데 정렬)"
|
||||
},
|
||||
"25": {
|
||||
"path": "//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "DIAT",
|
||||
"value": "굴림",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (DIAT)/① 글꼴 (굴림)"
|
||||
},
|
||||
"26": {
|
||||
"path": "//CHARSHAPE[@Id=//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "DIAT",
|
||||
"value": "900",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/② 크기 (9pt)"
|
||||
},
|
||||
"27": {
|
||||
"path": "//PARASHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
|
||||
"searchValue": "DIAT",
|
||||
"value": "Right",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
|
||||
},
|
||||
"28": {
|
||||
"path": "//PAGENUM/@FormatType",
|
||||
"value": "HangulSyllable",
|
||||
"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": "BottomCenter",
|
||||
"points": 2,
|
||||
"category": "PageNumber",
|
||||
"item": "가운데 아래",
|
||||
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
||||
"desc2": {
|
||||
"가운데 아래": "BottomCenter",
|
||||
"오른쪽 아래": "BottomRight"
|
||||
}
|
||||
},
|
||||
"30": {
|
||||
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
||||
"value": "190",
|
||||
"first_word": "2",
|
||||
"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//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||
"searchValue": "기능경진대회",
|
||||
"value": "60",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (기능경진대회)/① 크기-너비 (60 mm)"
|
||||
},
|
||||
"5": {
|
||||
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||
"searchValue": "기능경진대회",
|
||||
"value": "12",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (기능경진대회)/② 크기-높이 (12 mm)"
|
||||
},
|
||||
"6": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//LINESHAPE",
|
||||
"searchValue": "기능경진대회",
|
||||
"value": {
|
||||
"Style": "DoubleSlim",
|
||||
"Width": "283"
|
||||
},
|
||||
"points": 2,
|
||||
"category": "LineShape",
|
||||
"item": "문구 (기능경진대회)/③ 테두리 : 이중 실선(1.00mm)",
|
||||
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||
},
|
||||
"7": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/@Ratio",
|
||||
"searchValue": "기능경진대회",
|
||||
"value": "50",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (기능경진대회)/④ 글상자 모서리 (반원)",
|
||||
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||
},
|
||||
"8": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||
"searchValue": "기능경진대회",
|
||||
"value": "202,86,167",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (기능경진대회)/⑤ 채우기 : 색상(RGB:202,86,167)"
|
||||
},
|
||||
"9": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||
"searchValue": "기능경진대회",
|
||||
"value": "true",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (기능경진대회)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||
},
|
||||
"10": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::P[last()]/@ParaShape]/@Align",
|
||||
"searchValue": "기능경진대회",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (기능경진대회)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||
},
|
||||
"11": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "기능경진대회",
|
||||
"value": "견고딕",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (기능경진대회)/⑧ 글씨체 (견고딕)"
|
||||
},
|
||||
"12": {
|
||||
"path": "//CHARSHAPE[@Id=//RECTANGLE//TEXT[./CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "기능경진대회",
|
||||
"value": "2200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (기능경진대회)/⑨ 글씨크기 (2200)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"13": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||
"searchValue": "기능경진대회",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (기능경진대회)/⑩ 정렬 (가운데 정렬)"
|
||||
},
|
||||
"14": {
|
||||
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG']",
|
||||
"value": true,
|
||||
"points": 2,
|
||||
"category": "Boolean",
|
||||
"item": "① 파일명 \"그림B.jpg\" 삽입",
|
||||
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||
},
|
||||
"15": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
||||
"value": "85",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "② 크기-너비 (85 mm)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
||||
"value": "40",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "③ 크기-높이 (40 mm)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@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']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
||||
"value": "22",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 22 mm)"
|
||||
},
|
||||
"19": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "1. 대회목적",
|
||||
"value": "돋움",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구① (1. 대회목적)/① 글씨체 (돋움)"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "1. 대회목적",
|
||||
"value": "1200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구① (1. 대회목적)/② 크기 (12pt)"
|
||||
},
|
||||
"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": "CircledLatinCapital",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (전당)/④ 각주 번호모양",
|
||||
"desc": {
|
||||
"가,나,다": "HangulSyllable",
|
||||
"1,2,3": "Digit",
|
||||
"갑,을,병": "DecagonCircle",
|
||||
"A,B,C": "LatinCapital",
|
||||
"a,b,c": "LatinSmall",
|
||||
"①,②,③": "CircledDigit",
|
||||
"一,二,三": "Ideograph",
|
||||
"㉠,㉡,㉢": "CircledHangulJamo",
|
||||
"Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital",
|
||||
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
|
||||
"i,ii,iii": "RomanSmall",
|
||||
"I,II,III": "RomanCapital",
|
||||
"甲,乙,丙": "DecagonCircleHanja",
|
||||
"+,++,+++": "UserChar",
|
||||
"정답에 맞는 값 value에 입력": ""
|
||||
}
|
||||
},
|
||||
"29": {
|
||||
"path": "boolean(//CHAR[contains(text(),'Interior')])",
|
||||
"ignoreWord": "Interior",
|
||||
"value": true,
|
||||
"points": 3,
|
||||
"category": "Boolean",
|
||||
"item": "Interior/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||
"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": "144,210,67",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "위쪽 제목 셀/① 색상(RGB:144,210,67)"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
840
DIW_2508C.json
Normal file
840
DIW_2508C.json
Normal file
@@ -0,0 +1,840 @@
|
||||
{
|
||||
"0": {
|
||||
"0": {
|
||||
"path": "",
|
||||
"path2": "",
|
||||
"points": 0,
|
||||
"category": "파일저장",
|
||||
"item": "파일명 (수검번호.hwp/hwpx)"
|
||||
},
|
||||
"1": {
|
||||
"path": "//PAGEMARGIN",
|
||||
"value": {
|
||||
"Top": 20,
|
||||
"Bottom": 20,
|
||||
"Left": 20,
|
||||
"Right": 20,
|
||||
"Header": 10,
|
||||
"Footer": 10,
|
||||
"Gutter": 0
|
||||
},
|
||||
"tolerance": 1,
|
||||
"points": 4,
|
||||
"category": "PageSetting",
|
||||
"item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)"
|
||||
},
|
||||
"2": {
|
||||
"path": "",
|
||||
"value": {
|
||||
"FontName": "바탕",
|
||||
"FontSize": "1000",
|
||||
"Alignment": "Justify",
|
||||
"LineSpacing": "160"
|
||||
},
|
||||
"points": 4,
|
||||
"category": "BasicSetting",
|
||||
"item": "글꼴 (바탕, 10pt), 양쪽정렬, 줄간격 (160%)"
|
||||
},
|
||||
"3": {
|
||||
"path": "",
|
||||
"value": null,
|
||||
"points": 40,
|
||||
"category": "오타감점",
|
||||
"item": "오타 1개 -1점 / 2503회부터 오타 1개 -1점으로 변경"
|
||||
}
|
||||
},
|
||||
"1": {
|
||||
"1": {
|
||||
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
||||
"searchValue": "치아건강특별강연회",
|
||||
"value": "굴림",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (치아건강특별강연회)/① 글씨체 (굴림)"
|
||||
},
|
||||
"2": {
|
||||
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
||||
"searchValue": "치아건강특별강연회",
|
||||
"value": "183,29,167",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (치아건강특별강연회)/② 채우기 : 색상(RGB:183,29,167)"
|
||||
},
|
||||
"3": {
|
||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
||||
"searchValue": "치아건강특별강연회",
|
||||
"value": "125",
|
||||
"tolerance": 1,
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (치아건강특별강연회)/③ 크기-너비 (125 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": "149,180,174",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "현/③ 면색 : 색상(RGB:149,180,174)"
|
||||
},
|
||||
"11": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
||||
"searchValue": "현",
|
||||
"value": "3.0",
|
||||
"tolerance": 1,
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "현/④ 본문과의 간격 : 3.0mm"
|
||||
},
|
||||
"12": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||
"searchValue": "평생 건강한 치아를 유지하기",
|
||||
"value": "BOLD",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (평생 건강한 치아를 유지하기)/① BOLD"
|
||||
},
|
||||
"13": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||
"searchValue": "평생 건강한 치아를 유지하기",
|
||||
"value": "ITALIC",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (평생 건강한 치아를 유지하기)/② ITALIC"
|
||||
},
|
||||
"14": {
|
||||
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
||||
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
||||
"char1": "◎",
|
||||
"char2": "◎",
|
||||
"char3": "※",
|
||||
"value": 3,
|
||||
"points": 3,
|
||||
"category": "SpecialChar",
|
||||
"item": "① ◎ , ② ◎ , ③ ※"
|
||||
},
|
||||
"15": {
|
||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||
"searchValue": "행사안내",
|
||||
"value": "굴림체",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (◎ 행사안내 ◎)/① 글씨체 (굴림체)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"match_str": "행사안내",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "Align",
|
||||
"item": "문구 (◎ 행사안내 ◎)/② 정렬 (가운데 정렬)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "경복궁역 8번 출구 도보 5분",
|
||||
"value": "ITALIC",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (경복궁역 8번 출구 도보 5분)/① ITALIC"
|
||||
},
|
||||
"18": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "경복궁역 8번 출구 도보 5분",
|
||||
"value": "UNDERLINE",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (경복궁역 8번 출구 도보 5분)/② UNDERLINE"
|
||||
},
|
||||
"19": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||
"searchValue": "기타사항",
|
||||
"value": {
|
||||
"Left": 15,
|
||||
"Indent": 12
|
||||
},
|
||||
"points": 2,
|
||||
"category": "ParaShape",
|
||||
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15pt), 내어쓰기 (12pt)",
|
||||
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||
"searchValue": "2025. 8. 23.",
|
||||
"value": "1400",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 8. 23.)/① 크기 (1400)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"21": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"searchValue": "2025. 8. 23.",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 8. 23.)/② 정렬 (가운데 정렬)"
|
||||
},
|
||||
"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": "2400",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (밝은미소구강센터)/② 크기 (2400)"
|
||||
},
|
||||
"24": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||
"searchValue": "밝은미소구강센터",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (밝은미소구강센터)/③ 정렬 (가운데 정렬)"
|
||||
},
|
||||
"25": {
|
||||
"path": "//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "DIAT",
|
||||
"value": "궁서",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (DIAT)/① 글꼴 (궁서)"
|
||||
},
|
||||
"26": {
|
||||
"path": "//CHARSHAPE[@Id=//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "DIAT",
|
||||
"value": "900",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/② 크기 (9pt)"
|
||||
},
|
||||
"27": {
|
||||
"path": "//PARASHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
|
||||
"searchValue": "DIAT",
|
||||
"value": "Right",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
|
||||
},
|
||||
"28": {
|
||||
"path": "//PAGENUM/@FormatType",
|
||||
"value": "HangulSyllable",
|
||||
"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": "BottomRight",
|
||||
"points": 2,
|
||||
"category": "PageNumber",
|
||||
"item": "오른쪽 아래",
|
||||
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
||||
"desc2": {
|
||||
"가운데 아래": "BottomCenter",
|
||||
"오른쪽 아래": "BottomRight"
|
||||
}
|
||||
},
|
||||
"30": {
|
||||
"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//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||
"searchValue": "구강건강관리",
|
||||
"value": "60",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (구강건강관리)/① 크기-너비 (60 mm)"
|
||||
},
|
||||
"5": {
|
||||
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||
"searchValue": "구강건강관리",
|
||||
"value": "12",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (구강건강관리)/② 크기-높이 (12 mm)"
|
||||
},
|
||||
"6": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//LINESHAPE",
|
||||
"searchValue": "구강건강관리",
|
||||
"value": {
|
||||
"Style": "DoubleSlim",
|
||||
"Width": "283"
|
||||
},
|
||||
"points": 2,
|
||||
"category": "LineShape",
|
||||
"item": "문구 (구강건강관리)/③ 테두리 : 이중 실선(1.00mm)",
|
||||
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||
},
|
||||
"7": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/@Ratio",
|
||||
"searchValue": "구강건강관리",
|
||||
"value": "20",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (구강건강관리)/④ 글상자 모서리 (반원)",
|
||||
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||
},
|
||||
"8": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||
"searchValue": "구강건강관리",
|
||||
"value": "187,140,209",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (구강건강관리)/⑤ 채우기 : 색상(RGB:187,140,209)"
|
||||
},
|
||||
"9": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||
"searchValue": "구강건강관리",
|
||||
"value": "true",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (구강건강관리)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||
},
|
||||
"10": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::P[last()]/@ParaShape]/@Align",
|
||||
"searchValue": "구강건강관리",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (구강건강관리)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||
},
|
||||
"11": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "구강건강관리",
|
||||
"value": "맑은 고딕",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (구강건강관리)/⑧ 글씨체 (맑은 고딕)"
|
||||
},
|
||||
"12": {
|
||||
"path": "//CHARSHAPE[@Id=//RECTANGLE//TEXT[./CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "구강건강관리",
|
||||
"value": "2300",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (구강건강관리)/⑨ 글씨크기 (2300)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"13": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||
"searchValue": "구강건강관리",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (구강건강관리)/⑩ 정렬 (가운데 정렬)"
|
||||
},
|
||||
"14": {
|
||||
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG']",
|
||||
"value": true,
|
||||
"points": 2,
|
||||
"category": "Boolean",
|
||||
"item": "① 파일명 \"그림C.jpg\" 삽입",
|
||||
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||
},
|
||||
"15": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
||||
"value": "80",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "② 크기-너비 (80 mm)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
||||
"value": "40",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "③ 크기-높이 (40 mm)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@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']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
||||
"value": "22",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 22 mm)"
|
||||
},
|
||||
"19": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "1. 구강건강관리",
|
||||
"value": "돋움체",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구① (1. 구강건강관리)/① 글씨체 (돋움체)"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "1. 구강건강관리",
|
||||
"value": "1200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구① (1. 구강건강관리)/② 크기 (12pt)"
|
||||
},
|
||||
"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": "DecagonCircle",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (전당)/④ 각주 번호모양",
|
||||
"desc": {
|
||||
"가,나,다": "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",
|
||||
"甲,乙,丙": "DecagonCircleHanja",
|
||||
"+,++,+++": "UserChar",
|
||||
"정답에 맞는 값 value에 입력": ""
|
||||
}
|
||||
},
|
||||
"29": {
|
||||
"path": "boolean(//CHAR[contains(text(),'Fluoride')])",
|
||||
"ignoreWord": "Fluoride",
|
||||
"value": true,
|
||||
"points": 3,
|
||||
"category": "Boolean",
|
||||
"item": "Fluoride/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||
"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": "문구 (…칫솔질은 창아와 잇몸 경계에 45도…)>'창' → '치' 글자바꿈"
|
||||
},
|
||||
"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": "210,191,27",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "위쪽 제목 셀/① 색상(RGB:210,191,27)"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
841
DIW_2508D.json
Normal file
841
DIW_2508D.json
Normal file
@@ -0,0 +1,841 @@
|
||||
{
|
||||
"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": "230,47,199",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (강원도지역문화체험안내)/② 채우기 : 색상(RGB:230,47,199)"
|
||||
},
|
||||
"3": {
|
||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
||||
"searchValue": "강원도지역문화체험안내",
|
||||
"value": "125",
|
||||
"tolerance": 1,
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (강원도지역문화체험안내)/③ 크기-너비 (125 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": "231,215,17",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "자/③ 면색 : 색상(RGB:231,215,17)"
|
||||
},
|
||||
"11": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
||||
"searchValue": "자",
|
||||
"value": "3.0",
|
||||
"tolerance": 1,
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "자/④ 본문과의 간격 : 3.0mm"
|
||||
},
|
||||
"12": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||
"searchValue": "독특한 문화를 경험하실 수 있도록",
|
||||
"value": "BOLD",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (독특한 문화를 경험하실 수 있도록)/① BOLD"
|
||||
},
|
||||
"13": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||
"searchValue": "독특한 문화를 경험하실 수 있도록",
|
||||
"value": "ITALIC",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (독특한 문화를 경험하실 수 있도록)/② ITALIC"
|
||||
},
|
||||
"14": {
|
||||
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
||||
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
||||
"char1": "▶",
|
||||
"char2": "◀",
|
||||
"char3": "※",
|
||||
"value": 3,
|
||||
"points": 3,
|
||||
"category": "SpecialChar",
|
||||
"item": "① ▶, ② ◀, ③ ※"
|
||||
},
|
||||
"15": {
|
||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||
"searchValue": "행사안내",
|
||||
"value": "궁서",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (▶ 행사안내 ◀)/① 글씨체 (궁서)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"match_str": "행사안내",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "Align",
|
||||
"item": "문구 (▶ 행사안내 ◀)/② 정렬 (가운데 정렬)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "강원도 춘천시 중앙문화지역센터 및 인근 공원",
|
||||
"value": "ITALIC",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (강원도 춘천시 중앙문화지역센터 및 인근 공원)/① ITALIC"
|
||||
},
|
||||
"18": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "강원도 춘천시 중앙문화지역센터 및 인근 공원",
|
||||
"value": "UNDERLINE",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (강원도 춘천시 중앙문화지역센터 및 인근 공원)/② UNDERLINE"
|
||||
},
|
||||
"19": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||
"searchValue": "기타사항",
|
||||
"value": {
|
||||
"Left": 15,
|
||||
"Indent": 12
|
||||
},
|
||||
"points": 2,
|
||||
"category": "ParaShape",
|
||||
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15pt), 내어쓰기 (12pt)",
|
||||
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||
"searchValue": "2025. 8. 23.",
|
||||
"value": "1400",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 8. 23.)/① 크기 (1400)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"21": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"searchValue": "2025. 8. 23.",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 8. 23.)/② 정렬 (가운데 정렬)"
|
||||
},
|
||||
"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": "//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "DIAT",
|
||||
"value": "궁서",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (DIAT)/① 글꼴 (궁서)"
|
||||
},
|
||||
"26": {
|
||||
"path": "//CHARSHAPE[@Id=//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "DIAT",
|
||||
"value": "900",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/② 크기 (9pt)"
|
||||
},
|
||||
"27": {
|
||||
"path": "//PARASHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
|
||||
"searchValue": "DIAT",
|
||||
"value": "Right",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
|
||||
},
|
||||
"28": {
|
||||
"path": "//PAGENUM/@FormatType",
|
||||
"value": "Digit",
|
||||
"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": "BottomCenter",
|
||||
"points": 2,
|
||||
"category": "PageNumber",
|
||||
"item": "가운데 아래",
|
||||
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
||||
"desc2": {
|
||||
"가운데 아래": "BottomCenter",
|
||||
"오른쪽 아래": "BottomRight"
|
||||
}
|
||||
},
|
||||
"30": {
|
||||
"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//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||
"searchValue": "매력적인 강원도",
|
||||
"value": "68",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (매력적인 강원도)/① 크기-너비 (68 mm)"
|
||||
},
|
||||
"5": {
|
||||
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||
"searchValue": "매력적인 강원도",
|
||||
"value": "12",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (매력적인 강원도)/② 크기-높이 (12 mm)"
|
||||
},
|
||||
"6": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//LINESHAPE",
|
||||
"searchValue": "매력적인 강원도",
|
||||
"value": {
|
||||
"Style": "DoubleSlim",
|
||||
"Width": "283"
|
||||
},
|
||||
"points": 2,
|
||||
"category": "LineShape",
|
||||
"item": "문구 (매력적인 강원도)/③ 테두리 : 이중 실선(1.00mm)",
|
||||
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||
},
|
||||
"7": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/@Ratio",
|
||||
"searchValue": "매력적인 강원도",
|
||||
"value": "50",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (매력적인 강원도)/④ 글상자 모서리 (반원)",
|
||||
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||
},
|
||||
"8": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||
"searchValue": "매력적인 강원도",
|
||||
"value": "130,159,32",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (매력적인 강원도)/⑤ 채우기 : 색상(RGB:130,159,32)"
|
||||
},
|
||||
"9": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||
"searchValue": "매력적인 강원도",
|
||||
"value": "true",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (매력적인 강원도)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||
},
|
||||
"10": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::P[last()]/@ParaShape]/@Align",
|
||||
"searchValue": "매력적인 강원도",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (매력적인 강원도)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||
},
|
||||
"11": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "매력적인 강원도",
|
||||
"value": "굴림체",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (매력적인 강원도)/⑧ 글씨체 (굴림체)"
|
||||
},
|
||||
"12": {
|
||||
"path": "//CHARSHAPE[@Id=//RECTANGLE//TEXT[./CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "매력적인 강원도",
|
||||
"value": "2300",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (매력적인 강원도)/⑨ 글씨크기 (2300)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"13": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||
"searchValue": "매력적인 강원도",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (매력적인 강원도)/⑩ 정렬 (가운데 정렬)"
|
||||
},
|
||||
"14": {
|
||||
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG']",
|
||||
"value": true,
|
||||
"points": 2,
|
||||
"category": "Boolean",
|
||||
"item": "① 파일명 \"그림D.jpg\" 삽입",
|
||||
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||
},
|
||||
"15": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
||||
"value": "85",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "② 크기-너비 (85 mm)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
||||
"value": "40",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "③ 크기-높이 (40 mm)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@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']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
||||
"value": "22",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 22 mm)"
|
||||
},
|
||||
"19": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "1. 지역적 특성",
|
||||
"value": "맑은 고딕",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구① (1. 지역적 특성)/① 글씨체 (맑은 고딕)"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "1. 지역적 특성",
|
||||
"value": "1200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구① (1. 지역적 특성)/② 크기 (12pt)"
|
||||
},
|
||||
"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": "Digit",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (전당)/④ 각주 번호모양",
|
||||
"desc": {
|
||||
"가,나,다": "HangulSyllable",
|
||||
"1,2,3": "Digit",
|
||||
"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",
|
||||
"甲,乙,丙": "DecagonCircleHanja",
|
||||
"+,++,+++": "UserChar",
|
||||
"정답에 맞는 값 value에 입력": ""
|
||||
}
|
||||
},
|
||||
"29": {
|
||||
"path": "boolean(//CHAR[contains(text(),'Tourism')])",
|
||||
"ignoreWord": "Tourism",
|
||||
"value": true,
|
||||
"points": 3,
|
||||
"category": "Boolean",
|
||||
"item": "Tourism/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||
"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": "87,215,182",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "위쪽 제목 셀/① 색상(RGB:87,215,182)"
|
||||
},
|
||||
"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": "블록 계산식/AVG",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
840
DIW_2508_2A.json
Normal file
840
DIW_2508_2A.json
Normal file
@@ -0,0 +1,840 @@
|
||||
{
|
||||
"0": {
|
||||
"0": {
|
||||
"path": "",
|
||||
"path2": "",
|
||||
"points": 0,
|
||||
"category": "파일저장",
|
||||
"item": "파일명 (수검번호.hwp/hwpx)"
|
||||
},
|
||||
"1": {
|
||||
"path": "//PAGEMARGIN",
|
||||
"value": {
|
||||
"Top": 20,
|
||||
"Bottom": 20,
|
||||
"Left": 20,
|
||||
"Right": 20,
|
||||
"Header": 10,
|
||||
"Footer": 10,
|
||||
"Gutter": 0
|
||||
},
|
||||
"tolerance": 1,
|
||||
"points": 4,
|
||||
"category": "PageSetting",
|
||||
"item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)"
|
||||
},
|
||||
"2": {
|
||||
"path": "",
|
||||
"value": {
|
||||
"FontName": "바탕",
|
||||
"FontSize": "1000",
|
||||
"Alignment": "Justify",
|
||||
"LineSpacing": "160"
|
||||
},
|
||||
"points": 4,
|
||||
"category": "BasicSetting",
|
||||
"item": "글꼴 (바탕, 10pt), 양쪽정렬, 줄간격 (160%)"
|
||||
},
|
||||
"3": {
|
||||
"path": "",
|
||||
"value": null,
|
||||
"points": 40,
|
||||
"category": "오타감점",
|
||||
"item": "오타 1개 -1점 / 2503회부터 오타 1개 -1점으로 변경"
|
||||
}
|
||||
},
|
||||
"1": {
|
||||
"1": {
|
||||
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
||||
"searchValue": "공주맛밤수확체험행사",
|
||||
"value": "견고딕",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (공주맛밤수확체험행사)/① 글씨체 (견고딕)"
|
||||
},
|
||||
"2": {
|
||||
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
||||
"searchValue": "공주맛밤수확체험행사",
|
||||
"value": "51,69,153",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (공주맛밤수확체험행사)/② 채우기 : 색상(RGB:51,69,153)"
|
||||
},
|
||||
"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": "219,207,102",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "공/③ 면색 : 색상(RGB:219,207,102)"
|
||||
},
|
||||
"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": "UNDERLINE",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (전국적으로 사랑받는 지역 특산물)/① UNDERLINE"
|
||||
},
|
||||
"13": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||
"searchValue": "전국적으로 사랑받는 지역 특산물",
|
||||
"value": "ITALIC",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (전국적으로 사랑받는 지역 특산물)/② ITALIC"
|
||||
},
|
||||
"14": {
|
||||
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
||||
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
||||
"char1": "■",
|
||||
"char2": "■",
|
||||
"char3": "※",
|
||||
"value": 3,
|
||||
"points": 3,
|
||||
"category": "SpecialChar",
|
||||
"item": "① ■, ② ■, ③ ※"
|
||||
},
|
||||
"15": {
|
||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||
"searchValue": "행사안내",
|
||||
"value": "돋움",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (■ 행사안내 ■)/① 글씨체 (돋움)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"match_str": "행사안내",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "Align",
|
||||
"item": "문구 (■ 행사안내 ■)/② 정렬 (가운데 정렬)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "2025년 09월 20일(토) 13:30 ~ 17:30",
|
||||
"value": "BOLD",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (2025년 09월 20일(토) 13:30 ~ 17:30)/① BOLD"
|
||||
},
|
||||
"18": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "2025년 09월 20일(토) 13:30 ~ 17:30",
|
||||
"value": "UNDERLINE",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (2025년 09월 20일(토) 13:30 ~ 17:30)/② UNDERLINE"
|
||||
},
|
||||
"19": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||
"searchValue": "신청안내",
|
||||
"value": {
|
||||
"Left": 10,
|
||||
"Indent": 12
|
||||
},
|
||||
"points": 2,
|
||||
"category": "ParaShape",
|
||||
"item": "문구 (※ 신청안내… 이하 문단)/왼쪽여백 (10pt), 내어쓰기 (12pt)",
|
||||
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||
"searchValue": "2025. 08. 27.",
|
||||
"value": "1400",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 08. 27.)/① 크기 (1400)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"21": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"searchValue": "2025. 08. 27.",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 08. 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": "2200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (공주시청농촌활력과)/② 크기 (2200)"
|
||||
},
|
||||
"24": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||
"searchValue": "공주시청농촌활력과",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (공주시청농촌활력과)/③ 정렬 (가운데 정렬)"
|
||||
},
|
||||
"25": {
|
||||
"path": "//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "DIAT",
|
||||
"value": "돋움체",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (DIAT)/① 글꼴 (돋움체)"
|
||||
},
|
||||
"26": {
|
||||
"path": "//CHARSHAPE[@Id=//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "DIAT",
|
||||
"value": "900",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/② 크기 (9pt)"
|
||||
},
|
||||
"27": {
|
||||
"path": "//PARASHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
|
||||
"searchValue": "DIAT",
|
||||
"value": "Right",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
|
||||
},
|
||||
"28": {
|
||||
"path": "//PAGENUM/@FormatType",
|
||||
"value": "HangulSyllable",
|
||||
"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": "BottomCenter",
|
||||
"points": 2,
|
||||
"category": "PageNumber",
|
||||
"item": "가운데 아래",
|
||||
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
||||
"desc2": {
|
||||
"가운데 아래": "BottomCenter",
|
||||
"오른쪽 아래": "BottomRight"
|
||||
}
|
||||
},
|
||||
"30": {
|
||||
"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//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "65",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (아름다운 계절, 가을)/① 크기-너비 (65 mm)"
|
||||
},
|
||||
"5": {
|
||||
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "12",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (아름다운 계절, 가을)/② 크기-높이 (12 mm)"
|
||||
},
|
||||
"6": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//LINESHAPE",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": {
|
||||
"Style": "DoubleSlim",
|
||||
"Width": "283"
|
||||
},
|
||||
"points": 2,
|
||||
"category": "LineShape",
|
||||
"item": "문구 (아름다운 계절, 가을)/③ 테두리 : 이중 실선(1.00mm)",
|
||||
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||
},
|
||||
"7": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/@Ratio",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "50",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (아름다운 계절, 가을)/④ 글상자 모서리 (반원)",
|
||||
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||
},
|
||||
"8": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "249,173,168",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (아름다운 계절, 가을)/⑤ 채우기 : 색상(RGB:249,173,168)"
|
||||
},
|
||||
"9": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "true",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (아름다운 계절, 가을)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||
},
|
||||
"10": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::P[last()]/@ParaShape]/@Align",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (아름다운 계절, 가을)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||
},
|
||||
"11": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "굴림체",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (아름다운 계절, 가을)/⑧ 글씨체 (굴림체)"
|
||||
},
|
||||
"12": {
|
||||
"path": "//CHARSHAPE[@Id=//RECTANGLE//TEXT[./CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "1700",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (아름다운 계절, 가을)/⑨ 글씨크기 (1700)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"13": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (아름다운 계절, 가을)/⑩ 정렬 (가운데 정렬)"
|
||||
},
|
||||
"14": {
|
||||
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG']",
|
||||
"value": true,
|
||||
"points": 2,
|
||||
"category": "Boolean",
|
||||
"item": "① 파일명 \"그림A.jpg\" 삽입",
|
||||
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||
},
|
||||
"15": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
||||
"value": "80",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "② 크기-너비 (80 mm)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
||||
"value": "40",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "③ 크기-높이 (40 mm)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@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']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
||||
"value": "22",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 22 mm)"
|
||||
},
|
||||
"19": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "1. 가을이란?",
|
||||
"value": "중고딕",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구① (1. 가을이란?)/① 글씨체 (중고딕)"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "1. 가을이란?",
|
||||
"value": "1200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구① (1. 가을이란?)/② 크기 (12pt)"
|
||||
},
|
||||
"21": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"searchValue": "1. 가을이란?",
|
||||
"value": "BOLD",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구① (1. 가을이란?)/③ 진하게"
|
||||
},
|
||||
"22": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "2. 우리나라의 가을",
|
||||
"value": "중고딕",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구② (2. 우리나라의 가을)/① 글씨체 (중고딕)"
|
||||
},
|
||||
"23": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "2. 우리나라의 가을",
|
||||
"value": "1200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구② (2. 우리나라의 가을)/② 크기 (1200)"
|
||||
},
|
||||
"24": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"searchValue": "2. 우리나라의 가을",
|
||||
"value": "BOLD",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구② (2. 우리나라의 가을)/③ 진하게"
|
||||
},
|
||||
"25": {
|
||||
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
||||
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
||||
"option": "단풍",
|
||||
"value": true,
|
||||
"points": 2,
|
||||
"category": "Boolean",
|
||||
"item": "문구 (단풍)/① 각주 설정 및 문구 입력"
|
||||
},
|
||||
"26": {
|
||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||
"searchValue": "기후 변화로 인해 식물의 잎의 색이 변하는 현상",
|
||||
"value": "돋움",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (단풍)/② 글씨체 (돋움)"
|
||||
},
|
||||
"27": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
||||
"searchValue": "기후 변화로 인해 식물의 잎의 색이 변하는 현상",
|
||||
"value": "900",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (단풍)/③ 크기 (9pt)"
|
||||
},
|
||||
"28": {
|
||||
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
||||
"searchValue": "기후 변화로 인해 식물의 잎의 색이 변하는 현상",
|
||||
"value": "DecagonCircleHanja",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (전당)/④ 각주 번호모양",
|
||||
"desc": {
|
||||
"가,나,다": "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",
|
||||
"甲,乙,丙": "DecagonCircleHanja",
|
||||
"+,++,+++": "UserChar",
|
||||
"정답에 맞는 값 value에 입력": ""
|
||||
}
|
||||
},
|
||||
"29": {
|
||||
"path": "boolean(//CHAR[contains(text(),'Economy')])",
|
||||
"ignoreWord": "Economy",
|
||||
"value": true,
|
||||
"points": 3,
|
||||
"category": "Boolean",
|
||||
"item": "Economy/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||
"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": "154,235,85",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "위쪽 제목 셀/① 색상(RGB:154,235,85)"
|
||||
},
|
||||
"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": "80",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "④ 크기-높이 (80 mm)"
|
||||
},
|
||||
"49": {
|
||||
"chart_xpath": "boolean(//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='합계' or text()='평균']))",
|
||||
"value": true,
|
||||
"points": 2,
|
||||
"category": "Boolean",
|
||||
"item": "⑤ 차트 데이터(표에서 블록계산식을 제외한 나머지 값만 이용)",
|
||||
"desc": "차트가 존재하고 블록계산식(합계, 평균) 데이터가 없는 경우 정답 처리"
|
||||
},
|
||||
"50": {
|
||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
||||
"searchValue": "가을 명산 입장객 수",
|
||||
"value": "궁서체",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "제목 문구 (가을 명산 입장객 수)/① 글씨체 (궁서체)"
|
||||
},
|
||||
"51": {
|
||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
||||
"searchValue": "가을 명산 입장객 수",
|
||||
"value": "1200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "제목 문구 (가을 명산 입장객 수)/② 크기 (1200)"
|
||||
},
|
||||
"52": {
|
||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
||||
"option": "i",
|
||||
"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": "b",
|
||||
"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": "b",
|
||||
"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": "b",
|
||||
"value": "1",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "범례/③ 기울임",
|
||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,5 @@
|
||||
# 분류되지 않은 답안파일 원본 폴더에서 복사할 때 사용
|
||||
|
||||
import os
|
||||
import shutil
|
||||
import unicodedata
|
||||
@@ -50,3 +52,4 @@ target_directory_d = f".\\input\\{exam_round}\\D" # '4교시'의 타겟 경로
|
||||
target_directory_e = f".\\input\\{exam_round}\\E" # '5교시'의 타겟 경로
|
||||
|
||||
copy_dic_subdirs(source_directory, target_directory_a, target_directory_b, target_directory_c, target_directory_d, target_directory_e)
|
||||
|
||||
@@ -388,17 +388,18 @@ class XMLScorer:
|
||||
|
||||
elif (category or "") == "majorGridlines":
|
||||
# 줄/칸 전환여부 확인
|
||||
table_col_count = root.xpath("//SECTION[2]//TABLE/@ColCount")
|
||||
# table_col_count = root.xpath("//SECTION[2]//TABLE/@ColCount")
|
||||
table_col_count = root.xpath("//TABLE/@ColCount")
|
||||
|
||||
print("🟡테이블 열 개수: ", int(table_col_count[0]) if table_col_count else 0)
|
||||
# print("🟡테이블 열 개수: ", int(table_col_count[0]) if table_col_count else 0)
|
||||
|
||||
chart_ser_count = chart_tree.xpath("count(//c:ser)", namespaces=namespaces) if chart_xpath else 0
|
||||
|
||||
print("🟡차트 데이터 개수: ", int(chart_ser_count) if isinstance(chart_ser_count, (int, float)) else 0)
|
||||
# print("🟡차트 데이터 개수: ", int(chart_ser_count) if isinstance(chart_ser_count, (int, float)) else 0)
|
||||
|
||||
isXYtransposed = False
|
||||
if table_col_count and chart_ser_count:
|
||||
if int(chart_ser_count) >= int(table_col_count[0]):
|
||||
if int(chart_ser_count) > int(table_col_count[0])-1:
|
||||
isXYtransposed = True
|
||||
|
||||
# 값 축 주눈금선 존재하는지 여부 확인
|
||||
@@ -1271,8 +1272,8 @@ class XMLScorer:
|
||||
def main():
|
||||
|
||||
# 시험회차 및 유형
|
||||
exam_round = '2507'
|
||||
# exam_round = '2506_5'
|
||||
# exam_round = '2507'
|
||||
exam_round = '2508'
|
||||
|
||||
# 채점하고자 하는 유형은 주석 해제
|
||||
exam_types = [
|
||||
@@ -1292,7 +1293,6 @@ def main():
|
||||
|
||||
# xml(hml)파일 디렉토리 경로 (예시:./output/2503/A/DIW)
|
||||
xml_directory = f'./output/{exam_round}/{exam_type}/{"TEST" if test_mode else "DIW"}'
|
||||
|
||||
# 오탈자 체크를 위한 정답 파일 경로 (예시:./output/A/DIW/DIW_2503A.hml)
|
||||
# correct_answer_file = f'./output/{exam_type}/DIW/DIW_{exam_round}{exam_type}.hml'
|
||||
correct_answer_file = f'./output/{exam_round}/{exam_type}/DIW/DIW_{exam_round}{exam_type}.hml'
|
||||
|
||||
3227
hwp_conversion.log
3227
hwp_conversion.log
File diff suppressed because it is too large
Load Diff
@@ -1 +1 @@
|
||||
[{"kind":2,"language":"xpath","value":"//a:t[text()='클라우드 보안투자']/ancestor::a:r//a:ea/@typeface"},{"kind":2,"language":"xpath","value":"boolean(//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE/FONTID/@Hangul]/@Name='바탕' and //CHARSHAPE/@Height='1000' and //PARASHAPE/PARAMARGIN/@LineSpacing='160' and //PARASHAPE/@Align='Justify')"},{"kind":2,"language":"xpath","value":"//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE/FONTID/@Hangul]/@Name='바탕'"},{"kind":2,"language":"xpath","value":"//SECTION[2]//TABLE/@ColCount"},{"kind":2,"language":"xpath","value":"count(//c:ser) > 2"},{"kind":2,"language":"xpath","value":"//CHARSHAPE[@Id=//RECTANGLE//TEXT[CHAR[text()='여']]/@CharShape]/@Height"},{"kind":2,"language":"xpath","value":"//c:majorGridlines"},{"kind":2,"language":"xpath","value":"//P[.//FIELDBEGIN[@Type='Hyperlink'] and .//CHAR[contains(., 'http')]]"},{"kind":2,"language":"xpath","value":"//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true')]/@HorzOffset"},{"kind":2,"language":"xpath","value":"//CHAR[contains(string(.), '※')]/descendant-or-self::text()"},{"kind":2,"language":"xpath","value":"//P[@ParaShape=\"17\"]/TEXT[@CharShape='7']//CHAR[string(.)]"},{"kind":2,"language":"xpath","value":"//CHAR[contains(string(.), '기타')]/text()"}]
|
||||
[{"kind":2,"language":"xpath","value":"//a:t[text()='클라우드 보안투자']/ancestor::a:r//a:ea/@typeface"},{"kind":2,"language":"xpath","value":"boolean(//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE/FONTID/@Hangul]/@Name='바탕' and //CHARSHAPE/@Height='1000' and //PARASHAPE/PARAMARGIN/@LineSpacing='160' and //PARASHAPE/@Align='Justify')"},{"kind":2,"language":"xpath","value":"//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE/FONTID/@Hangul]/@Name='바탕'"},{"kind":2,"language":"xpath","value":"//CHAR[contains(text(),'각도')][contains(text(),'角度')]角度"},{"kind":2,"language":"xpath","value":"//CHAR[contains(text(),'예방')][contains(text(),'豫防')]"},{"kind":2,"language":"xpath","value":"//CHAR[contains(text(),'예방')]"},{"kind":2,"language":"xpath","value":"//c:majorGridlines"},{"kind":2,"language":"xpath","value":"//P[.//FIELDBEGIN[@Type='Hyperlink'] and .//CHAR[contains(., 'http')]]"},{"kind":2,"language":"xpath","value":"//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true')]/@HorzOffset"},{"kind":2,"language":"xpath","value":"//CHAR[contains(string(.), '※')]/descendant-or-self::text()"},{"kind":2,"language":"xpath","value":"//P[@ParaShape=\"17\"]/TEXT[@CharShape='7']//CHAR[string(.)]"},{"kind":2,"language":"xpath","value":"//CHAR[contains(string(.), '기타')]/text()"}]
|
||||
BIN
회차별채점자료/2507/excel_채점결과/250801_DIW_2507A_채점결과.xlsx
Normal file
BIN
회차별채점자료/2507/excel_채점결과/250801_DIW_2507A_채점결과.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2507/excel_채점결과/250801_DIW_2507B_채점결과.xlsx
Normal file
BIN
회차별채점자료/2507/excel_채점결과/250801_DIW_2507B_채점결과.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2507/excel_채점결과/250801_DIW_2507C_채점결과.xlsx
Normal file
BIN
회차별채점자료/2507/excel_채점결과/250801_DIW_2507C_채점결과.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2507/excel_채점결과/250801_DIW_2507D_채점결과.xlsx
Normal file
BIN
회차별채점자료/2507/excel_채점결과/250801_DIW_2507D_채점결과.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2507/excel_채점결과/250804_DIW_2507B_TEST.xlsx
Normal file
BIN
회차별채점자료/2507/excel_채점결과/250804_DIW_2507B_TEST.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2507/excel_채점결과/250804_DIW_2507B_채점결과.xlsx
Normal file
BIN
회차별채점자료/2507/excel_채점결과/250804_DIW_2507B_채점결과.xlsx
Normal file
Binary file not shown.
Binary file not shown.
3353
회차별채점자료/2507/hml_변환/DIW_2507A.hml
Normal file
3353
회차별채점자료/2507/hml_변환/DIW_2507A.hml
Normal file
File diff suppressed because one or more lines are too long
5253
회차별채점자료/2507/hml_변환/DIW_2507B.hml
Normal file
5253
회차별채점자료/2507/hml_변환/DIW_2507B.hml
Normal file
File diff suppressed because one or more lines are too long
4167
회차별채점자료/2507/hml_변환/DIW_2507C.hml
Normal file
4167
회차별채점자료/2507/hml_변환/DIW_2507C.hml
Normal file
File diff suppressed because one or more lines are too long
6423
회차별채점자료/2507/hml_변환/DIW_2507D.hml
Normal file
6423
회차별채점자료/2507/hml_변환/DIW_2507D.hml
Normal file
File diff suppressed because one or more lines are too long
BIN
회차별채점자료/2507/hwp_정답/DIW/A/DIW_2507A.hwpx
Normal file
BIN
회차별채점자료/2507/hwp_정답/DIW/A/DIW_2507A.hwpx
Normal file
Binary file not shown.
BIN
회차별채점자료/2507/hwp_정답/DIW/B/DIW_2507B.hwpx
Normal file
BIN
회차별채점자료/2507/hwp_정답/DIW/B/DIW_2507B.hwpx
Normal file
Binary file not shown.
BIN
회차별채점자료/2507/hwp_정답/DIW/C/DIW_2507C.hwpx
Normal file
BIN
회차별채점자료/2507/hwp_정답/DIW/C/DIW_2507C.hwpx
Normal file
Binary file not shown.
BIN
회차별채점자료/2507/hwp_정답/DIW/D/DIW_2507D.hwpx
Normal file
BIN
회차별채점자료/2507/hwp_정답/DIW/D/DIW_2507D.hwpx
Normal file
Binary file not shown.
@@ -714,7 +714,7 @@
|
||||
"item": "① 종류 (묶은가로막대형)",
|
||||
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
|
||||
},
|
||||
"46": {
|
||||
"46": {
|
||||
"chart_xpath": "//c:majorGridlines",
|
||||
"value": true,
|
||||
"points": 2,
|
||||
844
회차별채점자료/2507/json_채점기준표/0811/DIW_2507C.json
Normal file
844
회차별채점자료/2507/json_채점기준표/0811/DIW_2507C.json
Normal file
@@ -0,0 +1,844 @@
|
||||
{
|
||||
"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": "233,106,147",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (물절약포스터대회)/② 채우기 : 색상(RGB:233,106,147)"
|
||||
},
|
||||
"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": "242,144,240",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "물/③ 면색 : 색상(RGB:242,144,240)"
|
||||
},
|
||||
"11": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
||||
"searchValue": "물",
|
||||
"value": "3.0",
|
||||
"tolerance": 1,
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "물/④ 본문과의 간격 : 3.0mm"
|
||||
},
|
||||
"12": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||
"searchValue": "소중한 물 절약 포스터",
|
||||
"value": "BOLD",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (소중한 물 절약 포스터)/① BOLD"
|
||||
},
|
||||
"13": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||
"searchValue": "소중한 물 절약 포스터",
|
||||
"value": "ITALIC",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (소중한 물 절약 포스터)/② ITALIC"
|
||||
},
|
||||
"14": {
|
||||
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
||||
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
||||
"char1": "♠",
|
||||
"char2": "♠",
|
||||
"char3": "※",
|
||||
"value": 3,
|
||||
"points": 3,
|
||||
"category": "SpecialChar",
|
||||
"item": "① ♠, ② ♠, ③ ※"
|
||||
},
|
||||
"15": {
|
||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||
"searchValue": "대회안내",
|
||||
"value": "굴림체",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (♠ 대회안내 ♠)/① 글씨체 (굴림체)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"match_str": "대회안내",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "Align",
|
||||
"item": "문구 (♠ 대회안내 ♠)/② 정렬 (가운데 정렬)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "2025년 8월 16일(토) 10시 ~ 16시",
|
||||
"value": "ITALIC",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (2025년 8월 16일(토) 10시 ~ 16시)/① ITALIC"
|
||||
},
|
||||
"18": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "2025년 8월 16일(토) 10시 ~ 16시",
|
||||
"value": "UNDERLINE",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (2025년 8월 16일(토) 10시 ~ 16시)/② UNDERLINE"
|
||||
},
|
||||
"19": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||
"searchValue": "기타사항",
|
||||
"value": {
|
||||
"Left": 15,
|
||||
"Indent": 12
|
||||
},
|
||||
"points": 2,
|
||||
"category": "ParaShape",
|
||||
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15pt), 내어쓰기 (12pt)",
|
||||
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||
"searchValue": "2025. 07. 26.",
|
||||
"value": "1300",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 07. 26.)/① 크기 (1300)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"21": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"searchValue": "2025. 07. 26.",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 07. 26.)/② 정렬 (가운데 정렬)"
|
||||
},
|
||||
"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": "2400",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (코리아워터협회)/② 크기 (2400)"
|
||||
},
|
||||
"24": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||
"searchValue": "코리아워터협회",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (코리아워터협회)/③ 정렬 (가운데 정렬)"
|
||||
},
|
||||
"25": {
|
||||
"path": "//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "DIAT",
|
||||
"value": "궁서",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (DIAT)/① 글꼴 (궁서)"
|
||||
},
|
||||
"26": {
|
||||
"path": "//CHARSHAPE[@Id=//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "DIAT",
|
||||
"value": "900",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/② 크기 (9pt)"
|
||||
},
|
||||
"27": {
|
||||
"path": "//PARASHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
|
||||
"searchValue": "DIAT",
|
||||
"value": "Right",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
|
||||
},
|
||||
"28": {
|
||||
"path": "//PAGENUM/@FormatType",
|
||||
"value": "DecagonCircleHanja",
|
||||
"points": 2,
|
||||
"category": "PageNumber",
|
||||
"item": "① 쪽 번호 매기기 (가,나,다 순으로)",
|
||||
"desc1": {
|
||||
"가,나,다": "HangulSyllable",
|
||||
"1,2,3": "Digit",
|
||||
"갑,을,병": "DecagonCircle",
|
||||
"甲,乙,丙": "DecagonCircleHanja",
|
||||
"A,B,C": "LatinCapital",
|
||||
"a,b,c": "LatinSmall",
|
||||
"①,②,③": "CircledDigit",
|
||||
"一,二,三": "Ideograph",
|
||||
"㉠,㉡,㉢": "CircledHangulJamo",
|
||||
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
|
||||
"i,ii,iii": "RomanSmall",
|
||||
"I,II,III": "RomanCapital",
|
||||
"+,++,+++": "UserChar",
|
||||
"desc": "정답에 맞는 값 value에 입력"
|
||||
},
|
||||
"desc2": "1, 2페이지 모두 정답이어야 점수 부여"
|
||||
},
|
||||
"29": {
|
||||
"path": "//PAGENUM/@Pos",
|
||||
"value": "BottomCenter",
|
||||
"points": 2,
|
||||
"category": "PageNumber",
|
||||
"item": "가운데 아래",
|
||||
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
||||
"desc2": {
|
||||
"가운데 아래": "BottomCenter",
|
||||
"오른쪽 아래": "BottomRight",
|
||||
"왼쪽 아래": "BottomLeft"
|
||||
}
|
||||
},
|
||||
"30": {
|
||||
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
||||
"value": "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//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||
"searchValue": "댐의 종류",
|
||||
"value": "45",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (댐의 종류)/① 크기-너비 (45 mm)"
|
||||
},
|
||||
"5": {
|
||||
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||
"searchValue": "댐의 종류",
|
||||
"value": "12",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (댐의 종류)/② 크기-높이 (12 mm)"
|
||||
},
|
||||
"6": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//LINESHAPE",
|
||||
"searchValue": "댐의 종류",
|
||||
"value": {
|
||||
"Style": "DoubleSlim",
|
||||
"Width": "283"
|
||||
},
|
||||
"points": 2,
|
||||
"category": "LineShape",
|
||||
"item": "문구 (댐의 종류)/③ 테두리 : 이중 실선(1.00mm)",
|
||||
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||
},
|
||||
"7": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/@Ratio",
|
||||
"searchValue": "댐의 종류",
|
||||
"value": "50",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (댐의 종류)/④ 글상자 모서리 (직각)",
|
||||
"desc": "모서리 비율 반원:50 / 둥근모양:20 / 직각:0"
|
||||
},
|
||||
"8": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||
"searchValue": "댐의 종류",
|
||||
"value": "249,207,27",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (댐의 종류)/⑤ 채우기 : 색상(RGB:249,207,27)"
|
||||
},
|
||||
"9": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||
"searchValue": "댐의 종류",
|
||||
"value": "true",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (댐의 종류)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||
},
|
||||
"10": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::P[last()]/@ParaShape]/@Align",
|
||||
"searchValue": "댐의 종류",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (댐의 종류)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||
},
|
||||
"11": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "댐의 종류",
|
||||
"value": "맑은 고딕",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (댐의 종류)/⑧ 글씨체 (맑은 고딕)"
|
||||
},
|
||||
"12": {
|
||||
"path": "//CHARSHAPE[@Id=//RECTANGLE//TEXT[./CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "댐의 종류",
|
||||
"value": "1800",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (댐의 종류)/⑨ 글씨크기 (1800)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"13": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||
"searchValue": "댐의 종류",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (댐의 종류)/⑩ 정렬 (가운데 정렬)"
|
||||
},
|
||||
"14": {
|
||||
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG']",
|
||||
"value": true,
|
||||
"points": 2,
|
||||
"category": "Boolean",
|
||||
"item": "① 파일명 \"그림C.jpg\" 삽입",
|
||||
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||
},
|
||||
"15": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
||||
"value": "80",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "② 크기-너비 (80 mm)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
||||
"value": "40",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "③ 크기-높이 (40 mm)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@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']/@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. 댐의 기원)/② 크기 (12pt)"
|
||||
},
|
||||
"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": "CircledLatinSmall",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (전당)/④ 각주 번호모양",
|
||||
"desc": {
|
||||
"가,나,다": "HangulSyllable",
|
||||
"㉮,㉯,㉰": "CircledHangulSyllable",
|
||||
"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",
|
||||
"甲,乙,丙": "DecagonCircleHanja",
|
||||
"+,++,+++": "UserChar",
|
||||
"정답에 맞는 값 value에 입력": ""
|
||||
}
|
||||
},
|
||||
"29": {
|
||||
"path": "boolean(//CHAR[contains(text(),'Landslide')])",
|
||||
"ignoreWord": "Landslide",
|
||||
"value": true,
|
||||
"points": 3,
|
||||
"category": "Boolean",
|
||||
"item": "Landslide/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||
"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": "179,197,243",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "위쪽 제목 셀/① 색상(RGB:179,197,243)"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
844
회차별채점자료/2507/json_채점기준표/0811/DIW_2507D.json
Normal file
844
회차별채점자료/2507/json_채점기준표/0811/DIW_2507D.json
Normal file
@@ -0,0 +1,844 @@
|
||||
{
|
||||
"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": "49,95,151",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (여름방학특집해양스포츠체험교실)/② 채우기 : 색상(RGB:49,95,151)"
|
||||
},
|
||||
"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": "249,230,188",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "여/③ 면색 : 색상(RGB:249,230,188)"
|
||||
},
|
||||
"11": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
||||
"searchValue": "여",
|
||||
"value": "3.0",
|
||||
"tolerance": 1,
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "여/④ 본문과의 간격 : 3.0mm"
|
||||
},
|
||||
"12": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||
"searchValue": "시원한 바다와 함께하는 해양 스포츠 체험 교실",
|
||||
"value": "BOLD",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (시원한 바다와 함께하는 해양 스포츠 체험 교실)/① BOLD"
|
||||
},
|
||||
"13": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||
"searchValue": "시원한 바다와 함께하는 해양 스포츠 체험 교실",
|
||||
"value": "UNDERLINE",
|
||||
"points": 2,
|
||||
"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": "해양소년단 연맹 홈페이지(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": 10,
|
||||
"Indent": 12
|
||||
},
|
||||
"points": 2,
|
||||
"category": "ParaShape",
|
||||
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (10pt), 내어쓰기 (12pt)",
|
||||
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||
"searchValue": "2025. 07. 26.",
|
||||
"value": "1400",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 07. 26.)/① 크기 (1400)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"21": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"searchValue": "2025. 07. 26.",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 07. 26.)/② 정렬 (가운데 정렬)"
|
||||
},
|
||||
"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": "//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "DIAT",
|
||||
"value": "굴림",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (DIAT)/① 글꼴 (굴림)"
|
||||
},
|
||||
"26": {
|
||||
"path": "//CHARSHAPE[@Id=//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "DIAT",
|
||||
"value": "900",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/② 크기 (9pt)"
|
||||
},
|
||||
"27": {
|
||||
"path": "//PARASHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
|
||||
"searchValue": "DIAT",
|
||||
"value": "Right",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
|
||||
},
|
||||
"28": {
|
||||
"path": "//PAGENUM/@FormatType",
|
||||
"value": "CircledDigit",
|
||||
"points": 2,
|
||||
"category": "PageNumber",
|
||||
"item": "① 쪽 번호 매기기 (①,②,③ 순으로)",
|
||||
"desc1": {
|
||||
"가,나,다": "HangulSyllable",
|
||||
"1,2,3": "Digit",
|
||||
"갑,을,병": "DecagonCircle",
|
||||
"甲,乙,丙": "DecagonCircleHanja",
|
||||
"A,B,C": "LatinCapital",
|
||||
"a,b,c": "LatinSmall",
|
||||
"①,②,③": "CircledDigit",
|
||||
"一,二,三": "Ideograph",
|
||||
"㉠,㉡,㉢": "CircledHangulJamo",
|
||||
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
|
||||
"i,ii,iii": "RomanSmall",
|
||||
"I,II,III": "RomanCapital",
|
||||
"+,++,+++": "UserChar",
|
||||
"desc": "정답에 맞는 값 value에 입력"
|
||||
},
|
||||
"desc2": "1, 2페이지 모두 정답이어야 점수 부여"
|
||||
},
|
||||
"29": {
|
||||
"path": "//PAGENUM/@Pos",
|
||||
"value": "BottomRight",
|
||||
"points": 2,
|
||||
"category": "PageNumber",
|
||||
"item": "가운데 아래",
|
||||
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
||||
"desc2": {
|
||||
"가운데 아래": "BottomCenter",
|
||||
"오른쪽 아래": "BottomRight",
|
||||
"왼쪽 아래": "BottomLeft"
|
||||
}
|
||||
},
|
||||
"30": {
|
||||
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
||||
"value": "180",
|
||||
"first_word": "여",
|
||||
"points": 2,
|
||||
"category": "LineSpacing",
|
||||
"item": "문제 1 줄간격 180% 설정",
|
||||
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
|
||||
}
|
||||
},
|
||||
"2": {
|
||||
"1": {
|
||||
"path": "//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@HeaderInside",
|
||||
"path2": "//BORDERFILL[@Id=//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@BorferFill]",
|
||||
"value": {
|
||||
"header_inside": true,
|
||||
"all_double_slim": true
|
||||
},
|
||||
"points": 4,
|
||||
"category": "PageBorder",
|
||||
"item": "문제2 쪽테두리(이중 실선, 머리말 포함) 설정"
|
||||
},
|
||||
"2": {
|
||||
"path": "count(//SECTION)>1",
|
||||
"value": true,
|
||||
"points": 3,
|
||||
"category": "Boolean",
|
||||
"item": "① 구역나누기",
|
||||
"desc": "섹션이 1개 이상이면 점수부여"
|
||||
},
|
||||
"3": {
|
||||
"path": "TEXT/COLDEF/@Count",
|
||||
"value": "2",
|
||||
"points": 3,
|
||||
"category": "TwoColumn",
|
||||
"item": "② 다단 2단"
|
||||
},
|
||||
"4": {
|
||||
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||
"searchValue": "해양 스포츠의 세계",
|
||||
"value": "60",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (해양 스포츠의 세계)/① 크기-너비 (60 mm)"
|
||||
},
|
||||
"5": {
|
||||
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||
"searchValue": "해양 스포츠의 세계",
|
||||
"value": "12",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (해양 스포츠의 세계)/② 크기-높이 (12 mm)"
|
||||
},
|
||||
"6": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//LINESHAPE",
|
||||
"searchValue": "해양 스포츠의 세계",
|
||||
"value": {
|
||||
"Style": "DoubleSlim",
|
||||
"Width": "283"
|
||||
},
|
||||
"points": 2,
|
||||
"category": "LineShape",
|
||||
"item": "문구 (해양 스포츠의 세계)/③ 테두리 : 이중 실선(1.00mm)",
|
||||
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||
},
|
||||
"7": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/@Ratio",
|
||||
"searchValue": "해양 스포츠의 세계",
|
||||
"value": "20",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (해양 스포츠의 세계)/④ 글상자 모서리 (직각)",
|
||||
"desc": "모서리 비율 반원:50 / 둥근모양:20 / 직각:0"
|
||||
},
|
||||
"8": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||
"searchValue": "해양 스포츠의 세계",
|
||||
"value": "248,231,130",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (해양 스포츠의 세계)/⑤ 채우기 : 색상(RGB:248,231,130)"
|
||||
},
|
||||
"9": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||
"searchValue": "해양 스포츠의 세계",
|
||||
"value": "true",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (해양 스포츠의 세계)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||
},
|
||||
"10": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::P[last()]/@ParaShape]/@Align",
|
||||
"searchValue": "해양 스포츠의 세계",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (해양 스포츠의 세계)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||
},
|
||||
"11": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "해양 스포츠의 세계",
|
||||
"value": "궁서",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (해양 스포츠의 세계)/⑧ 글씨체 (궁서)"
|
||||
},
|
||||
"12": {
|
||||
"path": "//CHARSHAPE[@Id=//RECTANGLE//TEXT[./CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "해양 스포츠의 세계",
|
||||
"value": "1800",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (해양 스포츠의 세계)/⑨ 글씨크기 (1800)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"13": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||
"searchValue": "해양 스포츠의 세계",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (해양 스포츠의 세계)/⑩ 정렬 (가운데 정렬)"
|
||||
},
|
||||
"14": {
|
||||
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG']",
|
||||
"value": true,
|
||||
"points": 2,
|
||||
"category": "Boolean",
|
||||
"item": "① 파일명 \"그림D.jpg\" 삽입",
|
||||
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||
},
|
||||
"15": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
||||
"value": "85",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "② 크기-너비 (85 mm)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
||||
"value": "40",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "③ 크기-높이 (40 mm)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@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']/@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. 국립해양박물관)/② 크기 (12pt)"
|
||||
},
|
||||
"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": "CircledHangulSyllable",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (전당)/④ 각주 번호모양",
|
||||
"desc": {
|
||||
"가,나,다": "HangulSyllable",
|
||||
"㉮,㉯,㉰": "CircledHangulSyllable",
|
||||
"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",
|
||||
"甲,乙,丙": "DecagonCircleHanja",
|
||||
"+,++,+++": "UserChar",
|
||||
"정답에 맞는 값 value에 입력": ""
|
||||
}
|
||||
},
|
||||
"29": {
|
||||
"path": "boolean(//CHAR[contains(text(),'Display')])",
|
||||
"ignoreWord": "Display",
|
||||
"value": true,
|
||||
"points": 3,
|
||||
"category": "Boolean",
|
||||
"item": "Display/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||
"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": "233,162,149",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "위쪽 제목 셀/① 색상(RGB:233,162,149)"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
회차별채점자료/2508/DIW_2508A.hwpx
Normal file
BIN
회차별채점자료/2508/DIW_2508A.hwpx
Normal file
Binary file not shown.
840
회차별채점자료/2508/DIW_2508A.json
Normal file
840
회차별채점자료/2508/DIW_2508A.json
Normal file
@@ -0,0 +1,840 @@
|
||||
{
|
||||
"0": {
|
||||
"0": {
|
||||
"path": "",
|
||||
"path2": "",
|
||||
"points": 0,
|
||||
"category": "파일저장",
|
||||
"item": "파일명 (수검번호.hwp/hwpx)"
|
||||
},
|
||||
"1": {
|
||||
"path": "//PAGEMARGIN",
|
||||
"value": {
|
||||
"Top": 20,
|
||||
"Bottom": 20,
|
||||
"Left": 20,
|
||||
"Right": 20,
|
||||
"Header": 10,
|
||||
"Footer": 10,
|
||||
"Gutter": 0
|
||||
},
|
||||
"tolerance": 1,
|
||||
"points": 4,
|
||||
"category": "PageSetting",
|
||||
"item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)"
|
||||
},
|
||||
"2": {
|
||||
"path": "",
|
||||
"value": {
|
||||
"FontName": "바탕",
|
||||
"FontSize": "1000",
|
||||
"Alignment": "Justify",
|
||||
"LineSpacing": "160"
|
||||
},
|
||||
"points": 4,
|
||||
"category": "BasicSetting",
|
||||
"item": "글꼴 (바탕, 10pt), 양쪽정렬, 줄간격 (160%)"
|
||||
},
|
||||
"3": {
|
||||
"path": "",
|
||||
"value": null,
|
||||
"points": 40,
|
||||
"category": "오타감점",
|
||||
"item": "오타 1개 -1점 / 2503회부터 오타 1개 -1점으로 변경"
|
||||
}
|
||||
},
|
||||
"1": {
|
||||
"1": {
|
||||
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
||||
"searchValue": "노인일자리참여자모집",
|
||||
"value": "휴먼옛체",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (노인일자리참여자모집)/① 글씨체 (휴먼옛체)"
|
||||
},
|
||||
"2": {
|
||||
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
||||
"searchValue": "노인일자리참여자모집",
|
||||
"value": "199,58,82",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (노인일자리참여자모집)/② 채우기 : 색상(RGB:199,58,82)"
|
||||
},
|
||||
"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": "137,221,202",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "어/③ 면색 : 색상(RGB:137,221,202)"
|
||||
},
|
||||
"11": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
||||
"searchValue": "어",
|
||||
"value": "3.0",
|
||||
"tolerance": 1,
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "어/④ 본문과의 간격 : 3.0mm"
|
||||
},
|
||||
"12": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||
"searchValue": "어르신들에게 다양한 일자리와 봉사활동 기회",
|
||||
"value": "BOLD",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (어르신들에게 다양한 일자리와 봉사활동 기회)/① BOLD"
|
||||
},
|
||||
"13": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||
"searchValue": "어르신들에게 다양한 일자리와 봉사활동 기회",
|
||||
"value": "UNDERLINE",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (어르신들에게 다양한 일자리와 봉사활동 기회)/② UNDERLINE"
|
||||
},
|
||||
"14": {
|
||||
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
||||
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
||||
"char1": "▶",
|
||||
"char2": "◀",
|
||||
"char3": "※",
|
||||
"value": 3,
|
||||
"points": 3,
|
||||
"category": "SpecialChar",
|
||||
"item": "① ▶, ② ◀, ③ ※"
|
||||
},
|
||||
"15": {
|
||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||
"searchValue": "모집안내",
|
||||
"value": "궁서체",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (▶ 모집안내 ◀)/① 글씨체 (궁서체)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"match_str": "모집안내",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "Align",
|
||||
"item": "문구 (▶ 모집안내 ◀)/② 정렬 (가운데 정렬)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "공익활동형, 사회서비스형, 공동체사업단",
|
||||
"value": "BOLD",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (공익활동형, 사회서비스형, 공동체사업단)/① BOLD"
|
||||
},
|
||||
"18": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "공익활동형, 사회서비스형, 공동체사업단",
|
||||
"value": "ITALIC",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (공익활동형, 사회서비스형, 공동체사업단)/② ITALIC"
|
||||
},
|
||||
"19": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||
"searchValue": "기타사항",
|
||||
"value": {
|
||||
"Left": 15,
|
||||
"Indent": 12
|
||||
},
|
||||
"points": 2,
|
||||
"category": "ParaShape",
|
||||
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15), 내어쓰기 (12)",
|
||||
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||
"searchValue": "2025. 08. 23",
|
||||
"value": "1300",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 08. 23)/① 크기 (1300)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"21": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"searchValue": "2025. 08. 23",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 08. 23)/② 정렬 (가운데 정렬)"
|
||||
},
|
||||
"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": "2400",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (시니어클럽)/② 크기 (2400)"
|
||||
},
|
||||
"24": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||
"searchValue": "시니어클럽",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (시니어클럽)/③ 정렬 (가운데 정렬)"
|
||||
},
|
||||
"25": {
|
||||
"path": "//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "DIAT",
|
||||
"value": "굴림",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (DIAT)/① 글꼴 (굴림)"
|
||||
},
|
||||
"26": {
|
||||
"path": "//CHARSHAPE[@Id=//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "DIAT",
|
||||
"value": "900",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/② 크기 (9pt)"
|
||||
},
|
||||
"27": {
|
||||
"path": "//PARASHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
|
||||
"searchValue": "DIAT",
|
||||
"value": "Right",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
|
||||
},
|
||||
"28": {
|
||||
"path": "//PAGENUM/@FormatType",
|
||||
"value": "HangulSyllable",
|
||||
"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": "BottomCenter",
|
||||
"points": 2,
|
||||
"category": "PageNumber",
|
||||
"item": "가운데 아래",
|
||||
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
||||
"desc2": {
|
||||
"가운데 아래": "BottomCenter",
|
||||
"오른쪽 아래": "BottomRight"
|
||||
}
|
||||
},
|
||||
"30": {
|
||||
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
||||
"value": "180",
|
||||
"first_word": "어",
|
||||
"points": 2,
|
||||
"category": "LineSpacing",
|
||||
"item": "문제 1 줄간격 180% 설정",
|
||||
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
|
||||
}
|
||||
},
|
||||
"2": {
|
||||
"1": {
|
||||
"path": "//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@HeaderInside",
|
||||
"path2": "//BORDERFILL[@Id=//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@BorferFill]",
|
||||
"value": {
|
||||
"header_inside": true,
|
||||
"all_double_slim": true
|
||||
},
|
||||
"points": 4,
|
||||
"category": "PageBorder",
|
||||
"item": "문제2 쪽테두리(이중 실선, 머리말 포함) 설정"
|
||||
},
|
||||
"2": {
|
||||
"path": "count(//SECTION)>1",
|
||||
"value": true,
|
||||
"points": 3,
|
||||
"category": "Boolean",
|
||||
"item": "① 구역나누기",
|
||||
"desc": "섹션이 1개 이상이면 점수부여"
|
||||
},
|
||||
"3": {
|
||||
"path": "TEXT/COLDEF/@Count",
|
||||
"value": "2",
|
||||
"points": 3,
|
||||
"category": "TwoColumn",
|
||||
"item": "② 다단 2단"
|
||||
},
|
||||
"4": {
|
||||
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||
"searchValue": "노인일자리",
|
||||
"value": "60",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (노인일자리)/① 크기-너비 (60 mm)"
|
||||
},
|
||||
"5": {
|
||||
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||
"searchValue": "노인일자리",
|
||||
"value": "12",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (노인일자리)/② 크기-높이 (12 mm)"
|
||||
},
|
||||
"6": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//LINESHAPE",
|
||||
"searchValue": "노인일자리",
|
||||
"value": {
|
||||
"Style": "DoubleSlim",
|
||||
"Width": "283"
|
||||
},
|
||||
"points": 2,
|
||||
"category": "LineShape",
|
||||
"item": "문구 (노인일자리)/③ 테두리 : 이중 실선(1.00mm)",
|
||||
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||
},
|
||||
"7": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/@Ratio",
|
||||
"searchValue": "노인일자리",
|
||||
"value": "50",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (노인일자리)/④ 글상자 모서리 (반원)",
|
||||
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||
},
|
||||
"8": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||
"searchValue": "노인일자리",
|
||||
"value": "211,251,193",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (노인일자리)/⑤ 채우기 : 색상(RGB:211,251,193)"
|
||||
},
|
||||
"9": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||
"searchValue": "노인일자리",
|
||||
"value": "true",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (노인일자리)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||
},
|
||||
"10": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::P[last()]/@ParaShape]/@Align",
|
||||
"searchValue": "노인일자리",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (노인일자리)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||
},
|
||||
"11": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "노인일자리",
|
||||
"value": "맑은고딕",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (노인일자리)/⑧ 글씨체 (맑은고딕)"
|
||||
},
|
||||
"12": {
|
||||
"path": "//CHARSHAPE[@Id=//RECTANGLE//TEXT[./CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "노인일자리",
|
||||
"value": "2200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (노인일자리)/⑨ 글씨크기 (2200)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"13": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||
"searchValue": "노인일자리",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (노인일자리)/⑩ 정렬 (가운데 정렬)"
|
||||
},
|
||||
"14": {
|
||||
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG']",
|
||||
"value": true,
|
||||
"points": 2,
|
||||
"category": "Boolean",
|
||||
"item": "① 파일명 \"그림A.jpg\" 삽입",
|
||||
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||
},
|
||||
"15": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
||||
"value": "85",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "② 크기-너비 (85 mm)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
||||
"value": "40",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "③ 크기-높이 (40 mm)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@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']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
||||
"value": "22",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 22 mm)"
|
||||
},
|
||||
"19": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "1. 필요성",
|
||||
"value": "돋움",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구① (1. 필요성)/① 글씨체 (돋움)"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "1. 필요성",
|
||||
"value": "1200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구① (1. 필요성)/② 크기 (1200)"
|
||||
},
|
||||
"21": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"searchValue": "1. 필요성",
|
||||
"value": "BOLD",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구① (1. 필요성)/③ 진하게"
|
||||
},
|
||||
"22": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "2.주요 노인일자리사업",
|
||||
"value": "돋움",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구② (2.주요 노인일자리사업)/① 글씨체 (돋움)"
|
||||
},
|
||||
"23": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "2.주요 노인일자리사업",
|
||||
"value": "1200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구② (2.주요 노인일자리사업)/② 크기 (1200)"
|
||||
},
|
||||
"24": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"searchValue": "2.주요 노인일자리사업",
|
||||
"value": "BOLD",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구② (2.주요 노인일자리사업)/③ 진하게"
|
||||
},
|
||||
"25": {
|
||||
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
||||
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
||||
"option": "세계보건기구",
|
||||
"value": true,
|
||||
"points": 2,
|
||||
"category": "Boolean",
|
||||
"item": "문구 (세계보건기구)/① 각주 설정 및 문구 입력"
|
||||
},
|
||||
"26": {
|
||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||
"searchValue": "국제 공중보건을 책임지는 유엔 전문 기구",
|
||||
"value": "궁서",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (세계보건기구)/② 글씨체 (궁서)"
|
||||
},
|
||||
"27": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
||||
"searchValue": "국제 공중보건을 책임지는 유엔 전문 기구",
|
||||
"value": "900",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (세계보건기구)/③ 크기 (9pt)"
|
||||
},
|
||||
"28": {
|
||||
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
||||
"searchValue": "국제 공중보건을 책임지는 유엔 전문 기구",
|
||||
"value": "CircledDigit",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (전당)/④ 각주 번호모양",
|
||||
"desc": {
|
||||
"가,나,다": "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",
|
||||
"甲,乙,丙": "DecagonCircleHanja",
|
||||
"+,++,+++": "UserChar",
|
||||
"정답에 맞는 값 value에 입력": ""
|
||||
}
|
||||
},
|
||||
"29": {
|
||||
"path": "boolean(//CHAR[contains(text(),'Improvement')])",
|
||||
"ignoreWord": "Improvement",
|
||||
"value": true,
|
||||
"points": 3,
|
||||
"category": "Boolean",
|
||||
"item": "Improvement/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||
"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": "233,215,77",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "위쪽 제목 셀/① 색상(RGB:233,215,77)"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
회차별채점자료/2508/DIW_2508A.xlsx
Normal file
BIN
회차별채점자료/2508/DIW_2508A.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2508/DIW_2508A_문제.hwpx
Normal file
BIN
회차별채점자료/2508/DIW_2508A_문제.hwpx
Normal file
Binary file not shown.
BIN
회차별채점자료/2508/DIW_2508B.hwpx
Normal file
BIN
회차별채점자료/2508/DIW_2508B.hwpx
Normal file
Binary file not shown.
841
회차별채점자료/2508/DIW_2508B.json
Normal file
841
회차별채점자료/2508/DIW_2508B.json
Normal file
@@ -0,0 +1,841 @@
|
||||
{
|
||||
"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": "84,139,241",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (기능경진대회참가안내)/② 채우기 : 색상(RGB:84,139,241)"
|
||||
},
|
||||
"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": "2",
|
||||
"value": {
|
||||
"Height": 2800,
|
||||
"Width": 2800
|
||||
},
|
||||
"tolerance": 200,
|
||||
"points": 1,
|
||||
"category": "TwoLineSize",
|
||||
"item": "2/① 모양 (2줄)"
|
||||
},
|
||||
"9": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "2",
|
||||
"value": "맑은 고딕",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "2/② 글씨체 (맑은 고딕)"
|
||||
},
|
||||
"10": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||
"searchValue": "2",
|
||||
"value": "240,223,102",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "2/③ 면색 : 색상(RGB:240,223,102)"
|
||||
},
|
||||
"11": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
||||
"searchValue": "2",
|
||||
"value": "3.0",
|
||||
"tolerance": 1,
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "2/④ 본문과의 간격 : 3.0mm"
|
||||
},
|
||||
"12": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||
"searchValue": "지역사회의 기능 수준 향상과 기술 및 기능 개발 촉진",
|
||||
"value": "BOLD",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (지역사회의 기능 수준 향상과 기술 및 기능 개발 촉진)/① BOLD"
|
||||
},
|
||||
"13": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||
"searchValue": "지역사회의 기능 수준 향상과 기술 및 기능 개발 촉진",
|
||||
"value": "UNDERLINE",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (지역사회의 기능 수준 향상과 기술 및 기능 개발 촉진)/② UNDERLINE"
|
||||
},
|
||||
"14": {
|
||||
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
||||
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
||||
"char1": "▶",
|
||||
"char2": "◀",
|
||||
"char3": "※",
|
||||
"value": 3,
|
||||
"points": 3,
|
||||
"category": "SpecialChar",
|
||||
"item": "① ▶, ② ◀, ③ ※"
|
||||
},
|
||||
"15": {
|
||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||
"searchValue": "접수안내",
|
||||
"value": "굴림",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (▶ 접수안내 ◀)/① 글씨체 (굴림)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"match_str": "접수안내",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "Align",
|
||||
"item": "문구 (▶ 접수안내 ◀)/② 정렬 (가운데 정렬)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "누구나 참가 가능",
|
||||
"value": "BOLD",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (누구나 참가 가능)/① BOLD"
|
||||
},
|
||||
"18": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "누구나 참가 가능",
|
||||
"value": "ITALIC",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (누구나 참가 가능)/② ITALIC"
|
||||
},
|
||||
"19": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||
"searchValue": "기타사항",
|
||||
"value": {
|
||||
"Left": 15,
|
||||
"Indent": 12
|
||||
},
|
||||
"points": 2,
|
||||
"category": "ParaShape",
|
||||
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15pt), 내어쓰기 (12pt)",
|
||||
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||
"searchValue": "2025. 08. 23.",
|
||||
"value": "1300",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 08. 23.)/① 크기 (1300)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"21": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"searchValue": "2025. 08. 23.",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 08. 23.)/② 정렬 (가운데 정렬)"
|
||||
},
|
||||
"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": "2400",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (기능경진대회운영위원회)/② 크기 (2400)"
|
||||
},
|
||||
"24": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||
"searchValue": "기능경진대회운영위원회",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (기능경진대회운영위원회)/③ 정렬 (가운데 정렬)"
|
||||
},
|
||||
"25": {
|
||||
"path": "//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "DIAT",
|
||||
"value": "굴림",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (DIAT)/① 글꼴 (굴림)"
|
||||
},
|
||||
"26": {
|
||||
"path": "//CHARSHAPE[@Id=//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "DIAT",
|
||||
"value": "900",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/② 크기 (9pt)"
|
||||
},
|
||||
"27": {
|
||||
"path": "//PARASHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
|
||||
"searchValue": "DIAT",
|
||||
"value": "Right",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
|
||||
},
|
||||
"28": {
|
||||
"path": "//PAGENUM/@FormatType",
|
||||
"value": "HangulSyllable",
|
||||
"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": "BottomCenter",
|
||||
"points": 2,
|
||||
"category": "PageNumber",
|
||||
"item": "가운데 아래",
|
||||
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
||||
"desc2": {
|
||||
"가운데 아래": "BottomCenter",
|
||||
"오른쪽 아래": "BottomRight"
|
||||
}
|
||||
},
|
||||
"30": {
|
||||
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
||||
"value": "190",
|
||||
"first_word": "2",
|
||||
"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//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||
"searchValue": "기능경진대회",
|
||||
"value": "60",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (기능경진대회)/① 크기-너비 (60 mm)"
|
||||
},
|
||||
"5": {
|
||||
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||
"searchValue": "기능경진대회",
|
||||
"value": "12",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (기능경진대회)/② 크기-높이 (12 mm)"
|
||||
},
|
||||
"6": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//LINESHAPE",
|
||||
"searchValue": "기능경진대회",
|
||||
"value": {
|
||||
"Style": "DoubleSlim",
|
||||
"Width": "283"
|
||||
},
|
||||
"points": 2,
|
||||
"category": "LineShape",
|
||||
"item": "문구 (기능경진대회)/③ 테두리 : 이중 실선(1.00mm)",
|
||||
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||
},
|
||||
"7": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/@Ratio",
|
||||
"searchValue": "기능경진대회",
|
||||
"value": "50",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (기능경진대회)/④ 글상자 모서리 (반원)",
|
||||
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||
},
|
||||
"8": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||
"searchValue": "기능경진대회",
|
||||
"value": "202,86,167",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (기능경진대회)/⑤ 채우기 : 색상(RGB:202,86,167)"
|
||||
},
|
||||
"9": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||
"searchValue": "기능경진대회",
|
||||
"value": "true",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (기능경진대회)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||
},
|
||||
"10": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::P[last()]/@ParaShape]/@Align",
|
||||
"searchValue": "기능경진대회",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (기능경진대회)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||
},
|
||||
"11": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "기능경진대회",
|
||||
"value": "견고딕",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (기능경진대회)/⑧ 글씨체 (견고딕)"
|
||||
},
|
||||
"12": {
|
||||
"path": "//CHARSHAPE[@Id=//RECTANGLE//TEXT[./CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "기능경진대회",
|
||||
"value": "2200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (기능경진대회)/⑨ 글씨크기 (2200)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"13": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||
"searchValue": "기능경진대회",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (기능경진대회)/⑩ 정렬 (가운데 정렬)"
|
||||
},
|
||||
"14": {
|
||||
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG']",
|
||||
"value": true,
|
||||
"points": 2,
|
||||
"category": "Boolean",
|
||||
"item": "① 파일명 \"그림B.jpg\" 삽입",
|
||||
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||
},
|
||||
"15": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
||||
"value": "85",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "② 크기-너비 (85 mm)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
||||
"value": "40",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "③ 크기-높이 (40 mm)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@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']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
||||
"value": "22",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 22 mm)"
|
||||
},
|
||||
"19": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "1. 대회목적",
|
||||
"value": "돋움",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구① (1. 대회목적)/① 글씨체 (돋움)"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "1. 대회목적",
|
||||
"value": "1200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구① (1. 대회목적)/② 크기 (12pt)"
|
||||
},
|
||||
"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": "CircledLatinCapital",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (전당)/④ 각주 번호모양",
|
||||
"desc": {
|
||||
"가,나,다": "HangulSyllable",
|
||||
"1,2,3": "Digit",
|
||||
"갑,을,병": "DecagonCircle",
|
||||
"A,B,C": "LatinCapital",
|
||||
"a,b,c": "LatinSmall",
|
||||
"①,②,③": "CircledDigit",
|
||||
"一,二,三": "Ideograph",
|
||||
"㉠,㉡,㉢": "CircledHangulJamo",
|
||||
"Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital",
|
||||
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
|
||||
"i,ii,iii": "RomanSmall",
|
||||
"I,II,III": "RomanCapital",
|
||||
"甲,乙,丙": "DecagonCircleHanja",
|
||||
"+,++,+++": "UserChar",
|
||||
"정답에 맞는 값 value에 입력": ""
|
||||
}
|
||||
},
|
||||
"29": {
|
||||
"path": "boolean(//CHAR[contains(text(),'Interior')])",
|
||||
"ignoreWord": "Interior",
|
||||
"value": true,
|
||||
"points": 3,
|
||||
"category": "Boolean",
|
||||
"item": "Interior/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||
"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": "144,210,67",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "위쪽 제목 셀/① 색상(RGB:144,210,67)"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
회차별채점자료/2508/DIW_2508B.xlsx
Normal file
BIN
회차별채점자료/2508/DIW_2508B.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2508/DIW_2508B_문제.hwpx
Normal file
BIN
회차별채점자료/2508/DIW_2508B_문제.hwpx
Normal file
Binary file not shown.
BIN
회차별채점자료/2508/DIW_2508C.hwpx
Normal file
BIN
회차별채점자료/2508/DIW_2508C.hwpx
Normal file
Binary file not shown.
840
회차별채점자료/2508/DIW_2508C.json
Normal file
840
회차별채점자료/2508/DIW_2508C.json
Normal file
@@ -0,0 +1,840 @@
|
||||
{
|
||||
"0": {
|
||||
"0": {
|
||||
"path": "",
|
||||
"path2": "",
|
||||
"points": 0,
|
||||
"category": "파일저장",
|
||||
"item": "파일명 (수검번호.hwp/hwpx)"
|
||||
},
|
||||
"1": {
|
||||
"path": "//PAGEMARGIN",
|
||||
"value": {
|
||||
"Top": 20,
|
||||
"Bottom": 20,
|
||||
"Left": 20,
|
||||
"Right": 20,
|
||||
"Header": 10,
|
||||
"Footer": 10,
|
||||
"Gutter": 0
|
||||
},
|
||||
"tolerance": 1,
|
||||
"points": 4,
|
||||
"category": "PageSetting",
|
||||
"item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)"
|
||||
},
|
||||
"2": {
|
||||
"path": "",
|
||||
"value": {
|
||||
"FontName": "바탕",
|
||||
"FontSize": "1000",
|
||||
"Alignment": "Justify",
|
||||
"LineSpacing": "160"
|
||||
},
|
||||
"points": 4,
|
||||
"category": "BasicSetting",
|
||||
"item": "글꼴 (바탕, 10pt), 양쪽정렬, 줄간격 (160%)"
|
||||
},
|
||||
"3": {
|
||||
"path": "",
|
||||
"value": null,
|
||||
"points": 40,
|
||||
"category": "오타감점",
|
||||
"item": "오타 1개 -1점 / 2503회부터 오타 1개 -1점으로 변경"
|
||||
}
|
||||
},
|
||||
"1": {
|
||||
"1": {
|
||||
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
||||
"searchValue": "치아건강특별강연회",
|
||||
"value": "굴림",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (치아건강특별강연회)/① 글씨체 (굴림)"
|
||||
},
|
||||
"2": {
|
||||
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
||||
"searchValue": "치아건강특별강연회",
|
||||
"value": "183,29,167",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (치아건강특별강연회)/② 채우기 : 색상(RGB:183,29,167)"
|
||||
},
|
||||
"3": {
|
||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
||||
"searchValue": "치아건강특별강연회",
|
||||
"value": "125",
|
||||
"tolerance": 1,
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (치아건강특별강연회)/③ 크기-너비 (125 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": "149,180,174",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "현/③ 면색 : 색상(RGB:149,180,174)"
|
||||
},
|
||||
"11": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
||||
"searchValue": "현",
|
||||
"value": "3.0",
|
||||
"tolerance": 1,
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "현/④ 본문과의 간격 : 3.0mm"
|
||||
},
|
||||
"12": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||
"searchValue": "평생 건강한 치아를 유지하기",
|
||||
"value": "BOLD",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (평생 건강한 치아를 유지하기)/① BOLD"
|
||||
},
|
||||
"13": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||
"searchValue": "평생 건강한 치아를 유지하기",
|
||||
"value": "ITALIC",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (평생 건강한 치아를 유지하기)/② ITALIC"
|
||||
},
|
||||
"14": {
|
||||
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
||||
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
||||
"char1": "◎",
|
||||
"char2": "◎",
|
||||
"char3": "※",
|
||||
"value": 3,
|
||||
"points": 3,
|
||||
"category": "SpecialChar",
|
||||
"item": "① ◎ , ② ◎ , ③ ※"
|
||||
},
|
||||
"15": {
|
||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||
"searchValue": "행사안내",
|
||||
"value": "굴림체",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (◎ 행사안내 ◎)/① 글씨체 (굴림체)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"match_str": "행사안내",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "Align",
|
||||
"item": "문구 (◎ 행사안내 ◎)/② 정렬 (가운데 정렬)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "경복궁역 8번 출구 도보 5분",
|
||||
"value": "ITALIC",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (경복궁역 8번 출구 도보 5분)/① ITALIC"
|
||||
},
|
||||
"18": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "경복궁역 8번 출구 도보 5분",
|
||||
"value": "UNDERLINE",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (경복궁역 8번 출구 도보 5분)/② UNDERLINE"
|
||||
},
|
||||
"19": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||
"searchValue": "기타사항",
|
||||
"value": {
|
||||
"Left": 15,
|
||||
"Indent": 12
|
||||
},
|
||||
"points": 2,
|
||||
"category": "ParaShape",
|
||||
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15pt), 내어쓰기 (12pt)",
|
||||
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||
"searchValue": "2025. 8. 23.",
|
||||
"value": "1400",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 8. 23.)/① 크기 (1400)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"21": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"searchValue": "2025. 8. 23.",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 8. 23.)/② 정렬 (가운데 정렬)"
|
||||
},
|
||||
"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": "2400",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (밝은미소구강센터)/② 크기 (2400)"
|
||||
},
|
||||
"24": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||
"searchValue": "밝은미소구강센터",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (밝은미소구강센터)/③ 정렬 (가운데 정렬)"
|
||||
},
|
||||
"25": {
|
||||
"path": "//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "DIAT",
|
||||
"value": "궁서",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (DIAT)/① 글꼴 (궁서)"
|
||||
},
|
||||
"26": {
|
||||
"path": "//CHARSHAPE[@Id=//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "DIAT",
|
||||
"value": "900",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/② 크기 (9pt)"
|
||||
},
|
||||
"27": {
|
||||
"path": "//PARASHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
|
||||
"searchValue": "DIAT",
|
||||
"value": "Right",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
|
||||
},
|
||||
"28": {
|
||||
"path": "//PAGENUM/@FormatType",
|
||||
"value": "HangulSyllable",
|
||||
"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": "BottomRight",
|
||||
"points": 2,
|
||||
"category": "PageNumber",
|
||||
"item": "오른쪽 아래",
|
||||
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
||||
"desc2": {
|
||||
"가운데 아래": "BottomCenter",
|
||||
"오른쪽 아래": "BottomRight"
|
||||
}
|
||||
},
|
||||
"30": {
|
||||
"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//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||
"searchValue": "구강건강관리",
|
||||
"value": "60",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (구강건강관리)/① 크기-너비 (60 mm)"
|
||||
},
|
||||
"5": {
|
||||
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||
"searchValue": "구강건강관리",
|
||||
"value": "12",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (구강건강관리)/② 크기-높이 (12 mm)"
|
||||
},
|
||||
"6": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//LINESHAPE",
|
||||
"searchValue": "구강건강관리",
|
||||
"value": {
|
||||
"Style": "DoubleSlim",
|
||||
"Width": "283"
|
||||
},
|
||||
"points": 2,
|
||||
"category": "LineShape",
|
||||
"item": "문구 (구강건강관리)/③ 테두리 : 이중 실선(1.00mm)",
|
||||
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||
},
|
||||
"7": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/@Ratio",
|
||||
"searchValue": "구강건강관리",
|
||||
"value": "20",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (구강건강관리)/④ 글상자 모서리 (반원)",
|
||||
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||
},
|
||||
"8": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||
"searchValue": "구강건강관리",
|
||||
"value": "187,140,209",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (구강건강관리)/⑤ 채우기 : 색상(RGB:187,140,209)"
|
||||
},
|
||||
"9": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||
"searchValue": "구강건강관리",
|
||||
"value": "true",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (구강건강관리)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||
},
|
||||
"10": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::P[last()]/@ParaShape]/@Align",
|
||||
"searchValue": "구강건강관리",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (구강건강관리)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||
},
|
||||
"11": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "구강건강관리",
|
||||
"value": "맑은 고딕",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (구강건강관리)/⑧ 글씨체 (맑은 고딕)"
|
||||
},
|
||||
"12": {
|
||||
"path": "//CHARSHAPE[@Id=//RECTANGLE//TEXT[./CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "구강건강관리",
|
||||
"value": "2300",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (구강건강관리)/⑨ 글씨크기 (2300)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"13": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||
"searchValue": "구강건강관리",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (구강건강관리)/⑩ 정렬 (가운데 정렬)"
|
||||
},
|
||||
"14": {
|
||||
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG']",
|
||||
"value": true,
|
||||
"points": 2,
|
||||
"category": "Boolean",
|
||||
"item": "① 파일명 \"그림C.jpg\" 삽입",
|
||||
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||
},
|
||||
"15": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
||||
"value": "80",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "② 크기-너비 (80 mm)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
||||
"value": "40",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "③ 크기-높이 (40 mm)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@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']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
||||
"value": "22",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 22 mm)"
|
||||
},
|
||||
"19": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "1. 구강건강관리",
|
||||
"value": "돋움체",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구① (1. 구강건강관리)/① 글씨체 (돋움체)"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "1. 구강건강관리",
|
||||
"value": "1200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구① (1. 구강건강관리)/② 크기 (12pt)"
|
||||
},
|
||||
"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": "DecagonCircle",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (전당)/④ 각주 번호모양",
|
||||
"desc": {
|
||||
"가,나,다": "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",
|
||||
"甲,乙,丙": "DecagonCircleHanja",
|
||||
"+,++,+++": "UserChar",
|
||||
"정답에 맞는 값 value에 입력": ""
|
||||
}
|
||||
},
|
||||
"29": {
|
||||
"path": "boolean(//CHAR[contains(text(),'Fluoride')])",
|
||||
"ignoreWord": "Fluoride",
|
||||
"value": true,
|
||||
"points": 3,
|
||||
"category": "Boolean",
|
||||
"item": "Fluoride/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||
"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": "문구 (…칫솔질은 창아와 잇몸 경계에 45도…)>'창' → '치' 글자바꿈"
|
||||
},
|
||||
"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": "210,191,27",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "위쪽 제목 셀/① 색상(RGB:210,191,27)"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
회차별채점자료/2508/DIW_2508C.xlsx
Normal file
BIN
회차별채점자료/2508/DIW_2508C.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2508/DIW_2508C_문제.hwpx
Normal file
BIN
회차별채점자료/2508/DIW_2508C_문제.hwpx
Normal file
Binary file not shown.
13754
회차별채점자료/2508/DIW_2508D.hml
Normal file
13754
회차별채점자료/2508/DIW_2508D.hml
Normal file
File diff suppressed because one or more lines are too long
BIN
회차별채점자료/2508/DIW_2508D.hwpx
Normal file
BIN
회차별채점자료/2508/DIW_2508D.hwpx
Normal file
Binary file not shown.
841
회차별채점자료/2508/DIW_2508D.json
Normal file
841
회차별채점자료/2508/DIW_2508D.json
Normal file
@@ -0,0 +1,841 @@
|
||||
{
|
||||
"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": "230,47,199",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (강원도지역문화체험안내)/② 채우기 : 색상(RGB:230,47,199)"
|
||||
},
|
||||
"3": {
|
||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
||||
"searchValue": "강원도지역문화체험안내",
|
||||
"value": "125",
|
||||
"tolerance": 1,
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (강원도지역문화체험안내)/③ 크기-너비 (125 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": "231,215,17",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "자/③ 면색 : 색상(RGB:231,215,17)"
|
||||
},
|
||||
"11": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
||||
"searchValue": "자",
|
||||
"value": "3.0",
|
||||
"tolerance": 1,
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "자/④ 본문과의 간격 : 3.0mm"
|
||||
},
|
||||
"12": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||
"searchValue": "독특한 문화를 경험하실 수 있도록",
|
||||
"value": "BOLD",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (독특한 문화를 경험하실 수 있도록)/① BOLD"
|
||||
},
|
||||
"13": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||
"searchValue": "독특한 문화를 경험하실 수 있도록",
|
||||
"value": "ITALIC",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (독특한 문화를 경험하실 수 있도록)/② ITALIC"
|
||||
},
|
||||
"14": {
|
||||
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
||||
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
||||
"char1": "▶",
|
||||
"char2": "◀",
|
||||
"char3": "※",
|
||||
"value": 3,
|
||||
"points": 3,
|
||||
"category": "SpecialChar",
|
||||
"item": "① ▶, ② ◀, ③ ※"
|
||||
},
|
||||
"15": {
|
||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||
"searchValue": "행사안내",
|
||||
"value": "궁서",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (▶ 행사안내 ◀)/① 글씨체 (궁서)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"match_str": "행사안내",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "Align",
|
||||
"item": "문구 (▶ 행사안내 ◀)/② 정렬 (가운데 정렬)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "강원도 춘천시 중앙문화지역센터 및 인근 공원",
|
||||
"value": "ITALIC",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (강원도 춘천시 중앙문화지역센터 및 인근 공원)/① ITALIC"
|
||||
},
|
||||
"18": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "강원도 춘천시 중앙문화지역센터 및 인근 공원",
|
||||
"value": "UNDERLINE",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (강원도 춘천시 중앙문화지역센터 및 인근 공원)/② UNDERLINE"
|
||||
},
|
||||
"19": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||
"searchValue": "기타사항",
|
||||
"value": {
|
||||
"Left": 15,
|
||||
"Indent": 12
|
||||
},
|
||||
"points": 2,
|
||||
"category": "ParaShape",
|
||||
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15pt), 내어쓰기 (12pt)",
|
||||
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||
"searchValue": "2025. 8. 23.",
|
||||
"value": "1400",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 8. 23.)/① 크기 (1400)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"21": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"searchValue": "2025. 8. 23.",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 8. 23.)/② 정렬 (가운데 정렬)"
|
||||
},
|
||||
"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": "//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "DIAT",
|
||||
"value": "궁서",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (DIAT)/① 글꼴 (궁서)"
|
||||
},
|
||||
"26": {
|
||||
"path": "//CHARSHAPE[@Id=//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "DIAT",
|
||||
"value": "900",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/② 크기 (9pt)"
|
||||
},
|
||||
"27": {
|
||||
"path": "//PARASHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
|
||||
"searchValue": "DIAT",
|
||||
"value": "Right",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
|
||||
},
|
||||
"28": {
|
||||
"path": "//PAGENUM/@FormatType",
|
||||
"value": "Digit",
|
||||
"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": "BottomCenter",
|
||||
"points": 2,
|
||||
"category": "PageNumber",
|
||||
"item": "가운데 아래",
|
||||
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
||||
"desc2": {
|
||||
"가운데 아래": "BottomCenter",
|
||||
"오른쪽 아래": "BottomRight"
|
||||
}
|
||||
},
|
||||
"30": {
|
||||
"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//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||
"searchValue": "매력적인 강원도",
|
||||
"value": "68",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (매력적인 강원도)/① 크기-너비 (68 mm)"
|
||||
},
|
||||
"5": {
|
||||
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||
"searchValue": "매력적인 강원도",
|
||||
"value": "12",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (매력적인 강원도)/② 크기-높이 (12 mm)"
|
||||
},
|
||||
"6": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//LINESHAPE",
|
||||
"searchValue": "매력적인 강원도",
|
||||
"value": {
|
||||
"Style": "DoubleSlim",
|
||||
"Width": "283"
|
||||
},
|
||||
"points": 2,
|
||||
"category": "LineShape",
|
||||
"item": "문구 (매력적인 강원도)/③ 테두리 : 이중 실선(1.00mm)",
|
||||
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||
},
|
||||
"7": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/@Ratio",
|
||||
"searchValue": "매력적인 강원도",
|
||||
"value": "50",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (매력적인 강원도)/④ 글상자 모서리 (반원)",
|
||||
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||
},
|
||||
"8": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||
"searchValue": "매력적인 강원도",
|
||||
"value": "130,159,32",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (매력적인 강원도)/⑤ 채우기 : 색상(RGB:130,159,32)"
|
||||
},
|
||||
"9": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||
"searchValue": "매력적인 강원도",
|
||||
"value": "true",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (매력적인 강원도)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||
},
|
||||
"10": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::P[last()]/@ParaShape]/@Align",
|
||||
"searchValue": "매력적인 강원도",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (매력적인 강원도)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||
},
|
||||
"11": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "매력적인 강원도",
|
||||
"value": "굴림체",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (매력적인 강원도)/⑧ 글씨체 (굴림체)"
|
||||
},
|
||||
"12": {
|
||||
"path": "//CHARSHAPE[@Id=//RECTANGLE//TEXT[./CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "매력적인 강원도",
|
||||
"value": "2300",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (매력적인 강원도)/⑨ 글씨크기 (2300)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"13": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||
"searchValue": "매력적인 강원도",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (매력적인 강원도)/⑩ 정렬 (가운데 정렬)"
|
||||
},
|
||||
"14": {
|
||||
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG']",
|
||||
"value": true,
|
||||
"points": 2,
|
||||
"category": "Boolean",
|
||||
"item": "① 파일명 \"그림D.jpg\" 삽입",
|
||||
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||
},
|
||||
"15": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
||||
"value": "85",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "② 크기-너비 (85 mm)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
||||
"value": "40",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "③ 크기-높이 (40 mm)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@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']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
||||
"value": "22",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 22 mm)"
|
||||
},
|
||||
"19": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "1. 지역적 특성",
|
||||
"value": "맑은 고딕",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구① (1. 지역적 특성)/① 글씨체 (맑은 고딕)"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "1. 지역적 특성",
|
||||
"value": "1200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구① (1. 지역적 특성)/② 크기 (12pt)"
|
||||
},
|
||||
"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": "Digit",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (전당)/④ 각주 번호모양",
|
||||
"desc": {
|
||||
"가,나,다": "HangulSyllable",
|
||||
"1,2,3": "Digit",
|
||||
"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",
|
||||
"甲,乙,丙": "DecagonCircleHanja",
|
||||
"+,++,+++": "UserChar",
|
||||
"정답에 맞는 값 value에 입력": ""
|
||||
}
|
||||
},
|
||||
"29": {
|
||||
"path": "boolean(//CHAR[contains(text(),'Tourism')])",
|
||||
"ignoreWord": "Tourism",
|
||||
"value": true,
|
||||
"points": 3,
|
||||
"category": "Boolean",
|
||||
"item": "Tourism/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||
"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": "87,215,182",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "위쪽 제목 셀/① 색상(RGB:87,215,182)"
|
||||
},
|
||||
"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": "블록 계산식/AVG",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
회차별채점자료/2508/DIW_2508D.xlsx
Normal file
BIN
회차별채점자료/2508/DIW_2508D.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2508/DIW_2508D_문제.hwpx
Normal file
BIN
회차별채점자료/2508/DIW_2508D_문제.hwpx
Normal file
Binary file not shown.
BIN
회차별채점자료/2508_2/DIW_2508_2A.hwpx
Normal file
BIN
회차별채점자료/2508_2/DIW_2508_2A.hwpx
Normal file
Binary file not shown.
840
회차별채점자료/2508_2/DIW_2508_2A.json
Normal file
840
회차별채점자료/2508_2/DIW_2508_2A.json
Normal file
@@ -0,0 +1,840 @@
|
||||
{
|
||||
"0": {
|
||||
"0": {
|
||||
"path": "",
|
||||
"path2": "",
|
||||
"points": 0,
|
||||
"category": "파일저장",
|
||||
"item": "파일명 (수검번호.hwp/hwpx)"
|
||||
},
|
||||
"1": {
|
||||
"path": "//PAGEMARGIN",
|
||||
"value": {
|
||||
"Top": 20,
|
||||
"Bottom": 20,
|
||||
"Left": 20,
|
||||
"Right": 20,
|
||||
"Header": 10,
|
||||
"Footer": 10,
|
||||
"Gutter": 0
|
||||
},
|
||||
"tolerance": 1,
|
||||
"points": 4,
|
||||
"category": "PageSetting",
|
||||
"item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)"
|
||||
},
|
||||
"2": {
|
||||
"path": "",
|
||||
"value": {
|
||||
"FontName": "바탕",
|
||||
"FontSize": "1000",
|
||||
"Alignment": "Justify",
|
||||
"LineSpacing": "160"
|
||||
},
|
||||
"points": 4,
|
||||
"category": "BasicSetting",
|
||||
"item": "글꼴 (바탕, 10pt), 양쪽정렬, 줄간격 (160%)"
|
||||
},
|
||||
"3": {
|
||||
"path": "",
|
||||
"value": null,
|
||||
"points": 40,
|
||||
"category": "오타감점",
|
||||
"item": "오타 1개 -1점 / 2503회부터 오타 1개 -1점으로 변경"
|
||||
}
|
||||
},
|
||||
"1": {
|
||||
"1": {
|
||||
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
||||
"searchValue": "공주맛밤수확체험행사",
|
||||
"value": "견고딕",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (공주맛밤수확체험행사)/① 글씨체 (견고딕)"
|
||||
},
|
||||
"2": {
|
||||
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
||||
"searchValue": "공주맛밤수확체험행사",
|
||||
"value": "51,69,153",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (공주맛밤수확체험행사)/② 채우기 : 색상(RGB:51,69,153)"
|
||||
},
|
||||
"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": "219,207,102",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "공/③ 면색 : 색상(RGB:219,207,102)"
|
||||
},
|
||||
"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": "UNDERLINE",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (전국적으로 사랑받는 지역 특산물)/① UNDERLINE"
|
||||
},
|
||||
"13": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||
"searchValue": "전국적으로 사랑받는 지역 특산물",
|
||||
"value": "ITALIC",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (전국적으로 사랑받는 지역 특산물)/② ITALIC"
|
||||
},
|
||||
"14": {
|
||||
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
||||
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
||||
"char1": "■",
|
||||
"char2": "■",
|
||||
"char3": "※",
|
||||
"value": 3,
|
||||
"points": 3,
|
||||
"category": "SpecialChar",
|
||||
"item": "① ■, ② ■, ③ ※"
|
||||
},
|
||||
"15": {
|
||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||
"searchValue": "행사안내",
|
||||
"value": "돋움",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (■ 행사안내 ■)/① 글씨체 (돋움)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"match_str": "행사안내",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "Align",
|
||||
"item": "문구 (■ 행사안내 ■)/② 정렬 (가운데 정렬)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "2025년 09월 20일(토) 13:30 ~ 17:30",
|
||||
"value": "BOLD",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (2025년 09월 20일(토) 13:30 ~ 17:30)/① BOLD"
|
||||
},
|
||||
"18": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "2025년 09월 20일(토) 13:30 ~ 17:30",
|
||||
"value": "UNDERLINE",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (2025년 09월 20일(토) 13:30 ~ 17:30)/② UNDERLINE"
|
||||
},
|
||||
"19": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||
"searchValue": "신청안내",
|
||||
"value": {
|
||||
"Left": 10,
|
||||
"Indent": 12
|
||||
},
|
||||
"points": 2,
|
||||
"category": "ParaShape",
|
||||
"item": "문구 (※ 신청안내… 이하 문단)/왼쪽여백 (10pt), 내어쓰기 (12pt)",
|
||||
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||
"searchValue": "2025. 08. 27.",
|
||||
"value": "1400",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 08. 27.)/① 크기 (1400)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"21": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"searchValue": "2025. 08. 27.",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 08. 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": "2200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (공주시청농촌활력과)/② 크기 (2200)"
|
||||
},
|
||||
"24": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||
"searchValue": "공주시청농촌활력과",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (공주시청농촌활력과)/③ 정렬 (가운데 정렬)"
|
||||
},
|
||||
"25": {
|
||||
"path": "//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "DIAT",
|
||||
"value": "돋움체",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (DIAT)/① 글꼴 (돋움체)"
|
||||
},
|
||||
"26": {
|
||||
"path": "//CHARSHAPE[@Id=//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "DIAT",
|
||||
"value": "900",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/② 크기 (9pt)"
|
||||
},
|
||||
"27": {
|
||||
"path": "//PARASHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
|
||||
"searchValue": "DIAT",
|
||||
"value": "Right",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
|
||||
},
|
||||
"28": {
|
||||
"path": "//PAGENUM/@FormatType",
|
||||
"value": "HangulSyllable",
|
||||
"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": "BottomCenter",
|
||||
"points": 2,
|
||||
"category": "PageNumber",
|
||||
"item": "가운데 아래",
|
||||
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
||||
"desc2": {
|
||||
"가운데 아래": "BottomCenter",
|
||||
"오른쪽 아래": "BottomRight"
|
||||
}
|
||||
},
|
||||
"30": {
|
||||
"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//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "65",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (아름다운 계절, 가을)/① 크기-너비 (65 mm)"
|
||||
},
|
||||
"5": {
|
||||
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "12",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (아름다운 계절, 가을)/② 크기-높이 (12 mm)"
|
||||
},
|
||||
"6": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//LINESHAPE",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": {
|
||||
"Style": "DoubleSlim",
|
||||
"Width": "283"
|
||||
},
|
||||
"points": 2,
|
||||
"category": "LineShape",
|
||||
"item": "문구 (아름다운 계절, 가을)/③ 테두리 : 이중 실선(1.00mm)",
|
||||
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||
},
|
||||
"7": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/@Ratio",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "50",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (아름다운 계절, 가을)/④ 글상자 모서리 (반원)",
|
||||
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||
},
|
||||
"8": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "249,173,168",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (아름다운 계절, 가을)/⑤ 채우기 : 색상(RGB:249,173,168)"
|
||||
},
|
||||
"9": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "true",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (아름다운 계절, 가을)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||
},
|
||||
"10": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::P[last()]/@ParaShape]/@Align",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (아름다운 계절, 가을)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||
},
|
||||
"11": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "굴림체",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (아름다운 계절, 가을)/⑧ 글씨체 (굴림체)"
|
||||
},
|
||||
"12": {
|
||||
"path": "//CHARSHAPE[@Id=//RECTANGLE//TEXT[./CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "1700",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (아름다운 계절, 가을)/⑨ 글씨크기 (1700)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"13": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (아름다운 계절, 가을)/⑩ 정렬 (가운데 정렬)"
|
||||
},
|
||||
"14": {
|
||||
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG']",
|
||||
"value": true,
|
||||
"points": 2,
|
||||
"category": "Boolean",
|
||||
"item": "① 파일명 \"그림A.jpg\" 삽입",
|
||||
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||
},
|
||||
"15": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
||||
"value": "80",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "② 크기-너비 (80 mm)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
||||
"value": "40",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "③ 크기-높이 (40 mm)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@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']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
||||
"value": "22",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 22 mm)"
|
||||
},
|
||||
"19": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "1. 가을이란?",
|
||||
"value": "중고딕",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구① (1. 가을이란?)/① 글씨체 (중고딕)"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "1. 가을이란?",
|
||||
"value": "1200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구① (1. 가을이란?)/② 크기 (12pt)"
|
||||
},
|
||||
"21": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"searchValue": "1. 가을이란?",
|
||||
"value": "BOLD",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구① (1. 가을이란?)/③ 진하게"
|
||||
},
|
||||
"22": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "2. 우리나라의 가을",
|
||||
"value": "중고딕",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구② (2. 우리나라의 가을)/① 글씨체 (중고딕)"
|
||||
},
|
||||
"23": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "2. 우리나라의 가을",
|
||||
"value": "1200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구② (2. 우리나라의 가을)/② 크기 (1200)"
|
||||
},
|
||||
"24": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"searchValue": "2. 우리나라의 가을",
|
||||
"value": "BOLD",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구② (2. 우리나라의 가을)/③ 진하게"
|
||||
},
|
||||
"25": {
|
||||
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
||||
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
||||
"option": "단풍",
|
||||
"value": true,
|
||||
"points": 2,
|
||||
"category": "Boolean",
|
||||
"item": "문구 (단풍)/① 각주 설정 및 문구 입력"
|
||||
},
|
||||
"26": {
|
||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||
"searchValue": "기후 변화로 인해 식물의 잎의 색이 변하는 현상",
|
||||
"value": "돋움",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (단풍)/② 글씨체 (돋움)"
|
||||
},
|
||||
"27": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
||||
"searchValue": "기후 변화로 인해 식물의 잎의 색이 변하는 현상",
|
||||
"value": "900",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (단풍)/③ 크기 (9pt)"
|
||||
},
|
||||
"28": {
|
||||
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
||||
"searchValue": "기후 변화로 인해 식물의 잎의 색이 변하는 현상",
|
||||
"value": "DecagonCircleHanja",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (전당)/④ 각주 번호모양",
|
||||
"desc": {
|
||||
"가,나,다": "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",
|
||||
"甲,乙,丙": "DecagonCircleHanja",
|
||||
"+,++,+++": "UserChar",
|
||||
"정답에 맞는 값 value에 입력": ""
|
||||
}
|
||||
},
|
||||
"29": {
|
||||
"path": "boolean(//CHAR[contains(text(),'Economy')])",
|
||||
"ignoreWord": "Economy",
|
||||
"value": true,
|
||||
"points": 3,
|
||||
"category": "Boolean",
|
||||
"item": "Economy/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||
"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": "154,235,85",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "위쪽 제목 셀/① 색상(RGB:154,235,85)"
|
||||
},
|
||||
"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": "80",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "④ 크기-높이 (80 mm)"
|
||||
},
|
||||
"49": {
|
||||
"chart_xpath": "boolean(//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='합계' or text()='평균']))",
|
||||
"value": true,
|
||||
"points": 2,
|
||||
"category": "Boolean",
|
||||
"item": "⑤ 차트 데이터(표에서 블록계산식을 제외한 나머지 값만 이용)",
|
||||
"desc": "차트가 존재하고 블록계산식(합계, 평균) 데이터가 없는 경우 정답 처리"
|
||||
},
|
||||
"50": {
|
||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
||||
"searchValue": "가을 명산 입장객 수",
|
||||
"value": "궁서체",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "제목 문구 (가을 명산 입장객 수)/① 글씨체 (궁서체)"
|
||||
},
|
||||
"51": {
|
||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
||||
"searchValue": "가을 명산 입장객 수",
|
||||
"value": "1200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "제목 문구 (가을 명산 입장객 수)/② 크기 (1200)"
|
||||
},
|
||||
"52": {
|
||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
||||
"option": "i",
|
||||
"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": "b",
|
||||
"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": "b",
|
||||
"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": "b",
|
||||
"value": "1",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "범례/③ 기울임",
|
||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
회차별채점자료/2508_2/DIW_2508_2A.xlsx
Normal file
BIN
회차별채점자료/2508_2/DIW_2508_2A.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2508_2/DIW_2508_2A_문제.hwpx
Normal file
BIN
회차별채점자료/2508_2/DIW_2508_2A_문제.hwpx
Normal file
Binary file not shown.
BIN
회차별채점자료/2508_2/_DIW_2508_2A.xlsx
Normal file
BIN
회차별채점자료/2508_2/_DIW_2508_2A.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2508_3/DIW_2508_3B.hwpx
Normal file
BIN
회차별채점자료/2508_3/DIW_2508_3B.hwpx
Normal file
Binary file not shown.
840
회차별채점자료/2508_3/DIW_2508_3B.json
Normal file
840
회차별채점자료/2508_3/DIW_2508_3B.json
Normal file
@@ -0,0 +1,840 @@
|
||||
{
|
||||
"0": {
|
||||
"0": {
|
||||
"path": "",
|
||||
"path2": "",
|
||||
"points": 0,
|
||||
"category": "파일저장",
|
||||
"item": "파일명 (수검번호.hwp/hwpx)"
|
||||
},
|
||||
"1": {
|
||||
"path": "//PAGEMARGIN",
|
||||
"value": {
|
||||
"Top": 20,
|
||||
"Bottom": 20,
|
||||
"Left": 20,
|
||||
"Right": 20,
|
||||
"Header": 10,
|
||||
"Footer": 10,
|
||||
"Gutter": 0
|
||||
},
|
||||
"tolerance": 1,
|
||||
"points": 4,
|
||||
"category": "PageSetting",
|
||||
"item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)"
|
||||
},
|
||||
"2": {
|
||||
"path": "",
|
||||
"value": {
|
||||
"FontName": "바탕",
|
||||
"FontSize": "1000",
|
||||
"Alignment": "Justify",
|
||||
"LineSpacing": "160"
|
||||
},
|
||||
"points": 4,
|
||||
"category": "BasicSetting",
|
||||
"item": "글꼴 (바탕, 10pt), 양쪽정렬, 줄간격 (160%)"
|
||||
},
|
||||
"3": {
|
||||
"path": "",
|
||||
"value": null,
|
||||
"points": 40,
|
||||
"category": "오타감점",
|
||||
"item": "오타 1개 -1점 / 2503회부터 오타 1개 -1점으로 변경"
|
||||
}
|
||||
},
|
||||
"1": {
|
||||
"1": {
|
||||
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
||||
"searchValue": "공주맛밤수확체험행사",
|
||||
"value": "견고딕",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (공주맛밤수확체험행사)/① 글씨체 (견고딕)"
|
||||
},
|
||||
"2": {
|
||||
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
||||
"searchValue": "공주맛밤수확체험행사",
|
||||
"value": "51,69,153",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (공주맛밤수확체험행사)/② 채우기 : 색상(RGB:51,69,153)"
|
||||
},
|
||||
"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": "219,207,102",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "공/③ 면색 : 색상(RGB:219,207,102)"
|
||||
},
|
||||
"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": "UNDERLINE",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (전국적으로 사랑받는 지역 특산물)/① UNDERLINE"
|
||||
},
|
||||
"13": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||
"searchValue": "전국적으로 사랑받는 지역 특산물",
|
||||
"value": "ITALIC",
|
||||
"points": 2,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (전국적으로 사랑받는 지역 특산물)/② ITALIC"
|
||||
},
|
||||
"14": {
|
||||
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
||||
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
||||
"char1": "■",
|
||||
"char2": "■",
|
||||
"char3": "※",
|
||||
"value": 3,
|
||||
"points": 3,
|
||||
"category": "SpecialChar",
|
||||
"item": "① ■, ② ■, ③ ※"
|
||||
},
|
||||
"15": {
|
||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||
"searchValue": "행사안내",
|
||||
"value": "돋움",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (■ 행사안내 ■)/① 글씨체 (돋움)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"match_str": "행사안내",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "Align",
|
||||
"item": "문구 (■ 행사안내 ■)/② 정렬 (가운데 정렬)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "2025년 09월 20일(토) 13:30 ~ 17:30",
|
||||
"value": "BOLD",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (2025년 09월 20일(토) 13:30 ~ 17:30)/① BOLD"
|
||||
},
|
||||
"18": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||
"searchValue": "2025년 09월 20일(토) 13:30 ~ 17:30",
|
||||
"value": "UNDERLINE",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구 (2025년 09월 20일(토) 13:30 ~ 17:30)/② UNDERLINE"
|
||||
},
|
||||
"19": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||
"searchValue": "신청안내",
|
||||
"value": {
|
||||
"Left": 10,
|
||||
"Indent": 12
|
||||
},
|
||||
"points": 2,
|
||||
"category": "ParaShape",
|
||||
"item": "문구 (※ 신청안내… 이하 문단)/왼쪽여백 (10pt), 내어쓰기 (12pt)",
|
||||
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||
"searchValue": "2025. 08. 27.",
|
||||
"value": "1400",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 08. 27.)/① 크기 (1400)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"21": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||
"searchValue": "2025. 08. 27.",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (2025. 08. 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": "2200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (공주시청농촌활력과)/② 크기 (2200)"
|
||||
},
|
||||
"24": {
|
||||
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||
"searchValue": "공주시청농촌활력과",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (공주시청농촌활력과)/③ 정렬 (가운데 정렬)"
|
||||
},
|
||||
"25": {
|
||||
"path": "//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "DIAT",
|
||||
"value": "돋움체",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (DIAT)/① 글꼴 (돋움체)"
|
||||
},
|
||||
"26": {
|
||||
"path": "//CHARSHAPE[@Id=//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "DIAT",
|
||||
"value": "900",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/② 크기 (9pt)"
|
||||
},
|
||||
"27": {
|
||||
"path": "//PARASHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
|
||||
"searchValue": "DIAT",
|
||||
"value": "Right",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
|
||||
},
|
||||
"28": {
|
||||
"path": "//PAGENUM/@FormatType",
|
||||
"value": "HangulSyllable",
|
||||
"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": "BottomCenter",
|
||||
"points": 2,
|
||||
"category": "PageNumber",
|
||||
"item": "가운데 아래",
|
||||
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
||||
"desc2": {
|
||||
"가운데 아래": "BottomCenter",
|
||||
"오른쪽 아래": "BottomRight"
|
||||
}
|
||||
},
|
||||
"30": {
|
||||
"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//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "65",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (아름다운 계절, 가을)/① 크기-너비 (65 mm)"
|
||||
},
|
||||
"5": {
|
||||
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "12",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "문구 (아름다운 계절, 가을)/② 크기-높이 (12 mm)"
|
||||
},
|
||||
"6": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//LINESHAPE",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": {
|
||||
"Style": "DoubleSlim",
|
||||
"Width": "283"
|
||||
},
|
||||
"points": 2,
|
||||
"category": "LineShape",
|
||||
"item": "문구 (아름다운 계절, 가을)/③ 테두리 : 이중 실선(1.00mm)",
|
||||
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||
},
|
||||
"7": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/@Ratio",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "50",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (아름다운 계절, 가을)/④ 글상자 모서리 (반원)",
|
||||
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||
},
|
||||
"8": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "249,173,168",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "문구 (아름다운 계절, 가을)/⑤ 채우기 : 색상(RGB:249,173,168)"
|
||||
},
|
||||
"9": {
|
||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "true",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (아름다운 계절, 가을)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||
},
|
||||
"10": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::P[last()]/@ParaShape]/@Align",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (아름다운 계절, 가을)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||
},
|
||||
"11": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "굴림체",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (아름다운 계절, 가을)/⑧ 글씨체 (굴림체)"
|
||||
},
|
||||
"12": {
|
||||
"path": "//CHARSHAPE[@Id=//RECTANGLE//TEXT[./CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "1700",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (아름다운 계절, 가을)/⑨ 글씨크기 (1700)",
|
||||
"desc": "1pt당 100"
|
||||
},
|
||||
"13": {
|
||||
"path": "//PARASHAPE[@Id=//RECTANGLE//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||
"searchValue": "아름다운 계절, 가을",
|
||||
"value": "Center",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (아름다운 계절, 가을)/⑩ 정렬 (가운데 정렬)"
|
||||
},
|
||||
"14": {
|
||||
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG']",
|
||||
"value": true,
|
||||
"points": 2,
|
||||
"category": "Boolean",
|
||||
"item": "① 파일명 \"그림A.jpg\" 삽입",
|
||||
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||
},
|
||||
"15": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
||||
"value": "80",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "② 크기-너비 (80 mm)"
|
||||
},
|
||||
"16": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
||||
"value": "40",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "③ 크기-높이 (40 mm)"
|
||||
},
|
||||
"17": {
|
||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@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']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
||||
"value": "22",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 22 mm)"
|
||||
},
|
||||
"19": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "1. 가을이란?",
|
||||
"value": "중고딕",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구① (1. 가을이란?)/① 글씨체 (중고딕)"
|
||||
},
|
||||
"20": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "1. 가을이란?",
|
||||
"value": "1200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구① (1. 가을이란?)/② 크기 (12pt)"
|
||||
},
|
||||
"21": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"searchValue": "1. 가을이란?",
|
||||
"value": "BOLD",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구① (1. 가을이란?)/③ 진하게"
|
||||
},
|
||||
"22": {
|
||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||
"searchValue": "2. 우리나라의 가을",
|
||||
"value": "중고딕",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구② (2. 우리나라의 가을)/① 글씨체 (중고딕)"
|
||||
},
|
||||
"23": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||
"searchValue": "2. 우리나라의 가을",
|
||||
"value": "1200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구② (2. 우리나라의 가을)/② 크기 (1200)"
|
||||
},
|
||||
"24": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||
"searchValue": "2. 우리나라의 가을",
|
||||
"value": "BOLD",
|
||||
"points": 1,
|
||||
"category": "FontAttribute",
|
||||
"item": "문구② (2. 우리나라의 가을)/③ 진하게"
|
||||
},
|
||||
"25": {
|
||||
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
||||
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
||||
"option": "단풍",
|
||||
"value": true,
|
||||
"points": 2,
|
||||
"category": "Boolean",
|
||||
"item": "문구 (단풍)/① 각주 설정 및 문구 입력"
|
||||
},
|
||||
"26": {
|
||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||
"searchValue": "기후 변화로 인해 식물의 잎의 색이 변하는 현상",
|
||||
"value": "돋움",
|
||||
"points": 1,
|
||||
"category": "FontName",
|
||||
"item": "문구 (단풍)/② 글씨체 (돋움)"
|
||||
},
|
||||
"27": {
|
||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
||||
"searchValue": "기후 변화로 인해 식물의 잎의 색이 변하는 현상",
|
||||
"value": "900",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (단풍)/③ 크기 (9pt)"
|
||||
},
|
||||
"28": {
|
||||
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
||||
"searchValue": "기후 변화로 인해 식물의 잎의 색이 변하는 현상",
|
||||
"value": "DecagonCircleHanja",
|
||||
"points": 2,
|
||||
"category": "OneAnswer",
|
||||
"item": "문구 (전당)/④ 각주 번호모양",
|
||||
"desc": {
|
||||
"가,나,다": "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",
|
||||
"甲,乙,丙": "DecagonCircleHanja",
|
||||
"+,++,+++": "UserChar",
|
||||
"정답에 맞는 값 value에 입력": ""
|
||||
}
|
||||
},
|
||||
"29": {
|
||||
"path": "boolean(//CHAR[contains(text(),'Economy')])",
|
||||
"ignoreWord": "Economy",
|
||||
"value": true,
|
||||
"points": 3,
|
||||
"category": "Boolean",
|
||||
"item": "Economy/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||
"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": "154,235,85",
|
||||
"points": 2,
|
||||
"category": "Color",
|
||||
"item": "위쪽 제목 셀/① 색상(RGB:154,235,85)"
|
||||
},
|
||||
"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": "80",
|
||||
"points": 2,
|
||||
"category": "mmSize",
|
||||
"item": "④ 크기-높이 (80 mm)"
|
||||
},
|
||||
"49": {
|
||||
"chart_xpath": "boolean(//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='합계' or text()='평균']))",
|
||||
"value": true,
|
||||
"points": 2,
|
||||
"category": "Boolean",
|
||||
"item": "⑤ 차트 데이터(표에서 블록계산식을 제외한 나머지 값만 이용)",
|
||||
"desc": "차트가 존재하고 블록계산식(합계, 평균) 데이터가 없는 경우 정답 처리"
|
||||
},
|
||||
"50": {
|
||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
||||
"searchValue": "가을 명산 입장객 수",
|
||||
"value": "궁서체",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "제목 문구 (가을 명산 입장객 수)/① 글씨체 (궁서체)"
|
||||
},
|
||||
"51": {
|
||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
||||
"searchValue": "가을 명산 입장객 수",
|
||||
"value": "1200",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "제목 문구 (가을 명산 입장객 수)/② 크기 (1200)"
|
||||
},
|
||||
"52": {
|
||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
||||
"option": "i",
|
||||
"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": "b",
|
||||
"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": "b",
|
||||
"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": "b",
|
||||
"value": "1",
|
||||
"points": 1,
|
||||
"category": "OneAnswer",
|
||||
"item": "범례/③ 기울임",
|
||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
회차별채점자료/2508_3/DIW_2508_3B.xlsx
Normal file
BIN
회차별채점자료/2508_3/DIW_2508_3B.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2508_3/excel_채점결과/250825_DIW_2508_3B_채점결과.xlsx
Normal file
BIN
회차별채점자료/2508_3/excel_채점결과/250825_DIW_2508_3B_채점결과.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2508_3/excel_채점결과/250826_DIW_2508_3B_채점결과.xlsx
Normal file
BIN
회차별채점자료/2508_3/excel_채점결과/250826_DIW_2508_3B_채점결과.xlsx
Normal file
Binary file not shown.
Reference in New Issue
Block a user