2505회 JSON채점기준표 및 채점자료 업데이트

This commit is contained in:
2025-05-26 17:46:45 +09:00
parent 828752e05a
commit 58ffdac74c
51 changed files with 24015 additions and 1987 deletions

View File

@@ -412,8 +412,7 @@
"value": "견고딕",
"points": 1,
"category": "FontName",
"item": "문구 (클라우드 컴퓨팅)/⑧ 글씨체 (견고딕)",
"desc": "폰트 '견고딕'과 '중고딕'은 한글프로그램 내부적으로 '한양견고딕', '한양중고딕'처리 되어서 프로그램 내부에서 수험자 답변에서 '한양'을 제거하는 과정을 거침"
"item": "문구 (클라우드 컴퓨팅)/⑧ 글씨체 (견고딕)"
},
"12": {
"path": "//CHARSHAPE[@Id=//RECTANGLE//TEXT[./CHAR[text()='{searchValue}']]/@CharShape]/@Height",
@@ -445,14 +444,14 @@
"value": "80",
"points": 2,
"category": "mmSize",
"item": "② 크기-너비 (80mm)"
"item": "② 크기-너비 (80 mm)"
},
"16": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
"value": "45",
"points": 2,
"category": "mmSize",
"item": "③ 크기-높이 (45mm)"
"item": "③ 크기-높이 (45 mm)"
},
"17": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/POSITION/@HorzOffset",
@@ -599,7 +598,7 @@
"item": "문구 (…유출과 데이터 사이버…)/\"유출과\" / \"데이터\" 순서바꿈"
},
"33": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
"searchValue": "클라우드 보안(단위: 백만 달러)",
"value": "돋움",
"points": 1,
@@ -702,7 +701,7 @@
"points": 2,
"category": "ChartType",
"item": "① 종류 (묶은 세로 막대형)",
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다."
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
},
"46": {
"chart_xpath": "//c:valAx/c:majorTickMark/@val",
@@ -717,14 +716,14 @@
"value": "80",
"points": 2,
"category": "mmSize",
"item": "③ 크기-너비 (80mm)"
"item": "③ 크기-너비 (80 mm)"
},
"48": {
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Height",
"value": "90",
"points": 2,
"category": "mmSize",
"item": "④ 크기-높이 (90mm)"
"item": "④ 크기-높이 (90 mm)"
},
"49": {
"chart_xpath": "boolean(//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='합계' or text()='평균']))",
@@ -764,14 +763,14 @@
"chart_xpath": "//c:catAx/c:txPr//a:ea/@typeface",
"value": "돋움",
"points": 1,
"category": "OneAnswer",
"category": "ChartOneAnswer",
"item": "X축/① 글꼴 (돋움)"
},
"54": {
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
"value": "900",
"points": 1,
"category": "OneAnswer",
"category": "ChartOneAnswer",
"item": "X축/② 크기 (9pt)"
},
"55": {
@@ -779,7 +778,7 @@
"option": "i",
"value": "1",
"points": 1,
"category": "OneAnswer",
"category": "ChartOneAnswer",
"item": "X축/③ 기울임",
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
},
@@ -787,14 +786,14 @@
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface",
"value": "돋움",
"points": 1,
"category": "OneAnswer",
"category": "ChartOneAnswer",
"item": "Y축/① 글꼴 (돋움)"
},
"57": {
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
"value": "900",
"points": 1,
"category": "OneAnswer",
"category": "ChartOneAnswer",
"item": "Y축/② 크기 (9pt)"
},
"58": {
@@ -802,7 +801,7 @@
"option": "i",
"value": "1",
"points": 1,
"category": "OneAnswer",
"category": "ChartOneAnswer",
"item": "Y축/③ 기울임",
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
},

View File

@@ -412,8 +412,7 @@
"value": "궁서체",
"points": 1,
"category": "FontName",
"item": "문구 (친환경 에너지)/⑧ 글씨체 (궁서체)",
"desc": "폰트 '견고딕'과 '중고딕'은 한글프로그램 내부적으로 '한양견고딕', '한양중고딕'처리 되어서 프로그램 내부에서 수험자 답변에서 '한양'을 제거하는 과정을 거침"
"item": "문구 (친환경 에너지)/⑧ 글씨체 (궁서체)"
},
"12": {
"path": "//CHARSHAPE[@Id=//RECTANGLE//TEXT[./CHAR[text()='{searchValue}']]/@CharShape]/@Height",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,836 @@
{
"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:100,170,92)"
},
"3": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
"searchValue": "천혜의비경철쭉",
"value": "110",
"tolerance": 1,
"points": 2,
"category": "mmSize",
"item": "문구 (천혜의비경철쭉)/③ 크기-너비 (110mm)"
},
"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,132,58",
"points": 2,
"category": "Color",
"item": "전/③ 면색 : 색상(RGB:255,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": "바래봉 해발 약 500m에서 시작해 점점 정상으로",
"value": "BOLD",
"points": 2,
"category": "FontAttribute",
"item": "문구 (바래봉 해발 약 500m에서 시작해 점점 정상으로)/① 진하게"
},
"13": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
"searchValue": "바래봉 해발 약 500m에서 시작해 점점 정상으로",
"value": "ITALIC",
"points": 2,
"category": "FontAttribute",
"item": "문구 (바래봉 해발 약 500m에서 시작해 점점 정상으로)/② 기울임"
},
"14": {
"path": "//CHAR[contains(text(),'{char1}')]",
"path2": "//CHAR[contains(text(),'{char2}')]",
"path3": "//CHAR[contains(text(),'{char3}')]",
"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(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"searchValue": "참여안내",
"value": "Center",
"points": 1,
"category": "OneAnswer",
"item": "문구 (● 참여안내 ●)/② 정렬 (가운데 정렬)"
},
"17": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "홈페이지(http://www.ihd.or.kr) 참조",
"value": "ITALIC",
"points": 1,
"category": "FontAttribute",
"item": "문구 (홈페이지(http://www.ihd.or.kr) 참조)/① 기울임"
},
"18": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "홈페이지(http://www.ihd.or.kr) 참조",
"value": "UNDERLINE",
"points": 1,
"category": "FontAttribute",
"item": "문구 (홈페이지(http://www.ihd.or.kr) 참조)/② 밑줄"
},
"19": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
"searchValue": "기타사항",
"value": {
"Left": 15,
"Indent": 12
},
"points": 2,
"category": "ParaShape",
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15pt), 내어쓰기 (12pt)",
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
},
"20": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
"searchValue": "2025. 05. 24.",
"value": "1400",
"points": 1,
"category": "OneAnswer",
"item": "문구 (2025. 05. 24.)/① 크기 (14pt)",
"desc": "1pt당 100"
},
"21": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"searchValue": "2025. 05. 24.",
"value": "Center",
"points": 1,
"category": "OneAnswer",
"item": "문구 (2025. 05. 24.)/② 정렬 (가운데 정렬)"
},
"22": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "운봉바래봉철쭉제",
"value": "궁서체",
"points": 1,
"category": "FontName",
"item": "문구 (운봉바래봉철쭉제)/① 글씨체 (궁서체)"
},
"23": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "운봉바래봉철쭉제",
"value": "2600",
"points": 1,
"category": "OneAnswer",
"item": "문구 (운봉바래봉철쭉제)/② 크기 (26pt)"
},
"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": "FontName",
"item": "문구 (DIAT)/① 글꼴 (궁서)"
},
"26": {
"path": "//CHARSHAPE[@Id=//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "DIAT",
"value": "900",
"points": 1,
"category": "OneAnswer",
"item": "문구 (DIAT)/② 크기 (9pt)"
},
"27": {
"path": "//PARASHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
"searchValue": "DIAT",
"value": "Right",
"points": 1,
"category": "OneAnswer",
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
},
"28": {
"path": "//PAGENUM/@FormatType",
"value": "LatinCapital",
"points": 2,
"category": "PageNumber",
"item": "① 쪽 번호 매기기 (A,B,C 순으로)",
"desc1": {
"가,나,다":"HangulSyllable",
"1,2,3":"Digit",
"갑,을,병":"DecagonCircle",
"A,B,C":"LatinCapital",
"①,②,③":"CircledDigit",
"一,二,三":"Ideograph",
"㉠,㉡,㉢":"CircledHangulJamo",
"ⓐ,ⓑ,ⓒ":"CircledLatinSmall",
"i,ii,iii":"RomanSmall",
"㉮,㉯,㉰":"CircledHangulSyllable",
"정답에 맞는 값 value에 입력":""
},
"desc2": "1, 2페이지 모두 정답이어야 점수 부여"
},
"29": {
"path": "//PAGENUM/@Pos",
"value": "BottomRight",
"points": 2,
"category": "PageNumber",
"item": "오른쪽 아래",
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
"desc2": {
"가운데 아래": "BottomCenter",
"오른쪽 아래": "BottomRight"
}
},
"30": {
"path": "not(//PARASHAPE[@Id=//SECTION[1]/P/@ParaShape]/PARAMARGIN[@LineSpacing!='{option}'])",
"option": "200",
"value": true,
"points": 2,
"category": "Boolean",
"item": "문제 1 줄간격 200% 설정",
"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": "//COLDEF/@Count",
"value": "2",
"points": 3,
"category": "OneAnswer",
"item": "② 다단 2단"
},
"4": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Width",
"searchValue": "철쭉과 진달래",
"value": "50",
"points": 2,
"category": "mmSize",
"item": "문구 (철쭉과 진달래)/① 크기-너비 (50 mm)"
},
"5": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Height",
"searchValue": "철쭉과 진달래",
"value": "12",
"points": 2,
"category": "mmSize",
"item": "문구 (철쭉과 진달래)/② 크기-높이 (12 mm)"
},
"6": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//LINESHAPE/@Style",
"path2": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//LINESHAPE/@Width",
"searchValue": "철쭉과 진달래",
"value": [ "DoubleSlim", "283" ],
"points": 2,
"category": "DoubleAnswer",
"item": "문구 (철쭉과 진달래)/③ 테두리 : 이중 실선(1.00mm)",
"desc": "1mm = 283pt"
},
"7": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/@Ratio",
"searchValue": "철쭉과 진달래",
"value": "20",
"points": 2,
"category": "OneAnswer",
"item": "문구 (철쭉과 진달래)/④ 글상자 모서리 (둥근모양)",
"desc": "모서리 비율 50이면 반원 / 20이면 둥근모양"
},
"8": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
"searchValue": "철쭉과 진달래",
"value": "225,15,161",
"points": 2,
"category": "Color",
"item": "문구 (철쭉과 진달래)/⑤ 채우기 : 색상(RGB:225,15,161)"
},
"9": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/POSITION/@TreatAsChar",
"searchValue": "철쭉과 진달래",
"value": "true",
"points": 1,
"category": "OneAnswer",
"item": "문구 (철쭉과 진달래)/⑥ 글상자 위치 (글자처럼 취급)"
},
"10": {
"path": "//PARASHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::P[last()]/@ParaShape]/@Align",
"searchValue": "철쭉과 진달래",
"value": "Center",
"points": 1,
"category": "OneAnswer",
"item": "문구 (철쭉과 진달래)/⑦ 글상자 정렬 (가운데 정렬)"
},
"11": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "철쭉과 진달래",
"value": "맑은고딕",
"points": 1,
"category": "FontName",
"item": "문구 (철쭉과 진달래)/⑧ 글씨체 (맑은고딕)"
},
"12": {
"path": "//CHARSHAPE[@Id=//RECTANGLE//TEXT[./CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "철쭉과 진달래",
"value": "1800",
"points": 1,
"category": "OneAnswer",
"item": "문구 (철쭉과 진달래)/⑨ 글씨크기 (18 pt)",
"desc":"1pt당 100"
},
"13": {
"path": "//PARASHAPE[@Id=//RECTANGLE//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
"searchValue": "철쭉과 진달래",
"value": "Center",
"points": 1,
"category": "OneAnswer",
"item": "문구 (철쭉과 진달래)/⑩ 정렬 (가운데 정렬)"
},
"14": {
"path": "boolean(//PICTURE//SHAPECOMMENT[contains(text(),'{searchValue}')])",
"searchValue": "원본 그림의 이름: 그림",
"value": true,
"points": 2,
"category": "Boolean",
"item": "① 파일명 \"그림A.jpg\" 삽입"
},
"15": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
"value": "85",
"points": 2,
"category": "mmSize",
"item": "② 크기-너비 (85 mm)"
},
"16": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
"value": "40",
"points": 2,
"category": "mmSize",
"item": "③ 크기-높이 (40 mm)"
},
"17": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/POSITION/@HorzOffset",
"value": "0",
"points": 2,
"category": "mmSize",
"item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0.0mm)"
},
"18": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/POSITION/@VertOffset",
"value": "23",
"points": 2,
"category": "mmSize",
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 23 mm)"
},
"19": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "1. 철쭉의 특징",
"value": "굴림",
"points": 1,
"category": "FontName",
"item": "문구① (1. 철쭉의 특징)/① 글씨체 (굴림)"
},
"20": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "1. 철쭉의 특징",
"value": "1200",
"points": 1,
"category": "OneAnswer",
"item": "문구① (1. 철쭉의 특징)/② 크기 (12pt)"
},
"21": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "1. 철쭉의 특징",
"value": "BOLD",
"points": 1,
"category": "FontAttribute",
"item": "문구① (1. 철쭉의 특징)/③ 진하게"
},
"22": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "2. 봄의 전령 진달래",
"value": "굴림",
"points": 1,
"category": "FontName",
"item": "문구② (2. 봄의 전령 진달래)/① 글씨체 (굴림)"
},
"23": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "2. 봄의 전령 진달래",
"value": "1200",
"points": 1,
"category": "OneAnswer",
"item": "문구② (2. 봄의 전령 진달래)/② 크기 (12pt)"
},
"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": "Ideograph",
"points": 2,
"category": "OneAnswer",
"item": "문구 (거름)/④ 각주 번호모양",
"desc": {
"가,나,다":"HangulSyllable",
"1,2,3":"Digit",
"갑,을,병":"DecagonCircle",
"A,B,C":"LatinCapital",
"①,②,③":"CircledDigit",
"一,二,三":"Ideograph",
"㉠,㉡,㉢":"CircledHangulJamo",
"ⓐ,ⓑ,ⓒ":"CircledLatinSmall",
"i,ii,iii":"RomanSmall",
"㉮,㉯,㉰":"CircledHangulSyllable",
"정답에 맞는 값 value에 입력":""
}
},
"29": {
"path": "boolean(//CHAR[contains(text(),'Breeding')])",
"ignoreWord": "Breeding",
"value": true,
"points": 3,
"category": "Boolean",
"item": "Breeding/영단어 미입력, 대소문자/오타 시 전체 감점",
"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": "제목 문구 (철쭉 관광객 현황(단위 : 천 명))/② 크기 (12pt)"
},
"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": "140,249,62",
"points": 2,
"category": "Color",
"item": "위쪽 제목 셀/① 색상(RGB:140,249,62)"
},
"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": "글자모양/② 크기 (10pt)"
},
"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": "OneAnswer",
"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": "제목 문구 (철쭉 관광객 현황)/② 크기 (13pt)"
},
"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"
}
}
}

