Compare commits
9 Commits
28c0a9c4e1
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 292e91d22d | |||
| 3bae260238 | |||
| 8dfdca25a2 | |||
| d1e94037d5 | |||
| 4e4a582c70 | |||
| 8827c85c26 | |||
| d436e4d033 | |||
| c13d5feffe | |||
| e3cf4ea53f |
@@ -1,56 +1,49 @@
|
|||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
from pathlib import Path
|
import glob
|
||||||
import re
|
|
||||||
|
|
||||||
# 채점자료 정답 파일만 복사하는 스크립트
|
# ── 설정 ────────────────────────────────────────────────────────────────
|
||||||
|
exam_round = "2604" # 회차명
|
||||||
|
exam_code = "DIW" # 코드명
|
||||||
|
|
||||||
# ===== 사용자 설정 =====
|
source_dir = rf"D:\project\HWP\HWP-Scoring\회차별채점자료\{exam_round}"
|
||||||
source_dir = r"D:\project\HWP\HWP-Scoring\회차별채점자료\2601"
|
output_base = r"input"
|
||||||
exam_round = "2601" # 회차명
|
|
||||||
exam_code = "DIW" # 코드명
|
|
||||||
# =======================
|
|
||||||
|
|
||||||
|
types = ["A", "B", "C", "D", "E"]
|
||||||
|
|
||||||
def get_exam_type(filename: str):
|
# ── 복사 실행 ────────────────────────────────────────────────────────────
|
||||||
"""
|
for type in types:
|
||||||
파일명에서 확장자 앞의 마지막 알파벳을 추출 (예: 국어A.hwpx → A)
|
pattern = os.path.join(source_dir, f"*{type}*")
|
||||||
"""
|
matched = [d for d in glob.glob(pattern) if os.path.isdir(d)]
|
||||||
match = re.search(r"([A-Za-z])\.hwpx$", filename)
|
|
||||||
return match.group(1).upper() if match else None
|
|
||||||
|
|
||||||
|
if not matched:
|
||||||
|
print(f"[WARN] 폴더 없음: {pattern}")
|
||||||
|
continue
|
||||||
|
|
||||||
def copy_exam_files():
|
src_folder = matched[0]
|
||||||
src = Path(source_dir)
|
|
||||||
if not src.exists():
|
|
||||||
print(f"경로를 찾을 수 없습니다: {src}")
|
|
||||||
return
|
|
||||||
|
|
||||||
base_dest = Path(".") / "input" / exam_round
|
file_pattern = os.path.join(src_folder, f"제*회 디지털정보활용능력 워드프로세서(한글2022버전) {type}형 정답.hwpx")
|
||||||
copied = 0
|
matched_files = glob.glob(file_pattern)
|
||||||
|
|
||||||
for path in src.rglob("*"):
|
if not matched_files:
|
||||||
if path.is_file() and path.suffix.lower() == ".hwpx":
|
print(f"[WARN] 파일 없음: {file_pattern}")
|
||||||
exam_type = get_exam_type(path.name)
|
continue
|
||||||
if not exam_type:
|
|
||||||
continue # 마지막 문자가 알파벳이 아니면 건너뜀
|
|
||||||
|
|
||||||
dest_dir = base_dest / exam_type / exam_code
|
src_path = matched_files[0]
|
||||||
dest_dir.mkdir(parents=True, exist_ok=True)
|
|
||||||
dest_path = dest_dir / path.name
|
|
||||||
|
|
||||||
# 같은 이름의 파일이 있을 경우 숫자 붙이기
|
# 원본 확장자 추출 후 새 파일명 생성: DIW_2602A.hwpx
|
||||||
counter = 1
|
src_ext = os.path.splitext(src_path)[1]
|
||||||
while dest_path.exists():
|
new_filename = f"{exam_code}_{exam_round}{type}{src_ext}"
|
||||||
dest_path = dest_dir / f"{path.stem}_{counter}{path.suffix}"
|
|
||||||
counter += 1
|
dst_folder = os.path.join(output_base, exam_round, type, exam_code)
|
||||||
|
os.makedirs(dst_folder, exist_ok=True)
|
||||||
|
|
||||||
shutil.copy2(path, dest_path)
|
dst_path = os.path.join(dst_folder, new_filename)
|
||||||
print(f"복사 완료: {path} → {dest_path}")
|
shutil.copy2(src_path, dst_path)
|
||||||
copied += 1
|
print(f"[OK] {type}형 복사 완료 → {dst_path}")
|
||||||
|
|
||||||
print(f"\n총 {copied}개 파일 복사 완료.")
|
# ── TEST 폴더 생성 ────────────────────────────────────────────────────────
|
||||||
|
test_folder = os.path.join(output_base, exam_round, type, "TEST")
|
||||||
|
os.makedirs(test_folder, exist_ok=True)
|
||||||
|
|
||||||
|
print("\n전체 처리 완료.")
|
||||||
if __name__ == "__main__":
|
|
||||||
copy_exam_files()
|
|
||||||
@@ -1,4 +1,6 @@
|
|||||||
# 분류되지 않은 답안파일 원본 폴더에서 복사할 때 사용
|
# 분류되지 않은 답안파일 원본 폴더에서 복사할 때 사용
|
||||||
|
# DIW 폴더가 있는 경우, 부모 디렉토리 이름에 따라 A, B, C, D, E 폴더로 복사
|
||||||
|
# 예시: D:\project\data\제2601회 정기\제2601회 정기\과목별답안파일\1교시\DIW → .\input\2601\A\DIW
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
@@ -41,10 +43,10 @@ def copy_dic_subdirs(source_root, target_root_a, target_root_b, target_root_c, t
|
|||||||
print(f"Skipping {dir_name} under {parent_dir}, as it doesn't match '2교시' or '3교시'.")
|
print(f"Skipping {dir_name} under {parent_dir}, as it doesn't match '2교시' or '3교시'.")
|
||||||
|
|
||||||
# 사용법
|
# 사용법
|
||||||
exam_round = "2601_2"
|
exam_round = "2604_5"
|
||||||
# exam_round = "2510_4"
|
# exam_round = "2510_4"
|
||||||
# source_directory = r"D:\project\data\제2510회 수시2(제주)\답안파일\제2510회 수시2 제주지부_답안파일"
|
# source_directory = r"D:\project\data\제2510회 수시2(제주)\답안파일\제2510회 수시2 제주지부_답안파일"
|
||||||
source_directory = r"D:\project\data\제2601회 수시2(제주)\제2601회 수시2(제주)\답안파일\2601회 수시2 답안파일"
|
source_directory = r"D:\project\data\제2604회 수시5(읍내)\답안파일\2604회 수시5_읍내정보통신학교"
|
||||||
|
|
||||||
|
|
||||||
target_directory_a = f".\\input\\{exam_round}\\A" # '1교시'의 타겟 경로
|
target_directory_a = f".\\input\\{exam_round}\\A" # '1교시'의 타겟 경로
|
||||||
@@ -1,4 +1,6 @@
|
|||||||
# 분류된 "과목별" 폴더에서 시험 파일을 복사하는 스크립트
|
# 분류된 "과목별" 폴더에서 시험 파일을 복사하는 스크립트
|
||||||
|
# - 시험 회차와 과목별 폴더 구조에 맞게 파일을 복사하여 "input/회차/유형/과목" 경로로 정리
|
||||||
|
# - 예시: "D:\project\data\제2622회 특별\과목별답안파일 (2)\DIW\A형" 폴더 안의 파일들을 "input/2622/A/DIW"로 복사
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
@@ -45,10 +47,10 @@ def copy_exam_files(exam_round, exam_codes, source_dir):
|
|||||||
os.makedirs(target_path, exist_ok=True)
|
os.makedirs(target_path, exist_ok=True)
|
||||||
|
|
||||||
# ✅ TEST 폴더 생성: input/회차/유형/TEST
|
# ✅ TEST 폴더 생성: input/회차/유형/TEST
|
||||||
# test_folder = os.path.join("output", exam_round, exam_type, "TEST")
|
test_folder = os.path.join("output", exam_round, exam_type, "TEST")
|
||||||
# if test_folder not in created_test_folders:
|
if test_folder not in created_test_folders:
|
||||||
# os.makedirs(test_folder, exist_ok=True)
|
os.makedirs(test_folder, exist_ok=True)
|
||||||
# created_test_folders.add(test_folder)
|
created_test_folders.add(test_folder)
|
||||||
|
|
||||||
print(f"\n🔄 복사 시작: {exam_code} - 유형: {exam_type} (폴더명: {real_folder})")
|
print(f"\n🔄 복사 시작: {exam_code} - 유형: {exam_type} (폴더명: {real_folder})")
|
||||||
print(f"📂 원본 경로: {source_folder}")
|
print(f"📂 원본 경로: {source_folder}")
|
||||||
@@ -76,8 +78,8 @@ def copy_exam_files(exam_round, exam_codes, source_dir):
|
|||||||
# 사용 예시
|
# 사용 예시
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
# [source_dir경로\DIW] 디렉토리 안에 A형, B형... 폴더가 존재해야 함
|
# [source_dir경로\DIW] 디렉토리 안에 A형, B형... 폴더가 존재해야 함
|
||||||
exam_round = "2512"
|
exam_round = "2604"
|
||||||
exam_codes = ["DIW"]
|
exam_codes = ["DIW"]
|
||||||
source_dir = r"D:\project\data\제2512회 정기_DIAT\답안파일"
|
source_dir = r"D:\project\data\제2604회 정기\제2604회 정기\답안파일"
|
||||||
|
|
||||||
copy_exam_files(exam_round, exam_codes, source_dir)
|
copy_exam_files(exam_round, exam_codes, source_dir)
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ if __name__ == "__main__":
|
|||||||
setup_logging()
|
setup_logging()
|
||||||
|
|
||||||
exam_rounds = [
|
exam_rounds = [
|
||||||
"2601",
|
"2604",
|
||||||
]
|
]
|
||||||
|
|
||||||
# 변환할 폴더 경로 설정
|
# 변환할 폴더 경로 설정
|
||||||
@@ -178,11 +178,10 @@ if __name__ == "__main__":
|
|||||||
(f"D:\\project\\HWP\\HWP-Scoring\\input\\{exam_round}\\C\\DIW",f"D:\\project\\HWP\\HWP-Scoring\\output\\{exam_round}\\C\\DIW"),
|
(f"D:\\project\\HWP\\HWP-Scoring\\input\\{exam_round}\\C\\DIW",f"D:\\project\\HWP\\HWP-Scoring\\output\\{exam_round}\\C\\DIW"),
|
||||||
(f"D:\\project\\HWP\\HWP-Scoring\\input\\{exam_round}\\D\\DIW",f"D:\\project\\HWP\\HWP-Scoring\\output\\{exam_round}\\D\\DIW"),
|
(f"D:\\project\\HWP\\HWP-Scoring\\input\\{exam_round}\\D\\DIW",f"D:\\project\\HWP\\HWP-Scoring\\output\\{exam_round}\\D\\DIW"),
|
||||||
(f"D:\\project\\HWP\\HWP-Scoring\\input\\{exam_round}\\E\\DIW",f"D:\\project\\HWP\\HWP-Scoring\\output\\{exam_round}\\E\\DIW"),
|
(f"D:\\project\\HWP\\HWP-Scoring\\input\\{exam_round}\\E\\DIW",f"D:\\project\\HWP\\HWP-Scoring\\output\\{exam_round}\\E\\DIW"),
|
||||||
|
|
||||||
|
# (f"D:\\project\\HWP\\HWP-Scoring\\input\\{exam_round}\\D\\TEST",f"D:\\project\\HWP\\HWP-Scoring\\output\\{exam_round}\\D\\TEST"),
|
||||||
]
|
]
|
||||||
|
|
||||||
# folders = [
|
|
||||||
# (f"D:\\project\\HWP\\HWP-Scoring\\input\\{exam_round}\\C\\TEST",f"D:\\project\\HWP\\HWP-Scoring\\output\\{exam_round}\\C\\TEST")]
|
|
||||||
|
|
||||||
# 변환 실행
|
# 변환 실행
|
||||||
for input, output in folders:
|
for input, output in folders:
|
||||||
try:
|
try:
|
||||||
|
|||||||
Binary file not shown.
BIN
260427_DIW_2604A_채점결과.xlsx
Normal file
BIN
260427_DIW_2604A_채점결과.xlsx
Normal file
Binary file not shown.
Binary file not shown.
BIN
260427_DIW_2604C_채점결과.xlsx
Normal file
BIN
260427_DIW_2604C_채점결과.xlsx
Normal file
Binary file not shown.
BIN
260428_DIW_2604A_채점결과.xlsx
Normal file
BIN
260428_DIW_2604A_채점결과.xlsx
Normal file
Binary file not shown.
BIN
260428_DIW_2604B_채점결과.xlsx
Normal file
BIN
260428_DIW_2604B_채점결과.xlsx
Normal file
Binary file not shown.
BIN
260428_DIW_2604C_채점결과.xlsx
Normal file
BIN
260428_DIW_2604C_채점결과.xlsx
Normal file
Binary file not shown.
BIN
260429_DIW_2604A_채점결과.xlsx
Normal file
BIN
260429_DIW_2604A_채점결과.xlsx
Normal file
Binary file not shown.
BIN
260429_DIW_2604B_채점결과.xlsx
Normal file
BIN
260429_DIW_2604B_채점결과.xlsx
Normal file
Binary file not shown.
BIN
260429_DIW_2604C_채점결과.xlsx
Normal file
BIN
260429_DIW_2604C_채점결과.xlsx
Normal file
Binary file not shown.
850
JSON/2602/DIW_2602A.json
Normal file
850
JSON/2602/DIW_2602A.json
Normal file
@@ -0,0 +1,850 @@
|
|||||||
|
{
|
||||||
|
"0": {
|
||||||
|
"0": {
|
||||||
|
"path": "",
|
||||||
|
"path2": "",
|
||||||
|
"points": 0,
|
||||||
|
"category": "파일저장",
|
||||||
|
"item": "파일명 (수검번호.hwp/hwpx)"
|
||||||
|
},
|
||||||
|
"1": {
|
||||||
|
"path": "//PAGEMARGIN",
|
||||||
|
"value": {
|
||||||
|
"Top": 20,
|
||||||
|
"Bottom": 20,
|
||||||
|
"Left": 20,
|
||||||
|
"Right": 20,
|
||||||
|
"Header": 10,
|
||||||
|
"Footer": 10,
|
||||||
|
"Gutter": 0
|
||||||
|
},
|
||||||
|
"tolerance": 1,
|
||||||
|
"points": 4,
|
||||||
|
"category": "PageSetting",
|
||||||
|
"item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"path": "",
|
||||||
|
"value": {
|
||||||
|
"FontName": "바탕",
|
||||||
|
"FontSize": "1000",
|
||||||
|
"Alignment": "Justify",
|
||||||
|
"LineSpacing": "160"
|
||||||
|
},
|
||||||
|
"points": 4,
|
||||||
|
"category": "BasicSetting",
|
||||||
|
"item": "글꼴 (바탕, 10pt), 양쪽정렬, 줄간격 (160%)"
|
||||||
|
},
|
||||||
|
"3": {
|
||||||
|
"path": "",
|
||||||
|
"value": null,
|
||||||
|
"points": 40,
|
||||||
|
"category": "오타감점",
|
||||||
|
"item": "오타 1개 -1점 / 2503회부터 오타 1개 -1점으로 변경"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"1": {
|
||||||
|
"1": {
|
||||||
|
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
||||||
|
"searchValue": "대한민국요리경연대회",
|
||||||
|
"value": "맑은 고딕",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (대한민국요리경연대회)/① 글씨체 (맑은 고딕)"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
||||||
|
"searchValue": "대한민국요리경연대회",
|
||||||
|
"value": "53,135,146",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Color",
|
||||||
|
"item": "문구 (대한민국요리경연대회)/② 채우기 : 색상(RGB:53,135,146)"
|
||||||
|
},
|
||||||
|
"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": "255,182,137",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Color",
|
||||||
|
"item": "어/③ 면색 : 색상(RGB:255,182,137)"
|
||||||
|
},
|
||||||
|
"11": {
|
||||||
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
||||||
|
"searchValue": "국",
|
||||||
|
"value": "3.0",
|
||||||
|
"tolerance": 1,
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "어/④ 본문과의 간격 : 3.0mm"
|
||||||
|
},
|
||||||
|
"12": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
|
"searchValue": "대한민국 요리 경연대회",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/① BOLD"
|
||||||
|
},
|
||||||
|
"13": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
|
"searchValue": "대한민국 요리 경연대회",
|
||||||
|
"value": "UNDERLINE",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/② UNDERLINE"
|
||||||
|
},
|
||||||
|
"14": {
|
||||||
|
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||||
|
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
||||||
|
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
||||||
|
"char1": "★",
|
||||||
|
"char2": "★",
|
||||||
|
"char3": "※",
|
||||||
|
"value": 3,
|
||||||
|
"points": 3,
|
||||||
|
"category": "SpecialChar",
|
||||||
|
"item": "① ★, ② ★, ③ ※"
|
||||||
|
},
|
||||||
|
"15": {
|
||||||
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
|
"searchValue": "행사안내",
|
||||||
|
"value": "궁서",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구 (★ 행사안내 ★)/① 글씨체 (궁서)"
|
||||||
|
},
|
||||||
|
"16": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
|
"match_str": "행사안내",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Align",
|
||||||
|
"item": "문구 (★ 행사안내 ★)/② 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"17": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
|
"searchValue": "대한민국 요리사 협의회 홈페이지(http://www.ihd.or.kr) 참조",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구 (대한민국 요리사 협의회 홈페이지(http://www.ihd.or.kr) 참조)/① BOLD"
|
||||||
|
},
|
||||||
|
"18": {
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"19": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||||
|
"searchValue": "기타사항",
|
||||||
|
"value": {
|
||||||
|
"Left": 10,
|
||||||
|
"Indent": 12
|
||||||
|
},
|
||||||
|
"points": 2,
|
||||||
|
"category": "ParaShape",
|
||||||
|
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (10), 내어쓰기 (12)",
|
||||||
|
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||||
|
},
|
||||||
|
"20": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||||
|
"searchValue": "2026. 2. 28.",
|
||||||
|
"value": "1300",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (2026. 2. 28.)/① 크기 (1300)",
|
||||||
|
"desc": "1pt당 100"
|
||||||
|
},
|
||||||
|
"21": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
|
"searchValue": "2026. 2. 28.",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (2026. 2. 28.)/② 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"22": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "대한민국요리사협의회",
|
||||||
|
"value": "맑은 고딕",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구 (대한민국요리사협의회)/① 글씨체 (맑은 고딕)"
|
||||||
|
},
|
||||||
|
"23": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "대한민국요리사협의회",
|
||||||
|
"value": "2500",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (대한민국요리사협의회)/② 크기 (2500)"
|
||||||
|
},
|
||||||
|
"24": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||||
|
"searchValue": "대한민국요리사협의회",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (대한민국요리사협의회)/③ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"25": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "DIAT",
|
||||||
|
"value": "굴림",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Header.FontName",
|
||||||
|
"item": "문구 (DIAT)/① 글꼴 (굴림)"
|
||||||
|
},
|
||||||
|
"26": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "DIAT",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Header.OneAnswer",
|
||||||
|
"item": "문구 (DIAT)/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"27": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
|
||||||
|
"searchValue": "DIAT",
|
||||||
|
"value": "Right",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Header.OneAnswer",
|
||||||
|
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
|
||||||
|
},
|
||||||
|
"28": {
|
||||||
|
"path": "//PAGENUM/@FormatType",
|
||||||
|
"value": "DecagonCircle",
|
||||||
|
"points": 2,
|
||||||
|
"category": "PageNumber",
|
||||||
|
"item": "① 쪽 번호 매기기 (A,B,C 순으로)",
|
||||||
|
"desc1": {
|
||||||
|
"가,나,다": "HangulSyllable",
|
||||||
|
"1,2,3": "Digit",
|
||||||
|
"일,이,삼": "HangulPhonetic",
|
||||||
|
"갑,을,병": "DecagonCircle",
|
||||||
|
"A,B,C": "LatinCapital",
|
||||||
|
"a,b,c": "LatinSmall",
|
||||||
|
"Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital",
|
||||||
|
"①,②,③": "CircledDigit",
|
||||||
|
"一,二,三": "Ideograph",
|
||||||
|
"㉠,㉡,㉢": "CircledHangulJamo",
|
||||||
|
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
|
||||||
|
"㊀,㊁,㊂": "CircledIdeograph",
|
||||||
|
"i,ii,iii": "RomanSmall",
|
||||||
|
"I,II,III": "RomanCapital",
|
||||||
|
"甲,乙,丙": "DecagonCircleHanja",
|
||||||
|
"+,++,+++": "UserChar",
|
||||||
|
"*,**,***": "UserChar",
|
||||||
|
"정답에 맞는 값 value에 입력": ""
|
||||||
|
},
|
||||||
|
"desc2": "1, 2페이지 모두 정답이어야 점수 부여"
|
||||||
|
},
|
||||||
|
"29": {
|
||||||
|
"path": "//PAGENUM/@Pos",
|
||||||
|
"value": "BottomRight",
|
||||||
|
"points": 2,
|
||||||
|
"category": "PageNumber",
|
||||||
|
"item": "가운데 아래",
|
||||||
|
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
||||||
|
"desc2": {
|
||||||
|
"가운데 아래": "BottomCenter",
|
||||||
|
"오른쪽 아래": "BottomRight",
|
||||||
|
"왼쪽 아래": "BottomLeft"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"30": {
|
||||||
|
"path": "//CHAR[contains(text(),'{searchValue}')]",
|
||||||
|
"searchValue": "http",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "hyperlink",
|
||||||
|
"item": "문구 (http://www.ihd.or.kr)/하이퍼링크 없이 작성",
|
||||||
|
"desc": "searchValue에 해당하는 주소 문구에 하이퍼링크가 하나라도 설정되어 있으면 오답"
|
||||||
|
},
|
||||||
|
"31": {
|
||||||
|
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
||||||
|
"value": "180",
|
||||||
|
"first_word": "국",
|
||||||
|
"points": 2,
|
||||||
|
"category": "LineSpacing",
|
||||||
|
"item": "문제 1 줄간격 180% 설정",
|
||||||
|
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"1": {
|
||||||
|
"path": "//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@HeaderInside",
|
||||||
|
"path2": "//BORDERFILL[@Id=//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@BorferFill]",
|
||||||
|
"value": {
|
||||||
|
"header_inside": true,
|
||||||
|
"all_double_slim": true
|
||||||
|
},
|
||||||
|
"points": 4,
|
||||||
|
"category": "PageBorder",
|
||||||
|
"item": "문제2 쪽테두리(이중 실선, 머리말 포함) 설정"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"path": "count(//SECTION)>1",
|
||||||
|
"value": true,
|
||||||
|
"points": 3,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "① 구역나누기",
|
||||||
|
"desc": "섹션이 1개 이상이면 점수부여"
|
||||||
|
},
|
||||||
|
"3": {
|
||||||
|
"path": "./TEXT/COLDEF/@Count",
|
||||||
|
"value": "2",
|
||||||
|
"points": 3,
|
||||||
|
"category": "TwoColumn",
|
||||||
|
"item": "② 다단 2단"
|
||||||
|
},
|
||||||
|
"4": {
|
||||||
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||||
|
"value": "70",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.mmSize",
|
||||||
|
"item": "문구 (요리 산업 현황)/① 크기-너비 (70 mm)"
|
||||||
|
},
|
||||||
|
"5": {
|
||||||
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||||
|
"value": "12",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.mmSize",
|
||||||
|
"item": "문구 (요리 산업 현황)/② 크기-높이 (12 mm)"
|
||||||
|
},
|
||||||
|
"6": {
|
||||||
|
"path": "//RECTANGLE//LINESHAPE",
|
||||||
|
"value": {
|
||||||
|
"Style": "DoubleSlim",
|
||||||
|
"Width": "283"
|
||||||
|
},
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.LineShape",
|
||||||
|
"item": "문구 (요리 산업 현황)/③ 테두리 : 이중 실선(1.00mm)",
|
||||||
|
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||||
|
},
|
||||||
|
"7": {
|
||||||
|
"path": "//RECTANGLE/@Ratio",
|
||||||
|
"value": "20",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.OneAnswer",
|
||||||
|
"item": "문구 (요리 산업 현황)/④ 글상자 모서리 (둥근모양)",
|
||||||
|
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||||
|
},
|
||||||
|
"8": {
|
||||||
|
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
|
||||||
|
"value": "227,220,193",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.Color",
|
||||||
|
"item": "문구 (요리 산업 현황)/⑤ 채우기 : 색상(RGB:227,220,193)"
|
||||||
|
},
|
||||||
|
"9": {
|
||||||
|
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
|
"value": "true",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.OneAnswer",
|
||||||
|
"item": "문구 (요리 산업 현황)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||||
|
},
|
||||||
|
"10": {
|
||||||
|
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.TextBoxAlign",
|
||||||
|
"item": "문구 (요리 산업 현황)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"11": {
|
||||||
|
"path": ".//RECTANGLE//TEXT/@CharShape",
|
||||||
|
"value": "돋움체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.FontName",
|
||||||
|
"item": "문구 (요리 산업 현황)/⑧ 글씨체 (돋움체)"
|
||||||
|
},
|
||||||
|
"12": {
|
||||||
|
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
|
||||||
|
"value": "2000",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.FontSize",
|
||||||
|
"item": "문구 (요리 산업 현황)/⑨ 글씨크기 (2000)",
|
||||||
|
"desc": "1pt당 100"
|
||||||
|
},
|
||||||
|
"13": {
|
||||||
|
"path": "//PARASHAPE[@Id={rect_parashape_id}]/@Align",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.TextBoxAlign",
|
||||||
|
"item": "문구 (요리 산업 현황)/⑩ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"14": {
|
||||||
|
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "① 파일명 \"그림A.jpg\" 삽입",
|
||||||
|
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||||
|
},
|
||||||
|
"15": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
||||||
|
"value": "85",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "② 크기-너비 (85 mm)"
|
||||||
|
},
|
||||||
|
"16": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
||||||
|
"value": "40",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "③ 크기-높이 (40 mm)"
|
||||||
|
},
|
||||||
|
"17": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset",
|
||||||
|
"value": "0",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0mm)"
|
||||||
|
},
|
||||||
|
"18": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
||||||
|
"value": "22",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 22 mm)"
|
||||||
|
},
|
||||||
|
"19": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "1. 요리 산업의 트렌드",
|
||||||
|
"value": "굴림",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구① (1. 요리 산업의 트렌드)/① 글씨체 (굴림)"
|
||||||
|
},
|
||||||
|
"20": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "1. 요리 산업의 트렌드",
|
||||||
|
"value": "1200",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구① (1. 요리 산업의 트렌드)/② 크기 (1200)"
|
||||||
|
},
|
||||||
|
"21": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"searchValue": "1. 요리 산업의 트렌드",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구① (1. 요리 산업의 트렌드)/③ 진하게"
|
||||||
|
},
|
||||||
|
"22": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "2. 요리 경연대회의 가치",
|
||||||
|
"value": "굴림",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구② (2. 요리 경연대회의 가치)/① 글씨체 (굴림)"
|
||||||
|
},
|
||||||
|
"23": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "2. 요리 경연대회의 가치",
|
||||||
|
"value": "1200",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구② (2. 요리 경연대회의 가치)/② 크기 (1200)"
|
||||||
|
},
|
||||||
|
"24": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"searchValue": "2. 요리 경연대회의 가치",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구② (2. 요리 경연대회의 가치)/③ 진하게"
|
||||||
|
},
|
||||||
|
"25": {
|
||||||
|
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
||||||
|
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
||||||
|
"option": "대체육",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "문구 (대체육)/① 각주 설정 및 문구 입력"
|
||||||
|
},
|
||||||
|
"26": {
|
||||||
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
|
"searchValue": "식물성 고기라고 불리며, 비동물성 재료로 모양과 식감을 고기와 유사하게 만든 식재료를 의미함",
|
||||||
|
"value": "돋움",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구 (대체육)/② 글씨체 (돋움)"
|
||||||
|
},
|
||||||
|
"27": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
||||||
|
"searchValue": "식물성 고기라고 불리며, 비동물성 재료로 모양과 식감을 고기와 유사하게 만든 식재료를 의미함",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (대체육)/③ 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"28": {
|
||||||
|
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
||||||
|
"searchValue": "식물성 고기라고 불리며, 비동물성 재료로 모양과 식감을 고기와 유사하게 만든 식재료를 의미함",
|
||||||
|
"value": "CircledHangulJamo",
|
||||||
|
"points": 2,
|
||||||
|
"category": "PageNumber",
|
||||||
|
"item": "문구 (전당)/④ 각주 번호모양",
|
||||||
|
"desc": {
|
||||||
|
"가,나,다": "HangulSyllable",
|
||||||
|
"1,2,3": "Digit",
|
||||||
|
"일,이,삼": "HangulPhonetic",
|
||||||
|
"갑,을,병": "DecagonCircle",
|
||||||
|
"A,B,C": "LatinCapital",
|
||||||
|
"a,b,c": "LatinSmall",
|
||||||
|
"Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital",
|
||||||
|
"①,②,③": "CircledDigit",
|
||||||
|
"一,二,三": "Ideograph",
|
||||||
|
"㉠,㉡,㉢": "CircledHangulJamo",
|
||||||
|
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
|
||||||
|
"㊀,㊁,㊂": "CircledIdeograph",
|
||||||
|
"i,ii,iii": "RomanSmall",
|
||||||
|
"I,II,III": "RomanCapital",
|
||||||
|
"甲,乙,丙": "DecagonCircleHanja",
|
||||||
|
"+,++,+++": "UserChar",
|
||||||
|
"*,**,***": "UserChar",
|
||||||
|
"정답에 맞는 값 value에 입력": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"29": {
|
||||||
|
"path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])",
|
||||||
|
"ignoreWord": "Recipe",
|
||||||
|
"value": true,
|
||||||
|
"points": 3,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "Recipe/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||||
|
"desc": ""
|
||||||
|
},
|
||||||
|
"30": {
|
||||||
|
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
|
||||||
|
"word": [
|
||||||
|
["요리", "料理"],
|
||||||
|
["지속", "持續"],
|
||||||
|
["활용", "活用"],
|
||||||
|
["실력", "實力"],
|
||||||
|
["미식", "美食"]
|
||||||
|
],
|
||||||
|
"value": 10,
|
||||||
|
"points": 10,
|
||||||
|
"category": "Hanja",
|
||||||
|
"item": "① 요리(料理), ② 지속(持續), ③ 활용(活用), ④ 실력(實力), ⑤ 미식(美食)"
|
||||||
|
},
|
||||||
|
"31": {
|
||||||
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'태의미식')])",
|
||||||
|
"value": true,
|
||||||
|
"points": 3,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "문구 (…새로운 미식을 형태의 창조하는…)>'미식을' / '형태의' 순서바꿈"
|
||||||
|
},
|
||||||
|
"32": {
|
||||||
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'광도경제')])",
|
||||||
|
"value": true,
|
||||||
|
"points": 3,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "문구 (…미식(美食) 관광은 경제적…)>'은' → '도' 글자바꿈"
|
||||||
|
},
|
||||||
|
"33": {
|
||||||
|
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
|
||||||
|
"searchValue": "요리 산업 트렌드(단위: 건수)",
|
||||||
|
"value": "궁서",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "제목 문구 (요리 산업 트렌드(단위: 건수))/① 글씨체 (궁서)"
|
||||||
|
},
|
||||||
|
"34": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "요리 산업 트렌드(단위: 건수)",
|
||||||
|
"value": "1200",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (요리 산업 트렌드(단위: 건수))/② 크기 (1200)"
|
||||||
|
},
|
||||||
|
"35": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"searchValue": "요리 산업 트렌드(단위: 건수)",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "제목 문구 (요리 산업 트렌드(단위: 건수))/③ 진하게"
|
||||||
|
},
|
||||||
|
"36": {
|
||||||
|
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||||
|
"searchValue": "요리 산업 트렌드(단위: 건수)",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (요리 산업 트렌드(단위: 건수))/④ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"37": {
|
||||||
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
||||||
|
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
||||||
|
"value": "160,214,107",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Color",
|
||||||
|
"item": "위쪽 제목 셀/① 색상(RGB:160,214,107)"
|
||||||
|
},
|
||||||
|
"38": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "위쪽 제목 셀/② 진하게",
|
||||||
|
"desc": "글자 속성이라 CELLZONE으로 적용 되지 않음"
|
||||||
|
},
|
||||||
|
"39": {
|
||||||
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Type",
|
||||||
|
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Type",
|
||||||
|
"value": "DoubleSlim",
|
||||||
|
"points": 2,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "제목 셀 아래선/① 이중실선"
|
||||||
|
},
|
||||||
|
"40": {
|
||||||
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Width",
|
||||||
|
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Width",
|
||||||
|
"value": "0.5mm",
|
||||||
|
"points": 2,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "제목 셀 아래선/② 0.5mm"
|
||||||
|
},
|
||||||
|
"41": {
|
||||||
|
"path": "//TABLE//TEXT/@CharShape",
|
||||||
|
"path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
|
||||||
|
"value": "굴림",
|
||||||
|
"points": 1,
|
||||||
|
"category": "TableFontName",
|
||||||
|
"category_tmp": "FontName",
|
||||||
|
"item": "글자모양/① 글씨체 (굴림)",
|
||||||
|
"desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경"
|
||||||
|
},
|
||||||
|
"42": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TABLE//TEXT/@CharShape]/@Height",
|
||||||
|
"value": "1000",
|
||||||
|
"points": 1,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "글자모양/② 크기 (1000)"
|
||||||
|
},
|
||||||
|
"43": {
|
||||||
|
"path": "//PARASHAPE[@Id=//TABLE/ROW//P/@ParaShape]/@Align",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "글자모양/③ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"44": {
|
||||||
|
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) or boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
|
||||||
|
"option": "SUM",
|
||||||
|
"value": true,
|
||||||
|
"points": 4,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "블록 계산식/합계",
|
||||||
|
"desc": "option값에 합계는 SUM / 평균은 AVG"
|
||||||
|
},
|
||||||
|
"45": {
|
||||||
|
"chart_xpath": "",
|
||||||
|
"chart_type": "표식만 있는 분산형",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "ChartType",
|
||||||
|
"item": "① 종류 (표식만 있는 분산형)",
|
||||||
|
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
|
||||||
|
},
|
||||||
|
"46": {
|
||||||
|
"chart_xpath": "//c:valAx/c:majorTickMark/@val",
|
||||||
|
"value": "out",
|
||||||
|
"points": 2,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "② 값 축 주 눈금선",
|
||||||
|
"desc": "chart xml파일에서 답안을 가져오는 문항은 path키값 대신 chart_xpath키값을 이용해 xapth구문을 작성한다"
|
||||||
|
},
|
||||||
|
"47": {
|
||||||
|
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Width",
|
||||||
|
"value": "80",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "③ 크기-너비 (80 mm)"
|
||||||
|
},
|
||||||
|
"48": {
|
||||||
|
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Height",
|
||||||
|
"value": "90",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "④ 크기-높이 (90 mm)"
|
||||||
|
},
|
||||||
|
"49": {
|
||||||
|
"chart_xpath": "boolean(//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='합계' or text()='평균']))",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "⑤ 차트 데이터(표에서 블록계산식을 제외한 나머지 값만 이용)",
|
||||||
|
"desc": "차트가 존재하고 블록계산식(합계, 평균) 데이터가 없는 경우 정답 처리"
|
||||||
|
},
|
||||||
|
"50": {
|
||||||
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
||||||
|
"searchValue": "요리 산업 트렌드(단위: 건수)",
|
||||||
|
"value": "돋움",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (요리 산업 트렌드(단위: 건수))/① 글씨체 (돋움)"
|
||||||
|
},
|
||||||
|
"51": {
|
||||||
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
||||||
|
"searchValue": "요리 산업 트렌드(단위: 건수)",
|
||||||
|
"value": "1300",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (요리 산업 트렌드(단위: 건수))/② 크기 (1300)"
|
||||||
|
},
|
||||||
|
"52": {
|
||||||
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
||||||
|
"option": "b",
|
||||||
|
"searchValue": "요리 산업 트렌드(단위: 건수)",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (요리 산업 트렌드(단위: 건수))/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
},
|
||||||
|
"53": {
|
||||||
|
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface | //c:catAx/c:txPr//a:latin/@typeface",
|
||||||
|
"value": "궁서",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "X축/① 글꼴 (궁서)"
|
||||||
|
},
|
||||||
|
"54": {
|
||||||
|
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "X축/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"55": {
|
||||||
|
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@{option}",
|
||||||
|
"option": "i",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "X축/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
},
|
||||||
|
"56": {
|
||||||
|
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface | //c:valAx/c:txPr//a:latin/@typeface",
|
||||||
|
"value": "궁서",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "Y축/① 글꼴 (궁서)"
|
||||||
|
},
|
||||||
|
"57": {
|
||||||
|
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "Y축/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"58": {
|
||||||
|
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@{option}",
|
||||||
|
"option": "i",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "Y축/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
},
|
||||||
|
"59": {
|
||||||
|
"chart_xpath": "//c:legend//a:ea/@typeface | //c:legend//a:latin/@typeface",
|
||||||
|
"value": "궁서",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "범례/① 글꼴 (궁서)"
|
||||||
|
},
|
||||||
|
"60": {
|
||||||
|
"chart_xpath": "//c:legend//a:defRPr/@sz",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "범례/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"61": {
|
||||||
|
"chart_xpath": "//c:legend//a:defRPr/@{option}",
|
||||||
|
"option": "i",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "범례/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -46,65 +46,65 @@
|
|||||||
"1": {
|
"1": {
|
||||||
"1": {
|
"1": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
||||||
"searchValue": "거창에살으리랏다",
|
"searchValue": "전문사무연합협의회출범안내",
|
||||||
"value": "견고딕",
|
"value": "맑은 고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (거창에살으리랏다)/① 글씨체 (견고딕)"
|
"item": "문구 (전문사무연합협의회출범안내)/① 글씨체 (맑은 고딕)"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
||||||
"searchValue": "거창에살으리랏다",
|
"searchValue": "전문사무연합협의회출범안내",
|
||||||
"value": "211,125,209",
|
"value": "194,58,253",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Color",
|
"category": "Color",
|
||||||
"item": "문구 (거창에살으리랏다)/② 채우기 : 색상(RGB:211,125,209)"
|
"item": "문구 (전문사무연합협의회출범안내)/② 채우기 : 색상(RGB:194,58,253)"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
||||||
"searchValue": "거창에살으리랏다",
|
"searchValue": "전문사무연합협의회출범안내",
|
||||||
"value": "110",
|
"value": "140",
|
||||||
"tolerance": 1,
|
"tolerance": 1,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "문구 (거창에살으리랏다)/③ 크기-너비 (110 mm)"
|
"item": "문구 (전문사무연합협의회출범안내)/③ 크기-너비 (140 mm)"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
|
||||||
"searchValue": "거창에살으리랏다",
|
"searchValue": "전문사무연합협의회출범안내",
|
||||||
"value": "20",
|
"value": "20",
|
||||||
"tolerance": 1,
|
"tolerance": 1,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "문구 (거창에살으리랏다)/④ 크기-높이 (20 mm)"
|
"item": "문구 (전문사무연합협의회출범안내)/④ 크기-높이 (20 mm)"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
"searchValue": "거창에살으리랏다",
|
"searchValue": "전문사무연합협의회출범안내",
|
||||||
"value": "true",
|
"value": "true",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (거창에살으리랏다)/⑤ 위치 (글자처럼 취급)"
|
"item": "문구 (전문사무연합협의회출범안내)/⑤ 위치 (글자처럼 취급)"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
|
||||||
"searchValue": "거창에살으리랏다",
|
"searchValue": "전문사무연합협의회출범안내",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (거창에살으리랏다)/⑥ 정렬 (가운데 정렬)"
|
"item": "문구 (전문사무연합협의회출범안내)/⑥ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']",
|
"path": "//TEXTART[@Text='{searchValue}']",
|
||||||
"searchValue": "거창에살으리랏다",
|
"searchValue": "전문사무연합협의회출범안내",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (거창에살으리랏다)/⑦ 글맵시모양 (육안확인)"
|
"item": "문구 (전문사무연합협의회출범안내)/⑦ 글맵시모양 (육안확인)"
|
||||||
},
|
},
|
||||||
"8": {
|
"8": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
|
||||||
"searchValue": "뉴",
|
"searchValue": "국",
|
||||||
"value": {
|
"value": {
|
||||||
"Height": 2800,
|
"Height": 2800,
|
||||||
"Width": 2800
|
"Width": 2800
|
||||||
@@ -116,7 +116,7 @@
|
|||||||
},
|
},
|
||||||
"9": {
|
"9": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "뉴",
|
"searchValue": "국",
|
||||||
"value": "궁서체",
|
"value": "궁서체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
@@ -124,15 +124,15 @@
|
|||||||
},
|
},
|
||||||
"10": {
|
"10": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||||
"searchValue": "뉴",
|
"searchValue": "국",
|
||||||
"value": "174,227,120",
|
"value": "87,172,220",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Color",
|
"category": "Color",
|
||||||
"item": "어/③ 면색 : 색상(RGB:174,227,120)"
|
"item": "어/③ 면색 : 색상(RGB:87,172,220)"
|
||||||
},
|
},
|
||||||
"11": {
|
"11": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
||||||
"searchValue": "뉴",
|
"searchValue": "국",
|
||||||
"value": "3.0",
|
"value": "3.0",
|
||||||
"tolerance": 1,
|
"tolerance": 1,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
@@ -141,31 +141,31 @@
|
|||||||
},
|
},
|
||||||
"12": {
|
"12": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
"searchValue": "저출산/고령화 수치(중위연령, 고령화지수, 출산율)",
|
"searchValue": "비전과 목표를 공유",
|
||||||
"value": "ITALIC",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (저출산/고령화 수치(중위연령, 고령화지수, 출산율))/① ITALIC"
|
"item": "문구 (비전과 목표를 공유)/① BOLD"
|
||||||
},
|
},
|
||||||
"13": {
|
"13": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
"searchValue": "저출산/고령화 수치(중위연령, 고령화지수, 출산율)",
|
"searchValue": "비전과 목표를 공유",
|
||||||
"value": "UNDERLINE",
|
"value": "UNDERLINE",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (저출산/고령화 수치(중위연령, 고령화지수, 출산율))/② UNDERLINE"
|
"item": "문구 (비전과 목표를 공유)/② UNDERLINE"
|
||||||
},
|
},
|
||||||
"14": {
|
"14": {
|
||||||
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||||
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
||||||
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
||||||
"char1": "☆",
|
"char1": "■",
|
||||||
"char2": "☆",
|
"char2": "■",
|
||||||
"char3": "※",
|
"char3": "※",
|
||||||
"value": 3,
|
"value": 3,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "SpecialChar",
|
"category": "SpecialChar",
|
||||||
"item": "① ☆, ② ☆, ③ ※"
|
"item": "① ■, ② ■, ③ ※"
|
||||||
},
|
},
|
||||||
"15": {
|
"15": {
|
||||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
@@ -173,7 +173,7 @@
|
|||||||
"value": "궁서",
|
"value": "궁서",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구 (☆ 행사안내 ☆)/① 글씨체 (궁서)"
|
"item": "문구 (■ 행사안내 ■)/① 글씨체 (궁서)"
|
||||||
},
|
},
|
||||||
"16": {
|
"16": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
@@ -181,25 +181,25 @@
|
|||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Align",
|
"category": "Align",
|
||||||
"item": "문구 (☆ 행사안내 ☆)/② 정렬 (가운데 정렬)"
|
"item": "문구 (■ 행사안내 ■)/② 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"17": {
|
"17": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
"searchValue": "2026. 01. 25.(일) 18:00까지 온라인으로 등록(http://www.ihd.or.kr)",
|
"searchValue": "본회 홈페이지(http://www.ihd.or.kr)에서 신청 가능",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (2026. 01. 25.(일) 18:00까지 온라인으로 등록(http://www.ihd.or.kr))/① BOLD"
|
"item": "문구 (본회 홈페이지(http://www.ihd.or.kr)에서 신청 가능)/① BOLD"
|
||||||
},
|
},
|
||||||
"18": {
|
"18": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
"searchValue": "2026. 01. 25.(일) 18:00까지 온라인으로 등록(http://www.ihd.or.kr)",
|
"searchValue": "본회 홈페이지(http://www.ihd.or.kr)에서 신청 가능",
|
||||||
"value": "UNDERLINE",
|
"value": "ITALIC",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (2026. 01. 25.(일) 18:00까지 온라인으로 등록(http://www.ihd.or.kr))/② UNDERLINE"
|
"item": "문구 (본회 홈페이지(http://www.ihd.or.kr)에서 신청 가능)/② ITALIC"
|
||||||
},
|
},
|
||||||
"19": {
|
"19": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||||
@@ -215,52 +215,52 @@
|
|||||||
},
|
},
|
||||||
"20": {
|
"20": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||||
"searchValue": "2026. 01. 24.",
|
"searchValue": "2026. 2. 28.",
|
||||||
"value": "1300",
|
"value": "1300",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (2026. 01. 24.)/① 크기 (1300)",
|
"item": "문구 (2026. 2. 28.)/① 크기 (1300)",
|
||||||
"desc": "1pt당 100"
|
"desc": "1pt당 100"
|
||||||
},
|
},
|
||||||
"21": {
|
"21": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
"searchValue": "2026. 01. 24.",
|
"searchValue": "2026. 2. 28.",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (2026. 01. 24.)/② 정렬 (가운데 정렬)"
|
"item": "문구 (2026. 2. 28.)/② 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"22": {
|
"22": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "거창군청",
|
"searchValue": "한국전문사무연합협의회",
|
||||||
"value": "휴먼옛체",
|
"value": "돋움체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구 (거창군청)/① 글씨체 (휴먼옛체)"
|
"item": "문구 (한국전문사무연합협의회)/① 글씨체 (돋움체)"
|
||||||
},
|
},
|
||||||
"23": {
|
"23": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "거창군청",
|
"searchValue": "한국전문사무연합협의회",
|
||||||
"value": "2700",
|
"value": "2400",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (거창군청)/② 크기 (2700)"
|
"item": "문구 (한국전문사무연합협의회)/② 크기 (2400)"
|
||||||
},
|
},
|
||||||
"24": {
|
"24": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||||
"searchValue": "거창군청",
|
"searchValue": "한국전문사무연합협의회",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (거창군청)/③ 정렬 (가운데 정렬)"
|
"item": "문구 (한국전문사무연합협의회)/③ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "DIAT",
|
"searchValue": "DIAT",
|
||||||
"value": "돋움",
|
"value": "굴림",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Header.FontName",
|
"category": "Header.FontName",
|
||||||
"item": "문구 (DIAT)/① 글꼴 (돋움)"
|
"item": "문구 (DIAT)/① 글꼴 (굴림)"
|
||||||
},
|
},
|
||||||
"26": {
|
"26": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
@@ -280,10 +280,10 @@
|
|||||||
},
|
},
|
||||||
"28": {
|
"28": {
|
||||||
"path": "//PAGENUM/@FormatType",
|
"path": "//PAGENUM/@FormatType",
|
||||||
"value": "LatinCapital",
|
"value": "RomanCapital",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "PageNumber",
|
"category": "PageNumber",
|
||||||
"item": "① 쪽 번호 매기기 (가,나,다 순으로)",
|
"item": "① 쪽 번호 매기기 (I,II,III 순으로)",
|
||||||
"desc1": {
|
"desc1": {
|
||||||
"가,나,다": "HangulSyllable",
|
"가,나,다": "HangulSyllable",
|
||||||
"1,2,3": "Digit",
|
"1,2,3": "Digit",
|
||||||
@@ -330,11 +330,11 @@
|
|||||||
},
|
},
|
||||||
"31": {
|
"31": {
|
||||||
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
||||||
"value": "180",
|
"value": "190",
|
||||||
"first_word": "뉴",
|
"first_word": "국",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "LineSpacing",
|
"category": "LineSpacing",
|
||||||
"item": "문제 1 줄간격 180% 설정",
|
"item": "문제 1 줄간격 190% 설정",
|
||||||
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
|
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -367,17 +367,17 @@
|
|||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||||
"value": "65",
|
"value": "45",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.mmSize",
|
"category": "Rectangle.mmSize",
|
||||||
"item": "문구 (인구절벽)/① 크기-너비 (65 mm)"
|
"item": "문구 (전문사무)/① 크기-너비 (45 mm)"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||||
"value": "12",
|
"value": "12",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.mmSize",
|
"category": "Rectangle.mmSize",
|
||||||
"item": "문구 (인구절벽)/② 크기-높이 (12 mm)"
|
"item": "문구 (전문사무)/② 크기-높이 (12 mm)"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"path": "//RECTANGLE//LINESHAPE",
|
"path": "//RECTANGLE//LINESHAPE",
|
||||||
@@ -387,51 +387,51 @@
|
|||||||
},
|
},
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.LineShape",
|
"category": "Rectangle.LineShape",
|
||||||
"item": "문구 (인구절벽)/③ 테두리 : 이중 실선(1.00mm)",
|
"item": "문구 (전문사무)/③ 테두리 : 이중 실선(1.00mm)",
|
||||||
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"path": "//RECTANGLE/@Ratio",
|
"path": "//RECTANGLE/@Ratio",
|
||||||
"value": "50",
|
"value": "20",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.OneAnswer",
|
"category": "Rectangle.OneAnswer",
|
||||||
"item": "문구 (인구절벽)/④ 글상자 모서리 (둥근모양)",
|
"item": "문구 (전문사무)/④ 글상자 모서리 (둥근모양)",
|
||||||
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||||
},
|
},
|
||||||
"8": {
|
"8": {
|
||||||
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
|
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
|
||||||
"value": "244,220,42",
|
"value": "249,176,199",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.Color",
|
"category": "Rectangle.Color",
|
||||||
"item": "문구 (인구절벽)/⑤ 채우기 : 색상(RGB:244,220,42)"
|
"item": "문구 (전문사무)/⑤ 채우기 : 색상(RGB:249,176,199)"
|
||||||
},
|
},
|
||||||
"9": {
|
"9": {
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
|
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
"value": "true",
|
"value": "true",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.OneAnswer",
|
"category": "Rectangle.OneAnswer",
|
||||||
"item": "문구 (인구절벽)/⑥ 글상자 위치 (글자처럼 취급)"
|
"item": "문구 (전문사무)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||||
},
|
},
|
||||||
"10": {
|
"10": {
|
||||||
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
|
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.TextBoxAlign",
|
"category": "Rectangle.TextBoxAlign",
|
||||||
"item": "문구 (인구절벽)/⑦ 글상자 정렬 (가운데 정렬)"
|
"item": "문구 (전문사무)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"11": {
|
"11": {
|
||||||
"path": ".//RECTANGLE//TEXT/@CharShape",
|
"path": ".//RECTANGLE//TEXT/@CharShape",
|
||||||
"value": "휴먼옛체",
|
"value": "견고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.FontName",
|
"category": "Rectangle.FontName",
|
||||||
"item": "문구 (인구절벽)/⑧ 글씨체 (휴먼옛체)"
|
"item": "문구 (전문사무)/⑧ 글씨체 (견고딕)"
|
||||||
},
|
},
|
||||||
"12": {
|
"12": {
|
||||||
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
|
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
|
||||||
"value": "2000",
|
"value": "2000",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.FontSize",
|
"category": "Rectangle.FontSize",
|
||||||
"item": "문구 (인구절벽)/⑨ 글씨크기 (2000)",
|
"item": "문구 (전문사무)/⑨ 글씨크기 (2000)",
|
||||||
"desc": "1pt당 100"
|
"desc": "1pt당 100"
|
||||||
},
|
},
|
||||||
"13": {
|
"13": {
|
||||||
@@ -439,14 +439,14 @@
|
|||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.TextBoxAlign",
|
"category": "Rectangle.TextBoxAlign",
|
||||||
"item": "문구 (인구절벽)/⑩ 정렬 (가운데 정렬)"
|
"item": "문구 (전문사무)/⑩ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"14": {
|
"14": {
|
||||||
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
|
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "① 파일명 \"그림C.jpg\" 삽입",
|
"item": "① 파일명 \"그림B.jpg\" 삽입",
|
||||||
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||||
},
|
},
|
||||||
"15": {
|
"15": {
|
||||||
@@ -479,81 +479,81 @@
|
|||||||
},
|
},
|
||||||
"19": {
|
"19": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "1. 인구절벽이란?",
|
"searchValue": "1. 전문사무",
|
||||||
"value": "중고딕",
|
"value": "굴림체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구① (1. 인구절벽이란?)/① 글씨체 (중고딕)"
|
"item": "문구① (1. 전문사무)/① 글씨체 (굴림체)"
|
||||||
},
|
},
|
||||||
"20": {
|
"20": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "1. 인구절벽이란?",
|
"searchValue": "1. 전문사무",
|
||||||
"value": "1200",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구① (1. 인구절벽이란?)/② 크기 (1200)"
|
"item": "문구① (1. 전문사무)/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"21": {
|
"21": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "1. 인구절벽이란?",
|
"searchValue": "1. 전문사무",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구① (1. 인구절벽이란?)/③ 진하게"
|
"item": "문구① (1. 전문사무)/③ 진하게"
|
||||||
},
|
},
|
||||||
"22": {
|
"22": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "2. 인구절벽 대응책",
|
"searchValue": "2. 전문사무의 동향",
|
||||||
"value": "중고딕",
|
"value": "굴림체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구② (2. 인구절벽 대응책)/① 글씨체 (중고딕)"
|
"item": "문구② (2. 전문사무의 동향)/① 글씨체 (굴림체)"
|
||||||
},
|
},
|
||||||
"23": {
|
"23": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "2. 인구절벽 대응책",
|
"searchValue": "2. 전문사무의 동향",
|
||||||
"value": "1200",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구② (2. 인구절벽 대응책)/② 크기 (1200)"
|
"item": "문구② (2. 전문사무의 동향)/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"24": {
|
"24": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "2. 인구절벽 대응책",
|
"searchValue": "2. 전문사무의 동향",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구② (2. 인구절벽 대응책)/③ 진하게"
|
"item": "문구② (2. 전문사무의 동향)/③ 진하게"
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
||||||
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
||||||
"option": "생산가능인구",
|
"option": "인공지능 리터러시",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (생산가능인구)/① 각주 설정 및 문구 입력"
|
"item": "문구 (인공지능 리터러시)/① 각주 설정 및 문구 입력"
|
||||||
},
|
},
|
||||||
"26": {
|
"26": {
|
||||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
"searchValue": "전체 인구가 늘더라도 생산가능인구가 감소한다면 생산가능인구가 짊어져야 하는 비용은 증가한다.",
|
"searchValue": "인공지능을 이해하고 활용할 수 있는 능력",
|
||||||
"value": "굴림",
|
"value": "중고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구 (생산가능인구)/② 글씨체 (굴림)"
|
"item": "문구 (인공지능 리터러시)/② 글씨체 (중고딕)"
|
||||||
},
|
},
|
||||||
"27": {
|
"27": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
||||||
"searchValue": "전체 인구가 늘더라도 생산가능인구가 감소한다면 생산가능인구가 짊어져야 하는 비용은 증가한다.",
|
"searchValue": "인공지능을 이해하고 활용할 수 있는 능력",
|
||||||
"value": "900",
|
"value": "900",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (생산가능인구)/③ 크기 (9pt)"
|
"item": "문구 (인공지능 리터러시)/③ 크기 (9pt)"
|
||||||
},
|
},
|
||||||
"28": {
|
"28": {
|
||||||
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
||||||
"searchValue": "전체 인구가 늘더라도 생산가능인구가 감소한다면 생산가능인구가 짊어져야 하는 비용은 증가한다.",
|
"searchValue": "인공지능을 이해하고 활용할 수 있는 능력",
|
||||||
"value": "DecagonCircleHanja",
|
"value": "CircledHangulJamo",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (전당)/④ 각주 번호모양",
|
"item": "문구 (전당)/④ 각주 번호모양",
|
||||||
@@ -580,80 +580,80 @@
|
|||||||
},
|
},
|
||||||
"29": {
|
"29": {
|
||||||
"path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])",
|
"path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])",
|
||||||
"ignoreWord": "Disaster",
|
"ignoreWord": "Chatgpt",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "Disaster/영단어 미입력, 대소문자/오타 시 전체 감점",
|
"item": "Chatgpt/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||||
"desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요"
|
"desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요"
|
||||||
},
|
},
|
||||||
"30": {
|
"30": {
|
||||||
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
|
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
|
||||||
"word": [
|
"word": [
|
||||||
["이론", "理論"],
|
["기술", "技術"],
|
||||||
["분포", "分布"],
|
["도약", "跳躍"],
|
||||||
["확산", "擴散"],
|
["동향", "動向"],
|
||||||
["변화", "變化"],
|
["역량", "力量"],
|
||||||
["확대", "擴大"]
|
["혁신", "革新"]
|
||||||
],
|
],
|
||||||
"value": 10,
|
"value": 10,
|
||||||
"points": 10,
|
"points": 10,
|
||||||
"category": "Hanja",
|
"category": "Hanja",
|
||||||
"item": "① 이론(理論), ② 분포(分布), ③ 확산(擴散), ④ 변화(變化), ⑤ 확대(擴大)"
|
"item": "① 기술(技術), ② 도약(跳躍), ③ 동향(動向), ④ 역량(力量), ⑤ 혁신(革新)"
|
||||||
},
|
},
|
||||||
"31": {
|
"31": {
|
||||||
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'지기시작')])",
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'성과신뢰')])",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (…기점으로 시작하는 약해지기 현상을…)>'시작하는' / '약해지기' 순서바꿈"
|
"item": "문구 (…이러한 업무는 신뢰성이 정확성과 중요하기 때문에…)>'신뢰성이 / 정확성과' 순서바꿈"
|
||||||
},
|
},
|
||||||
"32": {
|
"32": {
|
||||||
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'취업기회')])",
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'전기회를')])",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (…청년들의 취협 기회도…)>'협' → '업' 글자바꿈"
|
"item": "문구 (…도약(跳躍)을 위한 발전 기획를 맞이하고…)>'획' → '회' 글자바꿈"
|
||||||
},
|
},
|
||||||
"33": {
|
"33": {
|
||||||
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
|
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
|
||||||
"searchValue": "OECD 주요국 합계출산율",
|
"searchValue": "전문사무 자격증 취득자 현황",
|
||||||
"value": "궁서",
|
"value": "돋움체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "제목 문구 (OECD 주요국 합계출산율)/① 글씨체 (궁서)"
|
"item": "제목 문구 (전문사무 자격증 취득자 현황)/① 글씨체 (돋움체)"
|
||||||
},
|
},
|
||||||
"34": {
|
"34": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "OECD 주요국 합계출산율",
|
"searchValue": "전문사무 자격증 취득자 현황",
|
||||||
"value": "1200",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (OECD 주요국 합계출산율)/② 크기 (1200)"
|
"item": "제목 문구 (전문사무 자격증 취득자 현황)/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"35": {
|
"35": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "OECD 주요국 합계출산율",
|
"searchValue": "전문사무 자격증 취득자 현황",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "제목 문구 (OECD 주요국 합계출산율)/③ 진하게"
|
"item": "제목 문구 (전문사무 자격증 취득자 현황)/③ 진하게"
|
||||||
},
|
},
|
||||||
"36": {
|
"36": {
|
||||||
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||||
"searchValue": "OECD 주요국 합계출산율",
|
"searchValue": "전문사무 자격증 취득자 현황",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (OECD 주요국 합계출산율)/④ 정렬 (가운데 정렬)"
|
"item": "제목 문구 (전문사무 자격증 취득자 현황)/④ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"37": {
|
"37": {
|
||||||
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
||||||
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
||||||
"value": "247,159,100",
|
"value": "191,240,173",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Color",
|
"category": "Color",
|
||||||
"item": "위쪽 제목 셀/① 색상(RGB:247,159,100)"
|
"item": "위쪽 제목 셀/① 색상(RGB:191,240,173)"
|
||||||
},
|
},
|
||||||
"38": {
|
"38": {
|
||||||
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
|
||||||
@@ -682,11 +682,11 @@
|
|||||||
"41": {
|
"41": {
|
||||||
"path": "//TABLE//TEXT/@CharShape",
|
"path": "//TABLE//TEXT/@CharShape",
|
||||||
"path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
|
"path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
|
||||||
"value": "돋움체",
|
"value": "굴림",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "TableFontName",
|
"category": "TableFontName",
|
||||||
"category_tmp": "FontName",
|
"category_tmp": "FontName",
|
||||||
"item": "글자모양/① 글씨체 (돋움체)",
|
"item": "글자모양/① 글씨체 (굴림)",
|
||||||
"desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경"
|
"desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경"
|
||||||
},
|
},
|
||||||
"42": {
|
"42": {
|
||||||
@@ -705,7 +705,7 @@
|
|||||||
},
|
},
|
||||||
"44": {
|
"44": {
|
||||||
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) or boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
|
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) or boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
|
||||||
"option": "AVG",
|
"option": "SUM",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 4,
|
"points": 4,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
@@ -714,11 +714,11 @@
|
|||||||
},
|
},
|
||||||
"45": {
|
"45": {
|
||||||
"chart_xpath": "",
|
"chart_xpath": "",
|
||||||
"chart_type": "꺾은선형",
|
"chart_type": "묶은 세로 막대형",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "ChartType",
|
"category": "ChartType",
|
||||||
"item": "① 종류 (꺾은선형)",
|
"item": "① 종류 (묶은 세로 막대형)",
|
||||||
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
|
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
|
||||||
},
|
},
|
||||||
"46": {
|
"46": {
|
||||||
@@ -753,36 +753,36 @@
|
|||||||
},
|
},
|
||||||
"50": {
|
"50": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
||||||
"searchValue": "OECD 주요국 합계출산율",
|
"searchValue": "전문사무 자격증 취득 현황",
|
||||||
"value": "돋움",
|
"value": "궁서체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (OECD 주요국 합계출산율)/① 글씨체 (돋움)"
|
"item": "제목 문구 (전문사무 자격증 취득 현황)/① 글씨체 (궁서체)"
|
||||||
},
|
},
|
||||||
"51": {
|
"51": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
||||||
"searchValue": "OECD 주요국 합계출산율",
|
"searchValue": "전문사무 자격증 취득 현황",
|
||||||
"value": "1300",
|
"value": "1300",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (OECD 주요국 합계출산율)/② 크기 (1300)"
|
"item": "제목 문구 (전문사무 자격증 취득 현황)/② 크기 (1300)"
|
||||||
},
|
},
|
||||||
"52": {
|
"52": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
||||||
"option": "b",
|
"option": "b",
|
||||||
"searchValue": "OECD 주요국 합계출산율",
|
"searchValue": "전문사무 자격증 취득 현황",
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (OECD 주요국 합계출산율)/③ 기울임",
|
"item": "제목 문구 (전문사무 자격증 취득 현황)/③ 기울임",
|
||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"53": {
|
"53": {
|
||||||
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface",
|
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface | //c:catAx/c:txPr//a:latin/@typeface",
|
||||||
"value": "굴림체",
|
"value": "돋움",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "ChartOneAnswer",
|
"category": "ChartOneAnswer",
|
||||||
"item": "X축/① 글꼴 (굴림체)"
|
"item": "X축/① 글꼴 (돋움)"
|
||||||
},
|
},
|
||||||
"54": {
|
"54": {
|
||||||
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
|
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
|
||||||
@@ -801,11 +801,11 @@
|
|||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"56": {
|
"56": {
|
||||||
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface",
|
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface | //c:valAx/c:txPr//a:latin/@typeface",
|
||||||
"value": "굴림체",
|
"value": "돋움",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "ChartOneAnswer",
|
"category": "ChartOneAnswer",
|
||||||
"item": "Y축/① 글꼴 (굴림체)"
|
"item": "Y축/① 글꼴 (돋움)"
|
||||||
},
|
},
|
||||||
"57": {
|
"57": {
|
||||||
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
|
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
|
||||||
@@ -824,11 +824,11 @@
|
|||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"59": {
|
"59": {
|
||||||
"chart_xpath": "//c:legend//a:ea/@typeface",
|
"chart_xpath": "//c:legend//a:ea/@typeface | //c:legend//a:latin/@typeface",
|
||||||
"value": "굴림체",
|
"value": "돋움",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "범례/① 글꼴 (굴림체)"
|
"item": "범례/① 글꼴 (돋움)"
|
||||||
},
|
},
|
||||||
"60": {
|
"60": {
|
||||||
"chart_xpath": "//c:legend//a:defRPr/@sz",
|
"chart_xpath": "//c:legend//a:defRPr/@sz",
|
||||||
@@ -46,65 +46,65 @@
|
|||||||
"1": {
|
"1": {
|
||||||
"1": {
|
"1": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
||||||
"searchValue": "디지털문서편집컨퍼런스",
|
"searchValue": "슬기로운국제사진공모전",
|
||||||
"value": "견고딕",
|
"value": "궁서체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (디지털문서편집컨퍼런스)/① 글씨체 (견고딕)"
|
"item": "문구 (슬기로운국제사진공모전)/① 글씨체 (궁서체)"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
||||||
"searchValue": "디지털문서편집컨퍼런스",
|
"searchValue": "슬기로운국제사진공모전",
|
||||||
"value": "28,61,98",
|
"value": "31,178,161",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Color",
|
"category": "Color",
|
||||||
"item": "문구 (디지털문서편집컨퍼런스)/② 채우기 : 색상(RGB:28,61,98)"
|
"item": "문구 (슬기로운국제사진공모전)/② 채우기 : 색상(RGB:31,178,161)"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
||||||
"searchValue": "디지털문서편집컨퍼런스",
|
"searchValue": "슬기로운국제사진공모전",
|
||||||
"value": "120",
|
"value": "120",
|
||||||
"tolerance": 1,
|
"tolerance": 1,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "문구 (디지털문서편집컨퍼런스)/③ 크기-너비 (120 mm)"
|
"item": "문구 (슬기로운국제사진공모전)/③ 크기-너비 (120 mm)"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
|
||||||
"searchValue": "디지털문서편집컨퍼런스",
|
"searchValue": "슬기로운국제사진공모전",
|
||||||
"value": "20",
|
"value": "20",
|
||||||
"tolerance": 1,
|
"tolerance": 1,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "문구 (디지털문서편집컨퍼런스)/④ 크기-높이 (20 mm)"
|
"item": "문구 (슬기로운국제사진공모전)/④ 크기-높이 (20 mm)"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
"searchValue": "디지털문서편집컨퍼런스",
|
"searchValue": "슬기로운국제사진공모전",
|
||||||
"value": "true",
|
"value": "true",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (디지털문서편집컨퍼런스)/⑤ 위치 (글자처럼 취급)"
|
"item": "문구 (슬기로운국제사진공모전)/⑤ 위치 (글자처럼 취급)"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
|
||||||
"searchValue": "디지털문서편집컨퍼런스",
|
"searchValue": "슬기로운국제사진공모전",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (디지털문서편집컨퍼런스)/⑥ 정렬 (가운데 정렬)"
|
"item": "문구 (슬기로운국제사진공모전)/⑥ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']",
|
"path": "//TEXTART[@Text='{searchValue}']",
|
||||||
"searchValue": "디지털문서편집컨퍼런스",
|
"searchValue": "슬기로운국제사진공모전",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (디지털문서편집컨퍼런스)/⑦ 글맵시모양 (육안확인)"
|
"item": "문구 (슬기로운국제사진공모전)/⑦ 글맵시모양 (육안확인)"
|
||||||
},
|
},
|
||||||
"8": {
|
"8": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
|
||||||
"searchValue": "디",
|
"searchValue": "사",
|
||||||
"value": {
|
"value": {
|
||||||
"Height": 2800,
|
"Height": 2800,
|
||||||
"Width": 2800
|
"Width": 2800
|
||||||
@@ -116,23 +116,23 @@
|
|||||||
},
|
},
|
||||||
"9": {
|
"9": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "디",
|
"searchValue": "사",
|
||||||
"value": "중고딕",
|
"value": "돋움",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "어/② 글씨체 (중고딕)"
|
"item": "어/② 글씨체 (돋움)"
|
||||||
},
|
},
|
||||||
"10": {
|
"10": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||||
"searchValue": "디",
|
"searchValue": "사",
|
||||||
"value": "157,92,187",
|
"value": "214,150,244",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Color",
|
"category": "Color",
|
||||||
"item": "어/③ 면색 : 색상(RGB:157,92,187)"
|
"item": "어/③ 면색 : 색상(RGB:214,150,244)"
|
||||||
},
|
},
|
||||||
"11": {
|
"11": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
||||||
"searchValue": "디",
|
"searchValue": "사",
|
||||||
"value": "3.0",
|
"value": "3.0",
|
||||||
"tolerance": 1,
|
"tolerance": 1,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
@@ -141,39 +141,39 @@
|
|||||||
},
|
},
|
||||||
"12": {
|
"12": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
"searchValue": "다양한 분야의 세미나와 전시",
|
"searchValue": "일반 대중에게 공개",
|
||||||
"value": "BOLD",
|
"value": "ITALIC",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (다양한 분야의 세미나와 전시)/① BOLD"
|
"item": "문구 (일반 대중에게 공개)/① ITALIC"
|
||||||
},
|
},
|
||||||
"13": {
|
"13": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
"searchValue": "다양한 분야의 세미나와 전시",
|
"searchValue": "일반 대중에게 공개",
|
||||||
"value": "UNDERLINE",
|
"value": "UNDERLINE",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (다양한 분야의 세미나와 전시)/② UNDERLINE"
|
"item": "문구 (일반 대중에게 공개)/② UNDERLINE"
|
||||||
},
|
},
|
||||||
"14": {
|
"14": {
|
||||||
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||||
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
||||||
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
||||||
"char1": "■",
|
"char1": "◎",
|
||||||
"char2": "■",
|
"char2": "◎",
|
||||||
"char3": "※",
|
"char3": "※",
|
||||||
"value": 3,
|
"value": 3,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "SpecialChar",
|
"category": "SpecialChar",
|
||||||
"item": "① ■, ② ■, ③ ※"
|
"item": "① ◎ , ② ◎ , ③ ※"
|
||||||
},
|
},
|
||||||
"15": {
|
"15": {
|
||||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
"searchValue": "행사안내",
|
"searchValue": "행사안내",
|
||||||
"value": "굴림",
|
"value": "궁서",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구 (■ 행사안내 ■)/① 글씨체 (굴림)"
|
"item": "문구 (◎ 행사안내 ◎)/① 글씨체 (궁서)"
|
||||||
},
|
},
|
||||||
"16": {
|
"16": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
@@ -181,86 +181,86 @@
|
|||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Align",
|
"category": "Align",
|
||||||
"item": "문구 (■ 행사안내 ■)/② 정렬 (가운데 정렬)"
|
"item": "문구 (◎ 행사안내 ◎)/② 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"17": {
|
"17": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
"searchValue": "2025.12.24.(수) 18:00까지 전화로 등록 가능(02-1234-5678)",
|
"searchValue": "양재 미디어센터 홈페이지(http://www.ihd.or.kr) 슬기로운 미디어 생활",
|
||||||
"value": "ITALIC",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (2025.12.24.(수) 18:00까지 전화로 등록 가능(02-1234-5678))/① ITALIC"
|
"item": "문구 (양재 미디어센터 홈페이지(http://www.ihd.or.kr) 슬기로운 미디어 생활)/① BOLD"
|
||||||
},
|
},
|
||||||
"18": {
|
"18": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
"searchValue": "2025.12.24.(수) 18:00까지 전화로 등록 가능(02-1234-5678)",
|
"searchValue": "양재 미디어센터 홈페이지(http://www.ihd.or.kr) 슬기로운 미디어 생활",
|
||||||
"value": "UNDERLINE",
|
"value": "ITALIC",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (2025.12.24.(수) 18:00까지 전화로 등록 가능(02-1234-5678))/② UNDERLINE"
|
"item": "문구 (양재 미디어센터 홈페이지(http://www.ihd.or.kr) 슬기로운 미디어 생활)/② ITALIC"
|
||||||
},
|
},
|
||||||
"19": {
|
"19": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||||
"searchValue": "기타사항",
|
"searchValue": "기타사항",
|
||||||
"value": {
|
"value": {
|
||||||
"Left": 10,
|
"Left": 15,
|
||||||
"Indent": 12
|
"Indent": 12
|
||||||
},
|
},
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "ParaShape",
|
"category": "ParaShape",
|
||||||
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (10), 내어쓰기 (12)",
|
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15), 내어쓰기 (12)",
|
||||||
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||||
},
|
},
|
||||||
"20": {
|
"20": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||||
"searchValue": "2025. 12. 20.",
|
"searchValue": "2026. 02. 28.",
|
||||||
"value": "1400",
|
"value": "1300",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (2025. 12. 20.)/① 크기 (1400)",
|
"item": "문구 (2026. 02. 28.)/① 크기 (1300)",
|
||||||
"desc": "1pt당 100"
|
"desc": "1pt당 100"
|
||||||
},
|
},
|
||||||
"21": {
|
"21": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
"searchValue": "2025. 12. 20.",
|
"searchValue": "2026. 02. 28.",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (2025. 12. 20.)/② 정렬 (가운데 정렬)"
|
"item": "문구 (2026. 02. 28.)/② 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"22": {
|
"22": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "사단법인 스마트오피스협의회",
|
"searchValue": "양재 미디어센터",
|
||||||
"value": "돋움체",
|
"value": "굴림",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구 (사단법인 스마트오피스협의회)/① 글씨체 (돋움체)"
|
"item": "문구 (양재 미디어센터)/① 글씨체 (굴림)"
|
||||||
},
|
},
|
||||||
"23": {
|
"23": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "사단법인 스마트오피스협의회",
|
"searchValue": "양재 미디어센터",
|
||||||
"value": "2700",
|
"value": "2300",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (사단법인 스마트오피스협의회)/② 크기 (2700)"
|
"item": "문구 (양재 미디어센터)/② 크기 (2300)"
|
||||||
},
|
},
|
||||||
"24": {
|
"24": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||||
"searchValue": "사단법인 스마트오피스협의회",
|
"searchValue": "양재 미디어센터",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (사단법인 스마트오피스협의회)/③ 정렬 (가운데 정렬)"
|
"item": "문구 (양재 미디어센터)/③ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "DIAT",
|
"searchValue": "DIAT",
|
||||||
"value": "궁서",
|
"value": "중고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Header.FontName",
|
"category": "Header.FontName",
|
||||||
"item": "문구 (DIAT)/① 글꼴 (궁서)"
|
"item": "문구 (DIAT)/① 글꼴 (중고딕)"
|
||||||
},
|
},
|
||||||
"26": {
|
"26": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
@@ -280,10 +280,10 @@
|
|||||||
},
|
},
|
||||||
"28": {
|
"28": {
|
||||||
"path": "//PAGENUM/@FormatType",
|
"path": "//PAGENUM/@FormatType",
|
||||||
"value": "Ideograph",
|
"value": "RomanCapital",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "PageNumber",
|
"category": "PageNumber",
|
||||||
"item": "① 쪽 번호 매기기 (가,나,다 순으로)",
|
"item": "① 쪽 번호 매기기 (I,II,III 순으로)",
|
||||||
"desc1": {
|
"desc1": {
|
||||||
"가,나,다": "HangulSyllable",
|
"가,나,다": "HangulSyllable",
|
||||||
"1,2,3": "Digit",
|
"1,2,3": "Digit",
|
||||||
@@ -308,7 +308,7 @@
|
|||||||
},
|
},
|
||||||
"29": {
|
"29": {
|
||||||
"path": "//PAGENUM/@Pos",
|
"path": "//PAGENUM/@Pos",
|
||||||
"value": "BottomCenter",
|
"value": "BottomLeft",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "PageNumber",
|
"category": "PageNumber",
|
||||||
"item": "왼쪽 아래",
|
"item": "왼쪽 아래",
|
||||||
@@ -330,11 +330,11 @@
|
|||||||
},
|
},
|
||||||
"31": {
|
"31": {
|
||||||
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
||||||
"value": "190",
|
"value": "180",
|
||||||
"first_word": "디",
|
"first_word": "사",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "LineSpacing",
|
"category": "LineSpacing",
|
||||||
"item": "문제 1 줄간격 190% 설정",
|
"item": "문제 1 줄간격 180% 설정",
|
||||||
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
|
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -367,17 +367,17 @@
|
|||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||||
"value": "70",
|
"value": "60",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.mmSize",
|
"category": "Rectangle.mmSize",
|
||||||
"item": "문구 (된장의 역사와 종류)/① 크기-너비 (70 mm)"
|
"item": "문구 (사진 예술 산업)/① 크기-너비 (60 mm)"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||||
"value": "12",
|
"value": "12",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.mmSize",
|
"category": "Rectangle.mmSize",
|
||||||
"item": "문구 (된장의 역사와 종류)/② 크기-높이 (12 mm)"
|
"item": "문구 (사진 예술 산업)/② 크기-높이 (12 mm)"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"path": "//RECTANGLE//LINESHAPE",
|
"path": "//RECTANGLE//LINESHAPE",
|
||||||
@@ -387,7 +387,7 @@
|
|||||||
},
|
},
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.LineShape",
|
"category": "Rectangle.LineShape",
|
||||||
"item": "문구 (된장의 역사와 종류)/③ 테두리 : 이중 실선(1.00mm)",
|
"item": "문구 (사진 예술 산업)/③ 테두리 : 이중 실선(1.00mm)",
|
||||||
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
@@ -395,43 +395,43 @@
|
|||||||
"value": "50",
|
"value": "50",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.OneAnswer",
|
"category": "Rectangle.OneAnswer",
|
||||||
"item": "문구 (된장의 역사와 종류)/④ 글상자 모서리 (반원)",
|
"item": "문구 (사진 예술 산업)/④ 글상자 모서리 (둥근모양)",
|
||||||
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||||
},
|
},
|
||||||
"8": {
|
"8": {
|
||||||
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
|
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
|
||||||
"value": "227,220,193",
|
"value": "228,211,147",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.Color",
|
"category": "Rectangle.Color",
|
||||||
"item": "문구 (된장의 역사와 종류)/⑤ 채우기 : 색상(RGB:227,220,193)"
|
"item": "문구 (사진 예술 산업)/⑤ 채우기 : 색상(RGB:228,211,147)"
|
||||||
},
|
},
|
||||||
"9": {
|
"9": {
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
|
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
"value": "true",
|
"value": "true",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.OneAnswer",
|
"category": "Rectangle.OneAnswer",
|
||||||
"item": "문구 (된장의 역사와 종류)/⑥ 글상자 위치 (글자처럼 취급)"
|
"item": "문구 (사진 예술 산업)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||||
},
|
},
|
||||||
"10": {
|
"10": {
|
||||||
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
|
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.TextBoxAlign",
|
"category": "Rectangle.TextBoxAlign",
|
||||||
"item": "문구 (된장의 역사와 종류)/⑦ 글상자 정렬 (가운데 정렬)"
|
"item": "문구 (사진 예술 산업)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"11": {
|
"11": {
|
||||||
"path": ".//RECTANGLE//TEXT/@CharShape",
|
"path": ".//RECTANGLE//TEXT/@CharShape",
|
||||||
"value": "맑은 고딕",
|
"value": "견고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.FontName",
|
"category": "Rectangle.FontName",
|
||||||
"item": "문구 (된장의 역사와 종류)/⑧ 글씨체 (맑은 고딕)"
|
"item": "문구 (사진 예술 산업)/⑧ 글씨체 (견고딕)"
|
||||||
},
|
},
|
||||||
"12": {
|
"12": {
|
||||||
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
|
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
|
||||||
"value": "2000",
|
"value": "2000",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.FontSize",
|
"category": "Rectangle.FontSize",
|
||||||
"item": "문구 (된장의 역사와 종류)/⑨ 글씨크기 (2000)",
|
"item": "문구 (사진 예술 산업)/⑨ 글씨크기 (2000)",
|
||||||
"desc": "1pt당 100"
|
"desc": "1pt당 100"
|
||||||
},
|
},
|
||||||
"13": {
|
"13": {
|
||||||
@@ -439,14 +439,14 @@
|
|||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.TextBoxAlign",
|
"category": "Rectangle.TextBoxAlign",
|
||||||
"item": "문구 (된장의 역사와 종류)/⑩ 정렬 (가운데 정렬)"
|
"item": "문구 (사진 예술 산업)/⑩ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"14": {
|
"14": {
|
||||||
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
|
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "① 파일명 \"그림A.jpg\" 삽입",
|
"item": "① 파일명 \"그림C.jpg\" 삽입",
|
||||||
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||||
},
|
},
|
||||||
"15": {
|
"15": {
|
||||||
@@ -479,80 +479,80 @@
|
|||||||
},
|
},
|
||||||
"19": {
|
"19": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "1. 디지털 문서 편집 기술",
|
"searchValue": "1. 현대 사진 예술",
|
||||||
"value": "중고딕",
|
"value": "돋움",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구① (1. 디지털 문서 편집 기술)/① 글씨체 (중고딕)"
|
"item": "문구① (1. 현대 사진 예술)/① 글씨체 (돋움)"
|
||||||
},
|
},
|
||||||
"20": {
|
"20": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "1. 디지털 문서 편집 기술",
|
"searchValue": "1. 현대 사진 예술",
|
||||||
"value": "1200",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구① (1. 디지털 문서 편집 기술)/② 크기 (1200)"
|
"item": "문구① (1. 현대 사진 예술)/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"21": {
|
"21": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "1. 디지털 문서 편집 기술",
|
"searchValue": "1. 현대 사진 예술",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구① (1. 디지털 문서 편집 기술)/③ 진하게"
|
"item": "문구① (1. 현대 사진 예술)/③ 진하게"
|
||||||
},
|
},
|
||||||
"22": {
|
"22": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "2. 문서 자동화 솔루션",
|
"searchValue": "2. 사진 산업의 가치",
|
||||||
"value": "중고딕",
|
"value": "돋움",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구② (2. 문서 자동화 솔루션)/① 글씨체 (중고딕)"
|
"item": "문구② (2. 사진 산업의 가치)/① 글씨체 (돋움)"
|
||||||
},
|
},
|
||||||
"23": {
|
"23": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "2. 문서 자동화 솔루션",
|
"searchValue": "2. 사진 산업의 가치",
|
||||||
"value": "1200",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구② (2. 문서 자동화 솔루션)/② 크기 (1200)"
|
"item": "문구② (2. 사진 산업의 가치)/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"24": {
|
"24": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "2. 문서 자동화 솔루션",
|
"searchValue": "2. 사진 산업의 가치",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구② (2. 문서 자동화 솔루션)/③ 진하게"
|
"item": "문구② (2. 사진 산업의 가치)/③ 진하게"
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
||||||
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
||||||
"option": "전자 서명",
|
"option": "스토리텔링",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (전자 서명)/① 각주 설정 및 문구 입력"
|
"item": "문구 (스토리텔링)/① 각주 설정 및 문구 입력"
|
||||||
},
|
},
|
||||||
"26": {
|
"26": {
|
||||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
"searchValue": "공개키 암호화 방식을 사용하여 본인인증, 혹은 전자문서의 부인 방지를 위해 사용되는 기술",
|
"searchValue": "알리고자 하는 바를 단어, 이미지, 소리를 통해 사건, 이야기로 전달하는 것을 의미함",
|
||||||
"value": "돋움",
|
"value": "중고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구 (전자 서명)/② 글씨체 (돋움)"
|
"item": "문구 (스토리텔링)/② 글씨체 (중고딕)"
|
||||||
},
|
},
|
||||||
"27": {
|
"27": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
||||||
"searchValue": "공개키 암호화 방식을 사용하여 본인인증, 혹은 전자문서의 부인 방지를 위해 사용되는 기술",
|
"searchValue": "알리고자 하는 바를 단어, 이미지, 소리를 통해 사건, 이야기로 전달하는 것을 의미함",
|
||||||
"value": "900",
|
"value": "900",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (전자 서명)/③ 크기 (9pt)"
|
"item": "문구 (스토리텔링)/③ 크기 (9pt)"
|
||||||
},
|
},
|
||||||
"28": {
|
"28": {
|
||||||
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
||||||
"searchValue": "공개키 암호화 방식을 사용하여 본인인증, 혹은 전자문서의 부인 방지를 위해 사용되는 기술",
|
"searchValue": "알리고자 하는 바를 단어, 이미지, 소리를 통해 사건, 이야기로 전달하는 것을 의미함",
|
||||||
"value": "CircledDigit",
|
"value": "CircledDigit",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
@@ -580,80 +580,80 @@
|
|||||||
},
|
},
|
||||||
"29": {
|
"29": {
|
||||||
"path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])",
|
"path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])",
|
||||||
"ignoreWord": "Security",
|
"ignoreWord": "Documentary",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "Security/영단어 미입력, 대소문자/오타 시 전체 감점",
|
"item": "Documentary/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||||
"desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요"
|
"desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요"
|
||||||
},
|
},
|
||||||
"30": {
|
"30": {
|
||||||
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
|
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
|
||||||
"word": [
|
"word": [
|
||||||
["초안", "草案"],
|
["표현", "表現"],
|
||||||
["진위", "眞僞"],
|
["합성", "合成"],
|
||||||
["탑재", "搭載"],
|
["보정", "補正"],
|
||||||
["자동", "自動"],
|
["투자", "投資"],
|
||||||
["극대화", "極大化"]
|
["각광", "脚光"]
|
||||||
],
|
],
|
||||||
"value": 10,
|
"value": 10,
|
||||||
"points": 10,
|
"points": 10,
|
||||||
"category": "Hanja",
|
"category": "Hanja",
|
||||||
"item": "① 초안(草案), ② 진위(眞僞), ③ 탑재(搭載), ④ 자동(自動), ⑤ 극대화(極大化)"
|
"item": "① 표현(表現), ② 합성(合成), ③ 보정(補正), ④ 투자(投資), ⑤ 각광(脚光)"
|
||||||
},
|
},
|
||||||
"31": {
|
"31": {
|
||||||
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'간과비용')])",
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'지능이자동')])",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (…대체하면서 비용이 시간과 절감될…)>'비용이 / 시간과' 순서바꿈"
|
"item": "문구 (…자동으로 인공지능이 이미지 보정…)>'자동으로 / 인공지능이' 순서바꿈"
|
||||||
},
|
},
|
||||||
"32": {
|
"32": {
|
||||||
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'이필요한')])",
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'육적측면')])",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (…인력 투입이 필요해 수작업…)>'해' → '한' 글자바꿈"
|
"item": "문구 (…상업적, 교육적 측변에서도…)>'변' → '면' 글자바꿈"
|
||||||
},
|
},
|
||||||
"33": {
|
"33": {
|
||||||
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
|
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
|
||||||
"searchValue": "디지털 문서 편집 기술 성장률(단위:%)",
|
"searchValue": "사진 산업 시장 성장률",
|
||||||
"value": "굴림체",
|
"value": "궁서",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "제목 문구 (디지털 문서 편집 기술 성장률(단위:%))/① 글씨체 (굴림체)"
|
"item": "제목 문구 (사진 산업 시장 성장률)/① 글씨체 (궁서)"
|
||||||
},
|
},
|
||||||
"34": {
|
"34": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "디지털 문서 편집 기술 성장률(단위:%)",
|
"searchValue": "사진 산업 시장 성장률",
|
||||||
"value": "1100",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (디지털 문서 편집 기술 성장률(단위:%))/② 크기 (1100)"
|
"item": "제목 문구 (사진 산업 시장 성장률)/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"35": {
|
"35": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "디지털 문서 편집 기술 성장률(단위:%)",
|
"searchValue": "사진 산업 시장 성장률",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "제목 문구 (디지털 문서 편집 기술 성장률(단위:%))/③ 진하게"
|
"item": "제목 문구 (사진 산업 시장 성장률)/③ 진하게"
|
||||||
},
|
},
|
||||||
"36": {
|
"36": {
|
||||||
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||||
"searchValue": "디지털 문서 편집 기술 성장률(단위:%)",
|
"searchValue": "사진 산업 시장 성장률",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (디지털 문서 편집 기술 성장률(단위:%))/④ 정렬 (가운데 정렬)"
|
"item": "제목 문구 (연령별 축제 만족도(단위:%))/④ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"37": {
|
"37": {
|
||||||
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
||||||
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
||||||
"value": "233,174,43",
|
"value": "165,211,137",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Color",
|
"category": "Color",
|
||||||
"item": "위쪽 제목 셀/① 색상(RGB:233,174,43)"
|
"item": "위쪽 제목 셀/① 색상(RGB:165,211,137)"
|
||||||
},
|
},
|
||||||
"38": {
|
"38": {
|
||||||
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
|
||||||
@@ -704,7 +704,7 @@
|
|||||||
"item": "글자모양/③ 정렬 (가운데 정렬)"
|
"item": "글자모양/③ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"44": {
|
"44": {
|
||||||
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) and boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
|
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) or boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
|
||||||
"option": "AVG",
|
"option": "AVG",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 4,
|
"points": 4,
|
||||||
@@ -714,11 +714,11 @@
|
|||||||
},
|
},
|
||||||
"45": {
|
"45": {
|
||||||
"chart_xpath": "",
|
"chart_xpath": "",
|
||||||
"chart_type": "묶은 가로 막대형",
|
"chart_type": "곡선이 있는 분산형",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "ChartType",
|
"category": "ChartType",
|
||||||
"item": "① 종류 (묶은 가로 막대형)",
|
"item": "① 종류 (곡선이 있는 분산형)",
|
||||||
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
|
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
|
||||||
},
|
},
|
||||||
"46": {
|
"46": {
|
||||||
@@ -753,36 +753,36 @@
|
|||||||
},
|
},
|
||||||
"50": {
|
"50": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
||||||
"searchValue": "디지털 문서 편집 기술 성장률",
|
"searchValue": "사진 산업 시장 성장률",
|
||||||
"value": "휴먼옛체",
|
"value": "바탕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (디지털 문서 편집 기술 성장률)/① 글씨체 (휴먼옛체)"
|
"item": "제목 문구 (사진 산업 시장 성장률)/① 글씨체 (바탕)"
|
||||||
},
|
},
|
||||||
"51": {
|
"51": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
||||||
"searchValue": "디지털 문서 편집 기술 성장률",
|
"searchValue": "사진 산업 시장 성장률",
|
||||||
"value": "1200",
|
"value": "1400",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (디지털 문서 편집 기술 성장률)/② 크기 (1200)"
|
"item": "제목 문구 (사진 산업 시장 성장률)/② 크기 (1400)"
|
||||||
},
|
},
|
||||||
"52": {
|
"52": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
||||||
"option": "b",
|
"option": "b",
|
||||||
"searchValue": "디지털 문서 편집 기술 성장률",
|
"searchValue": "사진 산업 시장 성장률",
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (디지털 문서 편집 기술 성장률)/③ 기울임",
|
"item": "제목 문구 (사진 산업 시장 성장률)/③ 기울임",
|
||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"53": {
|
"53": {
|
||||||
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface",
|
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface | //c:catAx/c:txPr//a:latin/@typeface",
|
||||||
"value": "궁서",
|
"value": "돋움",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "ChartOneAnswer",
|
"category": "ChartOneAnswer",
|
||||||
"item": "X축/① 글꼴 (궁서)"
|
"item": "X축/① 글꼴 (돋움)"
|
||||||
},
|
},
|
||||||
"54": {
|
"54": {
|
||||||
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
|
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
|
||||||
@@ -801,11 +801,11 @@
|
|||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"56": {
|
"56": {
|
||||||
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface",
|
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface | //c:valAx/c:txPr//a:latin/@typeface",
|
||||||
"value": "궁서",
|
"value": "돋움",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "ChartOneAnswer",
|
"category": "ChartOneAnswer",
|
||||||
"item": "Y축/① 글꼴 (궁서)"
|
"item": "Y축/① 글꼴 (돋움)"
|
||||||
},
|
},
|
||||||
"57": {
|
"57": {
|
||||||
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
|
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
|
||||||
@@ -824,11 +824,11 @@
|
|||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"59": {
|
"59": {
|
||||||
"chart_xpath": "//c:legend//a:ea/@typeface",
|
"chart_xpath": "//c:legend//a:ea/@typeface | //c:legend//a:latin/@typeface",
|
||||||
"value": "궁서",
|
"value": "돋움",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "범례/① 글꼴 (궁서)"
|
"item": "범례/① 글꼴 (돋움)"
|
||||||
},
|
},
|
||||||
"60": {
|
"60": {
|
||||||
"chart_xpath": "//c:legend//a:defRPr/@sz",
|
"chart_xpath": "//c:legend//a:defRPr/@sz",
|
||||||
841
JSON/2602/DIW_2602D.json
Normal file
841
JSON/2602/DIW_2602D.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": "28,77,128",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Color",
|
||||||
|
"item": "문구 (전국대학생창업아이디어공모전)/② 채우기 : 색상(RGB:28,77,128)"
|
||||||
|
},
|
||||||
|
"3": {
|
||||||
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
||||||
|
"searchValue": "전국대학생창업아이디어공모전",
|
||||||
|
"value": "130",
|
||||||
|
"tolerance": 1,
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "문구 (전국대학생창업아이디어공모전)/③ 크기-너비 (130 mm)"
|
||||||
|
},
|
||||||
|
"4": {
|
||||||
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
|
||||||
|
"searchValue": "전국대학생창업아이디어공모전",
|
||||||
|
"value": "20",
|
||||||
|
"tolerance": 1,
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "문구 (전국대학생창업아이디어공모전)/④ 크기-높이 (20 mm)"
|
||||||
|
},
|
||||||
|
"5": {
|
||||||
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
|
"searchValue": "전국대학생창업아이디어공모전",
|
||||||
|
"value": "true",
|
||||||
|
"points": 2,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (전국대학생창업아이디어공모전)/⑤ 위치 (글자처럼 취급)"
|
||||||
|
},
|
||||||
|
"6": {
|
||||||
|
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
|
||||||
|
"searchValue": "전국대학생창업아이디어공모전",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 2,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (전국대학생창업아이디어공모전)/⑥ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"7": {
|
||||||
|
"path": "//TEXTART[@Text='{searchValue}']",
|
||||||
|
"searchValue": "전국대학생창업아이디어공모전",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "문구 (전국대학생창업아이디어공모전)/⑦ 글맵시모양 (육안확인)"
|
||||||
|
},
|
||||||
|
"8": {
|
||||||
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
|
||||||
|
"searchValue": "미",
|
||||||
|
"value": {
|
||||||
|
"Height": 2800,
|
||||||
|
"Width": 2800
|
||||||
|
},
|
||||||
|
"tolerance": 200,
|
||||||
|
"points": 1,
|
||||||
|
"category": "TwoLineSize",
|
||||||
|
"item": "어/① 모양 (2줄)"
|
||||||
|
},
|
||||||
|
"9": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "미",
|
||||||
|
"value": "바탕체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "어/② 글씨체 (바탕체)"
|
||||||
|
},
|
||||||
|
"10": {
|
||||||
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||||
|
"searchValue": "미",
|
||||||
|
"value": "187,196,219",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Color",
|
||||||
|
"item": "어/③ 면색 : 색상(RGB:187,196,219)"
|
||||||
|
},
|
||||||
|
"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": "2026.03.03.(화) 18:00까지 온라인으로 등록(http://www.ihd.or.kr)",
|
||||||
|
"value": "ITALIC",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구 (2026.03.03.(화) 18:00까지 온라인으로 등록(http://www.ihd.or.kr))/① ITALIC"
|
||||||
|
},
|
||||||
|
"18": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
|
"searchValue": "2026.03.03.(화) 18:00까지 온라인으로 등록(http://www.ihd.or.kr)",
|
||||||
|
"value": "UNDERLINE",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구 (2026.03.03.(화) 18:00까지 온라인으로 등록(http://www.ihd.or.kr))/② UNDERLINE"
|
||||||
|
},
|
||||||
|
"19": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||||
|
"searchValue": "기타사항",
|
||||||
|
"value": {
|
||||||
|
"Left": 10,
|
||||||
|
"Indent": 12
|
||||||
|
},
|
||||||
|
"points": 2,
|
||||||
|
"category": "ParaShape",
|
||||||
|
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (10), 내어쓰기 (12)",
|
||||||
|
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||||
|
},
|
||||||
|
"20": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||||
|
"searchValue": "2026. 02. 28.",
|
||||||
|
"value": "1400",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (2026. 02. 28.)/① 크기 (1400)",
|
||||||
|
"desc": "1pt당 100"
|
||||||
|
},
|
||||||
|
"21": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
|
"searchValue": "2026. 02. 28.",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (2026. 02. 28.)/② 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"22": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "전국청년창업진흥원",
|
||||||
|
"value": "궁서체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구 (전국청년창업진흥원)/① 글씨체 (궁서체)"
|
||||||
|
},
|
||||||
|
"23": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "전국청년창업진흥원",
|
||||||
|
"value": "2700",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (전국청년창업진흥원)/② 크기 (2700)"
|
||||||
|
},
|
||||||
|
"24": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||||
|
"searchValue": "전국청년창업진흥원",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (전국청년창업진흥원)/③ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"25": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "DIAT",
|
||||||
|
"value": "궁서",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Header.FontName",
|
||||||
|
"item": "문구 (DIAT)/① 글꼴 (궁서)"
|
||||||
|
},
|
||||||
|
"26": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "DIAT",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Header.OneAnswer",
|
||||||
|
"item": "문구 (DIAT)/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"27": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
|
||||||
|
"searchValue": "DIAT",
|
||||||
|
"value": "Right",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Header.OneAnswer",
|
||||||
|
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
|
||||||
|
},
|
||||||
|
"28": {
|
||||||
|
"path": "//PAGENUM/@FormatType",
|
||||||
|
"value": "Ideograph",
|
||||||
|
"points": 2,
|
||||||
|
"category": "PageNumber",
|
||||||
|
"item": "① 쪽 번호 매기기 (一,二,三 순으로)",
|
||||||
|
"desc1": {
|
||||||
|
"가,나,다": "HangulSyllable",
|
||||||
|
"1,2,3": "Digit",
|
||||||
|
"일,이,삼": "HangulPhonetic",
|
||||||
|
"갑,을,병": "DecagonCircle",
|
||||||
|
"A,B,C": "LatinCapital",
|
||||||
|
"a,b,c": "LatinSmall",
|
||||||
|
"Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital",
|
||||||
|
"①,②,③": "CircledDigit",
|
||||||
|
"一,二,三": "Ideograph",
|
||||||
|
"㉠,㉡,㉢": "CircledHangulJamo",
|
||||||
|
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
|
||||||
|
"㊀,㊁,㊂": "CircledIdeograph",
|
||||||
|
"i,ii,iii": "RomanSmall",
|
||||||
|
"I,II,III": "RomanCapital",
|
||||||
|
"甲,乙,丙": "DecagonCircleHanja",
|
||||||
|
"+,++,+++": "UserChar",
|
||||||
|
"*,**,***": "UserChar",
|
||||||
|
"정답에 맞는 값 value에 입력": ""
|
||||||
|
},
|
||||||
|
"desc2": "1, 2페이지 모두 정답이어야 점수 부여"
|
||||||
|
},
|
||||||
|
"29": {
|
||||||
|
"path": "//PAGENUM/@Pos",
|
||||||
|
"value": "BottomCenter",
|
||||||
|
"points": 2,
|
||||||
|
"category": "PageNumber",
|
||||||
|
"item": "가운데 아래",
|
||||||
|
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
||||||
|
"desc2": {
|
||||||
|
"가운데 아래": "BottomCenter",
|
||||||
|
"오른쪽 아래": "BottomRight",
|
||||||
|
"왼쪽 아래": "BottomLeft"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"30": {
|
||||||
|
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
||||||
|
"value": "200",
|
||||||
|
"first_word": "미",
|
||||||
|
"points": 2,
|
||||||
|
"category": "LineSpacing",
|
||||||
|
"item": "문제 1 줄간격 200% 설정",
|
||||||
|
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"1": {
|
||||||
|
"path": "//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@HeaderInside",
|
||||||
|
"path2": "//BORDERFILL[@Id=//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@BorferFill]",
|
||||||
|
"value": {
|
||||||
|
"header_inside": true,
|
||||||
|
"all_double_slim": true
|
||||||
|
},
|
||||||
|
"points": 4,
|
||||||
|
"category": "PageBorder",
|
||||||
|
"item": "문제2 쪽테두리(이중 실선, 머리말 포함) 설정"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"path": "count(//SECTION)>1",
|
||||||
|
"value": true,
|
||||||
|
"points": 3,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "① 구역나누기",
|
||||||
|
"desc": "섹션이 1개 이상이면 점수부여"
|
||||||
|
},
|
||||||
|
"3": {
|
||||||
|
"path": "./TEXT/COLDEF/@Count",
|
||||||
|
"value": "2",
|
||||||
|
"points": 3,
|
||||||
|
"category": "TwoColumn",
|
||||||
|
"item": "② 다단 2단"
|
||||||
|
},
|
||||||
|
"4": {
|
||||||
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||||
|
"value": "70",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.mmSize",
|
||||||
|
"item": "문구 (대학생 창업 현황)/① 크기-너비 (70 mm)"
|
||||||
|
},
|
||||||
|
"5": {
|
||||||
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||||
|
"value": "12",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.mmSize",
|
||||||
|
"item": "문구 (대학생 창업 현황)/② 크기-높이 (12 mm)"
|
||||||
|
},
|
||||||
|
"6": {
|
||||||
|
"path": "//RECTANGLE//LINESHAPE",
|
||||||
|
"value": {
|
||||||
|
"Style": "DoubleSlim",
|
||||||
|
"Width": "283"
|
||||||
|
},
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.LineShape",
|
||||||
|
"item": "문구 (대학생 창업 현황)/③ 테두리 : 이중 실선(1.00mm)",
|
||||||
|
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||||
|
},
|
||||||
|
"7": {
|
||||||
|
"path": "//RECTANGLE/@Ratio",
|
||||||
|
"value": "50",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.OneAnswer",
|
||||||
|
"item": "문구 (대학생 창업 현황)/④ 글상자 모서리 (둥근모양)",
|
||||||
|
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||||
|
},
|
||||||
|
"8": {
|
||||||
|
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
|
||||||
|
"value": "227,142,193",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.Color",
|
||||||
|
"item": "문구 (대학생 창업 현황)/⑤ 채우기 : 색상(RGB:227,142,193)"
|
||||||
|
},
|
||||||
|
"9": {
|
||||||
|
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
|
"value": "true",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.OneAnswer",
|
||||||
|
"item": "문구 (대학생 창업 현황)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||||
|
},
|
||||||
|
"10": {
|
||||||
|
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.TextBoxAlign",
|
||||||
|
"item": "문구 (대학생 창업 현황)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"11": {
|
||||||
|
"path": ".//RECTANGLE//TEXT/@CharShape",
|
||||||
|
"value": "맑은고딕",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.FontName",
|
||||||
|
"item": "문구 (대학생 창업 현황)/⑧ 글씨체 (맑은고딕)"
|
||||||
|
},
|
||||||
|
"12": {
|
||||||
|
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
|
||||||
|
"value": "2000",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.FontSize",
|
||||||
|
"item": "문구 (대학생 창업 현황)/⑨ 글씨크기 (2000)",
|
||||||
|
"desc": "1pt당 100"
|
||||||
|
},
|
||||||
|
"13": {
|
||||||
|
"path": "//PARASHAPE[@Id={rect_parashape_id}]/@Align",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.TextBoxAlign",
|
||||||
|
"item": "문구 (대학생 창업 현황)/⑩ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"14": {
|
||||||
|
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "① 파일명 \"그림D.jpg\" 삽입",
|
||||||
|
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||||
|
},
|
||||||
|
"15": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
||||||
|
"value": "85",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "② 크기-너비 (85 mm)"
|
||||||
|
},
|
||||||
|
"16": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
||||||
|
"value": "40",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "③ 크기-높이 (40 mm)"
|
||||||
|
},
|
||||||
|
"17": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset",
|
||||||
|
"value": "0",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0mm)"
|
||||||
|
},
|
||||||
|
"18": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
||||||
|
"value": "24",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 24 mm)"
|
||||||
|
},
|
||||||
|
"19": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "1. 대학생 창업",
|
||||||
|
"value": "돋움",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구① (1. 대학생 창업)/① 글씨체 (돋움)"
|
||||||
|
},
|
||||||
|
"20": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "1. 대학생 창업",
|
||||||
|
"value": "1200",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구① (1. 대학생 창업)/② 크기 (1200)"
|
||||||
|
},
|
||||||
|
"21": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"searchValue": "1. 대학생 창업",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구① (1. 대학생 창업)/③ 진하게"
|
||||||
|
},
|
||||||
|
"22": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "2. 창업 생태계",
|
||||||
|
"value": "돋움",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구② (2. 창업 생태계)/① 글씨체 (돋움)"
|
||||||
|
},
|
||||||
|
"23": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "2. 창업 생태계",
|
||||||
|
"value": "1200",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구② (2. 창업 생태계)/② 크기 (1200)"
|
||||||
|
},
|
||||||
|
"24": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"searchValue": "2. 창업 생태계",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구② (2. 창업 생태계)/③ 진하게"
|
||||||
|
},
|
||||||
|
"25": {
|
||||||
|
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
||||||
|
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
||||||
|
"option": "펀딩",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "문구 (펀딩)/① 각주 설정 및 문구 입력"
|
||||||
|
},
|
||||||
|
"26": {
|
||||||
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
|
"searchValue": "필요, 프로그램, 프로젝트에 자금을 조달하기 위해 자원을 제공하는 행위를 말한다.",
|
||||||
|
"value": "돋움",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구 (펀딩)/② 글씨체 (돋움)"
|
||||||
|
},
|
||||||
|
"27": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
||||||
|
"searchValue": "필요, 프로그램, 프로젝트에 자금을 조달하기 위해 자원을 제공하는 행위를 말한다.",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (펀딩)/③ 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"28": {
|
||||||
|
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
||||||
|
"searchValue": "필요, 프로그램, 프로젝트에 자금을 조달하기 위해 자원을 제공하는 행위를 말한다.",
|
||||||
|
"value": "LatinSmall",
|
||||||
|
"points": 2,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (전당)/④ 각주 번호모양",
|
||||||
|
"desc": {
|
||||||
|
"가,나,다": "HangulSyllable",
|
||||||
|
"1,2,3": "Digit",
|
||||||
|
"일,이,삼": "HangulPhonetic",
|
||||||
|
"갑,을,병": "DecagonCircle",
|
||||||
|
"A,B,C": "LatinCapital",
|
||||||
|
"a,b,c": "LatinSmall",
|
||||||
|
"Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital",
|
||||||
|
"①,②,③": "CircledDigit",
|
||||||
|
"一,二,三": "Ideograph",
|
||||||
|
"㉠,㉡,㉢": "CircledHangulJamo",
|
||||||
|
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
|
||||||
|
"㊀,㊁,㊂": "CircledIdeograph",
|
||||||
|
"i,ii,iii": "RomanSmall",
|
||||||
|
"I,II,III": "RomanCapital",
|
||||||
|
"甲,乙,丙": "DecagonCircleHanja",
|
||||||
|
"+,++,+++": "UserChar",
|
||||||
|
"*,**,***": "UserChar",
|
||||||
|
"정답에 맞는 값 value에 입력": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"29": {
|
||||||
|
"path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])",
|
||||||
|
"ignoreWord": "Incubation",
|
||||||
|
"value": true,
|
||||||
|
"points": 3,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "Incubation/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||||
|
"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": "213,178,100",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Color",
|
||||||
|
"item": "위쪽 제목 셀/① 색상(RGB:213,178,100)"
|
||||||
|
},
|
||||||
|
"38": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "위쪽 제목 셀/② 진하게",
|
||||||
|
"desc": "글자 속성이라 CELLZONE으로 적용 되지 않음"
|
||||||
|
},
|
||||||
|
"39": {
|
||||||
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Type",
|
||||||
|
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Type",
|
||||||
|
"value": "DoubleSlim",
|
||||||
|
"points": 2,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "제목 셀 아래선/① 이중실선"
|
||||||
|
},
|
||||||
|
"40": {
|
||||||
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Width",
|
||||||
|
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Width",
|
||||||
|
"value": "0.5mm",
|
||||||
|
"points": 2,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "제목 셀 아래선/② 0.5mm"
|
||||||
|
},
|
||||||
|
"41": {
|
||||||
|
"path": "//TABLE//TEXT/@CharShape",
|
||||||
|
"path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
|
||||||
|
"value": "굴림",
|
||||||
|
"points": 1,
|
||||||
|
"category": "TableFontName",
|
||||||
|
"category_tmp": "FontName",
|
||||||
|
"item": "글자모양/① 글씨체 (굴림)",
|
||||||
|
"desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경"
|
||||||
|
},
|
||||||
|
"42": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TABLE//TEXT/@CharShape]/@Height",
|
||||||
|
"value": "1000",
|
||||||
|
"points": 1,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "글자모양/② 크기 (1000)"
|
||||||
|
},
|
||||||
|
"43": {
|
||||||
|
"path": "//PARASHAPE[@Id=//TABLE/ROW//P/@ParaShape]/@Align",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "글자모양/③ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"44": {
|
||||||
|
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) or boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
|
||||||
|
"option": "AVG",
|
||||||
|
"value": true,
|
||||||
|
"points": 4,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "블록 계산식/합계",
|
||||||
|
"desc": "option값에 합계는 SUM / 평균은 AVG"
|
||||||
|
},
|
||||||
|
"45": {
|
||||||
|
"chart_xpath": "",
|
||||||
|
"chart_type": "100% 기준 누적 가로 막대형",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "ChartType",
|
||||||
|
"item": "① 종류 (100% 기준 누적 가로 막대형)",
|
||||||
|
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
|
||||||
|
},
|
||||||
|
"46": {
|
||||||
|
"chart_xpath": "//c:valAx/c:majorTickMark/@val",
|
||||||
|
"value": "out",
|
||||||
|
"points": 2,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "② 값 축 주 눈금선",
|
||||||
|
"desc": "chart xml파일에서 답안을 가져오는 문항은 path키값 대신 chart_xpath키값을 이용해 xapth구문을 작성한다"
|
||||||
|
},
|
||||||
|
"47": {
|
||||||
|
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Width",
|
||||||
|
"value": "80",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "③ 크기-너비 (80 mm)"
|
||||||
|
},
|
||||||
|
"48": {
|
||||||
|
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Height",
|
||||||
|
"value": "80",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "④ 크기-높이 (80 mm)"
|
||||||
|
},
|
||||||
|
"49": {
|
||||||
|
"chart_xpath": "boolean(//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='합계' or text()='평균']))",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "⑤ 차트 데이터(표에서 블록계산식을 제외한 나머지 값만 이용)",
|
||||||
|
"desc": "차트가 존재하고 블록계산식(합계, 평균) 데이터가 없는 경우 정답 처리"
|
||||||
|
},
|
||||||
|
"50": {
|
||||||
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
||||||
|
"searchValue": "대학생 창업 분야별 성장률",
|
||||||
|
"value": "휴먼옛체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (대학생 창업 분야별 성장률)/① 글씨체 (휴먼옛체)"
|
||||||
|
},
|
||||||
|
"51": {
|
||||||
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
||||||
|
"searchValue": "대학생 창업 분야별 성장률",
|
||||||
|
"value": "1300",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (대학생 창업 분야별 성장률)/② 크기 (1300)"
|
||||||
|
},
|
||||||
|
"52": {
|
||||||
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
||||||
|
"option": "b",
|
||||||
|
"searchValue": "대학생 창업 분야별 성장률",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (대학생 창업 분야별 성장률)/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
},
|
||||||
|
"53": {
|
||||||
|
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface | //c:catAx/c:txPr//a:latin/@typeface",
|
||||||
|
"value": "굴림체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "X축/① 글꼴 (굴림체)"
|
||||||
|
},
|
||||||
|
"54": {
|
||||||
|
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "X축/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"55": {
|
||||||
|
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@{option}",
|
||||||
|
"option": "i",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "X축/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
},
|
||||||
|
"56": {
|
||||||
|
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface | //c:valAx/c:txPr//a:latin/@typeface",
|
||||||
|
"value": "굴림체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "Y축/① 글꼴 (굴림체)"
|
||||||
|
},
|
||||||
|
"57": {
|
||||||
|
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "Y축/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"58": {
|
||||||
|
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@{option}",
|
||||||
|
"option": "i",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "Y축/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
},
|
||||||
|
"59": {
|
||||||
|
"chart_xpath": "//c:legend//a:ea/@typeface | //c:legend//a:latin/@typeface",
|
||||||
|
"value": "굴림체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "범례/① 글꼴 (굴림체)"
|
||||||
|
},
|
||||||
|
"60": {
|
||||||
|
"chart_xpath": "//c:legend//a:defRPr/@sz",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "범례/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"61": {
|
||||||
|
"chart_xpath": "//c:legend//a:defRPr/@{option}",
|
||||||
|
"option": "i",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "범례/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
841
JSON/2602/DIW_2602E.json
Normal file
841
JSON/2602/DIW_2602E.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": "55,123,200",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Color",
|
||||||
|
"item": "문구 (상반기건강차체험안내)/② 채우기 : 색상(RGB:55,123,200)"
|
||||||
|
},
|
||||||
|
"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": "서울시 청담동 서울필문화센터 1층",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구 (서울시 청담동 서울필문화센터 1층)/① BOLD"
|
||||||
|
},
|
||||||
|
"18": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
|
"searchValue": "서울시 청담동 서울필문화센터 1층",
|
||||||
|
"value": "UNDERLINE",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구 (서울시 청담동 서울필문화센터 1층)/② UNDERLINE"
|
||||||
|
},
|
||||||
|
"19": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||||
|
"searchValue": "기타사항",
|
||||||
|
"value": {
|
||||||
|
"Left": 15,
|
||||||
|
"Indent": 12
|
||||||
|
},
|
||||||
|
"points": 2,
|
||||||
|
"category": "ParaShape",
|
||||||
|
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15), 내어쓰기 (12)",
|
||||||
|
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||||
|
},
|
||||||
|
"20": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||||
|
"searchValue": "2026. 02. 28.",
|
||||||
|
"value": "1400",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (2026. 02. 28.)/① 크기 (1400)",
|
||||||
|
"desc": "1pt당 100"
|
||||||
|
},
|
||||||
|
"21": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
|
"searchValue": "2026. 02. 28.",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (2026. 02. 28.)/② 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"22": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "서울필문화센터",
|
||||||
|
"value": "궁서체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구 (서울필문화센터)/① 글씨체 (궁서체)"
|
||||||
|
},
|
||||||
|
"23": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "서울필문화센터",
|
||||||
|
"value": "2500",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (서울필문화센터)/② 크기 (2500)"
|
||||||
|
},
|
||||||
|
"24": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||||
|
"searchValue": "서울필문화센터",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (서울필문화센터)/③ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"25": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "DIAT",
|
||||||
|
"value": "굴림",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Header.FontName",
|
||||||
|
"item": "문구 (DIAT)/① 글꼴 (굴림)"
|
||||||
|
},
|
||||||
|
"26": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "DIAT",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Header.OneAnswer",
|
||||||
|
"item": "문구 (DIAT)/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"27": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
|
||||||
|
"searchValue": "DIAT",
|
||||||
|
"value": "Right",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Header.OneAnswer",
|
||||||
|
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
|
||||||
|
},
|
||||||
|
"28": {
|
||||||
|
"path": "//PAGENUM/@FormatType",
|
||||||
|
"value": "LatinCapital",
|
||||||
|
"points": 2,
|
||||||
|
"category": "PageNumber",
|
||||||
|
"item": "① 쪽 번호 매기기 (A,B,C 순으로)",
|
||||||
|
"desc1": {
|
||||||
|
"가,나,다": "HangulSyllable",
|
||||||
|
"1,2,3": "Digit",
|
||||||
|
"일,이,삼": "HangulPhonetic",
|
||||||
|
"갑,을,병": "DecagonCircle",
|
||||||
|
"A,B,C": "LatinCapital",
|
||||||
|
"a,b,c": "LatinSmall",
|
||||||
|
"Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital",
|
||||||
|
"①,②,③": "CircledDigit",
|
||||||
|
"一,二,三": "Ideograph",
|
||||||
|
"㉠,㉡,㉢": "CircledHangulJamo",
|
||||||
|
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
|
||||||
|
"㊀,㊁,㊂": "CircledIdeograph",
|
||||||
|
"i,ii,iii": "RomanSmall",
|
||||||
|
"I,II,III": "RomanCapital",
|
||||||
|
"甲,乙,丙": "DecagonCircleHanja",
|
||||||
|
"+,++,+++": "UserChar",
|
||||||
|
"*,**,***": "UserChar",
|
||||||
|
"정답에 맞는 값 value에 입력": ""
|
||||||
|
},
|
||||||
|
"desc2": "1, 2페이지 모두 정답이어야 점수 부여"
|
||||||
|
},
|
||||||
|
"29": {
|
||||||
|
"path": "//PAGENUM/@Pos",
|
||||||
|
"value": "BottomRight",
|
||||||
|
"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/SHAPEOBJECT/SIZE/@Width",
|
||||||
|
"value": "60",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.mmSize",
|
||||||
|
"item": "문구 (홍차에 대하여)/① 크기-너비 (60 mm)"
|
||||||
|
},
|
||||||
|
"5": {
|
||||||
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||||
|
"value": "12",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.mmSize",
|
||||||
|
"item": "문구 (홍차에 대하여)/② 크기-높이 (12 mm)"
|
||||||
|
},
|
||||||
|
"6": {
|
||||||
|
"path": "//RECTANGLE//LINESHAPE",
|
||||||
|
"value": {
|
||||||
|
"Style": "DoubleSlim",
|
||||||
|
"Width": "283"
|
||||||
|
},
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.LineShape",
|
||||||
|
"item": "문구 (홍차에 대하여)/③ 테두리 : 이중 실선(1.00mm)",
|
||||||
|
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||||
|
},
|
||||||
|
"7": {
|
||||||
|
"path": "//RECTANGLE/@Ratio",
|
||||||
|
"value": "50",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.OneAnswer",
|
||||||
|
"item": "문구 (홍차에 대하여)/④ 글상자 모서리 (둥근모양)",
|
||||||
|
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||||
|
},
|
||||||
|
"8": {
|
||||||
|
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
|
||||||
|
"value": "241,183,180",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.Color",
|
||||||
|
"item": "문구 (홍차에 대하여)/⑤ 채우기 : 색상(RGB:241,183,180)"
|
||||||
|
},
|
||||||
|
"9": {
|
||||||
|
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
|
"value": "true",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.OneAnswer",
|
||||||
|
"item": "문구 (홍차에 대하여)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||||
|
},
|
||||||
|
"10": {
|
||||||
|
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.TextBoxAlign",
|
||||||
|
"item": "문구 (홍차에 대하여)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"11": {
|
||||||
|
"path": ".//RECTANGLE//TEXT/@CharShape",
|
||||||
|
"value": "견고딕",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.FontName",
|
||||||
|
"item": "문구 (홍차에 대하여)/⑧ 글씨체 (견고딕)"
|
||||||
|
},
|
||||||
|
"12": {
|
||||||
|
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
|
||||||
|
"value": "2000",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.FontSize",
|
||||||
|
"item": "문구 (홍차에 대하여)/⑨ 글씨크기 (2000)",
|
||||||
|
"desc": "1pt당 100"
|
||||||
|
},
|
||||||
|
"13": {
|
||||||
|
"path": "//PARASHAPE[@Id={rect_parashape_id}]/@Align",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.TextBoxAlign",
|
||||||
|
"item": "문구 (홍차에 대하여)/⑩ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"14": {
|
||||||
|
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "① 파일명 \"그림E.jpg\" 삽입",
|
||||||
|
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||||
|
},
|
||||||
|
"15": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
||||||
|
"value": "85",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "② 크기-너비 (85 mm)"
|
||||||
|
},
|
||||||
|
"16": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
||||||
|
"value": "40",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "③ 크기-높이 (40 mm)"
|
||||||
|
},
|
||||||
|
"17": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset",
|
||||||
|
"value": "0",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0mm)"
|
||||||
|
},
|
||||||
|
"18": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
||||||
|
"value": "22",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 22 mm)"
|
||||||
|
},
|
||||||
|
"19": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "1. 홍차의 역사",
|
||||||
|
"value": "중고딕",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구① (1. 홍차의 역사)/① 글씨체 (중고딕)"
|
||||||
|
},
|
||||||
|
"20": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "1. 홍차의 역사",
|
||||||
|
"value": "1200",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구① (1. 홍차의 역사)/② 크기 (1200)"
|
||||||
|
},
|
||||||
|
"21": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"searchValue": "1. 홍차의 역사",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구① (1. 홍차의 역사)/③ 진하게"
|
||||||
|
},
|
||||||
|
"22": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "2. 홍차의 효능",
|
||||||
|
"value": "중고딕",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구② (2. 홍차의 효능)/① 글씨체 (중고딕)"
|
||||||
|
},
|
||||||
|
"23": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "2. 홍차의 효능",
|
||||||
|
"value": "1200",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구② (2. 홍차의 효능)/② 크기 (1200)"
|
||||||
|
},
|
||||||
|
"24": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"searchValue": "2. 홍차의 효능",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구② (2. 홍차의 효능)/③ 진하게"
|
||||||
|
},
|
||||||
|
"25": {
|
||||||
|
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
||||||
|
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
||||||
|
"option": "효소",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "문구 (효소)/① 각주 설정 및 문구 입력"
|
||||||
|
},
|
||||||
|
"26": {
|
||||||
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
|
"searchValue": "세포 안에서 합성되어 촉매 구실을 하는 화합물",
|
||||||
|
"value": "굴림",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구 (효소)/② 글씨체 (굴림)"
|
||||||
|
},
|
||||||
|
"27": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
||||||
|
"searchValue": "세포 안에서 합성되어 촉매 구실을 하는 화합물",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (효소)/③ 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"28": {
|
||||||
|
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
||||||
|
"searchValue": "세포 안에서 합성되어 촉매 구실을 하는 화합물",
|
||||||
|
"value": "Digit",
|
||||||
|
"points": 2,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (전당)/④ 각주 번호모양",
|
||||||
|
"desc": {
|
||||||
|
"가,나,다": "HangulSyllable",
|
||||||
|
"1,2,3": "Digit",
|
||||||
|
"일,이,삼": "HangulPhonetic",
|
||||||
|
"갑,을,병": "DecagonCircle",
|
||||||
|
"A,B,C": "LatinCapital",
|
||||||
|
"a,b,c": "LatinSmall",
|
||||||
|
"Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital",
|
||||||
|
"①,②,③": "CircledDigit",
|
||||||
|
"一,二,三": "Ideograph",
|
||||||
|
"㉠,㉡,㉢": "CircledHangulJamo",
|
||||||
|
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
|
||||||
|
"㊀,㊁,㊂": "CircledIdeograph",
|
||||||
|
"i,ii,iii": "RomanSmall",
|
||||||
|
"I,II,III": "RomanCapital",
|
||||||
|
"甲,乙,丙": "DecagonCircleHanja",
|
||||||
|
"+,++,+++": "UserChar",
|
||||||
|
"*,**,***": "UserChar",
|
||||||
|
"정답에 맞는 값 value에 입력": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"29": {
|
||||||
|
"path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])",
|
||||||
|
"ignoreWord": "Culture",
|
||||||
|
"value": true,
|
||||||
|
"points": 3,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "Culture/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||||
|
"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": "문구 (…17제기 중반 네덜란드와…)>'제' → '세' 글자바꿈"
|
||||||
|
},
|
||||||
|
"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": "251,244,70",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Color",
|
||||||
|
"item": "위쪽 제목 셀/① 색상(RGB:251,244,70)"
|
||||||
|
},
|
||||||
|
"38": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "위쪽 제목 셀/② 진하게",
|
||||||
|
"desc": "글자 속성이라 CELLZONE으로 적용 되지 않음"
|
||||||
|
},
|
||||||
|
"39": {
|
||||||
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Type",
|
||||||
|
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Type",
|
||||||
|
"value": "DoubleSlim",
|
||||||
|
"points": 2,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "제목 셀 아래선/① 이중실선"
|
||||||
|
},
|
||||||
|
"40": {
|
||||||
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Width",
|
||||||
|
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Width",
|
||||||
|
"value": "0.5mm",
|
||||||
|
"points": 2,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "제목 셀 아래선/② 0.5mm"
|
||||||
|
},
|
||||||
|
"41": {
|
||||||
|
"path": "//TABLE//TEXT/@CharShape",
|
||||||
|
"path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
|
||||||
|
"value": "굴림",
|
||||||
|
"points": 1,
|
||||||
|
"category": "TableFontName",
|
||||||
|
"category_tmp": "FontName",
|
||||||
|
"item": "글자모양/① 글씨체 (굴림)",
|
||||||
|
"desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경"
|
||||||
|
},
|
||||||
|
"42": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TABLE//TEXT/@CharShape]/@Height",
|
||||||
|
"value": "1000",
|
||||||
|
"points": 1,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "글자모양/② 크기 (1000)"
|
||||||
|
},
|
||||||
|
"43": {
|
||||||
|
"path": "//PARASHAPE[@Id=//TABLE/ROW//P/@ParaShape]/@Align",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "글자모양/③ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"44": {
|
||||||
|
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) or boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
|
||||||
|
"option": "AVG",
|
||||||
|
"value": true,
|
||||||
|
"points": 4,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "블록 계산식/합계",
|
||||||
|
"desc": "option값에 합계는 SUM / 평균은 AVG"
|
||||||
|
},
|
||||||
|
"45": {
|
||||||
|
"chart_xpath": "",
|
||||||
|
"chart_type": "꺾은선형",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "ChartType",
|
||||||
|
"item": "① 종류 (꺾은선형)",
|
||||||
|
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
|
||||||
|
},
|
||||||
|
"46": {
|
||||||
|
"chart_xpath": "//c:valAx/c:majorTickMark/@val",
|
||||||
|
"value": "out",
|
||||||
|
"points": 2,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "② 값 축 주 눈금선",
|
||||||
|
"desc": "chart xml파일에서 답안을 가져오는 문항은 path키값 대신 chart_xpath키값을 이용해 xapth구문을 작성한다"
|
||||||
|
},
|
||||||
|
"47": {
|
||||||
|
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Width",
|
||||||
|
"value": "80",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "③ 크기-너비 (80 mm)"
|
||||||
|
},
|
||||||
|
"48": {
|
||||||
|
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Height",
|
||||||
|
"value": "90",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "④ 크기-높이 (90 mm)"
|
||||||
|
},
|
||||||
|
"49": {
|
||||||
|
"chart_xpath": "boolean(//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='합계' or text()='평균']))",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "⑤ 차트 데이터(표에서 블록계산식을 제외한 나머지 값만 이용)",
|
||||||
|
"desc": "차트가 존재하고 블록계산식(합계, 평균) 데이터가 없는 경우 정답 처리"
|
||||||
|
},
|
||||||
|
"50": {
|
||||||
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
||||||
|
"searchValue": "국내 홍차 선호도",
|
||||||
|
"value": "휴먼옛체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (국내 홍차 선호도)/① 글씨체 (휴먼옛체)"
|
||||||
|
},
|
||||||
|
"51": {
|
||||||
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
||||||
|
"searchValue": "국내 홍차 선호도",
|
||||||
|
"value": "1300",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (국내 홍차 선호도)/② 크기 (1300)"
|
||||||
|
},
|
||||||
|
"52": {
|
||||||
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
||||||
|
"option": "b",
|
||||||
|
"searchValue": "국내 홍차 선호도",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (국내 홍차 선호도)/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
},
|
||||||
|
"53": {
|
||||||
|
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface | //c:catAx/c:txPr//a:latin/@typeface",
|
||||||
|
"value": "돋움",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "X축/① 글꼴 (돋움)"
|
||||||
|
},
|
||||||
|
"54": {
|
||||||
|
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "X축/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"55": {
|
||||||
|
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@{option}",
|
||||||
|
"option": "i",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "X축/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
},
|
||||||
|
"56": {
|
||||||
|
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface | //c:valAx/c:txPr//a:latin/@typeface",
|
||||||
|
"value": "돋움",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "Y축/① 글꼴 (돋움)"
|
||||||
|
},
|
||||||
|
"57": {
|
||||||
|
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "Y축/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"58": {
|
||||||
|
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@{option}",
|
||||||
|
"option": "i",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "Y축/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
},
|
||||||
|
"59": {
|
||||||
|
"chart_xpath": "//c:legend//a:ea/@typeface | //c:legend//a:latin/@typeface",
|
||||||
|
"value": "돋움",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "범례/① 글꼴 (돋움)"
|
||||||
|
},
|
||||||
|
"60": {
|
||||||
|
"chart_xpath": "//c:legend//a:defRPr/@sz",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "범례/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"61": {
|
||||||
|
"chart_xpath": "//c:legend//a:defRPr/@{option}",
|
||||||
|
"option": "i",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "범례/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -46,57 +46,57 @@
|
|||||||
"1": {
|
"1": {
|
||||||
"1": {
|
"1": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
||||||
"searchValue": "청소년창작음악페스티벌",
|
"searchValue": "전통주페어링특강안내",
|
||||||
"value": "궁서체",
|
"value": "휴먼옛체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (청소년창작음악페스티벌)/① 글씨체 (궁서체)"
|
"item": "문구 (전통주페어링특강안내)/① 글씨체 (휴먼옛체)"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
||||||
"searchValue": "청소년창작음악페스티벌",
|
"searchValue": "전통주페어링특강안내",
|
||||||
"value": "48,117,97",
|
"value": "28,145,110",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Color",
|
"category": "Color",
|
||||||
"item": "문구 (청소년창작음악페스티벌)/② 채우기 : 색상(RGB:48,117,97)"
|
"item": "문구 (전통주페어링특강안내)/② 채우기 : 색상(RGB:28,145,110)"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
||||||
"searchValue": "청소년창작음악페스티벌",
|
"searchValue": "전통주페어링특강안내",
|
||||||
"value": "110",
|
"value": "120",
|
||||||
"tolerance": 1,
|
"tolerance": 1,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "문구 (청소년창작음악페스티벌)/③ 크기-너비 (110 mm)"
|
"item": "문구 (전통주페어링특강안내)/③ 크기-너비 (120 mm)"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
|
||||||
"searchValue": "청소년창작음악페스티벌",
|
"searchValue": "전통주페어링특강안내",
|
||||||
"value": "20",
|
"value": "20",
|
||||||
"tolerance": 1,
|
"tolerance": 1,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "문구 (청소년창작음악페스티벌)/④ 크기-높이 (20 mm)"
|
"item": "문구 (전통주페어링특강안내)/④ 크기-높이 (20 mm)"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
"searchValue": "청소년창작음악페스티벌",
|
"searchValue": "전통주페어링특강안내",
|
||||||
"value": "true",
|
"value": "true",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (청소년창작음악페스티벌)/⑤ 위치 (글자처럼 취급)"
|
"item": "문구 (전통주페어링특강안내)/⑤ 위치 (글자처럼 취급)"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
|
||||||
"searchValue": "청소년창작음악페스티벌",
|
"searchValue": "전통주페어링특강안내",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (청소년창작음악페스티벌)/⑥ 정렬 (가운데 정렬)"
|
"item": "문구 (전통주페어링특강안내)/⑥ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']",
|
"path": "//TEXTART[@Text='{searchValue}']",
|
||||||
"searchValue": "청소년창작음악페스티벌",
|
"searchValue": "전통주페어링특강안내",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
@@ -104,7 +104,7 @@
|
|||||||
},
|
},
|
||||||
"8": {
|
"8": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
|
||||||
"searchValue": "음",
|
"searchValue": "혼",
|
||||||
"value": {
|
"value": {
|
||||||
"Height": 2800,
|
"Height": 2800,
|
||||||
"Width": 2800
|
"Width": 2800
|
||||||
@@ -116,23 +116,23 @@
|
|||||||
},
|
},
|
||||||
"9": {
|
"9": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "음",
|
"searchValue": "혼",
|
||||||
"value": "굴림체",
|
"value": "돋움체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "어/② 글씨체 (굴림체)"
|
"item": "어/② 글씨체 (돋움체)"
|
||||||
},
|
},
|
||||||
"10": {
|
"10": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||||
"searchValue": "음",
|
"searchValue": "혼",
|
||||||
"value": "248,132,58",
|
"value": "250,167,83",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Color",
|
"category": "Color",
|
||||||
"item": "어/③ 면색 : 색상(RGB:248,132,58)"
|
"item": "어/③ 면색 : 색상(RGB:250,167,83)"
|
||||||
},
|
},
|
||||||
"11": {
|
"11": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
||||||
"searchValue": "음",
|
"searchValue": "혼",
|
||||||
"value": "3.0",
|
"value": "3.0",
|
||||||
"tolerance": 1,
|
"tolerance": 1,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
@@ -141,19 +141,19 @@
|
|||||||
},
|
},
|
||||||
"12": {
|
"12": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
"searchValue": "행사의 주제는 ‘음악, 꿈을 노래하다’",
|
"searchValue": "한식에 가장 잘 어울리는 전통주를 추천",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (행사의 주제는 ‘음악, 꿈을 노래하다’)/① BOLD"
|
"item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/① BOLD"
|
||||||
},
|
},
|
||||||
"13": {
|
"13": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
"searchValue": "행사의 주제는 ‘음악, 꿈을 노래하다’",
|
"searchValue": "한식에 가장 잘 어울리는 전통주를 추천",
|
||||||
"value": "UNDERLINE",
|
"value": "UNDERLINE",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (행사의 주제는 ‘음악, 꿈을 노래하다’)/② UNDERLINE"
|
"item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/② UNDERLINE"
|
||||||
},
|
},
|
||||||
"14": {
|
"14": {
|
||||||
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||||
@@ -186,73 +186,73 @@
|
|||||||
"17": {
|
"17": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
"searchValue": "자세한 내용은 홈페이지(http://www.ihd.or.kr)에서 확인",
|
"searchValue": "서울 목동 현대백화점 요리실 1호, 2호, 3호",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (자세한 내용은 홈페이지(http://www.ihd.or.kr)에서 확인)/① BOLD"
|
"item": "문구 (서울 목동 현대백화점 요리실 1호, 2호, 3호)/① BOLD"
|
||||||
},
|
},
|
||||||
"18": {
|
"18": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
"searchValue": "자세한 내용은 홈페이지(http://www.ihd.or.kr)에서 확인",
|
"searchValue": "서울 목동 현대백화점 요리실 1호, 2호, 3호",
|
||||||
"value": "ITALIC",
|
"value": "ITALIC",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (자세한 내용은 홈페이지(http://www.ihd.or.kr)에서 확인)/② ITALIC"
|
"item": "문구 (서울 목동 현대백화점 요리실 1호, 2호, 3호)/② ITALIC"
|
||||||
},
|
},
|
||||||
"19": {
|
"19": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||||
"searchValue": "기타사항",
|
"searchValue": "기타사항",
|
||||||
"value": {
|
"value": {
|
||||||
"Left": 15,
|
"Left": 10,
|
||||||
"Indent": 12
|
"Indent": 12
|
||||||
},
|
},
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "ParaShape",
|
"category": "ParaShape",
|
||||||
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15), 내어쓰기 (12)",
|
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (10), 내어쓰기 (12)",
|
||||||
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||||
},
|
},
|
||||||
"20": {
|
"20": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||||
"searchValue": "2025. 12. 20.",
|
"searchValue": "2026. 03. 28.",
|
||||||
"value": "1300",
|
"value": "1300",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (2025. 12. 20.)/① 크기 (1300)",
|
"item": "문구 (2026. 03. 28.)/① 크기 (1300)",
|
||||||
"desc": "1pt당 100"
|
"desc": "1pt당 100"
|
||||||
},
|
},
|
||||||
"21": {
|
"21": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
"searchValue": "2025. 12. 20.",
|
"searchValue": "2026. 03. 28.",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (2025. 12. 20.)/② 정렬 (가운데 정렬)"
|
"item": "문구 (2026. 03. 28.)/② 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"22": {
|
"22": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "청소년 창작 음악 사무국",
|
"searchValue": "대한민국전통주살리기협회",
|
||||||
"value": "돋움",
|
"value": "궁서체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구 (청소년 창작 음악 사무국)/① 글씨체 (돋움)"
|
"item": "문구 (대한민국전통주살리기협회)/① 글씨체 (궁서체)"
|
||||||
},
|
},
|
||||||
"23": {
|
"23": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "청소년 창작 음악 사무국",
|
"searchValue": "대한민국전통주살리기협회",
|
||||||
"value": "2700",
|
"value": "2700",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (청소년 창작 음악 사무국)/② 크기 (2700)"
|
"item": "문구 (대한민국전통주살리기협회)/② 크기 (2700)"
|
||||||
},
|
},
|
||||||
"24": {
|
"24": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||||
"searchValue": "청소년 창작 음악 사무국",
|
"searchValue": "대한민국전통주살리기협회",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (청소년 창작 음악 사무국)/③ 정렬 (가운데 정렬)"
|
"item": "문구 (대한민국전통주살리기협회)/③ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
@@ -308,10 +308,10 @@
|
|||||||
},
|
},
|
||||||
"29": {
|
"29": {
|
||||||
"path": "//PAGENUM/@Pos",
|
"path": "//PAGENUM/@Pos",
|
||||||
"value": "BottomRight",
|
"value": "BottomCenter",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "PageNumber",
|
"category": "PageNumber",
|
||||||
"item": "오른쪽 아래",
|
"item": "가운데 아래",
|
||||||
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
||||||
"desc2": {
|
"desc2": {
|
||||||
"가운데 아래": "BottomCenter",
|
"가운데 아래": "BottomCenter",
|
||||||
@@ -330,11 +330,11 @@
|
|||||||
},
|
},
|
||||||
"31": {
|
"31": {
|
||||||
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
||||||
"value": "180",
|
"value": "190",
|
||||||
"first_word": "음",
|
"first_word": "혼",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "LineSpacing",
|
"category": "LineSpacing",
|
||||||
"item": "문제 1 줄간격 180% 설정",
|
"item": "문제 1 줄간격 190% 설정",
|
||||||
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
|
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -367,17 +367,17 @@
|
|||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||||
"value": "60",
|
"value": "55",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.mmSize",
|
"category": "Rectangle.mmSize",
|
||||||
"item": "문구 (청소년 음악 창작)/① 크기-너비 (60 mm)"
|
"item": "문구 (한국의 전통주)/① 크기-너비 (55 mm)"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||||
"value": "12",
|
"value": "12",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.mmSize",
|
"category": "Rectangle.mmSize",
|
||||||
"item": "문구 (청소년 음악 창작)/② 크기-높이 (12 mm)"
|
"item": "문구 (한국의 전통주)/② 크기-높이 (12 mm)"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"path": "//RECTANGLE//LINESHAPE",
|
"path": "//RECTANGLE//LINESHAPE",
|
||||||
@@ -387,7 +387,7 @@
|
|||||||
},
|
},
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.LineShape",
|
"category": "Rectangle.LineShape",
|
||||||
"item": "문구 (청소년 음악 창작)/③ 테두리 : 이중 실선(1.00mm)",
|
"item": "문구 (한국의 전통주)/③ 테두리 : 이중 실선(1.00mm)",
|
||||||
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
@@ -395,43 +395,43 @@
|
|||||||
"value": "20",
|
"value": "20",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.OneAnswer",
|
"category": "Rectangle.OneAnswer",
|
||||||
"item": "문구 (청소년 음악 창작)/④ 글상자 모서리 (반원)",
|
"item": "문구 (한국의 전통주)/④ 글상자 모서리 (둥근모양)",
|
||||||
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||||
},
|
},
|
||||||
"8": {
|
"8": {
|
||||||
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
|
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
|
||||||
"value": "53,135,145",
|
"value": "119,214,225",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.Color",
|
"category": "Rectangle.Color",
|
||||||
"item": "문구 (청소년 음악 창작)/⑤ 채우기 : 색상(RGB:53,135,145)"
|
"item": "문구 (한국의 전통주)/⑤ 채우기 : 색상(RGB:119,214,225)"
|
||||||
},
|
},
|
||||||
"9": {
|
"9": {
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
|
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
"value": "true",
|
"value": "true",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.OneAnswer",
|
"category": "Rectangle.OneAnswer",
|
||||||
"item": "문구 (청소년 음악 창작)/⑥ 글상자 위치 (글자처럼 취급)"
|
"item": "문구 (한국의 전통주)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||||
},
|
},
|
||||||
"10": {
|
"10": {
|
||||||
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
|
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.TextBoxAlign",
|
"category": "Rectangle.TextBoxAlign",
|
||||||
"item": "문구 (청소년 음악 창작)/⑦ 글상자 정렬 (가운데 정렬)"
|
"item": "문구 (한국의 전통주)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"11": {
|
"11": {
|
||||||
"path": ".//RECTANGLE//TEXT/@CharShape",
|
"path": ".//RECTANGLE//TEXT/@CharShape",
|
||||||
"value": "궁서체",
|
"value": "궁서체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.FontName",
|
"category": "Rectangle.FontName",
|
||||||
"item": "문구 (청소년 음악 창작)/⑧ 글씨체 (궁서체)"
|
"item": "문구 (한국의 전통주)/⑧ 글씨체 (궁서체)"
|
||||||
},
|
},
|
||||||
"12": {
|
"12": {
|
||||||
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
|
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
|
||||||
"value": "2000",
|
"value": "2000",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.FontSize",
|
"category": "Rectangle.FontSize",
|
||||||
"item": "문구 (청소년 음악 창작)/⑨ 글씨크기 (2000)",
|
"item": "문구 (한국의 전통주)/⑨ 글씨크기 (2000)",
|
||||||
"desc": "1pt당 100"
|
"desc": "1pt당 100"
|
||||||
},
|
},
|
||||||
"13": {
|
"13": {
|
||||||
@@ -439,22 +439,22 @@
|
|||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.TextBoxAlign",
|
"category": "Rectangle.TextBoxAlign",
|
||||||
"item": "문구 (청소년 음악 창작)/⑩ 정렬 (가운데 정렬)"
|
"item": "문구 (한국의 전통주)/⑩ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"14": {
|
"14": {
|
||||||
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
|
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "① 파일명 \"그림B.jpg\" 삽입",
|
"item": "① 파일명 \"그림A.jpg\" 삽입",
|
||||||
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||||
},
|
},
|
||||||
"15": {
|
"15": {
|
||||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
||||||
"value": "85",
|
"value": "80",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "② 크기-너비 (85 mm)"
|
"item": "② 크기-너비 (80 mm)"
|
||||||
},
|
},
|
||||||
"16": {
|
"16": {
|
||||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
||||||
@@ -479,84 +479,84 @@
|
|||||||
},
|
},
|
||||||
"19": {
|
"19": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "1. 청소년 음악 창작",
|
"searchValue": "1. 한국 전통주",
|
||||||
"value": "돋움체",
|
"value": "돋움",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구① (1. 청소년 음악 창작)/① 글씨체 (돋움체)"
|
"item": "문구① (1. 한국 전통주)/① 글씨체 (돋움)"
|
||||||
},
|
},
|
||||||
"20": {
|
"20": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "1. 청소년 음악 창작",
|
"searchValue": "1. 한국 전통주",
|
||||||
"value": "1200",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구① (1. 청소년 음악 창작)/② 크기 (1200)"
|
"item": "문구① (1. 한국 전통주)/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"21": {
|
"21": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "1. 청소년 음악 창작",
|
"searchValue": "1. 한국 전통주",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구① (1. 청소년 음악 창작)/③ 진하게"
|
"item": "문구① (1. 한국 전통주)/③ 진하게"
|
||||||
},
|
},
|
||||||
"22": {
|
"22": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "2. 청소년 음악 산업",
|
"searchValue": "2. 패러다임 바뀐 음주 문화",
|
||||||
"value": "돋움체",
|
"value": "돋움",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구② (2. 청소년 음악 산업)/① 글씨체 (돋움체)"
|
"item": "문구② (2. 패러다임 바뀐 음주 문화)/① 글씨체 (돋움)"
|
||||||
},
|
},
|
||||||
"23": {
|
"23": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "2. 청소년 음악 산업",
|
"searchValue": "2. 패러다임 바뀐 음주 문화",
|
||||||
"value": "1200",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구② (2. 청소년 음악 산업)/② 크기 (1200)"
|
"item": "문구② (2. 패러다임 바뀐 음주 문화)/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"24": {
|
"24": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "2. 청소년 음악 산업",
|
"searchValue": "2. 패러다임 바뀐 음주 문화",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구② (2. 청소년 음악 산업)/③ 진하게"
|
"item": "문구② (2. 패러다임 바뀐 음주 문화)/③ 진하게"
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
||||||
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
||||||
"option": "스트리밍",
|
"option": "MZ세대",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (스트리밍)/① 각주 설정 및 문구 입력"
|
"item": "문구 (MZ세대)/① 각주 설정 및 문구 입력"
|
||||||
},
|
},
|
||||||
"26": {
|
"26": {
|
||||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
"searchValue": "인터넷에 연결된 장치에서 동영상이나 음악 등의 콘텐츠를 재생하는 기술을 의미함",
|
"searchValue": "밀레니얼 세대와 Z세대를 통틀어 지칭하는 신조어",
|
||||||
"value": "굴림",
|
"value": "굴림",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구 (스트리밍)/② 글씨체 (굴림)"
|
"item": "문구 (MZ세대)/② 글씨체 (굴림)"
|
||||||
},
|
},
|
||||||
"27": {
|
"27": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
||||||
"searchValue": "인터넷에 연결된 장치에서 동영상이나 음악 등의 콘텐츠를 재생하는 기술을 의미함",
|
"searchValue": "밀레니얼 세대와 Z세대를 통틀어 지칭하는 신조어",
|
||||||
"value": "900",
|
"value": "900",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (스트리밍)/③ 크기 (9pt)"
|
"item": "문구 (MZ세대)/③ 크기 (9pt)"
|
||||||
},
|
},
|
||||||
"28": {
|
"28": {
|
||||||
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
||||||
"searchValue": "인터넷에 연결된 장치에서 동영상이나 음악 등의 콘텐츠를 재생하는 기술을 의미함",
|
"searchValue": "밀레니얼 세대와 Z세대를 통틀어 지칭하는 신조어",
|
||||||
"value": "CircledHangulJamo",
|
"value": "CircledHangulJamo",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "PageNumber",
|
||||||
"item": "문구 (스트리밍)/④ 각주 번호모양",
|
"item": "문구 (전당)/④ 각주 번호모양",
|
||||||
"desc": {
|
"desc": {
|
||||||
"가,나,다": "HangulSyllable",
|
"가,나,다": "HangulSyllable",
|
||||||
"1,2,3": "Digit",
|
"1,2,3": "Digit",
|
||||||
@@ -579,73 +579,73 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"29": {
|
"29": {
|
||||||
"path": "boolean(//CHAR[contains(text(),'Artist')])",
|
"path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])",
|
||||||
"ignoreWord": "Artist",
|
"ignoreWord": "Paradigm",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "Artist/영단어 미입력, 대소문자/오타 시 전체 감점",
|
"item": "Paradigm/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||||
"desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요"
|
"desc": ""
|
||||||
},
|
},
|
||||||
"30": {
|
"30": {
|
||||||
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
|
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
|
||||||
"word": [
|
"word": [
|
||||||
["작곡", "作曲"],
|
["양조", "釀造"],
|
||||||
["유통", "流通"],
|
["노동자", "勞動者"],
|
||||||
["창작", "創作"],
|
["문인", "文人"],
|
||||||
["발표", "發表"],
|
["백주", "白酒"],
|
||||||
["수익", "受益"]
|
["음미", "吟味"]
|
||||||
],
|
],
|
||||||
"value": 10,
|
"value": 10,
|
||||||
"points": 10,
|
"points": 10,
|
||||||
"category": "Hanja",
|
"category": "Hanja",
|
||||||
"item": "① 작곡(作曲), ② 유통(流通), ③ 창작(創作), ④ 발표(發表), ⑤ 수익(受益)"
|
"item": "① 양조(釀造), ② 노동자(勞動者), ③ 문인(文人), ④ 백주(白酒), ⑤ 음미(吟味)"
|
||||||
},
|
},
|
||||||
"31": {
|
"31": {
|
||||||
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'이고실험')])",
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'에도막걸')])",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (…벗어나 자율적이구 실험적인…)>'구' → '고' 글자바꿈"
|
"item": "문구 (…문인(文人)들의 문집에토 막걸리로…)>'토' → '도' 글자바꿈"
|
||||||
},
|
},
|
||||||
"32": {
|
"32": {
|
||||||
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'로운기회')])",
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'하는문화')])",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (…뮤지션들에게도 기회가 새로운 열리고…)>'기회가 / 새로운' 순서바꿈"
|
"item": "문구 (…마시고 문화에서 취하는 술의 맛과…)>'문화에서' / '취하는' 순서바꿈"
|
||||||
},
|
},
|
||||||
"33": {
|
"33": {
|
||||||
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
|
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
|
||||||
"searchValue": "청소년 음악 성장률(단위:%)",
|
"searchValue": "월평균 주종별 음주(단위:%)",
|
||||||
"value": "돋움",
|
"value": "돋움체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "제목 문구 (청소년 음악 성장률(단위:%))/① 글씨체 (돋움)"
|
"item": "제목 문구 (월평균 주종별 음주(단위:%))/① 글씨체 (돋움체)"
|
||||||
},
|
},
|
||||||
"34": {
|
"34": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "청소년 음악 성장률(단위:%)",
|
"searchValue": "월평균 주종별 음주(단위:%)",
|
||||||
"value": "1200",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (청소년 음악 성장률(단위:%))/② 크기 (1200)"
|
"item": "제목 문구 (월평균 주종별 음주(단위:%))/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"35": {
|
"35": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "청소년 음악 성장률(단위:%)",
|
"searchValue": "월평균 주종별 음주(단위:%)",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "제목 문구 (청소년 음악 성장률(단위:%))/③ 진하게"
|
"item": "제목 문구 (월평균 주종별 음주(단위:%))/③ 진하게"
|
||||||
},
|
},
|
||||||
"36": {
|
"36": {
|
||||||
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||||
"searchValue": "청소년 음악 성장률(단위:%)",
|
"searchValue": "월평균 주종별 음주(단위:%)",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (청소년 음악 성장률(단위:%))/④ 정렬 (가운데 정렬)"
|
"item": "제목 문구 (월평균 주종별 음주(단위:%))/④ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"37": {
|
"37": {
|
||||||
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
||||||
@@ -704,8 +704,8 @@
|
|||||||
"item": "글자모양/③ 정렬 (가운데 정렬)"
|
"item": "글자모양/③ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"44": {
|
"44": {
|
||||||
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) and boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
|
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) or boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
|
||||||
"option": "AVG",
|
"option": "SUM",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 4,
|
"points": 4,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
@@ -714,11 +714,11 @@
|
|||||||
},
|
},
|
||||||
"45": {
|
"45": {
|
||||||
"chart_xpath": "",
|
"chart_xpath": "",
|
||||||
"chart_type": "꺾은선형",
|
"chart_type": "곡선이 있는 분산형",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "ChartType",
|
"category": "ChartType",
|
||||||
"item": "① 종류 (꺾은선형)",
|
"item": "① 종류 (곡선이 있는 분산형)",
|
||||||
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
|
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
|
||||||
},
|
},
|
||||||
"46": {
|
"46": {
|
||||||
@@ -753,36 +753,36 @@
|
|||||||
},
|
},
|
||||||
"50": {
|
"50": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
||||||
"searchValue": "청소년 음악 성장률(단위:%)",
|
"searchValue": "월평균 주종별 음주",
|
||||||
"value": "맑은 고딕",
|
"value": "궁서",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (청소년 음악 성장률(단위:%))/① 글씨체 (맑은 고딕)"
|
"item": "제목 문구 (월평균 주종별 음주)/① 글씨체 (궁서)"
|
||||||
},
|
},
|
||||||
"51": {
|
"51": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
||||||
"searchValue": "청소년 음악 성장률(단위:%)",
|
"searchValue": "월평균 주종별 음주",
|
||||||
"value": "1300",
|
"value": "1300",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (청소년 음악 성장률(단위:%))/② 크기 (1300)"
|
"item": "제목 문구 (월평균 주종별 음주)/② 크기 (1300)"
|
||||||
},
|
},
|
||||||
"52": {
|
"52": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
||||||
"option": "b",
|
"option": "b",
|
||||||
"searchValue": "청소년 음악 성장률(단위:%)",
|
"searchValue": "월평균 주종별 음주",
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (청소년 음악 성장률(단위:%))/③ 기울임",
|
"item": "제목 문구 (월평균 주종별 음주)/③ 기울임",
|
||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"53": {
|
"53": {
|
||||||
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface",
|
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface | //c:catAx/c:txPr//a:latin/@typeface",
|
||||||
"value": "바탕",
|
"value": "맑은 고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "ChartOneAnswer",
|
"category": "ChartOneAnswer",
|
||||||
"item": "X축/① 글꼴 (바탕)"
|
"item": "X축/① 글꼴 (맑은 고딕)"
|
||||||
},
|
},
|
||||||
"54": {
|
"54": {
|
||||||
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
|
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
|
||||||
@@ -801,11 +801,11 @@
|
|||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"56": {
|
"56": {
|
||||||
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface",
|
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface | //c:valAx/c:txPr//a:latin/@typeface",
|
||||||
"value": "바탕",
|
"value": "맑은 고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "ChartOneAnswer",
|
"category": "ChartOneAnswer",
|
||||||
"item": "Y축/① 글꼴 (바탕)"
|
"item": "Y축/① 글꼴 (맑은 고딕)"
|
||||||
},
|
},
|
||||||
"57": {
|
"57": {
|
||||||
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
|
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
|
||||||
@@ -824,11 +824,11 @@
|
|||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"59": {
|
"59": {
|
||||||
"chart_xpath": "//c:legend//a:ea/@typeface",
|
"chart_xpath": "//c:legend//a:ea/@typeface | //c:legend//a:latin/@typeface",
|
||||||
"value": "바탕",
|
"value": "맑은 고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "범례/① 글꼴 (바탕)"
|
"item": "범례/① 글꼴 (맑은 고딕)"
|
||||||
},
|
},
|
||||||
"60": {
|
"60": {
|
||||||
"chart_xpath": "//c:legend//a:defRPr/@sz",
|
"chart_xpath": "//c:legend//a:defRPr/@sz",
|
||||||
@@ -46,65 +46,65 @@
|
|||||||
"1": {
|
"1": {
|
||||||
"1": {
|
"1": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
||||||
"searchValue": "전국제과제빵박람회",
|
"searchValue": "슬기로운미디어생활특강안내",
|
||||||
"value": "견고딕",
|
"value": "돋움체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (전국제과제빵박람회)/① 글씨체 (견고딕)"
|
"item": "문구 (슬기로운미디어생활특강안내)/① 글씨체 (돋움체)"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
||||||
"searchValue": "전국제과제빵박람회",
|
"searchValue": "슬기로운미디어생활특강안내",
|
||||||
"value": "49,95,151",
|
"value": "146,44,137",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Color",
|
"category": "Color",
|
||||||
"item": "문구 (전국제과제빵박람회)/② 채우기 : 색상(RGB:49,95,151)"
|
"item": "문구 (슬기로운미디어생활특강안내)/② 채우기 : 색상(RGB:146,44,137)"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
||||||
"searchValue": "전국제과제빵박람회",
|
"searchValue": "슬기로운미디어생활특강안내",
|
||||||
"value": "110",
|
"value": "130",
|
||||||
"tolerance": 1,
|
"tolerance": 1,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "문구 (전국제과제빵박람회)/③ 크기-너비 (110 mm)"
|
"item": "문구 (슬기로운미디어생활특강안내)/③ 크기-너비 (130 mm)"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
|
||||||
"searchValue": "전국제과제빵박람회",
|
"searchValue": "슬기로운미디어생활특강안내",
|
||||||
"value": "20",
|
"value": "20",
|
||||||
"tolerance": 1,
|
"tolerance": 1,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "문구 (전국제과제빵박람회)/④ 크기-높이 (20 mm)"
|
"item": "문구 (슬기로운미디어생활특강안내)/④ 크기-높이 (20 mm)"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
"searchValue": "전국제과제빵박람회",
|
"searchValue": "슬기로운미디어생활특강안내",
|
||||||
"value": "true",
|
"value": "true",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (전국제과제빵박람회)/⑤ 위치 (글자처럼 취급)"
|
"item": "문구 (슬기로운미디어생활특강안내)/⑤ 위치 (글자처럼 취급)"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
|
||||||
"searchValue": "전국제과제빵박람회",
|
"searchValue": "슬기로운미디어생활특강안내",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (전국제과제빵박람회)/⑥ 정렬 (가운데 정렬)"
|
"item": "문구 (슬기로운미디어생활특강안내)/⑥ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']",
|
"path": "//TEXTART[@Text='{searchValue}']",
|
||||||
"searchValue": "전국제과제빵박람회",
|
"searchValue": "슬기로운미디어생활특강안내",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (전국제과제빵박람회)/⑦ 글맵시모양 (육안확인)"
|
"item": "문구 (슬기로운미디어생활특강안내)/⑦ 글맵시모양 (육안확인)"
|
||||||
},
|
},
|
||||||
"8": {
|
"8": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
|
||||||
"searchValue": "제",
|
"searchValue": "이",
|
||||||
"value": {
|
"value": {
|
||||||
"Height": 2800,
|
"Height": 2800,
|
||||||
"Width": 2800
|
"Width": 2800
|
||||||
@@ -116,7 +116,7 @@
|
|||||||
},
|
},
|
||||||
"9": {
|
"9": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "제",
|
"searchValue": "이",
|
||||||
"value": "궁서",
|
"value": "궁서",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
@@ -124,15 +124,15 @@
|
|||||||
},
|
},
|
||||||
"10": {
|
"10": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||||
"searchValue": "제",
|
"searchValue": "이",
|
||||||
"value": "66,227,189",
|
"value": "172,235,62",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Color",
|
"category": "Color",
|
||||||
"item": "어/③ 면색 : 색상(RGB:66,227,189)"
|
"item": "어/③ 면색 : 색상(RGB:172,235,62)"
|
||||||
},
|
},
|
||||||
"11": {
|
"11": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
||||||
"searchValue": "제",
|
"searchValue": "이",
|
||||||
"value": "3.0",
|
"value": "3.0",
|
||||||
"tolerance": 1,
|
"tolerance": 1,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
@@ -141,39 +141,39 @@
|
|||||||
},
|
},
|
||||||
"12": {
|
"12": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
"searchValue": "국내 유일의 제과제빵 전문 박람회",
|
"searchValue": "동영상 콘텐츠의 현재와 미래",
|
||||||
"value": "BOLD",
|
"value": "ITALIC",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (국내 유일의 제과제빵 전문 박람회)/① BOLD"
|
"item": "문구 (동영상 콘텐츠의 현재와 미래)/① ITALIC"
|
||||||
},
|
},
|
||||||
"13": {
|
"13": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
"searchValue": "국내 유일의 제과제빵 전문 박람회",
|
"searchValue": "동영상 콘텐츠의 현재와 미래",
|
||||||
"value": "UNDERLINE",
|
"value": "UNDERLINE",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (국내 유일의 제과제빵 전문 박람회)/② UNDERLINE"
|
"item": "문구 (동영상 콘텐츠의 현재와 미래)/② UNDERLINE"
|
||||||
},
|
},
|
||||||
"14": {
|
"14": {
|
||||||
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||||
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
||||||
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
||||||
"char1": "★",
|
"char1": "◎",
|
||||||
"char2": "★",
|
"char2": "◎",
|
||||||
"char3": "※",
|
"char3": "※",
|
||||||
"value": 3,
|
"value": 3,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "SpecialChar",
|
"category": "SpecialChar",
|
||||||
"item": "① ★, ② ★, ③ ※"
|
"item": "① ◎, ② ◎, ③ ※"
|
||||||
},
|
},
|
||||||
"15": {
|
"15": {
|
||||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
"searchValue": "행사안내",
|
"searchValue": "행사안내",
|
||||||
"value": "굴림",
|
"value": "맑은 고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구 (★ 행사안내 ★)/① 글씨체 (굴림)"
|
"item": "문구 (◎ 행사안내 ◎)/① 글씨체 (맑은 고딕)"
|
||||||
},
|
},
|
||||||
"16": {
|
"16": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
@@ -181,86 +181,86 @@
|
|||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Align",
|
"category": "Align",
|
||||||
"item": "문구 (★ 행사안내 ★)/② 정렬 (가운데 정렬)"
|
"item": "문구 (◎ 행사안내 ◎)/② 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"17": {
|
"17": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
"searchValue": "홈페이지(http://www.ihd.or.kr) 게시판 또는 전화(02-123-4567) 접수",
|
"searchValue": "중랑미디어센터 홈페이지(http://www.ihd.or.kr) 슬기로운 미디어 생활",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (홈페이지(http://www.ihd.or.kr) 게시판 또는 전화(02-123-4567) 접수)/① BOLD"
|
"item": "문구 (중랑미디어센터 홈페이지(http://www.ihd.or.kr) 슬기로운 미디어 생활)/① BOLD"
|
||||||
},
|
},
|
||||||
"18": {
|
"18": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
"searchValue": "홈페이지(http://www.ihd.or.kr) 게시판 또는 전화(02-123-4567) 접수",
|
"searchValue": "중랑미디어센터 홈페이지(http://www.ihd.or.kr) 슬기로운 미디어 생활",
|
||||||
"value": "ITALIC",
|
"value": "ITALIC",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (홈페이지(http://www.ihd.or.kr) 게시판 또는 전화(02-123-4567) 접수)/② ITALIC"
|
"item": "문구 (중랑미디어센터 홈페이지(http://www.ihd.or.kr) 슬기로운 미디어 생활)/② ITALIC"
|
||||||
},
|
},
|
||||||
"19": {
|
"19": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||||
"searchValue": "기타사항",
|
"searchValue": "기타사항",
|
||||||
"value": {
|
"value": {
|
||||||
"Left": 12,
|
"Left": 15,
|
||||||
"Indent": 10
|
"Indent": 12
|
||||||
},
|
},
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "ParaShape",
|
"category": "ParaShape",
|
||||||
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (12), 내어쓰기 (10)",
|
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15), 내어쓰기 (12)",
|
||||||
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||||
},
|
},
|
||||||
"20": {
|
"20": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||||
"searchValue": "2026. 01. 24.",
|
"searchValue": "2026. 03. 28.",
|
||||||
"value": "1300",
|
"value": "1300",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (2026. 01. 24.)/① 크기 (1300)",
|
"item": "문구 (2026. 03. 28.)/① 크기 (1300)",
|
||||||
"desc": "1pt당 100"
|
"desc": "1pt당 100"
|
||||||
},
|
},
|
||||||
"21": {
|
"21": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
"searchValue": "2026. 01. 24.",
|
"searchValue": "2026. 03. 28.",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (2026. 01. 24.)/② 정렬 (가운데 정렬)"
|
"item": "문구 (2026. 03. 28.)/② 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"22": {
|
"22": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "대한제과제빵협회",
|
"searchValue": "중랑미디어센터",
|
||||||
"value": "궁서체",
|
"value": "휴먼옛체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구 (대한제과제빵협회)/① 글씨체 (궁서체)"
|
"item": "문구 (중랑미디어센터)/① 글씨체 (휴먼옛체)"
|
||||||
},
|
},
|
||||||
"23": {
|
"23": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "대한제과제빵협회",
|
"searchValue": "중랑미디어센터",
|
||||||
"value": "2200",
|
"value": "2300",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (대한제과제빵협회)/② 크기 (2200)"
|
"item": "문구 (중랑미디어센터)/② 크기 (2300)"
|
||||||
},
|
},
|
||||||
"24": {
|
"24": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||||
"searchValue": "대한제과제빵협회",
|
"searchValue": "중랑미디어센터",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (대한제과제빵협회)/③ 정렬 (가운데 정렬)"
|
"item": "문구 (중랑미디어센터)/③ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "DIAT",
|
"searchValue": "DIAT",
|
||||||
"value": "굴림",
|
"value": "중고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Header.FontName",
|
"category": "Header.FontName",
|
||||||
"item": "문구 (DIAT)/① 글꼴 (굴림)"
|
"item": "문구 (DIAT)/① 글꼴 (중고딕)"
|
||||||
},
|
},
|
||||||
"26": {
|
"26": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
@@ -280,10 +280,10 @@
|
|||||||
},
|
},
|
||||||
"28": {
|
"28": {
|
||||||
"path": "//PAGENUM/@FormatType",
|
"path": "//PAGENUM/@FormatType",
|
||||||
"value": "LatinCapital",
|
"value": "RomanCapital",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "PageNumber",
|
"category": "PageNumber",
|
||||||
"item": "① 쪽 번호 매기기 (가,나,다 순으로)",
|
"item": "① 쪽 번호 매기기 (I,II,III 순으로)",
|
||||||
"desc1": {
|
"desc1": {
|
||||||
"가,나,다": "HangulSyllable",
|
"가,나,다": "HangulSyllable",
|
||||||
"1,2,3": "Digit",
|
"1,2,3": "Digit",
|
||||||
@@ -308,7 +308,7 @@
|
|||||||
},
|
},
|
||||||
"29": {
|
"29": {
|
||||||
"path": "//PAGENUM/@Pos",
|
"path": "//PAGENUM/@Pos",
|
||||||
"value": "BottomCenter",
|
"value": "BottomLeft",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "PageNumber",
|
"category": "PageNumber",
|
||||||
"item": "가운데 아래",
|
"item": "가운데 아래",
|
||||||
@@ -331,7 +331,7 @@
|
|||||||
"31": {
|
"31": {
|
||||||
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
||||||
"value": "190",
|
"value": "190",
|
||||||
"first_word": "제",
|
"first_word": "이",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "LineSpacing",
|
"category": "LineSpacing",
|
||||||
"item": "문제 1 줄간격 190% 설정",
|
"item": "문제 1 줄간격 190% 설정",
|
||||||
@@ -367,17 +367,17 @@
|
|||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||||
"value": "50",
|
"value": "60",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.mmSize",
|
"category": "Rectangle.mmSize",
|
||||||
"item": "문구 (제과제빵)/① 크기-너비 (50 mm)"
|
"item": "문구 (방송 콘텐츠)/① 크기-너비 (60 mm)"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||||
"value": "12",
|
"value": "12",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.mmSize",
|
"category": "Rectangle.mmSize",
|
||||||
"item": "문구 (제과제빵)/② 크기-높이 (12 mm)"
|
"item": "문구 (방송 콘텐츠)/② 크기-높이 (12 mm)"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"path": "//RECTANGLE//LINESHAPE",
|
"path": "//RECTANGLE//LINESHAPE",
|
||||||
@@ -387,51 +387,51 @@
|
|||||||
},
|
},
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.LineShape",
|
"category": "Rectangle.LineShape",
|
||||||
"item": "문구 (제과제빵)/③ 테두리 : 이중 실선(1.00mm)",
|
"item": "문구 (방송 콘텐츠)/③ 테두리 : 이중 실선(1.00mm)",
|
||||||
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"path": "//RECTANGLE/@Ratio",
|
"path": "//RECTANGLE/@Ratio",
|
||||||
"value": "20",
|
"value": "50",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.OneAnswer",
|
"category": "Rectangle.OneAnswer",
|
||||||
"item": "문구 (제과제빵)/④ 글상자 모서리 (둥근모양)",
|
"item": "문구 (방송 콘텐츠)/④ 글상자 모서리 (둥근모양)",
|
||||||
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||||
},
|
},
|
||||||
"8": {
|
"8": {
|
||||||
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
|
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
|
||||||
"value": "202,86,167",
|
"value": "227,220,193",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.Color",
|
"category": "Rectangle.Color",
|
||||||
"item": "문구 (제과제빵)/⑤ 채우기 : 색상(RGB:202,86,167)"
|
"item": "문구 (방송 콘텐츠)/⑤ 채우기 : 색상(RGB:227,220,193)"
|
||||||
},
|
},
|
||||||
"9": {
|
"9": {
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
|
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
"value": "true",
|
"value": "true",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.OneAnswer",
|
"category": "Rectangle.OneAnswer",
|
||||||
"item": "문구 (제과제빵)/⑥ 글상자 위치 (글자처럼 취급)"
|
"item": "문구 (방송 콘텐츠)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||||
},
|
},
|
||||||
"10": {
|
"10": {
|
||||||
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
|
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.TextBoxAlign",
|
"category": "Rectangle.TextBoxAlign",
|
||||||
"item": "문구 (제과제빵)/⑦ 글상자 정렬 (가운데 정렬)"
|
"item": "문구 (방송 콘텐츠)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"11": {
|
"11": {
|
||||||
"path": ".//RECTANGLE//TEXT/@CharShape",
|
"path": ".//RECTANGLE//TEXT/@CharShape",
|
||||||
"value": "돋움체",
|
"value": "견고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.FontName",
|
"category": "Rectangle.FontName",
|
||||||
"item": "문구 (제과제빵)/⑧ 글씨체 (돋움체)"
|
"item": "문구 (방송 콘텐츠)/⑧ 글씨체 (견고딕)"
|
||||||
},
|
},
|
||||||
"12": {
|
"12": {
|
||||||
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
|
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
|
||||||
"value": "2000",
|
"value": "2000",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.FontSize",
|
"category": "Rectangle.FontSize",
|
||||||
"item": "문구 (제과제빵)/⑨ 글씨크기 (2000)",
|
"item": "문구 (방송 콘텐츠)/⑨ 글씨크기 (2000)",
|
||||||
"desc": "1pt당 100"
|
"desc": "1pt당 100"
|
||||||
},
|
},
|
||||||
"13": {
|
"13": {
|
||||||
@@ -439,7 +439,7 @@
|
|||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.TextBoxAlign",
|
"category": "Rectangle.TextBoxAlign",
|
||||||
"item": "문구 (제과제빵)/⑩ 정렬 (가운데 정렬)"
|
"item": "문구 (방송 콘텐츠)/⑩ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"14": {
|
"14": {
|
||||||
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
|
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
|
||||||
@@ -479,81 +479,81 @@
|
|||||||
},
|
},
|
||||||
"19": {
|
"19": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "1. 제과제빵이란?",
|
"searchValue": "1. 최근 콘텐츠 동향",
|
||||||
"value": "돋움",
|
"value": "돋움",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구① (1. 제과제빵이란?)/① 글씨체 (돋움)"
|
"item": "문구① (1. 최근 콘텐츠 동향)/① 글씨체 (돋움)"
|
||||||
},
|
},
|
||||||
"20": {
|
"20": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "1. 제과제빵이란?",
|
"searchValue": "1. 최근 콘텐츠 동향",
|
||||||
"value": "1200",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구① (1. 제과제빵이란?)/② 크기 (1200)"
|
"item": "문구① (1. 최근 콘텐츠 동향)/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"21": {
|
"21": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "1. 제과제빵이란?",
|
"searchValue": "1. 최근 콘텐츠 동향",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구① (1. 제과제빵이란?)/③ 진하게"
|
"item": "문구① (1. 최근 콘텐츠 동향)/③ 진하게"
|
||||||
},
|
},
|
||||||
"22": {
|
"22": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "2. 설탕 공예",
|
"searchValue": "2. OTT 서비스의 미래",
|
||||||
"value": "돋움",
|
"value": "돋움",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구② (2. 설탕 공예)/① 글씨체 (돋움)"
|
"item": "문구② (2. OTT 서비스의 미래)/① 글씨체 (돋움)"
|
||||||
},
|
},
|
||||||
"23": {
|
"23": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "2. 설탕 공예",
|
"searchValue": "2. OTT 서비스의 미래",
|
||||||
"value": "1200",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구② (2. 설탕 공예)/② 크기 (1200)"
|
"item": "문구② (2. OTT 서비스의 미래)/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"24": {
|
"24": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "2. 설탕 공예",
|
"searchValue": "2. OTT 서비스의 미래",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구② (2. 설탕 공예)/③ 진하게"
|
"item": "문구② (2. OTT 서비스의 미래)/③ 진하게"
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
||||||
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
||||||
"option": "가니쉬",
|
"option": "코로나",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (가니쉬)/① 각주 설정 및 문구 입력"
|
"item": "문구 (코로나)/① 각주 설정 및 문구 입력"
|
||||||
},
|
},
|
||||||
"26": {
|
"26": {
|
||||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
"searchValue": "음식의 외형을 돋보이게 하기 위해 장식 또는 곁들임으로 사용되는 식재료",
|
"searchValue": "새로운 유형의 바이러스에 의한 급성 호흡기 전염병",
|
||||||
"value": "굴림",
|
"value": "중고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구 (가니쉬)/② 글씨체 (굴림)"
|
"item": "문구 (코로나)/② 글씨체 (중고딕)"
|
||||||
},
|
},
|
||||||
"27": {
|
"27": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
||||||
"searchValue": "음식의 외형을 돋보이게 하기 위해 장식 또는 곁들임으로 사용되는 식재료",
|
"searchValue": "새로운 유형의 바이러스에 의한 급성 호흡기 전염병",
|
||||||
"value": "900",
|
"value": "900",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (가니쉬)/③ 크기 (9pt)"
|
"item": "문구 (코로나)/③ 크기 (9pt)"
|
||||||
},
|
},
|
||||||
"28": {
|
"28": {
|
||||||
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
||||||
"searchValue": "음식의 외형을 돋보이게 하기 위해 장식 또는 곁들임으로 사용되는 식재료",
|
"searchValue": "새로운 유형의 바이러스에 의한 급성 호흡기 전염병",
|
||||||
"value": "RomanSmall",
|
"value": "DecagonCircle",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (전당)/④ 각주 번호모양",
|
"item": "문구 (전당)/④ 각주 번호모양",
|
||||||
@@ -580,80 +580,80 @@
|
|||||||
},
|
},
|
||||||
"29": {
|
"29": {
|
||||||
"path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])",
|
"path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])",
|
||||||
"ignoreWord": "Chocolatier",
|
"ignoreWord": "Streaming",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "Chocolatier/영단어 미입력, 대소문자/오타 시 전체 감점",
|
"item": "Streaming/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||||
"desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요"
|
"desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요"
|
||||||
},
|
},
|
||||||
"30": {
|
"30": {
|
||||||
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
|
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
|
||||||
"word": [
|
"word": [
|
||||||
["발효", "醱酵"],
|
["시청", "視聽"],
|
||||||
["제품", "製品"],
|
["송출", "送出"],
|
||||||
["장식", "裝飾"],
|
["취향", "趣向"],
|
||||||
["표현", "表現"],
|
["성장", "成長"],
|
||||||
["경향", "傾向"]
|
["근절", "根絶"]
|
||||||
],
|
],
|
||||||
"value": 10,
|
"value": 10,
|
||||||
"points": 10,
|
"points": 10,
|
||||||
"category": "Hanja",
|
"category": "Hanja",
|
||||||
"item": "① 발효(醱酵), ② 제품(製品), ③ 장식(裝飾), ④ 표현(表現), ⑤ 경향(傾向) "
|
"item": "① 시청(視聽), ② 송출(送出), ③ 취향(趣向), ④ 성장(成長), ⑤ 근절(根絶)"
|
||||||
},
|
},
|
||||||
"31": {
|
"31": {
|
||||||
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'루를사용')])",
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'간에원하')])",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (…보통은 밀가루를 포용하지만…)>'포'→'사' 글자바꿈"
|
"item": "문구 (…언제든지 원하는 원하는 시간에 순서로…)>'원하는' / '시간에' 순서바꿈"
|
||||||
},
|
},
|
||||||
"32": {
|
"32": {
|
||||||
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'람을불어')])",
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'수익구조')])",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (…뭉치기, 불어넣어 바람을 부풀리기 등의…)>'불어넣어 / 바람을' 순서바꿈"
|
"item": "문구 (…이익구조가 열악하다.…)>'이' → '수' 글자바꿈"
|
||||||
},
|
},
|
||||||
"33": {
|
"33": {
|
||||||
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
|
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
|
||||||
"searchValue": "연령별 박람회 참가자 현황(단위:명)",
|
"searchValue": "동영상 플랫폼 이용률(%)",
|
||||||
"value": "굴림체",
|
"value": "굴림체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "제목 문구 (연령별 박람회 참가자 현황(단위:명))/① 글씨체 (굴림체)"
|
"item": "제목 문구 (동영상 플랫폼 이용률(%))/① 글씨체 (굴림체)"
|
||||||
},
|
},
|
||||||
"34": {
|
"34": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "연령별 박람회 참가자 현황(단위:명)",
|
"searchValue": "동영상 플랫폼 이용률(%)",
|
||||||
"value": "1100",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (연령별 박람회 참가자 현황(단위:명))/② 크기 (1100)"
|
"item": "제목 문구 (동영상 플랫폼 이용률(%))/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"35": {
|
"35": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "연령별 박람회 참가자 현황(단위:명)",
|
"searchValue": "동영상 플랫폼 이용률(%)",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "제목 문구 (연령별 박람회 참가자 현황(단위:명))/③ 진하게"
|
"item": "제목 문구 (동영상 플랫폼 이용률(%))/③ 진하게"
|
||||||
},
|
},
|
||||||
"36": {
|
"36": {
|
||||||
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||||
"searchValue": "연령별 박람회 참가자 현황(단위:명)",
|
"searchValue": "동영상 플랫폼 이용률(%)",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (연령별 박람회 참가자 현황(단위:명))/④ 정렬 (가운데 정렬)"
|
"item": "제목 문구 (동영상 플랫폼 이용률(%))/④ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"37": {
|
"37": {
|
||||||
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
||||||
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
||||||
"value": "233,225,43",
|
"value": "95,229,218",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Color",
|
"category": "Color",
|
||||||
"item": "위쪽 제목 셀/① 색상(RGB:233,225,43)"
|
"item": "위쪽 제목 셀/① 색상(RGB:95,229,218)"
|
||||||
},
|
},
|
||||||
"38": {
|
"38": {
|
||||||
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
|
||||||
@@ -682,11 +682,11 @@
|
|||||||
"41": {
|
"41": {
|
||||||
"path": "//TABLE//TEXT/@CharShape",
|
"path": "//TABLE//TEXT/@CharShape",
|
||||||
"path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
|
"path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
|
||||||
"value": "중고딕",
|
"value": "궁서체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "TableFontName",
|
"category": "TableFontName",
|
||||||
"category_tmp": "FontName",
|
"category_tmp": "FontName",
|
||||||
"item": "글자모양/① 글씨체 (중고딕)",
|
"item": "글자모양/① 글씨체 (궁서체)",
|
||||||
"desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경"
|
"desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경"
|
||||||
},
|
},
|
||||||
"42": {
|
"42": {
|
||||||
@@ -704,8 +704,8 @@
|
|||||||
"item": "글자모양/③ 정렬 (가운데 정렬)"
|
"item": "글자모양/③ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"44": {
|
"44": {
|
||||||
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) and boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
|
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) or boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
|
||||||
"option": "SUM",
|
"option": "AVG",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 4,
|
"points": 4,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
@@ -714,11 +714,11 @@
|
|||||||
},
|
},
|
||||||
"45": {
|
"45": {
|
||||||
"chart_xpath": "",
|
"chart_xpath": "",
|
||||||
"chart_type": "묶은 가로 막대형",
|
"chart_type": "묶은 세로 막대형",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "ChartType",
|
"category": "ChartType",
|
||||||
"item": "① 종류 (묶은 가로 막대형)",
|
"item": "① 종류 (묶은 세로 막대형)",
|
||||||
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
|
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
|
||||||
},
|
},
|
||||||
"46": {
|
"46": {
|
||||||
@@ -753,32 +753,32 @@
|
|||||||
},
|
},
|
||||||
"50": {
|
"50": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
||||||
"searchValue": "연령별 박람회 참가자 현황",
|
"searchValue": "동영상 플랫폼 이용률",
|
||||||
"value": "돋움체",
|
"value": "굴림",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (연령별 박람회 참가자 현황)/① 글씨체 (돋움체)"
|
"item": "제목 문구 (동영상 플랫폼 이용률)/① 글씨체 (굴림)"
|
||||||
},
|
},
|
||||||
"51": {
|
"51": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
||||||
"searchValue": "연령별 박람회 참가자 현황",
|
"searchValue": "동영상 플랫폼 이용률",
|
||||||
"value": "1300",
|
"value": "1400",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (연령별 박람회 참가자 현황)/② 크기 (1300)"
|
"item": "제목 문구 (동영상 플랫폼 이용률)/② 크기 (1400)"
|
||||||
},
|
},
|
||||||
"52": {
|
"52": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
||||||
"option": "b",
|
"option": "b",
|
||||||
"searchValue": "연령별 박람회 참가자 현황",
|
"searchValue": "동영상 플랫폼 이용률",
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (연령별 박람회 참가자 현황)/③ 기울임",
|
"item": "제목 문구 (동영상 플랫폼 이용률)/③ 기울임",
|
||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"53": {
|
"53": {
|
||||||
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface",
|
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface | //c:catAx/c:txPr//a:latin/@typeface",
|
||||||
"value": "바탕체",
|
"value": "바탕체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "ChartOneAnswer",
|
"category": "ChartOneAnswer",
|
||||||
@@ -801,7 +801,7 @@
|
|||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"56": {
|
"56": {
|
||||||
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface",
|
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface | //c:valAx/c:txPr//a:latin/@typeface",
|
||||||
"value": "바탕체",
|
"value": "바탕체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "ChartOneAnswer",
|
"category": "ChartOneAnswer",
|
||||||
@@ -824,7 +824,7 @@
|
|||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"59": {
|
"59": {
|
||||||
"chart_xpath": "//c:legend//a:ea/@typeface",
|
"chart_xpath": "//c:legend//a:ea/@typeface | //c:legend//a:latin/@typeface",
|
||||||
"value": "바탕체",
|
"value": "바탕체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
"path": "",
|
"path": "",
|
||||||
"value": {
|
"value": {
|
||||||
"FontName": "바탕",
|
"FontName": "바탕",
|
||||||
"FontSize": "1000",
|
"FontSize": "1000",
|
||||||
"Alignment": "Justify",
|
"Alignment": "Justify",
|
||||||
"LineSpacing": "160"
|
"LineSpacing": "160"
|
||||||
},
|
},
|
||||||
@@ -46,61 +46,61 @@
|
|||||||
"1": {
|
"1": {
|
||||||
"1": {
|
"1": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
||||||
"searchValue": "한국전통공예박람회",
|
"searchValue": "천혜의비경철쭉",
|
||||||
"value": "굴림체",
|
"value": "맑은고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (한국전통공예박람회)/① 글씨체 (굴림체)"
|
"item": "문구 (천혜의비경철쭉)/① 글씨체 (맑은고딕)"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
||||||
"searchValue": "한국전통공예박람회",
|
"searchValue": "천혜의비경철쭉",
|
||||||
"value": "28,61,98",
|
"value": "23,48,108",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Color",
|
"category": "Color",
|
||||||
"item": "문구 (한국전통공예박람회)/② 채우기 : 색상(RGB:28,61,98)"
|
"item": "문구 (천혜의비경철쭉)/② 채우기 : 색상(RGB:23,48,108)"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
||||||
"searchValue": "한국전통공예박람회",
|
"searchValue": "천혜의비경철쭉",
|
||||||
"value": "110",
|
"value": "110",
|
||||||
"tolerance": 1,
|
"tolerance": 1,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "문구 (한국전통공예박람회)/③ 크기-너비 (110 mm)"
|
"item": "문구 (천혜의비경철쭉)/③ 크기-너비 (120 mm)"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
|
||||||
"searchValue": "한국전통공예박람회",
|
"searchValue": "천혜의비경철쭉",
|
||||||
"value": "20",
|
"value": "20",
|
||||||
"tolerance": 1,
|
"tolerance": 1,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "문구 (한국전통공예박람회)/④ 크기-높이 (20 mm)"
|
"item": "문구 (천혜의비경철쭉)/④ 크기-높이 (20 mm)"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
"searchValue": "한국전통공예박람회",
|
"searchValue": "천혜의비경철쭉",
|
||||||
"value": "true",
|
"value": "true",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (한국전통공예박람회)/⑤ 위치 (글자처럼 취급)"
|
"item": "문구 (천혜의비경철쭉)/⑤ 위치 (글자처럼 취급)"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
|
||||||
"searchValue": "한국전통공예박람회",
|
"searchValue": "천혜의비경철쭉",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (한국전통공예박람회)/⑥ 정렬 (가운데 정렬)"
|
"item": "문구 (천혜의비경철쭉)/⑥ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']",
|
"path": "//TEXTART[@Text='{searchValue}']",
|
||||||
"searchValue": "한국전통공예박람회",
|
"searchValue": "천혜의비경철쭉",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (한국전통공예박람회)/⑦ 글맵시모양 (육안확인)"
|
"item": "문구 (슬기로운국제사진공모전)/⑦ 글맵시모양 (육안확인)"
|
||||||
},
|
},
|
||||||
"8": {
|
"8": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
|
||||||
@@ -117,18 +117,18 @@
|
|||||||
"9": {
|
"9": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "전",
|
"searchValue": "전",
|
||||||
"value": "궁서체",
|
"value": "굴림",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "어/② 글씨체 (궁서체)"
|
"item": "어/② 글씨체 (굴림)"
|
||||||
},
|
},
|
||||||
"10": {
|
"10": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||||
"searchValue": "전",
|
"searchValue": "전",
|
||||||
"value": "236,217,74",
|
"value": "237,134,232",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Color",
|
"category": "Color",
|
||||||
"item": "어/③ 면색 : 색상(RGB:236,217,74)"
|
"item": "어/③ 면색 : 색상(RGB:237,134,232)"
|
||||||
},
|
},
|
||||||
"11": {
|
"11": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
||||||
@@ -141,19 +141,19 @@
|
|||||||
},
|
},
|
||||||
"12": {
|
"12": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
"searchValue": "다양한 분야의 장인과 예술가들이 참여",
|
"searchValue": "바래봉 해발 약 500m에서 시작해 점점 정상으로",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (다양한 분야의 장인과 예술가들이 참여)/① BOLD"
|
"item": "문구 (바래봉 해발 약 500m에서 시작해 점점 정상으로)/① BOLD"
|
||||||
},
|
},
|
||||||
"13": {
|
"13": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
"searchValue": "다양한 분야의 장인과 예술가들이 참여",
|
"searchValue": "바래봉 해발 약 500m에서 시작해 점점 정상으로",
|
||||||
"value": "UNDERLINE",
|
"value": "ITALIC",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (다양한 분야의 장인과 예술가들이 참여)/② UNDERLINE"
|
"item": "문구 (바래봉 해발 약 500m에서 시작해 점점 정상으로)/② ITALIC"
|
||||||
},
|
},
|
||||||
"14": {
|
"14": {
|
||||||
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||||
@@ -165,41 +165,41 @@
|
|||||||
"value": 3,
|
"value": 3,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "SpecialChar",
|
"category": "SpecialChar",
|
||||||
"item": "① ●, ② ●, ③ ※"
|
"item": "① ● , ② ● , ③ ※"
|
||||||
},
|
},
|
||||||
"15": {
|
"15": {
|
||||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
"searchValue": "행사안내",
|
"searchValue": "참여안내",
|
||||||
"value": "궁서",
|
"value": "궁서",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구 (● 행사안내 ●)/① 글씨체 (궁서)"
|
"item": "문구 (● 참여안내 ●)/① 글씨체 (궁서)"
|
||||||
},
|
},
|
||||||
"16": {
|
"16": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
"match_str": "행사안내",
|
"match_str": "참여안내",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Align",
|
"category": "Align",
|
||||||
"item": "문구 (● 행사안내 ●)/② 정렬 (가운데 정렬)"
|
"item": "문구 (● 참여안내 ●)/② 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"17": {
|
"17": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
"searchValue": "한국 전통공예 박람회 홈페이지 (http://www.ihd.or.kr)",
|
"searchValue": "홈페이지(http://www.ihd.or.kr) 참고",
|
||||||
"value": "ITALIC",
|
"value": "ITALIC",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (한국 전통공예 박람회 홈페이지 (http://www.ihd.or.kr))/① ITALIC"
|
"item": "문구 (홈페이지(http://www.ihd.or.kr) 참고)/① ITALIC"
|
||||||
},
|
},
|
||||||
"18": {
|
"18": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
"searchValue": "한국 전통공예 박람회 홈페이지 (http://www.ihd.or.kr)",
|
"searchValue": "홈페이지(http://www.ihd.or.kr) 참고",
|
||||||
"value": "UNDERLINE",
|
"value": "UNDERLINE",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (한국 전통공예 박람회 홈페이지 (http://www.ihd.or.kr))/② UNDERLINE"
|
"item": "문구 (홈페이지(http://www.ihd.or.kr) 참고)/② UNDERLINE"
|
||||||
},
|
},
|
||||||
"19": {
|
"19": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||||
@@ -215,52 +215,52 @@
|
|||||||
},
|
},
|
||||||
"20": {
|
"20": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||||
"searchValue": "2025. 12. 20.",
|
"searchValue": "2026. 03. 28.",
|
||||||
"value": "1400",
|
"value": "1400",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (2025. 12. 20.)/① 크기 (1400)",
|
"item": "문구 (2026. 03. 28.)/① 크기 (1400)",
|
||||||
"desc": "1pt당 100"
|
"desc": "1pt당 100"
|
||||||
},
|
},
|
||||||
"21": {
|
"21": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
"searchValue": "2025. 12. 20.",
|
"searchValue": "2026. 03. 28.",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (2025. 12. 20.)/② 정렬 (가운데 정렬)"
|
"item": "문구 (2026. 03. 28.)/② 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"22": {
|
"22": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "한국 전통공예 협의회",
|
"searchValue": "운봉바래봉철쭉제",
|
||||||
"value": "굴림",
|
"value": "궁서체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구 (한국 전통공예 협의회)/① 글씨체 (굴림)"
|
"item": "문구 (운봉바래봉철쭉제)/① 글씨체 (궁서체)"
|
||||||
},
|
},
|
||||||
"23": {
|
"23": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "한국 전통공예 협의회",
|
"searchValue": "운봉바래봉철쭉제",
|
||||||
"value": "2600",
|
"value": "2600",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (한국 전통공예 협의회)/② 크기 (2600)"
|
"item": "문구 (운봉바래봉철쭉제)/② 크기 (2600)"
|
||||||
},
|
},
|
||||||
"24": {
|
"24": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||||
"searchValue": "한국 전통공예 협의회",
|
"searchValue": "운봉바래봉철쭉제",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (한국 전통공예 협의회)/③ 정렬 (가운데 정렬)"
|
"item": "문구 (운봉바래봉철쭉제)/③ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "DIAT",
|
"searchValue": "DIAT",
|
||||||
"value": "궁서",
|
"value": "중고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Header.FontName",
|
"category": "Header.FontName",
|
||||||
"item": "문구 (DIAT)/① 글꼴 (궁서)"
|
"item": "문구 (DIAT)/① 글꼴 (중고딕)"
|
||||||
},
|
},
|
||||||
"26": {
|
"26": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
@@ -283,7 +283,7 @@
|
|||||||
"value": "LatinCapital",
|
"value": "LatinCapital",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "PageNumber",
|
"category": "PageNumber",
|
||||||
"item": "① 쪽 번호 매기기",
|
"item": "① 쪽 번호 매기기 (I,II,III 순으로)",
|
||||||
"desc1": {
|
"desc1": {
|
||||||
"가,나,다": "HangulSyllable",
|
"가,나,다": "HangulSyllable",
|
||||||
"1,2,3": "Digit",
|
"1,2,3": "Digit",
|
||||||
@@ -311,7 +311,7 @@
|
|||||||
"value": "BottomRight",
|
"value": "BottomRight",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "PageNumber",
|
"category": "PageNumber",
|
||||||
"item": "가운데 아래",
|
"item": "왼쪽 아래",
|
||||||
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
||||||
"desc2": {
|
"desc2": {
|
||||||
"가운데 아래": "BottomCenter",
|
"가운데 아래": "BottomCenter",
|
||||||
@@ -330,11 +330,11 @@
|
|||||||
},
|
},
|
||||||
"31": {
|
"31": {
|
||||||
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
||||||
"value": "200",
|
"value": "200",
|
||||||
"first_word": "전",
|
"first_word": "전",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "LineSpacing",
|
"category": "LineSpacing",
|
||||||
"item": "문제 1 줄간격 200% 설정",
|
"item": "문제 1 줄간격 180% 설정",
|
||||||
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
|
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -367,17 +367,17 @@
|
|||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||||
"value": "65",
|
"value": "50",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.mmSize",
|
"category": "Rectangle.mmSize",
|
||||||
"item": "문구 (한국 전통공예)/① 크기-너비 (65 mm)"
|
"item": "문구 (철쭉과 진달래)/① 크기-너비 (50 mm)"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||||
"value": "12",
|
"value": "12",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.mmSize",
|
"category": "Rectangle.mmSize",
|
||||||
"item": "문구 (한국 전통공예)/② 크기-높이 (12 mm)"
|
"item": "문구 (철쭉과 진달래)/② 크기-높이 (12 mm)"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"path": "//RECTANGLE//LINESHAPE",
|
"path": "//RECTANGLE//LINESHAPE",
|
||||||
@@ -387,51 +387,51 @@
|
|||||||
},
|
},
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.LineShape",
|
"category": "Rectangle.LineShape",
|
||||||
"item": "문구 (한국 전통공예)/③ 테두리 : 이중 실선(1.00mm)",
|
"item": "문구 (철쭉과 진달래)/③ 테두리 : 이중 실선(1.00mm)",
|
||||||
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"path": "//RECTANGLE/@Ratio",
|
"path": "//RECTANGLE/@Ratio",
|
||||||
"value": "50",
|
"value": "20",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.OneAnswer",
|
"category": "Rectangle.OneAnswer",
|
||||||
"item": "문구 (한국 전통공예)/④ 글상자 모서리 (반원)",
|
"item": "문구 (철쭉과 진달래)/④ 글상자 모서리 (둥근모양)",
|
||||||
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||||
},
|
},
|
||||||
"8": {
|
"8": {
|
||||||
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
|
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
|
||||||
"value": "202,86,167",
|
"value": "247,226,144",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.Color",
|
"category": "Rectangle.Color",
|
||||||
"item": "문구 (한국 전통공예)/⑤ 채우기 : 색상(RGB:202,86,167)"
|
"item": "문구 (철쭉과 진달래)/⑤ 채우기 : 색상(RGB:247,226,144)"
|
||||||
},
|
},
|
||||||
"9": {
|
"9": {
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
|
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
"value": "true",
|
"value": "true",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.OneAnswer",
|
"category": "Rectangle.OneAnswer",
|
||||||
"item": "문구 (한국 전통공예)/⑥ 글상자 위치 (글자처럼 취급)"
|
"item": "문구 (철쭉과 진달래)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||||
},
|
},
|
||||||
"10": {
|
"10": {
|
||||||
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
|
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.TextBoxAlign",
|
"category": "Rectangle.TextBoxAlign",
|
||||||
"item": "문구 (한국 전통공예)/⑦ 글상자 정렬 (가운데 정렬)"
|
"item": "문구 (철쭉과 진달래)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"11": {
|
"11": {
|
||||||
"path": ".//RECTANGLE//TEXT/@CharShape",
|
"path": ".//RECTANGLE//TEXT/@CharShape",
|
||||||
"value": "견고딕",
|
"value": "굴림체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.FontName",
|
"category": "Rectangle.FontName",
|
||||||
"item": "문구 (한국 전통공예)/⑧ 글씨체 (견고딕)"
|
"item": "문구 (철쭉과 진달래)/⑧ 글씨체 (굴림체)"
|
||||||
},
|
},
|
||||||
"12": {
|
"12": {
|
||||||
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
|
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
|
||||||
"value": "2000",
|
"value": "1800",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.FontSize",
|
"category": "Rectangle.FontSize",
|
||||||
"item": "문구 (한국 전통공예)/⑨ 글씨크기 (2000)",
|
"item": "문구 (철쭉과 진달래)/⑨ 글씨크기 (1800)",
|
||||||
"desc": "1pt당 100"
|
"desc": "1pt당 100"
|
||||||
},
|
},
|
||||||
"13": {
|
"13": {
|
||||||
@@ -439,7 +439,7 @@
|
|||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.TextBoxAlign",
|
"category": "Rectangle.TextBoxAlign",
|
||||||
"item": "문구 (한국 전통공예)/⑩ 정렬 (가운데 정렬)"
|
"item": "문구 (철쭉과 진달래)/⑩ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"14": {
|
"14": {
|
||||||
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
|
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
|
||||||
@@ -472,88 +472,88 @@
|
|||||||
},
|
},
|
||||||
"18": {
|
"18": {
|
||||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
||||||
"value": "24",
|
"value": "23",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 24 mm)"
|
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 23 mm)"
|
||||||
},
|
},
|
||||||
"19": {
|
"19": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "1. 전통공예",
|
"searchValue": "1. 철쭉의 특징",
|
||||||
"value": "굴림체",
|
"value": "궁서",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구① (1. 전통공예)/① 글씨체 (굴림체)"
|
"item": "문구① (1. 철쭉의 특징)/① 글씨체 (궁서)"
|
||||||
},
|
},
|
||||||
"20": {
|
"20": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "1. 전통공예",
|
"searchValue": "1. 철쭉의 특징",
|
||||||
"value": "1200",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구① (1. 전통공예)/② 크기 (1200)"
|
"item": "문구① (1. 철쭉의 특징)/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"21": {
|
"21": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "1. 전통공예",
|
"searchValue": "1. 철쭉의 특징",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구① (1. 전통공예)/③ 진하게"
|
"item": "문구① (1. 철쭉의 특징)/③ 진하게"
|
||||||
},
|
},
|
||||||
"22": {
|
"22": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "2. 전통 공예 산업",
|
"searchValue": "2. 봄의 전령 진달래",
|
||||||
"value": "굴림체",
|
"value": "궁서",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구② (2. 전통 공예 산업)/① 글씨체 (굴림체)"
|
"item": "문구② (2. 봄의 전령 진달래)/① 글씨체 (궁서)"
|
||||||
},
|
},
|
||||||
"23": {
|
"23": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "2. 전통 공예 산업",
|
"searchValue": "2. 봄의 전령 진달래",
|
||||||
"value": "1200",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구② (2. 전통 공예 산업)/② 크기 (1200)"
|
"item": "문구② (2. 봄의 전령 진달래)/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"24": {
|
"24": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "2. 전통 공예 산업",
|
"searchValue": "2. 봄의 전령 진달래",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구② (2. 전통 공예 산업)/③ 진하게"
|
"item": "문구② (2. 사진 산업의 가치)/③ 진하게"
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
||||||
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
||||||
"option": "업사이클링",
|
"option": "거름",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (업사이클링)/① 각주 설정 및 문구 입력"
|
"item": "문구 (거름)/① 각주 설정 및 문구 입력"
|
||||||
},
|
},
|
||||||
"26": {
|
"26": {
|
||||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
"searchValue": "이미 쓸모없거나 버려지는 자원을 재활용해 새로운 가치를 부여하는 것을 의미함",
|
"searchValue": "땅을 기름지게 하기 위해 사용하는 유기물질",
|
||||||
"value": "중고딕",
|
"value": "굴림",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구 (업사이클링)/② 글씨체 (중고딕)"
|
"item": "문구 (거름)/② 글씨체 (굴림)"
|
||||||
},
|
},
|
||||||
"27": {
|
"27": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
||||||
"searchValue": "이미 쓸모없거나 버려지는 자원을 재활용해 새로운 가치를 부여하는 것을 의미함",
|
"searchValue": "땅을 기름지게 하기 위해 사용하는 유기물질",
|
||||||
"value": "900",
|
"value": "900",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (업사이클링)/③ 크기 (9pt)"
|
"item": "문구 (거름)/③ 크기 (9pt)"
|
||||||
},
|
},
|
||||||
"28": {
|
"28": {
|
||||||
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
||||||
"searchValue": "이미 쓸모없거나 버려지는 자원을 재활용해 새로운 가치를 부여하는 것을 의미함",
|
"searchValue": "땅을 기름지게 하기 위해 사용하는 유기물질",
|
||||||
"value": "CircledIdeograph",
|
"value": "Ideograph",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (전당)/④ 각주 번호모양",
|
"item": "문구 (전당)/④ 각주 번호모양",
|
||||||
@@ -579,81 +579,81 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"29": {
|
"29": {
|
||||||
"path": "boolean(//CHAR[contains(text(),'Upcycling')])",
|
"path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])",
|
||||||
"ignoreWord": "Upcycling",
|
"ignoreWord": "Breeding",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "Upcycling/영단어 미입력, 대소문자/오타 시 전체 감점",
|
"item": "Breeding/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||||
"desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요"
|
"desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요"
|
||||||
},
|
},
|
||||||
"30": {
|
"30": {
|
||||||
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
|
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
|
||||||
"word": [
|
"word": [
|
||||||
["차원", "次元"],
|
["생육", "生育"],
|
||||||
["사례", "事例"],
|
["유년", "幼年"],
|
||||||
["주목", "注目"],
|
["허기", "虛飢"],
|
||||||
["소비", "消費"],
|
["풍류", "風流"],
|
||||||
["명장", "名匠"]
|
["식물", "植物"]
|
||||||
],
|
],
|
||||||
"value": 10,
|
"value": 10,
|
||||||
"points": 10,
|
"points": 10,
|
||||||
"category": "Hanja",
|
"category": "Hanja",
|
||||||
"item": "① 차원(次元), ② 사례(事例), ③ 주목(注目), ④ 소비(消費), ⑤ 명장(名匠)"
|
"item": "① 생육(生育), ② 유년(幼年), ③ 허기(虛飢), ④ 풍류(風流), ⑤ 식물(植物)"
|
||||||
},
|
},
|
||||||
"31": {
|
"31": {
|
||||||
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'국인관광')])",
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'지를잘라')])",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (...활성화되면서 관광객과 외국인 일반...)>'관광객과 / 외국인' 순서바꿈"
|
"item": "문구 (…새로 나온 가지가 잘라…)>'가 → 를' 글자바꿈"
|
||||||
},
|
},
|
||||||
"32": {
|
"32": {
|
||||||
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'예품등이')])",
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'보다참꽃')])",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (...디지털 아트 공예품 통이...)>'통' → '등' 글자바꿈"
|
"item": "문구 (…참꽃나무란 진달래보다 이름에 더…)>'참꽃나무란 / 진달래보다' 순서바꿈"
|
||||||
},
|
},
|
||||||
"33": {
|
"33": {
|
||||||
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
|
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
|
||||||
"searchValue": "전통 공예 산업 성장률(단위: %)",
|
"searchValue": "철쭉 관광객 현황(단위 : 천 명)",
|
||||||
"value": "돋움",
|
"value": "돋움체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "제목 문구 (전통 공예 산업 성장률(단위: %))/① 글씨체 (돋움)"
|
"item": "제목 문구 (철쭉 관광객 현황(단위 : 천 명))/① 글씨체 (돋움체)"
|
||||||
},
|
},
|
||||||
"34": {
|
"34": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "전통 공예 산업 성장률(단위: %)",
|
"searchValue": "철쭉 관광객 현황(단위 : 천 명)",
|
||||||
"value": "1200",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (전통 공예 산업 성장률(단위: %))/② 크기 (1200)"
|
"item": "제목 문구 (철쭉 관광객 현황(단위 : 천 명))/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"35": {
|
"35": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "전통 공예 산업 성장률(단위: %)",
|
"searchValue": "철쭉 관광객 현황(단위 : 천 명)",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "제목 문구 (전통 공예 산업 성장률(단위: %))/③ 진하게"
|
"item": "제목 문구 (철쭉 관광객 현황(단위 : 천 명))/③ 진하게"
|
||||||
},
|
},
|
||||||
"36": {
|
"36": {
|
||||||
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||||
"searchValue": "전통 공예 산업 성장률(단위: %)",
|
"searchValue": "철쭉 관광객 현황(단위 : 천 명)",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (전통 공예 산업 성장률(단위: %))/④ 정렬 (가운데 정렬)"
|
"item": "제목 문구 (연령별 축제 만족도(단위:%))/④ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"37": {
|
"37": {
|
||||||
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
||||||
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
||||||
"value": "138,194,217",
|
"value": "160,221,234",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Color",
|
"category": "Color",
|
||||||
"item": "위쪽 제목 셀/① 색상(RGB:138,194,217)"
|
"item": "위쪽 제목 셀/① 색상(RGB:160,221,234)"
|
||||||
},
|
},
|
||||||
"38": {
|
"38": {
|
||||||
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
|
||||||
@@ -704,8 +704,8 @@
|
|||||||
"item": "글자모양/③ 정렬 (가운데 정렬)"
|
"item": "글자모양/③ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"44": {
|
"44": {
|
||||||
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) and boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
|
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) or boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
|
||||||
"option": "SUM",
|
"option": "AVG",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 4,
|
"points": 4,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
@@ -714,11 +714,11 @@
|
|||||||
},
|
},
|
||||||
"45": {
|
"45": {
|
||||||
"chart_xpath": "",
|
"chart_xpath": "",
|
||||||
"chart_type": "표식만 있는 분산형",
|
"chart_type": "누적 세로 막대형",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "ChartType",
|
"category": "ChartType",
|
||||||
"item": "① 종류 (표식만 있는 분산형)",
|
"item": "① 종류 (누적 세로 막대형)",
|
||||||
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
|
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
|
||||||
},
|
},
|
||||||
"46": {
|
"46": {
|
||||||
@@ -753,36 +753,36 @@
|
|||||||
},
|
},
|
||||||
"50": {
|
"50": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
||||||
"searchValue": "전통 공예 산업 성장률(단위: %)",
|
"searchValue": "철쭉 관광객 현황",
|
||||||
"value": "굴림",
|
"value": "휴먼옛체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (전통 공예 산업 성장률(단위: %))/① 글씨체 (굴림)"
|
"item": "제목 문구 (철쭉 관광객 현황)/① 글씨체 (휴먼옛체)"
|
||||||
},
|
},
|
||||||
"51": {
|
"51": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
||||||
"searchValue": "전통 공예 산업 성장률(단위: %)",
|
"searchValue": "철쭉 관광객 현황",
|
||||||
"value": "1300",
|
"value": "1300",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (전통 공예 산업 성장률(단위: %))/② 크기 (1300)"
|
"item": "제목 문구 (철쭉 관광객 현황)/② 크기 (1300)"
|
||||||
},
|
},
|
||||||
"52": {
|
"52": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
||||||
"option": "b",
|
"option": "b",
|
||||||
"searchValue": "전통 공예 산업 성장률(단위: %)",
|
"searchValue": "철쭉 관광객 현황",
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (전통 공예 산업 성장률(단위: %))/③ 기울임",
|
"item": "제목 문구 (철쭉 관광객 현황)/③ 기울임",
|
||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"53": {
|
"53": {
|
||||||
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface",
|
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface | //c:catAx/c:txPr//a:latin/@typeface",
|
||||||
"value": "돋움체",
|
"value": "돋움",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "ChartOneAnswer",
|
"category": "ChartOneAnswer",
|
||||||
"item": "X축/① 글꼴 (돋움체)"
|
"item": "X축/① 글꼴 (돋움)"
|
||||||
},
|
},
|
||||||
"54": {
|
"54": {
|
||||||
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
|
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
|
||||||
@@ -801,11 +801,11 @@
|
|||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"56": {
|
"56": {
|
||||||
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface",
|
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface | //c:valAx/c:txPr//a:latin/@typeface",
|
||||||
"value": "돋움체",
|
"value": "돋움",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "ChartOneAnswer",
|
"category": "ChartOneAnswer",
|
||||||
"item": "Y축/① 글꼴 (돋움체)"
|
"item": "Y축/① 글꼴 (돋움)"
|
||||||
},
|
},
|
||||||
"57": {
|
"57": {
|
||||||
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
|
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
|
||||||
@@ -824,11 +824,11 @@
|
|||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"59": {
|
"59": {
|
||||||
"chart_xpath": "//c:legend//a:ea/@typeface",
|
"chart_xpath": "//c:legend//a:ea/@typeface | //c:legend//a:latin/@typeface",
|
||||||
"value": "돋움체",
|
"value": "돋움",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "범례/① 글꼴 (돋움체)"
|
"item": "범례/① 글꼴 (돋움)"
|
||||||
},
|
},
|
||||||
"60": {
|
"60": {
|
||||||
"chart_xpath": "//c:legend//a:defRPr/@sz",
|
"chart_xpath": "//c:legend//a:defRPr/@sz",
|
||||||
850
JSON/2604/DIW_2604A.json
Normal file
850
JSON/2604/DIW_2604A.json
Normal file
@@ -0,0 +1,850 @@
|
|||||||
|
{
|
||||||
|
"0": {
|
||||||
|
"0": {
|
||||||
|
"path": "",
|
||||||
|
"path2": "",
|
||||||
|
"points": 0,
|
||||||
|
"category": "파일저장",
|
||||||
|
"item": "파일명 (수검번호.hwp/hwpx)"
|
||||||
|
},
|
||||||
|
"1": {
|
||||||
|
"path": "//PAGEMARGIN",
|
||||||
|
"value": {
|
||||||
|
"Top": 20,
|
||||||
|
"Bottom": 20,
|
||||||
|
"Left": 20,
|
||||||
|
"Right": 20,
|
||||||
|
"Header": 10,
|
||||||
|
"Footer": 10,
|
||||||
|
"Gutter": 0
|
||||||
|
},
|
||||||
|
"tolerance": 1,
|
||||||
|
"points": 4,
|
||||||
|
"category": "PageSetting",
|
||||||
|
"item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"path": "",
|
||||||
|
"value": {
|
||||||
|
"FontName": "바탕",
|
||||||
|
"FontSize": "1000",
|
||||||
|
"Alignment": "Justify",
|
||||||
|
"LineSpacing": "160"
|
||||||
|
},
|
||||||
|
"points": 4,
|
||||||
|
"category": "BasicSetting",
|
||||||
|
"item": "글꼴 (바탕, 10pt), 양쪽정렬, 줄간격 (160%)"
|
||||||
|
},
|
||||||
|
"3": {
|
||||||
|
"path": "",
|
||||||
|
"value": null,
|
||||||
|
"points": 40,
|
||||||
|
"category": "오타감점",
|
||||||
|
"item": "오타 1개 -1점 / 2503회부터 오타 1개 -1점으로 변경"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"1": {
|
||||||
|
"1": {
|
||||||
|
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
||||||
|
"searchValue": "디지털노마드창업자모집",
|
||||||
|
"value": "휴먼옛체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (디지털노마드창업자모집)/① 글씨체 (휴먼옛체)"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
||||||
|
"searchValue": "디지털노마드창업자모집",
|
||||||
|
"value": "202,86,167",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Color",
|
||||||
|
"item": "문구 (디지털노마드창업자모집)/② 채우기 : 색상(RGB:202,86,167)"
|
||||||
|
},
|
||||||
|
"3": {
|
||||||
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
||||||
|
"searchValue": "디지털노마드창업자모집",
|
||||||
|
"value": "120",
|
||||||
|
"tolerance": 1,
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "문구 (디지털노마드창업자모집)/③ 크기-너비 (120 mm)"
|
||||||
|
},
|
||||||
|
"4": {
|
||||||
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
|
||||||
|
"searchValue": "디지털노마드창업자모집",
|
||||||
|
"value": "20",
|
||||||
|
"tolerance": 1,
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "문구 (디지털노마드창업자모집)/④ 크기-높이 (20 mm)"
|
||||||
|
},
|
||||||
|
"5": {
|
||||||
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
|
"searchValue": "디지털노마드창업자모집",
|
||||||
|
"value": "true",
|
||||||
|
"points": 2,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (디지털노마드창업자모집)/⑤ 위치 (글자처럼 취급)"
|
||||||
|
},
|
||||||
|
"6": {
|
||||||
|
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
|
||||||
|
"searchValue": "디지털노마드창업자모집",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 2,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (디지털노마드창업자모집)/⑥ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"7": {
|
||||||
|
"path": "//TEXTART[@Text='{searchValue}']",
|
||||||
|
"searchValue": "디지털노마드창업자모집",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "문구 (디지털노마드창업자모집)/⑦ 글맵시모양 (육안확인)"
|
||||||
|
},
|
||||||
|
"8": {
|
||||||
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
|
||||||
|
"searchValue": "서",
|
||||||
|
"value": {
|
||||||
|
"Height": 2800,
|
||||||
|
"Width": 2800
|
||||||
|
},
|
||||||
|
"tolerance": 200,
|
||||||
|
"points": 1,
|
||||||
|
"category": "TwoLineSize",
|
||||||
|
"item": "어/① 모양 (2줄)"
|
||||||
|
},
|
||||||
|
"9": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "서",
|
||||||
|
"value": "궁서체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "어/② 글씨체 (궁서체)"
|
||||||
|
},
|
||||||
|
"10": {
|
||||||
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||||
|
"searchValue": "서",
|
||||||
|
"value": "238,219,98",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Color",
|
||||||
|
"item": "어/③ 면색 : 색상(RGB:238,219,98)"
|
||||||
|
},
|
||||||
|
"11": {
|
||||||
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
||||||
|
"searchValue": "서",
|
||||||
|
"value": "3.0",
|
||||||
|
"tolerance": 1,
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "어/④ 본문과의 간격 : 3.0mm"
|
||||||
|
},
|
||||||
|
"12": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
|
"searchValue": "디지털노마드 형태의 근무와 창업에 관심 있는 분들의",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/① BOLD"
|
||||||
|
},
|
||||||
|
"13": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
|
"searchValue": "디지털노마드 형태의 근무와 창업에 관심 있는 분들의",
|
||||||
|
"value": "UNDERLINE",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/② UNDERLINE"
|
||||||
|
},
|
||||||
|
"14": {
|
||||||
|
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||||
|
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
||||||
|
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
||||||
|
"char1": "◎",
|
||||||
|
"char2": "◎",
|
||||||
|
"char3": "※",
|
||||||
|
"value": 3,
|
||||||
|
"points": 3,
|
||||||
|
"category": "SpecialChar",
|
||||||
|
"item": "① ◎ , ② ◎ , ③ ※"
|
||||||
|
},
|
||||||
|
"15": {
|
||||||
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
|
"searchValue": "참여안내",
|
||||||
|
"value": "돋움",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구 (◎ 참여안내 ◎)/① 글씨체 (돋움)"
|
||||||
|
},
|
||||||
|
"16": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
|
"match_str": "참여안내",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Align",
|
||||||
|
"item": "문구 (◎ 참여안내 ◎)/② 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"17": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
|
"searchValue": "서면심사 및 대면심사",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구 (서면심사 및 대면심사)/① BOLD"
|
||||||
|
},
|
||||||
|
"18": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
|
"searchValue": "서면심사 및 대면심사",
|
||||||
|
"value": "ITALIC",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구 (서면심사 및 대면심사)/② ITALIC"
|
||||||
|
},
|
||||||
|
"19": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||||
|
"searchValue": "기타사항",
|
||||||
|
"value": {
|
||||||
|
"Left": 15,
|
||||||
|
"Indent": 12
|
||||||
|
},
|
||||||
|
"points": 2,
|
||||||
|
"category": "ParaShape",
|
||||||
|
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15), 내어쓰기 (12)",
|
||||||
|
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||||
|
},
|
||||||
|
"20": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||||
|
"searchValue": "2026. 04. 25.",
|
||||||
|
"value": "1300",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (2026. 04. 25.)/① 크기 (1300)",
|
||||||
|
"desc": "1pt당 100"
|
||||||
|
},
|
||||||
|
"21": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
|
"searchValue": "2026. 04. 25.",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (2026. 04. 25.)/② 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"22": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "디지털노마드센터",
|
||||||
|
"value": "굴림체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구 (디지털노마드센터)/① 글씨체 (굴림체)"
|
||||||
|
},
|
||||||
|
"23": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "디지털노마드센터",
|
||||||
|
"value": "2500",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (디지털노마드센터)/② 크기 (2500)"
|
||||||
|
},
|
||||||
|
"24": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||||
|
"searchValue": "디지털노마드센터",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (디지털노마드센터)/③ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"25": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "DIAT",
|
||||||
|
"value": "굴림",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Header.FontName",
|
||||||
|
"item": "문구 (DIAT)/① 글꼴 (굴림)"
|
||||||
|
},
|
||||||
|
"26": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "DIAT",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Header.OneAnswer",
|
||||||
|
"item": "문구 (DIAT)/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"27": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
|
||||||
|
"searchValue": "DIAT",
|
||||||
|
"value": "Right",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Header.OneAnswer",
|
||||||
|
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
|
||||||
|
},
|
||||||
|
"28": {
|
||||||
|
"path": "//PAGENUM/@FormatType",
|
||||||
|
"value": "HangulSyllable",
|
||||||
|
"points": 2,
|
||||||
|
"category": "PageNumber",
|
||||||
|
"item": "① 쪽 번호 매기기 (가,나,다 순으로)",
|
||||||
|
"desc1": {
|
||||||
|
"가,나,다": "HangulSyllable",
|
||||||
|
"1,2,3": "Digit",
|
||||||
|
"일,이,삼": "HangulPhonetic",
|
||||||
|
"갑,을,병": "DecagonCircle",
|
||||||
|
"A,B,C": "LatinCapital",
|
||||||
|
"a,b,c": "LatinSmall",
|
||||||
|
"Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital",
|
||||||
|
"①,②,③": "CircledDigit",
|
||||||
|
"一,二,三": "Ideograph",
|
||||||
|
"㉠,㉡,㉢": "CircledHangulJamo",
|
||||||
|
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
|
||||||
|
"㊀,㊁,㊂": "CircledIdeograph",
|
||||||
|
"i,ii,iii": "RomanSmall",
|
||||||
|
"I,II,III": "RomanCapital",
|
||||||
|
"甲,乙,丙": "DecagonCircleHanja",
|
||||||
|
"+,++,+++": "UserChar",
|
||||||
|
"*,**,***": "UserChar",
|
||||||
|
"정답에 맞는 값 value에 입력": ""
|
||||||
|
},
|
||||||
|
"desc2": "1, 2페이지 모두 정답이어야 점수 부여"
|
||||||
|
},
|
||||||
|
"29": {
|
||||||
|
"path": "//PAGENUM/@Pos",
|
||||||
|
"value": "BottomCenter",
|
||||||
|
"points": 2,
|
||||||
|
"category": "PageNumber",
|
||||||
|
"item": "가운데 아래",
|
||||||
|
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
||||||
|
"desc2": {
|
||||||
|
"가운데 아래": "BottomCenter",
|
||||||
|
"오른쪽 아래": "BottomRight",
|
||||||
|
"왼쪽 아래": "BottomLeft"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"30": {
|
||||||
|
"path": "//CHAR[contains(text(),'{searchValue}')]",
|
||||||
|
"searchValue": "http",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "hyperlink",
|
||||||
|
"item": "문구 (http://www.ihd.or.kr)/하이퍼링크 없이 작성",
|
||||||
|
"desc": "searchValue에 해당하는 주소 문구에 하이퍼링크가 하나라도 설정되어 있으면 오답"
|
||||||
|
},
|
||||||
|
"31": {
|
||||||
|
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
||||||
|
"value": "190",
|
||||||
|
"first_word": "서",
|
||||||
|
"points": 2,
|
||||||
|
"category": "LineSpacing",
|
||||||
|
"item": "문제 1 줄간격 190% 설정",
|
||||||
|
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"1": {
|
||||||
|
"path": "//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@HeaderInside",
|
||||||
|
"path2": "//BORDERFILL[@Id=//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@BorferFill]",
|
||||||
|
"value": {
|
||||||
|
"header_inside": true,
|
||||||
|
"all_double_slim": true
|
||||||
|
},
|
||||||
|
"points": 4,
|
||||||
|
"category": "PageBorder",
|
||||||
|
"item": "문제2 쪽테두리(이중 실선, 머리말 포함) 설정"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"path": "count(//SECTION)>1",
|
||||||
|
"value": true,
|
||||||
|
"points": 3,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "① 구역나누기",
|
||||||
|
"desc": "섹션이 1개 이상이면 점수부여"
|
||||||
|
},
|
||||||
|
"3": {
|
||||||
|
"path": "./TEXT/COLDEF/@Count",
|
||||||
|
"value": "2",
|
||||||
|
"points": 3,
|
||||||
|
"category": "TwoColumn",
|
||||||
|
"item": "② 다단 2단"
|
||||||
|
},
|
||||||
|
"4": {
|
||||||
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||||
|
"value": "60",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.mmSize",
|
||||||
|
"item": "문구 (디지털노마드)/① 크기-너비 (60 mm)"
|
||||||
|
},
|
||||||
|
"5": {
|
||||||
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||||
|
"value": "12",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.mmSize",
|
||||||
|
"item": "문구 (디지털노마드)/② 크기-높이 (12 mm)"
|
||||||
|
},
|
||||||
|
"6": {
|
||||||
|
"path": "//RECTANGLE//LINESHAPE",
|
||||||
|
"value": {
|
||||||
|
"Style": "DoubleSlim",
|
||||||
|
"Width": "283"
|
||||||
|
},
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.LineShape",
|
||||||
|
"item": "문구 (디지털노마드)/③ 테두리 : 이중 실선(1.00mm)",
|
||||||
|
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||||
|
},
|
||||||
|
"7": {
|
||||||
|
"path": "//RECTANGLE/@Ratio",
|
||||||
|
"value": "50",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.OneAnswer",
|
||||||
|
"item": "문구 (디지털노마드)/④ 글상자 모서리 (둥근모양)",
|
||||||
|
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||||
|
},
|
||||||
|
"8": {
|
||||||
|
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
|
||||||
|
"value": "192,205,239",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.Color",
|
||||||
|
"item": "문구 (디지털노마드)/⑤ 채우기 : 색상(RGB:192,205,239)"
|
||||||
|
},
|
||||||
|
"9": {
|
||||||
|
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
|
"value": "true",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.OneAnswer",
|
||||||
|
"item": "문구 (디지털노마드)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||||
|
},
|
||||||
|
"10": {
|
||||||
|
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.TextBoxAlign",
|
||||||
|
"item": "문구 (디지털노마드)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"11": {
|
||||||
|
"path": ".//RECTANGLE//TEXT/@CharShape",
|
||||||
|
"value": "견고딕",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.FontName",
|
||||||
|
"item": "문구 (디지털노마드)/⑧ 글씨체 (견고딕)"
|
||||||
|
},
|
||||||
|
"12": {
|
||||||
|
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
|
||||||
|
"value": "1900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.FontSize",
|
||||||
|
"item": "문구 (디지털노마드)/⑨ 글씨크기 (1900)",
|
||||||
|
"desc": "1pt당 100"
|
||||||
|
},
|
||||||
|
"13": {
|
||||||
|
"path": "//PARASHAPE[@Id={rect_parashape_id}]/@Align",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.TextBoxAlign",
|
||||||
|
"item": "문구 (디지털노마드)/⑩ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"14": {
|
||||||
|
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "① 파일명 \"그림A.jpg\" 삽입",
|
||||||
|
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||||
|
},
|
||||||
|
"15": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
||||||
|
"value": "85",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "② 크기-너비 (85 mm)"
|
||||||
|
},
|
||||||
|
"16": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
||||||
|
"value": "40",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "③ 크기-높이 (40 mm)"
|
||||||
|
},
|
||||||
|
"17": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset",
|
||||||
|
"value": "0",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0mm)"
|
||||||
|
},
|
||||||
|
"18": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
||||||
|
"value": "22",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 22 mm)"
|
||||||
|
},
|
||||||
|
"19": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "1. 디지털노마드란?",
|
||||||
|
"value": "돋움",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구① (1. 디지털노마드란?)/① 글씨체 (돋움)"
|
||||||
|
},
|
||||||
|
"20": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "1. 디지털노마드란?",
|
||||||
|
"value": "1200",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구① (1. 디지털노마드란?)/② 크기 (1200)"
|
||||||
|
},
|
||||||
|
"21": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"searchValue": "1. 디지털노마드란?",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구① (1. 디지털노마드란?)/③ 진하게"
|
||||||
|
},
|
||||||
|
"22": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "2. 디지털노마드의 장단점",
|
||||||
|
"value": "돋움",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구② (2. 디지털노마드의 장단점)/① 글씨체 (돋움)"
|
||||||
|
},
|
||||||
|
"23": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "2. 디지털노마드의 장단점",
|
||||||
|
"value": "1200",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구② (2. 디지털노마드의 장단점)/② 크기 (1200)"
|
||||||
|
},
|
||||||
|
"24": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"searchValue": "2. 디지털노마드의 장단점",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구② (2. 디지털노마드의 장단점)/③ 진하게"
|
||||||
|
},
|
||||||
|
"25": {
|
||||||
|
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
||||||
|
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
||||||
|
"option": "공유오피스",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "문구 (공유오피스)/① 각주 설정 및 문구 입력"
|
||||||
|
},
|
||||||
|
"26": {
|
||||||
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
|
"searchValue": "함께 사용할 수 있는 사무공간",
|
||||||
|
"value": "돋움체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구 (공유오피스)/② 글씨체 (돋움체)"
|
||||||
|
},
|
||||||
|
"27": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
||||||
|
"searchValue": "함께 사용할 수 있는 사무공간",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (공유오피스)/③ 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"28": {
|
||||||
|
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
||||||
|
"searchValue": "함께 사용할 수 있는 사무공간",
|
||||||
|
"value": "UserChar",
|
||||||
|
"points": 2,
|
||||||
|
"category": "PageNumber",
|
||||||
|
"item": "문구 (전당)/④ 각주 번호모양",
|
||||||
|
"desc": {
|
||||||
|
"가,나,다": "HangulSyllable",
|
||||||
|
"1,2,3": "Digit",
|
||||||
|
"일,이,삼": "HangulPhonetic",
|
||||||
|
"갑,을,병": "DecagonCircle",
|
||||||
|
"A,B,C": "LatinCapital",
|
||||||
|
"a,b,c": "LatinSmall",
|
||||||
|
"Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital",
|
||||||
|
"①,②,③": "CircledDigit",
|
||||||
|
"一,二,三": "Ideograph",
|
||||||
|
"㉠,㉡,㉢": "CircledHangulJamo",
|
||||||
|
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
|
||||||
|
"㊀,㊁,㊂": "CircledIdeograph",
|
||||||
|
"i,ii,iii": "RomanSmall",
|
||||||
|
"I,II,III": "RomanCapital",
|
||||||
|
"甲,乙,丙": "DecagonCircleHanja",
|
||||||
|
"+,++,+++": "UserChar",
|
||||||
|
"*,**,***": "UserChar",
|
||||||
|
"정답에 맞는 값 value에 입력": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"29": {
|
||||||
|
"path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])",
|
||||||
|
"ignoreWord": "Digital",
|
||||||
|
"value": true,
|
||||||
|
"points": 3,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "Digital/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||||
|
"desc": ""
|
||||||
|
},
|
||||||
|
"30": {
|
||||||
|
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
|
||||||
|
"word": [
|
||||||
|
["원격", "遠隔"],
|
||||||
|
["환경", "環境"],
|
||||||
|
["문화", "文化"],
|
||||||
|
["형성", "形成"],
|
||||||
|
["부여", "附與"]
|
||||||
|
],
|
||||||
|
"value": 10,
|
||||||
|
"points": 10,
|
||||||
|
"category": "Hanja",
|
||||||
|
"item": "① 원격(遠隔), ② 환경(環境), ③ 문화(文化), ④ 형성(形成), ⑤ 부여(附與)"
|
||||||
|
},
|
||||||
|
"31": {
|
||||||
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'소에구애')])",
|
||||||
|
"value": true,
|
||||||
|
"points": 3,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "문구 (…기기를 활용해 장소는 구애받지 않고…)>'는' → '에' 글자바꿈"
|
||||||
|
},
|
||||||
|
"32": {
|
||||||
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'무나원격')])",
|
||||||
|
"value": true,
|
||||||
|
"points": 3,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "문구 (…원격근무를 재택근무나 하는 사람들을 말한다.…)>'원격근무를 / 재택근무나' 순서바꿈"
|
||||||
|
},
|
||||||
|
"33": {
|
||||||
|
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
|
||||||
|
"searchValue": "전 세계 디지털노마드 추이(단위:만명)",
|
||||||
|
"value": "중고딕",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "제목 문구 (전 세계 디지털노마드 추이(단위:만명))/① 글씨체 (중고딕)"
|
||||||
|
},
|
||||||
|
"34": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "전 세계 디지털노마드 추이(단위:만명)",
|
||||||
|
"value": "1200",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (전 세계 디지털노마드 추이(단위:만명))/② 크기 (1200)"
|
||||||
|
},
|
||||||
|
"35": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"searchValue": "전 세계 디지털노마드 추이(단위:만명)",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "제목 문구 (전 세계 디지털노마드 추이(단위:만명))/③ 진하게"
|
||||||
|
},
|
||||||
|
"36": {
|
||||||
|
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||||
|
"searchValue": "전 세계 디지털노마드 추이(단위:만명)",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (전 세계 디지털노마드 추이(단위:만명))/④ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"37": {
|
||||||
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
||||||
|
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
||||||
|
"value": "175,232,239",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Color",
|
||||||
|
"item": "위쪽 제목 셀/① 색상(RGB:175,232,239)"
|
||||||
|
},
|
||||||
|
"38": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "위쪽 제목 셀/② 진하게",
|
||||||
|
"desc": "글자 속성이라 CELLZONE으로 적용 되지 않음"
|
||||||
|
},
|
||||||
|
"39": {
|
||||||
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Type",
|
||||||
|
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Type",
|
||||||
|
"value": "DoubleSlim",
|
||||||
|
"points": 2,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "제목 셀 아래선/① 이중실선"
|
||||||
|
},
|
||||||
|
"40": {
|
||||||
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Width",
|
||||||
|
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Width",
|
||||||
|
"value": "0.5mm",
|
||||||
|
"points": 2,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "제목 셀 아래선/② 0.5mm"
|
||||||
|
},
|
||||||
|
"41": {
|
||||||
|
"path": "//TABLE//TEXT/@CharShape",
|
||||||
|
"path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
|
||||||
|
"value": "바탕체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "TableFontName",
|
||||||
|
"category_tmp": "FontName",
|
||||||
|
"item": "글자모양/① 글씨체 (바탕체)",
|
||||||
|
"desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경"
|
||||||
|
},
|
||||||
|
"42": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TABLE//TEXT/@CharShape]/@Height",
|
||||||
|
"value": "1000",
|
||||||
|
"points": 1,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "글자모양/② 크기 (1000)"
|
||||||
|
},
|
||||||
|
"43": {
|
||||||
|
"path": "//PARASHAPE[@Id=//TABLE/ROW//P/@ParaShape]/@Align",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "글자모양/③ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"44": {
|
||||||
|
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) or boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
|
||||||
|
"option": "SUM",
|
||||||
|
"value": true,
|
||||||
|
"points": 4,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "블록 계산식/합계",
|
||||||
|
"desc": "option값에 합계는 SUM / 평균은 AVG"
|
||||||
|
},
|
||||||
|
"45": {
|
||||||
|
"chart_xpath": "",
|
||||||
|
"chart_type": "곡선이 있는 분산형",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "ChartType",
|
||||||
|
"item": "① 종류 (곡선이 있는 분산형)",
|
||||||
|
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
|
||||||
|
},
|
||||||
|
"46": {
|
||||||
|
"chart_xpath": "//c:valAx/c:majorTickMark/@val",
|
||||||
|
"value": "out",
|
||||||
|
"points": 2,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "② 값 축 주 눈금선",
|
||||||
|
"desc": "chart xml파일에서 답안을 가져오는 문항은 path키값 대신 chart_xpath키값을 이용해 xapth구문을 작성한다"
|
||||||
|
},
|
||||||
|
"47": {
|
||||||
|
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Width",
|
||||||
|
"value": "80",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "③ 크기-너비 (80 mm)"
|
||||||
|
},
|
||||||
|
"48": {
|
||||||
|
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Height",
|
||||||
|
"value": "90",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "④ 크기-높이 (90 mm)"
|
||||||
|
},
|
||||||
|
"49": {
|
||||||
|
"chart_xpath": "boolean(//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='합계' or text()='평균']))",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "⑤ 차트 데이터(표에서 블록계산식을 제외한 나머지 값만 이용)",
|
||||||
|
"desc": "차트가 존재하고 블록계산식(합계, 평균) 데이터가 없는 경우 정답 처리"
|
||||||
|
},
|
||||||
|
"50": {
|
||||||
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
||||||
|
"searchValue": "전 세계 디지털노마드 추이",
|
||||||
|
"value": "궁서",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (전 세계 디지털노마드 추이)/① 글씨체 (궁서)"
|
||||||
|
},
|
||||||
|
"51": {
|
||||||
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
||||||
|
"searchValue": "전 세계 디지털노마드 추이",
|
||||||
|
"value": "1300",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (전 세계 디지털노마드 추이)/② 크기 (1300)"
|
||||||
|
},
|
||||||
|
"52": {
|
||||||
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
||||||
|
"option": "b",
|
||||||
|
"searchValue": "전 세계 디지털노마드 추이",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (전 세계 디지털노마드 추이)/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
},
|
||||||
|
"53": {
|
||||||
|
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface | //c:catAx/c:txPr//a:latin/@typeface",
|
||||||
|
"value": "굴림체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "X축/① 글꼴 (굴림체)"
|
||||||
|
},
|
||||||
|
"54": {
|
||||||
|
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "X축/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"55": {
|
||||||
|
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@{option}",
|
||||||
|
"option": "i",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "X축/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
},
|
||||||
|
"56": {
|
||||||
|
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface | //c:valAx/c:txPr//a:latin/@typeface",
|
||||||
|
"value": "굴림체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "Y축/① 글꼴 (굴림체)"
|
||||||
|
},
|
||||||
|
"57": {
|
||||||
|
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "Y축/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"58": {
|
||||||
|
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@{option}",
|
||||||
|
"option": "i",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "Y축/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
},
|
||||||
|
"59": {
|
||||||
|
"chart_xpath": "//c:legend//a:ea/@typeface | //c:legend//a:latin/@typeface",
|
||||||
|
"value": "굴림체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "범례/① 글꼴 (굴림체)"
|
||||||
|
},
|
||||||
|
"60": {
|
||||||
|
"chart_xpath": "//c:legend//a:defRPr/@sz",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "범례/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"61": {
|
||||||
|
"chart_xpath": "//c:legend//a:defRPr/@{option}",
|
||||||
|
"option": "i",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "범례/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
850
JSON/2604/DIW_2604B.json
Normal file
850
JSON/2604/DIW_2604B.json
Normal file
@@ -0,0 +1,850 @@
|
|||||||
|
{
|
||||||
|
"0": {
|
||||||
|
"0": {
|
||||||
|
"path": "",
|
||||||
|
"path2": "",
|
||||||
|
"points": 0,
|
||||||
|
"category": "파일저장",
|
||||||
|
"item": "파일명 (수검번호.hwp/hwpx)"
|
||||||
|
},
|
||||||
|
"1": {
|
||||||
|
"path": "//PAGEMARGIN",
|
||||||
|
"value": {
|
||||||
|
"Top": 20,
|
||||||
|
"Bottom": 20,
|
||||||
|
"Left": 20,
|
||||||
|
"Right": 20,
|
||||||
|
"Header": 10,
|
||||||
|
"Footer": 10,
|
||||||
|
"Gutter": 0
|
||||||
|
},
|
||||||
|
"tolerance": 1,
|
||||||
|
"points": 4,
|
||||||
|
"category": "PageSetting",
|
||||||
|
"item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"path": "",
|
||||||
|
"value": {
|
||||||
|
"FontName": "바탕",
|
||||||
|
"FontSize": "1000",
|
||||||
|
"Alignment": "Justify",
|
||||||
|
"LineSpacing": "160"
|
||||||
|
},
|
||||||
|
"points": 4,
|
||||||
|
"category": "BasicSetting",
|
||||||
|
"item": "글꼴 (바탕, 10pt), 양쪽정렬, 줄간격 (160%)"
|
||||||
|
},
|
||||||
|
"3": {
|
||||||
|
"path": "",
|
||||||
|
"value": null,
|
||||||
|
"points": 40,
|
||||||
|
"category": "오타감점",
|
||||||
|
"item": "오타 1개 -1점 / 2503회부터 오타 1개 -1점으로 변경"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"1": {
|
||||||
|
"1": {
|
||||||
|
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
||||||
|
"searchValue": "세계문화체험페스티벌",
|
||||||
|
"value": "굴림",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (세계문화체험페스티벌)/① 글씨체 (굴림)"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
||||||
|
"searchValue": "세계문화체험페스티벌",
|
||||||
|
"value": "28,61,98",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Color",
|
||||||
|
"item": "문구 (세계문화체험페스티벌)/② 채우기 : 색상(RGB:28,61,98)"
|
||||||
|
},
|
||||||
|
"3": {
|
||||||
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
||||||
|
"searchValue": "세계문화체험페스티벌",
|
||||||
|
"value": "130",
|
||||||
|
"tolerance": 1,
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "문구 (세계문화체험페스티벌)/③ 크기-너비 (130 mm)"
|
||||||
|
},
|
||||||
|
"4": {
|
||||||
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
|
||||||
|
"searchValue": "세계문화체험페스티벌",
|
||||||
|
"value": "20",
|
||||||
|
"tolerance": 1,
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "문구 (세계문화체험페스티벌)/④ 크기-높이 (20 mm)"
|
||||||
|
},
|
||||||
|
"5": {
|
||||||
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
|
"searchValue": "세계문화체험페스티벌",
|
||||||
|
"value": "true",
|
||||||
|
"points": 2,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (세계문화체험페스티벌)/⑤ 위치 (글자처럼 취급)"
|
||||||
|
},
|
||||||
|
"6": {
|
||||||
|
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
|
||||||
|
"searchValue": "세계문화체험페스티벌",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 2,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (세계문화체험페스티벌)/⑥ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"7": {
|
||||||
|
"path": "//TEXTART[@Text='{searchValue}']",
|
||||||
|
"searchValue": "세계문화체험페스티벌",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "문구 (세계문화체험페스티벌)/⑦ 글맵시모양 (육안확인)"
|
||||||
|
},
|
||||||
|
"8": {
|
||||||
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
|
||||||
|
"searchValue": "전",
|
||||||
|
"value": {
|
||||||
|
"Height": 2800,
|
||||||
|
"Width": 2800
|
||||||
|
},
|
||||||
|
"tolerance": 200,
|
||||||
|
"points": 1,
|
||||||
|
"category": "TwoLineSize",
|
||||||
|
"item": "어/① 모양 (2줄)"
|
||||||
|
},
|
||||||
|
"9": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "전",
|
||||||
|
"value": "맑은 고딕",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "어/② 글씨체 (맑은 고딕)"
|
||||||
|
},
|
||||||
|
"10": {
|
||||||
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||||
|
"searchValue": "전",
|
||||||
|
"value": "245,132,58",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Color",
|
||||||
|
"item": "어/③ 면색 : 색상(RGB:245,132,58)"
|
||||||
|
},
|
||||||
|
"11": {
|
||||||
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
||||||
|
"searchValue": "전",
|
||||||
|
"value": "3.0",
|
||||||
|
"tolerance": 1,
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "어/④ 본문과의 간격 : 3.0mm"
|
||||||
|
},
|
||||||
|
"12": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
|
"searchValue": "전통 공연, 의상 체험, 음식 시식, 공예 체험",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/① BOLD"
|
||||||
|
},
|
||||||
|
"13": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
|
"searchValue": "전통 공연, 의상 체험, 음식 시식, 공예 체험",
|
||||||
|
"value": "ITALIC",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/② ITALIC"
|
||||||
|
},
|
||||||
|
"14": {
|
||||||
|
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||||
|
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
||||||
|
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
||||||
|
"char1": "▶",
|
||||||
|
"char2": "◀",
|
||||||
|
"char3": "※",
|
||||||
|
"value": 3,
|
||||||
|
"points": 3,
|
||||||
|
"category": "SpecialChar",
|
||||||
|
"item": "① ▶ , ② ◀ , ③ ※"
|
||||||
|
},
|
||||||
|
"15": {
|
||||||
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
|
"searchValue": "행사안내",
|
||||||
|
"value": "궁서",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구 (▶ 행사안내 ◀)/① 글씨체 (궁서)"
|
||||||
|
},
|
||||||
|
"16": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
|
"match_str": "행사안내",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Align",
|
||||||
|
"item": "문구 (▶ 행사안내 ◀)/② 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"17": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
|
"searchValue": "2026년 5월 1일(금) 18:00까지 온라인으로 등록(http://www.ihd.or.kr)",
|
||||||
|
"value": "ITALIC",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구 (2026년 5월 1일(금) 18:00까지 온라인으로 등록(http://www.ihd.or.kr))/① BOLD"
|
||||||
|
},
|
||||||
|
"18": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
|
"searchValue": "2026년 5월 1일(금) 18:00까지 온라인으로 등록(http://www.ihd.or.kr)",
|
||||||
|
"value": "UNDERLINE",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구 (2026년 5월 1일(금) 18:00까지 온라인으로 등록(http://www.ihd.or.kr))/② UNDERLINE"
|
||||||
|
},
|
||||||
|
"19": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||||
|
"searchValue": "기타사항",
|
||||||
|
"value": {
|
||||||
|
"Left": 15,
|
||||||
|
"Indent": 12
|
||||||
|
},
|
||||||
|
"points": 2,
|
||||||
|
"category": "ParaShape",
|
||||||
|
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15), 내어쓰기 (12)",
|
||||||
|
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||||
|
},
|
||||||
|
"20": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||||
|
"searchValue": "2026. 04. 25.",
|
||||||
|
"value": "1300",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (2026. 04. 25.)/① 크기 (1300)",
|
||||||
|
"desc": "1pt당 100"
|
||||||
|
},
|
||||||
|
"21": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
|
"searchValue": "2026. 04. 25.",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (2026. 04. 25.)/② 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"22": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "세계도시문화축제협회",
|
||||||
|
"value": "견고딕",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구 (세계도시문화축제협회)/① 글씨체 (견고딕)"
|
||||||
|
},
|
||||||
|
"23": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "세계도시문화축제협회",
|
||||||
|
"value": "2500",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (세계도시문화축제협회)/② 크기 (2500)"
|
||||||
|
},
|
||||||
|
"24": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||||
|
"searchValue": "세계도시문화축제협회",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (한국대학교육협의회)/③ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"25": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "DIAT",
|
||||||
|
"value": "중고딕",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Header.FontName",
|
||||||
|
"item": "문구 (DIAT)/① 글꼴 (중고딕)"
|
||||||
|
},
|
||||||
|
"26": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "DIAT",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Header.OneAnswer",
|
||||||
|
"item": "문구 (DIAT)/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"27": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
|
||||||
|
"searchValue": "DIAT",
|
||||||
|
"value": "Right",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Header.OneAnswer",
|
||||||
|
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
|
||||||
|
},
|
||||||
|
"28": {
|
||||||
|
"path": "//PAGENUM/@FormatType",
|
||||||
|
"value": "RomanSmall",
|
||||||
|
"points": 2,
|
||||||
|
"category": "PageNumber",
|
||||||
|
"item": "① 쪽 번호 매기기 (가,나,다 순으로)",
|
||||||
|
"desc1": {
|
||||||
|
"가,나,다": "HangulSyllable",
|
||||||
|
"1,2,3": "Digit",
|
||||||
|
"일,이,삼": "HangulPhonetic",
|
||||||
|
"갑,을,병": "DecagonCircle",
|
||||||
|
"A,B,C": "LatinCapital",
|
||||||
|
"a,b,c": "LatinSmall",
|
||||||
|
"Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital",
|
||||||
|
"①,②,③": "CircledDigit",
|
||||||
|
"一,二,三": "Ideograph",
|
||||||
|
"㉠,㉡,㉢": "CircledHangulJamo",
|
||||||
|
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
|
||||||
|
"㊀,㊁,㊂": "CircledIdeograph",
|
||||||
|
"i,ii,iii": "RomanSmall",
|
||||||
|
"I,II,III": "RomanCapital",
|
||||||
|
"甲,乙,丙": "DecagonCircleHanja",
|
||||||
|
"+,++,+++": "UserChar",
|
||||||
|
"*,**,***": "UserChar",
|
||||||
|
"정답에 맞는 값 value에 입력": ""
|
||||||
|
},
|
||||||
|
"desc2": "1, 2페이지 모두 정답이어야 점수 부여"
|
||||||
|
},
|
||||||
|
"29": {
|
||||||
|
"path": "//PAGENUM/@Pos",
|
||||||
|
"value": "BottomRight",
|
||||||
|
"points": 2,
|
||||||
|
"category": "PageNumber",
|
||||||
|
"item": "오른쪽 아래",
|
||||||
|
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
||||||
|
"desc2": {
|
||||||
|
"가운데 아래": "BottomCenter",
|
||||||
|
"오른쪽 아래": "BottomRight",
|
||||||
|
"왼쪽 아래": "BottomLeft"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"30": {
|
||||||
|
"path": "//CHAR[contains(text(),'{searchValue}')]",
|
||||||
|
"searchValue": "http",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "hyperlink",
|
||||||
|
"item": "문구 (http://www.ihd.or.kr)/하이퍼링크 없이 작성",
|
||||||
|
"desc": "searchValue에 해당하는 주소 문구에 하이퍼링크가 하나라도 설정되어 있으면 오답"
|
||||||
|
},
|
||||||
|
"31": {
|
||||||
|
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
||||||
|
"value": "180",
|
||||||
|
"first_word": "전",
|
||||||
|
"points": 2,
|
||||||
|
"category": "LineSpacing",
|
||||||
|
"item": "문제 1 줄간격 180% 설정",
|
||||||
|
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"1": {
|
||||||
|
"path": "//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@HeaderInside",
|
||||||
|
"path2": "//BORDERFILL[@Id=//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@BorferFill]",
|
||||||
|
"value": {
|
||||||
|
"header_inside": true,
|
||||||
|
"all_double_slim": true
|
||||||
|
},
|
||||||
|
"points": 4,
|
||||||
|
"category": "PageBorder",
|
||||||
|
"item": "문제2 쪽테두리(이중 실선, 머리말 포함) 설정"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"path": "count(//SECTION)>1",
|
||||||
|
"value": true,
|
||||||
|
"points": 3,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "① 구역나누기",
|
||||||
|
"desc": "섹션이 1개 이상이면 점수부여"
|
||||||
|
},
|
||||||
|
"3": {
|
||||||
|
"path": "./TEXT/COLDEF/@Count",
|
||||||
|
"value": "2",
|
||||||
|
"points": 3,
|
||||||
|
"category": "TwoColumn",
|
||||||
|
"item": "② 다단 2단"
|
||||||
|
},
|
||||||
|
"4": {
|
||||||
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||||
|
"value": "65",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.mmSize",
|
||||||
|
"item": "문구 (글로벌 문화 교류)/① 크기-너비 (65 mm)"
|
||||||
|
},
|
||||||
|
"5": {
|
||||||
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||||
|
"value": "12",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.mmSize",
|
||||||
|
"item": "문구 (글로벌 문화 교류)/② 크기-높이 (12 mm)"
|
||||||
|
},
|
||||||
|
"6": {
|
||||||
|
"path": "//RECTANGLE//LINESHAPE",
|
||||||
|
"value": {
|
||||||
|
"Style": "DoubleSlim",
|
||||||
|
"Width": "283"
|
||||||
|
},
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.LineShape",
|
||||||
|
"item": "문구 (글로벌 문화 교류)/③ 테두리 : 이중 실선(1.00mm)",
|
||||||
|
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||||
|
},
|
||||||
|
"7": {
|
||||||
|
"path": "//RECTANGLE/@Ratio",
|
||||||
|
"value": "20",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.OneAnswer",
|
||||||
|
"item": "문구 (글로벌 문화 교류)/④ 글상자 모서리 (둥근모양)",
|
||||||
|
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||||
|
},
|
||||||
|
"8": {
|
||||||
|
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
|
||||||
|
"value": "199,231,245",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.Color",
|
||||||
|
"item": "문구 (글로벌 문화 교류)/⑤ 채우기 : 색상(RGB:199,231,245)"
|
||||||
|
},
|
||||||
|
"9": {
|
||||||
|
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
|
"value": "true",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.OneAnswer",
|
||||||
|
"item": "문구 (글로벌 문화 교류)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||||
|
},
|
||||||
|
"10": {
|
||||||
|
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.TextBoxAlign",
|
||||||
|
"item": "문구 (글로벌 문화 교류)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"11": {
|
||||||
|
"path": ".//RECTANGLE//TEXT/@CharShape",
|
||||||
|
"value": "궁서",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.FontName",
|
||||||
|
"item": "문구 (글로벌 문화 교류)/⑧ 글씨체 (궁서)"
|
||||||
|
},
|
||||||
|
"12": {
|
||||||
|
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
|
||||||
|
"value": "2000",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.FontSize",
|
||||||
|
"item": "문구 (글로벌 문화 교류)/⑨ 글씨크기 (2000)",
|
||||||
|
"desc": "1pt당 100"
|
||||||
|
},
|
||||||
|
"13": {
|
||||||
|
"path": "//PARASHAPE[@Id={rect_parashape_id}]/@Align",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.TextBoxAlign",
|
||||||
|
"item": "문구 (글로벌 문화 교류)/⑩ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"14": {
|
||||||
|
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "① 파일명 \"그림B.jpg\" 삽입",
|
||||||
|
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||||
|
},
|
||||||
|
"15": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
||||||
|
"value": "85",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "② 크기-너비 (85 mm)"
|
||||||
|
},
|
||||||
|
"16": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
||||||
|
"value": "40",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "③ 크기-높이 (40 mm)"
|
||||||
|
},
|
||||||
|
"17": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset",
|
||||||
|
"value": "0",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0mm)"
|
||||||
|
},
|
||||||
|
"18": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
||||||
|
"value": "24",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 24 mm)"
|
||||||
|
},
|
||||||
|
"19": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "1. 글로벌 문화 트렌드",
|
||||||
|
"value": "굴림",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구① (1. 글로벌 문화 트렌드)/① 글씨체 (굴림)"
|
||||||
|
},
|
||||||
|
"20": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "1. 글로벌 문화 트렌드",
|
||||||
|
"value": "1200",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구① (1. 글로벌 문화 트렌드)/② 크기 (1200)"
|
||||||
|
},
|
||||||
|
"21": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"searchValue": "1. 글로벌 문화 트렌드",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구① (1. 글로벌 문화 트렌드)/③ 진하게"
|
||||||
|
},
|
||||||
|
"22": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "2. 문화 산업의 가치",
|
||||||
|
"value": "굴림",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구② (2. 문화 산업의 가치)/① 글씨체 (굴림)"
|
||||||
|
},
|
||||||
|
"23": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "2. 문화 산업의 가치",
|
||||||
|
"value": "1200",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구② (2. 문화 산업의 가치)/② 크기 (1200)"
|
||||||
|
},
|
||||||
|
"24": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"searchValue": "2. 문화 산업의 가치",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구② (2. 문화 산업의 가치)/③ 진하게"
|
||||||
|
},
|
||||||
|
"25": {
|
||||||
|
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
||||||
|
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
||||||
|
"option": "브랜드",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "문구 (브랜드)/① 각주 설정 및 문구 입력"
|
||||||
|
},
|
||||||
|
"26": {
|
||||||
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
|
"searchValue": "경제적인 생산자를 구별하는 지각된 이미지와 경험의 집합으로 상품이나 회사를 나타내는 상표임",
|
||||||
|
"value": "바탕체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구 (브랜드)/② 글씨체 (바탕체)"
|
||||||
|
},
|
||||||
|
"27": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
||||||
|
"searchValue": "경제적인 생산자를 구별하는 지각된 이미지와 경험의 집합으로 상품이나 회사를 나타내는 상표임",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (브랜드)/③ 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"28": {
|
||||||
|
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
||||||
|
"searchValue": "경제적인 생산자를 구별하는 지각된 이미지와 경험의 집합으로 상품이나 회사를 나타내는 상표임",
|
||||||
|
"value": "DecagonCircleHanja",
|
||||||
|
"points": 2,
|
||||||
|
"category": "PageNumber",
|
||||||
|
"item": "문구 (전당)/④ 각주 번호모양",
|
||||||
|
"desc": {
|
||||||
|
"가,나,다": "HangulSyllable",
|
||||||
|
"1,2,3": "Digit",
|
||||||
|
"일,이,삼": "HangulPhonetic",
|
||||||
|
"갑,을,병": "DecagonCircle",
|
||||||
|
"A,B,C": "LatinCapital",
|
||||||
|
"a,b,c": "LatinSmall",
|
||||||
|
"Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital",
|
||||||
|
"①,②,③": "CircledDigit",
|
||||||
|
"一,二,三": "Ideograph",
|
||||||
|
"㉠,㉡,㉢": "CircledHangulJamo",
|
||||||
|
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
|
||||||
|
"㊀,㊁,㊂": "CircledIdeograph",
|
||||||
|
"i,ii,iii": "RomanSmall",
|
||||||
|
"I,II,III": "RomanCapital",
|
||||||
|
"甲,乙,丙": "DecagonCircleHanja",
|
||||||
|
"+,++,+++": "UserChar",
|
||||||
|
"*,**,***": "UserChar",
|
||||||
|
"정답에 맞는 값 value에 입력": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"29": {
|
||||||
|
"path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])",
|
||||||
|
"ignoreWord": "Pandemic",
|
||||||
|
"value": true,
|
||||||
|
"points": 3,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "Pandemic/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||||
|
"desc": ""
|
||||||
|
},
|
||||||
|
"30": {
|
||||||
|
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
|
||||||
|
"word": [
|
||||||
|
["문화", "文化"],
|
||||||
|
["인기", "人氣"],
|
||||||
|
["초월", "超越"],
|
||||||
|
["미식", "美食"],
|
||||||
|
["정부", "政府"]
|
||||||
|
],
|
||||||
|
"value": 10,
|
||||||
|
"points": 10,
|
||||||
|
"category": "Hanja",
|
||||||
|
"item": "① 문화(文化), ② 인기(人氣), ③ 초월(超越), ④ 미식(美食), ⑤ 정부(政府)"
|
||||||
|
},
|
||||||
|
"31": {
|
||||||
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'전시,문화')])",
|
||||||
|
"value": true,
|
||||||
|
"points": 3,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "문구 (…온라인 문화 전시, 가상 체험, 디지털 공연 등이…)>'문화 / 전시,' 순서바꿈"
|
||||||
|
},
|
||||||
|
"32": {
|
||||||
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'화를현대')])",
|
||||||
|
"value": true,
|
||||||
|
"points": 3,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "문구 (…전통문화는 현대적으로…)>'는 → 를' 글자바꿈"
|
||||||
|
},
|
||||||
|
"33": {
|
||||||
|
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
|
||||||
|
"searchValue": "문화 산업 시장 성장률(단위:%)",
|
||||||
|
"value": "돋움",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "제목 문구 (문화 산업 시장 성장률(단위:%))/① 글씨체 (돋움)"
|
||||||
|
},
|
||||||
|
"34": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "문화 산업 시장 성장률(단위:%)",
|
||||||
|
"value": "1200",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (문화 산업 시장 성장률(단위:%))/② 크기 (1200)"
|
||||||
|
},
|
||||||
|
"35": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"searchValue": "문화 산업 시장 성장률(단위:%)",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "제목 문구 (문화 산업 시장 성장률(단위:%))/③ 진하게"
|
||||||
|
},
|
||||||
|
"36": {
|
||||||
|
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||||
|
"searchValue": "문화 산업 시장 성장률(단위:%)",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (문화 산업 시장 성장률(단위:%))/④ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"37": {
|
||||||
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
||||||
|
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
||||||
|
"value": "233,62,98",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Color",
|
||||||
|
"item": "위쪽 제목 셀/① 색상(RGB:233,62,98)"
|
||||||
|
},
|
||||||
|
"38": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "위쪽 제목 셀/② 진하게",
|
||||||
|
"desc": "글자 속성이라 CELLZONE으로 적용 되지 않음"
|
||||||
|
},
|
||||||
|
"39": {
|
||||||
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Type",
|
||||||
|
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Type",
|
||||||
|
"value": "DoubleSlim",
|
||||||
|
"points": 2,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "제목 셀 아래선/① 이중실선"
|
||||||
|
},
|
||||||
|
"40": {
|
||||||
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Width",
|
||||||
|
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Width",
|
||||||
|
"value": "0.5mm",
|
||||||
|
"points": 2,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "제목 셀 아래선/② 0.5mm"
|
||||||
|
},
|
||||||
|
"41": {
|
||||||
|
"path": "//TABLE//TEXT/@CharShape",
|
||||||
|
"path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
|
||||||
|
"value": "중고딕",
|
||||||
|
"points": 1,
|
||||||
|
"category": "TableFontName",
|
||||||
|
"category_tmp": "FontName",
|
||||||
|
"item": "글자모양/① 글씨체 (중고딕)",
|
||||||
|
"desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경"
|
||||||
|
},
|
||||||
|
"42": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TABLE//TEXT/@CharShape]/@Height",
|
||||||
|
"value": "1000",
|
||||||
|
"points": 1,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "글자모양/② 크기 (1000)"
|
||||||
|
},
|
||||||
|
"43": {
|
||||||
|
"path": "//PARASHAPE[@Id=//TABLE/ROW//P/@ParaShape]/@Align",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "글자모양/③ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"44": {
|
||||||
|
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) or boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
|
||||||
|
"option": "AVG",
|
||||||
|
"value": true,
|
||||||
|
"points": 4,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "블록 계산식/합계",
|
||||||
|
"desc": "option값에 합계는 SUM / 평균은 AVG"
|
||||||
|
},
|
||||||
|
"45": {
|
||||||
|
"chart_xpath": "",
|
||||||
|
"chart_type": "표식만 있는 분산형",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "ChartType",
|
||||||
|
"item": "① 종류 (표식만 있는 분산형)",
|
||||||
|
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
|
||||||
|
},
|
||||||
|
"46": {
|
||||||
|
"chart_xpath": "//c:valAx/c:majorTickMark/@val",
|
||||||
|
"value": "out",
|
||||||
|
"points": 2,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "② 값 축 주 눈금선",
|
||||||
|
"desc": "chart xml파일에서 답안을 가져오는 문항은 path키값 대신 chart_xpath키값을 이용해 xapth구문을 작성한다"
|
||||||
|
},
|
||||||
|
"47": {
|
||||||
|
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Width",
|
||||||
|
"value": "80",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "③ 크기-너비 (80 mm)"
|
||||||
|
},
|
||||||
|
"48": {
|
||||||
|
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Height",
|
||||||
|
"value": "90",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "④ 크기-높이 (90 mm)"
|
||||||
|
},
|
||||||
|
"49": {
|
||||||
|
"chart_xpath": "boolean(//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='합계' or text()='평균']))",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "⑤ 차트 데이터(표에서 블록계산식을 제외한 나머지 값만 이용)",
|
||||||
|
"desc": "차트가 존재하고 블록계산식(합계, 평균) 데이터가 없는 경우 정답 처리"
|
||||||
|
},
|
||||||
|
"50": {
|
||||||
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
||||||
|
"searchValue": "문화 산업 시장 성장률(단위:%)",
|
||||||
|
"value": "굴림체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (문화 산업 시장 성장률(단위:%))/① 글씨체 (굴림체)"
|
||||||
|
},
|
||||||
|
"51": {
|
||||||
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
||||||
|
"searchValue": "문화 산업 시장 성장률(단위:%)",
|
||||||
|
"value": "1300",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (문화 산업 시장 성장률(단위:%))/② 크기 (1300)"
|
||||||
|
},
|
||||||
|
"52": {
|
||||||
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
||||||
|
"option": "b",
|
||||||
|
"searchValue": "문화 산업 시장 성장률(단위:%)",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (문화 산업 시장 성장률(단위:%))/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
},
|
||||||
|
"53": {
|
||||||
|
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface | //c:catAx/c:txPr//a:latin/@typeface",
|
||||||
|
"value": "돋움",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "X축/① 글꼴 (돋움)"
|
||||||
|
},
|
||||||
|
"54": {
|
||||||
|
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "X축/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"55": {
|
||||||
|
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@{option}",
|
||||||
|
"option": "i",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "X축/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
},
|
||||||
|
"56": {
|
||||||
|
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface | //c:valAx/c:txPr//a:latin/@typeface",
|
||||||
|
"value": "돋움",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "Y축/① 글꼴 (돋움)"
|
||||||
|
},
|
||||||
|
"57": {
|
||||||
|
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "Y축/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"58": {
|
||||||
|
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@{option}",
|
||||||
|
"option": "i",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "Y축/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
},
|
||||||
|
"59": {
|
||||||
|
"chart_xpath": "//c:legend//a:ea/@typeface | //c:legend//a:latin/@typeface",
|
||||||
|
"value": "돋움",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "범례/① 글꼴 (돋움)"
|
||||||
|
},
|
||||||
|
"60": {
|
||||||
|
"chart_xpath": "//c:legend//a:defRPr/@sz",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "범례/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"61": {
|
||||||
|
"chart_xpath": "//c:legend//a:defRPr/@{option}",
|
||||||
|
"option": "i",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "범례/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -46,65 +46,65 @@
|
|||||||
"1": {
|
"1": {
|
||||||
"1": {
|
"1": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
||||||
"searchValue": "재활용의 날 행사",
|
"searchValue": "인상파예술특별기획전",
|
||||||
"value": "맑은고딕",
|
"value": "휴먼명조",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (재활용의 날 행사)/① 글씨체 (맑은고딕)"
|
"item": "문구 (인상파예술특별기획전)/① 글씨체 (휴먼명조)"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
||||||
"searchValue": "재활용의 날 행사",
|
"searchValue": "인상파예술특별기획전",
|
||||||
"value": "49,95,151",
|
"value": "95,172,34",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Color",
|
"category": "Color",
|
||||||
"item": "문구 (재활용의 날 행사)/② 채우기 : 색상(RGB:49,95,151)"
|
"item": "문구 (인상파예술특별기획전)/② 채우기 : 색상(RGB:95,172,34)"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
||||||
"searchValue": "재활용의 날 행사",
|
"searchValue": "인상파예술특별기획전",
|
||||||
"value": "100",
|
"value": "130",
|
||||||
"tolerance": 1,
|
"tolerance": 1,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "문구 (재활용의 날 행사)/③ 크기-너비 (100 mm)"
|
"item": "문구 (인상파예술특별기획전)/③ 크기-너비 (130 mm)"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
|
||||||
"searchValue": "재활용의 날 행사",
|
"searchValue": "인상파예술특별기획전",
|
||||||
"value": "20",
|
"value": "20",
|
||||||
"tolerance": 1,
|
"tolerance": 1,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "문구 (재활용의 날 행사)/④ 크기-높이 (20 mm)"
|
"item": "문구 (인상파예술특별기획전)/④ 크기-높이 (20 mm)"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
"searchValue": "재활용의 날 행사",
|
"searchValue": "인상파예술특별기획전",
|
||||||
"value": "true",
|
"value": "true",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (재활용의 날 행사)/⑤ 위치 (글자처럼 취급)"
|
"item": "문구 (인상파예술특별기획전)/⑤ 위치 (글자처럼 취급)"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
|
||||||
"searchValue": "재활용의 날 행사",
|
"searchValue": "인상파예술특별기획전",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (재활용의 날 행사)/⑥ 정렬 (가운데 정렬)"
|
"item": "문구 (인상파예술특별기획전)/⑥ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']",
|
"path": "//TEXTART[@Text='{searchValue}']",
|
||||||
"searchValue": "재활용의 날 행사",
|
"searchValue": "인상파예술특별기획전",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (재활용의 날 행사)/⑦ 글맵시모양 (육안확인)"
|
"item": "문구 (대학교육정책포럼)/⑦ 글맵시모양 (육안확인)"
|
||||||
},
|
},
|
||||||
"8": {
|
"8": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
|
||||||
"searchValue": "한",
|
"searchValue": "빛",
|
||||||
"value": {
|
"value": {
|
||||||
"Height": 2800,
|
"Height": 2800,
|
||||||
"Width": 2800
|
"Width": 2800
|
||||||
@@ -116,23 +116,23 @@
|
|||||||
},
|
},
|
||||||
"9": {
|
"9": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "한",
|
"searchValue": "빛",
|
||||||
"value": "돋움체",
|
"value": "맑은 고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "어/② 글씨체 (돋움체)"
|
"item": "어/② 글씨체 (맑은 고딕)"
|
||||||
},
|
},
|
||||||
"10": {
|
"10": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||||
"searchValue": "한",
|
"searchValue": "빛",
|
||||||
"value": "210,154,216",
|
"value": "244,82,29",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Color",
|
"category": "Color",
|
||||||
"item": "어/③ 면색 : 색상(RGB:210,154,216)"
|
"item": "어/③ 면색 : 색상(RGB:244,82,29)"
|
||||||
},
|
},
|
||||||
"11": {
|
"11": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
||||||
"searchValue": "한",
|
"searchValue": "빛",
|
||||||
"value": "3.0",
|
"value": "3.0",
|
||||||
"tolerance": 1,
|
"tolerance": 1,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
@@ -141,126 +141,126 @@
|
|||||||
},
|
},
|
||||||
"12": {
|
"12": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
"searchValue": "자원재활용이 이루어지는 과정을 담은 영상물 관람과 시설 견학이 있을 예정",
|
"searchValue": "인상파 미술에 대한 깊이 있는 이해를 도와드립니다.",
|
||||||
"value": "BOLD",
|
"value": "ITALIC",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (자원재활용이 이루어지는 과정을 담은 영상물 관람과 시설 견학이 있을 예정)/① BOLD"
|
"item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/① ITALIC"
|
||||||
},
|
},
|
||||||
"13": {
|
"13": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
"searchValue": "자원재활용이 이루어지는 과정을 담은 영상물 관람과 시설 견학이 있을 예정",
|
"searchValue": "인상파 미술에 대한 깊이 있는 이해를 도와드립니다.",
|
||||||
"value": "UNDERLINE",
|
"value": "UNDERLINE",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (자원재활용이 이루어지는 과정을 담은 영상물 관람과 시설 견학이 있을 예정)/② UNDERLINE"
|
"item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/② UNDERLINE"
|
||||||
},
|
},
|
||||||
"14": {
|
"14": {
|
||||||
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||||
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
||||||
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
||||||
"char1": "▣",
|
"char1": "◉",
|
||||||
"char2": "▣",
|
"char2": "◉",
|
||||||
"char3": "※",
|
"char3": "※",
|
||||||
"value": 3,
|
"value": 3,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "SpecialChar",
|
"category": "SpecialChar",
|
||||||
"item": "① ▣ , ② ▣ , ③ ※"
|
"item": "① ◉ , ② ◉ , ③ ※"
|
||||||
},
|
},
|
||||||
"15": {
|
"15": {
|
||||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
"searchValue": "행사안내",
|
"searchValue": "전시정보",
|
||||||
"value": "돋움",
|
"value": "돋움",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구 (▣ 행사안내 ▣)/① 글씨체 (돋움)"
|
"item": "문구 (◉ 전시정보 ◉)/① 글씨체 (돋움)"
|
||||||
},
|
},
|
||||||
"16": {
|
"16": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
"match_str": "행사안내",
|
"match_str": "전시정보",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Align",
|
"category": "Align",
|
||||||
"item": "문구 (▣ 행사안내 ▣)/② 정렬 (가운데 정렬)"
|
"item": "문구 (◉ 전시정보 ◉)/② 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"17": {
|
"17": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
"searchValue": "부산시청 앞 광장, 부산시 쓰레기 매립장 등",
|
"searchValue": "나만의 키링 만들기 체험",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (부산시청 앞 광장, 부산시 쓰레기 매립장 등)/① BOLD"
|
"item": "문구 (나만의 키링 만들기 체험)/① BOLD"
|
||||||
},
|
},
|
||||||
"18": {
|
"18": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
"searchValue": "부산시청 앞 광장, 부산시 쓰레기 매립장 등",
|
"searchValue": "나만의 키링 만들기 체험",
|
||||||
"value": "ITALIC",
|
"value": "ITALIC",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (부산시청 앞 광장, 부산시 쓰레기 매립장 등)/② ITALIC"
|
"item": "문구 (나만의 키링 만들기 체험)/② ITALIC"
|
||||||
},
|
},
|
||||||
"19": {
|
"19": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||||
"searchValue": "기타사항",
|
"searchValue": "기타사항",
|
||||||
"value": {
|
"value": {
|
||||||
"Left": 12,
|
"Left": 15,
|
||||||
"Indent": 12
|
"Indent": 12
|
||||||
},
|
},
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "ParaShape",
|
"category": "ParaShape",
|
||||||
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (12), 내어쓰기 (12)",
|
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15), 내어쓰기 (12)",
|
||||||
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||||
},
|
},
|
||||||
"20": {
|
"20": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||||
"searchValue": "2026. 1. 21.",
|
"searchValue": "2026. 04. 25.",
|
||||||
"value": "1200",
|
"value": "1300",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (2026. 1. 21.)/① 크기 (1200)",
|
"item": "문구 (2026. 04. 25.)/① 크기 (1300)",
|
||||||
"desc": "1pt당 100"
|
"desc": "1pt당 100"
|
||||||
},
|
},
|
||||||
"21": {
|
"21": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
"searchValue": "2026. 1. 21.",
|
"searchValue": "2026. 04. 25.",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (2026. 1. 21.)/② 정렬 (가운데 정렬)"
|
"item": "문구 (2026. 04. 25.)/② 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"22": {
|
"22": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "한국환경보전단체",
|
"searchValue": "성남오아시스예술센터",
|
||||||
"value": "궁서",
|
"value": "돋움체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구 (한국환경보전단체)/① 글씨체 (궁서)"
|
"item": "문구 (성남오아시스예술센터)/① 글씨체 (돋움체)"
|
||||||
},
|
},
|
||||||
"23": {
|
"23": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "한국환경보전단체",
|
"searchValue": "성남오아시스예술센터",
|
||||||
"value": "2400",
|
"value": "2600",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (한국환경보전단체)/② 크기 (2400)"
|
"item": "문구 (성남오아시스예술센터)/② 크기 (2600)"
|
||||||
},
|
},
|
||||||
"24": {
|
"24": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||||
"searchValue": "한국환경보전단체",
|
"searchValue": "성남오아시스예술센터",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (한국환경보전단체)/③ 정렬 (가운데 정렬)"
|
"item": "문구 (성남오아시스예술센터)/③ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "DIAT",
|
"searchValue": "DIAT",
|
||||||
"value": "돋움",
|
"value": "굴림",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Header.FontName",
|
"category": "Header.FontName",
|
||||||
"item": "문구 (DIAT)/① 글꼴 (돋움)"
|
"item": "문구 (DIAT)/① 글꼴 (굴림)"
|
||||||
},
|
},
|
||||||
"26": {
|
"26": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
@@ -308,10 +308,10 @@
|
|||||||
},
|
},
|
||||||
"29": {
|
"29": {
|
||||||
"path": "//PAGENUM/@Pos",
|
"path": "//PAGENUM/@Pos",
|
||||||
"value": "BottomCenter",
|
"value": "BottomRight",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "PageNumber",
|
"category": "PageNumber",
|
||||||
"item": "가운데 아래",
|
"item": "오른쪽 아래",
|
||||||
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
||||||
"desc2": {
|
"desc2": {
|
||||||
"가운데 아래": "BottomCenter",
|
"가운데 아래": "BottomCenter",
|
||||||
@@ -330,11 +330,11 @@
|
|||||||
},
|
},
|
||||||
"31": {
|
"31": {
|
||||||
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
||||||
"value": "190",
|
"value": "200",
|
||||||
"first_word": "한",
|
"first_word": "빛",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "LineSpacing",
|
"category": "LineSpacing",
|
||||||
"item": "문제 1 줄간격 190% 설정",
|
"item": "문제 1 줄간격 200% 설정",
|
||||||
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
|
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -370,14 +370,14 @@
|
|||||||
"value": "50",
|
"value": "50",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.mmSize",
|
"category": "Rectangle.mmSize",
|
||||||
"item": "문구 (재활용 방법)/① 크기-너비 (50 mm)"
|
"item": "문구 (인상주의)/① 크기-너비 (50 mm)"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||||
"value": "12",
|
"value": "12",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.mmSize",
|
"category": "Rectangle.mmSize",
|
||||||
"item": "문구 (재활용 방법)/② 크기-높이 (12 mm)"
|
"item": "문구 (인상주의)/② 크기-높이 (12 mm)"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"path": "//RECTANGLE//LINESHAPE",
|
"path": "//RECTANGLE//LINESHAPE",
|
||||||
@@ -387,51 +387,51 @@
|
|||||||
},
|
},
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.LineShape",
|
"category": "Rectangle.LineShape",
|
||||||
"item": "문구 (재활용 방법)/③ 테두리 : 이중 실선(1.00mm)",
|
"item": "문구 (인상주의)/③ 테두리 : 이중 실선(1.00mm)",
|
||||||
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"path": "//RECTANGLE/@Ratio",
|
"path": "//RECTANGLE/@Ratio",
|
||||||
"value": "20",
|
"value": "50",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.OneAnswer",
|
"category": "Rectangle.OneAnswer",
|
||||||
"item": "문구 (재활용 방법)/④ 글상자 모서리 (둥근모양)",
|
"item": "문구 (인상주의)/④ 글상자 모서리 (둥근모양)",
|
||||||
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||||
},
|
},
|
||||||
"8": {
|
"8": {
|
||||||
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
|
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
|
||||||
"value": "227,220,193",
|
"value": "245,177,248",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.Color",
|
"category": "Rectangle.Color",
|
||||||
"item": "문구 (재활용 방법)/⑤ 채우기 : 색상(RGB:227,220,193)"
|
"item": "문구 (인상주의)/⑤ 채우기 : 색상(RGB:245,177,248)"
|
||||||
},
|
},
|
||||||
"9": {
|
"9": {
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
|
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
"value": "true",
|
"value": "true",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.OneAnswer",
|
"category": "Rectangle.OneAnswer",
|
||||||
"item": "문구 (재활용 방법)/⑥ 글상자 위치 (글자처럼 취급)"
|
"item": "문구 (인상주의)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||||
},
|
},
|
||||||
"10": {
|
"10": {
|
||||||
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
|
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.TextBoxAlign",
|
"category": "Rectangle.TextBoxAlign",
|
||||||
"item": "문구 (재활용 방법)/⑦ 글상자 정렬 (가운데 정렬)"
|
"item": "문구 (인상주의)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"11": {
|
"11": {
|
||||||
"path": ".//RECTANGLE//TEXT/@CharShape",
|
"path": ".//RECTANGLE//TEXT/@CharShape",
|
||||||
"value": "굴림체",
|
"value": "견고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.FontName",
|
"category": "Rectangle.FontName",
|
||||||
"item": "문구 (재활용 방법)/⑧ 글씨체 (굴림체)"
|
"item": "문구 (인상주의)/⑧ 글씨체 (견고딕)"
|
||||||
},
|
},
|
||||||
"12": {
|
"12": {
|
||||||
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
|
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
|
||||||
"value": "1800",
|
"value": "2200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.FontSize",
|
"category": "Rectangle.FontSize",
|
||||||
"item": "문구 (재활용 방법)/⑨ 글씨크기 (1800)",
|
"item": "문구 (인상주의)/⑨ 글씨크기 (2200)",
|
||||||
"desc": "1pt당 100"
|
"desc": "1pt당 100"
|
||||||
},
|
},
|
||||||
"13": {
|
"13": {
|
||||||
@@ -439,22 +439,22 @@
|
|||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.TextBoxAlign",
|
"category": "Rectangle.TextBoxAlign",
|
||||||
"item": "문구 (재활용 방법)/⑩ 정렬 (가운데 정렬)"
|
"item": "문구 (인상주의)/⑩ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"14": {
|
"14": {
|
||||||
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
|
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "① 파일명 \"그림A.jpg\" 삽입",
|
"item": "① 파일명 \"그림C.jpg\" 삽입",
|
||||||
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||||
},
|
},
|
||||||
"15": {
|
"15": {
|
||||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
||||||
"value": "80",
|
"value": "85",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "② 크기-너비 (80 mm)"
|
"item": "② 크기-너비 (85 mm)"
|
||||||
},
|
},
|
||||||
"16": {
|
"16": {
|
||||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
||||||
@@ -479,83 +479,83 @@
|
|||||||
},
|
},
|
||||||
"19": {
|
"19": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "1. 재활용이란?",
|
"searchValue": "1. 인상주의란?",
|
||||||
"value": "돋움체",
|
"value": "돋움체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구① (1. 재활용이란?)/① 글씨체 (돋움체)"
|
"item": "문구① (1. 인상주의란?)/① 글씨체 (중고딕)"
|
||||||
},
|
},
|
||||||
"20": {
|
"20": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "1. 재활용이란?",
|
"searchValue": "1. 인상주의란?",
|
||||||
"value": "1200",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구① (1. 재활용이란?)/② 크기 (1200)"
|
"item": "문구① (1. 인상주의란?)/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"21": {
|
"21": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "1. 재활용이란?",
|
"searchValue": "1. 인상주의란?",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구① (1. 재활용이란?)/③ 진하게"
|
"item": "문구① (1. 인상주의란?)/③ 진하게"
|
||||||
},
|
},
|
||||||
"22": {
|
"22": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "2. 식재료 재활용 방법",
|
"searchValue": "2. 인상파 화가",
|
||||||
"value": "돋움체",
|
"value": "돋움체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구② (2. 식재료 재활용 방법)/① 글씨체 (돋움체)"
|
"item": "문구② (2. 인상파 화가)/① 글씨체 (돋움체)"
|
||||||
},
|
},
|
||||||
"23": {
|
"23": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "2. 식재료 재활용 방법",
|
"searchValue": "2. 인상파 화가",
|
||||||
"value": "1200",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구② (2. 식재료 재활용 방법)/② 크기 (1200)"
|
"item": "문구② (2. 인상파 화가)/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"24": {
|
"24": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "2. 식재료 재활용 방법",
|
"searchValue": "2. 인상파 화가",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구② (2. 식재료 재활용 방법)/③ 진하게"
|
"item": "문구② (2. 인상파 화가)/③ 진하게"
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
||||||
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
||||||
"option": "얼룩",
|
"option": "연작",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (얼룩)/① 각주 설정 및 문구 입력"
|
"item": "문구 (연작)/① 각주 설정 및 문구 입력"
|
||||||
},
|
},
|
||||||
"26": {
|
"26": {
|
||||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
"searchValue": "본바탕에 다른 빛깔의 점이나 줄 따위가 뚜렷하게 섞인 자국",
|
"searchValue": "변화 포착을 위해 같은 풍경을 반복적으로 그림",
|
||||||
"value": "돋움체",
|
"value": "굴림체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구 (얼룩)/② 글씨체 (돋움체)"
|
"item": "문구 (연작)/② 글씨체 (굴림체)"
|
||||||
},
|
},
|
||||||
"27": {
|
"27": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
||||||
"searchValue": "본바탕에 다른 빛깔의 점이나 줄 따위가 뚜렷하게 섞인 자국",
|
"searchValue": "변화 포착을 위해 같은 풍경을 반복적으로 그림",
|
||||||
"value": "900",
|
"value": "900",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (얼룩)/③ 크기 (9pt)"
|
"item": "문구 (연작)/③ 크기 (9pt)"
|
||||||
},
|
},
|
||||||
"28": {
|
"28": {
|
||||||
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
||||||
"searchValue": "본바탕에 다른 빛깔의 점이나 줄 따위가 뚜렷하게 섞인 자국",
|
"searchValue": "변화 포착을 위해 같은 풍경을 반복적으로 그림",
|
||||||
"value": "LatinSmall",
|
"value": "CircledIdeograph",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "PageNumber",
|
||||||
"item": "문구 (전당)/④ 각주 번호모양",
|
"item": "문구 (전당)/④ 각주 번호모양",
|
||||||
"desc": {
|
"desc": {
|
||||||
"가,나,다": "HangulSyllable",
|
"가,나,다": "HangulSyllable",
|
||||||
@@ -580,80 +580,80 @@
|
|||||||
},
|
},
|
||||||
"29": {
|
"29": {
|
||||||
"path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])",
|
"path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])",
|
||||||
"ignoreWord": "Refrigerator",
|
"ignoreWord": "Expression",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "Refrigerator/영단어 미입력, 대소문자/오타 시 전체 감점",
|
"item": "Expression/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||||
"desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요"
|
"desc": ""
|
||||||
},
|
},
|
||||||
"30": {
|
"30": {
|
||||||
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
|
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
|
||||||
"word": [
|
"word": [
|
||||||
["적자", "赤字"],
|
["규범", "規範"],
|
||||||
["가치", "價値"],
|
["관찰", "觀察"],
|
||||||
["제거", "除去"],
|
["화가", "畫家"],
|
||||||
["청소", "淸掃"],
|
["탐구", "探究"],
|
||||||
["광택", "光澤"]
|
["여성", "女性"]
|
||||||
],
|
],
|
||||||
"value": 10,
|
"value": 10,
|
||||||
"points": 10,
|
"points": 10,
|
||||||
"category": "Hanja",
|
"category": "Hanja",
|
||||||
"item": "① 적자(赤字), ② 가치(價値), ③ 제거(除去), ④ 청소(淸掃), ⑤ 광택(光澤)"
|
"item": "① 규범(規範), ② 관찰(觀察), ③ 화가(畫家), ④ 탐구(探究), ⑤ 여성(女性)"
|
||||||
},
|
},
|
||||||
"31": {
|
"31": {
|
||||||
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'용은주로')])",
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'화를가져')])",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (…재활용이 주로 정치적…)>'이'→'은' 글자바꿈"
|
"item": "문구 (…큰 변화를 갖져왔다.…)>'갖' → '가' 글자바꿈"
|
||||||
},
|
},
|
||||||
"32": {
|
"32": {
|
||||||
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'량만재활')])",
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'료로활용')])",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (상징적으로 재활용 소량만 하는 경우도)>'재활용 / 소량만' 순서바꿈"
|
"item": "문구 (…문화 상품과 교육 활용되며 자료로 대중문화에도…)>'활용되며 / 자료로' 순서바꿈"
|
||||||
},
|
},
|
||||||
"33": {
|
"33": {
|
||||||
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
|
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
|
||||||
"searchValue": "재활용 주민 참여율(%)",
|
"searchValue": "인상파 작품 소장 현황",
|
||||||
"value": "궁서",
|
"value": "돋움체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "제목 문구 (재활용 주민 참여율(%))/① 글씨체 (궁서)"
|
"item": "제목 문구 (인상파 작품 소장 현황)/① 글씨체 (돋움체)"
|
||||||
},
|
},
|
||||||
"34": {
|
"34": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "재활용 주민 참여율(%)",
|
"searchValue": "인상파 작품 소장 현황",
|
||||||
"value": "1200",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (재활용 주민 참여율(%))/② 크기 (1200)"
|
"item": "제목 문구 (인상파 작품 소장 현황)/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"35": {
|
"35": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "재활용 주민 참여율(%)",
|
"searchValue": "인상파 작품 소장 현황",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "제목 문구 (재활용 주민 참여율(%))/③ 진하게"
|
"item": "제목 문구 (인상파 작품 소장 현황)/③ 진하게"
|
||||||
},
|
},
|
||||||
"36": {
|
"36": {
|
||||||
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||||
"searchValue": "재활용 주민 참여율(%)",
|
"searchValue": "인상파 작품 소장 현황",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (재활용 주민 참여율(%))/④ 정렬 (가운데 정렬)"
|
"item": "제목 문구 (인상파 작품 소장 현황(단위: 천 명))/④ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"37": {
|
"37": {
|
||||||
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
||||||
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
||||||
"value": "33,174,201",
|
"value": "84,207,228",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Color",
|
"category": "Color",
|
||||||
"item": "위쪽 제목 셀/① 색상(RGB:33,174,201)"
|
"item": "위쪽 제목 셀/① 색상(RGB:84,207,228)"
|
||||||
},
|
},
|
||||||
"38": {
|
"38": {
|
||||||
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
|
||||||
@@ -682,11 +682,11 @@
|
|||||||
"41": {
|
"41": {
|
||||||
"path": "//TABLE//TEXT/@CharShape",
|
"path": "//TABLE//TEXT/@CharShape",
|
||||||
"path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
|
"path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
|
||||||
"value": "굴림",
|
"value": "중고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "TableFontName",
|
"category": "TableFontName",
|
||||||
"category_tmp": "FontName",
|
"category_tmp": "FontName",
|
||||||
"item": "글자모양/① 글씨체 (굴림)",
|
"item": "글자모양/① 글씨체 (중고딕)",
|
||||||
"desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경"
|
"desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경"
|
||||||
},
|
},
|
||||||
"42": {
|
"42": {
|
||||||
@@ -704,8 +704,8 @@
|
|||||||
"item": "글자모양/③ 정렬 (가운데 정렬)"
|
"item": "글자모양/③ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"44": {
|
"44": {
|
||||||
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) and boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
|
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) or boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
|
||||||
"option": "AVG",
|
"option": "SUM",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 4,
|
"points": 4,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
@@ -714,11 +714,11 @@
|
|||||||
},
|
},
|
||||||
"45": {
|
"45": {
|
||||||
"chart_xpath": "",
|
"chart_xpath": "",
|
||||||
"chart_type": "표식만 있는 분산형",
|
"chart_type": "100% 기준 누적 세로 막대형",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "ChartType",
|
"category": "ChartType",
|
||||||
"item": "① 종류 (표식만 있는 분산형)",
|
"item": "① 종류 (100% 기준 누적 세로 막대형)",
|
||||||
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
|
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
|
||||||
},
|
},
|
||||||
"46": {
|
"46": {
|
||||||
@@ -753,36 +753,36 @@
|
|||||||
},
|
},
|
||||||
"50": {
|
"50": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
||||||
"searchValue": "도시별 재활용 참여율",
|
"searchValue": "인상파 작품 소장 현황",
|
||||||
"value": "돋움",
|
"value": "궁서체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (도시별 재활용 참여율)/① 글씨체 (돋움)"
|
"item": "제목 문구 (인상파 작품 소장 현황)/① 글씨체 (궁서체)"
|
||||||
},
|
},
|
||||||
"51": {
|
"51": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
||||||
"searchValue": "도시별 재활용 참여율",
|
"searchValue": "인상파 작품 소장 현황",
|
||||||
"value": "1300",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (도시별 재활용 참여율)/② 크기 (1300)"
|
"item": "제목 문구 (인상파 작품 소장 현황)/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"52": {
|
"52": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
||||||
"option": "b",
|
"option": "b",
|
||||||
"searchValue": "도시별 재활용 참여율",
|
"searchValue": "인상파 작품 소장 현황",
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (도시별 재활용 참여율)/③ 기울임",
|
"item": "제목 문구 (인상파 작품 소장 현황)/③ 기울임",
|
||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"53": {
|
"53": {
|
||||||
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface",
|
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface | //c:catAx/c:txPr//a:latin/@typeface",
|
||||||
"value": "바탕",
|
"value": "궁서",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "ChartOneAnswer",
|
"category": "ChartOneAnswer",
|
||||||
"item": "X축/① 글꼴 (바탕)"
|
"item": "X축/① 글꼴 (궁서)"
|
||||||
},
|
},
|
||||||
"54": {
|
"54": {
|
||||||
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
|
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
|
||||||
@@ -801,11 +801,11 @@
|
|||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"56": {
|
"56": {
|
||||||
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface",
|
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface | //c:valAx/c:txPr//a:latin/@typeface",
|
||||||
"value": "바탕",
|
"value": "궁서",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "ChartOneAnswer",
|
"category": "ChartOneAnswer",
|
||||||
"item": "Y축/① 글꼴 (바탕)"
|
"item": "Y축/① 글꼴 (궁서)"
|
||||||
},
|
},
|
||||||
"57": {
|
"57": {
|
||||||
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
|
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
|
||||||
@@ -824,11 +824,11 @@
|
|||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"59": {
|
"59": {
|
||||||
"chart_xpath": "//c:legend//a:ea/@typeface",
|
"chart_xpath": "//c:legend//a:ea/@typeface | //c:legend//a:latin/@typeface",
|
||||||
"value": "바탕",
|
"value": "궁서",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "범례/① 글꼴 (바탕)"
|
"item": "범례/① 글꼴 (궁서)"
|
||||||
},
|
},
|
||||||
"60": {
|
"60": {
|
||||||
"chart_xpath": "//c:legend//a:defRPr/@sz",
|
"chart_xpath": "//c:legend//a:defRPr/@sz",
|
||||||
840
JSON/2604_2/DIW_2604_2A.json
Normal file
840
JSON/2604_2/DIW_2604_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": "201,102,248",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Color",
|
||||||
|
"item": "문구 (소셜네트워킹전략컨퍼런스)/② 채우기 : 색상(RGB:201,102,248)"
|
||||||
|
},
|
||||||
|
"3": {
|
||||||
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
||||||
|
"searchValue": "소셜네트워킹전략컨퍼런스",
|
||||||
|
"value": "120",
|
||||||
|
"tolerance": 1,
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "문구 (소셜네트워킹전략컨퍼런스)/③ 크기-너비 (120 mm)"
|
||||||
|
},
|
||||||
|
"4": {
|
||||||
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
|
||||||
|
"searchValue": "소셜네트워킹전략컨퍼런스",
|
||||||
|
"value": "20",
|
||||||
|
"tolerance": 1,
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "문구 (소셜네트워킹전략컨퍼런스)/④ 크기-높이 (20 mm)"
|
||||||
|
},
|
||||||
|
"5": {
|
||||||
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
|
"searchValue": "소셜네트워킹전략컨퍼런스",
|
||||||
|
"value": "true",
|
||||||
|
"points": 2,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (소셜네트워킹전략컨퍼런스)/⑤ 위치 (글자처럼 취급)"
|
||||||
|
},
|
||||||
|
"6": {
|
||||||
|
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
|
||||||
|
"searchValue": "소셜네트워킹전략컨퍼런스",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 2,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (소셜네트워킹전략컨퍼런스)/⑥ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"7": {
|
||||||
|
"path": "//TEXTART[@Text='{searchValue}']",
|
||||||
|
"searchValue": "소셜네트워킹전략컨퍼런스",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "문구 (소셜네트워킹전략컨퍼런스)/⑦ 글맵시모양 (육안확인)"
|
||||||
|
},
|
||||||
|
"8": {
|
||||||
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
|
||||||
|
"searchValue": "최",
|
||||||
|
"value": {
|
||||||
|
"Height": 2800,
|
||||||
|
"Width": 2800
|
||||||
|
},
|
||||||
|
"tolerance": 200,
|
||||||
|
"points": 1,
|
||||||
|
"category": "TwoLineSize",
|
||||||
|
"item": "어/① 모양 (2줄)"
|
||||||
|
},
|
||||||
|
"9": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "최",
|
||||||
|
"value": "궁서",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "어/② 글씨체 (궁서)"
|
||||||
|
},
|
||||||
|
"10": {
|
||||||
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||||
|
"searchValue": "최",
|
||||||
|
"value": "218,202,48",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Color",
|
||||||
|
"item": "어/③ 면색 : 색상(RGB:218,202,48)"
|
||||||
|
},
|
||||||
|
"11": {
|
||||||
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
||||||
|
"searchValue": "최",
|
||||||
|
"value": "3.0",
|
||||||
|
"tolerance": 1,
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "어/④ 본문과의 간격 : 3.0mm"
|
||||||
|
},
|
||||||
|
"12": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
|
"searchValue": "소셜 네트워킹 서비스",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 2,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/① BOLD"
|
||||||
|
},
|
||||||
|
"13": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
|
"searchValue": "소셜 네트워킹 서비스",
|
||||||
|
"value": "ITALIC",
|
||||||
|
"points": 2,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/② ITALIC"
|
||||||
|
},
|
||||||
|
"14": {
|
||||||
|
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||||
|
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
||||||
|
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
||||||
|
"char1": "□",
|
||||||
|
"char2": "□",
|
||||||
|
"char3": "※",
|
||||||
|
"value": 3,
|
||||||
|
"points": 3,
|
||||||
|
"category": "SpecialChar",
|
||||||
|
"item": "① □, ② □, ③ ※"
|
||||||
|
},
|
||||||
|
"15": {
|
||||||
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
|
"searchValue": "행사안내",
|
||||||
|
"value": "굴림",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구 (□ 행사안내 □)/① 글씨체 (굴림)"
|
||||||
|
},
|
||||||
|
"16": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
|
"match_str": "행사안내",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Align",
|
||||||
|
"item": "문구 (□ 행사안내 □)/② 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"17": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
|
"searchValue": "서울 강남구 한국정보기술협력센터 3층 대회의장",
|
||||||
|
"value": "ITALIC",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구 (서울 강남구 한국정보기술협력센터 3층 대회의장)/① ITALIC"
|
||||||
|
},
|
||||||
|
"18": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
|
"searchValue": "서울 강남구 한국정보기술협력센터 3층 대회의장",
|
||||||
|
"value": "UNDERLINE",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구 (서울 강남구 한국정보기술협력센터 3층 대회의장)/② UNDERLINE"
|
||||||
|
},
|
||||||
|
"19": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||||
|
"searchValue": "기타사항",
|
||||||
|
"value": {
|
||||||
|
"Left": 10,
|
||||||
|
"Indent": 12
|
||||||
|
},
|
||||||
|
"points": 2,
|
||||||
|
"category": "ParaShape",
|
||||||
|
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (10), 내어쓰기 (12)",
|
||||||
|
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||||
|
},
|
||||||
|
"20": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||||
|
"searchValue": "2026. 04. 07.",
|
||||||
|
"value": "1400",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (2026. 04. 07.)/① 크기 (1400)",
|
||||||
|
"desc": "1pt당 100"
|
||||||
|
},
|
||||||
|
"21": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
|
"searchValue": "2026. 04. 07.",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (2026. 04. 07.)/② 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"22": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "한국정보서비스학회장",
|
||||||
|
"value": "궁서체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구 (한국정보서비스학회장)/① 글씨체 (궁서체)"
|
||||||
|
},
|
||||||
|
"23": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "한국정보서비스학회장",
|
||||||
|
"value": "2000",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (한국정보서비스학회장)/② 크기 (2000)"
|
||||||
|
},
|
||||||
|
"24": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||||
|
"searchValue": "한국정보서비스학회장",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (한국정보서비스학회장)/③ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"25": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "DIAT",
|
||||||
|
"value": "돋움",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Header.FontName",
|
||||||
|
"item": "문구 (DIAT)/① 글꼴 (돋움)"
|
||||||
|
},
|
||||||
|
"26": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "DIAT",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Header.OneAnswer",
|
||||||
|
"item": "문구 (DIAT)/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"27": {
|
||||||
|
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
|
||||||
|
"searchValue": "DIAT",
|
||||||
|
"value": "Right",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Header.OneAnswer",
|
||||||
|
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
|
||||||
|
},
|
||||||
|
"28": {
|
||||||
|
"path": "//PAGENUM/@FormatType",
|
||||||
|
"value": "Digit",
|
||||||
|
"points": 2,
|
||||||
|
"category": "PageNumber",
|
||||||
|
"item": "① 쪽 번호 매기기 (가,나,다 순으로)",
|
||||||
|
"desc1": {
|
||||||
|
"가,나,다": "HangulSyllable",
|
||||||
|
"1,2,3": "Digit",
|
||||||
|
"일,이,삼": "HangulPhonetic",
|
||||||
|
"갑,을,병": "DecagonCircle",
|
||||||
|
"A,B,C": "LatinCapital",
|
||||||
|
"a,b,c": "LatinSmall",
|
||||||
|
"Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital",
|
||||||
|
"①,②,③": "CircledDigit",
|
||||||
|
"一,二,三": "Ideograph",
|
||||||
|
"㉠,㉡,㉢": "CircledHangulJamo",
|
||||||
|
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
|
||||||
|
"㊀,㊁,㊂": "CircledIdeograph",
|
||||||
|
"i,ii,iii": "RomanSmall",
|
||||||
|
"I,II,III": "RomanCapital",
|
||||||
|
"甲,乙,丙": "DecagonCircleHanja",
|
||||||
|
"+,++,+++": "UserChar",
|
||||||
|
"*,**,***": "UserChar",
|
||||||
|
"정답에 맞는 값 value에 입력": ""
|
||||||
|
},
|
||||||
|
"desc2": "1, 2페이지 모두 정답이어야 점수 부여"
|
||||||
|
},
|
||||||
|
"29": {
|
||||||
|
"path": "//PAGENUM/@Pos",
|
||||||
|
"value": "BottomCenter",
|
||||||
|
"points": 2,
|
||||||
|
"category": "PageNumber",
|
||||||
|
"item": "가운데 아래",
|
||||||
|
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
||||||
|
"desc2": {
|
||||||
|
"가운데 아래": "BottomCenter",
|
||||||
|
"오른쪽 아래": "BottomRight",
|
||||||
|
"왼쪽 아래": "BottomLeft"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"30": {
|
||||||
|
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
||||||
|
"value": "180",
|
||||||
|
"points": 2,
|
||||||
|
"category": "LineSpacing",
|
||||||
|
"item": "문제 1 줄간격 180% 설정",
|
||||||
|
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점)"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"1": {
|
||||||
|
"path": "//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@HeaderInside",
|
||||||
|
"path2": "//BORDERFILL[@Id=//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@BorferFill]",
|
||||||
|
"value": {
|
||||||
|
"header_inside": true,
|
||||||
|
"all_double_slim": true
|
||||||
|
},
|
||||||
|
"points": 4,
|
||||||
|
"category": "PageBorder",
|
||||||
|
"item": "문제2 쪽테두리(이중 실선, 머리말 포함) 설정"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"path": "count(//SECTION)>1",
|
||||||
|
"value": true,
|
||||||
|
"points": 3,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "① 구역나누기",
|
||||||
|
"desc": "섹션이 1개 이상이면 점수부여"
|
||||||
|
},
|
||||||
|
"3": {
|
||||||
|
"path": "./TEXT/COLDEF/@Count",
|
||||||
|
"value": "2",
|
||||||
|
"points": 3,
|
||||||
|
"category": "TwoColumn",
|
||||||
|
"item": "② 다단 2단"
|
||||||
|
},
|
||||||
|
"4": {
|
||||||
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||||
|
"value": "70",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.mmSize",
|
||||||
|
"item": "문구 (소셜 네트워킹 서비스)/① 크기-너비 (70 mm)"
|
||||||
|
},
|
||||||
|
"5": {
|
||||||
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||||
|
"value": "12",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.mmSize",
|
||||||
|
"item": "문구 (소셜 네트워킹 서비스)/② 크기-높이 (12 mm)"
|
||||||
|
},
|
||||||
|
"6": {
|
||||||
|
"path": "//RECTANGLE//LINESHAPE",
|
||||||
|
"value": {
|
||||||
|
"Style": "DoubleSlim",
|
||||||
|
"Width": "283"
|
||||||
|
},
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.LineShape",
|
||||||
|
"item": "문구 (소셜 네트워킹 서비스)/③ 테두리 : 이중 실선(1.00mm)",
|
||||||
|
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||||
|
},
|
||||||
|
"7": {
|
||||||
|
"path": "//RECTANGLE/@Ratio",
|
||||||
|
"value": "50",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.OneAnswer",
|
||||||
|
"item": "문구 (소셜 네트워킹 서비스)/④ 글상자 모서리 (둥근모양)",
|
||||||
|
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||||
|
},
|
||||||
|
"8": {
|
||||||
|
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
|
||||||
|
"value": "90,233,53",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Rectangle.Color",
|
||||||
|
"item": "문구 (소셜 네트워킹 서비스)/⑤ 채우기 : 색상(RGB:90,233,53)"
|
||||||
|
},
|
||||||
|
"9": {
|
||||||
|
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
|
"value": "true",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.OneAnswer",
|
||||||
|
"item": "문구 (소셜 네트워킹 서비스)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||||
|
},
|
||||||
|
"10": {
|
||||||
|
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.TextBoxAlign",
|
||||||
|
"item": "문구 (소셜 네트워킹 서비스)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"11": {
|
||||||
|
"path": ".//RECTANGLE//TEXT/@CharShape",
|
||||||
|
"value": "궁서체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.FontName",
|
||||||
|
"item": "문구 (소셜 네트워킹 서비스)/⑧ 글씨체 (궁서체)"
|
||||||
|
},
|
||||||
|
"12": {
|
||||||
|
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
|
||||||
|
"value": "1800",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.FontSize",
|
||||||
|
"item": "문구 (소셜 네트워킹 서비스)/⑨ 글씨크기 (1800)",
|
||||||
|
"desc": "1pt당 100"
|
||||||
|
},
|
||||||
|
"13": {
|
||||||
|
"path": "//PARASHAPE[@Id={rect_parashape_id}]/@Align",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "Rectangle.TextBoxAlign",
|
||||||
|
"item": "문구 (소셜 네트워킹 서비스)/⑩ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"14": {
|
||||||
|
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "① 파일명 \"그림A.jpg\" 삽입",
|
||||||
|
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||||
|
},
|
||||||
|
"15": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
||||||
|
"value": "80",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "② 크기-너비 (80 mm)"
|
||||||
|
},
|
||||||
|
"16": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
||||||
|
"value": "45",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "③ 크기-높이 (45 mm)"
|
||||||
|
},
|
||||||
|
"17": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset",
|
||||||
|
"value": "0",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0mm)"
|
||||||
|
},
|
||||||
|
"18": {
|
||||||
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
||||||
|
"value": "22",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 22 mm)"
|
||||||
|
},
|
||||||
|
"19": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "1. 소셜 네트워킹 서비스",
|
||||||
|
"value": "굴림체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구① (1. 소셜 네트워킹 서비스)/① 글씨체 (굴림체)"
|
||||||
|
},
|
||||||
|
"20": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "1. 소셜 네트워킹 서비스",
|
||||||
|
"value": "1200",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구① (1. 소셜 네트워킹 서비스)/② 크기 (1200)"
|
||||||
|
},
|
||||||
|
"21": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"searchValue": "1. 소셜 네트워킹 서비스",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구① (1. 소셜 네트워킹 서비스)/③ 진하게"
|
||||||
|
},
|
||||||
|
"22": {
|
||||||
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
|
"searchValue": "2. 소셜 네트워킹 서비스 활용",
|
||||||
|
"value": "굴림체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구② (2. 소셜 네트워킹 서비스 활용)/① 글씨체 (굴림체)"
|
||||||
|
},
|
||||||
|
"23": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "2. 소셜 네트워킹 서비스 활용",
|
||||||
|
"value": "1200",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구② (2. 소셜 네트워킹 서비스 활용)/② 크기 (1200)"
|
||||||
|
},
|
||||||
|
"24": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"searchValue": "2. 소셜 네트워킹 서비스 활용",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "문구② (2. 소셜 네트워킹 서비스 활용)/③ 진하게"
|
||||||
|
},
|
||||||
|
"25": {
|
||||||
|
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
||||||
|
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
||||||
|
"option": "마이크로블로깅",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "문구 (마이크로블로깅)/① 각주 설정 및 문구 입력"
|
||||||
|
},
|
||||||
|
"26": {
|
||||||
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
|
"searchValue": "블로거가 한두 문장 정도의 단편적 정보를 관심이 있는 개인들에게 전달하는 통신방식",
|
||||||
|
"value": "돋움",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "문구 (마이크로블로깅)/② 글씨체 (돋움)"
|
||||||
|
},
|
||||||
|
"27": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
||||||
|
"searchValue": "블로거가 한두 문장 정도의 단편적 정보를 관심이 있는 개인들에게 전달하는 통신방식",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "문구 (마이크로블로깅)/③ 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"28": {
|
||||||
|
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
||||||
|
"searchValue": "블로거가 한두 문장 정도의 단편적 정보를 관심이 있는 개인들에게 전달하는 통신방식",
|
||||||
|
"value": "CircledIdeograph",
|
||||||
|
"points": 2,
|
||||||
|
"category": "PageNumber",
|
||||||
|
"item": "문구 (전당)/④ 각주 번호모양",
|
||||||
|
"desc": {
|
||||||
|
"가,나,다": "HangulSyllable",
|
||||||
|
"1,2,3": "Digit",
|
||||||
|
"일,이,삼": "HangulPhonetic",
|
||||||
|
"갑,을,병": "DecagonCircle",
|
||||||
|
"A,B,C": "LatinCapital",
|
||||||
|
"a,b,c": "LatinSmall",
|
||||||
|
"Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital",
|
||||||
|
"①,②,③": "CircledDigit",
|
||||||
|
"一,二,三": "Ideograph",
|
||||||
|
"㉠,㉡,㉢": "CircledHangulJamo",
|
||||||
|
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
|
||||||
|
"㊀,㊁,㊂": "CircledIdeograph",
|
||||||
|
"i,ii,iii": "RomanSmall",
|
||||||
|
"I,II,III": "RomanCapital",
|
||||||
|
"甲,乙,丙": "DecagonCircleHanja",
|
||||||
|
"+,++,+++": "UserChar",
|
||||||
|
"*,**,***": "UserChar",
|
||||||
|
"정답에 맞는 값 value에 입력": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"29": {
|
||||||
|
"path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])",
|
||||||
|
"ignoreWord": "Marketing",
|
||||||
|
"value": true,
|
||||||
|
"points": 3,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "Marketing/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||||
|
"desc": ""
|
||||||
|
},
|
||||||
|
"30": {
|
||||||
|
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
|
||||||
|
"word": [
|
||||||
|
["방식", "方式"],
|
||||||
|
["관계", "關係"],
|
||||||
|
["획득", "獲得"],
|
||||||
|
["정보", "情報"],
|
||||||
|
["절감", "節減"]
|
||||||
|
],
|
||||||
|
"value": 10,
|
||||||
|
"points": 10,
|
||||||
|
"category": "Hanja",
|
||||||
|
"item": "① 방식(方式), ② 관계(關係), ③ 획득(獲得), ④ 정보(情報), ⑤ 절감(節減)"
|
||||||
|
},
|
||||||
|
"31": {
|
||||||
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'적인매체')])",
|
||||||
|
"value": true,
|
||||||
|
"points": 3,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "문구 (…대표적의 매체로…)>'의' → '인' 글자바꿈"
|
||||||
|
},
|
||||||
|
"32": {
|
||||||
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'인이필요')])",
|
||||||
|
"value": true,
|
||||||
|
"points": 3,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "문구 (…필요한 개인이 정보를…)>'필요한' / '개인이' 순서바꿈"
|
||||||
|
},
|
||||||
|
"33": {
|
||||||
|
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
|
||||||
|
"searchValue": "스마트폰 가입자 수(단위 : 만 명)",
|
||||||
|
"value": "중고딕",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontName",
|
||||||
|
"item": "제목 문구 (스마트폰 가입자 수(단위 : 만 명))/① 글씨체 (중고딕)"
|
||||||
|
},
|
||||||
|
"34": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
|
"searchValue": "스마트폰 가입자 수(단위 : 만 명)",
|
||||||
|
"value": "1200",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (스마트폰 가입자 수(단위 : 만 명))/② 크기 (1200)"
|
||||||
|
},
|
||||||
|
"35": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
|
"searchValue": "스마트폰 가입자 수(단위 : 만 명)",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "제목 문구 (스마트폰 가입자 수(단위 : 만 명))/③ 진하게"
|
||||||
|
},
|
||||||
|
"36": {
|
||||||
|
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||||
|
"searchValue": "스마트폰 가입자 수(단위 : 만 명)",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (스마트폰 가입자 수(단위 : 만 명))/④ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"37": {
|
||||||
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
||||||
|
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
||||||
|
"value": "248,203,169",
|
||||||
|
"points": 2,
|
||||||
|
"category": "Color",
|
||||||
|
"item": "위쪽 제목 셀/① 색상(RGB:248,203,169)"
|
||||||
|
},
|
||||||
|
"38": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
|
||||||
|
"value": "BOLD",
|
||||||
|
"points": 1,
|
||||||
|
"category": "FontAttribute",
|
||||||
|
"item": "위쪽 제목 셀/② 진하게",
|
||||||
|
"desc": "글자 속성이라 CELLZONE으로 적용 되지 않음"
|
||||||
|
},
|
||||||
|
"39": {
|
||||||
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Type",
|
||||||
|
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Type",
|
||||||
|
"value": "DoubleSlim",
|
||||||
|
"points": 2,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "제목 셀 아래선/① 이중실선"
|
||||||
|
},
|
||||||
|
"40": {
|
||||||
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Width",
|
||||||
|
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Width",
|
||||||
|
"value": "0.5mm",
|
||||||
|
"points": 2,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "제목 셀 아래선/② 0.5mm"
|
||||||
|
},
|
||||||
|
"41": {
|
||||||
|
"path": "//TABLE//TEXT/@CharShape",
|
||||||
|
"path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
|
||||||
|
"value": "굴림",
|
||||||
|
"points": 1,
|
||||||
|
"category": "TableFontName",
|
||||||
|
"category_tmp": "FontName",
|
||||||
|
"item": "글자모양/① 글씨체 (굴림)",
|
||||||
|
"desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경"
|
||||||
|
},
|
||||||
|
"42": {
|
||||||
|
"path": "//CHARSHAPE[@Id=//TABLE//TEXT/@CharShape]/@Height",
|
||||||
|
"value": "1000",
|
||||||
|
"points": 1,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "글자모양/② 크기 (1000)"
|
||||||
|
},
|
||||||
|
"43": {
|
||||||
|
"path": "//PARASHAPE[@Id=//TABLE/ROW//P/@ParaShape]/@Align",
|
||||||
|
"value": "Center",
|
||||||
|
"points": 1,
|
||||||
|
"category": "TableAnswer",
|
||||||
|
"item": "글자모양/③ 정렬 (가운데 정렬)"
|
||||||
|
},
|
||||||
|
"44": {
|
||||||
|
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) or boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
|
||||||
|
"option": "AVG",
|
||||||
|
"value": true,
|
||||||
|
"points": 4,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "블록 계산식/합계",
|
||||||
|
"desc": "option값에 합계는 SUM / 평균은 AVG"
|
||||||
|
},
|
||||||
|
"45": {
|
||||||
|
"chart_xpath": "",
|
||||||
|
"chart_type": "꺾은선형",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "ChartType",
|
||||||
|
"item": "① 종류 (꺾은선형)",
|
||||||
|
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
|
||||||
|
},
|
||||||
|
"46": {
|
||||||
|
"chart_xpath": "//c:valAx/c:majorTickMark/@val",
|
||||||
|
"value": "out",
|
||||||
|
"points": 2,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "② 값 축 주 눈금선",
|
||||||
|
"desc": "chart xml파일에서 답안을 가져오는 문항은 path키값 대신 chart_xpath키값을 이용해 xapth구문을 작성한다"
|
||||||
|
},
|
||||||
|
"47": {
|
||||||
|
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Width",
|
||||||
|
"value": "80",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "③ 크기-너비 (80 mm)"
|
||||||
|
},
|
||||||
|
"48": {
|
||||||
|
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Height",
|
||||||
|
"value": "90",
|
||||||
|
"points": 2,
|
||||||
|
"category": "mmSize",
|
||||||
|
"item": "④ 크기-높이 (90 mm)"
|
||||||
|
},
|
||||||
|
"49": {
|
||||||
|
"chart_xpath": "boolean(//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='합계' or text()='평균']))",
|
||||||
|
"value": true,
|
||||||
|
"points": 2,
|
||||||
|
"category": "Boolean",
|
||||||
|
"item": "⑤ 차트 데이터(표에서 블록계산식을 제외한 나머지 값만 이용)",
|
||||||
|
"desc": "차트가 존재하고 블록계산식(합계, 평균) 데이터가 없는 경우 정답 처리"
|
||||||
|
},
|
||||||
|
"50": {
|
||||||
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
||||||
|
"searchValue": "스마트폰 가입자 수",
|
||||||
|
"value": "궁서체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (스마트폰 가입자 수)/① 글씨체 (궁서체)"
|
||||||
|
},
|
||||||
|
"51": {
|
||||||
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
||||||
|
"searchValue": "스마트폰 가입자 수",
|
||||||
|
"value": "1200",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (스마트폰 가입자 수)/② 크기 (1200)"
|
||||||
|
},
|
||||||
|
"52": {
|
||||||
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
||||||
|
"option": "b",
|
||||||
|
"searchValue": "스마트폰 가입자 수",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "제목 문구 (스마트폰 가입자 수)/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
},
|
||||||
|
"53": {
|
||||||
|
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface | //c:catAx/c:txPr//a:latin/@typeface",
|
||||||
|
"value": "돋움체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "X축/① 글꼴 (돋움체)"
|
||||||
|
},
|
||||||
|
"54": {
|
||||||
|
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "X축/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"55": {
|
||||||
|
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@{option}",
|
||||||
|
"option": "i",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "X축/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
},
|
||||||
|
"56": {
|
||||||
|
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface | //c:valAx/c:txPr//a:latin/@typeface",
|
||||||
|
"value": "돋움체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "Y축/① 글꼴 (돋움체)"
|
||||||
|
},
|
||||||
|
"57": {
|
||||||
|
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "Y축/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"58": {
|
||||||
|
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@{option}",
|
||||||
|
"option": "i",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "ChartOneAnswer",
|
||||||
|
"item": "Y축/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
},
|
||||||
|
"59": {
|
||||||
|
"chart_xpath": "//c:legend//a:ea/@typeface | //c:legend//a:latin/@typeface",
|
||||||
|
"value": "돋움체",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "범례/① 글꼴 (돋움체)"
|
||||||
|
},
|
||||||
|
"60": {
|
||||||
|
"chart_xpath": "//c:legend//a:defRPr/@sz",
|
||||||
|
"value": "900",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "범례/② 크기 (9pt)"
|
||||||
|
},
|
||||||
|
"61": {
|
||||||
|
"chart_xpath": "//c:legend//a:defRPr/@{option}",
|
||||||
|
"option": "i",
|
||||||
|
"value": "1",
|
||||||
|
"points": 1,
|
||||||
|
"category": "OneAnswer",
|
||||||
|
"item": "범례/③ 기울임",
|
||||||
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -46,61 +46,61 @@
|
|||||||
"1": {
|
"1": {
|
||||||
"1": {
|
"1": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
||||||
"searchValue": "재활용의 날 행사",
|
"searchValue": "대학교육정책포럼",
|
||||||
"value": "맑은고딕",
|
"value": "휴먼옛체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (재활용의 날 행사)/① 글씨체 (맑은고딕)"
|
"item": "문구 (대학교육정책포럼)/① 글씨체 (휴먼옛체)"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
||||||
"searchValue": "재활용의 날 행사",
|
"searchValue": "대학교육정책포럼",
|
||||||
"value": "49,95,151",
|
"value": "53,135,145",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Color",
|
"category": "Color",
|
||||||
"item": "문구 (재활용의 날 행사)/② 채우기 : 색상(RGB:49,95,151)"
|
"item": "문구 (대학교육정책포럼)/② 채우기 : 색상(RGB:53,135,145)"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
||||||
"searchValue": "재활용의 날 행사",
|
"searchValue": "대학교육정책포럼",
|
||||||
"value": "100",
|
"value": "120",
|
||||||
"tolerance": 1,
|
"tolerance": 1,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "문구 (재활용의 날 행사)/③ 크기-너비 (100 mm)"
|
"item": "문구 (대학교육정책포럼)/③ 크기-너비 (120 mm)"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
|
||||||
"searchValue": "재활용의 날 행사",
|
"searchValue": "대학교육정책포럼",
|
||||||
"value": "20",
|
"value": "20",
|
||||||
"tolerance": 1,
|
"tolerance": 1,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "문구 (재활용의 날 행사)/④ 크기-높이 (20 mm)"
|
"item": "문구 (대학교육정책포럼)/④ 크기-높이 (20 mm)"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
"searchValue": "재활용의 날 행사",
|
"searchValue": "대학교육정책포럼",
|
||||||
"value": "true",
|
"value": "true",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (재활용의 날 행사)/⑤ 위치 (글자처럼 취급)"
|
"item": "문구 (대학교육정책포럼)/⑤ 위치 (글자처럼 취급)"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
|
||||||
"searchValue": "재활용의 날 행사",
|
"searchValue": "대학교육정책포럼",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (재활용의 날 행사)/⑥ 정렬 (가운데 정렬)"
|
"item": "문구 (대학교육정책포럼)/⑥ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']",
|
"path": "//TEXTART[@Text='{searchValue}']",
|
||||||
"searchValue": "재활용의 날 행사",
|
"searchValue": "대학교육정책포럼",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (재활용의 날 행사)/⑦ 글맵시모양 (육안확인)"
|
"item": "문구 (대학교육정책포럼)/⑦ 글맵시모양 (육안확인)"
|
||||||
},
|
},
|
||||||
"8": {
|
"8": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
|
||||||
@@ -117,18 +117,18 @@
|
|||||||
"9": {
|
"9": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "한",
|
"searchValue": "한",
|
||||||
"value": "돋움체",
|
"value": "굴림체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "어/② 글씨체 (돋움체)"
|
"item": "어/② 글씨체 (굴림체)"
|
||||||
},
|
},
|
||||||
"10": {
|
"10": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||||
"searchValue": "한",
|
"searchValue": "한",
|
||||||
"value": "210,154,216",
|
"value": "192,204,239",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Color",
|
"category": "Color",
|
||||||
"item": "어/③ 면색 : 색상(RGB:210,154,216)"
|
"item": "어/③ 면색 : 색상(RGB:192,204,239)"
|
||||||
},
|
},
|
||||||
"11": {
|
"11": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
||||||
@@ -141,39 +141,39 @@
|
|||||||
},
|
},
|
||||||
"12": {
|
"12": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
"searchValue": "자원재활용이 이루어지는 과정을 담은 영상물 관람과 시설 견학이 있을 예정",
|
"searchValue": "대학 퇴출 및 통폐합의 방향과 과제를 주제",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (자원재활용이 이루어지는 과정을 담은 영상물 관람과 시설 견학이 있을 예정)/① BOLD"
|
"item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/① BOLD"
|
||||||
},
|
},
|
||||||
"13": {
|
"13": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
"searchValue": "자원재활용이 이루어지는 과정을 담은 영상물 관람과 시설 견학이 있을 예정",
|
"searchValue": "대학 퇴출 및 통폐합의 방향과 과제를 주제",
|
||||||
"value": "UNDERLINE",
|
"value": "UNDERLINE",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (자원재활용이 이루어지는 과정을 담은 영상물 관람과 시설 견학이 있을 예정)/② UNDERLINE"
|
"item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/② UNDERLINE"
|
||||||
},
|
},
|
||||||
"14": {
|
"14": {
|
||||||
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||||
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
||||||
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
||||||
"char1": "▣",
|
"char1": "★",
|
||||||
"char2": "▣",
|
"char2": "★",
|
||||||
"char3": "※",
|
"char3": "※",
|
||||||
"value": 3,
|
"value": 3,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "SpecialChar",
|
"category": "SpecialChar",
|
||||||
"item": "① ▣ , ② ▣ , ③ ※"
|
"item": "① ★, ② ★, ③ ※"
|
||||||
},
|
},
|
||||||
"15": {
|
"15": {
|
||||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
"searchValue": "행사안내",
|
"searchValue": "행사안내",
|
||||||
"value": "돋움",
|
"value": "궁서",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구 (▣ 행사안내 ▣)/① 글씨체 (돋움)"
|
"item": "문구 (★ 행사안내 ★)/① 글씨체 (궁서)"
|
||||||
},
|
},
|
||||||
"16": {
|
"16": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
@@ -181,86 +181,86 @@
|
|||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Align",
|
"category": "Align",
|
||||||
"item": "문구 (▣ 행사안내 ▣)/② 정렬 (가운데 정렬)"
|
"item": "문구 (★ 행사안내 ★)/② 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"17": {
|
"17": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
"searchValue": "부산시청 앞 광장, 부산시 쓰레기 매립장 등",
|
"searchValue": "2026. 05. 01.(금) 18:00까지 온라인 사전 등록(http://www.ihd.or.kr)",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (부산시청 앞 광장, 부산시 쓰레기 매립장 등)/① BOLD"
|
"item": "문구 (2026. 05. 01.(금) 18:00까지 온라인 사전 등록(http://www.ihd.or.kr))/① BOLD"
|
||||||
},
|
},
|
||||||
"18": {
|
"18": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
"searchValue": "부산시청 앞 광장, 부산시 쓰레기 매립장 등",
|
"searchValue": "2026. 05. 01.(금) 18:00까지 온라인 사전 등록(http://www.ihd.or.kr)",
|
||||||
"value": "ITALIC",
|
"value": "ITALIC",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (부산시청 앞 광장, 부산시 쓰레기 매립장 등)/② ITALIC"
|
"item": "문구 (2026. 05. 01.(금) 18:00까지 온라인 사전 등록(http://www.ihd.or.kr))/② ITALIC"
|
||||||
},
|
},
|
||||||
"19": {
|
"19": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||||
"searchValue": "기타사항",
|
"searchValue": "기타사항",
|
||||||
"value": {
|
"value": {
|
||||||
"Left": 12,
|
"Left": 10,
|
||||||
"Indent": 12
|
"Indent": 12
|
||||||
},
|
},
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "ParaShape",
|
"category": "ParaShape",
|
||||||
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (12), 내어쓰기 (12)",
|
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (10), 내어쓰기 (12)",
|
||||||
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||||
},
|
},
|
||||||
"20": {
|
"20": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||||
"searchValue": "2026. 1. 21.",
|
"searchValue": "2026. 04. 22.",
|
||||||
"value": "1200",
|
"value": "1300",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (2026. 1. 21.)/① 크기 (1200)",
|
"item": "문구 (2026. 04. 22.)/① 크기 (1300)",
|
||||||
"desc": "1pt당 100"
|
"desc": "1pt당 100"
|
||||||
},
|
},
|
||||||
"21": {
|
"21": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
"searchValue": "2026. 1. 21.",
|
"searchValue": "2026. 04. 22.",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (2026. 1. 21.)/② 정렬 (가운데 정렬)"
|
"item": "문구 (2026. 04. 22.)/② 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"22": {
|
"22": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "한국환경보전단체",
|
"searchValue": "한국대학교육협의회",
|
||||||
"value": "궁서",
|
"value": "견고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구 (한국환경보전단체)/① 글씨체 (궁서)"
|
"item": "문구 (한국대학교육협의회)/① 글씨체 (견고딕)"
|
||||||
},
|
},
|
||||||
"23": {
|
"23": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "한국환경보전단체",
|
"searchValue": "한국대학교육협의회",
|
||||||
"value": "2400",
|
"value": "2500",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (한국환경보전단체)/② 크기 (2400)"
|
"item": "문구 (한국대학교육협의회)/② 크기 (2500)"
|
||||||
},
|
},
|
||||||
"24": {
|
"24": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||||
"searchValue": "한국환경보전단체",
|
"searchValue": "한국대학교육협의회",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (한국환경보전단체)/③ 정렬 (가운데 정렬)"
|
"item": "문구 (한국대학교육협의회)/③ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "DIAT",
|
"searchValue": "DIAT",
|
||||||
"value": "돋움",
|
"value": "굴림",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Header.FontName",
|
"category": "Header.FontName",
|
||||||
"item": "문구 (DIAT)/① 글꼴 (돋움)"
|
"item": "문구 (DIAT)/① 글꼴 (굴림)"
|
||||||
},
|
},
|
||||||
"26": {
|
"26": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
@@ -280,7 +280,7 @@
|
|||||||
},
|
},
|
||||||
"28": {
|
"28": {
|
||||||
"path": "//PAGENUM/@FormatType",
|
"path": "//PAGENUM/@FormatType",
|
||||||
"value": "HangulSyllable",
|
"value": "LatinCapital",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "PageNumber",
|
"category": "PageNumber",
|
||||||
"item": "① 쪽 번호 매기기 (가,나,다 순으로)",
|
"item": "① 쪽 번호 매기기 (가,나,다 순으로)",
|
||||||
@@ -330,11 +330,11 @@
|
|||||||
},
|
},
|
||||||
"31": {
|
"31": {
|
||||||
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
||||||
"value": "190",
|
"value": "200",
|
||||||
"first_word": "한",
|
"first_word": "한",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "LineSpacing",
|
"category": "LineSpacing",
|
||||||
"item": "문제 1 줄간격 190% 설정",
|
"item": "문제 1 줄간격 200% 설정",
|
||||||
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
|
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -367,17 +367,17 @@
|
|||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||||
"value": "50",
|
"value": "65",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.mmSize",
|
"category": "Rectangle.mmSize",
|
||||||
"item": "문구 (재활용 방법)/① 크기-너비 (50 mm)"
|
"item": "문구 (대학 구조조정)/① 크기-너비 (65 mm)"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||||
"value": "12",
|
"value": "12",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.mmSize",
|
"category": "Rectangle.mmSize",
|
||||||
"item": "문구 (재활용 방법)/② 크기-높이 (12 mm)"
|
"item": "문구 (대학 구조조정)/② 크기-높이 (12 mm)"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"path": "//RECTANGLE//LINESHAPE",
|
"path": "//RECTANGLE//LINESHAPE",
|
||||||
@@ -387,7 +387,7 @@
|
|||||||
},
|
},
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.LineShape",
|
"category": "Rectangle.LineShape",
|
||||||
"item": "문구 (재활용 방법)/③ 테두리 : 이중 실선(1.00mm)",
|
"item": "문구 (대학 구조조정)/③ 테두리 : 이중 실선(1.00mm)",
|
||||||
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
@@ -395,7 +395,7 @@
|
|||||||
"value": "20",
|
"value": "20",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.OneAnswer",
|
"category": "Rectangle.OneAnswer",
|
||||||
"item": "문구 (재활용 방법)/④ 글상자 모서리 (둥근모양)",
|
"item": "문구 (대학 구조조정)/④ 글상자 모서리 (둥근모양)",
|
||||||
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||||
},
|
},
|
||||||
"8": {
|
"8": {
|
||||||
@@ -403,35 +403,35 @@
|
|||||||
"value": "227,220,193",
|
"value": "227,220,193",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.Color",
|
"category": "Rectangle.Color",
|
||||||
"item": "문구 (재활용 방법)/⑤ 채우기 : 색상(RGB:227,220,193)"
|
"item": "문구 (대학 구조조정)/⑤ 채우기 : 색상(RGB:227,220,193)"
|
||||||
},
|
},
|
||||||
"9": {
|
"9": {
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
|
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
"value": "true",
|
"value": "true",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.OneAnswer",
|
"category": "Rectangle.OneAnswer",
|
||||||
"item": "문구 (재활용 방법)/⑥ 글상자 위치 (글자처럼 취급)"
|
"item": "문구 (대학 구조조정)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||||
},
|
},
|
||||||
"10": {
|
"10": {
|
||||||
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
|
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.TextBoxAlign",
|
"category": "Rectangle.TextBoxAlign",
|
||||||
"item": "문구 (재활용 방법)/⑦ 글상자 정렬 (가운데 정렬)"
|
"item": "문구 (대학 구조조정)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"11": {
|
"11": {
|
||||||
"path": ".//RECTANGLE//TEXT/@CharShape",
|
"path": ".//RECTANGLE//TEXT/@CharShape",
|
||||||
"value": "굴림체",
|
"value": "궁서체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.FontName",
|
"category": "Rectangle.FontName",
|
||||||
"item": "문구 (재활용 방법)/⑧ 글씨체 (굴림체)"
|
"item": "문구 (대학 구조조정)/⑧ 글씨체 (궁서체)"
|
||||||
},
|
},
|
||||||
"12": {
|
"12": {
|
||||||
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
|
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
|
||||||
"value": "1800",
|
"value": "2000",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.FontSize",
|
"category": "Rectangle.FontSize",
|
||||||
"item": "문구 (재활용 방법)/⑨ 글씨크기 (1800)",
|
"item": "문구 (대학 구조조정)/⑨ 글씨크기 (2000)",
|
||||||
"desc": "1pt당 100"
|
"desc": "1pt당 100"
|
||||||
},
|
},
|
||||||
"13": {
|
"13": {
|
||||||
@@ -439,7 +439,7 @@
|
|||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.TextBoxAlign",
|
"category": "Rectangle.TextBoxAlign",
|
||||||
"item": "문구 (재활용 방법)/⑩ 정렬 (가운데 정렬)"
|
"item": "문구 (대학 구조조정)/⑩ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"14": {
|
"14": {
|
||||||
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
|
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
|
||||||
@@ -458,10 +458,10 @@
|
|||||||
},
|
},
|
||||||
"16": {
|
"16": {
|
||||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
||||||
"value": "40",
|
"value": "35",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "③ 크기-높이 (40 mm)"
|
"item": "③ 크기-높이 (35 mm)"
|
||||||
},
|
},
|
||||||
"17": {
|
"17": {
|
||||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset",
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset",
|
||||||
@@ -472,90 +472,90 @@
|
|||||||
},
|
},
|
||||||
"18": {
|
"18": {
|
||||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
||||||
"value": "22",
|
"value": "24",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 22 mm)"
|
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 24 mm)"
|
||||||
},
|
},
|
||||||
"19": {
|
"19": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "1. 재활용이란?",
|
"searchValue": "1. 학령인구 감소",
|
||||||
"value": "돋움체",
|
"value": "중고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구① (1. 재활용이란?)/① 글씨체 (돋움체)"
|
"item": "문구① (1. 학령인구 감소)/① 글씨체 (중고딕)"
|
||||||
},
|
},
|
||||||
"20": {
|
"20": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "1. 재활용이란?",
|
"searchValue": "1. 학령인구 감소",
|
||||||
"value": "1200",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구① (1. 재활용이란?)/② 크기 (1200)"
|
"item": "문구① (1. 학령인구 감소)/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"21": {
|
"21": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "1. 재활용이란?",
|
"searchValue": "1. 학령인구 감소",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구① (1. 재활용이란?)/③ 진하게"
|
"item": "문구① (1. 학령인구 감소)/③ 진하게"
|
||||||
},
|
},
|
||||||
"22": {
|
"22": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "2. 식재료 재활용 방법",
|
"searchValue": "2. 한계대학이란?",
|
||||||
"value": "돋움체",
|
"value": "중고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구② (2. 식재료 재활용 방법)/① 글씨체 (돋움체)"
|
"item": "문구② (2. 한계대학이란?)/① 글씨체 (중고딕)"
|
||||||
},
|
},
|
||||||
"23": {
|
"23": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "2. 식재료 재활용 방법",
|
"searchValue": "2. 한계대학이란?",
|
||||||
"value": "1200",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구② (2. 식재료 재활용 방법)/② 크기 (1200)"
|
"item": "문구② (2. 한계대학이란?)/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"24": {
|
"24": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "2. 식재료 재활용 방법",
|
"searchValue": "2. 한계대학이란?",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구② (2. 식재료 재활용 방법)/③ 진하게"
|
"item": "문구② (2. 한계대학이란?)/③ 진하게"
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
||||||
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
||||||
"option": "얼룩",
|
"option": "학령인구",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (얼룩)/① 각주 설정 및 문구 입력"
|
"item": "문구 (학령인구)/① 각주 설정 및 문구 입력"
|
||||||
},
|
},
|
||||||
"26": {
|
"26": {
|
||||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
"searchValue": "본바탕에 다른 빛깔의 점이나 줄 따위가 뚜렷하게 섞인 자국",
|
"searchValue": "유치원 : 만 3~5세, 초등학교 : 만 6~11세, 중학교 : 만 12~14세, 고등학교 : 만 15~17세",
|
||||||
"value": "돋움",
|
"value": "돋움",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구 (얼룩)/② 글씨체 (돋움)"
|
"item": "문구 (학령인구)/② 글씨체 (돋움)"
|
||||||
},
|
},
|
||||||
"27": {
|
"27": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
||||||
"searchValue": "본바탕에 다른 빛깔의 점이나 줄 따위가 뚜렷하게 섞인 자국",
|
"searchValue": "유치원 : 만 3~5세, 초등학교 : 만 6~11세, 중학교 : 만 12~14세, 고등학교 : 만 15~17세",
|
||||||
"value": "900",
|
"value": "900",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (얼룩)/③ 크기 (9pt)"
|
"item": "문구 (학령인구)/③ 크기 (9pt)"
|
||||||
},
|
},
|
||||||
"28": {
|
"28": {
|
||||||
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
||||||
"searchValue": "본바탕에 다른 빛깔의 점이나 줄 따위가 뚜렷하게 섞인 자국",
|
"searchValue": "유치원 : 만 3~5세, 초등학교 : 만 6~11세, 중학교 : 만 12~14세, 고등학교 : 만 15~17세",
|
||||||
"value": "LatinSmall",
|
"value": "DecagonCircleHanja",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "PageNumber",
|
||||||
"item": "문구 (전당)/④ 각주 번호모양",
|
"item": "문구 (전당)/④ 각주 번호모양",
|
||||||
"desc": {
|
"desc": {
|
||||||
"가,나,다": "HangulSyllable",
|
"가,나,다": "HangulSyllable",
|
||||||
@@ -580,80 +580,80 @@
|
|||||||
},
|
},
|
||||||
"29": {
|
"29": {
|
||||||
"path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])",
|
"path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])",
|
||||||
"ignoreWord": "Refrigerator",
|
"ignoreWord": "Management",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "Refrigerator/영단어 미입력, 대소문자/오타 시 전체 감점",
|
"item": "Management/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||||
"desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요"
|
"desc": ""
|
||||||
},
|
},
|
||||||
"30": {
|
"30": {
|
||||||
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
|
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
|
||||||
"word": [
|
"word": [
|
||||||
["적자", "赤字"],
|
["환경", "環境"],
|
||||||
["가치", "價値"],
|
["분석", "分析"],
|
||||||
["제거", "除去"],
|
["재무구조", "財務構造"],
|
||||||
["청소", "淸掃"],
|
["경영", "經營"],
|
||||||
["광택", "光澤"]
|
["상태", "狀態"]
|
||||||
],
|
],
|
||||||
"value": 10,
|
"value": 10,
|
||||||
"points": 10,
|
"points": 10,
|
||||||
"category": "Hanja",
|
"category": "Hanja",
|
||||||
"item": "① 적자(赤字), ② 가치(價値), ③ 제거(除去), ④ 청소(淸掃), ⑤ 광택(光澤)"
|
"item": "① 환경(環境), ② 분석(分析), ③ 재무구조(財務構造), ④ 경영(經營), ⑤ 상태(狀態)"
|
||||||
},
|
},
|
||||||
"31": {
|
"31": {
|
||||||
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'용은주로')])",
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'덕적해이')])",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (…재활용이 주로 정치적…)>'이'→'은' 글자바꿈"
|
"item": "문구 (…비위나 해이가 도덕적 대학…)>'해이가 / 도덕적' 순서바꿈"
|
||||||
},
|
},
|
||||||
"32": {
|
"32": {
|
||||||
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'량만재활')])",
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'증가추이')])",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (상징적으로 재활용 소량만 하는 경우도)>'재활용 / 소량만' 순서바꿈"
|
"item": "문구 (…향후 증강 추이는 가속화될 전망이다…)>'강 → 가' 글자바꿈"
|
||||||
},
|
},
|
||||||
"33": {
|
"33": {
|
||||||
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
|
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
|
||||||
"searchValue": "재활용 주민 참여율(%)",
|
"searchValue": "학령인구 변동 추계(단위: 천 명)",
|
||||||
"value": "궁서",
|
"value": "맑은고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "제목 문구 (재활용 주민 참여율(%))/① 글씨체 (궁서)"
|
"item": "제목 문구 (학령인구 변동 추계(단위: 천 명))/① 글씨체 (맑은고딕)"
|
||||||
},
|
},
|
||||||
"34": {
|
"34": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "재활용 주민 참여율(%)",
|
"searchValue": "학령인구 변동 추계(단위: 천 명)",
|
||||||
"value": "1200",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (재활용 주민 참여율(%))/② 크기 (1200)"
|
"item": "제목 문구 (학령인구 변동 추계(단위: 천 명))/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"35": {
|
"35": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "재활용 주민 참여율(%)",
|
"searchValue": "학령인구 변동 추계(단위: 천 명)",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "제목 문구 (재활용 주민 참여율(%))/③ 진하게"
|
"item": "제목 문구 (학령인구 변동 추계(단위: 천 명))/③ 진하게"
|
||||||
},
|
},
|
||||||
"36": {
|
"36": {
|
||||||
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||||
"searchValue": "재활용 주민 참여율(%)",
|
"searchValue": "학령인구 변동 추계(단위: 천 명)",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (재활용 주민 참여율(%))/④ 정렬 (가운데 정렬)"
|
"item": "제목 문구 (학령인구 변동 추계(단위: 천 명))/④ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"37": {
|
"37": {
|
||||||
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
||||||
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
||||||
"value": "33,174,201",
|
"value": "158,219,98",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Color",
|
"category": "Color",
|
||||||
"item": "위쪽 제목 셀/① 색상(RGB:33,174,201)"
|
"item": "위쪽 제목 셀/① 색상(RGB:158,219,98)"
|
||||||
},
|
},
|
||||||
"38": {
|
"38": {
|
||||||
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
|
||||||
@@ -682,11 +682,11 @@
|
|||||||
"41": {
|
"41": {
|
||||||
"path": "//TABLE//TEXT/@CharShape",
|
"path": "//TABLE//TEXT/@CharShape",
|
||||||
"path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
|
"path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
|
||||||
"value": "굴림",
|
"value": "돋움체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "TableFontName",
|
"category": "TableFontName",
|
||||||
"category_tmp": "FontName",
|
"category_tmp": "FontName",
|
||||||
"item": "글자모양/① 글씨체 (굴림)",
|
"item": "글자모양/① 글씨체 (돋움체)",
|
||||||
"desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경"
|
"desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경"
|
||||||
},
|
},
|
||||||
"42": {
|
"42": {
|
||||||
@@ -704,7 +704,7 @@
|
|||||||
"item": "글자모양/③ 정렬 (가운데 정렬)"
|
"item": "글자모양/③ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"44": {
|
"44": {
|
||||||
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) and boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
|
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) or boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
|
||||||
"option": "AVG",
|
"option": "AVG",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 4,
|
"points": 4,
|
||||||
@@ -714,11 +714,11 @@
|
|||||||
},
|
},
|
||||||
"45": {
|
"45": {
|
||||||
"chart_xpath": "",
|
"chart_xpath": "",
|
||||||
"chart_type": "묶은 가로 막대형",
|
"chart_type": "꺾은선형",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "ChartType",
|
"category": "ChartType",
|
||||||
"item": "① 종류 (묶은 가로 막대형)",
|
"item": "① 종류 (꺾은선형)",
|
||||||
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
|
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
|
||||||
},
|
},
|
||||||
"46": {
|
"46": {
|
||||||
@@ -738,10 +738,10 @@
|
|||||||
},
|
},
|
||||||
"48": {
|
"48": {
|
||||||
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Height",
|
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Height",
|
||||||
"value": "80",
|
"value": "90",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "④ 크기-높이 (80 mm)"
|
"item": "④ 크기-높이 (90 mm)"
|
||||||
},
|
},
|
||||||
"49": {
|
"49": {
|
||||||
"chart_xpath": "boolean(//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='합계' or text()='평균']))",
|
"chart_xpath": "boolean(//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='합계' or text()='평균']))",
|
||||||
@@ -753,36 +753,36 @@
|
|||||||
},
|
},
|
||||||
"50": {
|
"50": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
||||||
"searchValue": "재활용 주민 참여율",
|
"searchValue": "학령인구 변동 추계",
|
||||||
"value": "돋움",
|
"value": "굴림체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (재활용 주민 참여율)/① 글씨체 (돋움)"
|
"item": "제목 문구 (학령인구 변동 추계)/① 글씨체 (굴림체)"
|
||||||
},
|
},
|
||||||
"51": {
|
"51": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
||||||
"searchValue": "재활용 주민 참여율",
|
"searchValue": "학령인구 변동 추계",
|
||||||
"value": "1300",
|
"value": "1300",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (재활용 주민 참여율)/② 크기 (1300)"
|
"item": "제목 문구 (학령인구 변동 추계)/② 크기 (1300)"
|
||||||
},
|
},
|
||||||
"52": {
|
"52": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
||||||
"option": "b",
|
"option": "b",
|
||||||
"searchValue": "재활용 주민 참여율",
|
"searchValue": "학령인구 변동 추계",
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (재활용 주민 참여율)/③ 기울임",
|
"item": "제목 문구 (학령인구 변동 추계)/③ 기울임",
|
||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"53": {
|
"53": {
|
||||||
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface",
|
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface | //c:catAx/c:txPr//a:latin/@typeface",
|
||||||
"value": "바탕",
|
"value": "궁서",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "ChartOneAnswer",
|
"category": "ChartOneAnswer",
|
||||||
"item": "X축/① 글꼴 (바탕)"
|
"item": "X축/① 글꼴 (궁서)"
|
||||||
},
|
},
|
||||||
"54": {
|
"54": {
|
||||||
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
|
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
|
||||||
@@ -801,11 +801,11 @@
|
|||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"56": {
|
"56": {
|
||||||
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface",
|
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface | //c:valAx/c:txPr//a:latin/@typeface",
|
||||||
"value": "바탕",
|
"value": "궁서",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "ChartOneAnswer",
|
"category": "ChartOneAnswer",
|
||||||
"item": "Y축/① 글꼴 (바탕)"
|
"item": "Y축/① 글꼴 (궁서)"
|
||||||
},
|
},
|
||||||
"57": {
|
"57": {
|
||||||
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
|
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
|
||||||
@@ -824,11 +824,11 @@
|
|||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"59": {
|
"59": {
|
||||||
"chart_xpath": "//c:legend//a:ea/@typeface",
|
"chart_xpath": "//c:legend//a:ea/@typeface | //c:legend//a:latin/@typeface",
|
||||||
"value": "바탕",
|
"value": "궁서",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "범례/① 글꼴 (바탕)"
|
"item": "범례/① 글꼴 (궁서)"
|
||||||
},
|
},
|
||||||
"60": {
|
"60": {
|
||||||
"chart_xpath": "//c:legend//a:defRPr/@sz",
|
"chart_xpath": "//c:legend//a:defRPr/@sz",
|
||||||
@@ -46,65 +46,65 @@
|
|||||||
"1": {
|
"1": {
|
||||||
"1": {
|
"1": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
||||||
"searchValue": "생성형 인공지능 세미나 안내",
|
"searchValue": "대학교육정책포럼",
|
||||||
"value": "궁서체",
|
"value": "휴먼옛체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (생성형 인공지능 세미나 안내)/① 글씨체 (궁서체)"
|
"item": "문구 (대학교육정책포럼)/① 글씨체 (휴먼옛체)"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
||||||
"searchValue": "생성형 인공지능 세미나 안내",
|
"searchValue": "대학교육정책포럼",
|
||||||
"value": "233,190,46",
|
"value": "53,135,145",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Color",
|
"category": "Color",
|
||||||
"item": "문구 (생성형 인공지능 세미나 안내)/② 채우기 : 색상(RGB:233,190,46)"
|
"item": "문구 (대학교육정책포럼)/② 채우기 : 색상(RGB:53,135,145)"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
|
||||||
"searchValue": "생성형 인공지능 세미나 안내",
|
"searchValue": "대학교육정책포럼",
|
||||||
"value": "110",
|
"value": "120",
|
||||||
"tolerance": 1,
|
"tolerance": 1,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "문구 (생성형 인공지능 세미나 안내)/③ 크기-너비 (110 mm)"
|
"item": "문구 (대학교육정책포럼)/③ 크기-너비 (120 mm)"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
|
||||||
"searchValue": "생성형 인공지능 세미나 안내",
|
"searchValue": "대학교육정책포럼",
|
||||||
"value": "20",
|
"value": "20",
|
||||||
"tolerance": 1,
|
"tolerance": 1,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "문구 (생성형 인공지능 세미나 안내)/④ 크기-높이 (20 mm)"
|
"item": "문구 (대학교육정책포럼)/④ 크기-높이 (20 mm)"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
|
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
"searchValue": "생성형 인공지능 세미나 안내",
|
"searchValue": "대학교육정책포럼",
|
||||||
"value": "true",
|
"value": "true",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (생성형 인공지능 세미나 안내)/⑤ 위치 (글자처럼 취급)"
|
"item": "문구 (대학교육정책포럼)/⑤ 위치 (글자처럼 취급)"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
|
||||||
"searchValue": "생성형 인공지능 세미나 안내",
|
"searchValue": "대학교육정책포럼",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (생성형 인공지능 세미나 안내)/⑥ 정렬 (가운데 정렬)"
|
"item": "문구 (대학교육정책포럼)/⑥ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"path": "//TEXTART[@Text='{searchValue}']",
|
"path": "//TEXTART[@Text='{searchValue}']",
|
||||||
"searchValue": "생성형 인공지능 세미나 안내",
|
"searchValue": "대학교육정책포럼",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (생성형 인공지능 세미나 안내)/⑦ 글맵시모양 (육안확인)"
|
"item": "문구 (대학교육정책포럼)/⑦ 글맵시모양 (육안확인)"
|
||||||
},
|
},
|
||||||
"8": {
|
"8": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
|
||||||
"searchValue": "생",
|
"searchValue": "한",
|
||||||
"value": {
|
"value": {
|
||||||
"Height": 2800,
|
"Height": 2800,
|
||||||
"Width": 2800
|
"Width": 2800
|
||||||
@@ -116,7 +116,7 @@
|
|||||||
},
|
},
|
||||||
"9": {
|
"9": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "생",
|
"searchValue": "한",
|
||||||
"value": "굴림체",
|
"value": "굴림체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
@@ -124,15 +124,15 @@
|
|||||||
},
|
},
|
||||||
"10": {
|
"10": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
|
||||||
"searchValue": "생",
|
"searchValue": "한",
|
||||||
"value": "221,251,229",
|
"value": "192,204,239",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Color",
|
"category": "Color",
|
||||||
"item": "어/③ 면색 : 색상(RGB:221,251,229)"
|
"item": "어/③ 면색 : 색상(RGB:192,204,239)"
|
||||||
},
|
},
|
||||||
"11": {
|
"11": {
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
||||||
"searchValue": "생",
|
"searchValue": "한",
|
||||||
"value": "3.0",
|
"value": "3.0",
|
||||||
"tolerance": 1,
|
"tolerance": 1,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
@@ -141,19 +141,19 @@
|
|||||||
},
|
},
|
||||||
"12": {
|
"12": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
"searchValue": "생성형 인공지능",
|
"searchValue": "대학 퇴출 및 통폐합의 방향과 과제를 주제",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (생성형 인공지능)/① BOLD"
|
"item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/① BOLD"
|
||||||
},
|
},
|
||||||
"13": {
|
"13": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
||||||
"searchValue": "생성형 인공지능",
|
"searchValue": "대학 퇴출 및 통폐합의 방향과 과제를 주제",
|
||||||
"value": "ITALIC",
|
"value": "UNDERLINE",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (생성형 인공지능)/② ITALIC"
|
"item": "문구 (평생교육사 양성 교육과정 현황과 개선 방안 탐색)/② UNDERLINE"
|
||||||
},
|
},
|
||||||
"14": {
|
"14": {
|
||||||
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
||||||
@@ -186,73 +186,73 @@
|
|||||||
"17": {
|
"17": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
"searchValue": "협회 홈페이지(https://www.ihd.or.kr)",
|
"searchValue": "2026. 05. 01.(금) 18:00까지 온라인 사전 등록(http://www.ihd.or.kr)",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (협회 홈페이지(https://www.ihd.or.kr))/① BOLD"
|
"item": "문구 (2026. 05. 01.(금) 18:00까지 온라인 사전 등록(http://www.ihd.or.kr))/① BOLD"
|
||||||
},
|
},
|
||||||
"18": {
|
"18": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
||||||
"searchValue": "협회 홈페이지(https://www.ihd.or.kr)",
|
"searchValue": "2026. 05. 01.(금) 18:00까지 온라인 사전 등록(http://www.ihd.or.kr)",
|
||||||
"value": "UNDERLINE",
|
"value": "ITALIC",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구 (협회 홈페이지(https://www.ihd.or.kr))/② UNDERLINE"
|
"item": "문구 (2026. 05. 01.(금) 18:00까지 온라인 사전 등록(http://www.ihd.or.kr))/② ITALIC"
|
||||||
},
|
},
|
||||||
"19": {
|
"19": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
||||||
"searchValue": "기타사항",
|
"searchValue": "기타사항",
|
||||||
"value": {
|
"value": {
|
||||||
"Left": 13,
|
"Left": 10,
|
||||||
"Indent": 10
|
"Indent": 12
|
||||||
},
|
},
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "ParaShape",
|
"category": "ParaShape",
|
||||||
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (13), 내어쓰기 (10)",
|
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (10), 내어쓰기 (12)",
|
||||||
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
||||||
},
|
},
|
||||||
"20": {
|
"20": {
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
||||||
"searchValue": "2025. 12. 20.",
|
"searchValue": "2026. 04. 22.",
|
||||||
"value": "1300",
|
"value": "1300",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (2025. 12. 20.)/① 크기 (1300)",
|
"item": "문구 (2026. 04. 22.)/① 크기 (1300)",
|
||||||
"desc": "1pt당 100"
|
"desc": "1pt당 100"
|
||||||
},
|
},
|
||||||
"21": {
|
"21": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
||||||
"searchValue": "2025. 12. 20.",
|
"searchValue": "2026. 04. 22.",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (2025. 12. 20.)/② 정렬 (가운데 정렬)"
|
"item": "문구 (2026. 04. 22.)/② 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"22": {
|
"22": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "생성형인공지능협회",
|
"searchValue": "한국대학교육협의회",
|
||||||
"value": "돋움",
|
"value": "견고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구 (생성형인공지능협회)/① 글씨체 (돋움)"
|
"item": "문구 (한국대학교육협의회)/① 글씨체 (견고딕)"
|
||||||
},
|
},
|
||||||
"23": {
|
"23": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "생성형인공지능협회",
|
"searchValue": "한국대학교육협의회",
|
||||||
"value": "2000",
|
"value": "2500",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (생성형인공지능협회)/② 크기 (2000)"
|
"item": "문구 (한국대학교육협의회)/② 크기 (2500)"
|
||||||
},
|
},
|
||||||
"24": {
|
"24": {
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
||||||
"searchValue": "생성형인공지능협회",
|
"searchValue": "한국대학교육협의회",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (생성형인공지능협회)/③ 정렬 (가운데 정렬)"
|
"item": "문구 (한국대학교육협의회)/③ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
@@ -283,7 +283,7 @@
|
|||||||
"value": "LatinCapital",
|
"value": "LatinCapital",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "PageNumber",
|
"category": "PageNumber",
|
||||||
"item": "① 쪽 번호 매기기",
|
"item": "① 쪽 번호 매기기 (가,나,다 순으로)",
|
||||||
"desc1": {
|
"desc1": {
|
||||||
"가,나,다": "HangulSyllable",
|
"가,나,다": "HangulSyllable",
|
||||||
"1,2,3": "Digit",
|
"1,2,3": "Digit",
|
||||||
@@ -308,10 +308,10 @@
|
|||||||
},
|
},
|
||||||
"29": {
|
"29": {
|
||||||
"path": "//PAGENUM/@Pos",
|
"path": "//PAGENUM/@Pos",
|
||||||
"value": "BottomRight",
|
"value": "BottomCenter",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "PageNumber",
|
"category": "PageNumber",
|
||||||
"item": "왼쪽 아래",
|
"item": "가운데 아래",
|
||||||
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
||||||
"desc2": {
|
"desc2": {
|
||||||
"가운데 아래": "BottomCenter",
|
"가운데 아래": "BottomCenter",
|
||||||
@@ -331,7 +331,7 @@
|
|||||||
"31": {
|
"31": {
|
||||||
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
||||||
"value": "200",
|
"value": "200",
|
||||||
"first_word": "생",
|
"first_word": "한",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "LineSpacing",
|
"category": "LineSpacing",
|
||||||
"item": "문제 1 줄간격 200% 설정",
|
"item": "문제 1 줄간격 200% 설정",
|
||||||
@@ -367,17 +367,17 @@
|
|||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
||||||
"value": "60",
|
"value": "65",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.mmSize",
|
"category": "Rectangle.mmSize",
|
||||||
"item": "문구 (생성형 인공지능)/① 크기-너비 (60 mm)"
|
"item": "문구 (대학 구조조정)/① 크기-너비 (65 mm)"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
||||||
"value": "12",
|
"value": "12",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.mmSize",
|
"category": "Rectangle.mmSize",
|
||||||
"item": "문구 (생성형 인공지능)/② 크기-높이 (12 mm)"
|
"item": "문구 (대학 구조조정)/② 크기-높이 (12 mm)"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"path": "//RECTANGLE//LINESHAPE",
|
"path": "//RECTANGLE//LINESHAPE",
|
||||||
@@ -387,51 +387,51 @@
|
|||||||
},
|
},
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.LineShape",
|
"category": "Rectangle.LineShape",
|
||||||
"item": "문구 (생성형 인공지능)/③ 테두리 : 이중 실선(1.00mm)",
|
"item": "문구 (대학 구조조정)/③ 테두리 : 이중 실선(1.00mm)",
|
||||||
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"path": "//RECTANGLE/@Ratio",
|
"path": "//RECTANGLE/@Ratio",
|
||||||
"value": "0",
|
"value": "20",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.OneAnswer",
|
"category": "Rectangle.OneAnswer",
|
||||||
"item": "문구 (생성형 인공지능)/④ 글상자 모서리 (직각)",
|
"item": "문구 (대학 구조조정)/④ 글상자 모서리 (둥근모양)",
|
||||||
"desc": "모서리 비율 반원:50 / 둥근모양:20 / 직각:0"
|
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
||||||
},
|
},
|
||||||
"8": {
|
"8": {
|
||||||
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
|
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
|
||||||
"value": "153,226,253",
|
"value": "227,220,193",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Rectangle.Color",
|
"category": "Rectangle.Color",
|
||||||
"item": "문구 (생성형 인공지능)/⑤ 채우기 : 색상(RGB:153,226,253)"
|
"item": "문구 (대학 구조조정)/⑤ 채우기 : 색상(RGB:227,220,193)"
|
||||||
},
|
},
|
||||||
"9": {
|
"9": {
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
|
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
|
||||||
"value": "true",
|
"value": "true",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.OneAnswer",
|
"category": "Rectangle.OneAnswer",
|
||||||
"item": "문구 (생성형 인공지능)/⑥ 글상자 위치 (글자처럼 취급)"
|
"item": "문구 (대학 구조조정)/⑥ 글상자 위치 (글자처럼 취급)"
|
||||||
},
|
},
|
||||||
"10": {
|
"10": {
|
||||||
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
|
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.TextBoxAlign",
|
"category": "Rectangle.TextBoxAlign",
|
||||||
"item": "문구 (생성형 인공지능)/⑦ 글상자 정렬 (가운데 정렬)"
|
"item": "문구 (대학 구조조정)/⑦ 글상자 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"11": {
|
"11": {
|
||||||
"path": ".//RECTANGLE//TEXT/@CharShape",
|
"path": ".//RECTANGLE//TEXT/@CharShape",
|
||||||
"value": "견고딕",
|
"value": "궁서체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.FontName",
|
"category": "Rectangle.FontName",
|
||||||
"item": "문구 (생성형 인공지능)/⑧ 글씨체 (견고딕)"
|
"item": "문구 (대학 구조조정)/⑧ 글씨체 (궁서체)"
|
||||||
},
|
},
|
||||||
"12": {
|
"12": {
|
||||||
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
|
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
|
||||||
"value": "2000",
|
"value": "2000",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.FontSize",
|
"category": "Rectangle.FontSize",
|
||||||
"item": "문구 (생성형 인공지능)/⑨ 글씨크기 (2000)",
|
"item": "문구 (대학 구조조정)/⑨ 글씨크기 (2000)",
|
||||||
"desc": "1pt당 100"
|
"desc": "1pt당 100"
|
||||||
},
|
},
|
||||||
"13": {
|
"13": {
|
||||||
@@ -439,29 +439,29 @@
|
|||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "Rectangle.TextBoxAlign",
|
"category": "Rectangle.TextBoxAlign",
|
||||||
"item": "문구 (생성형 인공지능)/⑩ 정렬 (가운데 정렬)"
|
"item": "문구 (대학 구조조정)/⑩ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"14": {
|
"14": {
|
||||||
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
|
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "① 파일명 \"그림D.jpg\" 삽입",
|
"item": "① 파일명 \"그림A.jpg\" 삽입",
|
||||||
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
||||||
},
|
},
|
||||||
"15": {
|
"15": {
|
||||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
||||||
"value": "85",
|
"value": "80",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "② 크기-너비 (85 mm)"
|
"item": "② 크기-너비 (80 mm)"
|
||||||
},
|
},
|
||||||
"16": {
|
"16": {
|
||||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
||||||
"value": "40",
|
"value": "35",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "③ 크기-높이 (40 mm)"
|
"item": "③ 크기-높이 (35 mm)"
|
||||||
},
|
},
|
||||||
"17": {
|
"17": {
|
||||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset",
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset",
|
||||||
@@ -472,90 +472,90 @@
|
|||||||
},
|
},
|
||||||
"18": {
|
"18": {
|
||||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
||||||
"value": "22",
|
"value": "24",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 22 mm)"
|
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 24 mm)"
|
||||||
},
|
},
|
||||||
"19": {
|
"19": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "1. 서비스 현황",
|
"searchValue": "1. 학령인구 감소",
|
||||||
"value": "돋움체",
|
"value": "중고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구① (1. 서비스 현황)/① 글씨체 (돋움체)"
|
"item": "문구① (1. 학령인구 감소)/① 글씨체 (중고딕)"
|
||||||
},
|
},
|
||||||
"20": {
|
"20": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "1. 서비스 현황",
|
"searchValue": "1. 학령인구 감소",
|
||||||
"value": "1200",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구① (1. 서비스 현황)/② 크기 (1200)"
|
"item": "문구① (1. 학령인구 감소)/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"21": {
|
"21": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "1. 서비스 현황",
|
"searchValue": "1. 학령인구 감소",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구① (1. 서비스 현황)/③ 진하게"
|
"item": "문구① (1. 학령인구 감소)/③ 진하게"
|
||||||
},
|
},
|
||||||
"22": {
|
"22": {
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
||||||
"searchValue": "2. 활용 분야",
|
"searchValue": "2. 한계대학이란?",
|
||||||
"value": "돋움체",
|
"value": "중고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구② (2. 활용 분야)/① 글씨체 (돋움체)"
|
"item": "문구② (2. 한계대학이란?)/① 글씨체 (중고딕)"
|
||||||
},
|
},
|
||||||
"23": {
|
"23": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "2. 활용 분야",
|
"searchValue": "2. 한계대학이란?",
|
||||||
"value": "1200",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구② (2. 활용 분야)/② 크기 (1200)"
|
"item": "문구② (2. 한계대학이란?)/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"24": {
|
"24": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "2. 활용 분야",
|
"searchValue": "2. 한계대학이란?",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "문구② (2. 활용 분야)/③ 진하게"
|
"item": "문구② (2. 한계대학이란?)/③ 진하게"
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
||||||
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
||||||
"option": "핀테크",
|
"option": "학령인구",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (핀테크)/① 각주 설정 및 문구 입력"
|
"item": "문구 (학령인구)/① 각주 설정 및 문구 입력"
|
||||||
},
|
},
|
||||||
"26": {
|
"26": {
|
||||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
||||||
"searchValue": "금융 서비스의 효율성과 접근성을 혁신하는 신산업",
|
"searchValue": "유치원 : 만 3~5세, 초등학교 : 만 6~11세, 중학교 : 만 12~14세, 고등학교 : 만 15~17세",
|
||||||
"value": "굴림",
|
"value": "돋움",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "문구 (핀테크)/② 글씨체 (굴림)"
|
"item": "문구 (학령인구)/② 글씨체 (돋움)"
|
||||||
},
|
},
|
||||||
"27": {
|
"27": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
||||||
"searchValue": "금융 서비스의 효율성과 접근성을 혁신하는 신산업",
|
"searchValue": "유치원 : 만 3~5세, 초등학교 : 만 6~11세, 중학교 : 만 12~14세, 고등학교 : 만 15~17세",
|
||||||
"value": "900",
|
"value": "900",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "문구 (핀테크)/③ 크기 (9pt)"
|
"item": "문구 (학령인구)/③ 크기 (9pt)"
|
||||||
},
|
},
|
||||||
"28": {
|
"28": {
|
||||||
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
||||||
"searchValue": "금융 서비스의 효율성과 접근성을 혁신하는 신산업",
|
"searchValue": "유치원 : 만 3~5세, 초등학교 : 만 6~11세, 중학교 : 만 12~14세, 고등학교 : 만 15~17세",
|
||||||
"value": "CircledLatinCapital",
|
"value": "DecagonCircleHanja",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "OneAnswer",
|
"category": "PageNumber",
|
||||||
"item": "문구 (전당)/④ 각주 번호모양",
|
"item": "문구 (전당)/④ 각주 번호모양",
|
||||||
"desc": {
|
"desc": {
|
||||||
"가,나,다": "HangulSyllable",
|
"가,나,다": "HangulSyllable",
|
||||||
@@ -579,81 +579,81 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"29": {
|
"29": {
|
||||||
"path": "boolean(//CHAR[contains(text(),'Generative')])",
|
"path": "boolean(//CHAR[contains(text(),'{ignoreWord}')])",
|
||||||
"ignoreWord": "Generative",
|
"ignoreWord": "Management",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "Generative/영단어 미입력, 대소문자/오타 시 전체 감점",
|
"item": "Management/영단어 미입력, 대소문자/오타 시 전체 감점",
|
||||||
"desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요"
|
"desc": ""
|
||||||
},
|
},
|
||||||
"30": {
|
"30": {
|
||||||
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
|
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
|
||||||
"word": [
|
"word": [
|
||||||
["생성", "生成"],
|
["환경", "環境"],
|
||||||
["현재", "現在"],
|
["분석", "分析"],
|
||||||
["창조", "創造"],
|
["재무구조", "財務構造"],
|
||||||
["결함", "缺陷"],
|
["경영", "經營"],
|
||||||
["극대", "極大"]
|
["상태", "狀態"]
|
||||||
],
|
],
|
||||||
"value": 10,
|
"value": 10,
|
||||||
"points": 10,
|
"points": 10,
|
||||||
"category": "Hanja",
|
"category": "Hanja",
|
||||||
"item": "① 생성(生成), ② 현재(現在), ③ 창조(創造), ④ 결함(缺陷), ⑤ 극대(極大)"
|
"item": "① 환경(環境), ② 분석(分析), ③ 재무구조(財務構造), ④ 경영(經營), ⑤ 상태(狀態)"
|
||||||
},
|
},
|
||||||
"31": {
|
"31": {
|
||||||
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'성형인공')])",
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'덕적해이')])",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (…사용하는 인공지능 생성형 서비스이다…)>'인공지능 / 생성형' 순서바꿈"
|
"item": "문구 (…비위나 해이가 도덕적 대학…)>'해이가 / 도덕적' 순서바꿈"
|
||||||
},
|
},
|
||||||
"32": {
|
"32": {
|
||||||
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'률검토를')])",
|
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'증가추이')])",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 3,
|
"points": 3,
|
||||||
"category": "Boolean",
|
"category": "Boolean",
|
||||||
"item": "문구 (…작성 및 법률 검투를 수행…)>'투' → '토' 글자바꿈"
|
"item": "문구 (…향후 증강 추이는 가속화될 전망이다…)>'강 → 가' 글자바꿈"
|
||||||
},
|
},
|
||||||
"33": {
|
"33": {
|
||||||
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
|
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
|
||||||
"searchValue": "생성형 인공지능 서비스 이용률 현황",
|
"searchValue": "학령인구 변동 추계(단위: 천 명)",
|
||||||
"value": "굴림체",
|
"value": "맑은고딕",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontName",
|
"category": "FontName",
|
||||||
"item": "제목 문구 (생성형 인공지능 서비스 이용률 현황)/① 글씨체 (굴림체)"
|
"item": "제목 문구 (학령인구 변동 추계(단위: 천 명))/① 글씨체 (맑은고딕)"
|
||||||
},
|
},
|
||||||
"34": {
|
"34": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
||||||
"searchValue": "생성형 인공지능 서비스 이용률 현황",
|
"searchValue": "학령인구 변동 추계(단위: 천 명)",
|
||||||
"value": "1200",
|
"value": "1200",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (생성형 인공지능 서비스 이용률 현황)/② 크기 (1200)"
|
"item": "제목 문구 (학령인구 변동 추계(단위: 천 명))/② 크기 (1200)"
|
||||||
},
|
},
|
||||||
"35": {
|
"35": {
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
||||||
"searchValue": "생성형 인공지능 서비스 이용률 현황",
|
"searchValue": "학령인구 변동 추계(단위: 천 명)",
|
||||||
"value": "BOLD",
|
"value": "BOLD",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "FontAttribute",
|
"category": "FontAttribute",
|
||||||
"item": "제목 문구 (생성형 인공지능 서비스 이용률 현황)/③ 진하게"
|
"item": "제목 문구 (학령인구 변동 추계(단위: 천 명))/③ 진하게"
|
||||||
},
|
},
|
||||||
"36": {
|
"36": {
|
||||||
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
|
||||||
"searchValue": "생성형 인공지능 서비스 이용률 현황",
|
"searchValue": "학령인구 변동 추계(단위: 천 명)",
|
||||||
"value": "Center",
|
"value": "Center",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (생성형 인공지능 서비스 이용률 현황)/④ 정렬 (가운데 정렬)"
|
"item": "제목 문구 (학령인구 변동 추계(단위: 천 명))/④ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"37": {
|
"37": {
|
||||||
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
||||||
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
|
||||||
"value": "232,250,210",
|
"value": "158,219,98",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "Color",
|
"category": "Color",
|
||||||
"item": "위쪽 제목 셀/① 색상(RGB:232,250,210)"
|
"item": "위쪽 제목 셀/① 색상(RGB:158,219,98)"
|
||||||
},
|
},
|
||||||
"38": {
|
"38": {
|
||||||
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
|
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
|
||||||
@@ -682,11 +682,11 @@
|
|||||||
"41": {
|
"41": {
|
||||||
"path": "//TABLE//TEXT/@CharShape",
|
"path": "//TABLE//TEXT/@CharShape",
|
||||||
"path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
|
"path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
|
||||||
"value": "중고딕",
|
"value": "돋움체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "TableFontName",
|
"category": "TableFontName",
|
||||||
"category_tmp": "FontName",
|
"category_tmp": "FontName",
|
||||||
"item": "글자모양/① 글씨체 (중고딕)",
|
"item": "글자모양/① 글씨체 (돋움체)",
|
||||||
"desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경"
|
"desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경"
|
||||||
},
|
},
|
||||||
"42": {
|
"42": {
|
||||||
@@ -704,7 +704,7 @@
|
|||||||
"item": "글자모양/③ 정렬 (가운데 정렬)"
|
"item": "글자모양/③ 정렬 (가운데 정렬)"
|
||||||
},
|
},
|
||||||
"44": {
|
"44": {
|
||||||
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) and boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
|
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) or boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
|
||||||
"option": "AVG",
|
"option": "AVG",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 4,
|
"points": 4,
|
||||||
@@ -714,11 +714,11 @@
|
|||||||
},
|
},
|
||||||
"45": {
|
"45": {
|
||||||
"chart_xpath": "",
|
"chart_xpath": "",
|
||||||
"chart_type": "묶은 가로 막대형",
|
"chart_type": "꺾은선형",
|
||||||
"value": true,
|
"value": true,
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "ChartType",
|
"category": "ChartType",
|
||||||
"item": "① 종류 (묶은 가로 막대형)",
|
"item": "① 종류 (꺾은선형)",
|
||||||
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
|
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
|
||||||
},
|
},
|
||||||
"46": {
|
"46": {
|
||||||
@@ -738,10 +738,10 @@
|
|||||||
},
|
},
|
||||||
"48": {
|
"48": {
|
||||||
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Height",
|
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Height",
|
||||||
"value": "80",
|
"value": "90",
|
||||||
"points": 2,
|
"points": 2,
|
||||||
"category": "mmSize",
|
"category": "mmSize",
|
||||||
"item": "④ 크기-높이 (80 mm)"
|
"item": "④ 크기-높이 (90 mm)"
|
||||||
},
|
},
|
||||||
"49": {
|
"49": {
|
||||||
"chart_xpath": "boolean(//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='합계' or text()='평균']))",
|
"chart_xpath": "boolean(//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='합계' or text()='평균']))",
|
||||||
@@ -753,36 +753,36 @@
|
|||||||
},
|
},
|
||||||
"50": {
|
"50": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
|
||||||
"searchValue": "생성형 인공지능 이용률 현황",
|
"searchValue": "학령인구 변동 추계",
|
||||||
"value": "휴먼옛체",
|
"value": "굴림체",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (생성형 인공지능 이용률 현황)/① 글씨체 (휴먼옛체)"
|
"item": "제목 문구 (학령인구 변동 추계)/① 글씨체 (굴림체)"
|
||||||
},
|
},
|
||||||
"51": {
|
"51": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
|
||||||
"searchValue": "생성형 인공지능 이용률 현황",
|
"searchValue": "학령인구 변동 추계",
|
||||||
"value": "1300",
|
"value": "1300",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (생성형 인공지능 이용률 현황)/② 크기 (1300)"
|
"item": "제목 문구 (학령인구 변동 추계)/② 크기 (1300)"
|
||||||
},
|
},
|
||||||
"52": {
|
"52": {
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
||||||
"option": "b",
|
"option": "b",
|
||||||
"searchValue": "생성형 인공지능 이용률 현황",
|
"searchValue": "학령인구 변동 추계",
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "제목 문구 (생성형 인공지능 이용률 현황)/③ 기울임",
|
"item": "제목 문구 (학령인구 변동 추계)/③ 기울임",
|
||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"53": {
|
"53": {
|
||||||
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface",
|
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface | //c:catAx/c:txPr//a:latin/@typeface",
|
||||||
"value": "돋움",
|
"value": "궁서",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "ChartOneAnswer",
|
"category": "ChartOneAnswer",
|
||||||
"item": "X축/① 글꼴 (돋움)"
|
"item": "X축/① 글꼴 (궁서)"
|
||||||
},
|
},
|
||||||
"54": {
|
"54": {
|
||||||
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
|
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
|
||||||
@@ -801,11 +801,11 @@
|
|||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"56": {
|
"56": {
|
||||||
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface",
|
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface | //c:valAx/c:txPr//a:latin/@typeface",
|
||||||
"value": "돋움",
|
"value": "궁서",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "ChartOneAnswer",
|
"category": "ChartOneAnswer",
|
||||||
"item": "Y축/① 글꼴 (돋움)"
|
"item": "Y축/① 글꼴 (궁서)"
|
||||||
},
|
},
|
||||||
"57": {
|
"57": {
|
||||||
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
|
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
|
||||||
@@ -824,11 +824,11 @@
|
|||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
||||||
},
|
},
|
||||||
"59": {
|
"59": {
|
||||||
"chart_xpath": "//c:legend//a:ea/@typeface",
|
"chart_xpath": "//c:legend//a:ea/@typeface | //c:legend//a:latin/@typeface",
|
||||||
"value": "돋움",
|
"value": "궁서",
|
||||||
"points": 1,
|
"points": 1,
|
||||||
"category": "OneAnswer",
|
"category": "OneAnswer",
|
||||||
"item": "범례/① 글꼴 (돋움)"
|
"item": "범례/① 글꼴 (궁서)"
|
||||||
},
|
},
|
||||||
"60": {
|
"60": {
|
||||||
"chart_xpath": "//c:legend//a:defRPr/@sz",
|
"chart_xpath": "//c:legend//a:defRPr/@sz",
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
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 = "2509"
|
|
||||||
source_directory = r"D:\project\HWP\HWP-Scoring\회차별채점자료\2509"
|
|
||||||
|
|
||||||
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)
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
import base64
|
|
||||||
import re
|
|
||||||
from lxml import etree as ET
|
|
||||||
|
|
||||||
xml_path = r"C:\Users\dra\project\HWP-Scoring\output\워드(한글)-009866-성유나.hml"
|
|
||||||
tree = ET.parse(xml_path)
|
|
||||||
root = tree.getroot()
|
|
||||||
# xpath로 바이너리 부분추출
|
|
||||||
binary_data = root.xpath('//BINDATA[@Id=//BINITEM[@Format="OLE"]/@BinData]/text()')
|
|
||||||
binary_data = binary_data[0].encode('utf-8')
|
|
||||||
# 파일을 읽어들입니다.
|
|
||||||
# with open('./chartBinData2', 'rb') as file:
|
|
||||||
# encoded_data = file.read()
|
|
||||||
# encoded_data 내에 존재하는 <BINDATA ...> ... </BINDATA> 태그를 찾아서 삭제
|
|
||||||
# <BINDATA ...> 태그는 base64 디코딩을 수행할 때 오류가 발생하므로 삭제합니다.
|
|
||||||
|
|
||||||
# <BINDATA ...> 태그와 그 내부 내용을 삭제합니다.
|
|
||||||
encoded_data = re.sub(b'<BINDATA.*?>', b'', binary_data)
|
|
||||||
# encoded_data = re.sub(b'<BINDATA.*?>', b'', encoded_data)
|
|
||||||
# print(encoded_data)
|
|
||||||
encoded_data = encoded_data.replace(b'</BINDATA>', b'')
|
|
||||||
encoded_data = encoded_data.replace(b'\r\n', b'')
|
|
||||||
# print(encoded_data+b'==')
|
|
||||||
|
|
||||||
# base64 디코딩을 수행합니다.
|
|
||||||
|
|
||||||
decoded_data = base64.b64decode(encoded_data+b'==')
|
|
||||||
|
|
||||||
print(decoded_data)
|
|
||||||
|
|
||||||
# 디코딩된 데이터 내용 중 xml 형식만 추출할 때 <c:chartSpace>, </c:chartSpace> 사이의 데이터만 추출.
|
|
||||||
start = decoded_data.find(b'<?xml')
|
|
||||||
print(start)
|
|
||||||
end = decoded_data.find(b'</c:chartSpace>')
|
|
||||||
print(end)
|
|
||||||
xml_data = decoded_data[start:end+len(b'</c:chartSpace>')]
|
|
||||||
|
|
||||||
# 디코딩된 데이터를 파일로 저장합니다.
|
|
||||||
with open('ext_BinData.xml', 'wb') as file:
|
|
||||||
file.write(xml_data)
|
|
||||||
|
|
||||||
|
|
||||||
print("Decoding complete. Decoded data saved to 'decoded_chartBinData'.")
|
|
||||||
@@ -1 +1 @@
|
|||||||
[{"kind":1,"language":"markdown","value":"# XPath Notebook\nDate: 2025-01-22 Time: 16:12:58"},{"kind":1,"language":"markdown","value":"* mm > pt 변환비율 = 2.83465 \r\n* 283.465"},{"kind":1,"language":"markdown","value":"- 색상 demical 코드 [1-2] [1-10] [2-8] [2-37]"},{"kind":2,"language":"xpath","value":"//TEXTART[@Text='클라우드컴퓨팅컨퍼런스']/descendant::WINDOWBRUSH/@FaceColor"},{"kind":2,"language":"xpath","value":"//RECTANGLE[.//CHAR[text()='전']]//WINDOWBRUSH/@FaceColor"},{"kind":2,"language":"xpath","value":"//RECTANGLE//CHAR[text()='클라우드 컴퓨팅']/ancestor::RECTANGLE/descendant::WINDOWBRUSH/@FaceColor"},{"kind":2,"language":"xpath","value":"//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor"},{"kind":1,"language":"markdown","value":"- [1-10] ① ●, ② ●, ③ ※"},{"kind":2,"language":"xpath","value":"\"path\": \"count(//CHAR[contains(text(),'●')]) + count(//CHAR[contains(text(),'※')])\",\r\n \"path2\": \"string-length(//CHAR[contains(text(),'●')]) - string-length(translate(//CHAR[contains(text(),'●')], '●', '')) + string-length(//CHAR[contains(text(),'※')]) - string-length(translate(//CHAR[contains(text(),'※')], '※', ''))\","},{"kind":1,"language":"markdown","value":"- [1-28] [2-28] @FormatType 종류\r\n - HangulSyllable : 가나다\r\n - Digit : 123\r\n - DecagonCircle : 갑을병정\r\n - LatinCapital : ABC\r\n - CircledDigit : ①,②,③\r\n - Ideograph : 一,二,三\r\n - CircledHangulJamo : ㉠,㉡,㉢\r\n - CircledLatinSmall : ⓐ,ⓑ,ⓒ\r\n - RomanSmall : i,ii,iii"},{"kind":2,"language":"xpath","value":"//SECTION[1]//PAGENUM/@FormatType"},{"kind":2,"language":"xpath","value":"//P[TEXT[CHAR[contains(text(), '눈으로 읽는 대신 귀로 들을 수 있게 책의 내용(문자)을 음성으로 녹음하여 기록한 것을 의미함')]]]//AUTONUMFORMAT/@Type"},{"kind":1,"language":"markdown","value":"- [2-30] ① 저감(低減), ② 화석(化石), ③ 투자(投資), ④ 달성(達成), ⑤ 세금(稅金)"},{"kind":2,"language":"xpath","value":"(count(//CHAR[contains(text(),'저감')][contains(text(),'低減')])+count(//CHAR[contains(text(),'화석')][contains(text(),'化石')])+count(//CHAR[contains(text(),'투자')][contains(text(),'投資')])+count(//CHAR[contains(text(),'달성')][contains(text(),'達成')])+count(//CHAR[contains(text(),'세금')][contains(text(),'稅金')]))*2"},{"kind":1,"language":"markdown","value":"- [2-37] [2-39] [2-40] @EndColAddr 속성값 \r\n - 표의 열 갯수-1\r\n - 4개=3 / 3개=2 / 2개=1"},{"kind":2,"language":"xpath","value":"@EndColAddr='2'"},{"kind":1,"language":"markdown","value":"- [2-45]\r\n - 꺾은선형 //c:lineChart[c:grouping[@val='standard']]\r\n - 묶은가로막대형 //c:barChart[c:barDir[@val='bar'] and c:grouping[@val='clustered']]\r\n - 묶은세로막대형 //c:barChart[c:barDir[@val='col'] and c:grouping[@val='clustered']]\r\n - 원형 //c:pieChart\r\n - 분산형 //c:scatterChart"},{"kind":1,"language":"markdown","value":"//c:{chart_type}Chart/"},{"kind":2,"language":"xpath","value":"boolean(//c:barChart[c:barDir[@val='col'] and c:grouping[@val='clustered']])"},{"kind":2,"language":"xpath","value":"//c:valAx/c:majorTickMark/@val"},{"kind":2,"language":"xpath","value":"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}')])"},{"kind":2,"language":"xpath","value":"//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '=AVG')]"},{"kind":2,"language":"xpath","value":"//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '=AVG')]"}]
|
[{"kind":1,"language":"markdown","value":"# XPath Notebook\nDate: 2025-01-22 Time: 16:12:58"},{"kind":2,"language":"xpath","value":""},{"kind":1,"language":"markdown","value":"* mm > pt 변환비율 = 2.83465 \r\n* 283.465"},{"kind":1,"language":"markdown","value":"- 색상 demical 코드 [1-2] [1-10] [2-8] [2-37]"},{"kind":2,"language":"xpath","value":"//TEXTART[@Text='클라우드컴퓨팅컨퍼런스']/descendant::WINDOWBRUSH/@FaceColor"},{"kind":2,"language":"xpath","value":"//RECTANGLE[.//CHAR[text()='전']]//WINDOWBRUSH/@FaceColor"},{"kind":2,"language":"xpath","value":"//RECTANGLE//CHAR[text()='클라우드 컴퓨팅']/ancestor::RECTANGLE/descendant::WINDOWBRUSH/@FaceColor"},{"kind":2,"language":"xpath","value":"//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor"},{"kind":1,"language":"markdown","value":"- [1-10] ① ●, ② ●, ③ ※"},{"kind":2,"language":"xpath","value":"\"path\": \"count(//CHAR[contains(text(),'●')]) + count(//CHAR[contains(text(),'※')])\",\r\n \"path2\": \"string-length(//CHAR[contains(text(),'●')]) - string-length(translate(//CHAR[contains(text(),'●')], '●', '')) + string-length(//CHAR[contains(text(),'※')]) - string-length(translate(//CHAR[contains(text(),'※')], '※', ''))\","},{"kind":1,"language":"markdown","value":"- [1-28] [2-28] @FormatType 종류\r\n - HangulSyllable : 가나다\r\n - Digit : 123\r\n - DecagonCircle : 갑을병정\r\n - LatinCapital : ABC\r\n - CircledDigit : ①,②,③\r\n - Ideograph : 一,二,三\r\n - CircledHangulJamo : ㉠,㉡,㉢\r\n - CircledLatinSmall : ⓐ,ⓑ,ⓒ\r\n - RomanSmall : i,ii,iii"},{"kind":2,"language":"xpath","value":"//SECTION[1]//PAGENUM/@FormatType"},{"kind":2,"language":"xpath","value":"//P[TEXT[CHAR[contains(text(), '눈으로 읽는 대신 귀로 들을 수 있게 책의 내용(문자)을 음성으로 녹음하여 기록한 것을 의미함')]]]//AUTONUMFORMAT/@Type"},{"kind":1,"language":"markdown","value":"- [2-30] ① 저감(低減), ② 화석(化石), ③ 투자(投資), ④ 달성(達成), ⑤ 세금(稅金)"},{"kind":2,"language":"xpath","value":"(count(//CHAR[contains(text(),'저감')][contains(text(),'低減')])+count(//CHAR[contains(text(),'화석')][contains(text(),'化石')])+count(//CHAR[contains(text(),'투자')][contains(text(),'投資')])+count(//CHAR[contains(text(),'달성')][contains(text(),'達成')])+count(//CHAR[contains(text(),'세금')][contains(text(),'稅金')]))*2"},{"kind":1,"language":"markdown","value":"- [2-37] [2-39] [2-40] @EndColAddr 속성값 \r\n - 표의 열 갯수-1\r\n - 4개=3 / 3개=2 / 2개=1"},{"kind":2,"language":"xpath","value":"@EndColAddr='2'"},{"kind":1,"language":"markdown","value":"- [2-45]\r\n - 꺾은선형 //c:lineChart[c:grouping[@val='standard']]\r\n - 묶은가로막대형 //c:barChart[c:barDir[@val='bar'] and c:grouping[@val='clustered']]\r\n - 묶은세로막대형 //c:barChart[c:barDir[@val='col'] and c:grouping[@val='clustered']]\r\n - 원형 //c:pieChart\r\n - 분산형 //c:scatterChart"},{"kind":1,"language":"markdown","value":"//c:{chart_type}Chart/"},{"kind":2,"language":"xpath","value":"boolean(//c:barChart[c:barDir[@val='col'] and c:grouping[@val='clustered']])"},{"kind":2,"language":"xpath","value":"//c:valAx/c:majorTickMark/@val"},{"kind":2,"language":"xpath","value":"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}')])"},{"kind":2,"language":"xpath","value":"//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '=AVG')]"},{"kind":2,"language":"xpath","value":"//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '=AVG')]"}]
|
||||||
659
diwScoring.py
659
diwScoring.py
@@ -1,659 +0,0 @@
|
|||||||
import tkinter as tk
|
|
||||||
from tkinter import filedialog, messagebox
|
|
||||||
from datetime import datetime
|
|
||||||
import difflib
|
|
||||||
import json
|
|
||||||
from pathlib import Path
|
|
||||||
import os
|
|
||||||
from lxml import etree as ET
|
|
||||||
import re
|
|
||||||
from difflib import SequenceMatcher
|
|
||||||
import pandas as pd
|
|
||||||
import base64
|
|
||||||
# from xpathSearch import XMLPathHandler
|
|
||||||
|
|
||||||
class XMLScorer:
|
|
||||||
# 채점 기준 경로 초기화
|
|
||||||
def __init__(self, scoring_criteria_path):
|
|
||||||
# 채점 기준 로드
|
|
||||||
self.scoring_criteria = self._load_scoring_criteria(scoring_criteria_path)
|
|
||||||
|
|
||||||
def set_typo_score(self, score):
|
|
||||||
self.typo_score = score
|
|
||||||
|
|
||||||
def get_typo_score(self):
|
|
||||||
return self.typo_score
|
|
||||||
|
|
||||||
# 채점 기준파일 로드(JSON 파일)
|
|
||||||
def _load_scoring_criteria(self, file_path):
|
|
||||||
with open(file_path, 'r', encoding='utf-8') as f:
|
|
||||||
return json.load(f)
|
|
||||||
|
|
||||||
# XML 파일에서 element의 값을 찾아 반환
|
|
||||||
def query_xml(self, root, *args):
|
|
||||||
first_xpath = args[0]
|
|
||||||
second_xpath = args[1]
|
|
||||||
points = args[2]
|
|
||||||
category = args[3]
|
|
||||||
right_answer = args[4]
|
|
||||||
|
|
||||||
if "Hyperlink" in category:
|
|
||||||
is_hyperlink = self.scoring_criteria["1"]["17"]["hyperlink"]
|
|
||||||
hyperlink_xpath = self.scoring_criteria["1"]["17"]["hyperlink_xpath"]
|
|
||||||
right_text = self.scoring_criteria["1"]["17"]["searchValue"].replace(" ","")
|
|
||||||
try:
|
|
||||||
# 하이퍼링크가 포함된 p태그 인지 확인
|
|
||||||
p_elements = root.xpath(is_hyperlink)
|
|
||||||
|
|
||||||
for p in p_elements:
|
|
||||||
text_list = p.xpath(".//CHAR/text()")
|
|
||||||
full_text = ''.join(text_list).replace(" ", "")
|
|
||||||
# right_text의 첫 문자
|
|
||||||
first_char = right_text[0]
|
|
||||||
# full_text에서 첫 문자 위치 찾기
|
|
||||||
index = full_text.find(first_char)
|
|
||||||
|
|
||||||
if index != -1:
|
|
||||||
trimmed_full_text = full_text[index:]
|
|
||||||
else:
|
|
||||||
trimmed_full_text = full_text # 일치 문자 없으면 원본 그대로
|
|
||||||
|
|
||||||
similarity = difflib.SequenceMatcher(None, trimmed_full_text, right_text).ratio()
|
|
||||||
# 두 문자열이 같을 경우만 하이퍼링크 확인
|
|
||||||
if similarity >= 0.7:
|
|
||||||
inside_field = False
|
|
||||||
charshape_values = []
|
|
||||||
|
|
||||||
for elem in p.iter():
|
|
||||||
# 시작 지점 확인
|
|
||||||
if elem.tag == "FIELDBEGIN":
|
|
||||||
inside_field = True
|
|
||||||
elif elem.tag == "FIELDEND":
|
|
||||||
inside_field = False
|
|
||||||
elif inside_field and elem.tag == "TEXT":
|
|
||||||
charshape = elem.get("CharShape")
|
|
||||||
if charshape:
|
|
||||||
charshape_values.append(charshape)
|
|
||||||
|
|
||||||
# 하이퍼링크에 해당하는 P태그 내 존재하는 charshape ID값 모두를 비교해 해당 속성(ITALIC, BOLD, UNDERLINE) 확인
|
|
||||||
if charshape_values:
|
|
||||||
for charshape in charshape_values:
|
|
||||||
result = root.xpath(hyperlink_xpath.replace('{charshape_id}', charshape))
|
|
||||||
# 해당 속성이 하나라도 적용되어있지 않으면 False 반환
|
|
||||||
if not result:
|
|
||||||
return result
|
|
||||||
return True
|
|
||||||
else:
|
|
||||||
return False
|
|
||||||
|
|
||||||
except ET.XPathEvalError as e:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if ("특수문자" in category) and (second_xpath is not None):
|
|
||||||
try:
|
|
||||||
result = root.xpath(first_xpath)
|
|
||||||
# 결과값이 리스트형인데 내부에 정보가 없는경우
|
|
||||||
# 결과값이 없음
|
|
||||||
if type(result) is list and len(result) == 0:
|
|
||||||
return None
|
|
||||||
elif result < points:
|
|
||||||
result2 = root.xpath(second_xpath)
|
|
||||||
return max(result, result2)
|
|
||||||
else:
|
|
||||||
return result
|
|
||||||
|
|
||||||
except ET.XPathEvalError as e:
|
|
||||||
return None
|
|
||||||
|
|
||||||
# xpath2가 있는 경우
|
|
||||||
elif second_xpath is not None:
|
|
||||||
try:
|
|
||||||
result1 = root.xpath(first_xpath)
|
|
||||||
result2 = root.xpath(second_xpath)
|
|
||||||
if (type(result1) is list and len(result1) == 0) and (type(result2) is list and len(result2) == 0):
|
|
||||||
return None
|
|
||||||
|
|
||||||
# xpath1과 xpath2의 결과값이 모두 리스트인 경우
|
|
||||||
# 두 결과값 중 정답이 포함된 리스트를 반환
|
|
||||||
if type(result1) is list and type(result2) is list:
|
|
||||||
if right_answer in result1:
|
|
||||||
return result1
|
|
||||||
elif right_answer in result2:
|
|
||||||
return result2
|
|
||||||
|
|
||||||
return result1 if result1 else result2
|
|
||||||
|
|
||||||
except ET.XPathEvalError as e:
|
|
||||||
return None
|
|
||||||
|
|
||||||
else:
|
|
||||||
try:
|
|
||||||
result = root.xpath(first_xpath)
|
|
||||||
if type(result) is list and len(result) == 0:
|
|
||||||
return None
|
|
||||||
return result
|
|
||||||
except ET.XPathEvalError as e:
|
|
||||||
return None
|
|
||||||
|
|
||||||
def chart_query_xml(self, tree, xpath, namespaces):
|
|
||||||
|
|
||||||
result = tree.xpath(xpath, namespaces=namespaces)
|
|
||||||
if type(result) is list and len(result) == 0:
|
|
||||||
return None
|
|
||||||
|
|
||||||
return result
|
|
||||||
|
|
||||||
|
|
||||||
# 유사한 텍스트 찾기
|
|
||||||
def find_similar_text(self, root, target_text, threshold=0.7):
|
|
||||||
"""
|
|
||||||
전체 문서에서 유사한 텍스트를 찾아 반환
|
|
||||||
|
|
||||||
Args:
|
|
||||||
root (_type_): xml root element 객체
|
|
||||||
target_text (_type_): 찾을 텍스트
|
|
||||||
threshold (float, optional): 유사도 설정 Defaults to 0.3.
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
str: 유사도 기준을 만족하는 텍스트
|
|
||||||
"""
|
|
||||||
# 전체 텍스트 추출
|
|
||||||
# all_text = root.xpath(f"//CHAR/text()")
|
|
||||||
# all_text.append(root.xpath(f"//TEXTART/@text"))
|
|
||||||
|
|
||||||
namespaces = {
|
|
||||||
|
|
||||||
'a': 'http://schemas.openxmlformats.org/drawingml/2006/main',
|
|
||||||
'c': 'http://schemas.openxmlformats.org/drawingml/2006/chart'
|
|
||||||
}
|
|
||||||
|
|
||||||
if type(root) is str:
|
|
||||||
all_text = root
|
|
||||||
else:
|
|
||||||
all_text = root.xpath(f"//BODY//text() | //TEXTART/@Text | //c:chart//text()", namespaces=namespaces)
|
|
||||||
|
|
||||||
# 유사도 비교
|
|
||||||
max_score = 0
|
|
||||||
similar_text = ''
|
|
||||||
|
|
||||||
for text in all_text:
|
|
||||||
score = SequenceMatcher(None, target_text, text).ratio()
|
|
||||||
|
|
||||||
if score > max_score:
|
|
||||||
max_score = score
|
|
||||||
similar_text = text
|
|
||||||
|
|
||||||
if max_score >= threshold:
|
|
||||||
return similar_text
|
|
||||||
else:
|
|
||||||
return None
|
|
||||||
|
|
||||||
# 하나의 XML 파일 채점
|
|
||||||
def _score_xml_file(self, xml_file, chart_xml):
|
|
||||||
try:
|
|
||||||
tree = ET.parse(xml_file)
|
|
||||||
root = tree.getroot()
|
|
||||||
|
|
||||||
# 네임스페이스 정의
|
|
||||||
namespaces = {
|
|
||||||
'a': 'http://schemas.openxmlformats.org/drawingml/2006/main',
|
|
||||||
'c': 'http://schemas.openxmlformats.org/drawingml/2006/chart'
|
|
||||||
}
|
|
||||||
|
|
||||||
# 차트 XML 파일이 없는 경우 0점 채점을 위헤 빈 XML 생성
|
|
||||||
if chart_xml is None:
|
|
||||||
chart_tree = ET.fromstring('<xml></xml>')
|
|
||||||
else:
|
|
||||||
chart_tree = ET.fromstring(chart_xml)
|
|
||||||
|
|
||||||
# 결과값을 Dictionary로 저장
|
|
||||||
results = {
|
|
||||||
'filename': os.path.basename(xml_file),
|
|
||||||
'score_results': [],
|
|
||||||
'total_score': 0,
|
|
||||||
'partial_scores': []
|
|
||||||
}
|
|
||||||
|
|
||||||
print(f"File name: {results['filename']}")
|
|
||||||
|
|
||||||
total_score = 0
|
|
||||||
for section_id, section in self.scoring_criteria.items():
|
|
||||||
partial_score = 0
|
|
||||||
|
|
||||||
for criterion_id, criterion in section.items():
|
|
||||||
id = criterion_id
|
|
||||||
xpath = criterion['path'] if 'path' in criterion else None
|
|
||||||
xpath2 = criterion['path2'] if 'path2' in criterion else None
|
|
||||||
search_value = criterion['searchValue'] if 'searchValue' in criterion else None
|
|
||||||
right_answer = criterion['value'] if 'value' in criterion else None
|
|
||||||
points = criterion['points'] if 'points' in criterion else None
|
|
||||||
category = criterion['category'] if 'category' in criterion else None
|
|
||||||
item = criterion['item']
|
|
||||||
similar_text = None
|
|
||||||
|
|
||||||
# chart xml 파일에서 채점하는 경우
|
|
||||||
if "chart_xml" in category:
|
|
||||||
if search_value is not None:
|
|
||||||
similar_text = self.find_similar_text(chart_tree, search_value)
|
|
||||||
if similar_text is None:
|
|
||||||
xpath = xpath.replace('{searchValue}', search_value)
|
|
||||||
else:
|
|
||||||
xpath = xpath.replace('{searchValue}', similar_text)
|
|
||||||
|
|
||||||
result = self.chart_query_xml(chart_tree, xpath, namespaces)
|
|
||||||
|
|
||||||
# 그 외의 hml 파일에서 채점하는 경우
|
|
||||||
else:
|
|
||||||
if search_value is not None:
|
|
||||||
similar_text = self.find_similar_text(root, search_value)
|
|
||||||
if similar_text is None:
|
|
||||||
xpath = xpath.replace('{searchValue}', search_value)
|
|
||||||
else:
|
|
||||||
xpath = xpath.replace('{searchValue}', similar_text)
|
|
||||||
|
|
||||||
result = self.query_xml(root, xpath, xpath2, points, category, right_answer)
|
|
||||||
|
|
||||||
# [ boolean 타입 ]
|
|
||||||
# 1. 이텔릭체, 굵게, 밑줄 등 효과가 적용 여부에 따라
|
|
||||||
# [ITALIC] [BOLD] [UNDERLINE] 태그가 있거나 없을 수 있으므로
|
|
||||||
# 존재 유무에 따라 True, False로 판단
|
|
||||||
# 2. 두 가지 이상의 조건을 모두 만족해야 하는 경우 and 연산자로 연결되어
|
|
||||||
# 반환값 True/False로 판단
|
|
||||||
# [ float 타입 ]
|
|
||||||
# 1. 부분점수의 합산으로 반환되는 경우 float 타입으로 반환
|
|
||||||
if type(result) is not list:
|
|
||||||
if type(result) is float and (result > points):
|
|
||||||
actual_answer = float(points)
|
|
||||||
else:
|
|
||||||
actual_answer = result
|
|
||||||
else:
|
|
||||||
if type(right_answer) is int:
|
|
||||||
actual_answer = int(result[0])
|
|
||||||
else:
|
|
||||||
actual_answer = result[0]
|
|
||||||
|
|
||||||
if "오타감점" in category:
|
|
||||||
points = self.get_typo_score()
|
|
||||||
|
|
||||||
scoring = {
|
|
||||||
'section': section_id,
|
|
||||||
'id': id,
|
|
||||||
'category': category, # 채점 분류
|
|
||||||
'item': item, # 채점 항목
|
|
||||||
'right_answer': right_answer, # 정답
|
|
||||||
'actual_answer': actual_answer, # 실제 작성 답안
|
|
||||||
'points': points,
|
|
||||||
'deductions': [] # 각 기준별 감점 내역
|
|
||||||
}
|
|
||||||
|
|
||||||
# 점수 차감 조건
|
|
||||||
# 1. 정답이 실수형으로 반환받은 경우는 채점항목의 부분점수 합산 결과이므로
|
|
||||||
# 반환받은 값 그대로를 점수로 사용
|
|
||||||
# 2. 정답이 정수형(사이즈 비교)의 경우 오차범위를 넘는다면 감점
|
|
||||||
# 3. 그 외의 경우 정답과 실제 작성 답안이 다른 경우 점수 차감
|
|
||||||
if type(actual_answer) is float:
|
|
||||||
scoring['points'] = actual_answer
|
|
||||||
|
|
||||||
elif type(actual_answer) is int:
|
|
||||||
# 오차범위 3 이상이면 감점
|
|
||||||
if abs(actual_answer - right_answer) > 3:
|
|
||||||
scoring['points'] -= points
|
|
||||||
else:
|
|
||||||
# right_answer(JSON파일 내 valuer값) null일 경우 점수감점 없이 진행
|
|
||||||
if right_answer != actual_answer:
|
|
||||||
scoring['points'] -= points
|
|
||||||
|
|
||||||
results['score_results'].append(scoring)
|
|
||||||
total_score += scoring['points']
|
|
||||||
partial_score += scoring['points']
|
|
||||||
|
|
||||||
print(f'scoring: {scoring}')
|
|
||||||
|
|
||||||
results['partial_scores'].append({
|
|
||||||
'section': section_id,
|
|
||||||
'score': partial_score
|
|
||||||
})
|
|
||||||
results['total_score'] = total_score
|
|
||||||
return results
|
|
||||||
|
|
||||||
except ET.ParseError as e:
|
|
||||||
return {
|
|
||||||
'filename': os.path.basename(xml_file),
|
|
||||||
'error': f"XML 파싱 오류: {str(e)}",
|
|
||||||
'total_score': 0
|
|
||||||
}
|
|
||||||
|
|
||||||
def binary_to_chartxml(self, xml_path):
|
|
||||||
tree = ET.parse(xml_path)
|
|
||||||
root = tree.getroot()
|
|
||||||
|
|
||||||
binary_data = root.xpath('//BINDATA[@Id=//BINITEM[@Format="OLE"]/@BinData]/text()')
|
|
||||||
if not binary_data:
|
|
||||||
return None
|
|
||||||
binary_data = binary_data[0].encode('utf-8')
|
|
||||||
|
|
||||||
# <BINDATA ...> 태그와 그 내부 내용을 삭제합니다.
|
|
||||||
encoded_data = re.sub(b'<BINDATA.*?>', b'', binary_data)
|
|
||||||
encoded_data = encoded_data.replace(b'</BINDATA>', b'')
|
|
||||||
encoded_data = encoded_data.replace(b'\r\n', b'')
|
|
||||||
|
|
||||||
# base64 디코딩을 수행합니다.
|
|
||||||
decoded_data = base64.b64decode(encoded_data+b'==')
|
|
||||||
|
|
||||||
# 디코딩된 데이터 내용 중 xml 형식만 추출할 때 <c:chartSpace>, </c:chartSpace> 사이의 데이터만 추출.
|
|
||||||
start = decoded_data.find(b'<?xml')
|
|
||||||
print(start)
|
|
||||||
end = decoded_data.find(b'</c:chartSpace>')
|
|
||||||
print(end)
|
|
||||||
xml_data = decoded_data[start:end+len(b'</c:chartSpace>')]
|
|
||||||
|
|
||||||
# xml 데이터가 없는 경우 None을 반환합니다.
|
|
||||||
if -1 in [start, end]:
|
|
||||||
return None
|
|
||||||
|
|
||||||
# 디코딩된 데이터를 파일로 저장합니다.
|
|
||||||
base_filename = os.path.splitext(xml_path)[0]
|
|
||||||
new_filename = f'{base_filename}.xml'
|
|
||||||
with open(new_filename, 'wb') as file:
|
|
||||||
file.write(xml_data)
|
|
||||||
|
|
||||||
return xml_data
|
|
||||||
|
|
||||||
def typo_check(self, correct_answer_file, user_answer_file, chart_xml):
|
|
||||||
user_answer_tree = ET.parse(user_answer_file)
|
|
||||||
user_answer_root = user_answer_tree.getroot()
|
|
||||||
correct_answer_tree = ET.parse(correct_answer_file)
|
|
||||||
correct_answer_root = correct_answer_tree.getroot()
|
|
||||||
|
|
||||||
# xpath로 바이너리 부분추출
|
|
||||||
user_input_text = user_answer_root.xpath('//CHAR//text()[not(ancestor::HEADER) and not(ancestor::TABLE)]')
|
|
||||||
user_table_text = user_answer_root.xpath('//TABLE//CHAR//text()')
|
|
||||||
user_input_text += user_table_text
|
|
||||||
|
|
||||||
correct_input_text = correct_answer_root.xpath('//CHAR//text()[not(ancestor::HEADER) and not(ancestor::TABLE)]')
|
|
||||||
correct_table_text = correct_answer_root.xpath('//TABLE//CHAR//text()')
|
|
||||||
correct_input_text += correct_table_text
|
|
||||||
|
|
||||||
# 차트 XML에서 제목 추출
|
|
||||||
if chart_xml is not None:
|
|
||||||
chart_xml_tree = ET.fromstring(chart_xml)
|
|
||||||
|
|
||||||
# 차트 제목 추출
|
|
||||||
user_chart_title = chart_xml_tree.xpath('/c:chartSpace/c:chart/c:title/c:tx/c:rich/a:p/a:r/a:t', namespaces={'c': 'http://schemas.openxmlformats.org/drawingml/2006/chart', 'a': 'http://schemas.openxmlformats.org/drawingml/2006/main'})
|
|
||||||
|
|
||||||
# 차트 제목이 존재하는 경우
|
|
||||||
if user_chart_title:
|
|
||||||
user_input_text.append(user_chart_title[0].text)
|
|
||||||
|
|
||||||
# 차트 제목 정답 텍스트 추출
|
|
||||||
correct_chart_title = self.scoring_criteria["2"]["50"]["searchValue"]
|
|
||||||
correct_input_text.append(correct_chart_title)
|
|
||||||
|
|
||||||
# 각 요소에서 공백 제거
|
|
||||||
user_input_text = [text.replace(' ', '') for text in user_input_text]
|
|
||||||
correct_input_text = [text.replace(' ', '') for text in correct_input_text]
|
|
||||||
|
|
||||||
|
|
||||||
# 숫자와 특정 형식 제거 (예: 1., 2., 3., -)
|
|
||||||
user_input_text = [re.sub(r'\d+\.\s*|-', '', text) for text in user_input_text]
|
|
||||||
correct_input_text = [re.sub(r'\d+\.\s*|-', '', text) for text in correct_input_text]
|
|
||||||
|
|
||||||
try :
|
|
||||||
# xpath = self.scoring_criteria["2"]["29"]['path'].split("'")[1]
|
|
||||||
# ignore_word = xpath.split("'")[1]
|
|
||||||
ignore_word = self.scoring_criteria["2"]["29"]["ignoreWord"]
|
|
||||||
# 특정 단어 제거
|
|
||||||
# 오타와 누락의 경우만 판단하면 정상작동하지만
|
|
||||||
# 추가 된 단어의 경우를 채점기준에 추가하면 정확하게 채점 되지 않을 수 있음
|
|
||||||
# [정답] Hybrid [실제작성]
|
|
||||||
user_input_text = [text.replace(ignore_word, '') for text in user_input_text]
|
|
||||||
correct_input_text = [text.replace(ignore_word, '') for text in correct_input_text]
|
|
||||||
except (KeyError, IndexError, AttributeError):
|
|
||||||
ignore_word = None
|
|
||||||
|
|
||||||
print(f"ignore_word: {ignore_word}")
|
|
||||||
|
|
||||||
# 리스트를 하나의 문자열로 변경
|
|
||||||
user_input_text_str = ''.join(user_input_text)
|
|
||||||
currect_input_text_str = ''.join(correct_input_text)
|
|
||||||
|
|
||||||
print("user_input_text as string:")
|
|
||||||
print(user_input_text_str)
|
|
||||||
print("\ncurrect_input_text_answer as string:")
|
|
||||||
print(currect_input_text_str)
|
|
||||||
|
|
||||||
|
|
||||||
# 문자열의 차이를 비교
|
|
||||||
diff = difflib.ndiff(currect_input_text_str, user_input_text_str)
|
|
||||||
diff_list = list(diff)
|
|
||||||
|
|
||||||
# 차이점을 정리하여 result_diff에 저장
|
|
||||||
result_diff = []
|
|
||||||
|
|
||||||
# 누락 된 단어만 따로 리스트로 저장
|
|
||||||
missing_list = []
|
|
||||||
|
|
||||||
# 오타와 누락된 단어 리스트 저장
|
|
||||||
error_missing_list = []
|
|
||||||
|
|
||||||
skip_next = False
|
|
||||||
|
|
||||||
for i, line in enumerate(diff_list):
|
|
||||||
if skip_next:
|
|
||||||
skip_next = False
|
|
||||||
continue
|
|
||||||
# diff_list의 line 시작이 '-'이면서 다음 line이 '+'이면 두 line을 붙여서 맞춤법이 틀린 단어로 판단
|
|
||||||
if line.startswith('- '):
|
|
||||||
# 오타
|
|
||||||
if i + 1 < len(diff_list) and diff_list[i + 1].startswith('+ '):
|
|
||||||
line = line.replace('- ', '-')
|
|
||||||
next = diff_list[i + 1].replace('+ ', '')
|
|
||||||
result_diff.append(line+'=>'+next)
|
|
||||||
error_missing_list.append(line+'=>'+next)
|
|
||||||
skip_next = True
|
|
||||||
# 누락
|
|
||||||
else:
|
|
||||||
line = line.replace('- ', '-')
|
|
||||||
result_diff.append(line)
|
|
||||||
missing_list.append(line)
|
|
||||||
error_missing_list.append(line)
|
|
||||||
# 없어도 되는 글자가 있는 경우 (추가)
|
|
||||||
elif line.startswith('+ '):
|
|
||||||
line = line.replace('+ ', '+')
|
|
||||||
result_diff.append(line)
|
|
||||||
|
|
||||||
# result_diff 출력
|
|
||||||
# print("\nResult Differences:")
|
|
||||||
# for diff in result_diff:
|
|
||||||
# print(diff)
|
|
||||||
|
|
||||||
# result_diff 배열의 길이를 맨 앞에 저장
|
|
||||||
|
|
||||||
# 모든 차이를 계산해 점수 차감
|
|
||||||
# temp = 40 - min(len(result_diff)*2, 40)
|
|
||||||
|
|
||||||
# 누락된 텍스트만 계산해 점수 차감
|
|
||||||
# temp = 40 - min(len(missing_list)*2, 40)
|
|
||||||
|
|
||||||
# 2503회 기준 오타 1개당 [2점]->[1점] 차감
|
|
||||||
temp = 40 - min(len(error_missing_list)*1, 40)
|
|
||||||
|
|
||||||
self.set_typo_score(temp)
|
|
||||||
|
|
||||||
result_diff.insert(0, temp)
|
|
||||||
return result_diff
|
|
||||||
|
|
||||||
# XML 파일 채점
|
|
||||||
def score_directory(self, xml_directory, correct_answer_file):
|
|
||||||
# xml 파일 불러오기
|
|
||||||
xml_files = Path(xml_directory).glob('*.hml')
|
|
||||||
|
|
||||||
# 결과 저장할 리스트
|
|
||||||
results = []
|
|
||||||
|
|
||||||
for user_answer_file in xml_files:
|
|
||||||
result = {}
|
|
||||||
chart_xml = self.binary_to_chartxml(user_answer_file)
|
|
||||||
result['typo'] = self.typo_check(correct_answer_file, user_answer_file, chart_xml)
|
|
||||||
result['score'] = self._score_xml_file(user_answer_file, chart_xml)
|
|
||||||
# result['score']['score_results'][2]['points'] = result['typo'][0]
|
|
||||||
results.append(result)
|
|
||||||
return results
|
|
||||||
|
|
||||||
def parse_filename(self, filename):
|
|
||||||
if isinstance(filename, dict):
|
|
||||||
filename = filename.get('파일명', '')
|
|
||||||
match = re.match(r'.*-(\d+)-(.+)\.hml', filename)
|
|
||||||
if match:
|
|
||||||
number = match.group(1)
|
|
||||||
name = match.group(2)
|
|
||||||
return number, name
|
|
||||||
|
|
||||||
return None, None
|
|
||||||
|
|
||||||
def export_to_excel(self, results, output_path=None):
|
|
||||||
if output_path is None:
|
|
||||||
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") #연월일_시분초
|
|
||||||
# timestamp = datetime.now().strftime("%Y%m%d") #연월일
|
|
||||||
output_path = f"scoring_results_{timestamp}.xlsx"
|
|
||||||
|
|
||||||
summary_data = []
|
|
||||||
detail_data = []
|
|
||||||
typo_data = []
|
|
||||||
|
|
||||||
for temp in results:
|
|
||||||
# 요약 정보
|
|
||||||
result = temp['score']
|
|
||||||
summary_row = {
|
|
||||||
'파일명': result['filename'],
|
|
||||||
'총점': result.get('total_score', 0)
|
|
||||||
}
|
|
||||||
if 'error' in result:
|
|
||||||
summary_row['오류'] = result['error']
|
|
||||||
|
|
||||||
summary_data.append(summary_row)
|
|
||||||
|
|
||||||
# 상세 정보
|
|
||||||
if 'score_results' in result:
|
|
||||||
filename = {'파일명': result['filename']}
|
|
||||||
number, name = self.parse_filename(filename)
|
|
||||||
if (number or name) is None:
|
|
||||||
detail_row = {'채점항목': result['filename'] }
|
|
||||||
else:
|
|
||||||
detail_row = {'채점항목':f"{number}-{name}"}
|
|
||||||
|
|
||||||
section_num = None
|
|
||||||
row_index = []
|
|
||||||
for i, score_result in enumerate(result['score_results']):
|
|
||||||
current_section = score_result['section']
|
|
||||||
|
|
||||||
if section_num is None:
|
|
||||||
section_num = current_section
|
|
||||||
|
|
||||||
# 다음 섹션(문제0 => 문제1)로 넘어갔을 경우 or 마지막 문제일 경우
|
|
||||||
if current_section != section_num:
|
|
||||||
# 이전 섹션의 부분합을 출력
|
|
||||||
detail_row[f'문제{section_num}'] = result['partial_scores'][int(section_num)]['score']
|
|
||||||
row_index.append(f'문제{section_num}')
|
|
||||||
section_num = current_section
|
|
||||||
|
|
||||||
detail_row[f'{i+1}'] = score_result['points']
|
|
||||||
row_index.append(score_result['id'])
|
|
||||||
|
|
||||||
# 마지막 섹션(문제2)부분합 점수를 출력
|
|
||||||
if i == len(result['score_results']) - 1:
|
|
||||||
detail_row[f'문제{current_section}'] = result['partial_scores'][int(current_section)]['score']
|
|
||||||
row_index.append(f'문제{current_section}')
|
|
||||||
|
|
||||||
detail_row['총점'] = result.get('total_score', 0)
|
|
||||||
row_index.append('총점')
|
|
||||||
detail_data.append(detail_row)
|
|
||||||
|
|
||||||
summary_df = pd.DataFrame(summary_data)
|
|
||||||
detail_df = pd.DataFrame(detail_data).transpose()
|
|
||||||
detail_df.columns = detail_df.iloc[0]
|
|
||||||
detail_df = detail_df[1:]
|
|
||||||
|
|
||||||
detail_df.index = row_index
|
|
||||||
# detail_df = pd.DataFrame(detail_data)
|
|
||||||
|
|
||||||
for temp in results:
|
|
||||||
result = temp['typo']
|
|
||||||
typo_data.append(result)
|
|
||||||
|
|
||||||
typo_df = pd.DataFrame(typo_data).transpose()
|
|
||||||
# detail_df = pd.DataFrame(detail_data)
|
|
||||||
|
|
||||||
# ExcelWriter 객체 생성
|
|
||||||
with pd.ExcelWriter(output_path, engine='openpyxl') as writer:
|
|
||||||
summary_df.to_excel(writer, sheet_name='채점결과요약', index=False)
|
|
||||||
detail_df.to_excel(writer, sheet_name='채점상세내역', index=True)
|
|
||||||
typo_df.to_excel(writer, sheet_name='오타내역', index=False)
|
|
||||||
|
|
||||||
# 열 너비 자동 조정
|
|
||||||
# for sheet_name in writer.sheets:
|
|
||||||
# worksheet = writer.sheets[sheet_name]
|
|
||||||
# for column_cells in worksheet.columns:
|
|
||||||
# max_length = 0
|
|
||||||
# column = column_cells[0].column_letter # 열의 문자
|
|
||||||
# for cell in column_cells:
|
|
||||||
# try:
|
|
||||||
# if cell.value:
|
|
||||||
# max_length = max(max_length, len(str(cell.value)))
|
|
||||||
# except:
|
|
||||||
# pass
|
|
||||||
# adjusted_width = (max_length + 2)
|
|
||||||
# worksheet.column_dimensions[column].width = adjusted_width
|
|
||||||
|
|
||||||
return output_path
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
|
||||||
|
|
||||||
# 시험회차 및 유형
|
|
||||||
exam_round = '2504'
|
|
||||||
|
|
||||||
# 250429기준 없는 시험 형식(A,B,C..)은 주석처리 하지 않으면 오류 발생
|
|
||||||
exam_types = [
|
|
||||||
'A',
|
|
||||||
# 'B',
|
|
||||||
# 'C',
|
|
||||||
]
|
|
||||||
# test_mode = False
|
|
||||||
test_mode = True
|
|
||||||
|
|
||||||
output_excel_paths = []
|
|
||||||
for exam_type in exam_types:
|
|
||||||
|
|
||||||
# JSON 채점기준표 파일 (예시:DIW_2503A.json)
|
|
||||||
# scoring_criteria_path = f'./DIW_{exam_round}.json'
|
|
||||||
scoring_criteria_path = f'./DIW_{exam_round}{exam_type}.json'
|
|
||||||
|
|
||||||
# xml(hml)파일 디렉토리 경로 (예시:./output/A/DIW)
|
|
||||||
# xml_directory = f'./output/{exam_type}/{"TEST" if test_mode else "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'
|
|
||||||
|
|
||||||
# 엑셀 파일명 (비어있으면 자동생성) (예시:241001_DIW_2503A_채점결과.xlsx)
|
|
||||||
timestamp = datetime.now().strftime("%y%m%d")
|
|
||||||
output_path = f'{timestamp}_DIW_{exam_round}회_{exam_type}형_{"TEST" if test_mode else "채점결과"}.xlsx'
|
|
||||||
|
|
||||||
# 채점 클래스 초기화
|
|
||||||
scorer = XMLScorer(scoring_criteria_path)
|
|
||||||
|
|
||||||
# 폴더 내 모든 xml 파일 채점
|
|
||||||
results = scorer.score_directory(xml_directory, correct_answer_file)
|
|
||||||
|
|
||||||
# 채점 결과 엑셀로 저장
|
|
||||||
output_excel_paths.append(scorer.export_to_excel(results, output_path))
|
|
||||||
|
|
||||||
print(f"채점 결과 엑셀 파일: {output_excel_paths}")
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
main()
|
|
||||||
@@ -532,6 +532,7 @@ class XMLScorer:
|
|||||||
|
|
||||||
# 가로 차트일 경우에만 x축과 y축을 바꿔줌
|
# 가로 차트일 경우에만 x축과 y축을 바꿔줌
|
||||||
# 세로, 꺾은선, 원형 차트의 경우 그대로 사용
|
# 세로, 꺾은선, 원형 차트의 경우 그대로 사용
|
||||||
|
|
||||||
if "가로" in chart_type:
|
if "가로" in chart_type:
|
||||||
if "catAx" in chart_xpath:
|
if "catAx" in chart_xpath:
|
||||||
chart_xpath = chart_xpath.replace("catAx", "valAx")
|
chart_xpath = chart_xpath.replace("catAx", "valAx")
|
||||||
@@ -543,11 +544,14 @@ class XMLScorer:
|
|||||||
# valAx의 axPos(축의위치) 속성값으로 축의 방향을 구분함
|
# valAx의 axPos(축의위치) 속성값으로 축의 방향을 구분함
|
||||||
elif "분산형" in chart_type:
|
elif "분산형" in chart_type:
|
||||||
if "catAx" in chart_xpath:
|
if "catAx" in chart_xpath:
|
||||||
# valAx[c:axPos/@val='b'] : 값축의 위치가 bottom (가로,x축)
|
# 분산형 차트는 catAx 대신 valAx를 사용하거나,
|
||||||
chart_xpath = chart_xpath.replace("catAx", "valAx[c:axPos/@val='b']")
|
# catAx를 사용하더라도 bottom 위치의 축만 해당
|
||||||
|
xpath_with_valax = chart_xpath.replace("catAx", "valAx[c:axPos/@val='b']")
|
||||||
|
xpath_with_catax = chart_xpath.replace("catAx", "catAx[c:axPos/@val='b']")
|
||||||
|
# 두 경로를 OR 조건으로 결합
|
||||||
|
chart_xpath = xpath_with_valax + " | " + xpath_with_catax
|
||||||
elif "valAx" in chart_xpath:
|
elif "valAx" in chart_xpath:
|
||||||
# valAx[c:axPos/@val='l'] : 값축의 위치가 left (세로,y축)
|
chart_xpath = chart_xpath.replace("valAx", "valAx[c:axPos/@val='l']")
|
||||||
chart_xpath = chart_xpath.replace("valAx", "valAx[c:axPos/@val='l']")
|
|
||||||
|
|
||||||
chart_items = chart_tree.xpath(chart_xpath, namespaces=namespaces) if chart_xpath else []
|
chart_items = chart_tree.xpath(chart_xpath, namespaces=namespaces) if chart_xpath else []
|
||||||
|
|
||||||
@@ -1067,13 +1071,16 @@ class XMLScorer:
|
|||||||
'꺾은선형': "//c:lineChart[c:grouping[@val='standard']]",
|
'꺾은선형': "//c:lineChart[c:grouping[@val='standard']]",
|
||||||
'묶은가로막대형': "//c:barChart[c:barDir[@val='bar'] and c:grouping[@val='clustered']]",
|
'묶은가로막대형': "//c:barChart[c:barDir[@val='bar'] and c:grouping[@val='clustered']]",
|
||||||
'누적가로막대형': "//c:barChart[c:barDir[@val='bar'] and c:grouping[@val='stacked']]",
|
'누적가로막대형': "//c:barChart[c:barDir[@val='bar'] and c:grouping[@val='stacked']]",
|
||||||
|
'100%기준누적가로막대형': "//c:barChart[c:barDir[@val='bar'] and c:grouping[@val='percentStacked']]",
|
||||||
'원뿔형누적가로막대형': "//c:bar3DChart[c:barDir[@val='bar'] and c:grouping[@val='stacked']]",
|
'원뿔형누적가로막대형': "//c:bar3DChart[c:barDir[@val='bar'] and c:grouping[@val='stacked']]",
|
||||||
|
|
||||||
'묶은세로막대형': "//c:barChart[c:barDir[@val='col'] and c:grouping[@val='clustered']]",
|
'묶은세로막대형': "//c:barChart[c:barDir[@val='col'] and c:grouping[@val='clustered']]",
|
||||||
'누적세로막대형': "//c:barChart[c:barDir[@val='col'] and c:grouping[@val='stacked']]",
|
'누적세로막대형': "//c:barChart[c:barDir[@val='col'] and c:grouping[@val='stacked']]",
|
||||||
|
'100%기준누적세로막대형': "//c:barChart[c:barDir[@val='col'] and c:grouping[@val='percentStacked']]",
|
||||||
'원형': "//c:pieChart",
|
'원형': "//c:pieChart",
|
||||||
'분산형': "//c:scatterChart",
|
'분산형': "//c:scatterChart",
|
||||||
'표식만있는분산형': "//c:scatterChart[c:scatterStyle[@val='marker']]",
|
'표식만있는분산형': "//c:scatterChart[c:scatterStyle[@val='marker']]",
|
||||||
|
'곡선이있는분산형': "//c:scatterChart[c:scatterStyle[@val='smooth']]"
|
||||||
}
|
}
|
||||||
chart_type = criterion.get('chart_type').replace(" ","")
|
chart_type = criterion.get('chart_type').replace(" ","")
|
||||||
|
|
||||||
@@ -1335,7 +1342,15 @@ class XMLScorer:
|
|||||||
# XML 파일 채점
|
# XML 파일 채점
|
||||||
def score_directory(self, xml_directory, correct_answer_file):
|
def score_directory(self, xml_directory, correct_answer_file):
|
||||||
# xml 파일 불러오기
|
# xml 파일 불러오기
|
||||||
xml_files = Path(xml_directory).glob('*.hml')
|
# xml_files = Path(xml_directory).glob('*.hml')
|
||||||
|
|
||||||
|
# 정답파일명(answer_filename)을 기준으로 xml_files 정렬
|
||||||
|
# 정답 파일이 가장 앞에 오도록)
|
||||||
|
answer_filename = Path(correct_answer_file).name # 파일명만 추출
|
||||||
|
xml_files = sorted(
|
||||||
|
Path(xml_directory).glob('*.hml'),
|
||||||
|
key=lambda f: (0 if f.name == answer_filename else 1, f.name)
|
||||||
|
)
|
||||||
|
|
||||||
# 채점결과 저장할 리스트
|
# 채점결과 저장할 리스트
|
||||||
score_results = []
|
score_results = []
|
||||||
@@ -1386,10 +1401,11 @@ class XMLScorer:
|
|||||||
if 'score_results' in result:
|
if 'score_results' in result:
|
||||||
filename = {'파일명': result['filename']}
|
filename = {'파일명': result['filename']}
|
||||||
number, name = self.parse_filename(filename)
|
number, name = self.parse_filename(filename)
|
||||||
|
# 파일명에서 번호와 이름이 추출되지 않는 경우
|
||||||
if (number or name) is None:
|
if (number or name) is None:
|
||||||
detail_row = {'채점항목': result['filename'] }
|
detail_row = {'채점항목': result['filename'] }
|
||||||
else:
|
else:
|
||||||
detail_row = {'채점항목':f"{number}-{name}"}
|
detail_row = {'채점항목': f"{number}-{name}"}
|
||||||
|
|
||||||
section_num = None
|
section_num = None
|
||||||
row_index = []
|
row_index = []
|
||||||
@@ -1474,7 +1490,7 @@ class XMLScorer:
|
|||||||
def main():
|
def main():
|
||||||
|
|
||||||
# 시험회차 및 유형
|
# 시험회차 및 유형
|
||||||
exam_round = '2601'
|
exam_round = '2604'
|
||||||
# exam_round = '2522'
|
# exam_round = '2522'
|
||||||
|
|
||||||
# 채점하고자 하는 유형은 주석 해제
|
# 채점하고자 하는 유형은 주석 해제
|
||||||
@@ -1483,6 +1499,7 @@ def main():
|
|||||||
# 'B',
|
# 'B',
|
||||||
'C',
|
'C',
|
||||||
# 'D',
|
# 'D',
|
||||||
|
# 'E',
|
||||||
]
|
]
|
||||||
|
|
||||||
test_mode = False
|
test_mode = False
|
||||||
@@ -1491,17 +1508,18 @@ def main():
|
|||||||
output_excel_paths = []
|
output_excel_paths = []
|
||||||
for exam_type in exam_types:
|
for exam_type in exam_types:
|
||||||
# JSON 채점기준표 파일 (예시:DIW_2503A.json)
|
# JSON 채점기준표 파일 (예시:DIW_2503A.json)
|
||||||
scoring_criteria_path = f'./DIW_{exam_round}{exam_type}.json'
|
scoring_criteria_path = f'./JSON/{exam_round}/DIW_{exam_round}{exam_type}.json'
|
||||||
|
|
||||||
# xml(hml)파일 디렉토리 경로 (예시:./output/2503/A/DIW)
|
# xml(hml)파일 디렉토리 경로 (예시:./output/2503/A/DIW)
|
||||||
xml_directory = f'./output/{exam_round}/{exam_type}/{"TEST" if test_mode else "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}/{"TEST" if test_mode else "DIW"}/DIW_{exam_round}{exam_type}.hml'
|
correct_answer_file = f'./output/{exam_round}/{exam_type}/{"TEST" if test_mode else "DIW"}/DIW_{exam_round}{exam_type}.hml'
|
||||||
|
|
||||||
# 엑셀 파일명 (비어있으면 자동생성) (예시:241001_DIW_2503A_채점결과.xlsx)
|
# 엑셀 파일명 (비어있으면 자동생성) (예시:241001_DIW_2503A_채점결과.xlsx)
|
||||||
timestamp = datetime.now().strftime("%y%m%d")
|
timestamp = datetime.now().strftime("%y%m%d")
|
||||||
output_path = f'{timestamp}_DIW_{exam_round}{exam_type}_{"TEST" if test_mode else "채점결과"}.xlsx'
|
|
||||||
|
output_path = f'./{timestamp}_DIW_{exam_round}{exam_type}_{"TEST" if test_mode else "채점결과"}.xlsx'
|
||||||
|
|
||||||
# 채점 클래스 초기화
|
# 채점 클래스 초기화
|
||||||
scorer = XMLScorer(scoring_criteria_path)
|
scorer = XMLScorer(scoring_criteria_path)
|
||||||
|
|||||||
7155
hwp_conversion.log
7155
hwp_conversion.log
File diff suppressed because it is too large
Load Diff
@@ -1,63 +0,0 @@
|
|||||||
from hanspell import spell_checker
|
|
||||||
from lxml import etree as ET
|
|
||||||
import difflib
|
|
||||||
|
|
||||||
|
|
||||||
# sent = ['서울시 용일동 보건소에서 주최하는 ','즐거운 컬러푸드 영양교실', '은 제8회째 진행하는 행사입니다. 조화로운 식생활과 건강한 삶을 유지하도록 음식 재료의 빛깔만큼이나 다양한 효능이 그 속에 담겨져 있는 컬러푸드에 대한 올바른 영양지식을 제공하고 지역주민들이 직접 참여하여 각각의 맛과 특징을 살펴보고 골고루 먹기의 중요성을 컬러푸드 체험을 통하여 배울 수 있습니다. 이 밖에 아이들을 위한 영양 식단과 고혈압, 당뇨, 비만예방 식단 및 컬러푸드를 이용한 영양 간식 만들기 등 다양한 프로그램이 준비되어 있습니다. 아이들에게는 좋은 경험이 될 수 있는 이번 행사에 많은 참여 부탁드립니다.']
|
|
||||||
# spelled_check=spell_checker.check(sent)
|
|
||||||
xml_path_origin = r"/Users/waterdrw/Works/KAIT/HWP-Scoring/output/정답.hml"
|
|
||||||
xml_path = r"/Users/waterdrw/Works/KAIT/HWP-Scoring/output/워드(한글)-010036-구준호.hml"
|
|
||||||
tree = ET.parse(xml_path)
|
|
||||||
root = tree.getroot()
|
|
||||||
tree_origin = ET.parse(xml_path_origin)
|
|
||||||
root_origin = tree_origin.getroot()
|
|
||||||
|
|
||||||
# xpath로 바이너리 부분추출
|
|
||||||
input_text = root.xpath('//CHAR/text()')
|
|
||||||
input_text_origin = root_origin.xpath('//CHAR/text()')
|
|
||||||
|
|
||||||
# 각 요소에서 공백 제거
|
|
||||||
input_text = [text.replace(' ', '') for text in input_text]
|
|
||||||
input_text_origin = [text.replace(' ', '') for text in input_text_origin]
|
|
||||||
|
|
||||||
|
|
||||||
# 리스트를 하나의 문자열로 변경
|
|
||||||
input_text_str = ''.join(input_text)
|
|
||||||
input_text_origin_str = ''.join(input_text_origin)
|
|
||||||
|
|
||||||
print("input_text as string:")
|
|
||||||
print(input_text_str)
|
|
||||||
print("\ninput_text_origin as string:")
|
|
||||||
print(input_text_origin_str)
|
|
||||||
|
|
||||||
|
|
||||||
# 문자열의 차이를 비교
|
|
||||||
diff = difflib.ndiff(input_text_origin_str, input_text_str)
|
|
||||||
diff_list = list(diff)
|
|
||||||
|
|
||||||
# 차이점을 정리하여 result_diff에 저장
|
|
||||||
result_diff = []
|
|
||||||
skip_next = False
|
|
||||||
|
|
||||||
for i, line in enumerate(diff_list):
|
|
||||||
if skip_next:
|
|
||||||
skip_next = False
|
|
||||||
continue
|
|
||||||
# diff_list의 line 시작이 '-'이면서 다음 line이 '+'이면 두 line을 붙여서 맞춤법이 틀린 단어로 판단
|
|
||||||
if line.startswith('- '):
|
|
||||||
if i + 1 < len(diff_list) and diff_list[i + 1].startswith('+ '):
|
|
||||||
line = line.replace('- ', '-')
|
|
||||||
next = diff_list[i + 1].replace('+ ', '')
|
|
||||||
result_diff.append(line+'=>'+next)
|
|
||||||
skip_next = True
|
|
||||||
else:
|
|
||||||
line = line.replace('- ', '-')
|
|
||||||
result_diff.append(line)
|
|
||||||
elif line.startswith('+ '):
|
|
||||||
line = line.replace('+ ', '+')
|
|
||||||
result_diff.append(line)
|
|
||||||
|
|
||||||
# result_diff 출력
|
|
||||||
print("\nResult Differences:")
|
|
||||||
for diff in result_diff:
|
|
||||||
print(diff)
|
|
||||||
Binary file not shown.
148
xpathSearch.py
148
xpathSearch.py
@@ -1,148 +0,0 @@
|
|||||||
from lxml import etree
|
|
||||||
from difflib import SequenceMatcher
|
|
||||||
import json
|
|
||||||
|
|
||||||
class XMLPathHandler:
|
|
||||||
def __init__(self, xml_file_path):
|
|
||||||
"""
|
|
||||||
XML 파일을 로드하고 처리하는 핸들러
|
|
||||||
:param xml_file_path: XML 파일 경로
|
|
||||||
"""
|
|
||||||
self.tree = etree.parse(xml_file_path)
|
|
||||||
self.root = self.tree.getroot()
|
|
||||||
|
|
||||||
def similar(self, a, b):
|
|
||||||
"""
|
|
||||||
두 문자열의 유사도를 계산
|
|
||||||
:return: 유사도 점수 (0~1)
|
|
||||||
"""
|
|
||||||
return SequenceMatcher(None, a, b).ratio()
|
|
||||||
|
|
||||||
def find_similar_text(self, search_value, element_name, arg_name, threshold=0.8):
|
|
||||||
"""
|
|
||||||
XML에서 유사한 텍스트를 찾음
|
|
||||||
:param search_value: 찾고자 하는 텍스트
|
|
||||||
:param element_name: 검색할 요소 이름
|
|
||||||
:param arg_name: 검색할 속성 이름
|
|
||||||
:param threshold: 유사도 임계값
|
|
||||||
:return: 가장 유사한 텍스트와 점수
|
|
||||||
"""
|
|
||||||
# 특정 요소의 특정 속성을 가진 모든 요소 검색
|
|
||||||
xpath = f"//{element_name}[@{arg_name}]"
|
|
||||||
elements = self.root.xpath(xpath)
|
|
||||||
best_match = None
|
|
||||||
best_score = 0
|
|
||||||
|
|
||||||
for element in elements:
|
|
||||||
attr_value = element.get(arg_name)
|
|
||||||
if attr_value is not None:
|
|
||||||
score = self.similar(search_value, attr_value)
|
|
||||||
if score > threshold and score > best_score:
|
|
||||||
best_match = attr_value
|
|
||||||
best_score = score
|
|
||||||
|
|
||||||
return best_match, best_score
|
|
||||||
|
|
||||||
def build_xpath(self, item):
|
|
||||||
"""
|
|
||||||
설정 항목을 기반으로 XPath 생성
|
|
||||||
:param item: 설정 항목
|
|
||||||
:return: 구성된 XPath와 매칭된 텍스트, 유사도 점수
|
|
||||||
"""
|
|
||||||
if not all(key in item for key in ['ele', 'arg', 'searchValue']):
|
|
||||||
return None, None, 0
|
|
||||||
|
|
||||||
# 유사 텍스트 검색
|
|
||||||
matched_text, score = self.find_similar_text(
|
|
||||||
item['searchValue'],
|
|
||||||
item['ele'],
|
|
||||||
item['arg']
|
|
||||||
)
|
|
||||||
|
|
||||||
if matched_text:
|
|
||||||
# 기본 XPath 템플릿 구성
|
|
||||||
xpath = f"//{item['ele']}[@{item['arg']}='{matched_text}']"
|
|
||||||
|
|
||||||
# path가 제공된 경우, 해당 path를 기반으로 XPath 구성
|
|
||||||
if 'path' in item and item['path']:
|
|
||||||
xpath = item['path'].replace(f"[@{item['arg']}='']", f"[@{item['arg']}='{matched_text}']")
|
|
||||||
xpath = xpath.replace(f"[@{item['arg']}='searchValue']", f"[@{item['arg']}='{matched_text}']")
|
|
||||||
|
|
||||||
return xpath, matched_text, score
|
|
||||||
|
|
||||||
return None, None, 0
|
|
||||||
|
|
||||||
def process_config(self, config):
|
|
||||||
"""
|
|
||||||
설정된 JSON 설정을 처리
|
|
||||||
:param config: JSON 설정
|
|
||||||
:return: 처리된 XPath 결과들
|
|
||||||
"""
|
|
||||||
results = {}
|
|
||||||
|
|
||||||
for key, item in config.items():
|
|
||||||
results[key] = {
|
|
||||||
'original_config': item,
|
|
||||||
'processed_results': {}
|
|
||||||
}
|
|
||||||
|
|
||||||
xpath, matched_text, score = self.build_xpath(item)
|
|
||||||
|
|
||||||
if xpath:
|
|
||||||
try:
|
|
||||||
xpath_results = self.root.xpath(xpath)
|
|
||||||
results[key]['processed_results'] = {
|
|
||||||
'original_value': item['searchValue'],
|
|
||||||
'matched_value': matched_text,
|
|
||||||
'similarity_score': score,
|
|
||||||
'xpath': xpath,
|
|
||||||
'results': xpath_results
|
|
||||||
}
|
|
||||||
except etree.XPathEvalError as e:
|
|
||||||
results[key]['error'] = f"XPath evaluation error: {str(e)}"
|
|
||||||
else:
|
|
||||||
results[key]['error'] = "Unable to build XPath: missing required configuration"
|
|
||||||
|
|
||||||
return results
|
|
||||||
|
|
||||||
# 사용 예시
|
|
||||||
def main():
|
|
||||||
config = {
|
|
||||||
"0": {
|
|
||||||
"path": "//TEXTART[@Text='']/TEXTARTSHAPE/@FontName",
|
|
||||||
"ele": "TEXTART",
|
|
||||||
"arg": "Text",
|
|
||||||
"searchValue": "즐거운컬러푸드영양교실",
|
|
||||||
"value": "궁서체",
|
|
||||||
"points": 10
|
|
||||||
},
|
|
||||||
"1": {
|
|
||||||
"path": "//PARASHAPE[@Id=//TEXTART[@Text='']/ancestor::P/@ParaShape]/@Align",
|
|
||||||
"ele": "PARASHAPE",
|
|
||||||
"arg": "Align",
|
|
||||||
"searchValue": "Center",
|
|
||||||
"value": "Center",
|
|
||||||
"points": 2
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
xmlPath = r"C:\Users\dra\project\HWP-Scoring\output\1.hml";
|
|
||||||
handler = XMLPathHandler(xmlPath)
|
|
||||||
results = handler.process_config(config)
|
|
||||||
|
|
||||||
# 결과 출력
|
|
||||||
for key, result in results.items():
|
|
||||||
print(f"\nProcessing config item {key}:")
|
|
||||||
print(f"Original config: {result['original_config']}")
|
|
||||||
|
|
||||||
if 'error' in result:
|
|
||||||
print(f"Error: {result['error']}")
|
|
||||||
else:
|
|
||||||
processed = result['processed_results']
|
|
||||||
print(f"Generated XPath: {processed['xpath']}")
|
|
||||||
print(f"Matched text: {processed['matched_value']}")
|
|
||||||
print(f"Similarity score: {processed['similarity_score']}")
|
|
||||||
print(f"Results found: {processed['results']}")
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
||||||
13
오류및문제점.md
13
오류및문제점.md
@@ -1,13 +0,0 @@
|
|||||||
# 오류 및 문제점
|
|
||||||
|
|
||||||
## 1. 원인 파악이나 해결이 어려운 경우
|
|
||||||
|
|
||||||
### 한글문서(.hwpx)에 수험자가 차트 텍스트 속성을 변경해서 저장했지만 차트 xml파일에 옵션이 적용되지 않는 경우가 있음
|
|
||||||
|
|
||||||
#### (2-50) 문항 차트 제목 굵게 속성만
|
|
||||||
|
|
||||||
1. 정상적으로 텍스트 속성이 적용되는 수험자의 차트를 복사
|
|
||||||
2. 텍스트 속성이 적용되지 않는 수험자의 한글 파일에 차트를 붙여넣을 경우
|
|
||||||
3. 정상적으로 XML파일에 텍스트 속성이 적용
|
|
||||||
|
|
||||||
- 이로 미루어 볼 때, 차트객체의 문제일 것으로 판단되지만 해결 방안은 현재 없음
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,850 +0,0 @@
|
|||||||
{
|
|
||||||
"0": {
|
|
||||||
"0": {
|
|
||||||
"path": "",
|
|
||||||
"path2": "",
|
|
||||||
"points": 0,
|
|
||||||
"category": "파일저장",
|
|
||||||
"item": "파일명 (수검번호.hwp/hwpx)"
|
|
||||||
},
|
|
||||||
"1": {
|
|
||||||
"path": "//PAGEMARGIN",
|
|
||||||
"value": {
|
|
||||||
"Top": 20,
|
|
||||||
"Bottom": 20,
|
|
||||||
"Left": 20,
|
|
||||||
"Right": 20,
|
|
||||||
"Header": 10,
|
|
||||||
"Footer": 10,
|
|
||||||
"Gutter": 0
|
|
||||||
},
|
|
||||||
"tolerance": 1,
|
|
||||||
"points": 4,
|
|
||||||
"category": "PageSetting",
|
|
||||||
"item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)"
|
|
||||||
},
|
|
||||||
"2": {
|
|
||||||
"path": "",
|
|
||||||
"value": {
|
|
||||||
"FontName": "바탕",
|
|
||||||
"FontSize": "1000",
|
|
||||||
"Alignment": "Justify",
|
|
||||||
"LineSpacing": "160"
|
|
||||||
},
|
|
||||||
"points": 4,
|
|
||||||
"category": "BasicSetting",
|
|
||||||
"item": "글꼴 (바탕, 10pt), 양쪽정렬, 줄간격 (160%)"
|
|
||||||
},
|
|
||||||
"3": {
|
|
||||||
"path": "",
|
|
||||||
"value": null,
|
|
||||||
"points": 40,
|
|
||||||
"category": "오타감점",
|
|
||||||
"item": "오타 1개 -1점 / 2503회부터 오타 1개 -1점으로 변경"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"1": {
|
|
||||||
"1": {
|
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
|
|
||||||
"searchValue": "디지털문서편집컨퍼런스",
|
|
||||||
"value": "견고딕",
|
|
||||||
"points": 1,
|
|
||||||
"category": "OneAnswer",
|
|
||||||
"item": "문구 (디지털문서편집컨퍼런스)/① 글씨체 (견고딕)"
|
|
||||||
},
|
|
||||||
"2": {
|
|
||||||
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
|
|
||||||
"searchValue": "디지털문서편집컨퍼런스",
|
|
||||||
"value": "28,61,98",
|
|
||||||
"points": 2,
|
|
||||||
"category": "Color",
|
|
||||||
"item": "문구 (디지털문서편집컨퍼런스)/② 채우기 : 색상(RGB:28,61,98)"
|
|
||||||
},
|
|
||||||
"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": "157,92,187",
|
|
||||||
"points": 2,
|
|
||||||
"category": "Color",
|
|
||||||
"item": "어/③ 면색 : 색상(RGB:157,92,187)"
|
|
||||||
},
|
|
||||||
"11": {
|
|
||||||
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
|
|
||||||
"searchValue": "디",
|
|
||||||
"value": "3.0",
|
|
||||||
"tolerance": 1,
|
|
||||||
"points": 2,
|
|
||||||
"category": "mmSize",
|
|
||||||
"item": "어/④ 본문과의 간격 : 3.0mm"
|
|
||||||
},
|
|
||||||
"12": {
|
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
|
||||||
"searchValue": "다양한 분야의 세미나와 전시",
|
|
||||||
"value": "BOLD",
|
|
||||||
"points": 1,
|
|
||||||
"category": "FontAttribute",
|
|
||||||
"item": "문구 (다양한 분야의 세미나와 전시)/① BOLD"
|
|
||||||
},
|
|
||||||
"13": {
|
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
|
|
||||||
"searchValue": "다양한 분야의 세미나와 전시",
|
|
||||||
"value": "UNDERLINE",
|
|
||||||
"points": 1,
|
|
||||||
"category": "FontAttribute",
|
|
||||||
"item": "문구 (다양한 분야의 세미나와 전시)/② UNDERLINE"
|
|
||||||
},
|
|
||||||
"14": {
|
|
||||||
"path": "//CHAR[contains(string(.),'{char1}')]/text()",
|
|
||||||
"path2": "//CHAR[contains(string(.),'{char2}')]/text()",
|
|
||||||
"path3": "//CHAR[contains(string(.),'{char3}')]/text()",
|
|
||||||
"char1": "■",
|
|
||||||
"char2": "■",
|
|
||||||
"char3": "※",
|
|
||||||
"value": 3,
|
|
||||||
"points": 3,
|
|
||||||
"category": "SpecialChar",
|
|
||||||
"item": "① ■, ② ■, ③ ※"
|
|
||||||
},
|
|
||||||
"15": {
|
|
||||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
|
||||||
"searchValue": "행사안내",
|
|
||||||
"value": "굴림",
|
|
||||||
"points": 1,
|
|
||||||
"category": "FontName",
|
|
||||||
"item": "문구 (■ 행사안내 ■)/① 글씨체 (굴림)"
|
|
||||||
},
|
|
||||||
"16": {
|
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{match_str}')]/ancestor::P/@ParaShape]/@Align",
|
|
||||||
"match_str": "행사안내",
|
|
||||||
"value": "Center",
|
|
||||||
"points": 1,
|
|
||||||
"category": "Align",
|
|
||||||
"item": "문구 (■ 행사안내 ■)/② 정렬 (가운데 정렬)"
|
|
||||||
},
|
|
||||||
"17": {
|
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
|
||||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
|
||||||
"searchValue": "2025.12.24.(수) 18:00까지 전화로 등록 가능(02-1234-5678)",
|
|
||||||
"value": "ITALIC",
|
|
||||||
"points": 1,
|
|
||||||
"category": "FontAttribute",
|
|
||||||
"item": "문구 (2025.12.24.(수) 18:00까지 전화로 등록 가능(02-1234-5678))/① ITALIC"
|
|
||||||
},
|
|
||||||
"18": {
|
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
|
||||||
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
|
|
||||||
"searchValue": "2025.12.24.(수) 18:00까지 전화로 등록 가능(02-1234-5678)",
|
|
||||||
"value": "UNDERLINE",
|
|
||||||
"points": 1,
|
|
||||||
"category": "FontAttribute",
|
|
||||||
"item": "문구 (2025.12.24.(수) 18:00까지 전화로 등록 가능(02-1234-5678))/② UNDERLINE"
|
|
||||||
},
|
|
||||||
"19": {
|
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
|
|
||||||
"searchValue": "기타사항",
|
|
||||||
"value": {
|
|
||||||
"Left": 10,
|
|
||||||
"Indent": 12
|
|
||||||
},
|
|
||||||
"points": 2,
|
|
||||||
"category": "ParaShape",
|
|
||||||
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (10), 내어쓰기 (12)",
|
|
||||||
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
|
|
||||||
},
|
|
||||||
"20": {
|
|
||||||
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
|
|
||||||
"searchValue": "2025. 12. 20.",
|
|
||||||
"value": "1400",
|
|
||||||
"points": 1,
|
|
||||||
"category": "OneAnswer",
|
|
||||||
"item": "문구 (2025. 12. 20.)/① 크기 (1400)",
|
|
||||||
"desc": "1pt당 100"
|
|
||||||
},
|
|
||||||
"21": {
|
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
|
|
||||||
"searchValue": "2025. 12. 20.",
|
|
||||||
"value": "Center",
|
|
||||||
"points": 1,
|
|
||||||
"category": "OneAnswer",
|
|
||||||
"item": "문구 (2025. 12. 20.)/② 정렬 (가운데 정렬)"
|
|
||||||
},
|
|
||||||
"22": {
|
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
|
||||||
"searchValue": "사단법인 스마트오피스협의회",
|
|
||||||
"value": "돋움체",
|
|
||||||
"points": 1,
|
|
||||||
"category": "FontName",
|
|
||||||
"item": "문구 (사단법인 스마트오피스협의회)/① 글씨체 (돋움체)"
|
|
||||||
},
|
|
||||||
"23": {
|
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
|
||||||
"searchValue": "사단법인 스마트오피스협의회",
|
|
||||||
"value": "2700",
|
|
||||||
"points": 1,
|
|
||||||
"category": "OneAnswer",
|
|
||||||
"item": "문구 (사단법인 스마트오피스협의회)/② 크기 (2700)"
|
|
||||||
},
|
|
||||||
"24": {
|
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
|
|
||||||
"searchValue": "사단법인 스마트오피스협의회",
|
|
||||||
"value": "Center",
|
|
||||||
"points": 1,
|
|
||||||
"category": "OneAnswer",
|
|
||||||
"item": "문구 (사단법인 스마트오피스협의회)/③ 정렬 (가운데 정렬)"
|
|
||||||
},
|
|
||||||
"25": {
|
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
|
||||||
"searchValue": "DIAT",
|
|
||||||
"value": "궁서",
|
|
||||||
"points": 1,
|
|
||||||
"category": "Header.FontName",
|
|
||||||
"item": "문구 (DIAT)/① 글꼴 (궁서)"
|
|
||||||
},
|
|
||||||
"26": {
|
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
|
||||||
"searchValue": "DIAT",
|
|
||||||
"value": "900",
|
|
||||||
"points": 1,
|
|
||||||
"category": "Header.OneAnswer",
|
|
||||||
"item": "문구 (DIAT)/② 크기 (9pt)"
|
|
||||||
},
|
|
||||||
"27": {
|
|
||||||
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
|
|
||||||
"searchValue": "DIAT",
|
|
||||||
"value": "Right",
|
|
||||||
"points": 1,
|
|
||||||
"category": "Header.OneAnswer",
|
|
||||||
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
|
|
||||||
},
|
|
||||||
"28": {
|
|
||||||
"path": "//PAGENUM/@FormatType",
|
|
||||||
"value": "Ideograph",
|
|
||||||
"points": 2,
|
|
||||||
"category": "PageNumber",
|
|
||||||
"item": "① 쪽 번호 매기기 (가,나,다 순으로)",
|
|
||||||
"desc1": {
|
|
||||||
"가,나,다": "HangulSyllable",
|
|
||||||
"1,2,3": "Digit",
|
|
||||||
"일,이,삼": "HangulPhonetic",
|
|
||||||
"갑,을,병": "DecagonCircle",
|
|
||||||
"A,B,C": "LatinCapital",
|
|
||||||
"a,b,c": "LatinSmall",
|
|
||||||
"Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital",
|
|
||||||
"①,②,③": "CircledDigit",
|
|
||||||
"一,二,三": "Ideograph",
|
|
||||||
"㉠,㉡,㉢": "CircledHangulJamo",
|
|
||||||
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
|
|
||||||
"㊀,㊁,㊂": "CircledIdeograph",
|
|
||||||
"i,ii,iii": "RomanSmall",
|
|
||||||
"I,II,III": "RomanCapital",
|
|
||||||
"甲,乙,丙": "DecagonCircleHanja",
|
|
||||||
"+,++,+++": "UserChar",
|
|
||||||
"*,**,***": "UserChar",
|
|
||||||
"정답에 맞는 값 value에 입력": ""
|
|
||||||
},
|
|
||||||
"desc2": "1, 2페이지 모두 정답이어야 점수 부여"
|
|
||||||
},
|
|
||||||
"29": {
|
|
||||||
"path": "//PAGENUM/@Pos",
|
|
||||||
"value": "BottomCenter",
|
|
||||||
"points": 2,
|
|
||||||
"category": "PageNumber",
|
|
||||||
"item": "왼쪽 아래",
|
|
||||||
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
|
|
||||||
"desc2": {
|
|
||||||
"가운데 아래": "BottomCenter",
|
|
||||||
"오른쪽 아래": "BottomRight",
|
|
||||||
"왼쪽 아래": "BottomLeft"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"30": {
|
|
||||||
"path": "//CHAR[contains(text(),'{searchValue}')]",
|
|
||||||
"searchValue": "http",
|
|
||||||
"value": true,
|
|
||||||
"points": 2,
|
|
||||||
"category": "hyperlink",
|
|
||||||
"item": "문구 (http://www.ihd.or.kr)/하이퍼링크 없이 작성",
|
|
||||||
"desc": "searchValue에 해당하는 주소 문구에 하이퍼링크가 하나라도 설정되어 있으면 오답"
|
|
||||||
},
|
|
||||||
"31": {
|
|
||||||
"path": "//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing",
|
|
||||||
"value": "190",
|
|
||||||
"first_word": "디",
|
|
||||||
"points": 2,
|
|
||||||
"category": "LineSpacing",
|
|
||||||
"item": "문제 1 줄간격 190% 설정",
|
|
||||||
"desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점), first_word 속성에 [문단 첫글자 장식]에 해당하는 글자를 입력해준다."
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"2": {
|
|
||||||
"1": {
|
|
||||||
"path": "//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@HeaderInside",
|
|
||||||
"path2": "//BORDERFILL[@Id=//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@BorferFill]",
|
|
||||||
"value": {
|
|
||||||
"header_inside": true,
|
|
||||||
"all_double_slim": true
|
|
||||||
},
|
|
||||||
"points": 4,
|
|
||||||
"category": "PageBorder",
|
|
||||||
"item": "문제2 쪽테두리(이중 실선, 머리말 포함) 설정"
|
|
||||||
},
|
|
||||||
"2": {
|
|
||||||
"path": "count(//SECTION)>1",
|
|
||||||
"value": true,
|
|
||||||
"points": 3,
|
|
||||||
"category": "Boolean",
|
|
||||||
"item": "① 구역나누기",
|
|
||||||
"desc": "섹션이 1개 이상이면 점수부여"
|
|
||||||
},
|
|
||||||
"3": {
|
|
||||||
"path": "./TEXT/COLDEF/@Count",
|
|
||||||
"value": "2",
|
|
||||||
"points": 3,
|
|
||||||
"category": "TwoColumn",
|
|
||||||
"item": "② 다단 2단"
|
|
||||||
},
|
|
||||||
"4": {
|
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Width",
|
|
||||||
"value": "70",
|
|
||||||
"points": 2,
|
|
||||||
"category": "Rectangle.mmSize",
|
|
||||||
"item": "문구 (된장의 역사와 종류)/① 크기-너비 (70 mm)"
|
|
||||||
},
|
|
||||||
"5": {
|
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/SIZE/@Height",
|
|
||||||
"value": "12",
|
|
||||||
"points": 2,
|
|
||||||
"category": "Rectangle.mmSize",
|
|
||||||
"item": "문구 (된장의 역사와 종류)/② 크기-높이 (12 mm)"
|
|
||||||
},
|
|
||||||
"6": {
|
|
||||||
"path": "//RECTANGLE//LINESHAPE",
|
|
||||||
"value": {
|
|
||||||
"Style": "DoubleSlim",
|
|
||||||
"Width": "283"
|
|
||||||
},
|
|
||||||
"points": 2,
|
|
||||||
"category": "Rectangle.LineShape",
|
|
||||||
"item": "문구 (된장의 역사와 종류)/③ 테두리 : 이중 실선(1.00mm)",
|
|
||||||
"desc": "1mm = 283pt value['Width']에 pt값 입력"
|
|
||||||
},
|
|
||||||
"7": {
|
|
||||||
"path": "//RECTANGLE/@Ratio",
|
|
||||||
"value": "50",
|
|
||||||
"points": 2,
|
|
||||||
"category": "Rectangle.OneAnswer",
|
|
||||||
"item": "문구 (된장의 역사와 종류)/④ 글상자 모서리 (반원)",
|
|
||||||
"desc": "모서리 비율 반원:50 / 둥근모양:20"
|
|
||||||
},
|
|
||||||
"8": {
|
|
||||||
"path": "//RECTANGLE//WINDOWBRUSH/@FaceColor",
|
|
||||||
"value": "227,220,193",
|
|
||||||
"points": 2,
|
|
||||||
"category": "Rectangle.Color",
|
|
||||||
"item": "문구 (된장의 역사와 종류)/⑤ 채우기 : 색상(RGB:227,220,193)"
|
|
||||||
},
|
|
||||||
"9": {
|
|
||||||
"path": "//RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
|
|
||||||
"value": "true",
|
|
||||||
"points": 1,
|
|
||||||
"category": "Rectangle.OneAnswer",
|
|
||||||
"item": "문구 (된장의 역사와 종류)/⑥ 글상자 위치 (글자처럼 취급)"
|
|
||||||
},
|
|
||||||
"10": {
|
|
||||||
"path": "//PARASHAPE[@Id='{rect_parashape_id}']/@Align",
|
|
||||||
"value": "Center",
|
|
||||||
"points": 1,
|
|
||||||
"category": "Rectangle.TextBoxAlign",
|
|
||||||
"item": "문구 (된장의 역사와 종류)/⑦ 글상자 정렬 (가운데 정렬)"
|
|
||||||
},
|
|
||||||
"11": {
|
|
||||||
"path": ".//RECTANGLE//TEXT/@CharShape",
|
|
||||||
"value": "맑은 고딕",
|
|
||||||
"points": 1,
|
|
||||||
"category": "Rectangle.FontName",
|
|
||||||
"item": "문구 (된장의 역사와 종류)/⑧ 글씨체 (맑은 고딕)"
|
|
||||||
},
|
|
||||||
"12": {
|
|
||||||
"path": "//CHARSHAPE[@Id='{rect_charshape_id}']/@Height",
|
|
||||||
"value": "2000",
|
|
||||||
"points": 1,
|
|
||||||
"category": "Rectangle.FontSize",
|
|
||||||
"item": "문구 (된장의 역사와 종류)/⑨ 글씨크기 (2000)",
|
|
||||||
"desc": "1pt당 100"
|
|
||||||
},
|
|
||||||
"13": {
|
|
||||||
"path": "//PARASHAPE[@Id={rect_parashape_id}]/@Align",
|
|
||||||
"value": "Center",
|
|
||||||
"points": 1,
|
|
||||||
"category": "Rectangle.TextBoxAlign",
|
|
||||||
"item": "문구 (된장의 역사와 종류)/⑩ 정렬 (가운데 정렬)"
|
|
||||||
},
|
|
||||||
"14": {
|
|
||||||
"path": "//BINITEM[@BinData=//PICTURE/IMAGE/@BinItem][@Format='JPG' or @Format='JPEG' or @Format='PNG']",
|
|
||||||
"value": true,
|
|
||||||
"points": 2,
|
|
||||||
"category": "Boolean",
|
|
||||||
"item": "① 파일명 \"그림A.jpg\" 삽입",
|
|
||||||
"desc": "첨부 이미지 파일명 손상으로 정상적인 채점이 불가한 경우가 발견되어서 이미지 첨부 여부로 채점 방식 변경 (7/3)"
|
|
||||||
},
|
|
||||||
"15": {
|
|
||||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
|
|
||||||
"value": "85",
|
|
||||||
"points": 2,
|
|
||||||
"category": "mmSize",
|
|
||||||
"item": "② 크기-너비 (85 mm)"
|
|
||||||
},
|
|
||||||
"16": {
|
|
||||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
|
|
||||||
"value": "40",
|
|
||||||
"points": 2,
|
|
||||||
"category": "mmSize",
|
|
||||||
"item": "③ 크기-높이 (40 mm)"
|
|
||||||
},
|
|
||||||
"17": {
|
|
||||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@HorzOffset",
|
|
||||||
"value": "0",
|
|
||||||
"points": 2,
|
|
||||||
"category": "mmSize",
|
|
||||||
"item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0mm)"
|
|
||||||
},
|
|
||||||
"18": {
|
|
||||||
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG' or @Format='JPEG' or @Format='PNG']/@BinData]]/SHAPEOBJECT/POSITION[not(@TreatAsChar='true') and @HorzRelTo='Page']/@VertOffset",
|
|
||||||
"value": "24",
|
|
||||||
"points": 2,
|
|
||||||
"category": "mmSize",
|
|
||||||
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 24 mm)"
|
|
||||||
},
|
|
||||||
"19": {
|
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
|
||||||
"searchValue": "1. 디지털 문서 편집 기술",
|
|
||||||
"value": "중고딕",
|
|
||||||
"points": 1,
|
|
||||||
"category": "FontName",
|
|
||||||
"item": "문구① (1. 디지털 문서 편집 기술)/① 글씨체 (중고딕)"
|
|
||||||
},
|
|
||||||
"20": {
|
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
|
||||||
"searchValue": "1. 디지털 문서 편집 기술",
|
|
||||||
"value": "1200",
|
|
||||||
"points": 1,
|
|
||||||
"category": "OneAnswer",
|
|
||||||
"item": "문구① (1. 디지털 문서 편집 기술)/② 크기 (1200)"
|
|
||||||
},
|
|
||||||
"21": {
|
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
|
||||||
"searchValue": "1. 디지털 문서 편집 기술",
|
|
||||||
"value": "BOLD",
|
|
||||||
"points": 1,
|
|
||||||
"category": "FontAttribute",
|
|
||||||
"item": "문구① (1. 디지털 문서 편집 기술)/③ 진하게"
|
|
||||||
},
|
|
||||||
"22": {
|
|
||||||
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
|
|
||||||
"searchValue": "2. 문서 자동화 솔루션",
|
|
||||||
"value": "중고딕",
|
|
||||||
"points": 1,
|
|
||||||
"category": "FontName",
|
|
||||||
"item": "문구② (2. 문서 자동화 솔루션)/① 글씨체 (중고딕)"
|
|
||||||
},
|
|
||||||
"23": {
|
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
|
|
||||||
"searchValue": "2. 문서 자동화 솔루션",
|
|
||||||
"value": "1200",
|
|
||||||
"points": 1,
|
|
||||||
"category": "OneAnswer",
|
|
||||||
"item": "문구② (2. 문서 자동화 솔루션)/② 크기 (1200)"
|
|
||||||
},
|
|
||||||
"24": {
|
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
|
|
||||||
"searchValue": "2. 문서 자동화 솔루션",
|
|
||||||
"value": "BOLD",
|
|
||||||
"points": 1,
|
|
||||||
"category": "FontAttribute",
|
|
||||||
"item": "문구② (2. 문서 자동화 솔루션)/③ 진하게"
|
|
||||||
},
|
|
||||||
"25": {
|
|
||||||
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
|
|
||||||
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
|
|
||||||
"option": "전자 서명",
|
|
||||||
"value": true,
|
|
||||||
"points": 2,
|
|
||||||
"category": "Boolean",
|
|
||||||
"item": "문구 (전자 서명)/① 각주 설정 및 문구 입력"
|
|
||||||
},
|
|
||||||
"26": {
|
|
||||||
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
|
|
||||||
"searchValue": "공개키 암호화 방식을 사용하여 본인인증, 혹은 전자문서의 부인 방지를 위해 사용되는 기술",
|
|
||||||
"value": "돋움",
|
|
||||||
"points": 1,
|
|
||||||
"category": "FontName",
|
|
||||||
"item": "문구 (전자 서명)/② 글씨체 (돋움)"
|
|
||||||
},
|
|
||||||
"27": {
|
|
||||||
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
|
|
||||||
"searchValue": "공개키 암호화 방식을 사용하여 본인인증, 혹은 전자문서의 부인 방지를 위해 사용되는 기술",
|
|
||||||
"value": "900",
|
|
||||||
"points": 1,
|
|
||||||
"category": "OneAnswer",
|
|
||||||
"item": "문구 (전자 서명)/③ 크기 (9pt)"
|
|
||||||
},
|
|
||||||
"28": {
|
|
||||||
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
|
|
||||||
"searchValue": "공개키 암호화 방식을 사용하여 본인인증, 혹은 전자문서의 부인 방지를 위해 사용되는 기술",
|
|
||||||
"value": "CircledDigit",
|
|
||||||
"points": 2,
|
|
||||||
"category": "OneAnswer",
|
|
||||||
"item": "문구 (전당)/④ 각주 번호모양",
|
|
||||||
"desc": {
|
|
||||||
"가,나,다": "HangulSyllable",
|
|
||||||
"1,2,3": "Digit",
|
|
||||||
"일,이,삼": "HangulPhonetic",
|
|
||||||
"갑,을,병": "DecagonCircle",
|
|
||||||
"A,B,C": "LatinCapital",
|
|
||||||
"a,b,c": "LatinSmall",
|
|
||||||
"Ⓐ,Ⓑ,Ⓒ": "CircledLatinCapital",
|
|
||||||
"①,②,③": "CircledDigit",
|
|
||||||
"一,二,三": "Ideograph",
|
|
||||||
"㉠,㉡,㉢": "CircledHangulJamo",
|
|
||||||
"ⓐ,ⓑ,ⓒ": "CircledLatinSmall",
|
|
||||||
"㊀,㊁,㊂": "CircledIdeograph",
|
|
||||||
"i,ii,iii": "RomanSmall",
|
|
||||||
"I,II,III": "RomanCapital",
|
|
||||||
"甲,乙,丙": "DecagonCircleHanja",
|
|
||||||
"+,++,+++": "UserChar",
|
|
||||||
"*,**,***": "UserChar",
|
|
||||||
"정답에 맞는 값 value에 입력": ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"29": {
|
|
||||||
"path": "boolean(//CHAR[contains(text(),'Security')])",
|
|
||||||
"ignoreWord": "Security",
|
|
||||||
"value": true,
|
|
||||||
"points": 3,
|
|
||||||
"category": "Boolean",
|
|
||||||
"item": "Security/영단어 미입력, 대소문자/오타 시 전체 감점",
|
|
||||||
"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": "233,174,43",
|
|
||||||
"points": 2,
|
|
||||||
"category": "Color",
|
|
||||||
"item": "위쪽 제목 셀/① 색상(RGB:233,174,43)"
|
|
||||||
},
|
|
||||||
"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": "1200",
|
|
||||||
"points": 1,
|
|
||||||
"category": "OneAnswer",
|
|
||||||
"item": "제목 문구 (디지털 문서 편집 기술 성장률)/② 크기 (1200)"
|
|
||||||
},
|
|
||||||
"52": {
|
|
||||||
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
|
|
||||||
"option": "b",
|
|
||||||
"searchValue": "디지털 문서 편집 기술 성장률",
|
|
||||||
"value": "1",
|
|
||||||
"points": 1,
|
|
||||||
"category": "OneAnswer",
|
|
||||||
"item": "제목 문구 (디지털 문서 편집 기술 성장률)/③ 기울임",
|
|
||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
|
||||||
},
|
|
||||||
"53": {
|
|
||||||
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface",
|
|
||||||
"value": "궁서",
|
|
||||||
"points": 1,
|
|
||||||
"category": "ChartOneAnswer",
|
|
||||||
"item": "X축/① 글꼴 (궁서)"
|
|
||||||
},
|
|
||||||
"54": {
|
|
||||||
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
|
|
||||||
"value": "900",
|
|
||||||
"points": 1,
|
|
||||||
"category": "ChartOneAnswer",
|
|
||||||
"item": "X축/② 크기 (9pt)"
|
|
||||||
},
|
|
||||||
"55": {
|
|
||||||
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@{option}",
|
|
||||||
"option": "i",
|
|
||||||
"value": "1",
|
|
||||||
"points": 1,
|
|
||||||
"category": "ChartOneAnswer",
|
|
||||||
"item": "X축/③ 기울임",
|
|
||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
|
||||||
},
|
|
||||||
"56": {
|
|
||||||
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface",
|
|
||||||
"value": "궁서",
|
|
||||||
"points": 1,
|
|
||||||
"category": "ChartOneAnswer",
|
|
||||||
"item": "Y축/① 글꼴 (궁서)"
|
|
||||||
},
|
|
||||||
"57": {
|
|
||||||
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
|
|
||||||
"value": "900",
|
|
||||||
"points": 1,
|
|
||||||
"category": "ChartOneAnswer",
|
|
||||||
"item": "Y축/② 크기 (9pt)"
|
|
||||||
},
|
|
||||||
"58": {
|
|
||||||
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@{option}",
|
|
||||||
"option": "i",
|
|
||||||
"value": "1",
|
|
||||||
"points": 1,
|
|
||||||
"category": "ChartOneAnswer",
|
|
||||||
"item": "Y축/③ 기울임",
|
|
||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
|
||||||
},
|
|
||||||
"59": {
|
|
||||||
"chart_xpath": "//c:legend//a:ea/@typeface",
|
|
||||||
"value": "궁서",
|
|
||||||
"points": 1,
|
|
||||||
"category": "OneAnswer",
|
|
||||||
"item": "범례/① 글꼴 (궁서)"
|
|
||||||
},
|
|
||||||
"60": {
|
|
||||||
"chart_xpath": "//c:legend//a:defRPr/@sz",
|
|
||||||
"value": "900",
|
|
||||||
"points": 1,
|
|
||||||
"category": "OneAnswer",
|
|
||||||
"item": "범례/② 크기 (9pt)"
|
|
||||||
},
|
|
||||||
"61": {
|
|
||||||
"chart_xpath": "//c:legend//a:defRPr/@{option}",
|
|
||||||
"option": "i",
|
|
||||||
"value": "1",
|
|
||||||
"points": 1,
|
|
||||||
"category": "OneAnswer",
|
|
||||||
"item": "범례/③ 기울임",
|
|
||||||
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
회차별채점자료/2602/260305_DIW_2602C_채점결과.xlsx
Normal file
BIN
회차별채점자료/2602/260305_DIW_2602C_채점결과.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2602/260305_DIW_2602D_채점결과.xlsx
Normal file
BIN
회차별채점자료/2602/260305_DIW_2602D_채점결과.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2602/260305_DIW_2602E_채점결과.xlsx
Normal file
BIN
회차별채점자료/2602/260305_DIW_2602E_채점결과.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2602/260306_DIW_2602A_채점결과.xlsx
Normal file
BIN
회차별채점자료/2602/260306_DIW_2602A_채점결과.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2602/260306_DIW_2602B_채점결과.xlsx
Normal file
BIN
회차별채점자료/2602/260306_DIW_2602B_채점결과.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2602/260306_DIW_2602C_채점결과.xlsx
Normal file
BIN
회차별채점자료/2602/260306_DIW_2602C_채점결과.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2602/260306_DIW_2602D_채점결과.xlsx
Normal file
BIN
회차별채점자료/2602/260306_DIW_2602D_채점결과.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2602/260306_DIW_2602E_채점결과.xlsx
Normal file
BIN
회차별채점자료/2602/260306_DIW_2602E_채점결과.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2603/260330_DIW_2603A_채점결과.xlsx
Normal file
BIN
회차별채점자료/2603/260330_DIW_2603A_채점결과.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2603/260331_DIW_2603A_채점결과.xlsx
Normal file
BIN
회차별채점자료/2603/260331_DIW_2603A_채점결과.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2603/260331_DIW_2603B_채점결과.xlsx
Normal file
BIN
회차별채점자료/2603/260331_DIW_2603B_채점결과.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2603/260331_DIW_2603C_채점결과.xlsx
Normal file
BIN
회차별채점자료/2603/260331_DIW_2603C_채점결과.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2603/2603회 A형/Thumbs.db
Normal file
BIN
회차별채점자료/2603/2603회 A형/Thumbs.db
Normal file
Binary file not shown.
BIN
회차별채점자료/2603/2603회 A형/그림A.jpg
Normal file
BIN
회차별채점자료/2603/2603회 A형/그림A.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 43 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
회차별채점자료/2603/2603회 B형/Thumbs.db
Normal file
BIN
회차별채점자료/2603/2603회 B형/Thumbs.db
Normal file
Binary file not shown.
BIN
회차별채점자료/2603/2603회 B형/그림B.jpg
Normal file
BIN
회차별채점자료/2603/2603회 B형/그림B.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 553 KiB |
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user