v2 - 2504회 B형 채점 및 추가 수정

This commit is contained in:
2025-05-20 18:02:04 +09:00
parent 8e8abfd9f1
commit 220374145e
24 changed files with 927 additions and 2968 deletions

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.

View File

@@ -24,7 +24,7 @@
"item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)" "item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)"
}, },
"2": { "2": {
"path": "//STYLE[@Name='바탕글']", "path": "",
"value": { "value": {
"FontName": "바탕", "FontName": "바탕",
"FontSize": "1000", "FontSize": "1000",
@@ -304,15 +304,20 @@
"points": 2, "points": 2,
"category": "PageNumber", "category": "PageNumber",
"item": "오른쪽 아래", "item": "오른쪽 아래",
"desc": "1, 2페이지 모두 정답이어야 점수 부여" "desc": "1, 2페이지 모두 정답이어야 점수 부여",
"desc2": {
"가운데 아래": "BottomCenter",
"오른쪽 아래": "BottomRight"
}
}, },
"30": { "30": {
"path": "not(//PARASHAPE[@Id=//SECTION[1]/P/@ParaShape]/PARAMARGIN[@LineSpacing!='200'])", "path": "not(//PARASHAPE[@Id=//SECTION[1]/P/@ParaShape]/PARAMARGIN[@LineSpacing!='{option}'])",
"option": "200",
"value": true, "value": true,
"points": 2, "points": 2,
"category": "Boolean", "category": "Boolean",
"item": "문제 1 줄간격 200% 설정", "item": "문제 1 줄간격 200% 설정",
"desc": "1페이지 문단의 줄간격이 200%가 아닌 문단이 있으면 False(감점)" "desc": "1페이지 문단의 줄간격이 정답이 아닌 문단이 있으면 False(감점)"
} }
}, },
"2": { "2": {
@@ -374,7 +379,8 @@
"value": "50", "value": "50",
"points": 2, "points": 2,
"category": "OneAnswer", "category": "OneAnswer",
"item": "문구 (클라우드 컴퓨팅)/④ 글상자 모서리 (반원)" "item": "문구 (클라우드 컴퓨팅)/④ 글상자 모서리 (반원)",
"desc": "모서리 비율 50이면 반원 / 20이면 둥근모양"
}, },
"8": { "8": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor", "path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
@@ -681,7 +687,7 @@
"item": "글자모양/③ 정렬 (가운데 정렬)" "item": "글자모양/③ 정렬 (가운데 정렬)"
}, },
"44": { "44": {
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last() or position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])", "path": "boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()]//FIELDBEGIN[starts-with(@Command, '={option}')]) and boolean(//TABLE[1]/ROW[last()]/CELL[position()=last()-1]//FIELDBEGIN[starts-with(@Command, '={option}')])",
"option": "SUM", "option": "SUM",
"value": true, "value": true,
"points": 4, "points": 4,
@@ -745,12 +751,14 @@
"item": "제목 문구 (클라우드 보안 투자)/② 크기 (13pt)" "item": "제목 문구 (클라우드 보안 투자)/② 크기 (13pt)"
}, },
"52": { "52": {
"chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@b", "chart_xpath": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@{option}",
"option": "b",
"searchValue": "클라우드 보안 투자", "searchValue": "클라우드 보안 투자",
"value": "1", "value": "1",
"points": 1, "points": 1,
"category": "OneAnswer", "category": "OneAnswer",
"item": "제목 문구 (클라우드 보안 투자)/③ 진하게" "item": "제목 문구 (클라우드 보안 투자)/③ 진하게",
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
}, },
"53": { "53": {
"chart_xpath": "//c:catAx//a:ea/@typeface", "chart_xpath": "//c:catAx//a:ea/@typeface",

834
DIW_2504B_new.json Normal file
View File

@@ -0,0 +1,834 @@
{
"0": {
"0": {
"path": "",
"path2": "",
"points": 0,
"category": "파일저장",
"item": "파일명 (수검번호.hwp/hwpx)"
},
"1": {
"path": "//PAGEMARGIN",
"value": {
"Bottom": 5669,
"Footer": 2834,
"Gutter": 0,
"Header": 2834,
"Left": 5669,
"Right": 5669,
"Top": 5669
},
"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,82,82",
"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": "문구 (친환경에너지박람회)/④ 크기-높이 (20mm)"
},
"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": "58,220,255",
"points": 2,
"category": "Color",
"item": "지/③ 면색 : 색상(RGB:58,220,255)"
},
"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": "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": 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. 04. 26.",
"value": "1300",
"points": 1,
"category": "OneAnswer",
"item": "문구 (2025. 04. 26.)/① 크기 (14pt)",
"desc": "1pt당 100"
},
"21": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"searchValue": "2025. 04. 26.",
"value": "Center",
"points": 1,
"category": "OneAnswer",
"item": "문구 (2025. 04. 26.)/② 정렬 (가운데 정렬)"
},
"22": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"searchValue": "친환경에너지발전협의회",
"value": "돋움",
"points": 1,
"category": "FontName",
"item": "문구 (친환경에너지발전협의회)/① 글씨체 (돋움)"
},
"23": {
"path": "//CHARSHAPE[@Id=//TEXT[CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "친환경에너지발전협의회",
"value": "2700",
"points": 1,
"category": "OneAnswer",
"item": "문구 (친환경에너지발전협의회)/② 크기 (27pt)"
},
"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": "HangulSyllable",
"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",
"정답에 맞는 값 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": "50",
"points": 2,
"category": "mmSize",
"item": "문구 (친환경 에너지)/① 크기-너비 (50mm)"
},
"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": "53,135,145",
"points": 2,
"category": "Color",
"item": "문구 (친환경 에너지)/⑤ 채우기 : 색상(RGB:53,135,145)"
},
"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": "문구 (친환경 에너지)/⑧ 글씨체 (궁서체)",
"desc": "폰트 '견고딕'과 '중고딕'은 한글프로그램 내부적으로 '한양견고딕', '한양중고딕'처리 되어서 프로그램 내부에서 수험자 답변에서 '한양'을 제거하는 과정을 거침"
},
"12": {
"path": "//CHARSHAPE[@Id=//RECTANGLE//TEXT[./CHAR[text()='{searchValue}']]/@CharShape]/@Height",
"searchValue": "친환경 에너지",
"value": "2000",
"points": 1,
"category": "OneAnswer",
"item": "문구 (친환경 에너지)/⑨ 글씨크기 (20pt)",
"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": "② 크기-너비 (85mm)"
},
"16": {
"path": "//PICTURE[./IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]]/SHAPEOBJECT/SIZE/@Height",
"value": "40",
"points": 2,
"category": "mmSize",
"item": "③ 크기-높이 (40mm)"
},
"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(),'{searchValue}')]]/FOOTNOTE)",
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('{searchValue}') + 1) = '{searchValue}']/following-sibling::FOOTNOTE/descendant::CHAR)",
"searchValue": "태양전지",
"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": "OneAnswer",
"item": "문구 (태양전지)/④ 각주 번호모양",
"desc": {
"가,나,다":"HangulSyllable",
"1,2,3":"Digit",
"갑,을,병":"DecagonCircle",
"A,B,C":"LatinCapital",
"①,②,③":"CircledDigit",
"一,二,三":"Ideograph",
"㉠,㉡,㉢":"CircledHangulJamo",
"ⓐ,ⓑ,ⓒ":"CircledLatinSmall",
"i,ii,iii":"RomanSmall",
"정답에 맞는 값 value에 입력":""
}
},
"29": {
"path": "boolean(//CHAR[contains(text(),'Campaign')])",
"ignoreWord": "Campaign",
"value": true,
"points": 3,
"category": "Boolean",
"item": "Campaign/영단어 미입력, 대소문자/오타 시 전체 감점",
"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": "202,86,167",
"points": 2,
"category": "Color",
"item": "위쪽 제목 셀/① 색상(RGB:202,86,167)"
},
"38": {
"path": "//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]",
"value": "BOLD",
"points": 1,
"category": "FontAttribute",
"item": "위쪽 제목 셀/② 진하게",
"desc": "글자 속성이라 CELLZONE으로 적용 되지 않음"
},
"39": {
"path": "//BORDERFILL[@Id=//TABLE/ROW[1]/CELL/@BorderFill]/BOTTOMBORDER/@Type",
"path2": "//BORDERFILL[@Id=//CELLZONE[@StartRowAddr='0' and @EndRowAddr='0' and @StartColAddr='0' and @EndColAddr=(ancestor::TABLE[1]/@ColCount)-1]/@BorderFill]/BOTTOMBORDER/@Type",
"value": "DoubleSlim",
"points": 2,
"category": "OneAnswer",
"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": "OneAnswer",
"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": "OneAnswer",
"item": "글자모양/② 크기 (10pt)"
},
"43": {
"path": "//PARASHAPE[@Id=//TABLE/ROW//P/@ParaShape]/@Align",
"value": "Center",
"points": 1,
"category": "OneAnswer",
"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": "③ 크기-너비 (80mm)"
},
"48": {
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]//SIZE/@Height",
"value": "80",
"points": 2,
"category": "mmSize",
"item": "④ 크기-높이 (80mm)"
},
"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//a:ea/@typeface",
"value": "바탕",
"points": 1,
"category": "OneAnswer",
"item": "X축/① 글꼴 (바탕)"
},
"54": {
"chart_xpath": "//c:catAx//a:defRPr/@sz",
"value": "900",
"points": 1,
"category": "OneAnswer",
"item": "X축/② 크기 (9pt)"
},
"55": {
"chart_xpath": "//c:catAx//a:defRPr/@{option}",
"option": "i",
"value": "1",
"points": 1,
"category": "OneAnswer",
"item": "X축/③ 기울임",
"desc": "option값 - 기울임(Italic):i / 굵게(Bold):b"
},
"56": {
"chart_xpath": "//c:valAx//a:ea/@typeface",
"value": "바탕",
"points": 1,
"category": "OneAnswer",
"item": "Y축/① 글꼴 (바탕)"
},
"57": {
"chart_xpath": "//c:valAx//a:defRPr/@sz",
"value": "900",
"points": 1,
"category": "OneAnswer",
"item": "Y축/② 크기 (9pt)"
},
"58": {
"chart_xpath": "//c:valAx//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

@@ -1,863 +0,0 @@
{
"0": {
"0": {
"path": "",
"path2": "",
"points": 0,
"category": "파일저장",
"item": "파일명 (수검번호.hwp/hwpx)"
},
"1": {
"path": "boolean(//PAGEMARGIN[(@Bottom='5668'or @Bottom='5669') and (@Footer='2834' or @Footer='2835') and @Gutter='0' and (@Header='2834' or @Header='2835') and (@Left='5668' or @Left='5669') and (@Right='5668' or @Right='5669') and (@Top='5668' or @Top='5669')])",
"path2": null,
"searchValue": null,
"value": true,
"points": 4,
"category": "용지설정",
"item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)"
},
"2": {
"path": "boolean(//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE/FONTID/@Hangul]/@Name='바탕' and //CHARSHAPE/@Height='1000' and //PARASHAPE/PARAMARGIN/@LineSpacing='160' and //PARASHAPE/@Align='Justify')",
"path2": null,
"searchValue": null,
"value": true,
"points": 4,
"category": "기본설정",
"item": "글꼴 (바탕, 10pt), 양쪽정렬, 줄간격 (160%)"
},
"3": {
"path": "",
"path2": null,
"searchValue": null,
"value": null,
"points": 40,
"category": "오타감점",
"item": "오타 1개 -1점 / 2503회부터 오타 1개 -1점으로 변경"
}
},
"1": {
"1": {
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
"path2": null,
"searchValue": "한옥마을사생대회안내",
"value": "궁서",
"points": 1,
"category": "글맵시",
"item": "문구 (한옥마을사생대회안내)/① 글씨체 (궁서)"
},
"2": {
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
"path2": null,
"searchValue": "한옥마을사생대회안내",
"value": "6072932",
"points": 2,
"category": "글맵시",
"item": "문구 (한옥마을사생대회안내)/② 채우기 : 색상(RGB:100,170,92)"
},
"3": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
"path2": null,
"searchValue": "한옥마을사생대회안내",
"value": 28346,
"points": 2,
"category": "글맵시",
"item": "문구 (한옥마을사생대회안내)/③ 크기-너비 (100mm)"
},
"4": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
"path2": null,
"searchValue": "한옥마을사생대회안내",
"value": 5669,
"points": 2,
"category": "글맵시",
"item": "문구 (한옥마을사생대회안내)/④ 크기-높이 (20mm)"
},
"5": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
"path2": null,
"searchValue": "한옥마을사생대회안내",
"value": "true",
"points": 2,
"category": "글맵시",
"item": "문구 (한옥마을사생대회안내)/⑤ 위치 (글자처럼 취급)"
},
"6": {
"path": "//PARASHAPE[@Id=//TEXTART[@Text='{searchValue}']/ancestor::P/@ParaShape]/@Align",
"path2": null,
"searchValue": "한옥마을사생대회안내",
"value": "Center",
"points": 2,
"category": "글맵시",
"item": "문구 (한옥마을사생대회안내)/⑥ 정렬 (가운데 정렬)"
},
"7": {
"path": "boolean(//TEXTART[@Text='{searchValue}'])",
"path2": null,
"searchValue": "한옥마을사생대회안내",
"value": true,
"points": 2,
"category": "글맵시",
"item": "문구 (한옥마을사생대회안내)/⑦ 글맵시모양 (육안확인)"
},
"8": {
"path": "boolean(//RECTANGLE[.//CHAR[text()='자']][.//SIZE[(@Height >= 2600 and @Height <= 2800)and(@Width >= 2600 and @Width <= 2800)]])",
"path2": null,
"searchValue": null,
"value": true,
"points": 1,
"category": "문단첫글자장식",
"item": "자/① 모양 (2줄)"
},
"9": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TEXT[CHAR[text()='자']]/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": null,
"value": "맑은 고딕",
"points": 1,
"category": "문단첫글자장식",
"item": "자/② 글씨체 (맑은 고딕)"
},
"10": {
"path": "//RECTANGLE[.//CHAR[text()='자']]//WINDOWBRUSH/@FaceColor",
"path2": null,
"searchValue": null,
"value": "9537333",
"points": 2,
"category": "문단첫글자장식",
"item": "자/③ 면색 : 색상(RGB:105,155,55)"
},
"11": {
"path": "//RECTANGLE[.//CHAR[text()='자']]//OUTSIDEMARGIN/@Right",
"path2": null,
"searchValue": null,
"value": "850",
"points": 2,
"category": "문단첫글자장식",
"item": "자/④ 본문과의 간격 : 3.0mm"
},
"12": {
"path": "boolean(//CHARSHAPE[@Id=//CHAR[contains(text()[1],'{searchValue}')]/parent::TEXT/@CharShape][BOLD])",
"path2": null,
"searchValue": "한옥에 대한 체험과 교육이 준비된 사생대회",
"value": true,
"points": 2,
"category": "글꼴 속성",
"item": "문구 (한옥에 대한 체험과 교육이 준비된 사생대회)/① 기울임"
},
"13": {
"path": "boolean(//CHARSHAPE[@Id=//CHAR[contains(text()[1],'{searchValue}')]/parent::TEXT/@CharShape][UNDERLINE])",
"path2": null,
"searchValue": "한옥에 대한 체험과 교육이 준비된 사생대회",
"value": true,
"points": 2,
"category": "글꼴 속성",
"item": "문구 (한옥에 대한 체험과 교육이 준비된 사생대회)/② 밑줄"
},
"14": {
"path": "count(//CHAR[contains(text(),'■')]) + count(//CHAR[contains(text(),'※')])",
"path2": "string-length(//CHAR[contains(text(),'■')]) - string-length(translate(//CHAR[contains(text(),'■')], '■', '')) + string-length(//CHAR[contains(text(),'※')]) - string-length(translate(//CHAR[contains(text(),'※')], '※', ''))",
"searchValue": null,
"value": 3,
"points": 3,
"category": "특수문자",
"item": "① ■, ② ■, ③ ※"
},
"15": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "행사안내",
"value": "돋움",
"points": 1,
"category": "글꼴 속성",
"item": "문구 (■ 행사안내 ■)/① 글씨체 (돋움)"
},
"16": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"path2": null,
"searchValue": "행사안내",
"value": "Center",
"points": 1,
"category": "글꼴 속성",
"item": "문구 (■ 행사안내 ■)/② 정렬 (가운데 정렬)"
},
"17": {
"path": "boolean(//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape][ITALIC])",
"hyperlink_xpath": "boolean(//CHARSHAPE[@Id={charshape_id}][ITALIC])",
"hyperlink": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "홈페이지(http://www.ihd.or.kr)에서 개별 신청, 선착순 접수",
"value": true,
"points": 1,
"category": "Hyperlink",
"item": "문구 (홈페이지(http://www.ihd.or.kr)에서 개별 신청, 선착순 접수)/① 진하게"
},
"18": {
"path": "boolean(//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape][UNDERLINE])",
"hyperlink_xpath": "boolean(//CHARSHAPE[@Id={charshape_id}][UNDERLINE])",
"hyperlink": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "홈페이지(http://www.ihd.or.kr)에서 개별 신청, 선착순 접수",
"value": true,
"points": 1,
"category": "Hyperlink",
"item": "문구 (홈페이지(http://www.ihd.or.kr)에서 개별 신청, 선착순 접수)/② 밑줄"
},
"19": {
"path": "boolean(//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN/@Left=3000 and //PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN/@Indent=-2400)",
"path2": null,
"searchValue": "기타사항",
"value": true,
"points": 2,
"category": "문단모양",
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15pt), 내어쓰기 (12pt)"
},
"20": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": "2025. 03. 22.",
"value": 1300,
"points": 1,
"category": "글꼴 속성",
"item": "문구 (2025. 03. 22.)/① 크기 (13pt)"
},
"21": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"path2": null,
"searchValue": "2025. 03. 22.",
"value": "Center",
"points": 1,
"category": "글꼴 속성",
"item": "문구 (2025. 03. 22.)/② 정렬 (가운데 정렬)"
},
"22": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "한국고건축협회",
"value": "궁서",
"points": 1,
"category": "글꼴 속성",
"item": "문구 (한국고건축협회)/① 글씨체 (궁서)"
},
"23": {
"path": "//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": "한국고건축협회",
"value": 2400,
"points": 1,
"category": "글꼴 속성",
"item": "문구 (한국고건축협회)/② 크기 (24pt)"
},
"24": {
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
"path2": null,
"searchValue": "한국고건축협회",
"value": "Center",
"points": 1,
"category": "글꼴 속성",
"item": "문구 (한국고건축협회)/③ 정렬 (가운데 정렬)"
},
"25": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "DIAT",
"value": "굴림",
"points": 1,
"category": "머리말",
"item": "문구 (DIAT)/① 글꼴 (굴림)"
},
"26": {
"path": "//CHARSHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": "DIAT",
"value": 900,
"points": 1,
"category": "머리말",
"item": "문구 (DIAT)/② 크기 (9pt)"
},
"27": {
"path": "//PARASHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
"path2": null,
"searchValue": "DIAT",
"value": "Right",
"points": 1,
"category": "머리말",
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
},
"28": {
"path": "//PAGENUM/@FormatType",
"path2": null,
"searchValue": null,
"value": "HangulSyllable",
"points": 2,
"category": "쪽번호",
"item": "① 쪽 번호 매기기 (가,나,다 순으로)"
},
"29": {
"path": "//PAGENUM/@Pos",
"path2": null,
"searchValue": null,
"value": "BottomCenter",
"points": 2,
"category": "쪽번호",
"item": "② 가운데 아래"
},
"30": {
"path": "not(//PARASHAPE[@Id=//SECTION[1]/P/@ParaShape]/PARAMARGIN[@LineSpacing!='180'])",
"path2": null,
"searchValue": null,
"value": true,
"points": 2,
"category": "줄간격",
"item": "문제 1 줄간격 180% 설정"
}
},
"2": {
"1": {
"path": "boolean(//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@HeaderInside='true' and //BORDERFILL[@Id=//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@BorferFill]/*[contains(local-name(), 'BORDER')]/@Type='DoubleSlim')",
"path2": null,
"searchValue": null,
"value": true,
"points": 4,
"category": "쪽 테두리",
"item": "문제2 쪽테두리(이중 실선, 머리말 포함) 설정"
},
"2": {
"path": "count(//SECTION)>1",
"path2": null,
"searchValue": null,
"value": true,
"points": 3,
"category": "다단",
"item": "① 구역나누기"
},
"3": {
"path": "//COLDEF/@Count>1",
"path2": null,
"searchValue": null,
"value": true,
"points": 3,
"category": "다단",
"item": "② 다단 2단"
},
"4": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Width",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": 19842,
"points": 2,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/① 크기-너비 (70mm)"
},
"5": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Height",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": 3401,
"points": 2,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/② 크기-높이 (12mm)"
},
"6": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/descendant::LINESHAPE/@Style",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": "DoubleSlim",
"points": 2,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/③ 테두리 (이중실선(1.00mm))"
},
"7": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/@Ratio",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": 20,
"points": 2,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/④ 글상자 모서리 (반원)"
},
"8": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/descendant::WINDOWBRUSH/@FaceColor",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": "12704995",
"points": 2,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/⑤ 채우기 : 색상(RGB:53,135,145)"
},
"9": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": "true",
"points": 1,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/⑥ 글상자 위치 (글자처럼 취급)"
},
"10": {
"path": "//PARASHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::P[last()]/@ParaShape]/@Align",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": "Center",
"points": 1,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/⑦ 글상자 정렬 (가운데 정렬)"
},
"11": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": "한양견고딕",
"points": 1,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/⑧ 글씨체 (견고딕)"
},
"12": {
"path": "boolean(//CHARSHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/@Height='2000')",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": true,
"points": 1,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/⑨ 글씨크기 (20pt)"
},
"13": {
"path": "//PARASHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::P[1]/@ParaShape]/@Align",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": "Center",
"points": 1,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/⑩ 정렬 (가운데 정렬)"
},
"14": {
"path": "boolean(//PICTURE/descendant::SHAPECOMMENT[contains(text(),'{searchValue}')])",
"path2": null,
"searchValue": "원본 그림의 이름: 그림",
"value": true,
"points": 2,
"category": "그림삽입",
"item": "① 파일명 \"그림A.jpg\" 삽입"
},
"15": {
"path": "//IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]/preceding-sibling::SHAPEOBJECT/SIZE/@Width",
"path2": null,
"searchValue": null,
"value": 24094,
"points": 2,
"category": "그림삽입",
"item": "② 크기-너비 (85mm)"
},
"16": {
"path": "//IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]/preceding-sibling::SHAPEOBJECT/SIZE/@Height",
"path2": null,
"searchValue": null,
"value": 11338,
"points": 2,
"category": "그림삽입",
"item": "③ 크기-높이 (40mm)"
},
"17": {
"path": "//IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]/preceding-sibling::SHAPEOBJECT/POSITION/@HorzOffset",
"path2": null,
"searchValue": null,
"value": 0,
"points": 2,
"category": "그림삽입",
"item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0.0mm)"
},
"18": {
"path": "//IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]/preceding-sibling::SHAPEOBJECT/POSITION/@VertOffset",
"path2": null,
"searchValue": null,
"value": 6236,
"points": 2,
"category": "그림삽입",
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 22mm)"
},
"19": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "1. 한옥",
"value": "돋움",
"points": 1,
"category": "속성",
"item": "문구① (1. 한옥)/① 글씨체 (돋움)"
},
"20": {
"path": "//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": "1. 한옥",
"value": 1200,
"points": 1,
"category": "속성",
"item": "문구① (1. 한옥)/② 크기 (12pt)"
},
"21": {
"path": "boolean(//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/BOLD)",
"path2": null,
"searchValue": "1. 한옥",
"value": true,
"points": 1,
"category": "속성",
"item": "문구① (1. 한옥)/③ 진하게"
},
"22": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "2. 한옥의 형태와 구조",
"value": "돋움",
"points": 1,
"category": "속성",
"item": "문구② (2. 한옥의 형태와 구조)/① 글씨체 (돋움)"
},
"23": {
"path": "//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": "2. 한옥의 형태와 구조",
"value": 1200,
"points": 1,
"category": "속성",
"item": "문구② (2. 한옥의 형태와 구조)/② 크기 (12pt)"
},
"24": {
"path": "boolean(//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/BOLD)",
"path2": null,
"searchValue": "2. 한옥의 형태와 구조",
"value": true,
"points": 1,
"category": "속성",
"item": "문구② (2. 한옥의 형태와 구조)/③ 진하게"
},
"25": {
"path": "boolean(//CHAR[contains(text(),'기초')]/ancestor::TEXT/FOOTNOTE/descendant::CHAR)",
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('기초') + 1) = '기초']/following-sibling::FOOTNOTE/descendant::CHAR)",
"searchValue": null,
"value": true,
"points": 2,
"category": "각주",
"item": "문구 (기초)/① 각주 설정 및 문구 입력"
},
"26": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "기둥의 침하를 방지하기 위한 지반의 보강 및 개량",
"value": "한양중고딕",
"points": 1,
"category": "각주",
"item": "문구 (기초)/② 글씨체 (한양중고딕)"
},
"27": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": "기둥의 침하를 방지하기 위한 지반의 보강 및 개량",
"value": 900,
"points": 1,
"category": "각주",
"item": "문구 (기초)/③ 크기 (9pt)"
},
"28": {
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
"path2": null,
"searchValue": "기둥의 침하를 방지하기 위한 지반의 보강 및 개량",
"value": "CircledDigit",
"points": 2,
"category": "각주",
"item": "문구 (기초)/④ 각주 번호모양"
},
"29": {
"path": "boolean(//CHAR[contains(text(),'cornerstone')])",
"path2": null,
"ignoreWord": "cornerstone",
"value": true,
"points": 3,
"category": "영단어",
"item": "cornerstone/영단어 미입력, 대소문자/오타 시 전체 감점"
},
"30": {
"path": "(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",
"path2": null,
"searchValue": null,
"value": 10,
"points": 10,
"category": "한자",
"item": "① 한옥(韓屋), ② 사계절(四季節), ③거주(居住), ④ 구조(構造), ⑤ 골격(骨格)"
},
"31": {
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'철의추운')])",
"path2": null,
"searchValue": null,
"value": true,
"points": 3,
"category": "편집",
"item": "문구 (…더운 날씨와 겨울철이 추운…)/\"이\" → \"의\" 글자바꿈"
},
"32": {
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'돌과마루')])",
"path2": null,
"searchValue": null,
"value": true,
"points": 3,
"category": "편집",
"item": "문구 (…대비해 마루를 온돌과 갖고…)/\"마루를\" / \"온돌과\" 순서바꿈"
},
"33": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "교육기관별 참가인원",
"value": "궁서",
"points": 1,
"category": "표",
"item": "제목 문구 (교육기관별 참가인원)/① 글씨체 (궁서)"
},
"34": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": "교육기관별 참가인원",
"value": 1200,
"points": 1,
"category": "표",
"item": "제목 문구 (교육기관별 참가인원)/② 크기 (12pt)"
},
"35": {
"path": "boolean(//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/BOLD)",
"path2": null,
"searchValue": "교육기관별 참가인원",
"value": true,
"points": 1,
"category": "표",
"item": "제목 문구 (교육기관별 참가인원)/③ 진하게"
},
"36": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"path2": null,
"searchValue": "교육기관별 참가인원",
"value": "Center",
"points": 1,
"category": "표",
"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='2']/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
"searchValue": null,
"value": "7629528",
"points": 2,
"category": "표",
"item": "위쪽 제목 셀/① 색상(RGB:216,106,116)"
},
"38": {
"path": "boolean(//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]/BOLD)",
"path2": null,
"searchValue": null,
"value": true,
"points": 1,
"category": "표",
"item": "위쪽 제목 셀/② 진하게"
},
"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='2']/@BorderFill]/BOTTOMBORDER/@Type",
"searchValue": null,
"value": "DoubleSlim",
"points": 2,
"category": "표",
"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='2']/@BorderFill]/BOTTOMBORDER/@Width",
"searchValue": null,
"value": "0.5mm",
"points": 2,
"category": "표",
"item": "제목 셀 아래선/② 0.5mm"
},
"41": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": null,
"value": "굴림",
"points": 1,
"category": "표",
"item": "글자모양/① 글씨체 (굴림)"
},
"42": {
"path": "//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": null,
"value": 1000,
"points": 1,
"category": "표",
"item": "글자모양/② 크기 (10pt)"
},
"43": {
"path": "//PARASHAPE[@Id=//TABLE/ROW/descendant::P/@ParaShape]/@Align",
"path2": null,
"searchValue": null,
"value": "Center",
"points": 1,
"category": "표",
"item": "글자모양/③ 정렬 (가운데 정렬)"
},
"44": {
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[last()-1]//FIELDBEGIN[starts-with(@Command, '=AVG') and //TABLE[1]/ROW[last()]/CELL[last()]//FIELDBEGIN[starts-with(@Command, '=AVG')]])",
"path2": null,
"searchValue": null,
"value": true,
"points": 4,
"category": "표",
"item": "블록계산식/평균"
},
"45": {
"path": "boolean(//c:lineChart/c:grouping/@val='standard')",
"path2": null,
"searchValue": null,
"value": true,
"points": 2,
"category": "chart_xml",
"item": "① 종류 (묶은세로막대형)"
},
"46": {
"path": "//c:valAx/c:majorTickMark/@val",
"path2": null,
"searchValue": null,
"value": "out",
"points": 2,
"category": "chart_xml",
"item": "② 값 축 주 눈금선"
},
"47": {
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]/descendant::SIZE/@Width",
"path2": null,
"searchValue": null,
"value": 22677,
"points": 2,
"category": "차트",
"item": "③ 크기-너비 (80mm)"
},
"48": {
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]/descendant::SIZE/@Height",
"path2": null,
"searchValue": null,
"value": 25511,
"points": 2,
"category": "차트",
"item": "④ 크기-높이 (90mm)"
},
"49": {
"path": "//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='평균'])",
"path2": null,
"searchValue": null,
"value": true,
"points": 2,
"category": "chart_xml",
"item": "⑤ 차트 데이터(표에서 블록계산식을 제외한 나머지 값만 이용)"
},
"50": {
"path": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
"path2": null,
"searchValue": "교육기관별 참가인원",
"value": "굴림체",
"points": 1,
"category": "chart_xml",
"item": "제목 문구 (교육기관별 참가인원)/① 글씨체 (굴림체)"
},
"51": {
"path": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
"path2": null,
"searchValue": "교육기관별 참가인원",
"value": 1300,
"points": 1,
"category": "chart_xml",
"item": "제목 문구 (교육기관별 참가인원)/② 크기 (13pt)"
},
"52": {
"path": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@b",
"path2": null,
"searchValue": "교육기관별 참가인원",
"value": 1,
"points": 1,
"category": "chart_xml",
"item": "제목 문구 (교육기관별 참가인원)/③ 진하게"
},
"53": {
"path": "//c:catAx//a:ea/@typeface",
"path2": null,
"searchValue": null,
"value": "굴림",
"points": 1,
"category": "chart_xml",
"item": "X축/① 글꼴 (굴림)"
},
"54": {
"path": "//c:catAx//a:defRPr/@sz",
"path2": null,
"searchValue": null,
"value": 900,
"points": 1,
"category": "chart_xml",
"item": "X축/② 크기 (9pt)"
},
"55": {
"path": "//c:catAx//a:defRPr/@i",
"path2": null,
"searchValue": null,
"value": 1,
"points": 1,
"category": "chart_xml",
"item": "X축/③ 기울임"
},
"56": {
"path": "//c:valAx//a:ea/@typeface",
"path2": null,
"searchValue": null,
"value": "굴림",
"points": 1,
"category": "chart_xml",
"item": "Y축/① 글꼴 (굴림)"
},
"57": {
"path": "//c:valAx//a:defRPr/@sz",
"path2": null,
"searchValue": null,
"value": 900,
"points": 1,
"category": "chart_xml",
"item": "Y축/② 크기 (9pt)"
},
"58": {
"path": "//c:valAx//a:defRPr/@i",
"path2": null,
"searchValue": null,
"value": 1,
"points": 1,
"category": "chart_xml",
"item": "Y축/③ 기울임"
},
"59": {
"path": "//c:legend//a:ea/@typeface",
"path2": null,
"searchValue": null,
"value": "굴림",
"points": 1,
"category": "chart_xml",
"item": "범례/① 글꼴 (굴림)"
},
"60": {
"path": "//c:legend//a:defRPr/@sz",
"path2": null,
"searchValue": null,
"value": 900,
"points": 1,
"category": "chart_xml",
"item": "범례/② 크기 (9pt)"
},
"61": {
"path": "//c:legend//a:defRPr/@i",
"path2": null,
"searchValue": null,
"value": 1,
"points": 1,
"category": "chart_xml",
"item": "범례/③ 기울임"
}
}
}

