PDA

View Full Version : اعتبار سنجي Schema و XML



A.Nemati
جمعه 09 بهمن 1388, 15:59 عصر
با سلام
چند تا سوال دارم.
1- منظور از اعتبار سنجي (Validation) يك Schema چيست؟ و چطوري مي‌شه اين كار را كرد؟
21- منظور از اعتبار سنجي (Validation) يك XML چيست؟ و چطوري مي‌شه اين كار را كرد؟
3- چطور مي‌شه يك XML را جز به جز با Schema مطابقت داد.

از هيچ كامپوننتي نمي‌خوام استفاده كنم. پس دوستان لطف كنن و كامپوننت معرفي نكنن.

vcldeveloper
جمعه 09 بهمن 1388, 23:31 عصر
اعتبار سنجی یعنی اینکه شما ساختار مورد نظر برای اون XML را در یک Schema تعریف می کنید، و بعد از آن، هر XML ایی که دریافت کردید را می تونید با استفاده از اون Schema بررسی کنید که آیا ساختار مورد نظر شما را دارد یا خیر.
در واقع Schema شما مشخص میکنه که چه قواعدی باید در یک سند XML وجود داشته باشند تا از نظر شما معتبر شناخته بشه.


3- چطور می‌شه یک XML را جز به جز با Schema مطابقت داد.
معمولا خودِ XML DOMها این قابلیت را دارند که سند XML لود شده را با یک Schema ورودی اعتبارسنجی کنند. در دلفی برای این کار کلاس TXmlDocument وجود داره که میتونه یک سند XML را لود کنه، و اعتبار آن را هم با یک Schema مشخص بررسی کنه.

A.Nemati
سه شنبه 20 بهمن 1388, 19:49 عصر
از جوابتون ممنون

در دلفی برای این کار کلاس TXmlDocument وجود داره که میتونه یک سند XML را لود کنه، و اعتبار آن را هم با یک Schema مشخص بررسی کنه.
ولی چطور می‌شه این کار رو کرد؟ من تو این کلاس چیزی در این مورد پیدا نکردم.

vcldeveloper
چهارشنبه 21 بهمن 1388, 14:25 عصر
ولی چطور می‌شه این کار رو کرد؟ من تو این کلاس چیزی در این مورد پیدا نکردم.
فایل Schema مورد نظرتان را باید در داخل سند XML تان تعیین کنید، تا مشخص بشه این سند XML باید بر اساس چه Schemaایی اعتبارسنجی بشه.
در XMLDocument گزینه های poResolveExternals و poValidateOnParse را در خصوصیت ParseOptions را فعال کنید، و سند XML مورد نظرتان را با استفاده از LoadFromFile یا LoadFromStream لود کنید.
اگر سند XML با Schema مربوطه مطابقت نداشته باشه، یک Exception از نوع EDOMParseError دریافت می کنید.

A.Nemati
یک شنبه 25 بهمن 1388, 10:08 صبح
باز هم از جوابتون ممنونم

فایل Schema مورد نظرتان را باید در داخل سند XML تان تعیین کنید.
اگر درست متوجه شده باشم، باید داخل فایل XML در یک element مشخص، Schema را معرفی کنم. اما دو مشکل وجود دارد:
1- نمی‌دانم چطوری این کار رو انجام بدم و روش استاندارش چیه؟ (لطفا یک نمونه کوچیک برام بزارید)
2- متاسفانه این اسناد را کسان دیگری تهیه می‌کنند و من آنها را دریافت و اطلاعات را از آنها استخراج می‌کنم. بنابراین نمی‌توانم به آن Schema زا اضافه کنم (البته خود Schema را دارم)

اگه لطف کنید و یک نمونه کوچیک بگذارید فکر کنم کلیه علامت سوال‌های ذهنم در این مورد از بین برن
با سپاس