View File

@@ -0,0 +1,836 @@
{
"0": {
"0": {
"path": "",
"path2": "",
"points": 0,
"category": "파일저장",
"item": "파일명 (수검번호.hwp/hwpx)"
},
"1": {
"path": "//PAGEMARGIN",
"value": {
"Top": 20,
"Bottom": 20,
"Left": 20,
"Right": 20,
"Header": 10,
"Footer": 10,
"Gutter": 0
},
"tolerance": 1,
"points": 4,
"category": "PageSetting",
"item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)"
},
"2": {
"path": "",
"value": {
"FontName": "바탕",
"FontSize": "1000",
"Alignment": "Justify",
"LineSpacing": "160"
},
"points": 4,
"category": "BasicSetting",
"item": "글꼴 (바탕, 10pt), 양쪽정렬, 줄간격 (160%)"
},
"3": {
"path": "",
"value": null,
"points": 40,
"category": "오타감점",
"item": "오타 1개 -1점 / 2503회부터 오타 1개 -1점으로 변경"
}
},
"1": {
"1": {
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
"searchValue": "광양매실축제안내",
"value": "맑은 고딕",
"points": 1,
"category": "OneAnswer",
"item": "문구 (광양매실축제안내)/① 글씨체 (맑은 고딕)"
},
"2": {
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
"searchValue": "광양매실축제안내",
"value": "199,80,124",
"points": 2,
"category": "Color",
"item": "문구 (광양매실축제안내)/② 채우기 : 색상(RGB:199,82,82)"
},
"3": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
"searchValue": "광양매실축제안내",
"value": "100",
"tolerance": 1,
"points": 2,
"category": "mmSize",
"item": "문구 (광양매실축제안내)/③ 크기-너비 (100mm)"
},
"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": "186,255,26",
"points": 2,
"category": "Color",
"item": "올/③ 면색 : 색상(RGB:186,255,26)"
},
"11": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
"searchValue": "올",
"value": "3.0",
"tolerance": 1,
"points": 2,
"category": "mmSize",
"item": "올/④ 본문과의 간격 : 3.0mm"
},
"12": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
"searchValue": "봄 매화, 여름 매실로 우리 함께 힐링합시다!",
"value": "ITALIC",
"points": 2,
"category": "FontAttribute",
"item": "문구 (봄 매화, 여름 매실로 우리 함께 힐링합시다!)/① 기울임"
},
"13": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
"searchValue": "봄 매화, 여름 매실로 우리 함께 힐링합시다!",
"value": "ITALIC",
"points": 2,
"category": "FontAttribute",
"item": "문구 (봄 매화, 여름 매실로 우리 함께 힐링합시다!)/② 기울임"
},
"14": {
"path": "//CHAR[contains(text(),'{char1}')]",
"path2": "//CHAR[contains(text(),'{char2}')]",
"path3": "//CHAR[contains(text(),'{char3}')]",
"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(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"searchValue": "축제안내",
"value": "Center",
"points": 1,
"category": "OneAnswer",
"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))/① 진하게"
},
"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))/② 기울임"
},
"19": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
"searchValue": "기타사항",
"value": {
"Left": 15,
"Indent": 12
},
"points": 2,
"category": "ParaShape",
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15pt), 내어쓰기 (12pt)",
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
},
"20": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
"searchValue": "2025. 05. 24.",
"value": "1400",
"points": 1,
"category": "OneAnswer",
"item": "문구 (2025. 05. 24.)/① 크기 (14pt)",
"desc": "1pt당 100"
},
"21": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"searchValue": "2025. 05. 24.",
"value": "Center",
"points": 1,
"category": "OneAnswer",
"item": "문구 (2025. 05. 24.)/② 정렬 (가운데 정렬)"
},
"22": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "광양매실축제위원회",
"value": "견고딕",
"points": 1,
"category": "FontName",
"item": "문구 (광양매실축제위원회)/① 글씨체 (견고딕)"
},
"23": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "광양매실축제위원회",
"value": "2600",
"points": 1,
"category": "OneAnswer",
"item": "문구 (광양매실축제위원회)/② 크기 (26pt)"
},
"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": "FontName",
"item": "문구 (DIAT)/① 글꼴 (굴림)"
},
"26": {
"path": "//CHARSHAPE[@Id=//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "DIAT",
"value": "900",
"points": 1,
"category": "OneAnswer",
"item": "문구 (DIAT)/② 크기 (9pt)"
},
"27": {
"path": "//PARASHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
"searchValue": "DIAT",
"value": "Right",
"points": 1,
"category": "OneAnswer",
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
},
"28": {
"path": "//PAGENUM/@FormatType",
"value": "CircledDigit",
"points": 2,
"category": "PageNumber",
"item": "① 쪽 번호 매기기 (A,B,C 순으로)",
"desc1": {
"가,나,다":"HangulSyllable",
"1,2,3":"Digit",
"갑,을,병":"DecagonCircle",
"A,B,C":"LatinCapital",
"①,②,③":"CircledDigit",
"一,二,三":"Ideograph",
"㉠,㉡,㉢":"CircledHangulJamo",
"ⓐ,ⓑ,ⓒ":"CircledLatinSmall",
"i,ii,iii":"RomanSmall",
"㉮,㉯,㉰":"CircledHangulSyllable",
"정답에 맞는 값 value에 입력":""
},
"desc2": "1, 2페이지 모두 정답이어야 점수 부여"
},
"29": {
"path": "//PAGENUM/@Pos",
"value": "BottomCenter",
"points": 2,
"category": "PageNumber",
"item": "가운데 아래",
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
"desc2": {
"가운데 아래": "BottomCenter",
"오른쪽 아래": "BottomRight"
}
},
"30": {
"path": "not(//PARASHAPE[@Id=//SECTION[1]/P/@ParaShape]/PARAMARGIN[@LineSpacing!='{option}'])",
"option": "180",
"value": true,
"points": 2,
"category": "Boolean",
"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": "//COLDEF/@Count",
"value": "2",
"points": 3,
"category": "OneAnswer",
"item": "② 다단 2단"
},
"4": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Width",
"searchValue": "매화와 매실",
"value": "55",
"points": 2,
"category": "mmSize",
"item": "문구 (매화와 매실)/① 크기-너비 (55 mm)"
},
"5": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Height",
"searchValue": "매화와 매실",
"value": "12",
"points": 2,
"category": "mmSize",
"item": "문구 (매화와 매실)/② 크기-높이 (12 mm)"
},
"6": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//LINESHAPE/@Style",
"path2": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//LINESHAPE/@Width",
"searchValue": "매화와 매실",
"value": [ "DoubleSlim", "283" ],
"points": 2,
"category": "DoubleAnswer",
"item": "문구 (매화와 매실)/③ 테두리 : 이중 실선(1.00mm)",
"desc": "1mm = 283pt"
},
"7": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/@Ratio",
"searchValue": "매화와 매실",
"value": "20",
"points": 2,
"category": "OneAnswer",
"item": "문구 (매화와 매실)/④ 글상자 모서리 (둥근모양)",
"desc": "모서리 비율 50이면 반원 / 20이면 둥근모양"
},
"8": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
"searchValue": "매화와 매실",
"value": "122,179,64",
"points": 2,
"category": "Color",
"item": "문구 (매화와 매실)/⑤ 채우기 : 색상(RGB:122,179,64)"
},
"9": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/POSITION/@TreatAsChar",
"searchValue": "매화와 매실",
"value": "true",
"points": 1,
"category": "OneAnswer",
"item": "문구 (매화와 매실)/⑥ 글상자 위치 (글자처럼 취급)"
},
"10": {
"path": "//PARASHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::P[last()]/@ParaShape]/@Align",
"searchValue": "매화와 매실",
"value": "Center",
"points": 1,
"category": "OneAnswer",
"item": "문구 (매화와 매실)/⑦ 글상자 정렬 (가운데 정렬)"
},
"11": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "매화와 매실",
"value": "중고딕",
"points": 1,
"category": "FontName",
"item": "문구 (매화와 매실)/⑧ 글씨체 (중고딕)"
},
"12": {
"path": "//CHARSHAPE[@Id=//RECTANGLE//TEXT[./CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "매화와 매실",
"value": "2000",
"points": 1,
"category": "OneAnswer",
"item": "문구 (매화와 매실)/⑨ 글씨크기 (20 pt)",
"desc":"1pt당 100"
},
"13": {
"path": "//PARASHAPE[@Id=//RECTANGLE//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
"searchValue": "매화와 매실",
"value": "Center",
"points": 1,
"category": "OneAnswer",
"item": "문구 (매화와 매실)/⑩ 정렬 (가운데 정렬)"
},
"14": {
"path": "boolean(//PICTURE//SHAPECOMMENT[contains(text(),'{searchValue}')])",
"searchValue": "원본 그림의 이름: 그림",
"value": true,
"points": 2,
"category": "Boolean",
"item": "① 파일명 \"그림B.jpg\" 삽입"
},
"15": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
"value": "85",
"points": 2,
"category": "mmSize",
"item": "② 크기-너비 (85 mm)"
},
"16": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
"value": "40",
"points": 2,
"category": "mmSize",
"item": "③ 크기-높이 (40 mm)"
},
"17": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/POSITION/@HorzOffset",
"value": "0",
"points": 2,
"category": "mmSize",
"item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0.0mm)"
},
"18": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/POSITION/@VertOffset",
"value": "24",
"points": 2,
"category": "mmSize",
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 24mm)"
},
"19": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "1. 매화의 특징",
"value": "돋움",
"points": 1,
"category": "FontName",
"item": "문구① (1. 매화의 특징)/① 글씨체 (돋움)"
},
"20": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "1. 매화의 특징",
"value": "1200",
"points": 1,
"category": "OneAnswer",
"item": "문구① (1. 매화의 특징)/② 크기 (12pt)"
},
"21": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "1. 매화의 특징",
"value": "BOLD",
"points": 1,
"category": "FontAttribute",
"item": "문구① (1. 매화의 특징)/③ 진하게"
},
"22": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "2. 매실의 효능",
"value": "돋움",
"points": 1,
"category": "FontName",
"item": "문구② (2. 매실의 효능)/① 글씨체 (돋움)"
},
"23": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "2. 매실의 효능",
"value": "1200",
"points": 1,
"category": "OneAnswer",
"item": "문구② (2. 매실의 효능)/② 크기 (12pt)"
},
"24": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "2. 매실의 효능",
"value": "BOLD",
"points": 1,
"category": "FontAttribute",
"item": "문구② (2. 매실의 효능)/③ 진하게"
},
"25": {
"path": "boolean(//TEXT[CHAR[contains(text(),'{option}')]]/FOOTNOTE)",
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{option}') + 1) = '{option}']/following-sibling::FOOTNOTE/descendant::CHAR)",
"option": "문인화",
"value": true,
"points": 2,
"category": "Boolean",
"item": "문구 (문인화)/① 각주 설정 및 문구 입력"
},
"26": {
"path": "//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape",
"searchValue": "그림을 직업으로 하지 않는 선비나 사대부들이 여흥으로 자신들의 심중을 표현하여 그린 그림",
"value": "돋움체",
"points": 1,
"category": "FontName",
"item": "문구 (문인화)/② 글씨체 (돋움체)"
},
"27": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
"searchValue": "그림을 직업으로 하지 않는 선비나 사대부들이 여흥으로 자신들의 심중을 표현하여 그린 그림",
"value": "900",
"points": 1,
"category": "OneAnswer",
"item": "문구 (문인화)/③ 크기 (9pt)"
},
"28": {
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
"searchValue": "그림을 직업으로 하지 않는 선비나 사대부들이 여흥으로 자신들의 심중을 표현하여 그린 그림",
"value": "CircledHangulSyllable",
"points": 2,
"category": "OneAnswer",
"item": "문구 (문인화)/④ 각주 번호모양",
"desc": {
"가,나,다":"HangulSyllable",
"1,2,3":"Digit",
"갑,을,병":"DecagonCircle",
"A,B,C":"LatinCapital",
"①,②,③":"CircledDigit",
"一,二,三":"Ideograph",
"㉠,㉡,㉢":"CircledHangulJamo",
"ⓐ,ⓑ,ⓒ":"CircledLatinSmall",
"i,ii,iii":"RomanSmall",
"㉮,㉯,㉰":"CircledHangulSyllable",
"정답에 맞는 값 value에 입력":""
}
},
"29": {
"path": "boolean(//CHAR[contains(text(),'Vitamin')])",
"ignoreWord": "Vitamin",
"value": true,
"points": 3,
"category": "Boolean",
"item": "Vitamin/영단어 미입력, 대소문자/오타 시 전체 감점",
"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": "제목 문구 (광양매실축제 만족도(단위 : %))/② 크기 (12pt)"
},
"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": "글자모양/② 크기 (10pt)"
},
"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": "OneAnswer",
"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": "제목 문구 (광양매실축제 만족도)/② 크기 (13pt)"
},
"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"
}
}
}

