diff --git a/DIW_2503A_test.json b/DIW_2503A_test.json index 82b6ab7..71ab71e 100644 --- a/DIW_2503A_test.json +++ b/DIW_2503A_test.json @@ -143,7 +143,7 @@ "item": "지/④ 본문과의 간격 : 3.0mm" }, "12": { - "path": "boolean(//CHARSHAPE[@Id=//CHAR[contains(text()[1],'{searchValue}')]/parent::TEXT/@CharShape][ITALIC])", + "path": "//CHARSHAPE[@Id=//CHAR[contains(text()[1],'{전 세계적으로 차량의 수는 약 13억 대가 있고 국내는 약 2,500만 대}')]/parent::TEXT/@CharShape]", "path2": null, "searchValue": "전 세계적으로 차량의 수는 약 13억 대가 있고 국내는 약 2,500만 대", "value": true, diff --git a/DIW_2503B.json b/DIW_2503B.json deleted file mode 100644 index ec870c2..0000000 --- a/DIW_2503B.json +++ /dev/null @@ -1,861 +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": "건강100세프로젝트행사", - "value": "궁서", - "points": 1, - "category": "글맵시", - "item": "문구 (건강100세프로젝트행사)/① 글씨체 (궁서)" - }, - "2": { - "path": "//TEXTART[@Text='{searchValue}']/descendant::WINDOWBRUSH/@FaceColor", - "path2": null, - "searchValue": "건강100세프로젝트행사", - "value": "3644265", - "points": 2, - "category": "글맵시", - "item": "문구 (건강100세프로젝트행사)/② 채우기 : 색상(RGB:105,155,55)" - }, - "3": { - "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Width", - "path2": null, - "searchValue": "건강100세프로젝트행사", - "value": 34015, - "points": 2, - "category": "글맵시", - "item": "문구 (건강100세프로젝트행사)/③ 크기-너비 (120mm)" - }, - "4": { - "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/SIZE/@Height", - "path2": null, - "searchValue": "건강100세프로젝트행사", - "value": 5669, - "points": 2, - "category": "글맵시", - "item": "문구 (건강100세프로젝트행사)/④ 크기-높이 (20mm)" - }, - "5": { - "path": "//TEXTART[@Text='{searchValue}']/SHAPEOBJECT/POSITION/@TreatAsChar", - "path2": null, - "searchValue": "건강100세프로젝트행사", - "value": "true", - "points": 2, - "category": "글맵시", - "item": "문구 (건강100세프로젝트행사)/⑤ 위치 (글자처럼 취급)" - }, - "6": { - "path": "//PARASHAPE[@Id=//TEXTART[@Text='{searchValue}']/ancestor::P/@ParaShape]/@Align", - "path2": null, - "searchValue": "건강100세프로젝트행사", - "value": "Center", - "points": 2, - "category": "글맵시", - "item": "문구 (건강100세프로젝트행사)/⑥ 정렬 (가운데 정렬)" - }, - "7": { - "path": "boolean(//TEXTART[@Text='{searchValue}'])", - "path2": null, - "searchValue": "건강100세프로젝트행사", - "value": true, - "points": 2, - "category": "글맵시", - "item": "문구 (건강100세프로젝트행사)/⑦ 글맵시모양 (육안확인)" - }, - "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": "10966730", - "points": 2, - "category": "문단첫글자장식", - "item": "인/③ 면색 : 색상(RGB:202,86,167)" - }, - "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": "2023년 경제협력개발기구 보건통계 기준 한국의 기대수명은 83.6년", - "value": true, - "points": 2, - "category": "글꼴 속성", - "item": "문구 (2023년 경제협력개발기구 보건통계 기준 한국의 기대수명은 83.6년)/① 진하게" - }, - "13": { - "path": "boolean(//CHARSHAPE[@Id=//CHAR[contains(text()[1],'{searchValue}')]/parent::TEXT/@CharShape][UNDERLINE])", - "path2": null, - "searchValue": "2023년 경제협력개발기구 보건통계 기준 한국의 기대수명은 83.6년", - "value": true, - "points": 2, - "category": "글꼴 속성", - "item": "문구 (2023년 경제협력개발기구 보건통계 기준 한국의 기대수명은 83.6년)/② 밑줄" - }, - "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][BOLD])", - "path2": null, - "searchValue": "2025. 03. 30.(일) 18:00까지 온라인으로 등록(http://www.ihd.or.kr)", - "value": true, - "points": 1, - "category": "글꼴 속성", - "item": "문구 (2025. 03. 30.(일) 18:00까지 온라인으로 등록(http://www.ihd.or.kr))/① 진하게" - }, - "18": { - "path": "boolean(//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape][ITALIC])", - "path2": null, - "searchValue": "2025. 03. 30.(일) 18:00까지 온라인으로 등록(http://www.ihd.or.kr)", - "value": true, - "points": 1, - "category": "글꼴 속성", - "item": "문구 (2025. 03. 30.(일) 18:00까지 온라인으로 등록(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": "LatinCapital", - "points": 2, - "category": "쪽번호", - "item": "① 쪽 번호 매기기 (A,B,C 순으로)" - }, - "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": 3402, - "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": "2862825", - "points": 2, - "category": "글상자", - "item": "문구 (비만과 비만치료)/⑤ 채우기 : 색상(RGB:233,174,43)" - }, - "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='2300')", - "path2": null, - "searchValue": "비만과 비만치료", - "value": true, - "points": 1, - "category": "글상자", - "item": "문구 (비만과 비만치료)/⑨ 글씨크기 (23pt)" - }, - "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": "① 파일명 \"그림B.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": 6520, - "points": 2, - "category": "그림삽입", - "item": "⑤ 위치 (어울림 : 세로-쪽의 위 23mm)" - }, - "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": "비약물로 어려운 체질량지수 25 이상인 경우 시행", - "value": "돋움", - "points": 1, - "category": "각주", - "item": "문구 (비만 약물치료)/② 글씨체 (돋움)" - }, - "27": { - "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height", - "path2": null, - "searchValue": "비약물로 어려운 체질량지수 25 이상인 경우 시행", - "value": 900, - "points": 1, - "category": "각주", - "item": "문구 (비만 약물치료)/③ 크기 (9pt)" - }, - "28": { - "path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type", - "path2": null, - "searchValue": "비약물로 어려운 체질량지수 25 이상인 경우 시행", - "value": "LatinSmall", - "points": 2, - "category": "각주", - "item": "문구 (비만 약물치료)/④ 각주 번호모양" - }, - "29": { - "path": "boolean(//CHAR[contains(text(),'Obesity')])", - "path2": null, - "searchValue": null, - "value": true, - "points": 3, - "category": "영단어", - "item": "Obesity/영단어 미입력, 대소문자/오타 시 전체 감점" - }, - "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": "5395143", - "points": 2, - "category": "표", - "item": "위쪽 제목 셀/① 색상(RGB:199,82,82)" - }, - "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, '=SUM') and substring(@Command, string-length(@Command) - 2) = '145'] and //TABLE[1]/ROW[last()]/CELL[last()]//FIELDBEGIN[starts-with(@Command, '=SUM') and substring(@Command, string-length(@Command) - 2) = '105'])", - "path2": null, - "searchValue": null, - "value": true, - "points": 4, - "category": "표", - "item": "블록계산식/합계" - }, - "45": { - "path": "boolean(//c:barChart[c:barDir[@val='bar'] and c:grouping[@val='clustered']])", - "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": 25512, - "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": "범례/③ 기울임" - } - } -} diff --git a/DIW_2503C.json b/DIW_2504A.json similarity index 95% rename from DIW_2503C.json rename to DIW_2504A.json index 13d4114..922c9cb 100644 --- a/DIW_2503C.json +++ b/DIW_2504A.json @@ -124,7 +124,7 @@ "value": "9537333", "points": 2, "category": "문단첫글자장식", - "item": "자/③ 면색 : 색상(RGB:53,135,145)" + "item": "자/③ 면색 : 색상(RGB:105,155,55)" }, "11": { "path": "//RECTANGLE[.//CHAR[text()='자']]//OUTSIDEMARGIN/@Right", @@ -142,7 +142,7 @@ "value": true, "points": 2, "category": "글꼴 속성", - "item": "문구 (한옥에 대한 체험과 교육이 준비된 사생대회)/① 진하게" + "item": "문구 (한옥에 대한 체험과 교육이 준비된 사생대회)/① 기울임" }, "13": { "path": "boolean(//CHARSHAPE[@Id=//CHAR[contains(text()[1],'{searchValue}')]/parent::TEXT/@CharShape][UNDERLINE])", @@ -181,22 +181,22 @@ "item": "문구 (■ 행사안내 ■)/② 정렬 (가운데 정렬)" }, "17": { - "path": "boolean(//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape][ITALIC])", + "path": "boolean(//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape][BOLD])", "path2": null, - "searchValue": "홈페이지(http://www.ihd.or.kr)에서 개별 신청, 선착순 접수", + "searchValue": "한옥에 대한 체험과 교육이 준비된 사생대회", "value": true, "points": 1, "category": "글꼴 속성", - "item": "문구 (홈페이지(http://www.ihd.or.kr)에서 개별 신청, 선착순 접수)/① 기울임" + "item": "문구 (한옥에 대한 체험과 교육이 준비된 사생대회)/① 진하게" }, "18": { "path": "boolean(//CHARSHAPE[@Id=//CHAR[text()='{searchValue}']/parent::TEXT/@CharShape][UNDERLINE])", "path2": null, - "searchValue": "홈페이지(http://www.ihd.or.kr)에서 개별 신청, 선착순 접수", + "searchValue": "한옥에 대한 체험과 교육이 준비된 사생대회", "value": true, "points": 1, "category": "글꼴 속성", - "item": "문구 (홈페이지(http://www.ihd.or.kr)에서 개별 신청, 선착순 접수)/② 밑줄" + "item": "문구 (한옥에 대한 체험과 교육이 준비된 사생대회)/② 밑줄" }, "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)", @@ -369,7 +369,7 @@ "value": 20, "points": 2, "category": "글상자", - "item": "문구 (한옥의 형태와 구조)/④ 글상자 모서리 (둥근 모양)" + "item": "문구 (한옥의 형태와 구조)/④ 글상자 모서리 (반원)" }, "8": { "path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/descendant::WINDOWBRUSH/@FaceColor", @@ -378,7 +378,7 @@ "value": "12704995", "points": 2, "category": "글상자", - "item": "문구 (한옥의 형태와 구조)/⑤ 채우기 : 색상(RGB:227,220,193)" + "item": "문구 (한옥의 형태와 구조)/⑤ 채우기 : 색상(RGB:53,135,145)" }, "9": { "path": "//RECTANGLE//CHAR[text()='{searchValue}']/ancestor::RECTANGLE/SHAPEOBJECT/POSITION/@TreatAsChar", @@ -432,7 +432,7 @@ "value": true, "points": 2, "category": "그림삽입", - "item": "① 파일명 \"그림C.jpg\" 삽입" + "item": "① 파일명 \"그림A.jpg\" 삽입" }, "15": { "path": "//IMAGE[@BinItem=//BINITEM[@Format='JPG']/@BinData]/preceding-sibling::SHAPEOBJECT/SIZE/@Width", @@ -540,7 +540,7 @@ "value": "한양중고딕", "points": 1, "category": "각주", - "item": "문구 (기초)/② 글씨체 (중고딕)" + "item": "문구 (기초)/② 글씨체 (한양중고딕)" }, "27": { "path": "//CHARSHAPE[@Id=//CHAR[contains(text(),'{searchValue}')]/parent::TEXT/@CharShape]/@Height", @@ -554,7 +554,7 @@ "28": { "path": "//P[TEXT[CHAR[contains(text(), '{searchValue}')]]]//AUTONUMFORMAT/@Type", "path2": null, - "searchValue": " 기둥의 침하를 방지하기 위한 지반의 보강 및 개량", + "searchValue": "기둥의 침하를 방지하기 위한 지반의 보강 및 개량", "value": "CircledDigit", "points": 2, "category": "각주", @@ -566,7 +566,7 @@ "searchValue": null, "value": true, "points": 3, - "category": "", + "category": "영단어", "item": "cornerstone/영단어 미입력, 대소문자/오타 시 전체 감점" }, "30": { @@ -636,10 +636,10 @@ "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": "15616893", + "value": "7629528", "points": 2, "category": "표", - "item": "위쪽 제목 셀/① 색상(RGB:125,75,238)" + "item": "위쪽 제목 셀/① 색상(RGB:216,106,116)" }, "38": { "path": "boolean(//CHARSHAPE[@Id=//TABLE/ROW[1]/descendant::TEXT/@CharShape]/BOLD)", @@ -696,22 +696,22 @@ "item": "글자모양/③ 정렬 (가운데 정렬)" }, "44": { - "path": "boolean(//TABLE[1]/ROW[last()]/CELL[last()-1]//FIELDBEGIN[starts-with(@Command, '=SUM') and substring(@Command, string-length(@Command) - 2) = '110'] and //TABLE[1]/ROW[last()]/CELL[last()]//FIELDBEGIN[starts-with(@Command, '=SUM') and substring(@Command, string-length(@Command) - 2) = '220'])", + "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": "블록계산식/합계" + "item": "블록계산식/평균" }, "45": { - "path": "//c:lineChart/c:grouping/@val='standard'", + "path": "boolean(//c:lineChart/c:grouping/@val='standard')", "path2": null, "searchValue": null, "value": true, "points": 2, "category": "chart_xml", - "item": "① 종류 (꺾은선형)" + "item": "① 종류 (묶은세로막대형)" }, "46": { "path": "//c:valAx/c:majorTickMark/@val", @@ -741,7 +741,7 @@ "item": "④ 크기-높이 (90mm)" }, "49": { - "path": "//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='합계'])", + "path": "//c:chart and not(//c:pt[not(ancestor::c:tx)]/c:v[text()='평균'])", "path2": null, "searchValue": null, "value": true, @@ -858,4 +858,4 @@ "item": "범례/③ 기울임" } } -} +} \ No newline at end of file diff --git a/checklist.xbook b/checklist.xbook index 898224c..38d2355 100644 --- a/checklist.xbook +++ b/checklist.xbook @@ -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-35]\r\n"},{"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] ① ■, ② ■, ③ ※\t\t\r\n"},{"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-24] @FormatType 종류\r\n - HangulSyllable : 가나다\r\n - Digit : 123\r\n - DecagonCircle : 갑을병정\r\n - LatinCapital : ABC\r\n - CircledDigit : ①,②,③"},{"kind":2,"language":"xpath","value":"//SECTION[1]//PAGENUM/@FormatType"},{"kind":1,"language":"markdown","value":"- [2-28] ① 이론(理論), ② 분포(分布), ③ 확산(擴散), ④ 변화(變化), ⑤ 확대(擴大)\t\t "},{"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-35] [2-37] @EndColAddr 속성값 \r\n - 표의 열 갯수-1\r\n - 4개=3 / 3개=2 / 2개=1"},{"kind":2,"language":"xpath","value":"@EndColAddr='1'"},{"kind":1,"language":"markdown","value":"- [2-41]\r\n - 꺾은선형 //c:lineChart/c:grouping/@val='standard'\r\n - 가로막대형 boolean(//c:barChart/c:barDir[@val='bar'])\r\n - 묶은가로막대형 boolean(//c:barChart[c:barDir[@val='bar'] and c:grouping[@val='clustered']])\r\n - 세로막대형 boolean(//c:barChart/c:barDir[@val='col'])\r\n - 묶은세로막대형 boolean(//c:barChart[c:barDir[@val='col'] and c:grouping[@val='clustered']])"},{"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"}] \ No newline at end of file +[{"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]\r\n"},{"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] ① ■, ② ■, ③ ※\t\t\r\n"},{"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-24] @FormatType 종류\r\n - HangulSyllable : 가나다\r\n - Digit : 123\r\n - DecagonCircle : 갑을병정\r\n - LatinCapital : ABC\r\n - CircledDigit : ①,②,③"},{"kind":2,"language":"xpath","value":"//SECTION[1]//PAGENUM/@FormatType"},{"kind":1,"language":"markdown","value":"- [2-28] ① 한옥(韓屋), ② 사계절(四季節), ③거주(居住), ④ 구조(構造), ⑤ 골격(骨格)"},{"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 - 가로막대형 boolean(//c:barChart/c:barDir[@val='bar'])\r\n - 묶은가로막대형 boolean(//c:barChart[c:barDir[@val='bar'] and c:grouping[@val='clustered']])\r\n - 세로막대형 boolean(//c:barChart/c:barDir[@val='col'])\r\n - 묶은세로막대형 boolean(//c:barChart[c:barDir[@val='col'] and c:grouping[@val='clustered']])"},{"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"}] \ No newline at end of file diff --git a/diwScoring.py b/diwScoring.py index 01de09a..fc24d74 100644 --- a/diwScoring.py +++ b/diwScoring.py @@ -560,27 +560,28 @@ class XMLScorer: def main(): # 시험회차 및 유형 - exam_round = '2503' + exam_round = '2504' exam_types = [ 'A', # 'B', # 'C', ] - # test_mode = False - test_mode = True + test_mode = False + # test_mode = True output_excel_paths = [] for exam_type in exam_types: - scoring_criteria_path = f'./DIW_{exam_round}{exam_type}.json' - # xml(hml)파일 디렉토리 경로 + # JSON 채점기준표 파일 (예시:DIW_2503A.json) + scoring_criteria_path = f'./DIW_{exam_round}{exam_type}.json' + + # xml(hml)파일 디렉토리 경로 (예시:./output/A/DIW) xml_directory = f'./output/{exam_type}/{"TEST" if test_mode else "DIW"}' - - # 오탈자 체크를 위한 정답 파일 경로 (형식:DIW_2503A.hml) + # 오탈자 체크를 위한 정답 파일 경로 (예시:./output/A/DIW/DIW_2503A.hml) correct_answer_file = f'./output/{exam_type}/DIW/DIW_{exam_round}{exam_type}.hml' - # 엑셀 파일명 (비어있으면 자동생성) + # 엑셀 파일명 (비어있으면 자동생성) (예시:241001_DIW_2503A_채점결과.xlsx) timestamp = datetime.now().strftime("%y%m%d") output_path = f'{timestamp}_DIW_{exam_round}{exam_type}_{"TEST" if test_mode else "채점결과"}.xlsx' diff --git a/hwp_conversion.log b/hwp_conversion.log index 9c0a1d4..4574508 100644 --- a/hwp_conversion.log +++ b/hwp_conversion.log @@ -13607,3 +13607,10 @@ 2025-03-31 14:56:24,499 - INFO - 변환 성공: 워드(한글)-001727-엄경석.hwpx -> 워드(한글)-001727-엄경석.hml 2025-03-31 14:56:24,985 - INFO - 변환 성공: 워드(한글)-001781-윤유현.hwpx -> 워드(한글)-001781-윤유현.hml 2025-03-31 14:56:25,296 - INFO - 폴더 변환 완료: C:\Users\dra\project\HWP\HWP-Scoring\input\C\DIW -> C:\Users\dra\project\HWP\HWP-Scoring\output\C\DIW +2025-04-24 16:29:34,036 - INFO - 폴더 변환 시작: C:\Users\dra\project\HWP\HWP-Scoring\input\A\DIW -> C:\Users\dra\project\HWP\HWP-Scoring\output\A\DIW +2025-04-24 16:29:37,488 - INFO - 변환 성공: DIW_2504A.hwp -> DIW_2504A.hml +2025-04-24 16:29:37,829 - INFO - 폴더 변환 완료: C:\Users\dra\project\HWP\HWP-Scoring\input\A\DIW -> C:\Users\dra\project\HWP\HWP-Scoring\output\A\DIW +2025-04-24 16:29:38,330 - INFO - 폴더 변환 시작: C:\Users\dra\project\HWP\HWP-Scoring\input\B\DIW -> C:\Users\dra\project\HWP\HWP-Scoring\output\B\DIW +2025-04-24 16:29:39,878 - INFO - 폴더 변환 완료: C:\Users\dra\project\HWP\HWP-Scoring\input\B\DIW -> C:\Users\dra\project\HWP\HWP-Scoring\output\B\DIW +2025-04-24 16:29:40,379 - INFO - 폴더 변환 시작: C:\Users\dra\project\HWP\HWP-Scoring\input\C\DIW -> C:\Users\dra\project\HWP\HWP-Scoring\output\C\DIW +2025-04-24 16:29:41,857 - INFO - 폴더 변환 완료: C:\Users\dra\project\HWP\HWP-Scoring\input\C\DIW -> C:\Users\dra\project\HWP\HWP-Scoring\output\C\DIW diff --git a/zzz.xbook b/zzz.xbook index 2fea1a5..3a2b033 100644 --- a/zzz.xbook +++ b/zzz.xbook @@ -1 +1 @@ -[{"kind":2,"language":"xpath","value":"boolean(//PARASHAPE[@Id=//CHAR[contains(text(),'기타')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN/@Left=3000 and //PARASHAPE[@Id=//CHAR[contains(text(),'기타')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN/@Indent=-2400)"},{"kind":2,"language":"xpath","value":"//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE/FONTID/@Hangul][@Name='바탕']"},{"kind":2,"language":"xpath","value":"//FONTFACE[@Lang='Hangul']/FONT[@Name='바탕']/@Id"},{"kind":2,"language":"xpath","value":"//CHARSHAPE[@Id='6']/FONTID/@Hangul"},{"kind":2,"language":"xpath","value":"//PARASHAPE[@Id='0']/@Align"},{"kind":2,"language":"xpath","value":"boolean(//RECTANGLE[.//CHAR[text()='지']][.//SIZE[(@Height >= 2600 and @Height <= 2800)and(@Width >= 2600 and @Width <= 2800)]])"},{"kind":2,"language":"xpath","value":"//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TEXT[CHAR[text()='지']]/@CharShape]/FONTID/@Hangul]/@Name"},{"kind":2,"language":"xpath","value":"//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id={charshape_id}]/FONTID/@Hangul]/@Name"},{"kind":2,"language":"xpath","value":"//FONTFACE[@Lang='Hangul']/FONT[@Id={font_id}]/@Name"},{"kind":2,"language":"xpath","value":"//CHARSHAPE[@Id=//CHAR[contains(text()[1],'전 세계적으로 차량의 수는 약 13억 대가 있고 국내는 약 2,500만 대')]/parent::TEXT/@CharShape][ITALIC]"},{"kind":2,"language":"xpath","value":"//CHARSHAPE[@Id=//CHAR[contains(text()[1],'전 세계적으로 차량의 수는 약 13억 대가 있고 국내는 약 2,500만 대')]/parent::TEXT/@CharShape][ITALIC]"}] \ No newline at end of file +[{"kind":2,"language":"xpath","value":"boolean(//PARASHAPE[@Id=//CHAR[contains(text(),'기타')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN/@Left=3000 and //PARASHAPE[@Id=//CHAR[contains(text(),'기타')]/ancestor::P/following-sibling::P[1]/@ParaShape]/PARAMARGIN/@Indent=-2400)"},{"kind":2,"language":"xpath","value":"//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE/FONTID/@Hangul][@Name='바탕']"},{"kind":2,"language":"xpath","value":"//FONTFACE[@Lang='Hangul']/FONT[@Name='바탕']/@Id"},{"kind":2,"language":"xpath","value":"//CHARSHAPE[@Id='6']/FONTID/@Hangul"},{"kind":2,"language":"xpath","value":"//PARASHAPE[@Id='0']/@Align"},{"kind":2,"language":"xpath","value":"boolean(//RECTANGLE[.//CHAR[text()='지']][.//SIZE[(@Height >= 2600 and @Height <= 2800)and(@Width >= 2600 and @Width <= 2800)]])"},{"kind":2,"language":"xpath","value":"//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id=//TEXT[CHAR[text()='지']]/@CharShape]/FONTID/@Hangul]/@Name"},{"kind":2,"language":"xpath","value":"//FONTFACE[@Lang='Hangul']/FONT[@Id=//CHARSHAPE[@Id={charshape_id}]/FONTID/@Hangul]/@Name"},{"kind":2,"language":"xpath","value":"//FONTFACE[@Lang='Hangul']/FONT[@Id={font_id}]/@Name"},{"kind":2,"language":"xpath","value":"//CHARSHAPE[@Id=//CHAR[contains(text()[1],'전 세계적으로 차량의 수는 약 13억 대가 있고 국내는 약 2,500만 대')]/parent::TEXT/@CharShape][ITALIC]"},{"kind":2,"language":"xpath","value":"//CHAR[contains(text(),'전 세계적으로 차량의 수는 약 13억 대가 있고 국내는 약 2,500만 대')]/parent::TEXT/@CharShape"},{"kind":2,"language":"xpath","value":"//TABLE[1]/ROW[last()]/CELL[last()-1]//FIELDBEGIN[starts-with(@Command, '=AVG') and //TABLE[1]/ROW[last()]/CELL[last()]//FIELDBEGIN[starts-with(@Command, '=AVG')]]"}] \ No newline at end of file diff --git a/~$scoring_results_20241112_161225.xlsx b/~$scoring_results_20241112_161225.xlsx deleted file mode 100644 index b8f42e1..0000000 Binary files a/~$scoring_results_20241112_161225.xlsx and /dev/null differ diff --git a/회차별채점자료/2503/json_채점기준표/DIW_2503A_test.json b/회차별채점자료/2503/json_채점기준표/DIW_2503A_test.json new file mode 100644 index 0000000..71ab71e --- /dev/null +++ b/회차별채점자료/2503/json_채점기준표/DIW_2503A_test.json @@ -0,0 +1,155 @@ +{ + "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": "49,95,151", + "points": 2, + "category": "Color", + "item": "문구 (친환경이동수단컨퍼런스)/② 채우기 : 색상(RGB:49,95,151)" + }, + "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": "105,155,55", + "points": 2, + "category": "Color", + "item": "지/③ 면색 : 색상(RGB:105,155,55)" + }, + "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()[1],'{전 세계적으로 차량의 수는 약 13억 대가 있고 국내는 약 2,500만 대}')]/parent::TEXT/@CharShape]", + "path2": null, + "searchValue": "전 세계적으로 차량의 수는 약 13억 대가 있고 국내는 약 2,500만 대", + "value": true, + "points": 2, + "category": "글꼴 속성", + "item": "문구 (전 세계적으로 차량의 수는 약 13억 대가 있고 국내는 약 2,500만 대)/① 기울임" + } + } +} \ No newline at end of file diff --git a/회차별채점자료/2504_sub/hml_변환/DIW_2504A.hml b/회차별채점자료/2504_sub/hml_변환/DIW_2504A.hml new file mode 100644 index 0000000..64b9833 --- /dev/null +++ b/회차별채점자료/2504_sub/hml_변환/DIW_2504A.hml @@ -0,0 +1,1162 @@ + + + + + icox + 2023년 11월 2일 목요일 오후 4:32:24 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ^1. + ^2. + ^3) + ^4) + (^5) + (^6) + ^7 + + + + + + ^1. + ^2. + ^3) + ^4) + (^5) + (^6) + ^7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +