2502회 채점결과 / xpath내부 "(큰따옴표)필터링 / gmdp 확장자 처리
This commit is contained in:
BIN
250227_DIC_2502A_채점결과.xlsx
Normal file
BIN
250227_DIC_2502A_채점결과.xlsx
Normal file
Binary file not shown.
BIN
250227_DIC_2502B_TEST.xlsx
Normal file
BIN
250227_DIC_2502B_TEST.xlsx
Normal file
Binary file not shown.
BIN
250227_DIC_2502B_result.xlsx
Normal file
BIN
250227_DIC_2502B_result.xlsx
Normal file
Binary file not shown.
BIN
250227_DIC_2502B_채점결과.xlsx
Normal file
BIN
250227_DIC_2502B_채점결과.xlsx
Normal file
Binary file not shown.
BIN
250227_DIC_2502C_채점결과.xlsx
Normal file
BIN
250227_DIC_2502C_채점결과.xlsx
Normal file
Binary file not shown.
BIN
250227_DIC_2502D_채점결과.xlsx
Normal file
BIN
250227_DIC_2502D_채점결과.xlsx
Normal file
Binary file not shown.
@@ -333,8 +333,8 @@
|
|||||||
"point": 2
|
"point": 2
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"ele": "//CRCUnitArr[@Name='{search}']//GCUnitPool/GCUnit[@Type='4'][@VID100='-13290016']",
|
"ele": "//CRCUnitArr[@Name='{search}']//GCUnitPool/GCUnit[@Type='4'][@VID100='-14688179']",
|
||||||
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4'][@VID100='-13290016']",
|
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4'][@VID100='-14688179']",
|
||||||
"search": "멋진 기차 모형 (Fine Train Model)",
|
"search": "멋진 기차 모형 (Fine Train Model)",
|
||||||
"point": 2
|
"point": 2
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -184,30 +184,30 @@
|
|||||||
"point": 3
|
"point": 3
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"ele": "//CRCUnitArr[@Name='{search}']",
|
"ele": "//CRCUnitArr[@Name=\"{search}\"]",
|
||||||
"search": "자연이 빚어낸 섬",
|
"search": "자연이 빚어낸 섬",
|
||||||
"point": 3
|
"point": 3
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"ele": "//CRCUnitArr[@Name='{search}']//GCUnitPool[@Type='1']/GCUnit[@VID102='바탕체']",
|
"ele": "//CRCUnitArr[@Name=\"{search}\"]//GCUnitPool[@Type='1']/GCUnit[@VID102='바탕체']",
|
||||||
"ele2": "//CROwneUnit[1]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit[@VID102='바탕체']",
|
"ele2": "//CROwneUnit[1]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit[@VID102='바탕체']",
|
||||||
"search": "자연이 빚어낸 섬",
|
"search": "자연이 빚어낸 섬",
|
||||||
"point": 2
|
"point": 2
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"ele": "//CRCUnitArr[@Name='{search}']//GCUnitPool[@Type='1']/GCUnit[@VID101='120']",
|
"ele": "//CRCUnitArr[@Name=\"{search}\"]//GCUnitPool[@Type='1']/GCUnit[@VID101='120']",
|
||||||
"ele2": "//CROwneUnit[1]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit[@VID101='120']",
|
"ele2": "//CROwneUnit[1]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit[@VID101='120']",
|
||||||
"search": "자연이 빚어낸 섬",
|
"search": "자연이 빚어낸 섬",
|
||||||
"point": 2
|
"point": 2
|
||||||
},
|
},
|
||||||
"8": {
|
"8": {
|
||||||
"ele": "//CRCUnitArr[@Name='{search}']//GCUnitPool/GCUnit[@Type='4'][@VID100='-10541088']",
|
"ele": "//CRCUnitArr[@Name=\"{search}\"]//GCUnitPool/GCUnit[@Type='4'][@VID100='-10541088']",
|
||||||
"ele2": "//CROwneUnit[1]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4'][@VID100='-10541088']",
|
"ele2": "//CROwneUnit[1]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4'][@VID100='-10541088']",
|
||||||
"search": "자연이 빚어낸 섬",
|
"search": "자연이 빚어낸 섬",
|
||||||
"point": 2
|
"point": 2
|
||||||
},
|
},
|
||||||
"9": {
|
"9": {
|
||||||
"ele": "//CRCUnitArr[@Name='{search}']/@VID600 | //CRCUnitArr[@Name='{search}']/@VID601",
|
"ele": "//CRCUnitArr[@Name=\"{search}\"]/@VID600 | //CRCUnitArr[@Name=\"{search}\"]/@VID601",
|
||||||
"ele2": "//CROwneUnit[1]/CRCUnitArr/@VID600 | //CROwneUnit[1]/CRCUnitArr/@VID601",
|
"ele2": "//CROwneUnit[1]/CRCUnitArr/@VID600 | //CROwneUnit[1]/CRCUnitArr/@VID601",
|
||||||
"type": "range",
|
"type": "range",
|
||||||
"search": "자연이 빚어낸 섬",
|
"search": "자연이 빚어낸 섬",
|
||||||
@@ -216,7 +216,7 @@
|
|||||||
"point": 2
|
"point": 2
|
||||||
},
|
},
|
||||||
"10": {
|
"10": {
|
||||||
"existEle": "//CRCUnitArr[@Name='{search}']",
|
"existEle": "//CRCUnitArr[@Name=\"{search}\"]",
|
||||||
"ele": "sum(//CRTrackList[@Name='텍스트']/CRTrackClip[not(@ClipIndex=count(//CROwneUnit[1]/preceding-sibling::CROwneUnit))]/@Length)",
|
"ele": "sum(//CRTrackList[@Name='텍스트']/CRTrackClip[not(@ClipIndex=count(//CROwneUnit[1]/preceding-sibling::CROwneUnit))]/@Length)",
|
||||||
"type": "searchIndex",
|
"type": "searchIndex",
|
||||||
"value": 150,
|
"value": 150,
|
||||||
@@ -314,50 +314,50 @@
|
|||||||
"point": 2
|
"point": 2
|
||||||
},
|
},
|
||||||
"22": {
|
"22": {
|
||||||
"ele": "//CRCUnitArr[@Name='{search}']",
|
"ele": "//CRCUnitArr[@Name=\"{search}\"]",
|
||||||
"search": "마나가하섬으로 가자 (Let’s go to Managaha Island)",
|
"search": "마나가하섬으로 가자 (Let's go to Managaha Island)",
|
||||||
"point": 3
|
"point": 3
|
||||||
},
|
},
|
||||||
"23": {
|
"23": {
|
||||||
"ele": "//CRCUnitArr[@Name='{search}']//GCUnitPool[@Type='1']/GCUnit[@VID102='돋움체']",
|
"ele": "//CRCUnitArr[@Name=\"{search}\"]//GCUnitPool[@Type='1']/GCUnit[@VID102='돋움체']",
|
||||||
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit[@VID102='돋움체']",
|
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit[@VID102='돋움체']",
|
||||||
"search": "마나가하섬으로 가자 (Let’s go to Managaha Island)",
|
"search": "마나가하섬으로 가자 (Let's go to Managaha Island)",
|
||||||
"point": 2
|
"point": 2
|
||||||
},
|
},
|
||||||
"24": {
|
"24": {
|
||||||
"ele": "//CRCUnitArr[@Name='{search}']//GCUnitPool[@Type='1']/GCUnit[@VID101='150']",
|
"ele": "//CRCUnitArr[@Name=\"{search}\"]//GCUnitPool[@Type='1']/GCUnit[@VID101='150']",
|
||||||
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit[@VID101='150']",
|
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit[@VID101='150']",
|
||||||
"search": "마나가하섬으로 가자 (Let’s go to Managaha Island)",
|
"search": "마나가하섬으로 가자 (Let's go to Managaha Island)",
|
||||||
"point": 2
|
"point": 2
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"ele": "//CRCUnitArr[@Name='{search}']//GCUnitPool/GCUnit[@Type='4'][@VID100='-1487764']",
|
"ele": "//CRCUnitArr[@Name=\"{search}\"]//GCUnitPool/GCUnit[@Type='4'][@VID100='-1487764']",
|
||||||
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4'][@VID100='-1487764']",
|
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4'][@VID100='-1487764']",
|
||||||
"search": "마나가하섬으로 가자 (Let’s go to Managaha Island)",
|
"search": "마나가하섬으로 가자 (Let's go to Managaha Island)",
|
||||||
"point": 2
|
"point": 2
|
||||||
},
|
},
|
||||||
"26": {
|
"26": {
|
||||||
"ele": "//CRCUnitArr[@Name='{search}']//GCUnitPool/GCUnit[@Type='2'][@VID100='0.30000001'][@VID101='-1']",
|
"ele": "//CRCUnitArr[@Name=\"{search}\"]//GCUnitPool/GCUnit[@Type='2'][@VID100='0.30000001'][@VID101='-1']",
|
||||||
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool/GCUnit[@Type='2'][@VID100='0.30000001'][@VID101='-1']",
|
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool/GCUnit[@Type='2'][@VID100='0.30000001'][@VID101='-1']",
|
||||||
"search": "마나가하섬으로 가자 (Let’s go to Managaha Island)",
|
"search": "마나가하섬으로 가자 (Let's go to Managaha Island)",
|
||||||
"point": 2
|
"point": 2
|
||||||
},
|
},
|
||||||
"27": {
|
"27": {
|
||||||
"ele": "//CRCUnitArr[@Name='{search}'][@VID505='1'][@VID507='2']",
|
"ele": "//CRCUnitArr[@Name=\"{search}\"][@VID505='1'][@VID507='2']",
|
||||||
"ele2": "//CROwneUnit[2]/CRCUnitArr[@VID505='1'][@VID507='2']",
|
"ele2": "//CROwneUnit[2]/CRCUnitArr[@VID505='1'][@VID507='2']",
|
||||||
"search": "마나가하섬으로 가자 (Let’s go to Managaha Island)",
|
"search": "마나가하섬으로 가자 (Let's go to Managaha Island)",
|
||||||
"point": 3
|
"point": 3
|
||||||
},
|
},
|
||||||
"28": {
|
"28": {
|
||||||
"ele": "//CRTrackList[@Name='텍스트']/CRTrackClip[@ClipIndex=count(//CROwneUnit[.//CRCUnitArr[@Name='{search}']]/preceding::CROwneUnit)][@Pos='0']",
|
"ele": "//CRTrackList[@Name='텍스트']/CRTrackClip[@ClipIndex=count(//CROwneUnit[.//CRCUnitArr[@Name=\"{search}\"]]/preceding::CROwneUnit)][@Pos='0']",
|
||||||
"ele2": "//CRTrackList[@Name='텍스트']/CRTrackClip[@ClipIndex=count(//CROwneUnit[2]/CRCUnitArr/preceding::CROwneUnit)][@Pos='0']",
|
"ele2": "//CRTrackList[@Name='텍스트']/CRTrackClip[@ClipIndex=count(//CROwneUnit[2]/CRCUnitArr/preceding::CROwneUnit)][@Pos='0']",
|
||||||
"search": "마나가하섬으로 가자 (Let’s go to Managaha Island)",
|
"search": "마나가하섬으로 가자 (Let's go to Managaha Island)",
|
||||||
"point": 2
|
"point": 2
|
||||||
},
|
},
|
||||||
"29": {
|
"29": {
|
||||||
"ele": "//CRTrackList[@Name='텍스트']/CRTrackClip[(@ClipIndex=count(//CROwneUnit[.//CRCUnitArr[@Name='{search}']]/preceding::CROwneUnit))][@Length='120']",
|
"ele": "//CRTrackList[@Name='텍스트']/CRTrackClip[(@ClipIndex=count(//CROwneUnit[.//CRCUnitArr[@Name=\"{search}\"]]/preceding::CROwneUnit))][@Length='120']",
|
||||||
"ele2": "//CRTrackList[@Name='텍스트']/CRTrackClip[@ClipIndex=count(//CROwneUnit[2]/CRCUnitArr/preceding::CROwneUnit)][@Length='120']",
|
"ele2": "//CRTrackList[@Name='텍스트']/CRTrackClip[@ClipIndex=count(//CROwneUnit[2]/CRCUnitArr/preceding::CROwneUnit)][@Length='120']",
|
||||||
"search": "마나가하섬으로 가자 (Let’s go to Managaha Island)",
|
"search": "마나가하섬으로 가자 (Let's go to Managaha Island)",
|
||||||
"point": 2
|
"point": 2
|
||||||
},
|
},
|
||||||
"30": {
|
"30": {
|
||||||
|
|||||||
@@ -109,7 +109,7 @@
|
|||||||
"16": {
|
"16": {
|
||||||
"ele": "$.children[?(@.name=='철원 금학산 등산')].text.font.colors[0]",
|
"ele": "$.children[?(@.name=='철원 금학산 등산')].text.font.colors[0]",
|
||||||
"type": "color",
|
"type": "color",
|
||||||
"value": "f14aeba",
|
"value": "f1eb4a",
|
||||||
"point": 10
|
"point": 10
|
||||||
},
|
},
|
||||||
"17": {
|
"17": {
|
||||||
|
|||||||
@@ -147,8 +147,6 @@ xpath 테스트 용
|
|||||||
//CRTrackList[@Name='오디오1'][@Count>='1']/CRTrackClip[1][not(@ClipIndex='-1')]
|
//CRTrackList[@Name='오디오1'][@Count>='1']/CRTrackClip[1][not(@ClipIndex='-1')]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
250221
|
250221
|
||||||
|
|
||||||
모션이미지클립 처리 JSON A형만 작성완료
|
모션이미지클립 처리 JSON A형만 작성완료
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import unicodedata
|
|||||||
def copy_dic_subdirs(source_root, target_root_a, target_root_b, target_root_c, target_root_d, target_root_e):
|
def copy_dic_subdirs(source_root, target_root_a, target_root_b, target_root_c, target_root_d, target_root_e):
|
||||||
for root, dirs, files in os.walk(source_root):
|
for root, dirs, files in os.walk(source_root):
|
||||||
for dir_name in dirs:
|
for dir_name in dirs:
|
||||||
if dir_name == 'DIW': # DIC 디렉토리 탐색
|
if dir_name == 'DIC': # DIC 디렉토리 탐색
|
||||||
parent_dir = os.path.basename(os.path.dirname(os.path.join(root, dir_name)))
|
parent_dir = os.path.basename(os.path.dirname(os.path.join(root, dir_name)))
|
||||||
target_root = None
|
target_root = None
|
||||||
parent_dir = unicodedata.normalize('NFC', parent_dir)
|
parent_dir = unicodedata.normalize('NFC', parent_dir)
|
||||||
@@ -34,7 +34,7 @@ def copy_dic_subdirs(source_root, target_root_a, target_root_b, target_root_c, t
|
|||||||
print(f"Skipping {dir_name} under {parent_dir}, as it doesn't match '2교시' or '3교시'.")
|
print(f"Skipping {dir_name} under {parent_dir}, as it doesn't match '2교시' or '3교시'.")
|
||||||
|
|
||||||
# 사용법
|
# 사용법
|
||||||
source_directory = r"C:\Users\dra\project\data\제2521회 특별검정\제2521회 디지털정보활용능력 특별검정 답안파일" # 원본 디렉토리 경로
|
source_directory = r"C:\Users\dra\project\data\제2502회 정기\답안파일" # 원본 디렉토리 경로
|
||||||
target_directory_a = r".\output\A" # '2교시'의 타겟 경로
|
target_directory_a = r".\output\A" # '2교시'의 타겟 경로
|
||||||
target_directory_b = r".\output\B" # '2교시'의 타겟 경로
|
target_directory_b = r".\output\B" # '2교시'의 타겟 경로
|
||||||
target_directory_c = r".\output\C" # '3교시'의 타겟 경로
|
target_directory_c = r".\output\C" # '3교시'의 타겟 경로
|
||||||
|
|||||||
@@ -12,9 +12,9 @@ const todayDate = getToday();
|
|||||||
|
|
||||||
// --------------------------------------------------------
|
// --------------------------------------------------------
|
||||||
// const scoringJson = require('./DIC_2502A.json');
|
// const scoringJson = require('./DIC_2502A.json');
|
||||||
// const scoringJson = require('./DIC_2502B.json');
|
const scoringJson = require('./DIC_2502B.json');
|
||||||
// const scoringJson = require('./DIC_2502C.json');
|
// const scoringJson = require('./DIC_2502C.json');
|
||||||
const scoringJson = require('./DIC_2502D.json');
|
// const scoringJson = require('./DIC_2502D.json');
|
||||||
|
|
||||||
// TEST
|
// TEST
|
||||||
// const scoringJson = require('./DIC_2502A_TEST.json');
|
// const scoringJson = require('./DIC_2502A_TEST.json');
|
||||||
@@ -23,9 +23,9 @@ const scoringJson = require('./DIC_2502D.json');
|
|||||||
// const scoringJson = require('./DIC_2502D_TEST.json');
|
// const scoringJson = require('./DIC_2502D_TEST.json');
|
||||||
// --------------------------------------------------------
|
// --------------------------------------------------------
|
||||||
// const answerFilesDir = './output/A/DIC';
|
// const answerFilesDir = './output/A/DIC';
|
||||||
// const answerFilesDir = './output/B/DIC';
|
const answerFilesDir = './output/B/DIC';
|
||||||
// const answerFilesDir = './output/C/DIC';
|
// const answerFilesDir = './output/C/DIC';
|
||||||
const answerFilesDir = './output/D/DIC';
|
// const answerFilesDir = './output/D/DIC';
|
||||||
|
|
||||||
// TEST
|
// TEST
|
||||||
// const answerFilesDir = './output/A/TEST';
|
// const answerFilesDir = './output/A/TEST';
|
||||||
@@ -35,7 +35,7 @@ const answerFilesDir = './output/D/DIC';
|
|||||||
|
|
||||||
// --------------------------------------------------------
|
// --------------------------------------------------------
|
||||||
// const outputExcelFile = './'+todayDate+'_DIC_2502A_result.xlsx';
|
// const outputExcelFile = './'+todayDate+'_DIC_2502A_result.xlsx';
|
||||||
// const outputExcelFile = './'+todayDate+'_DIC_2502B_result.xlsx';
|
const outputExcelFile = './'+todayDate+'_DIC_2502B_result.xlsx';
|
||||||
// const outputExcelFile = './'+todayDate+'_DIC_2502C_result.xlsx';
|
// const outputExcelFile = './'+todayDate+'_DIC_2502C_result.xlsx';
|
||||||
// const outputExcelFile = './'+todayDate+'_DIC_2502D_result.xlsx';
|
// const outputExcelFile = './'+todayDate+'_DIC_2502D_result.xlsx';
|
||||||
|
|
||||||
@@ -43,7 +43,7 @@ const answerFilesDir = './output/D/DIC';
|
|||||||
// const outputExcelFile = './'+todayDate+'_DIC_2502A_TEST.xlsx';
|
// const outputExcelFile = './'+todayDate+'_DIC_2502A_TEST.xlsx';
|
||||||
// const outputExcelFile = './'+todayDate+'_DIC_2502B_TEST.xlsx';
|
// const outputExcelFile = './'+todayDate+'_DIC_2502B_TEST.xlsx';
|
||||||
// const outputExcelFile = './'+todayDate+'_DIC_2502C_TEST.xlsx';
|
// const outputExcelFile = './'+todayDate+'_DIC_2502C_TEST.xlsx';
|
||||||
const outputExcelFile = './'+todayDate+'_DIC_2502D_TEST.xlsx';
|
// const outputExcelFile = './'+todayDate+'_DIC_2502D_TEST.xlsx';
|
||||||
// --------------------------------------------------------
|
// --------------------------------------------------------
|
||||||
|
|
||||||
// 답안 폴더 내부에 디렉토리가 아닌 일반 파일이 있을 경우 디렉토리만 필터링 해서 불러옴
|
// 답안 폴더 내부에 디렉토리가 아닌 일반 파일이 있을 경우 디렉토리만 필터링 해서 불러옴
|
||||||
@@ -62,7 +62,12 @@ studentDirs.forEach(student => {
|
|||||||
const name = student.normalize('NFC');
|
const name = student.normalize('NFC');
|
||||||
const studentDir = path.join(answerFilesDir, student);
|
const studentDir = path.join(answerFilesDir, student);
|
||||||
const psdFiles = fs.readdirSync(studentDir).filter(file => file.endsWith('.psd'));
|
const psdFiles = fs.readdirSync(studentDir).filter(file => file.endsWith('.psd'));
|
||||||
const gmepFile = fs.readdirSync(studentDir).filter(file => file.endsWith('.gmep'));
|
// DIAT시험 프로젝트로 생성시 gmep확장자로
|
||||||
|
// 교육용 프로젝프로 생성시 gmdp확장자로 생성됨
|
||||||
|
// 두 경우 모두 처리
|
||||||
|
const gmepFile = fs.readdirSync(studentDir).filter(
|
||||||
|
file => file.endsWith('.gmep') || file.endsWith('.gmdp')
|
||||||
|
);
|
||||||
|
|
||||||
// 학생 이름을 key로 하는 객체 생성
|
// 학생 이름을 key로 하는 객체 생성
|
||||||
// 채점결과
|
// 채점결과
|
||||||
@@ -160,6 +165,10 @@ function getGmepScore(gmepData, scoringJson, index) {
|
|||||||
*/
|
*/
|
||||||
if (search !== undefined) {
|
if (search !== undefined) {
|
||||||
let result = findSimilarString(gmepXmlDoc, search, 0.8)
|
let result = findSimilarString(gmepXmlDoc, search, 0.8)
|
||||||
|
// xpath 내부 "(큰따옴표) 필터링
|
||||||
|
if (result !== null) {
|
||||||
|
result = result.replace(/"/g, "'");
|
||||||
|
}
|
||||||
ele = ele.replace(/{search}/g, result);
|
ele = ele.replace(/{search}/g, result);
|
||||||
if ( existEle !== undefined ){
|
if ( existEle !== undefined ){
|
||||||
existEle = existEle.replace(/{search}/g, result);
|
existEle = existEle.replace(/{search}/g, result);
|
||||||
|
|||||||
BIN
회차별채점자료/2502/excel_채점결과/250227_DIC_2502A_채점결과.xlsx
Normal file
BIN
회차별채점자료/2502/excel_채점결과/250227_DIC_2502A_채점결과.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2502/excel_채점결과/250227_DIC_2502B_채점결과.xlsx
Normal file
BIN
회차별채점자료/2502/excel_채점결과/250227_DIC_2502B_채점결과.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2502/excel_채점결과/250227_DIC_2502C_채점결과.xlsx
Normal file
BIN
회차별채점자료/2502/excel_채점결과/250227_DIC_2502C_채점결과.xlsx
Normal file
Binary file not shown.
BIN
회차별채점자료/2502/excel_채점결과/250227_DIC_2502D_채점결과.xlsx
Normal file
BIN
회차별채점자료/2502/excel_채점결과/250227_DIC_2502D_채점결과.xlsx
Normal file
Binary file not shown.
Binary file not shown.
@@ -333,8 +333,8 @@
|
|||||||
"point": 2
|
"point": 2
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"ele": "//CRCUnitArr[@Name='{search}']//GCUnitPool/GCUnit[@Type='4'][@VID100='-13290016']",
|
"ele": "//CRCUnitArr[@Name='{search}']//GCUnitPool/GCUnit[@Type='4'][@VID100='-14688179']",
|
||||||
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4'][@VID100='-13290016']",
|
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4'][@VID100='-14688179']",
|
||||||
"search": "멋진 기차 모형 (Fine Train Model)",
|
"search": "멋진 기차 모형 (Fine Train Model)",
|
||||||
"point": 2
|
"point": 2
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -315,49 +315,49 @@
|
|||||||
},
|
},
|
||||||
"22": {
|
"22": {
|
||||||
"ele": "//CRCUnitArr[@Name='{search}']",
|
"ele": "//CRCUnitArr[@Name='{search}']",
|
||||||
"search": "마나가하섬으로 가자 (Let’s go to Managaha Island)",
|
"search": "마나가하섬으로 가자 (Let's go to Managaha Island)",
|
||||||
"point": 3
|
"point": 3
|
||||||
},
|
},
|
||||||
"23": {
|
"23": {
|
||||||
"ele": "//CRCUnitArr[@Name='{search}']//GCUnitPool[@Type='1']/GCUnit[@VID102='돋움체']",
|
"ele": "//CRCUnitArr[@Name='{search}']//GCUnitPool[@Type='1']/GCUnit[@VID102='돋움체']",
|
||||||
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit[@VID102='돋움체']",
|
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit[@VID102='돋움체']",
|
||||||
"search": "마나가하섬으로 가자 (Let’s go to Managaha Island)",
|
"search": "마나가하섬으로 가자 (Let's go to Managaha Island)",
|
||||||
"point": 2
|
"point": 2
|
||||||
},
|
},
|
||||||
"24": {
|
"24": {
|
||||||
"ele": "//CRCUnitArr[@Name='{search}']//GCUnitPool[@Type='1']/GCUnit[@VID101='150']",
|
"ele": "//CRCUnitArr[@Name='{search}']//GCUnitPool[@Type='1']/GCUnit[@VID101='150']",
|
||||||
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit[@VID101='150']",
|
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit[@VID101='150']",
|
||||||
"search": "마나가하섬으로 가자 (Let’s go to Managaha Island)",
|
"search": "마나가하섬으로 가자 (Let's go to Managaha Island)",
|
||||||
"point": 2
|
"point": 2
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"ele": "//CRCUnitArr[@Name='{search}']//GCUnitPool/GCUnit[@Type='4'][@VID100='-1487764']",
|
"ele": "//CRCUnitArr[@Name='{search}']//GCUnitPool/GCUnit[@Type='4'][@VID100='-1487764']",
|
||||||
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4'][@VID100='-1487764']",
|
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4'][@VID100='-1487764']",
|
||||||
"search": "마나가하섬으로 가자 (Let’s go to Managaha Island)",
|
"search": "마나가하섬으로 가자 (Let's go to Managaha Island)",
|
||||||
"point": 2
|
"point": 2
|
||||||
},
|
},
|
||||||
"26": {
|
"26": {
|
||||||
"ele": "//CRCUnitArr[@Name='{search}']//GCUnitPool/GCUnit[@Type='2'][@VID100='0.30000001'][@VID101='-1']",
|
"ele": "//CRCUnitArr[@Name='{search}']//GCUnitPool/GCUnit[@Type='2'][@VID100='0.30000001'][@VID101='-1']",
|
||||||
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool/GCUnit[@Type='2'][@VID100='0.30000001'][@VID101='-1']",
|
"ele2": "//CROwneUnit[2]/CRCUnitArr//GCUnitPool/GCUnit[@Type='2'][@VID100='0.30000001'][@VID101='-1']",
|
||||||
"search": "마나가하섬으로 가자 (Let’s go to Managaha Island)",
|
"search": "마나가하섬으로 가자 (Let's go to Managaha Island)",
|
||||||
"point": 2
|
"point": 2
|
||||||
},
|
},
|
||||||
"27": {
|
"27": {
|
||||||
"ele": "//CRCUnitArr[@Name='{search}'][@VID505='1'][@VID507='2']",
|
"ele": "//CRCUnitArr[@Name='{search}'][@VID505='1'][@VID507='2']",
|
||||||
"ele2": "//CROwneUnit[2]/CRCUnitArr[@VID505='1'][@VID507='2']",
|
"ele2": "//CROwneUnit[2]/CRCUnitArr[@VID505='1'][@VID507='2']",
|
||||||
"search": "마나가하섬으로 가자 (Let’s go to Managaha Island)",
|
"search": "마나가하섬으로 가자 (Let's go to Managaha Island)",
|
||||||
"point": 3
|
"point": 3
|
||||||
},
|
},
|
||||||
"28": {
|
"28": {
|
||||||
"ele": "//CRTrackList[@Name='텍스트']/CRTrackClip[@ClipIndex=count(//CROwneUnit[.//CRCUnitArr[@Name='{search}']]/preceding::CROwneUnit)][@Pos='0']",
|
"ele": "//CRTrackList[@Name='텍스트']/CRTrackClip[@ClipIndex=count(//CROwneUnit[.//CRCUnitArr[@Name='{search}']]/preceding::CROwneUnit)][@Pos='0']",
|
||||||
"ele2": "//CRTrackList[@Name='텍스트']/CRTrackClip[@ClipIndex=count(//CROwneUnit[2]/CRCUnitArr/preceding::CROwneUnit)][@Pos='0']",
|
"ele2": "//CRTrackList[@Name='텍스트']/CRTrackClip[@ClipIndex=count(//CROwneUnit[2]/CRCUnitArr/preceding::CROwneUnit)][@Pos='0']",
|
||||||
"search": "마나가하섬으로 가자 (Let’s go to Managaha Island)",
|
"search": "마나가하섬으로 가자 (Let's go to Managaha Island)",
|
||||||
"point": 2
|
"point": 2
|
||||||
},
|
},
|
||||||
"29": {
|
"29": {
|
||||||
"ele": "//CRTrackList[@Name='텍스트']/CRTrackClip[(@ClipIndex=count(//CROwneUnit[.//CRCUnitArr[@Name='{search}']]/preceding::CROwneUnit))][@Length='120']",
|
"ele": "//CRTrackList[@Name='텍스트']/CRTrackClip[(@ClipIndex=count(//CROwneUnit[.//CRCUnitArr[@Name='{search}']]/preceding::CROwneUnit))][@Length='120']",
|
||||||
"ele2": "//CRTrackList[@Name='텍스트']/CRTrackClip[@ClipIndex=count(//CROwneUnit[2]/CRCUnitArr/preceding::CROwneUnit)][@Length='120']",
|
"ele2": "//CRTrackList[@Name='텍스트']/CRTrackClip[@ClipIndex=count(//CROwneUnit[2]/CRCUnitArr/preceding::CROwneUnit)][@Length='120']",
|
||||||
"search": "마나가하섬으로 가자 (Let’s go to Managaha Island)",
|
"search": "마나가하섬으로 가자 (Let's go to Managaha Island)",
|
||||||
"point": 2
|
"point": 2
|
||||||
},
|
},
|
||||||
"30": {
|
"30": {
|
||||||
|
|||||||
Reference in New Issue
Block a user