View File

@@ -1,314 +0,0 @@
{
"0": {
"0": {
"path": "",
"path2": "",
"points": 0,
"category": "파일저장",
"item": "파일명 (수검번호.hwp/hwpx)"
},
"1": {
"path": "//PAGEMARGIN",
"value": {
"Bottom": 5669,
"Footer": 2834,
"Gutter": 0,
"Header": 2834,
"Left": 5669,
"Right": 5669,
"Top": 5669
},
"tolerance": 1,
"points": 4,
"category": "PageSetting",
"item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)"
},
"2": {
"path": "//STYLE[@Name='바탕글']",
"value": {
"FontName": "바탕",
"FontSize": "1000",
"Alignment": "Justify",
"LineSpacing": "160"
},
"points": 4,
"category": "BasicSetting",
"item": "글꼴 (바탕, 10pt), 양쪽정렬, 줄간격 (160%)"
},
"3": {
"path": "",
"searchValue": null,
"value": null,
"points": 40,
"category": "오타감점",
"item": "오타 1개 -1점 / 2503회부터 오타 1개 -1점으로 변경"
}
},
"1": {
"1": {
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
"searchValue": "한옥마을사생대회안내",
"value": "궁서",
"points": 1,
"category": "SingleAnswer",
"item": "문구 (한옥마을사생대회안내)/① 글씨체 (궁서)"
},
"2": {
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
"searchValue": "한옥마을사생대회안내",
"value": "100,170,92",
"points": 2,
"category": "Color",
"item": "문구 (한옥마을사생대회안내)/② 채우기 : 색상(RGB:100,170,92)"
},
"3": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
"searchValue": "한옥마을사생대회안내",
"value": "28346",
"points": 2,
"category": "SingleAnswer",
"item": "문구 (한옥마을사생대회안내)/③ 크기-너비 (100mm)"
},
"4": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
"searchValue": "한옥마을사생대회안내",
"value": "5669",
"points": 2,
"category": "SingleAnswer",
"item": "문구 (한옥마을사생대회안내)/④ 크기-높이 (20mm)"
},
"5": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
"searchValue": "한옥마을사생대회안내",
"value": "true",
"points": 2,
"category": "SingleAnswer",
"item": "문구 (한옥마을사생대회안내)/⑤ 위치 (글자처럼 취급)"
},
"6": {
"path": "//PARASHAPE[@Id=//TEXTART[@Text='{searchValue}']/ancestor::P/@ParaShape]/@Align",
"searchValue": "한옥마을사생대회안내",
"value": "Center",
"points": 2,
"category": "SingleAnswer",
"item": "문구 (한옥마을사생대회안내)/⑥ 정렬 (가운데 정렬)"
},
"7": {
"path": "//TEXTART[@Text='{searchValue}']",
"path2": null,
"searchValue": "한옥마을사생대회안내",
"value": true,
"points": 2,
"category": "Boolean",
"item": "문구 (한옥마을사생대회안내)/⑦ 글맵시모양 (육안확인)"
},
"8": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]/SHAPEOBJECT/SIZE",
"path2": null,
"searchValue": "자",
"value": {
"Height": 2800,
"Width": 2800
},
"tolerance": 200,
"points": 1,
"category": "TwoLineSize",
"item": "자/① 모양 (2줄)"
},
"9": {
"path": "//TEXT[CHAR[text()='{searchValue}']]/@CharShape",
"path2": null,
"searchValue": "자",
"value": "맑은 고딕",
"points": 1,
"category": "FontName",
"item": "자/② 글씨체 (맑은 고딕)"
},
"10": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//WINDOWBRUSH/@FaceColor",
"path2": null,
"searchValue": "자",
"value": "53,135,145",
"points": 2,
"category": "Color",
"item": "자/③ 면색 : 색상(RGB:53,135,145)"
},
"11": {
"path": "//RECTANGLE[.//CHAR[text()='{searchValue}']]//OUTSIDEMARGIN/@Right",
"path2": null,
"searchValue": "자",
"value": "850",
"points": 2,
"category": "SingleAnswer",
"item": "자/④ 본문과의 간격 : 3.0mm"
},
"12": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]",
"path2": null,
"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}')]",
"char1": "■",
"char2": "※",
"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": "SingleAnswer",
"item": "문구 (■ 행사안내 ■)/② 정렬 (가운데 정렬)"
},
"17": {
"path": "//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]",
"searchValue": "홈페이지(http://www.ihd.or.kr)에서 개별 신청, 선착순 접수",
"value": "ITALIC",
"points": 1,
"category": "FontAttribute",
"item": "문구 (홈페이지(http://www.ihd.or.kr)에서 개별 신청, 선착순 접수)/① 기울임"
},
"18": {
"path": "//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]",
"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": "내부적으로 내어쓰기는 음수값"
},
"20": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
"searchValue": "2025. 03. 22.",
"value": "1300",
"points": 1,
"category": "SingleAnswer",
"item": "문구 (2025. 03. 22.)/① 크기 (13pt)"
},
"21": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"searchValue": "2025. 03. 22.",
"value": "Center",
"points": 1,
"category": "SingleAnswer",
"item": "문구 (2025. 03. 22.)/② 정렬 (가운데 정렬)"
},
"22": {
"path": "//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape",
"searchValue": "한국고건축협회",
"value": "궁서",
"points": 1,
"category": "FontName",
"item": "문구 (한국고건축협회)/① 글씨체 (궁서)"
},
"23": {
"path": "//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/@Height",
"searchValue": "한국고건축협회",
"value": "2400",
"points": 1,
"category": "SingleAnswer",
"item": "문구 (한국고건축협회)/② 크기 (24pt)"
},
"24": {
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
"searchValue": "한국고건축협회",
"value": "Center",
"points": 1,
"category": "SingleAnswer",
"item": "문구 (한국고건축협회)/③ 정렬 (가운데 정렬)"
},
"25": {
"path": "//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape",
"searchValue": "DIAT",
"value": "굴림",
"points": 1,
"category": "FontName",
"item": "문구 (DIAT)/① 글꼴 (굴림)"
},
"26": {
"path": "//CHARSHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/@Height",
"searchValue": "DIAT",
"value": "900",
"points": 1,
"category": "SingleAnswer",
"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": "SingleAnswer",
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
},
"28": {
"path": "//PAGENUM/@FormatType",
"value": "HangulSyllable",
"points": 2,
"category": "SingleAnswer",
"item": "① 쪽 번호 매기기 (가,나,다 순으로)"
},
"29": {
"path": "//PAGENUM/@Pos",
"value": "BottomCenter",
"points": 2,
"category": "SingleAnswer",
"item": "② 가운데 아래"
},
"30": {
"path": "not(//PARASHAPE[@Id=//SECTION[1]/P/@ParaShape]/PARAMARGIN[@LineSpacing!='180'])",
"value": true,
"points": 2,
"category": "Boolean",
"item": "문제 1 줄간격 180% 설정",
"desc": "1페이지 문단의 줄간격이 180%가 아닌 문단이 있으면 False(감점)"
}
},
"2": {
"1": {
"path": "//SECTION[2]//PAGEBORDERFILL[@Type='Both' or @Type='Even']",
"path2": "boolean(//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@HeaderInside='true' and //BORDERFILL[@Id=//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@BorferFill]/*[contains(local-name(), 'BORDER')]/@Type='DoubleSlim')",
"value": true,
"points": 4,
"category": "PageBorder",
"item": "문제2 쪽테두리(이중 실선, 머리말 포함) 설정"
},
"61": {}
}
}

View File

@@ -1,863 +0,0 @@
{
"0": {
"0": {
"path": "",
"path2": "",
"points": 0,
"category": "파일저장",
"item": "파일명 (수검번호.hwp/hwpx)"
},
"1": {
"path": "boolean(//PAGEMARGIN[(@Bottom='5668'or @Bottom='5669') and (@Footer='2834' or @Footer='2835') and @Gutter='0' and (@Header='2834' or @Header='2835') and (@Left='5668' or @Left='5669') and (@Right='5668' or @Right='5669') and (@Top='5668' or @Top='5669')])",
"path2": null,
"searchValue": null,
"value": true,
"points": 4,
"category": "용지설정",
"item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)"
},
"2": {
"path": "boolean(//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE/FONTID/@Hangul]/@Name='바탕' and //CHARSHAPE/@Height='1000' and //PARASHAPE/PARAMARGIN/@LineSpacing='160' and //PARASHAPE/@Align='Justify')",
"path2": null,
"searchValue": null,
"value": true,
"points": 4,
"category": "기본설정",
"item": "글꼴 (바탕, 10pt), 양쪽정렬, 줄간격 (160%)"
},
"3": {
"path": "",
"path2": null,
"searchValue": null,
"value": null,
"points": 40,
"category": "오타감점",
"item": "오타 1개 -1점 / 2503회부터 오타 1개 -1점으로 변경"
}
},
"1": {
"1": {
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
"path2": null,
"searchValue": "한옥마을사생대회안내",
"value": "궁서",
"points": 1,
"category": "글맵시",
"item": "문구 (한옥마을사생대회안내)/① 글씨체 (궁서)"
},
"2": {
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
"path2": null,
"searchValue": "한옥마을사생대회안내",
"value": "6072932",
"points": 2,
"category": "글맵시",
"item": "문구 (한옥마을사생대회안내)/② 채우기 : 색상(RGB:100,170,92)"
},
"3": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
"path2": null,
"searchValue": "한옥마을사생대회안내",
"value": 28346,
"points": 2,
"category": "글맵시",
"item": "문구 (한옥마을사생대회안내)/③ 크기-너비 (100mm)"
},
"4": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
"path2": null,
"searchValue": "한옥마을사생대회안내",
"value": 5669,
"points": 2,
"category": "글맵시",
"item": "문구 (한옥마을사생대회안내)/④ 크기-높이 (20mm)"
},
"5": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
"path2": null,
"searchValue": "한옥마을사생대회안내",
"value": "true",
"points": 2,
"category": "글맵시",
"item": "문구 (한옥마을사생대회안내)/⑤ 위치 (글자처럼 취급)"
},
"6": {
"path": "//PARASHAPE[@Id=//TEXTART[@Text='{searchValue}']/ancestor::P/@ParaShape]/@Align",
"path2": null,
"searchValue": "한옥마을사생대회안내",
"value": "Center",
"points": 2,
"category": "글맵시",
"item": "문구 (한옥마을사생대회안내)/⑥ 정렬 (가운데 정렬)"
},
"7": {
"path": "boolean(//TEXTART[@Text='{searchValue}'])",
"path2": null,
"searchValue": "한옥마을사생대회안내",
"value": true,
"points": 2,
"category": "글맵시",
"item": "문구 (한옥마을사생대회안내)/⑦ 글맵시모양 (육안확인)"
},
"8": {
"path": "boolean(//RECTANGLE[.//CHAR[text()='자']][.//SIZE[(@Height >= 2600 and @Height <= 2800)and(@Width >= 2600 and @Width <= 2800)]])",
"path2": null,
"searchValue": null,
"value": true,
"points": 1,
"category": "문단첫글자장식",
"item": "자/① 모양 (2줄)"
},
"9": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TEXT[CHAR[text()='자']]/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": null,
"value": "맑은 고딕",
"points": 1,
"category": "문단첫글자장식",
"item": "자/② 글씨체 (맑은 고딕)"
},
"10": {
"path": "//RECTANGLE[.//CHAR[text()='자']]//WINDOWBRUSH/@FaceColor",
"path2": null,
"searchValue": null,
"value": "9537333",
"points": 2,
"category": "문단첫글자장식",
"item": "자/③ 면색 : 색상(RGB:105,155,55)"
},
"11": {
"path": "//RECTANGLE[.//CHAR[text()='자']]//OUTSIDEMARGIN/@Right",
"path2": null,
"searchValue": null,
"value": "850",
"points": 2,
"category": "문단첫글자장식",
"item": "자/④ 본문과의 간격 : 3.0mm"
},
"12": {
"path": "boolean(//CHARSHAPE[@Id=//CHAR[contains(text()[1],'{searchValue}')]/parent::TEXT/@CharShape][BOLD])",
"path2": null,
"searchValue": "한옥에 대한 체험과 교육이 준비된 사생대회",
"value": true,
"points": 2,
"category": "글꼴 속성",
"item": "문구 (한옥에 대한 체험과 교육이 준비된 사생대회)/① 기울임"
},
"13": {
"path": "boolean(//CHARSHAPE[@Id=//CHAR[contains(text()[1],'{searchValue}')]/parent::TEXT/@CharShape][UNDERLINE])",
"path2": null,
"searchValue": "한옥에 대한 체험과 교육이 준비된 사생대회",
"value": true,
"points": 2,
"category": "글꼴 속성",
"item": "문구 (한옥에 대한 체험과 교육이 준비된 사생대회)/② 밑줄"
},
"14": {
"path": "count(//CHAR[contains(text(),'■')]) + count(//CHAR[contains(text(),'※')])",
"path2": "string-length(//CHAR[contains(text(),'■')]) - string-length(translate(//CHAR[contains(text(),'■')], '■', '')) + string-length(//CHAR[contains(text(),'※')]) - string-length(translate(//CHAR[contains(text(),'※')], '※', ''))",
"searchValue": null,
"value": 3,
"points": 3,
"category": "특수문자",
"item": "① ■, ② ■, ③ ※"
},
"15": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "행사안내",
"value": "돋움",
"points": 1,
"category": "글꼴 속성",
"item": "문구 (■ 행사안내 ■)/① 글씨체 (돋움)"
},
"16": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"path2": null,
"searchValue": "행사안내",
"value": "Center",
"points": 1,
"category": "글꼴 속성",
"item": "문구 (■ 행사안내 ■)/② 정렬 (가운데 정렬)"
},
"17": {
"path": "boolean(//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape][ITALIC])",
"hyperlink_xpath": "boolean(//CHARSHAPE[@Id={charshape_id}][ITALIC])",
"hyperlink": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "홈페이지(http://www.ihd.or.kr)에서 개별 신청, 선착순 접수",
"value": true,
"points": 1,
"category": "Hyperlink",
"item": "문구 (홈페이지(http://www.ihd.or.kr)에서 개별 신청, 선착순 접수)/① 진하게"
},
"18": {
"path": "boolean(//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape][UNDERLINE])",
"hyperlink_xpath": "boolean(//CHARSHAPE[@Id={charshape_id}][UNDERLINE])",
"hyperlink": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "홈페이지(http://www.ihd.or.kr)에서 개별 신청, 선착순 접수",
"value": true,
"points": 1,
"category": "Hyperlink",
"item": "문구 (홈페이지(http://www.ihd.or.kr)에서 개별 신청, 선착순 접수)/② 밑줄"
},
"19": {
"path": "boolean(//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN/@Left=3000 and //PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN/@Indent=-2400)",
"path2": null,
"searchValue": "기타사항",
"value": true,
"points": 2,
"category": "문단모양",
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15pt), 내어쓰기 (12pt)"
},
"20": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": "2025. 03. 22.",
"value": 1300,
"points": 1,
"category": "글꼴 속성",
"item": "문구 (2025. 03. 22.)/① 크기 (13pt)"
},
"21": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"path2": null,
"searchValue": "2025. 03. 22.",
"value": "Center",
"points": 1,
"category": "글꼴 속성",
"item": "문구 (2025. 03. 22.)/② 정렬 (가운데 정렬)"
},
"22": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "한국고건축협회",
"value": "궁서",
"points": 1,
"category": "글꼴 속성",
"item": "문구 (한국고건축협회)/① 글씨체 (궁서)"
},
"23": {
"path": "//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": "한국고건축협회",
"value": 2400,
"points": 1,
"category": "글꼴 속성",
"item": "문구 (한국고건축협회)/② 크기 (24pt)"
},
"24": {
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
"path2": null,
"searchValue": "한국고건축협회",
"value": "Center",
"points": 1,
"category": "글꼴 속성",
"item": "문구 (한국고건축협회)/③ 정렬 (가운데 정렬)"
},
"25": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "DIAT",
"value": "굴림",
"points": 1,
"category": "머리말",
"item": "문구 (DIAT)/① 글꼴 (굴림)"
},
"26": {
"path": "//CHARSHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": "DIAT",
"value": 900,
"points": 1,
"category": "머리말",
"item": "문구 (DIAT)/② 크기 (9pt)"
},
"27": {
"path": "//PARASHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
"path2": null,
"searchValue": "DIAT",
"value": "Right",
"points": 1,
"category": "머리말",
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
},
"28": {
"path": "//PAGENUM/@FormatType",
"path2": null,
"searchValue": null,
"value": "HangulSyllable",
"points": 2,
"category": "쪽번호",
"item": "① 쪽 번호 매기기 (가,나,다 순으로)"
},
"29": {
"path": "//PAGENUM/@Pos",
"path2": null,
"searchValue": null,
"value": "BottomCenter",
"points": 2,
"category": "쪽번호",
"item": "② 가운데 아래"
},
"30": {
"path": "not(//PARASHAPE[@Id=//SECTION[1]/P/@ParaShape]/PARAMARGIN[@LineSpacing!='180'])",
"path2": null,
"searchValue": null,
"value": true,
"points": 2,
"category": "줄간격",
"item": "문제 1 줄간격 180% 설정"
}
},
"2": {
"1": {
"path": "boolean(//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@HeaderInside='true' and //BORDERFILL[@Id=//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@BorferFill]/*[contains(local-name(), 'BORDER')]/@Type='DoubleSlim')",
"path2": null,
"searchValue": null,
"value": true,
"points": 4,
"category": "쪽 테두리",
"item": "문제2 쪽테두리(이중 실선, 머리말 포함) 설정"
},
"2": {
"path": "count(//SECTION)>1",
"path2": null,
"searchValue": null,
"value": true,
"points": 3,
"category": "다단",
"item": "① 구역나누기"
},
"3": {
"path": "//COLDEF/@Count>1",
"path2": null,
"searchValue": null,
"value": true,
"points": 3,
"category": "다단",
"item": "② 다단 2단"
},
"4": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Width",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": 19842,
"points": 2,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/① 크기-너비 (70mm)"
},
"5": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Height",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": 3401,
"points": 2,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/② 크기-높이 (12mm)"
},
"6": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/descendant::LINESHAPE/@Style",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": "DoubleSlim",
"points": 2,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/③ 테두리 (이중실선(1.00mm))"
},
"7": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/@Ratio",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": 20,
"points": 2,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/④ 글상자 모서리 (반원)"
},
"8": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/descendant::WINDOWBRUSH/@FaceColor",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": "12704995",
"points": 2,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/⑤ 채우기 : 색상(RGB:53,135,145)"
},
"9": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": "true",
"points": 1,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/⑥ 글상자 위치 (글자처럼 취급)"
},
"10": {
"path": "//PARASHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::P[last()]/@ParaShape]/@Align",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": "Center",
"points": 1,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/⑦ 글상자 정렬 (가운데 정렬)"
},
"11": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": "한양견고딕",
"points": 1,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/⑧ 글씨체 (견고딕)"
},
"12": {
"path": "boolean(//CHARSHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/@Height='2000')",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": true,
"points": 1,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/⑨ 글씨크기 (20pt)"
},
"13": {
"path": "//PARASHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::P[1]/@ParaShape]/@Align",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": "Center",
"points": 1,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/⑩ 정렬 (가운데 정렬)"
},
"14": {
"path": "boolean(//PICTURE/descendant::SHAPECOMMENT[contains(text(),'{searchValue}')])",
"path2": null,
"searchValue": "원본 그림의 이름: 그림",
"value": true,
"points": 2,
"category": "그림삽입",
"item": "① 파일명 \"그림A.jpg\" 삽입"
},
"15": {
"path": "//IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]/preceding-sibling::SHAPEOBJECT/SIZE/@Width",
"path2": null,
"searchValue": null,
"value": 24094,
"points": 2,
"category": "그림삽입",
"item": "② 크기-너비 (85mm)"
},
"16": {
"path": "//IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]/preceding-sibling::SHAPEOBJECT/SIZE/@Height",
"path2": null,
"searchValue": null,
"value": 11338,
"points": 2,
"category": "그림삽입",
"item": "③ 크기-높이 (40mm)"
},
"17": {
"path": "//IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]/preceding-sibling::SHAPEOBJECT/POSITION/@HorzOffset",
"path2": null,
"searchValue": null,
"value": 0,
"points": 2,
"category": "그림삽입",
"item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0.0mm)"
},
"18": {
"path": "//IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]/preceding-sibling::SHAPEOBJECT/POSITION/@VertOffset",
"path2": null,
"searchValue": null,
"value": 6236,
"points": 2,
"category": "그림삽입",
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 22mm)"
},
"19": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "1. 한옥",
"value": "돋움",
"points": 1,
"category": "속성",
"item": "문구① (1. 한옥)/① 글씨체 (돋움)"
},
"20": {
"path": "//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": "1. 한옥",
"value": 1200,
"points": 1,
"category": "속성",
"item": "문구① (1. 한옥)/② 크기 (12pt)"
},
"21": {
"path": "boolean(//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/BOLD)",
"path2": null,
"searchValue": "1. 한옥",
"value": true,
"points": 1,
"category": "속성",
"item": "문구① (1. 한옥)/③ 진하게"
},
"22": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "2. 한옥의 형태와 구조",
"value": "돋움",
"points": 1,
"category": "속성",
"item": "문구② (2. 한옥의 형태와 구조)/① 글씨체 (돋움)"
},
"23": {
"path": "//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": "2. 한옥의 형태와 구조",
"value": 1200,
"points": 1,
"category": "속성",
"item": "문구② (2. 한옥의 형태와 구조)/② 크기 (12pt)"
},
"24": {
"path": "boolean(//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/BOLD)",
"path2": null,
"searchValue": "2. 한옥의 형태와 구조",
"value": true,
"points": 1,
"category": "속성",
"item": "문구② (2. 한옥의 형태와 구조)/③ 진하게"
},
"25": {
"path": "boolean(//CHAR[contains(text(),'기초')]/ancestor::TEXT/FOOTNOTE/descendant::CHAR)",
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('기초') + 1) = '기초']/following-sibling::FOOTNOTE/descendant::CHAR)",
"searchValue": null,
"value": true,
"points": 2,
"category": "각주",
"item": "문구 (기초)/① 각주 설정 및 문구 입력"
},
"26": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "기둥의 침하를 방지하기 위한 지반의 보강 및 개량",
"value": "한양중고딕",
"points": 1,
"category": "각주",
"item": "문구 (기초)/② 글씨체 (한양중고딕)"
},
"27": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": "기둥의 침하를 방지하기 위한 지반의 보강 및 개량",
"value": 900,
"points": 1,
"category": "각주",
"item": "문구 (기초)/③ 크기 (9pt)"
},
"28": {
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
"path2": null,
"searchValue": "기둥의 침하를 방지하기 위한 지반의 보강 및 개량",
"value": "CircledDigit",
"points": 2,
"category": "각주",
"item": "문구 (기초)/④ 각주 번호모양"
},
"29": {
"path": "boolean(//CHAR[contains(text(),'cornerstone')])",
"path2": null,
"ignoreWord": "cornerstone",
"value": true,
"points": 3,
"category": "영단어",
"item": "cornerstone/영단어 미입력, 대소문자/오타 시 전체 감점"
},
"30": {
"path": "(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",
"path2": null,
"searchValue": null,
"value": 10,
"points": 10,
"category": "한자",
"item": "① 한옥(韓屋), ② 사계절(四季節), ③거주(居住), ④ 구조(構造), ⑤ 골격(骨格)"
},
"31": {
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'철의추운')])",
"path2": null,
"searchValue": null,
"value": true,
"points": 3,
"category": "편집",
"item": "문구 (…더운 날씨와 겨울철이 추운…)/\"이\" → \"의\" 글자바꿈"
},
"32": {
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'돌과마루')])",
"path2": null,
"searchValue": null,
"value": true,
"points": 3,
"category": "편집",
"item": "문구 (…대비해 마루를 온돌과 갖고…)/\"마루를\" / \"온돌과\" 순서바꿈"
},
"33": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "교육기관별 참가인원",
"value": "궁서",
"points": 1,
"category": "표",
"item": "제목 문구 (교육기관별 참가인원)/① 글씨체 (궁서)"
},
"34": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": "교육기관별 참가인원",
"value": 1200,
"points": 1,
"category": "표",
"item": "제목 문구 (교육기관별 참가인원)/② 크기 (12pt)"
},
"35": {
"path": "boolean(//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/BOLD)",
"path2": null,
"searchValue": "교육기관별 참가인원",
"value": true,
"points": 1,
"category": "표",
"item": "제목 문구 (교육기관별 참가인원)/③ 진하게"
},
"36": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"path2": null,
"searchValue": "교육기관별 참가인원",
"value": "Center",
"points": 1,
"category": "표",
"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='2']/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
"searchValue": null,
"value": "7629528",
"points": 2,
"category": "표",
"item": "위쪽 제목 셀/① 색상(RGB:216,106,116)"
},
"38": {
"path": "boolean(//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]/BOLD)",
"path2": null,
"searchValue": null,
"value": true,
"points": 1,
"category": "표",
"item": "위쪽 제목 셀/② 진하게"
},
"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='2']/@BorderFill]/BOTTOMBORDER/@Type",
"searchValue": null,
"value": "DoubleSlim",
"points": 2,
"category": "표",
"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='2']/@BorderFill]/BOTTOMBORDER/@Width",
"searchValue": null,
"value": "0.5mm",
"points": 2,
"category": "표",
"item": "제목 셀 아래선/② 0.5mm"
},
"41": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": null,
"value": "굴림",
"points": 1,
"category": "표",
"item": "글자모양/① 글씨체 (굴림)"
},
"42": {
"path": "//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": null,
"value": 1000,
"points": 1,
"category": "표",
"item": "글자모양/② 크기 (10pt)"
},
"43": {
"path": "//PARASHAPE[@Id=//TABLE/ROW/descendant::P/@ParaShape]/@Align",
"path2": null,
"searchValue": null,
"value": "Center",
"points": 1,
"category": "표",
"item": "글자모양/③ 정렬 (가운데 정렬)"
},
"44": {
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[last()-1]//FIELDBEGIN[starts-with(@Command, '=AVG') and //TABLE[1]/ROW[last()]/CELL[last()]//FIELDBEGIN[starts-with(@Command, '=AVG')]])",
"path2": null,
"searchValue": null,
"value": true,
"points": 4,
"category": "표",
"item": "블록계산식/평균"
},
"45": {
"path": "boolean(//c:lineChart/c:grouping/@val='standard')",
"path2": null,
"searchValue": null,
"value": true,
"points": 2,
"category": "chart_xml",
"item": "① 종류 (묶은세로막대형)"
},
"46": {
"path": "//c:valAx/c:majorTickMark/@val",
"path2": null,
"searchValue": null,
"value": "out",
"points": 2,
"category": "chart_xml",
"item": "② 값 축 주 눈금선"
},
"47": {
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]/descendant::SIZE/@Width",
"path2": null,
"searchValue": null,
"value": 22677,
"points": 2,
"category": "차트",
"item": "③ 크기-너비 (80mm)"
},
"48": {
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]/descendant::SIZE/@Height",
"path2": null,
"searchValue": null,
"value": 25511,
"points": 2,
"category": "차트",
"item": "④ 크기-높이 (90mm)"
},
"49": {
"path": "//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='평균'])",
"path2": null,
"searchValue": null,
"value": true,
"points": 2,
"category": "chart_xml",
"item": "⑤ 차트 데이터(표에서 블록계산식을 제외한 나머지 값만 이용)"
},
"50": {
"path": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
"path2": null,
"searchValue": "교육기관별 참가인원",
"value": "굴림체",
"points": 1,
"category": "chart_xml",
"item": "제목 문구 (교육기관별 참가인원)/① 글씨체 (굴림체)"
},
"51": {
"path": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
"path2": null,
"searchValue": "교육기관별 참가인원",
"value": 1300,
"points": 1,
"category": "chart_xml",
"item": "제목 문구 (교육기관별 참가인원)/② 크기 (13pt)"
},
"52": {
"path": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@b",
"path2": null,
"searchValue": "교육기관별 참가인원",
"value": 1,
"points": 1,
"category": "chart_xml",
"item": "제목 문구 (교육기관별 참가인원)/③ 진하게"
},
"53": {
"path": "//c:catAx//a:ea/@typeface",
"path2": null,
"searchValue": null,
"value": "굴림",
"points": 1,
"category": "chart_xml",
"item": "X축/① 글꼴 (굴림)"
},
"54": {
"path": "//c:catAx//a:defRPr/@sz",
"path2": null,
"searchValue": null,
"value": 900,
"points": 1,
"category": "chart_xml",
"item": "X축/② 크기 (9pt)"
},
"55": {
"path": "//c:catAx//a:defRPr/@i",
"path2": null,
"searchValue": null,
"value": 1,
"points": 1,
"category": "chart_xml",
"item": "X축/③ 기울임"
},
"56": {
"path": "//c:valAx//a:ea/@typeface",
"path2": null,
"searchValue": null,
"value": "굴림",
"points": 1,
"category": "chart_xml",
"item": "Y축/① 글꼴 (굴림)"
},
"57": {
"path": "//c:valAx//a:defRPr/@sz",
"path2": null,
"searchValue": null,
"value": 900,
"points": 1,
"category": "chart_xml",
"item": "Y축/② 크기 (9pt)"
},
"58": {
"path": "//c:valAx//a:defRPr/@i",
"path2": null,
"searchValue": null,
"value": 1,
"points": 1,
"category": "chart_xml",
"item": "Y축/③ 기울임"
},
"59": {
"path": "//c:legend//a:ea/@typeface",
"path2": null,
"searchValue": null,
"value": "굴림",
"points": 1,
"category": "chart_xml",
"item": "범례/① 글꼴 (굴림)"
},
"60": {
"path": "//c:legend//a:defRPr/@sz",
"path2": null,
"searchValue": null,
"value": 900,
"points": 1,
"category": "chart_xml",
"item": "범례/② 크기 (9pt)"
},
"61": {
"path": "//c:legend//a:defRPr/@i",
"path2": null,
"searchValue": null,
"value": 1,
"points": 1,
"category": "chart_xml",
"item": "범례/③ 기울임"
}
}
}

