يوفر هذا المشروع مجموعة من البرامج النصية والأدوات لتحويل ملفات XML إلى تنسيق JSON. إنه مصمم للعمل مع مصادر بيانات XML مختلفة ويمكن تخصيصها بالكامل ، مما يدعم وحدات تحويل متعددة. ينقسم المشروع إلى وحدات بيثون منفصلة للتعامل مع أنواع مختلفة من البيانات ، بما في ذلك المستندات والأشخاص والمحفوظات.
يشمل الحل:
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 : يحتوي هذا الحقل على نسخة أنظف من النص ، وتم تحسينها لمعالجة الكمبيوتر وتحليله.معالجة البيانات الوصفية: بيانات التعريف في ريجنستن
.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 JSON
hasSublink و linkTo و next_link في ملفات JSON الإخراج لنوع الأرشيف. هذا يضمن تمثيل هذه المتغيرات وربطها بدقة في إخراج JSON.عززت هذه التحسينات بشكل كبير من وظائف وسهولة الاستخدام وموثوقية مشروع محول XML إلى JSON ، مما يجعلها أكثر قوة وسهولة في الاستخدام.