View 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": "53,164,78",
"points": 2,
"category": "Color",
"item": "문구 (별사랑천문대캠프안내)/② 채우기 : 색상(RGB:53,164,78)"
},
"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": "211,202,24",
"points": 2,
"category": "Color",
"item": "별/③ 면색 : 색상(RGB:211,202,24)"
},
"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": "문구 (천문우주과학 체험학습)/① 진하게"
},
"13": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
"searchValue": "천문우주과학 체험학습",
"value": "UNDERLINE",
"points": 2,
"category": "FontAttribute",
"item": "문구 (천문우주과학 체험학습)/② 밑줄"
},
"14": {
"path": "//CHAR[contains(text(),'{char1}')]",
"path2": "//CHAR[contains(text(),'{char2}')]",
"path3": "//CHAR[contains(text(),'{char3}')]",
"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(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"searchValue": "참가안내",
"value": "Center",
"points": 1,
"category": "OneAnswer",
"item": "문구 (● 참가안내 ●)/② 정렬 (가운데 정렬)"
},
"17": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "그룹별 20명(선착순 마감)",
"value": "ITALIC",
"points": 1,
"category": "FontAttribute",
"item": "문구 (그룹별 20명(선착순 마감))/① 기울임"
},
"18": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "그룹별 20명(선착순 마감)",
"value": "UNDERLINE",
"points": 1,
"category": "FontAttribute",
"item": "문구 (그룹별 20명(선착순 마감))/② 밑줄"
},
"19": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
"searchValue": "기타사항",
"value": {
"Left": 15,
"Indent": 14
},
"points": 2,
"category": "ParaShape",
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15pt), 내어쓰기 (14pt)",
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
},
"20": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
"searchValue": "2025. 05. 24.",
"value": "1400",
"points": 1,
"category": "OneAnswer",
"item": "문구 (2025. 05. 24.)/① 크기 (14pt)",
"desc": "1pt당 100"
},
"21": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"searchValue": "2025. 05. 24.",
"value": "Center",
"points": 1,
"category": "OneAnswer",
"item": "문구 (2025. 05. 24.)/② 정렬 (가운데 정렬)"
},
"22": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "별사랑천문대",
"value": "견고딕",
"points": 1,
"category": "FontName",
"item": "문구 (별사랑천문대)/① 글씨체 (견고딕)"
},
"23": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "별사랑천문대",
"value": "2600",
"points": 1,
"category": "OneAnswer",
"item": "문구 (별사랑천문대)/② 크기 (26pt)"
},
"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": "FontName",
"item": "문구 (DIAT)/① 글꼴 (돋움)"
},
"26": {
"path": "//CHARSHAPE[@Id=//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "DIAT",
"value": "900",
"points": 1,
"category": "OneAnswer",
"item": "문구 (DIAT)/② 크기 (9pt)"
},
"27": {
"path": "//PARASHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
"searchValue": "DIAT",
"value": "Right",
"points": 1,
"category": "OneAnswer",
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
},
"28": {
"path": "//PAGENUM/@FormatType",
"value": "LatinCapital",
"points": 2,
"category": "PageNumber",
"item": "① 쪽 번호 매기기 (A,B,C 순으로)",
"desc1": {
"1,2,3":"Digit",
"①,②,③":"CircledDigit",
"가,나,다":"HangulSyllable",
"㉮,㉯,㉰":"CircledHangulSyllable",
"A,B,C":"LatinCapital",
"Ⓐ,Ⓑ,Ⓒ":"CircledLatinCapital",
"갑,을,병":"DecagonCircle",
"一,二,三":"Ideograph",
"㉠,㉡,㉢":"CircledHangulJamo",
"ⓐ,ⓑ,ⓒ":"CircledLatinSmall",
"i,ii,iii":"RomanSmall",
"정답에 맞는 값 value에 입력":""
},
"desc2": "1, 2페이지 모두 정답이어야 점수 부여"
},
"29": {
"path": "//PAGENUM/@Pos",
"value": "BottomCenter",
"points": 2,
"category": "PageNumber",
"item": "가운데 아래",
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
"desc2": {
"가운데 아래": "BottomCenter",
"오른쪽 아래": "BottomRight"
}
},
"30": {
"path": "not(//PARASHAPE[@Id=//SECTION[1]/P/@ParaShape]/PARAMARGIN[@LineSpacing!='{option}'])",
"option": "180",
"value": true,
"points": 2,
"category": "Boolean",
"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": "//COLDEF/@Count",
"value": "2",
"points": 3,
"category": "OneAnswer",
"item": "② 다단 2단"
},
"4": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Width",
"searchValue": "별자리",
"value": "60",
"points": 2,
"category": "mmSize",
"item": "문구 (별자리)/① 크기-너비 (60 mm)"
},
"5": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Height",
"searchValue": "별자리",
"value": "12",
"points": 2,
"category": "mmSize",
"item": "문구 (별자리)/② 크기-높이 (12mm)"
},
"6": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//LINESHAPE/@Style",
"path2": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//LINESHAPE/@Width",
"searchValue": "별자리",
"value": [ "DoubleSlim", "283" ],
"points": 2,
"category": "DoubleAnswer",
"item": "문구 (별자리)/③ 테두리 : 이중 실선(1.00mm)",
"desc": "1mm = 283pt"
},
"7": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/@Ratio",
"searchValue": "별자리",
"value": "20",
"points": 2,
"category": "OneAnswer",
"item": "문구 (별자리)/④ 글상자 모서리 (반원)",
"desc": "모서리 비율 50이면 반원 / 20이면 둥근모양"
},
"8": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
"searchValue": "별자리",
"value": "191,179,233",
"points": 2,
"category": "Color",
"item": "문구 (별자리)/⑤ 채우기 : 색상(RGB:191,179,233)"
},
"9": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/POSITION/@TreatAsChar",
"searchValue": "별자리",
"value": "true",
"points": 1,
"category": "OneAnswer",
"item": "문구 (별자리)/⑥ 글상자 위치 (글자처럼 취급)"
},
"10": {
"path": "//PARASHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::P[last()]/@ParaShape]/@Align",
"searchValue": "별자리",
"value": "Center",
"points": 1,
"category": "OneAnswer",
"item": "문구 (별자리)/⑦ 글상자 정렬 (가운데 정렬)"
},
"11": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "별자리",
"value": "중고딕",
"points": 1,
"category": "FontName",
"item": "문구 (별자리)/⑧ 글씨체 (중고딕)"
},
"12": {
"path": "//CHARSHAPE[@Id=//RECTANGLE//TEXT[./CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "별자리",
"value": "1600",
"points": 1,
"category": "OneAnswer",
"item": "문구 (별자리)/⑨ 글씨크기 (16pt)",
"desc":"1pt당 100"
},
"13": {
"path": "//PARASHAPE[@Id=//RECTANGLE//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
"searchValue": "별자리",
"value": "Center",
"points": 1,
"category": "OneAnswer",
"item": "문구 (별자리)/⑩ 정렬 (가운데 정렬)"
},
"14": {
"path": "boolean(//PICTURE//SHAPECOMMENT[contains(text(),'{searchValue}')])",
"searchValue": "원본 그림의 이름: 그림",
"value": true,
"points": 2,
"category": "Boolean",
"item": "① 파일명 \"그림C.jpg\" 삽입"
},
"15": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
"value": "80",
"points": 2,
"category": "mmSize",
"item": "② 크기-너비 (80 mm)"
},
"16": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
"value": "40",
"points": 2,
"category": "mmSize",
"item": "③ 크기-높이 (40 mm)"
},
"17": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/POSITION/@HorzOffset",
"value": "0",
"points": 2,
"category": "mmSize",
"item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0.0mm)"
},
"18": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/POSITION/@VertOffset",
"value": "24",
"points": 2,
"category": "mmSize",
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 24mm)"
},
"19": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "1. 별자리란",
"value": "돋움체",
"points": 1,
"category": "FontName",
"item": "문구① (1. 별자리란)/① 글씨체 (돋움체)"
},
"20": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "1. 별자리란",
"value": "1200",
"points": 1,
"category": "OneAnswer",
"item": "문구① (1. 별자리란)/② 크기 (12pt)"
},
"21": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "1. 별자리란",
"value": "BOLD",
"points": 1,
"category": "FontAttribute",
"item": "문구① (1. 별자리란)/③ 진하게"
},
"22": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "2. 우리나라 계절별 별자리",
"value": "돋움체",
"points": 1,
"category": "FontName",
"item": "문구② (2. 우리나라 계절별 별자리)/① 글씨체 (돋움체)"
},
"23": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "2. 우리나라 계절별 별자리",
"value": "1200",
"points": 1,
"category": "OneAnswer",
"item": "문구② (2. 우리나라 계절별 별자리)/② 크기 (12pt)"
},
"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": "큰곰자리의 꼬리에 해당하는 7개의 별",
"value": "굴림",
"points": 1,
"category": "FontName",
"item": "문구 (북두칠성)/② 글씨체 (굴림)"
},
"27": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape]/@Height",
"searchValue": "큰곰자리의 꼬리에 해당하는 7개의 별",
"value": "900",
"points": 1,
"category": "OneAnswer",
"item": "문구 (북두칠성)/③ 크기 (9pt)"
},
"28": {
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
"searchValue": "큰곰자리의 꼬리에 해당하는 7개의 별",
"value": "CircledLatinCapital",
"points": 2,
"category": "OneAnswer",
"item": "문구 (북두칠성)/④ 각주 번호모양",
"desc": {
"1,2,3":"Digit",
"①,②,③":"CircledDigit",
"가,나,다":"HangulSyllable",
"㉮,㉯,㉰":"CircledHangulSyllable",
"A,B,C":"LatinCapital",
"Ⓐ,Ⓑ,Ⓒ":"CircledLatinCapital",
"갑,을,병":"DecagonCircle",
"一,二,三":"Ideograph",
"㉠,㉡,㉢":"CircledHangulJamo",
"ⓐ,ⓑ,ⓒ":"CircledLatinSmall",
"i,ii,iii":"RomanSmall",
"정답에 맞는 값 value에 입력":""
}
},
"29": {
"path": "boolean(//CHAR[contains(text(),'Babylonia')])",
"ignoreWord": "Babylonia",
"value": true,
"points": 3,
"category": "Boolean",
"item": "Babylonia/영단어 미입력, 대소문자/오타 시 전체 감점",
"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": "제목 문구 (지역별 천문대 수)/② 크기 (12pt)"
},
"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": "255,164,95",
"points": 2,
"category": "Color",
"item": "위쪽 제목 셀/① 색상(RGB:255,164,95)"
},
"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": "글자모양/② 크기 (10pt)"
},
"43": {
"path": "//PARASHAPE[@Id=//TABLE/ROW//P/@ParaShape]/@Align",
"value": "Center",
"points": 1,
"category": "TableAnswer",
"item": "글자모양/③ 정렬 (가운데 정렬)"
},
"44": {
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) and boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
"option": "SUM",
"value": true,
"points": 4,
"category": "Boolean",
"item": "블록 계산식/합계",
"desc": "option값에 합계는 SUM / 평균은 AVG"
},
"45": {
"chart_xpath": "",
"chart_type": "묶은가로막대형",
"value": true,
"points": 2,
"category": "ChartType",
"item": "① 종류 (묶은가로막대형)",
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
},
"46": {
"chart_xpath": "//c:valAx/c:majorTickMark/@val",
"value": "out",
"points": 2,
"category": "OneAnswer",
"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": "1400",
"points": 1,
"category": "OneAnswer",
"item": "제목 문구 (지역별 천문대 수)/② 크기 (14pt)"
},
"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": "OneAnswer",
"item": "X축/① 글꼴 (바탕)"
},
"54": {
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
"value": "900",
"points": 1,
"category": "OneAnswer",
"item": "X축/② 크기 (9pt)"
},
"55": {
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@{option}",
"option": "i",
"value": "1",
"points": 1,
"category": "OneAnswer",
"item": "X축/③ 기울임",
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
},
"56": {
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface",
"value": "바탕",
"points": 1,
"category": "OneAnswer",
"item": "Y축/① 글꼴 (바탕)"
},
"57": {
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
"value": "900",
"points": 1,
"category": "OneAnswer",
"item": "Y축/② 크기 (9pt)"
},
"58": {
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@{option}",
"option": "i",
"value": "1",
"points": 1,
"category": "OneAnswer",
"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"
}
}
}

