2025-05-02 17:36:01 +09:00
{
2025-06-30 17:04:10 +09:00
"0" : {
"1" : {
"ele" : "none" ,
"point" : 0
} ,
"2" : {
"ele" : "none" ,
"point" : 0
} ,
"3" : {
"ele" : "none" ,
"point" : 0
} ,
"4" : {
"ele" : "none" ,
"point" : 0
} ,
"5" : {
"ele" : "none" ,
"point" : 0
} ,
"6" : {
"ele" : "none" ,
"point" : 0
} ,
"7" : {
"ele" : "none" ,
"point" : 0
} ,
"8" : {
"ele" : "$[?(@.width == 65 && @.height == 45)]" ,
"type" : "size" ,
"value" : {
"width" : 65 ,
"height" : 45
} ,
"point" : 4
} ,
"9" : {
"ele" : "none" ,
"point" : 0 ,
"desc" : "파일명 확인"
}
} ,
"1" : {
"1" : {
"ele" : "none" ,
"point" : 0
} ,
"2" : {
"ele" : "none" ,
"point" : 0
} ,
"3" : {
"ele" : "none" ,
"point" : 0
} ,
"4" : {
"ele" : "$.children[?(@.name=='놀이터')].name" ,
"value" : "놀이터" ,
"point" : 4
} ,
"5" : {
"ele" : "none" ,
"point" : 0
} ,
"6" : {
"ele" : "$.children[?(@.name=='Forest Playground')].name" ,
"value" : "Forest Playground" ,
"point" : 4
} ,
"7" : {
"ele" : "$.children[?(@.name=='Forest Playground')].text.font.names[0]" ,
"type" : "font" ,
"value" : "Arial" ,
"point" : 2
} ,
"8" : {
"ele" : "$.children[?(@.name=='Forest Playground')].text.font.names[0]" ,
"value" : "Arial-BoldItalicMT" ,
"point" : 2
} ,
"9" : {
"ele" : "$.children[?(@.name=='Forest Playground')].text.font.sizes[0]" ,
"value" : 48 ,
"point" : 2
} ,
"10" : {
"ele" : "$.children[?(@.name=='Forest Playground')].text.font.colors[0]" ,
"type" : "color" ,
"value" : "0096ff" ,
"point" : 2
} ,
"11" : {
"ele" : "none" ,
"point" : 0
} ,
"12" : {
"ele" : "none" ,
"point" : 0
} ,
"13" : {
"ele" : "none" ,
"point" : 0
} ,
"14" : {
"ele" : "$.children[?(@.name=='숲속 놀이터')].name" ,
"value" : "숲속 놀이터" ,
"point" : 4
} ,
"15" : {
"ele" : "$.children[?(@.name=='숲속 놀이터')].text.font.names[0]" ,
"type" : "font" ,
"value" : "GulimChe" ,
"point" : 2 ,
"desc" : {
"돋움체" : "DotumChe" ,
"궁서체" : "GungsuhChe" ,
"굴림체" : "GulimChe" ,
"옛" : "YetR"
}
} ,
"16" : {
"ele" : "$.children[?(@.name=='숲속 놀이터')].text.font.sizes[0]" ,
"value" : 36 ,
"point" : 2
} ,
"17" : {
"ele" : "$.children[?(@.name=='숲속 놀이터')].text.font.colors[0]" ,
"type" : "color" ,
"value" : "0c3f00" ,
"point" : 2
} ,
"18" : {
"ele" : "none" ,
"point" : 0
} ,
"19" : {
"ele" : "none" ,
"point" : 0
} ,
"20" : {
"ele" : "none" ,
"point" : 0
} ,
"21" : {
"ele" : "none" ,
"point" : 0
} ,
"22" : {
"ele" : "$.children[?(@.name=='바람개비')].name" ,
"value" : "바람개비" ,
"point" : 4
} ,
"23" : {
"ele" : "none" ,
"point" : 0
} ,
"24" : {
"ele" : "none" ,
"point" : 0
} ,
"25" : {
"ele" : "none" ,
"point" : 0
} ,
"26" : {
"ele" : "$[?(@.width == 65 && @.height == 35)]" ,
"type" : "size" ,
"value" : {
"width" : 65 ,
"height" : 35
} ,
"point" : 5
} ,
"27" : {
"ele" : "none" ,
"point" : 0 ,
"desc" : "파일명 확인"
}
} ,
"2" : {
"desc" : "videoStartTime 항목은 동영상파일>자막>시작시간 문항의 정답을 작성" ,
"videoStartTime" : 170 ,
"openingStartTime" : 0 ,
"1" : {
"ele" : "//CRTrackList[@Name='비디오1']/CRTrackClip[not(@Length<='5' and @ClipLength='-1')]/@ClipIndex" ,
"type" : "mediaOrder" ,
"value" : [ "동영상.mp4" , "이미지3.jpg" , "이미지1.jpg" , "이미지2.jpg" ] ,
"point" : 4 ,
"desc" : "비디오1 트랙에 있는 클립의 ClipIndex값을 기준으로 CRClipArr에서 Path값을 가져와서 정답 채점, 클립의 ClipIndex값이 -1인 경우와 길이가 5프레임 이하인 경우는 제외한다."
} ,
"2" : {
"ele" : "/CROASTERP/CRTrackArr[1]/CRVideoTrackArr[1]/CRTrackList[1]/CRTrackClip[1]/@Speed" ,
"type" : "oneAnswer" ,
"value" : {
"speed" : "130"
} ,
"point" : 2 ,
"desc" : "100당 1배속 / 130 = 1.3배속"
} ,
"3" : {
"ele" : "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{videoClipIndex}']" ,
"type" : "startEnd" ,
"media" : "동영상.mp4" ,
"value" : {
"start" : "0" ,
"end" : "360"
} ,
"point" : 2 ,
"desc" : "시작시간과 재생시간 정답값 입력, 3번문항은 '동영상.mp4' 클립의 길이를 확인하는 문항이므로 media는 수정할 필요가 없다."
} ,
"4" : {
"ele" : "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{videoClipIndex}']//CRFilter" ,
"type" : "effect" ,
"media" : "동영상.mp4" ,
"value" : {
"ID" : "168" ,
"VID102" : "10" ,
"VID100" : "0.80000001"
} ,
"point" : 3 ,
"desc" : "value값의 키값(VID___)은 이펙트의 속성종류에 따라 변경되므로 채점기준표작성시 확인 필요"
} ,
"5" : {
"ele" : "//CROwneUnit[{index}]/CRCUnitArr/@Name" ,
"ele2" : "//CRCUnitArr[@Name='{search}']/@Name" ,
"ele3" : "//CROwneUnit[{subtitleIndex}]/CRCUnitArr/@Name" ,
"type" : "video" ,
"value" : "모래 촉감 놀이" ,
"search" : "모래 촉감 놀이" ,
"point" : 3
} ,
"6" : {
"ele" : "//CROwneUnit[{subtitleIndex}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102" ,
"ele2" : "//CRCUnitArr[@Name='{search}']//GCUnitPool[@Type='1']/GCUnit/@VID102" ,
"search" : "모래 촉감 놀이" ,
"type" : "video" ,
"value" : "굴림체" ,
"point" : 2
} ,
"7" : {
"ele" : "//CROwneUnit[{subtitleIndex}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101" ,
"ele2" : "//CRCUnitArr[@Name='{search}']//GCUnitPool[@Type='1']/GCUnit/@VID101" ,
"search" : "모래 촉감 놀이" ,
"type" : "video" ,
"value" : "110" ,
"point" : 2
} ,
"8" : {
"ele" : "//CROwneUnit[{subtitleIndex}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100" ,
"ele2" : "//CRCUnitArr[@Name='{search}']//GCUnitPool/GCUnit[@Type='4']/@VID100" ,
"search" : "모래 촉감 놀이" ,
"type" : "video" ,
"value" : "-13778690" ,
"point" : 2
} ,
"9" : {
"ele" : "//CROwneUnit[{subtitleIndex}]/CRCUnitArr/@*[name()='VID600' or name()='VID601']" ,
"ele2" : "//CRCUnitArr[@Name='{search}']/@*[name()='VID600' or name()='VID601']" ,
"type" : "video" ,
"search" : "모래 촉감 놀이" ,
"value" : [ 0.35312501 , 0.92962962 ] ,
"point" : 2
} ,
"10" : {
"ele" : "{search}" ,
"search" : "모래 촉감 놀이" ,
"type" : "videoStartTime" ,
"value" : 170 ,
"point" : 2
2025-05-02 17:36:01 +09:00
} ,
2025-06-30 17:04:10 +09:00
"11" : {
"ele" : "{search}" ,
"search" : "모래 촉감 놀이" ,
"type" : "videoLength" ,
"value" : 150 ,
"point" : 2
} ,
"12" : {
"existEle" : "//CRClip[@Path='동영상.mp4']" ,
"ele" : "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='동영상.mp4']/preceding-sibling::*)]/@Mute" ,
"type" : "searchIndex" ,
"value" : "1" ,
"point" : 2
} ,
"13" : {
"existEle" : "//CRClip[@Path='{image}'] | //CRClip[@Type='11']/CRCUnitArr[@Path='{image}']" ,
"ele" : "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='{image}']/preceding-sibling::CRClip | //CRClip[@Type='11']/CRCUnitArr[@Path='{image}']/../preceding-sibling::CRClip)][1]/@Length" ,
"image" : "이미지3.jpg" ,
"type" : "searchIndex" ,
"value" : "180" ,
"point" : 2
} ,
"14" : {
"type" : "multi" ,
"ele" : "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='{image}']/preceding-sibling::CRClip | //CRClip[@Type='11']/CRCUnitArr[@Path='{image}']/../preceding-sibling::CRClip)][1]//CRFilter/@*[name()='ID' or name()='VID101']" ,
"image" : "이미지3.jpg" ,
"value" : [ "184" , "5" ] ,
"point" : 2
} ,
"15" : {
"type" : "multi" ,
"ele" : "//CRTransFilter[@ClipIndex=count(//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='{image}']/preceding-sibling::CRClip | //CRClip[@Type='11']/CRCUnitArr[@Path='{image}']/../preceding-sibling::CRClip)][1]/preceding-sibling::CRTrackClip)][@Type='2']/@*[name()='ID' or name()='Range' or name()='Type']" ,
"image" : "이미지3.jpg" ,
"value" : [ "21" , "480:540" , "2" ] ,
"point" : 2 ,
"desc" : "오버랩일 경우 XPATH구문에서 Type속성값 16으로 변경, 그리고 ClipIndex값은 트랜지션이 끝나는 지점 이미지의 ClipIndex값을 가지게 되어 다음 순서의 이미지로 변경해주어야한다."
} ,
"16" : {
"existEle" : "//CRClip[@Path='{image}'] | //CRClip[@Type='11']/CRCUnitArr[@Path='{image}']" ,
"ele" : "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='{image}']/preceding-sibling::CRClip | //CRClip[@Type='11']/CRCUnitArr[@Path='{image}']/../preceding-sibling::CRClip)][1]/@Length" ,
"image" : "이미지1.jpg" ,
"type" : "searchIndex" ,
"value" : "180" ,
"point" : 2
} ,
"17" : {
"type" : "multi" ,
"ele" : "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='{image}']/preceding-sibling::CRClip | //CRClip[@Type='11']/CRCUnitArr[@Path='{image}']/../preceding-sibling::CRClip)][1]//CRFilter/@*[name()='ID' or name()='VID100']" ,
"image" : "이미지1.jpg" ,
"value" : [ "102" , "6" ] ,
"point" : 2
} ,
"18" : {
"type" : "multi" ,
"ele" : "//CRTransFilter[@ClipIndex=count(//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='{image}']/preceding-sibling::CRClip | //CRClip[@Type='11']/CRCUnitArr[@Path='{image}']/../preceding-sibling::CRClip)][1]/preceding-sibling::CRTrackClip)][@Type='2']/@*[name()='ID' or name()='Range' or name()='Type']" ,
"image" : "이미지1.jpg" ,
"value" : [ "9" , "690:720" , "2" ] ,
"point" : 2 ,
"desc" : "오버랩일 경우 XPATH구문에서 Type속성값 16으로 변경, 그리고 ClipIndex값은 트랜지션이 끝나는 지점 이미지의 ClipIndex값을 가지게 되어 다음 순서의 이미지로 변경해주어야한다."
} ,
"19" : {
"existEle" : "//CRClip[@Path='{image}'] | //CRClip[@Type='11']/CRCUnitArr[@Path='{image}']" ,
"ele" : "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='{image}']/preceding-sibling::CRClip | //CRClip[@Type='11']/CRCUnitArr[@Path='{image}']/../preceding-sibling::CRClip)][1]/@Length" ,
"image" : "이미지2.jpg" ,
"type" : "searchIndex" ,
"value" : "150" ,
"point" : 2
} ,
"20" : {
"type" : "multi" ,
"ele" : "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='{image}']/preceding-sibling::CRClip | //CRClip[@Type='11']/CRCUnitArr[@Path='{image}']/../preceding-sibling::CRClip)][1]//CRFilter/@*[name()='ID' or name()='VID103']" ,
"image" : "이미지2.jpg" ,
"value" : [ "67" , "7" ] ,
"point" : 2
} ,
"21" : {
"type" : "multi" ,
"ele" : "//CRTransFilter[@ClipIndex=count(//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex=count(//CRClip[@Path='{image}']/preceding-sibling::CRClip | //CRClip[@Type='11']/CRCUnitArr[@Path='{image}']/../preceding-sibling::CRClip)][1]/preceding-sibling::CRTrackClip)][@Type='2']/@*[name()='ID' or name()='Range' or name()='Type']" ,
"image" : "이미지2.jpg" ,
"value" : [ "94" , "840:870" , "2" ] ,
"point" : 2 ,
"desc" : "오버랩일 경우 XPATH구문에서 Type속성값 16으로 변경, 그리고 ClipIndex값은 트랜지션이 끝나는 지점 이미지의 ClipIndex값을 가지게 되어 다음 순서의 이미지로 변경해주어야한다."
} ,
"22" : {
"ele" : "//CROwneUnit[{subtitleIndex}]/CRCUnitArr/@Name" ,
"ele2" : "//CRCUnitArr[@Name='{search}']/@Name" ,
"type" : "opening" ,
"search" : "자연 놀이터 (Nature Playground)" ,
"value" : "자연 놀이터 (Nature Playground)" ,
"point" : 3
} ,
"23" : {
"ele" : "//CROwneUnit[{subtitleIndex}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102" ,
"ele2" : "//CRCUnitArr[@Name='{search}']//GCUnitPool[@Type='1']/GCUnit/@VID102" ,
"search" : "자연 놀이터 (Nature Playground)" ,
"type" : "opening" ,
"value" : "바탕체" ,
"point" : 2
} ,
"24" : {
"ele" : "//CROwneUnit[{subtitleIndex}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101" ,
"ele2" : "//CRCUnitArr[@Name='{search}']//GCUnitPool[@Type='1']/GCUnit/@VID101" ,
"search" : "자연 놀이터 (Nature Playground)" ,
"type" : "opening" ,
"value" : "140" ,
"point" : 2
} ,
"25" : {
"ele" : "//CROwneUnit[{subtitleIndex}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100" ,
"ele2" : "//CRCUnitArr[@Name='{search}']//GCUnitPool/GCUnit[@Type='4']/@VID100" ,
"search" : "자연 놀이터 (Nature Playground)" ,
"type" : "opening" ,
"value" : "-12808648" ,
"point" : 2
} ,
"26" : {
"ele" : "//CROwneUnit[{subtitleIndex}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='2']/@*[name()='VID100' or name()='VID101']" ,
"ele2" : "//CRCUnitArr[@Name='{search}']//GCUnitPool/GCUnit[@Type='2']/@*[name()='VID100' or name()='VID101']" ,
"search" : "자연 놀이터 (Nature Playground)" ,
"type" : "opening" ,
"value" : [ "0.30000001" , "-13107457" ] ,
"point" : 2
} ,
"27" : {
"ele" : "//CROwneUnit[{subtitleIndex}]/CRCUnitArr/@*[name()='VID505' or name()='VID507']" ,
"ele2" : "//CRCUnitArr[@Name='{search}']/@*[name()='VID505' or name()='VID507']" ,
"search" : "자연 놀이터 (Nature Playground)" ,
"type" : "opening" ,
"value" : [ "14" , "2" ] ,
"point" : 3
} ,
"28" : {
"ele" : "sum(//CRTrackList[@Name='텍스트' or @Name='비디오2']/CRTrackClip[not(@ClipIndex='-1')][{subtitleOrder}]/preceding-sibling::CRTrackClip/@Length)" ,
"ele2" : "sum(//CRTrackList[@Name='텍스트' or @Name='비디오2']/CRTrackClip[not(@ClipIndex='-1')][@ClipIndex={textClipIndex}]/preceding-sibling::CRTrackClip/@Length)" ,
"search" : "자연 놀이터 (Nature Playground)" ,
"type" : "opening" ,
"value" : 0 ,
"point" : 2
} ,
"29" : {
"ele" : "//CRTrackList[@Name='텍스트' or @Name='비디오2']/CRTrackClip[not(@ClipIndex='-1')][{subtitleOrder}]/@Length" ,
"ele2" : "//CRTrackList[@Name='텍스트' or @Name='비디오2']/CRTrackClip[not(@ClipIndex='-1')][@ClipIndex={textClipIndex}]/@Length" ,
"search" : "자연 놀이터 (Nature Playground)" ,
"type" : "opening" ,
"value" : "120" ,
"point" : 2
} ,
"30" : {
"ele" : "//CRTrackList[@Name='오디오1'][@Count>='1']/CRTrackClip[1][not(@ClipIndex='-1')]" ,
"point" : 2
} ,
"31" : {
"ele" : "//CRTrackArr/CRAudioTrackArr/CRTrackList[@Name='오디오1']/CRTrackClip[@Length='840']" ,
"point" : 2
} ,
"32" : {
"ele" : "//CRTrackArr/CRAudioTrackArr/CRTrackList[@Name='오디오1']//CRFilter[@Type='2'][@ID='1'][@VID8='60']" ,
"point" : 2
} ,
"33" : {
"ele" : "none" ,
"point" : 0 ,
"desc" : "파일명 확인"
}
} ,
"4" : {
2025-05-02 17:36:01 +09:00
"1" : {
2025-06-30 17:04:10 +09:00
"type" : "multi" ,
"ele" : "//Document/Width/@value | //Document/Height/@value" ,
"value" : [ "650" , "350" ] ,
"point" : 5 ,
"desc" : "캔버스 사이즈 650*350"
2025-05-02 17:36:01 +09:00
} ,
"2" : {
2025-06-30 17:04:10 +09:00
"ele" : "none" ,
"point" : 5 ,
"desc" : "자유 변형 문항은 채점 불가"
} ,
"3" : {
"type" : "isExist" ,
"ele" : "//Layer/Name/@value" ,
"value" : "Flower" ,
"point" : 5 ,
"desc" : "Flower 레이어가 있는지 여부 체크"
2025-05-02 17:36:01 +09:00
} ,
"4" : {
2025-06-30 17:04:10 +09:00
"type" : "multiValue" ,
"ele" : "//Layer[Name[@value='{layer}']]/Effects/Item[EffectData/{option}]/Name/@value | //Layer[Name[@value='{layer}']]/Effects/Item/EffectData/{option}/@value" ,
"layer" : "Flower" ,
"option" : "VibranceValue" ,
"value" : [ "39" , "생동감" ] ,
"point" : 5 ,
"desc" : "Flower 레이어의 효과 체크"
2025-05-02 17:36:01 +09:00
} ,
"5" : {
2025-06-30 17:04:10 +09:00
"ele" : "none" ,
"point" : 6 ,
"desc" : "올가미 도구/이미지 문항은 채점 불가"
} ,
"6" : {
"type" : "exists" ,
"ele" : "//Layer/Effects/Item/Name/@value" ,
"value" : "세피아" ,
"point" : 6 ,
"desc" : "세피아 효과가 있는지 여부 체크"
} ,
"7" : {
"type" : "exact" ,
"ele" : "//Layer/Shapes/Shape/shape_type/@value" ,
"value" : "ELLIPSE" ,
"point" : 3 ,
"desc" : "레이어 쉐이프 타입이 타원인지 체크"
} ,
"8" : {
"type" : "size" ,
"ele" : "//Layer//op_points" ,
"value" : {
"width" : 120 ,
"height" : 120
} ,
"point" : 3 ,
"desc" : "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
} ,
"9" : {
"type" : "color" ,
"ele" : "//Layer//Shape[contains(draw_type/@value, 'Interior')]/secondary_color/@value" ,
"value" : "7097bb" ,
"point" : 6 ,
"desc" : "색상 코드 비교 시 소문자로 입력할 것"
} ,
"10" : {
"type" : "multiValue" ,
"ele" : "//Layer/BlendOp/@value | //Layer/Opacity/@value" ,
"value" : [ "반사" , "80" ] ,
"point" : 6 ,
"desc" : "혼합모드(색 회피율, 불투명도 : 80)"
} ,
"11" : {
"ele" : "none" ,
"point" : 0 ,
"desc" : "기본설정"
} ,
"12" : {
"ele" : "none" ,
"point" : 0 ,
"desc" : "파일명 확인"
}
} ,
"5" : {
"1" : {
"type" : "multi" ,
"ele" : "//Document/Width/@value | //Document/Height/@value" ,
"value" : [ "650" , "450" ] ,
"point" : 5 ,
"desc" : "캔버스 사이즈 650*450"
} ,
"2" : {
"ele" : "none" ,
"point" : 5 ,
"desc" : "배경색 문항은 채점 불가"
} ,
"3" : {
"type" : "exists" ,
"ele" : "//Layer/MaskOpType/@value" ,
"value" : "Layering" ,
"point" : 6
} ,
"4" : {
"ele" : "none" ,
"point" : 6 ,
"desc" : "가로방향 흐릿하게 문항은 채점 불가"
} ,
"5" : {
"type" : "exists" ,
"ele" : "//Layer//shape_type/@value" ,
"value" : "ROUNDED_RECTANGLE" ,
"point" : 3
} ,
"6" : {
"type" : "size" ,
"ele" : "//Layer//op_points" ,
"value" : {
"width" : 400 ,
"height" : 60
} ,
"point" : 3 ,
"desc" : "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
} ,
"7" : {
"type" : "gradient" ,
"ele" : "//Layer/Shapes/Shape" ,
"startColor" : "gradient_start_color/@value" ,
"endColor" : "gradient_end_color/@value" ,
"value" : {
"startColor" : "ffe000" ,
"endColor" : "34a159"
} ,
"point" : 6
} ,
"8" : {
"type" : "exists" ,
"ele" : "//Layer//Shape[shape_type/@value='TEXT']/lines/Item/@value" ,
"value" : "흰 꽃 사이 노란 꽃" ,
"point" : 5
} ,
"9" : {
"type" : "exists" ,
"ele" : "//Layer//Shape[shape_type/@value='TEXT']/font/Name/@value" ,
"value" : "맑은 고딕" ,
"point" : 3
} ,
"10" : {
"type" : "exists" ,
"ele" : "//Layer//Shape[shape_type/@value='TEXT']/font/{style}/@value" ,
"style" : "Italic" ,
"value" : "True" ,
"point" : 3
} ,
"11" : {
"type" : "exists" ,
"ele" : "//Layer//Shape[shape_type/@value='TEXT']/font/Size/@value" ,
"value" : "30" ,
"point" : 3
} ,
"12" : {
"type" : "color" ,
"ele" : "//Layer//Shape[shape_type/@value='TEXT'][contains(draw_type/@value, 'Interior')]/secondary_color/@value" ,
"value" : "b46ef8" ,
"point" : 3 ,
"desc" : "색상 코드 비교 시 소문자로 입력할 것"
} ,
"13" : {
"type" : "exists" ,
"ele" : "//Layer//Shape[shape_type/@value='TEXT']/outline_peninfo/Width/@value" ,
"value" : "7" ,
"point" : 3
} ,
"14" : {
"type" : "color" ,
"ele" : "//Layer//Shape[shape_type/@value='TEXT'][contains(draw_type/@value, 'Outline')]/primary_color/@value" ,
"value" : "ffffff" ,
"point" : 3 ,
"desc" : "색상 코드 비교 시 소문자로 입력할 것"
} ,
"15" : {
"ele" : "//Layer[MaskOpType/@value='Clipping'][last()]" ,
"point" : 6 ,
"desc" : "클리핑 마스크 항목은 별도 레이어로 추가되고 해당 속성을 추가해놓은 레이어가 있는지 여부 체크 함"
} ,
"16" : {
"type" : "exists" ,
"ele" : "//Layer/Shapes/Shape/shape_type/@value" ,
"value" : "RECTANGLE" ,
"point" : 3
} ,
"17" : {
"type" : "size" ,
"ele" : "//Layer//op_points" ,
"value" : {
"width" : 150 ,
"height" : 150
} ,
"point" : 3 ,
"desc" : "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
} ,
"18" : {
"type" : "exists" ,
"ele" : "//Layer//outline_peninfo/Width/@value" ,
"value" : "7" ,
"point" : 3
} ,
"19" : {
"type" : "color" ,
"ele" : "//Layer//Shape[contains(draw_type/@value, 'Outline')]/primary_color/@value" ,
"value" : "e8e88e" ,
"point" : 3 ,
"desc" : "색상 코드 비교 시 소문자로 입력할 것(채우기:secondary_color, 외곽선:primary_color)"
} ,
"20" : {
"type" : "shadow" ,
"ele" : {
"shadow" : "//Layer//Shape[contains(draw_type/@value, 'Shadow')]" ,
"width" : "//Layer//Shape[contains(draw_type/@value, 'Shadow')]/shadow_width/@value" ,
"distance" : "//Layer//Shape[contains(draw_type/@value, 'Shadow')]/shadow_distance/@value" ,
"blur" : "//Layer//Shape[contains(draw_type/@value, 'Shadow')]/shadow_blur/@value" ,
"angle" : "//Layer//Shape[contains(draw_type/@value, 'Shadow')]/shadow_angle/@value"
} ,
"value" : {
"width" : "3" ,
"distance" : "5" ,
"blur" : "1" ,
"angle" : "320"
} ,
"point" : 5 ,
"desc" : "그림자 속성이 있는 경우 그림자 속성의 너비, 거리, 흐림 정도, 각도를 비교하여 정답 채점"
} ,
"21" : {
"ele" : "none" ,
"point" : 0 ,
"desc" : "기본설정"
} ,
"22" : {
"ele" : "none" ,
"point" : 0 ,
"desc" : "파일명 확인"
2025-05-02 17:36:01 +09:00
}
2025-06-30 17:04:10 +09:00
}
}