Files
diw/2503회_추가문제처리방법.md

3.7 KiB

2503회 추가 문제 처리방법

체크 할 변경 문항

  • 문제1
    • 쪽 번호 매기기 (A,B,C 순으로) (28번)

    • 가운데 아래 (29번)

      • 문제1, 2 모두적용 채점기준 변동으로 인해
        기존 1페이지(SECTION[1]태그) 기준 제외

      //SECTION[1]//PAGENUM/@Ps

추가 문항

  • 문제1

    • 문단 첫글자 장식

      • 8번 : 모양 (2줄)

        • 줄 간격 160%일때 높이, 너비 2600
          줄 간격 180%일때 높이, 너비 2800
          그 사이의 값 일 경우 정답처리
        boolean(//RECTANGLE[.//CHAR[text()='지']][.//SIZE[(@Height >= 2600 and @Height <= 2800) and (@Width >= 2600 and @Width <= 2800)]])
        
      • 9번 : 글씨체 (궁서체)

        • 기존 글씨체 찾는 xpath구문과 동일
        //FONTFACE[@Lang="Hangul"]/FONT[@Id=//CHARSHAPE[@Id=//TEXT[CHAR[text()='지']]/@CharShape]/FONTID/@Hangul]/@Name
        
      • 10번 : 색상(RGB:105,155,55)

        • '지'를 포함하는 RECTANGLE요소의 자손 WINDOWBRUSH태그의 @FaceColor속성
        //RECTANGLE[.//CHAR[text()='지']]//WINDOWBRUSH/@FaceColor
        
      • 11번 : 본문과의 간격 : 3.0mm

        • '지'를 포함하는 RECTANGLE요소의 자손 OUTSIDEMARGIN태그의 @Right속성
          • 한글문서에서 본문과의 간격 항목을 변경하면 @Right속성만 변함
        //RECTANGLE[.//CHAR[text()='지']]//OUTSIDEMARGIN/@Right
        
    • 문제 1의 줄간격 180% 설정 (30번)

      • 1페이지에 속한 모든 문단의 줄간격이 180이 아닌것이 하나도 없을 경우
      not(//PARASHAPE[@Id=//SECTION[1]/P/@ParaShape]/PARAMARGIN[@LineSpacing!='180'])
      
  • 문제2

    • 각주 번호모양 (28번)

      • 1,2,3 : Digit

      • ①,②,③ : CircledDigit

      • I,II,III : RomanCapital

      • i,ii,iii : RomanSmall

        • 항목이 많아 채점 시 파악
        //TEXT[CHAR[text()='{searchValue}']]//AUTONUMFORMAT/@Type
        
    • 영단어 Hybrid (29번)

      • 문서 전체 CHAR태그 내 Hybrid 단어가 들어가 있으면 정답
      • "영단어 미입력, 대소문자/오타 시 전체 감점" 처리방법
        • 오타 체크 시 Hybrid (해당 문항의 영단어)를 제외 필요
      boolean(//CHAR[contains(text(),'Hybrid')])
      
    • 블록 계산식 (44번)

      • 마지막 행/열마지막-1 행/열의 자손 FIELDBEGIN태그의 @Command속성 확인
      • @Command속성이 '=SUM'으로 시작하고 '결과값'으로 끝나는지 확인
        • 계산식을 입력하는 방법에 따라 계산식,블록계산식,자동계산식으로 다양하게 입력가능하고
          xml 파일에도 속성값이 바뀌는 경우가 있다
      boolean(//TABLE[1]/ROW[last()]/CELL[last()]//FIELDBEGIN[starts-with(@Command, '=SUM') and substring(@Command, string-length(@Command) - 2) = '190'] and //TABLE[1]/ROW[last()]/CELL[last()-1]//FIELDBEGIN[starts-with(@Command, '=SUM') and substring(@Command, string-length(@Command) - 2) = '290'])
      
    • 값 축 주 눈금선 (46번)

      • 차트의 값 축(보통 세로축) 눈금선 옵션이 부여되었는지 확인하는 문항인데
        차트 생성하면 기본적으로 부여되어 있어서 따로 항목을 제거하지 않는 이상 정답일 듯하다
      //c:valAx/c:majorTickMark/@val
      
    • 차트 데이터(표에서 블록계산식을 제외한 나머지 값만 이용) (49번)

      • 계산식 행의 제목(마지막 행 1열 "합계")이 차트 데이터 항목에 포함되어 있지 않으면 정답처리
      • 혹여나 불필요한 '범례' 속성 제외
      not(//c:pt[not(ancestor::c:tx)]/c:v[text()='합계'])