Deprecated

sitUBUsit

New member
Deprecated

אני מעוניין לעשות validation לקובץ XML באמצעות סכמה. אני כותב ב-Java ומשתמש ב- Xerces. התוכנה שלי כבר שומרת וטוענת קבצי XML (באמצעות Xerces), ועכשיו אני רק רוצה להוסיף validation. בדוגמאות של ה-Xerces יש משהו סביר שעושה את העבודה, אבל הבעיה היא שהרבה דברים שם הם deprecated. ניסיתי למצוא את המחליפים שלהם ולא הצלחתי. למי שיכול להפנות אותי לתחליפים תודה מראש.
Deprecated imports: import org.apache.xerces.dom3.as.DOMImplementationAS; import org.apache.xerces.dom3.as.DOMASBuilder; import org.apache.xerces.dom3.as.ASModel; import org.apache.xerces.dom.ASDOMImplementationImpl; Deprecated objects: DOMImplementationAS DOMASBuilder ASModel​
לחלופין, דוגמת קוד שאינו deprecated ל- xml validation via schema גם יועיל.
 

sitUBUsit

New member
קראתי ולא התאכזבתי...הופתעתי!

מתברר שפעם היו עושים validation "ידני", כלומר בכתיבת קוד ספציפית לשם כך. היום פשוט מוסיפים attribute ל- root בקובץ ה-XML שאומר איפה הסכמה נמצאת, וה-DOMParser \ SAXParser כבר עושים את ה-validation. אולם נתקלתי בבעיה, בכל הדוגמאות שמסבירות איך לעשות set ל-attribute של הסכמה משתמשים בכתובת web, ואני רוצה לעשות validation מסכמה שנמצאת בדיסק הקשיח... כשאני מריץ את הפרסר עם attribute שאינו רלוונטי (דוגמת קובץ שאינו קיים) הוא אינו מחזיר שגיאה ופשוט ממשיך לפרסר. דוגמה ל-attribute של web:
<\document xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='document.xsd'> ... <\/document>​
מה אני צריך לשים בקובץ ה-XML כדי שהפרסר יבין שאני מתכוון לדיסק? ניסיתי כל מיני localhost, ו- 127.0.0.1 ללא הועיל...
 

Zack DA

New member
הערה:

שים לב שעדיין קיימת יכולת חלופית לבצע מהקוד בדיקת תקינות (חשוב על מקרה שבו אתה לא יודע מראש מה הסכמה שאתה רוצה לאכוף, בהתאם לנתונים שיתקבלו online). בכל מקרה גם מה שמצאת זה פתרון מצוין (ולפי התגובה שלך כנראה יתאים פיקס).
 
למעלה