View 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": "49,95,151",
"points": 2,
"category": "Color",
"item": "문구 (여름방학특집해양스포츠체험교실)/② 채우기 : 색상(RGB:49,95,151)"
},
"3": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
"searchValue": "여름방학특집해양스포츠체험교실",
"value": "120",
"tolerance": 1,
"points": 2,
"category": "mmSize",
"item": "문구 (여름방학특집해양스포츠체험교실)/③ 크기-너비 (120 mm)"
},
"4": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
"searchValue": "여름방학특집해양스포츠체험교실",
"value": "20",
"tolerance": 1,
"points": 2,
"category": "mmSize",
"item": "문구 (여름방학특집해양스포츠체험교실)/④ 크기-높이 (20 mm)"
},
"5": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
"searchValue": "여름방학특집해양스포츠체험교실",
"value": "true",
"points": 2,
"category": "OneAnswer",
"item": "문구 (여름방학특집해양스포츠체험교실)/⑤ 위치 (글자처럼 취급)"
},
"6": {
"path":"//PARASHAPE[@Id=//P[.//TEXTART[@Text='{searchValue}']]/@ParaShape]/@Align",
"searchValue": "여름방학특집해양스포츠체험교실",
"value": "Center",
"points": 2,
"category": "OneAnswer",
"item": "문구 (여름방학특집해양스포츠체험교실)/⑥ 정렬 (가운데 정렬)"
},
"7": {
"path": "//TEXTART[@Text='{searchValue}']",
"searchValue": "여름방학특집해양스포츠체험교실",
"value": true,
"points": 2,
"category": "Boolean",
"item": "문구 (여름방학특집해양스포츠체험교실)/⑦ 글맵시모양 (육안확인)"
},
"8": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
"searchValue": "여",
"value": {
"Height": 2800,
"Width": 2800
},
"tolerance": 200,
"points": 1,
"category": "TwoLineSize",
"item": "여/① 모양 (2줄)"
},
"9": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "여",
"value": "굴림체",
"points": 1,
"category": "FontName",
"item": "여/② 글씨체 (굴림체)"
},
"10": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
"searchValue": "여",
"value": "144,231,51",
"points": 2,
"category": "Color",
"item": "여/③ 면색 : 색상(RGB:144,231,51)"
},
"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": "문구 (시원한 바다와 함께하는 해양 스포츠 체험 교실)/① 진하게"
},
"13": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
"searchValue": "시원한 바다와 함께하는 해양 스포츠 체험 교실",
"value": "UNDERLINE",
"points": 2,
"category": "FontAttribute",
"item": "문구 (시원한 바다와 함께하는 해양 스포츠 체험 교실)/② 밑줄"
},
"14": {
"path": "//CHAR[contains(text(),'{char1}')]",
"path2": "//CHAR[contains(text(),'{char2}')]",
"path3": "//CHAR[contains(text(),'{char3}')]",
"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(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"searchValue": "참가안내",
"value": "Center",
"points": 1,
"category": "OneAnswer",
"item": "문구 (◐ 참가안내 ◑)/② 정렬 (가운데 정렬)"
},
"17": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "해양소년단 연맹 홈페이지(http://www.ihd.or.kr)",
"value": "ITALIC",
"points": 1,
"category": "FontAttribute",
"item": "문구 (해양소년단 연맹 홈페이지(http://www.ihd.or.kr))/① 기울임"
},
"18": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"hyperlink_ptag": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "해양소년단 연맹 홈페이지(http://www.ihd.or.kr)",
"value": "UNDERLINE",
"points": 1,
"category": "FontAttribute",
"item": "문구 (해양소년단 연맹 홈페이지(http://www.ihd.or.kr))/② 밑줄"
},
"19": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN",
"searchValue": "기타사항",
"value": {
"Left": 10,
"Indent": 12
},
"points": 2,
"category": "ParaShape",
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (10pt), 내어쓰기 (12pt)",
"desc": "내부적으로 내어쓰기는 음수값 / JSON value값은 양수로 입력"
},
"20": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
"searchValue": "2025. 05. 24.",
"value": "1400",
"points": 1,
"category": "OneAnswer",
"item": "문구 (2025. 05. 24.)/① 크기 (14pt)",
"desc": "1pt당 100"
},
"21": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"searchValue": "2025. 05. 24.",
"value": "Center",
"points": 1,
"category": "OneAnswer",
"item": "문구 (2025. 05. 24.)/② 정렬 (가운데 정렬)"
},
"22": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "해양스포츠홍보위원회",
"value": "견고딕",
"points": 1,
"category": "FontName",
"item": "문구 (해양스포츠홍보위원회)/① 글씨체 (견고딕)"
},
"23": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "해양스포츠홍보위원회",
"value": "2600",
"points": 1,
"category": "OneAnswer",
"item": "문구 (해양스포츠홍보위원회)/② 크기 (26pt)"
},
"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": "FontName",
"item": "문구 (DIAT)/① 글꼴 (굴림)"
},
"26": {
"path": "//CHARSHAPE[@Id=//SECTION[1]//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "DIAT",
"value": "900",
"points": 1,
"category": "OneAnswer",
"item": "문구 (DIAT)/② 크기 (9pt)"
},
"27": {
"path": "//PARASHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
"searchValue": "DIAT",
"value": "Right",
"points": 1,
"category": "OneAnswer",
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
},
"28": {
"path": "//PAGENUM/@FormatType",
"value": "CircledDigit",
"points": 2,
"category": "PageNumber",
"item": "① 쪽 번호 매기기 (A,B,C 순으로)",
"desc1": {
"1,2,3":"Digit",
"①,②,③":"CircledDigit",
"가,나,다":"HangulSyllable",
"㉮,㉯,㉰":"CircledHangulSyllable",
"A,B,C":"LatinCapital",
"Ⓐ,Ⓑ,Ⓒ":"CircledLatinCapital",
"갑,을,병":"DecagonCircle",
"一,二,三":"Ideograph",
"㉠,㉡,㉢":"CircledHangulJamo",
"ⓐ,ⓑ,ⓒ":"CircledLatinSmall",
"i,ii,iii":"RomanSmall",
"정답에 맞는 값 value에 입력":""
},
"desc2": "1, 2페이지 모두 정답이어야 점수 부여"
},
"29": {
"path": "//PAGENUM/@Pos",
"value": "BottomRight",
"points": 2,
"category": "PageNumber",
"item": "가운데 아래",
"desc": "1, 2페이지 모두 정답이어야 점수 부여",
"desc2": {
"가운데 아래": "BottomCenter",
"오른쪽 아래": "BottomRight"
}
},
"30": {
"path": "not(//PARASHAPE[@Id=//SECTION[1]/P/@ParaShape]/PARAMARGIN[@LineSpacing!='{option}'])",
"option": "180",
"value": true,
"points": 2,
"category": "Boolean",
"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": "//COLDEF/@Count",
"value": "2",
"points": 3,
"category": "OneAnswer",
"item": "② 다단 2단"
},
"4": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Width",
"searchValue": "해양 스포츠의 세계",
"value": "60",
"points": 2,
"category": "mmSize",
"item": "문구 (해양 스포츠의 세계)/① 크기-너비 (60 mm)"
},
"5": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Height",
"searchValue": "해양 스포츠의 세계",
"value": "12",
"points": 2,
"category": "mmSize",
"item": "문구 (해양 스포츠의 세계)/② 크기-높이 (12mm)"
},
"6": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//LINESHAPE/@Style",
"path2": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//LINESHAPE/@Width",
"searchValue": "해양 스포츠의 세계",
"value": [ "DoubleSlim", "283" ],
"points": 2,
"category": "DoubleAnswer",
"item": "문구 (해양 스포츠의 세계)/③ 테두리 : 이중 실선(1.00mm)",
"desc": "1mm = 283pt"
},
"7": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/@Ratio",
"searchValue": "해양 스포츠의 세계",
"value": "20",
"points": 2,
"category": "OneAnswer",
"item": "문구 (해양 스포츠의 세계)/④ 글상자 모서리 (반원)",
"desc": "모서리 비율 50이면 반원 / 20이면 둥근모양"
},
"8": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
"searchValue": "해양 스포츠의 세계",
"value": "248,231,130",
"points": 2,
"category": "Color",
"item": "문구 (해양 스포츠의 세계)/⑤ 채우기 : 색상(RGB:248,231,130)"
},
"9": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/POSITION/@TreatAsChar",
"searchValue": "해양 스포츠의 세계",
"value": "true",
"points": 1,
"category": "OneAnswer",
"item": "문구 (해양 스포츠의 세계)/⑥ 글상자 위치 (글자처럼 취급)"
},
"10": {
"path": "//PARASHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::P[last()]/@ParaShape]/@Align",
"searchValue": "해양 스포츠의 세계",
"value": "Center",
"points": 1,
"category": "OneAnswer",
"item": "문구 (해양 스포츠의 세계)/⑦ 글상자 정렬 (가운데 정렬)"
},
"11": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "해양 스포츠의 세계",
"value": "궁서",
"points": 1,
"category": "FontName",
"item": "문구 (해양 스포츠의 세계)/⑧ 글씨체 (궁서)"
},
"12": {
"path": "//CHARSHAPE[@Id=//RECTANGLE//TEXT[./CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "해양 스포츠의 세계",
"value": "1800",
"points": 1,
"category": "OneAnswer",
"item": "문구 (해양 스포츠의 세계)/⑨ 글씨크기 (18pt)",
"desc":"1pt당 100"
},
"13": {
"path": "//PARASHAPE[@Id=//RECTANGLE//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
"searchValue": "해양 스포츠의 세계",
"value": "Center",
"points": 1,
"category": "OneAnswer",
"item": "문구 (해양 스포츠의 세계)/⑩ 정렬 (가운데 정렬)"
},
"14": {
"path": "boolean(//PICTURE//SHAPECOMMENT[contains(text(),'{searchValue}')])",
"searchValue": "원본 그림의 이름: 그림",
"value": true,
"points": 2,
"category": "Boolean",
"item": "① 파일명 \"그림D.jpg\" 삽입"
},
"15": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Width",
"value": "80",
"points": 2,
"category": "mmSize",
"item": "② 크기-너비 (80 mm)"
},
"16": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
"value": "40",
"points": 2,
"category": "mmSize",
"item": "③ 크기-높이 (40 mm)"
},
"17": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/POSITION/@HorzOffset",
"value": "0",
"points": 2,
"category": "mmSize",
"item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0.0mm)"
},
"18": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/POSITION/@VertOffset",
"value": "24",
"points": 2,
"category": "mmSize",
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 24mm)"
},
"19": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "1. 국립해양박물관",
"value": "돋움체",
"points": 1,
"category": "FontName",
"item": "문구① (1. 국립해양박물관)/① 글씨체 (돋움체)"
},
"20": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "1. 국립해양박물관",
"value": "1200",
"points": 1,
"category": "OneAnswer",
"item": "문구① (1. 국립해양박물관)/② 크기 (12pt)"
},
"21": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "1. 국립해양박물관",
"value": "BOLD",
"points": 1,
"category": "FontAttribute",
"item": "문구① (1. 국립해양박물관)/③ 진하게"
},
"22": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "2. 윈드 서핑",
"value": "돋움체",
"points": 1,
"category": "FontName",
"item": "문구② (2. 윈드 서핑)/① 글씨체 (돋움체)"
},
"23": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "2. 윈드 서핑",
"value": "1200",
"points": 1,
"category": "OneAnswer",
"item": "문구② (2. 윈드 서핑)/② 크기 (12pt)"
},
"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": {
"1,2,3":"Digit",
"①,②,③":"CircledDigit",
"가,나,다":"HangulSyllable",
"㉮,㉯,㉰":"CircledHangulSyllable",
"A,B,C":"LatinCapital",
"Ⓐ,Ⓑ,Ⓒ":"CircledLatinCapital",
"갑,을,병":"DecagonCircle",
"一,二,三":"Ideograph",
"㉠,㉡,㉢":"CircledHangulJamo",
"ⓐ,ⓑ,ⓒ":"CircledLatinSmall",
"i,ii,iii":"RomanSmall",
"정답에 맞는 값 value에 입력":""
}
},
"29": {
"path": "boolean(//CHAR[contains(text(),'Display')])",
"ignoreWord": "Display",
"value": true,
"points": 3,
"category": "Boolean",
"item": "Display/영단어 미입력, 대소문자/오타 시 전체 감점",
"desc": "유사도 검사를 진행하지 않고 영단어가 모두 일치해야 하므로 xpath구문 내 단어도 수정필요"
},
"30": {
"path": "//CHAR[contains(text(),'{kor}')][contains(text(),'{chn}')]",
"word":[
["유물", "遺物"],
["상설", "常設"],
["체험", "體驗"],
["해양", "海洋"],
["기교", "技巧"]
],
"value": 10,
"points": 10,
"category": "Hanja",
"item": "① 유물(遺物), ② 상설(常設), ③ 체험(體驗), ④ 해양(海洋), ⑤ 기교(技巧)"
},
"31": {
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'을헤치는')])",
"value": true,
"points": 3,
"category": "Boolean",
"item": "문구 (…물살을 헤치은…)/ 은 → 는 글자바꿈"
},
"32": {
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'연의바람')])",
"value": true,
"points": 3,
"category": "Boolean",
"item": "문구 (…바람을 자연의 이용하여…)/바람을 / 자연의 순서바꿈"
},
"33": {
"path": "//TEXT[CHAR[contains(text(),'{searchValue}')]]/@CharShape",
"searchValue": "종목별 해양 스포츠 참가자 수",
"value": "중고딕",
"points": 1,
"category": "FontName",
"item": "제목 문구 (종목별 해양 스포츠 참가자 수)/① 글씨체 (중고딕)"
},
"34": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "종목별 해양 스포츠 참가자 수",
"value": "1200",
"points": 1,
"category": "OneAnswer",
"item": "제목 문구 (종목별 해양 스포츠 참가자 수)/② 크기 (12pt)"
},
"35": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]",
"searchValue": "종목별 해양 스포츠 참가자 수",
"value": "BOLD",
"points": 1,
"category": "FontAttribute",
"item": "제목 문구 (종목별 해양 스포츠 참가자 수)/③ 진하게"
},
"36": {
"path": "//PARASHAPE[@Id=//P[.//CHAR[text()='{searchValue}']]/@ParaShape]/@Align",
"searchValue": "종목별 해양 스포츠 참가자 수",
"value": "Center",
"points": 1,
"category": "OneAnswer",
"item": "제목 문구 (종목별 해양 스포츠 참가자 수)/④ 정렬 (가운데 정렬)"
},
"37": {
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
"value": "233,162,149",
"points": 2,
"category": "Color",
"item": "위쪽 제목 셀/① 색상(RGB:233,162,149)"
},
"38": {
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
"value": "BOLD",
"points": 1,
"category": "FontAttribute",
"item": "위쪽 제목 셀/② 진하게",
"desc": "글자 속성이라 CELLZONE으로 적용 되지 않음"
},
"39": {
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Type",
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Type",
"value": "DoubleSlim",
"points": 2,
"category": "TableAnswer",
"item": "제목 셀 아래선/① 이중실선"
},
"40": {
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Width",
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Width",
"value": "0.5mm",
"points": 2,
"category": "TableAnswer",
"item": "제목 셀 아래선/② 0.5mm"
},
"41": {
"path": "//TABLE//TEXT/@CharShape",
"path2": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"value": "굴림체",
"points": 1,
"category": "TableFontName",
"category_tmp": "FontName",
"item": "글자모양/① 글씨체 (굴림체)",
"desc": "테이블 폰트명 문항은 테이블의 모든 셀이 정답폰트와 일치해야 함, 하나만 일치해도 정답으로 채점할 경우 category값을 FontName으로 변경"
},
"42": {
"path": "//CHARSHAPE[@Id=//TABLE//TEXT/@CharShape]/@Height",
"value": "1000",
"points": 1,
"category": "TableAnswer",
"item": "글자모양/② 크기 (10pt)"
},
"43": {
"path": "//PARASHAPE[@Id=//TABLE/ROW//P/@ParaShape]/@Align",
"value": "Center",
"points": 1,
"category": "TableAnswer",
"item": "글자모양/③ 정렬 (가운데 정렬)"
},
"44": {
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) and boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
"option": "SUM",
"value": true,
"points": 4,
"category": "Boolean",
"item": "블록 계산식/합계",
"desc": "option값에 합계는 SUM / 평균은 AVG"
},
"45": {
"chart_xpath": "",
"chart_type": "묶은세로막대형",
"value": true,
"points": 2,
"category": "ChartType",
"item": "① 종류 (묶은세로막대형)",
"desc": "chart_type을 입력받아 차트타입에 맞는 xml요소가 있는지 내부적으로 검사, chart_type만 한글로 입력해주면 된다. (공백무시)"
},
"46": {
"chart_xpath": "//c:valAx/c:majorTickMark/@val",
"value": "out",
"points": 2,
"category": "OneAnswer",
"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": "제목 문구 (종목별 해양 스포츠 참가자 수)/② 크기 (13pt)"
},
"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": "OneAnswer",
"item": "X축/① 글꼴 (맑은 고딕)"
},
"54": {
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@sz",
"value": "900",
"points": 1,
"category": "OneAnswer",
"item": "X축/② 크기 (9pt)"
},
"55": {
"chart_xpath": "//c:catAx/c:txPr//a:defRPr/@{option}",
"option": "i",
"value": "1",
"points": 1,
"category": "OneAnswer",
"item": "X축/③ 기울임",
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
},
"56": {
"chart_xpath": "//c:valAx/c:txPr//a:ea/@typeface",
"value": "맑은 고딕",
"points": 1,
"category": "OneAnswer",
"item": "Y축/① 글꼴 (맑은 고딕)"
},
"57": {
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@sz",
"value": "900",
"points": 1,
"category": "OneAnswer",
"item": "Y축/② 크기 (9pt)"
},
"58": {
"chart_xpath": "//c:valAx/c:txPr//a:defRPr/@{option}",
"option": "i",
"value": "1",
"points": 1,
"category": "OneAnswer",
"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"
}
}
}