View File

@@ -1,863 +0,0 @@
{
"0": {
"0": {
"path": "",
"path2": "",
"points": 0,
"category": "파일저장",
"item": "파일명 (수검번호.hwp/hwpx)"
},
"1": {
"path": "boolean(//PAGEMARGIN[(@Bottom='5668'or @Bottom='5669') and (@Footer='2834' or @Footer='2835') and @Gutter='0' and (@Header='2834' or @Header='2835') and (@Left='5668' or @Left='5669') and (@Right='5668' or @Right='5669') and (@Top='5668' or @Top='5669')])",
"path2": null,
"searchValue": null,
"value": true,
"points": 4,
"category": "용지설정",
"item": "A4용지, 왼쪽/오른쪽/위쪽/아래쪽 (각20mm), 머리말/꼬리말 (10mm), 제본(0mm)"
},
"2": {
"path": "boolean(//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE/FONTID/@Hangul]/@Name='바탕' and //CHARSHAPE/@Height='1000' and //PARASHAPE/PARAMARGIN/@LineSpacing='160' and //PARASHAPE/@Align='Justify')",
"path2": null,
"searchValue": null,
"value": true,
"points": 4,
"category": "기본설정",
"item": "글꼴 (바탕, 10pt), 양쪽정렬, 줄간격 (160%)"
},
"3": {
"path": "",
"path2": null,
"searchValue": null,
"value": null,
"points": 40,
"category": "오타감점",
"item": "오타 1개 -1점 / 2503회부터 오타 1개 -1점으로 변경"
}
},
"1": {
"1": {
"path": "//TEXTART[@Text='{searchValue}']/TEXTARTSHAPE/@FontName",
"path2": null,
"searchValue": "한옥마을사생대회안내",
"value": "궁서",
"points": 1,
"category": "글맵시",
"item": "문구 (한옥마을사생대회안내)/① 글씨체 (궁서)"
},
"2": {
"path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor",
"path2": null,
"searchValue": "한옥마을사생대회안내",
"value": "6072932",
"points": 2,
"category": "글맵시",
"item": "문구 (한옥마을사생대회안내)/② 채우기 : 색상(RGB:100,170,92)"
},
"3": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width",
"path2": null,
"searchValue": "한옥마을사생대회안내",
"value": 28346,
"points": 2,
"category": "글맵시",
"item": "문구 (한옥마을사생대회안내)/③ 크기-너비 (100mm)"
},
"4": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height",
"path2": null,
"searchValue": "한옥마을사생대회안내",
"value": 5669,
"points": 2,
"category": "글맵시",
"item": "문구 (한옥마을사생대회안내)/④ 크기-높이 (20mm)"
},
"5": {
"path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar",
"path2": null,
"searchValue": "한옥마을사생대회안내",
"value": "true",
"points": 2,
"category": "글맵시",
"item": "문구 (한옥마을사생대회안내)/⑤ 위치 (글자처럼 취급)"
},
"6": {
"path": "//PARASHAPE[@Id=//TEXTART[@Text='{searchValue}']/ancestor::P/@ParaShape]/@Align",
"path2": null,
"searchValue": "한옥마을사생대회안내",
"value": "Center",
"points": 2,
"category": "글맵시",
"item": "문구 (한옥마을사생대회안내)/⑥ 정렬 (가운데 정렬)"
},
"7": {
"path": "boolean(//TEXTART[@Text='{searchValue}'])",
"path2": null,
"searchValue": "한옥마을사생대회안내",
"value": true,
"points": 2,
"category": "글맵시",
"item": "문구 (한옥마을사생대회안내)/⑦ 글맵시모양 (육안확인)"
},
"8": {
"path": "boolean(//RECTANGLE[.//CHAR[text()='자']][.//SIZE[(@Height >= 2600 and @Height <= 2800)and(@Width >= 2600 and @Width <= 2800)]])",
"path2": null,
"searchValue": null,
"value": true,
"points": 1,
"category": "문단첫글자장식",
"item": "자/① 모양 (2줄)"
},
"9": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TEXT[CHAR[text()='자']]/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": null,
"value": "맑은 고딕",
"points": 1,
"category": "문단첫글자장식",
"item": "자/② 글씨체 (맑은 고딕)"
},
"10": {
"path": "//RECTANGLE[.//CHAR[text()='자']]//WINDOWBRUSH/@FaceColor",
"path2": null,
"searchValue": null,
"value": "9537333",
"points": 2,
"category": "문단첫글자장식",
"item": "자/③ 면색 : 색상(RGB:105,155,55)"
},
"11": {
"path": "//RECTANGLE[.//CHAR[text()='자']]//OUTSIDEMARGIN/@Right",
"path2": null,
"searchValue": null,
"value": "850",
"points": 2,
"category": "문단첫글자장식",
"item": "자/④ 본문과의 간격 : 3.0mm"
},
"12": {
"path": "boolean(//CHARSHAPE[@Id=//CHAR[contains(text()[1],'{searchValue}')]/parent::TEXT/@CharShape][BOLD])",
"path2": null,
"searchValue": "한옥에 대한 체험과 교육이 준비된 사생대회",
"value": true,
"points": 2,
"category": "글꼴 속성",
"item": "문구 (한옥에 대한 체험과 교육이 준비된 사생대회)/① 기울임"
},
"13": {
"path": "boolean(//CHARSHAPE[@Id=//CHAR[contains(text()[1],'{searchValue}')]/parent::TEXT/@CharShape][UNDERLINE])",
"path2": null,
"searchValue": "한옥에 대한 체험과 교육이 준비된 사생대회",
"value": true,
"points": 2,
"category": "글꼴 속성",
"item": "문구 (한옥에 대한 체험과 교육이 준비된 사생대회)/② 밑줄"
},
"14": {
"path": "count(//CHAR[contains(text(),'■')]) + count(//CHAR[contains(text(),'※')])",
"path2": "string-length(//CHAR[contains(text(),'■')]) - string-length(translate(//CHAR[contains(text(),'■')], '■', '')) + string-length(//CHAR[contains(text(),'※')]) - string-length(translate(//CHAR[contains(text(),'※')], '※', ''))",
"searchValue": null,
"value": 3,
"points": 3,
"category": "특수문자",
"item": "① ■, ② ■, ③ ※"
},
"15": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "행사안내",
"value": "돋움",
"points": 1,
"category": "글꼴 속성",
"item": "문구 (■ 행사안내 ■)/① 글씨체 (돋움)"
},
"16": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"path2": null,
"searchValue": "행사안내",
"value": "Center",
"points": 1,
"category": "글꼴 속성",
"item": "문구 (■ 행사안내 ■)/② 정렬 (가운데 정렬)"
},
"17": {
"path": "boolean(//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape][ITALIC])",
"hyperlink_xpath": "boolean(//CHARSHAPE[@Id={charshape_id}][ITALIC])",
"hyperlink": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "홈페이지(http://www.ihd.or.kr)에서 개별 신청, 선착순 접수",
"value": true,
"points": 1,
"category": "Hyperlink",
"item": "문구 (홈페이지(http://www.ihd.or.kr)에서 개별 신청, 선착순 접수)/① 진하게"
},
"18": {
"path": "boolean(//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape][UNDERLINE])",
"hyperlink_xpath": "boolean(//CHARSHAPE[@Id={charshape_id}][UNDERLINE])",
"hyperlink": "//P[.//FIELDBEGIN[@Type='Hyperlink']]",
"searchValue": "홈페이지(http://www.ihd.or.kr)에서 개별 신청, 선착순 접수",
"value": true,
"points": 1,
"category": "Hyperlink",
"item": "문구 (홈페이지(http://www.ihd.or.kr)에서 개별 신청, 선착순 접수)/② 밑줄"
},
"19": {
"path": "boolean(//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN/@Left=3000 and //PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN/@Indent=-2400)",
"path2": null,
"searchValue": "기타사항",
"value": true,
"points": 2,
"category": "문단모양",
"item": "문구 (※ 기타… 이하 문단)/왼쪽여백 (15pt), 내어쓰기 (12pt)"
},
"20": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": "2025. 03. 22.",
"value": 1300,
"points": 1,
"category": "글꼴 속성",
"item": "문구 (2025. 03. 22.)/① 크기 (13pt)"
},
"21": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"path2": null,
"searchValue": "2025. 03. 22.",
"value": "Center",
"points": 1,
"category": "글꼴 속성",
"item": "문구 (2025. 03. 22.)/② 정렬 (가운데 정렬)"
},
"22": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "한국고건축협회",
"value": "궁서",
"points": 1,
"category": "글꼴 속성",
"item": "문구 (한국고건축협회)/① 글씨체 (궁서)"
},
"23": {
"path": "//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": "한국고건축협회",
"value": 2400,
"points": 1,
"category": "글꼴 속성",
"item": "문구 (한국고건축협회)/② 크기 (24pt)"
},
"24": {
"path": "//PARASHAPE[@Id=//CHAR[text()='{searchValue}']/ancestor::P/@ParaShape]/@Align",
"path2": null,
"searchValue": "한국고건축협회",
"value": "Center",
"points": 1,
"category": "글꼴 속성",
"item": "문구 (한국고건축협회)/③ 정렬 (가운데 정렬)"
},
"25": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "DIAT",
"value": "굴림",
"points": 1,
"category": "머리말",
"item": "문구 (DIAT)/① 글꼴 (굴림)"
},
"26": {
"path": "//CHARSHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": "DIAT",
"value": 900,
"points": 1,
"category": "머리말",
"item": "문구 (DIAT)/② 크기 (9pt)"
},
"27": {
"path": "//PARASHAPE[@Id=//SECTION[1]//CHAR[text()='{searchValue}']/parent::TEXT/parent::P/@ParaShape]/@Align",
"path2": null,
"searchValue": "DIAT",
"value": "Right",
"points": 1,
"category": "머리말",
"item": "문구 (DIAT)/③ 정렬 (오른쪽 정렬)"
},
"28": {
"path": "//PAGENUM/@FormatType",
"path2": null,
"searchValue": null,
"value": "HangulSyllable",
"points": 2,
"category": "쪽번호",
"item": "① 쪽 번호 매기기 (가,나,다 순으로)"
},
"29": {
"path": "//PAGENUM/@Pos",
"path2": null,
"searchValue": null,
"value": "BottomCenter",
"points": 2,
"category": "쪽번호",
"item": "② 가운데 아래"
},
"30": {
"path": "not(//PARASHAPE[@Id=//SECTION[1]/P/@ParaShape]/PARAMARGIN[@LineSpacing!='180'])",
"path2": null,
"searchValue": null,
"value": true,
"points": 2,
"category": "줄간격",
"item": "문제 1 줄간격 180% 설정"
}
},
"2": {
"1": {
"path": "boolean(//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@HeaderInside='true' and //BORDERFILL[@Id=//PAGEBORDERFILL[@Type='Both' or @Type='Even']/@BorferFill]/*[contains(local-name(), 'BORDER')]/@Type='DoubleSlim')",
"path2": null,
"searchValue": null,
"value": true,
"points": 4,
"category": "쪽 테두리",
"item": "문제2 쪽테두리(이중 실선, 머리말 포함) 설정"
},
"2": {
"path": "count(//SECTION)>1",
"path2": null,
"searchValue": null,
"value": true,
"points": 3,
"category": "다단",
"item": "① 구역나누기"
},
"3": {
"path": "//COLDEF/@Count>1",
"path2": null,
"searchValue": null,
"value": true,
"points": 3,
"category": "다단",
"item": "② 다단 2단"
},
"4": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Width",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": 19842,
"points": 2,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/① 크기-너비 (70mm)"
},
"5": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/SIZE/@Height",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": 3401,
"points": 2,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/② 크기-높이 (12mm)"
},
"6": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/descendant::LINESHAPE/@Style",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": "DoubleSlim",
"points": 2,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/③ 테두리 (이중실선(1.00mm))"
},
"7": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/@Ratio",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": 20,
"points": 2,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/④ 글상자 모서리 (반원)"
},
"8": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/descendant::WINDOWBRUSH/@FaceColor",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": "12704995",
"points": 2,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/⑤ 채우기 : 색상(RGB:53,135,145)"
},
"9": {
"path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": "true",
"points": 1,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/⑥ 글상자 위치 (글자처럼 취급)"
},
"10": {
"path": "//PARASHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::P[last()]/@ParaShape]/@Align",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": "Center",
"points": 1,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/⑦ 글상자 정렬 (가운데 정렬)"
},
"11": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": "한양견고딕",
"points": 1,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/⑧ 글씨체 (견고딕)"
},
"12": {
"path": "boolean(//CHARSHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/@Height='2000')",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": true,
"points": 1,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/⑨ 글씨크기 (20pt)"
},
"13": {
"path": "//PARASHAPE[@Id=//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::P[1]/@ParaShape]/@Align",
"path2": null,
"searchValue": "한옥의 형태와 구조",
"value": "Center",
"points": 1,
"category": "글상자",
"item": "문구 (한옥의 형태와 구조)/⑩ 정렬 (가운데 정렬)"
},
"14": {
"path": "boolean(//PICTURE/descendant::SHAPECOMMENT[contains(text(),'{searchValue}')])",
"path2": null,
"searchValue": "원본 그림의 이름: 그림",
"value": true,
"points": 2,
"category": "그림삽입",
"item": "① 파일명 \"그림A.jpg\" 삽입"
},
"15": {
"path": "//IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]/preceding-sibling::SHAPEOBJECT/SIZE/@Width",
"path2": null,
"searchValue": null,
"value": 24094,
"points": 2,
"category": "그림삽입",
"item": "② 크기-너비 (85mm)"
},
"16": {
"path": "//IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]/preceding-sibling::SHAPEOBJECT/SIZE/@Height",
"path2": null,
"searchValue": null,
"value": 11338,
"points": 2,
"category": "그림삽입",
"item": "③ 크기-높이 (40mm)"
},
"17": {
"path": "//IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]/preceding-sibling::SHAPEOBJECT/POSITION/@HorzOffset",
"path2": null,
"searchValue": null,
"value": 0,
"points": 2,
"category": "그림삽입",
"item": "④ 위치 (어울림 : 가로-쪽의 왼쪽 0.0mm)"
},
"18": {
"path": "//IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]/preceding-sibling::SHAPEOBJECT/POSITION/@VertOffset",
"path2": null,
"searchValue": null,
"value": 6236,
"points": 2,
"category": "그림삽입",
"item": "⑤ 위치 (어울림 : 세로-쪽의 위 22mm)"
},
"19": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "1. 한옥",
"value": "돋움",
"points": 1,
"category": "속성",
"item": "문구① (1. 한옥)/① 글씨체 (돋움)"
},
"20": {
"path": "//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": "1. 한옥",
"value": 1200,
"points": 1,
"category": "속성",
"item": "문구① (1. 한옥)/② 크기 (12pt)"
},
"21": {
"path": "boolean(//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/BOLD)",
"path2": null,
"searchValue": "1. 한옥",
"value": true,
"points": 1,
"category": "속성",
"item": "문구① (1. 한옥)/③ 진하게"
},
"22": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "2. 한옥의 형태와 구조",
"value": "돋움",
"points": 1,
"category": "속성",
"item": "문구② (2. 한옥의 형태와 구조)/① 글씨체 (돋움)"
},
"23": {
"path": "//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": "2. 한옥의 형태와 구조",
"value": 1200,
"points": 1,
"category": "속성",
"item": "문구② (2. 한옥의 형태와 구조)/② 크기 (12pt)"
},
"24": {
"path": "boolean(//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape]/BOLD)",
"path2": null,
"searchValue": "2. 한옥의 형태와 구조",
"value": true,
"points": 1,
"category": "속성",
"item": "문구② (2. 한옥의 형태와 구조)/③ 진하게"
},
"25": {
"path": "boolean(//CHAR[contains(text(),'기초')]/ancestor::TEXT/FOOTNOTE/descendant::CHAR)",
"path2": "boolean(//CHAR[substring(., string-length(.) - string-length('기초') + 1) = '기초']/following-sibling::FOOTNOTE/descendant::CHAR)",
"searchValue": null,
"value": true,
"points": 2,
"category": "각주",
"item": "문구 (기초)/① 각주 설정 및 문구 입력"
},
"26": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "기둥의 침하를 방지하기 위한 지반의 보강 및 개량",
"value": "한양중고딕",
"points": 1,
"category": "각주",
"item": "문구 (기초)/② 글씨체 (한양중고딕)"
},
"27": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": "기둥의 침하를 방지하기 위한 지반의 보강 및 개량",
"value": 900,
"points": 1,
"category": "각주",
"item": "문구 (기초)/③ 크기 (9pt)"
},
"28": {
"path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type",
"path2": null,
"searchValue": "기둥의 침하를 방지하기 위한 지반의 보강 및 개량",
"value": "CircledDigit",
"points": 2,
"category": "각주",
"item": "문구 (기초)/④ 각주 번호모양"
},
"29": {
"path": "boolean(//CHAR[contains(text(),'cornerstone')])",
"path2": null,
"ignoreWord": "cornerstone",
"value": true,
"points": 3,
"category": "영단어",
"item": "cornerstone/영단어 미입력, 대소문자/오타 시 전체 감점"
},
"30": {
"path": "(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",
"path2": null,
"searchValue": null,
"value": 10,
"points": 10,
"category": "한자",
"item": "① 한옥(韓屋), ② 사계절(四季節), ③거주(居住), ④ 구조(構造), ⑤ 골격(骨格)"
},
"31": {
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'철의추운')])",
"path2": null,
"searchValue": null,
"value": true,
"points": 3,
"category": "편집",
"item": "문구 (…더운 날씨와 겨울철이 추운…)/\"이\" → \"의\" 글자바꿈"
},
"32": {
"path": "boolean(//CHAR[contains(translate(text(), ' ', ''),'돌과마루')])",
"path2": null,
"searchValue": null,
"value": true,
"points": 3,
"category": "편집",
"item": "문구 (…대비해 마루를 온돌과 갖고…)/\"마루를\" / \"온돌과\" 순서바꿈"
},
"33": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": "교육기관별 참가인원",
"value": "궁서",
"points": 1,
"category": "표",
"item": "제목 문구 (교육기관별 참가인원)/① 글씨체 (궁서)"
},
"34": {
"path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": "교육기관별 참가인원",
"value": 1200,
"points": 1,
"category": "표",
"item": "제목 문구 (교육기관별 참가인원)/② 크기 (12pt)"
},
"35": {
"path": "boolean(//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/BOLD)",
"path2": null,
"searchValue": "교육기관별 참가인원",
"value": true,
"points": 1,
"category": "표",
"item": "제목 문구 (교육기관별 참가인원)/③ 진하게"
},
"36": {
"path": "//PARASHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/ancestor::P/@ParaShape]/@Align",
"path2": null,
"searchValue": "교육기관별 참가인원",
"value": "Center",
"points": 1,
"category": "표",
"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='2']/@BorderFill]/FILLBRUSH/WINDOWBRUSH/@FaceColor",
"searchValue": null,
"value": "7629528",
"points": 2,
"category": "표",
"item": "위쪽 제목 셀/① 색상(RGB:216,106,116)"
},
"38": {
"path": "boolean(//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]/BOLD)",
"path2": null,
"searchValue": null,
"value": true,
"points": 1,
"category": "표",
"item": "위쪽 제목 셀/② 진하게"
},
"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='2']/@BorderFill]/BOTTOMBORDER/@Type",
"searchValue": null,
"value": "DoubleSlim",
"points": 2,
"category": "표",
"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='2']/@BorderFill]/BOTTOMBORDER/@Width",
"searchValue": null,
"value": "0.5mm",
"points": 2,
"category": "표",
"item": "제목 셀 아래선/② 0.5mm"
},
"41": {
"path": "//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/FONTID/@Hangul]/@Name",
"path2": null,
"searchValue": null,
"value": "굴림",
"points": 1,
"category": "표",
"item": "글자모양/① 글씨체 (굴림)"
},
"42": {
"path": "//CHARSHAPE[@Id=//TABLE/ROW/descendant::TEXT/@CharShape]/@Height",
"path2": null,
"searchValue": null,
"value": 1000,
"points": 1,
"category": "표",
"item": "글자모양/② 크기 (10pt)"
},
"43": {
"path": "//PARASHAPE[@Id=//TABLE/ROW/descendant::P/@ParaShape]/@Align",
"path2": null,
"searchValue": null,
"value": "Center",
"points": 1,
"category": "표",
"item": "글자모양/③ 정렬 (가운데 정렬)"
},
"44": {
"path": "boolean(//TABLE[1]/ROW[last()]/CELL[last()-1]//FIELDBEGIN[starts-with(@Command, '=AVG') and //TABLE[1]/ROW[last()]/CELL[last()]//FIELDBEGIN[starts-with(@Command, '=AVG')]])",
"path2": null,
"searchValue": null,
"value": true,
"points": 4,
"category": "표",
"item": "블록계산식/평균"
},
"45": {
"path": "boolean(//c:lineChart/c:grouping/@val='standard')",
"path2": null,
"searchValue": null,
"value": true,
"points": 2,
"category": "chart_xml",
"item": "① 종류 (묶은세로막대형)"
},
"46": {
"path": "//c:valAx/c:majorTickMark/@val",
"path2": null,
"searchValue": null,
"value": "out",
"points": 2,
"category": "chart_xml",
"item": "② 값 축 주 눈금선"
},
"47": {
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]/descendant::SIZE/@Width",
"path2": null,
"searchValue": null,
"value": 22677,
"points": 2,
"category": "차트",
"item": "③ 크기-너비 (80mm)"
},
"48": {
"path": "//OLE[@BinItem=//BINITEM[@Format='OLE']/@BinData]/descendant::SIZE/@Height",
"path2": null,
"searchValue": null,
"value": 25511,
"points": 2,
"category": "차트",
"item": "④ 크기-높이 (90mm)"
},
"49": {
"path": "//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='평균'])",
"path2": null,
"searchValue": null,
"value": true,
"points": 2,
"category": "chart_xml",
"item": "⑤ 차트 데이터(표에서 블록계산식을 제외한 나머지 값만 이용)"
},
"50": {
"path": "//a:t[text()='{searchValue}']/ancestor::a:r//a:ea/@typeface",
"path2": null,
"searchValue": "교육기관별 참가인원",
"value": "굴림체",
"points": 1,
"category": "chart_xml",
"item": "제목 문구 (교육기관별 참가인원)/① 글씨체 (굴림체)"
},
"51": {
"path": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@sz",
"path2": null,
"searchValue": "교육기관별 참가인원",
"value": 1300,
"points": 1,
"category": "chart_xml",
"item": "제목 문구 (교육기관별 참가인원)/② 크기 (13pt)"
},
"52": {
"path": "//a:t[text()='{searchValue}']/ancestor::a:r/a:rPr/@b",
"path2": null,
"searchValue": "교육기관별 참가인원",
"value": 1,
"points": 1,
"category": "chart_xml",
"item": "제목 문구 (교육기관별 참가인원)/③ 진하게"
},
"53": {
"path": "//c:catAx//a:ea/@typeface",
"path2": null,
"searchValue": null,
"value": "굴림",
"points": 1,
"category": "chart_xml",
"item": "X축/① 글꼴 (굴림)"
},
"54": {
"path": "//c:catAx//a:defRPr/@sz",
"path2": null,
"searchValue": null,
"value": 900,
"points": 1,
"category": "chart_xml",
"item": "X축/② 크기 (9pt)"
},
"55": {
"path": "//c:catAx//a:defRPr/@i",
"path2": null,
"searchValue": null,
"value": 1,
"points": 1,
"category": "chart_xml",
"item": "X축/③ 기울임"
},
"56": {
"path": "//c:valAx//a:ea/@typeface",
"path2": null,
"searchValue": null,
"value": "굴림",
"points": 1,
"category": "chart_xml",
"item": "Y축/① 글꼴 (굴림)"
},
"57": {
"path": "//c:valAx//a:defRPr/@sz",
"path2": null,
"searchValue": null,
"value": 900,
"points": 1,
"category": "chart_xml",
"item": "Y축/② 크기 (9pt)"
},
"58": {
"path": "//c:valAx//a:defRPr/@i",
"path2": null,
"searchValue": null,
"value": 1,
"points": 1,
"category": "chart_xml",
"item": "Y축/③ 기울임"
},
"59": {
"path": "//c:legend//a:ea/@typeface",
"path2": null,
"searchValue": null,
"value": "굴림",
"points": 1,
"category": "chart_xml",
"item": "범례/① 글꼴 (굴림)"
},
"60": {
"path": "//c:legend//a:defRPr/@sz",
"path2": null,
"searchValue": null,
"value": 900,
"points": 1,
"category": "chart_xml",
"item": "범례/② 크기 (9pt)"
},
"61": {
"path": "//c:legend//a:defRPr/@i",
"path2": null,
"searchValue": null,
"value": 1,
"points": 1,
"category": "chart_xml",
"item": "범례/③ 기울임"
}
}
}

View File

@@ -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\r\n - 묶은가로막대형 //c:barChart[c:barDir[@val='bar']]\r\n - 묶은세로막대형 //c:barChart[c:barDir[@val='col']]\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":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"}]

View File

@@ -43,7 +43,7 @@ class XMLScorer:
return pt return pt
# 유사한 텍스트 찾기 # 유사한 텍스트 찾기
def find_similar_text(self, root, chart_tree, target_text, threshold=0.7): def find_similar_text(self, root, target_text, xml_type, threshold=0.7):
""" """
전체 문서에서 유사한 텍스트를 찾아 반환 전체 문서에서 유사한 텍스트를 찾아 반환
@@ -64,10 +64,11 @@ class XMLScorer:
'c': 'http://schemas.openxmlformats.org/drawingml/2006/chart' 'c': 'http://schemas.openxmlformats.org/drawingml/2006/chart'
} }
hwp_text = root.xpath(f"//BODY//text() | //TEXTART/@Text") if xml_type == "hml":
chart_text = chart_tree.xpath(f"//c:chart//text()", namespaces=namespaces) if chart_tree is not None else [] all_text = root.xpath(f"//BODY//text() | //TEXTART/@Text") if root is not None else []
all_text = hwp_text + chart_text if xml_type == "chart":
all_text = root.xpath(f"//c:chart//text()", namespaces=namespaces) if root is not None else []
# 유사도 비교 # 유사도 비교
max_score = 0 max_score = 0
@@ -163,10 +164,18 @@ class XMLScorer:
# search_value가 있는 경우 # search_value가 있는 경우
if search_value is not None: if search_value is not None:
# search_value를 포함하는 텍스트 찾기 # # search_value를 포함하는 텍스트 찾기
similar_text = self.find_similar_text(root, chart_tree, search_value) # similar_text = self.find_similar_text(root, chart_tree, search_value)
# xpath = xpath.replace('{searchValue}', similar_text) if xpath else ""
# xpath2 = xpath2.replace('{searchValue}', similar_text) if xpath2 else ""
# chart_xpath = chart_xpath.replace('{searchValue}', similar_text) if chart_xpath else ""
if xpath or xpath2:
similar_text = self.find_similar_text(root, search_value, xml_type="hml")
xpath = xpath.replace('{searchValue}', similar_text) if xpath else "" xpath = xpath.replace('{searchValue}', similar_text) if xpath else ""
xpath2 = xpath2.replace('{searchValue}', similar_text) if xpath2 else "" xpath2 = xpath2.replace('{searchValue}', similar_text) if xpath2 else ""
if chart_xpath:
similar_text = self.find_similar_text(chart_tree, search_value, xml_type="chart")
chart_xpath = chart_xpath.replace('{searchValue}', similar_text) if chart_xpath else "" chart_xpath = chart_xpath.replace('{searchValue}', similar_text) if chart_xpath else ""
if option: if option:
@@ -207,39 +216,40 @@ class XMLScorer:
break break
elif (category or "") == "BasicSetting": elif (category or "") == "BasicSetting":
# 바탕글(기본설정) 요소 # FontName, FontSize, Alignment, LineSpacing
normal_style = root.xpath("//STYLE[@Name='바탕글']") # 해당 속성의 요소(텍스트)가 문서 내부에 존재하면 정답처리
# CHARSHAPE, PARASHAPE, FONTID 속성값 추출 matches = set()
charshape_id = normal_style[0].get("CharShape")
parashape_id = normal_style[0].get("ParaShape")
font_id = root.xpath(f"//CHARSHAPE[@Id='{charshape_id}']/FONTID/@Hangul")
# 필요한 속성값을 이용하여 정답과 비교 # P 태그 순회
font_name = root.xpath(f"//FONT[@Id='{font_id[0]}']/@Name") for p_tag in root.xpath(".//P"):
font_size = root.xpath(f"//CHARSHAPE[@Id='{charshape_id}']/@Height") parashape = p_tag.get("ParaShape")
alignment = root.xpath(f"//PARASHAPE[@Id='{parashape_id}']/@Align")
line_spacing = root.xpath(f"//PARASHAPE[@Id='{parashape_id}']/PARAMARGIN/@LineSpacing") for text_tag in p_tag.xpath(".//TEXT"):
charshape = text_tag.get("CharShape")
if parashape is not None and charshape is not None:
matches.add((parashape, charshape))
# 출력
for para, char in matches:
# print(f"ParaShape = {para}, CharShape = {char}")
font_id = root.xpath(f"//CHARSHAPE[@Id='{char}']/FONTID/@Hangul")
font_name = root.xpath(f"//FONTFACE[@Lang='Hangul']/FONT[@Id='{font_id[0]}']/@Name")
# 수험자 답안
user_answer = { user_answer = {
######################################################################## 'FontName': font_name[0],
# 정답은 글꼴이 [바탕]이어야 하지만 대부분 설정하지 않고 'FontSize': root.xpath(f"//CHARSHAPE[@Id='{char}']/@Height")[0],
# 기본 [함초롱바탕]으로 두는 경우가 많아 'Alignment': root.xpath(f"//PARASHAPE[@Id='{para}']/@Align")[0],
# 폰트명을 정답과 비교하면 감점이 많이 발생함 'LineSpacing': root.xpath(f"//PARASHAPE[@Id='{para}']/PARAMARGIN/@LineSpacing")[0]
#
# 수험자가 지정한 폰트명과 정답을 비교할때 'FontName': font_name[0], 적용
# 폰트명은 상관없이 정답을 비교하고자 할때 'FontName': "바탕", 적용
########################################################################
# 'FontName': font_name[0],
'FontName': "바탕",
'FontSize': font_size[0],
'Alignment': alignment[0],
'LineSpacing': line_spacing[0]
} }
# 정답과 수험자 답안 비교
self.evaluate_answer(scoring, user_answer, right_answer, points, method="equal") self.evaluate_answer(scoring, user_answer, right_answer, points, method="equal")
if scoring['points'] > 0:
break
# 1, 2페이지 모두 정답이어야 함 # 1, 2페이지 모두 정답이어야 함
elif (category or "") == "PageNumber": elif (category or "") == "PageNumber":
items = root.xpath(xpath) if xpath else [] items = root.xpath(xpath) if xpath else []
@@ -294,7 +304,13 @@ class XMLScorer:
# 사용자 입력값이 mm단위인 경우 # 사용자 입력값이 mm단위인 경우
elif (category or "") == "mmSize": elif (category or "") == "mmSize":
items = root.xpath(xpath) items = root.xpath(xpath)
error_range = criterion.get('tolerance', 0)
# 오차범위 설정
# 한글 프로그램 내부에서 드물게 mm단위는 0mm이지만 pt단위는 1pt로 저장되는 경우가 있음
#
# XML파일의 요소 옵션값은 내부적으로 1=0.01pt
# 이 경우를 대비하여 tolerance를 10으로 설정 (1pt=약0.04mm 만큼의 오차 혀용)
error_range = criterion.get('tolerance', 10)
for item in items: for item in items:
user_answer = float(item) user_answer = float(item)
@@ -304,7 +320,7 @@ class XMLScorer:
float_string = right_answer.strip().replace("mm", "") float_string = right_answer.strip().replace("mm", "")
right_answer = self.convert_mm_to_pt(float(float_string)) right_answer = self.convert_mm_to_pt(float(float_string))
self.evaluate_answer(scoring, user_answer, right_answer, points, method="tolerance") self.evaluate_answer(scoring, user_answer, right_answer, points, method="tolerance", tolerance=error_range)
if scoring['points'] > 0: if scoring['points'] > 0:
break break
@@ -367,7 +383,7 @@ class XMLScorer:
# 폰트명 # 폰트명
elif (category or "") == "FontName": elif (category or "") == "FontName":
charshape_list = root.xpath(xpath) charshape_list = root.xpath(xpath)
if not charshape_id: if not charshape_list:
user_answer = "" user_answer = ""
else: else:
for charshape_id in charshape_list: for charshape_id in charshape_list:
@@ -618,17 +634,20 @@ class XMLScorer:
elif (category or "") == "ChartType": elif (category or "") == "ChartType":
chart_type_list = { chart_type_list = {
'꺾은선형': "//c:lineChart", '꺾은선형': "//c:lineChart[c:grouping[@val='standard']]",
'가로막대형': "//c:barChart[c:barDir[@val='bar']]", '가로막대형': "//c:barChart[c:barDir[@val='bar'] and c:grouping[@val='clustered']]",
'세로막대형': "//c:barChart[c:barDir[@val='col']]", '세로막대형': "//c:barChart[c:barDir[@val='col'] and c:grouping[@val='clustered']]",
'원형': "//c:pieChart", '원형': "//c:pieChart",
'분산형': "//c:scatterChart" '분산형': "//c:scatterChart"
} }
chart_type = criterion.get('chart_type').replace(" ","") chart_type = criterion.get('chart_type').replace(" ","")
if "묶은" in chart_type: if "묶은" in chart_type:
chart_type = chart_type.replace("묶은", "") chart_type = chart_type.replace("묶은", "")
# 입력한 chart_type에 해당하는 xpath를 가져옴
chart_xpath = chart_type_list[chart_type] chart_xpath = chart_type_list[chart_type]
# xpath를 사용하여 차트 요소가 있는지 확인
user_answer = bool(chart_tree.xpath(chart_xpath, namespaces=namespaces)) user_answer = bool(chart_tree.xpath(chart_xpath, namespaces=namespaces))
self.evaluate_answer(scoring, user_answer, right_answer, points) self.evaluate_answer(scoring, user_answer, right_answer, points)
@@ -940,8 +959,8 @@ def main():
# 시험회차 및 유형 # 시험회차 및 유형
exam_round = '2504' exam_round = '2504'
exam_types = [ exam_types = [
'A', # 'A',
# 'B', 'B',
# 'C', # 'C',
] ]
test_mode = False test_mode = False

