โครงการนี้มีชุดสคริปต์และเครื่องมือสำหรับการแปลงไฟล์ XML เป็นรูปแบบ JSON มันถูกออกแบบมาเพื่อทำงานกับแหล่งข้อมูล XML ที่แตกต่างกันและสามารถปรับแต่งได้อย่างสมบูรณ์รองรับโมดูลการแปลงหลายรายการ โครงการแบ่งออกเป็นโมดูล Python แยกต่างหากสำหรับการจัดการข้อมูลประเภทต่าง ๆ รวมถึงเอกสารบุคคลและจดหมายเหตุ
วิธีแก้ปัญหารวมถึง:
convert/
archiveLinkConvert.py # Handles conversion of archive link XMLs
artworkConvert.py # Handles artwork XML data
commonConvert.py # Contains common conversion utilities
personConvert.py # Handles conversion of person-related XMLs
docs/
pictures/ # Picture documentation related to the project
Analyza_SP.md # Analysis related documentation
documentaria_rudolphina.md # Project-specific documentation
model/
ArchiveLink.py # Data model for archive links
Document.py # Data model for documents
Person.py # Data model for person records
scripts/
main_convert.py # Main script to execute conversion
.gitignore # Git ignore configuration
README.md # This documentation file ในการใช้เครื่องมือนี้คุณจะต้องติดตั้ง Python และ PIP
จากนั้นเรียกใช้คำสั่งต่อไปนี้:
pip install -r requirements.txt สิ่งนี้จะติดตั้งไลบรารีที่จำเป็นเพื่อเรียกใช้สคริปต์ จากนั้นเพียงเรียกใช้สคริปต์ main_convert.py ด้วยตัวเลือกที่เหมาะสม นี่คือคำสั่งหลักในการเรียกใช้โปรแกรมจากไดเรกทอรี XMLtoJSON :
แสดงข้อมูลความช่วยเหลือ:
python3 scripts/main_convert.py --helpหรือ
python3 scripts/main_convert.py --hแปลงไฟล์ XML ทุกประเภท:
python3 scripts/main_convert.py --type all --input_path " path_for_input_data " --output_path " path_for_output_data "แปลงไฟล์ XML ที่เกี่ยวข้องกับชื่อ:
python3 scripts/main_convert.py --type names --input_path " path_for_input_data " --output_path " path_for_output_data "แปลงไฟล์ XML ที่เกี่ยวข้องกับการลงทะเบียน:
python3 scripts/main_convert.py --type registers --input_path " path_for_input_data " --output_path " path_for_output_data "แปลงไฟล์ XML ที่เกี่ยวข้องกับการเก็บถาวร:
python3 scripts/main_convert.py --type archive --input_path " path_for_input_data " --output_path " path_for_output_data "โฟลเดอร์ข้อมูลอินพุตควรมีโครงสร้างดังนี้:
input_data/
Archiv/ # Archive-related XML files
Regesten/ # Register-related XML files
Namen/ # Name-related XML files
Indicies/ # Index-related XML files git clone https://github.com/VandlJ.git
cd XMLtoJSONในการเริ่มต้นการแปลงให้ใช้สคริปต์การแปลงหลัก ตัวอย่างเช่นในการแปลงไฟล์ XML ทั้งหมด:
python3 scripts/main_convert.py --type all --input_path " ../test_data " --output_path " ../test_data/output "คุณยังสามารถตรวจสอบตัวเลือกที่มีอยู่ทั้งหมดและรับข้อมูลรายละเอียดโดยการรัน:
python3 scripts/main_convert.py --help คำสั่งนี้จะเริ่มการประมวลผลไฟล์ XML ในไดเรกทอรี --input_path ที่ระบุและส่งออกผลลัพธ์ไปยังไดเรกทอรี --output_path
โครงการนี้ได้รับการสืบทอดจากทีมอื่นและเราได้ทำการปรับปรุงที่สำคัญหลายประการและแก้ไขเพื่อปรับปรุงการทำงานและความน่าเชื่อถือของมัน:
การจัดการข้อผิดพลาด: ช่องว่าง/อักขระว่างสำหรับการเยื้องในข้อความ - ในไฟล์ Regesten
display : ฟิลด์นี้ใช้สำหรับการแสดงข้อความบนส่วนหน้าเพื่อให้แน่ใจว่ามันยังคงรูปแบบดั้งเดิมสำหรับการอ่านprocessable : ฟิลด์นี้มีข้อความที่สะอาดกว่าซึ่งได้รับการปรับให้เหมาะสมสำหรับการประมวลผลและการวิเคราะห์คอมพิวเตอร์การจัดการข้อมูลเมตา: ข้อมูลข้อมูลเมตาใน Regesten
.p ในไฟล์ Regesten องค์ประกอบบางอย่างหายไปหรือถูกจับอย่างไม่ถูกต้อง เราทำการตรวจสอบอย่างละเอียดและทำให้มั่นใจว่าองค์ประกอบข้อมูลเมตาทั้งหมดได้รับการจับและประมวลผลอย่างถูกต้องในการทำซ้ำโปรแกรมของเรา การโต้ตอบที่ปรับปรุงแล้ว: เพิ่มข้อมูล onmouseover="highlightWords(event, '...')" ใน Regesten
onmouseover ถูกเพิ่มเพื่อเน้นคำเมื่อวางตัวลงไป ข้อมูลที่ประมวลผลตอนนี้รวมถึง: "names" : [
{
"Aichholz_Johann" : " Johann Aichholz " ,
"alias" : " Johann Aichholz Ehrzney doctor "
},
{
"Strauben_Franz" : " Franz Strauben " ,
"alias" : " Frannzen Strauben "
}
]การประมวลผลชื่อ: การแยกชื่อและนามสกุลผ่านเครื่องมือภายนอก - getTyulan
สคริปต์หลักแบบครบวงจรสำหรับการแปลง
--type , --input_path และ --output_path การเปลี่ยนแปลงนี้ทำให้การดำเนินการง่ายขึ้นและเพิ่มความยืดหยุ่นของกระบวนการแปลงปรับปรุงเอกสารและคำแนะนำการตั้งค่า
การปรับปรุงประสิทธิภาพและการแก้ไขข้อผิดพลาด
แก้ไขในเอาต์พุต archiv type json
hasSublink , linkTo และ next_link ในไฟล์เอาต์พุต JSON สำหรับประเภท ARCHIV สิ่งนี้ทำให้มั่นใจได้ว่าตัวแปรเหล่านี้มีการแสดงและเชื่อมโยงอย่างถูกต้องในเอาต์พุต JSONการปรับปรุงเหล่านี้ได้ปรับปรุงฟังก์ชั่นการใช้งานและความน่าเชื่อถือของโครงการ XML ไปยัง JSON Converter อย่างมีนัยสำคัญทำให้มีความแข็งแกร่งและเป็นมิตรกับผู้ใช้มากขึ้น