View File

@@ -1 +1 @@
[{"kind":2,"language":"xpath","value":"//a:t[text()='클라우드 보안투자']/ancestor::a:r//a:ea/@typeface"}] [{"kind":2,"language":"xpath","value":"//a:t[text()='클라우드 보안투자']/ancestor::a:r//a:ea/@typeface"},{"kind":2,"language":"xpath","value":"boolean(//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE/FONTID/@Hangul]/@Name='바탕' and //CHARSHAPE/@Height='1000' and //PARASHAPE/PARAMARGIN/@LineSpacing='160' and //PARASHAPE/@Align='Justify')"},{"kind":2,"language":"xpath","value":"//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE/FONTID/@Hangul]/@Name='바탕'"},{"kind":2,"language":"xpath","value":"//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE/FONTID/@Hangul]/@Name='바탕' and //CHARSHAPE/@Height='1000' and //PARASHAPE/PARAMARGIN/@LineSpacing='160' and //PARASHAPE/@Align='Justify')"},{"kind":2,"language":"xpath","value":"//FONTFACE[@Lang='Hangul']/FONT/@Name"},{"kind":2,"language":"xpath","value":"//CHARSHAPE/@Height"},{"kind":2,"language":"xpath","value":"//PARASHAPE/PARAMARGIN/@LineSpacing"},{"kind":2,"language":"xpath","value":"//PARASHAPE/@Align"},{"kind":2,"language":"xpath","value":"//P[TEXT]/@ParaShape"}]

Binary file not shown.

View File

@@ -4,9 +4,10 @@
### 한글문서(.hwpx)에 수험자가 차트 텍스트 속성을 변경해서 저장했지만 차트 xml파일에 옵션이 적용되지 않는 경우가 있음 ### 한글문서(.hwpx)에 수험자가 차트 텍스트 속성을 변경해서 저장했지만 차트 xml파일에 옵션이 적용되지 않는 경우가 있음
1. 정상적으로 텍스트 속성이 적용되는 수험자의 차트를 복사 #### (2-50) 문항 차트 제목 굵게 속성만
2. 텍스트 속성이 적용되지 않는 수험자의 한글 파일에 차트를 붙여넣을 경우
3. 정상적으로 XML파일에 텍스트 속성이 적용
- 이로 미루어 볼 때, 차트객체의 문제일 것으로 판단되지만 해결 방안은 없음 1. 정상적으로 텍스트 속성이 적용되는 수험자의 차트를 복사
2. 텍스트 속성이 적용되지 않는 수험자의 한글 파일에 차트를 붙여넣을 경우
3. 정상적으로 XML파일에 텍스트 속성이 적용
- 이로 미루어 볼 때, 차트객체의 문제일 것으로 판단되지만 해결 방안은 현재 없음