Internet Derazalar Android
Kengaytirmoq

1c xsd sxemasini yaratish uchun. Yozilgan ma'lumotlar to'plami

Fayl XSD sxemasiga mos kelmaydigan xato haqida xabar berishda xatolik yuzaga keladi tizim hisobotdan ma'lumotlarni o'qiy olmaydi. Umuman olganda, odamlardagi bunday xatolar tez-tez sodir bo'ladi va ularni engish juda oson.

Avval siz XSD sxemasi faylingiz qanday mos kelmaydigan narsani tushunishni anglatadi.

Shunday qilib, xsd dasturlash tili, U bilan sizning hisobotingizning tuzilishi tasvirlangan. Tuzilma, masalan, hisobot tarkibi, turi, ko'rish, shuningdek ma'lumotlar sintaksis, ma'lumotlarga ega bo'lgan qismlarni o'z ichiga oladi.

Ma'lum bo'lishicha, XSD sxemasi hisobotingizning tavsifidasturlash tillaridan biri bo'lib chiqadi. Agar hisobotga noto'g'ri ma'lumotlar berilgan bo'lsa, bu sxema uchun juda nopok bo'ladi, shuning uchun tizim XSD sxemasiga mos kelmasligi xato.

Bu shuni ko'rsatadiki, siz kiritgan ma'lumotlar dasturlash tilida o'qib bo'lmaydi, shuning uchun dastur noto'g'ri ekanligini tan oladi.

Shuni ta'kidlash kerakki, ushbu muammo tufayli yuzaga kelishi mumkin Noto'g'ri kiritilgan ma'lumotlar (Masalan, tashkilotning mehmoni kiritilganda adashgansiz) va ma'lumotlar bilan tanishishning noto'g'ri formati tufayli (masalan, keraksiz bo'shliqlar yoki defislar).

Biroq, bu XSD sxema faylining nomuvofiqligini keltirib chiqaradigan yagona sabab emas. Bu xato Bu, shuningdek, dasturning eskirgan versiyasi sizning qurilmangizda, shuningdek, soliq organida dastur yangilanmagan bo'lsa, dasturning eskirishi mumkin.

XSD sxemasida xatolikni hal qilish uchun sizga kerak bo'ladi barcha ma'lumotlar to'g'riligini tekshiring, Siz kiritganingiz, shuningdek, ishlayotgan dasturning yangilanishi yo'qligini aniqlang. Biroq, faylni tekshirishdan oldin, sizga berilgan xato matnini diqqat bilan ko'rib chiqing.

Gap shundaki, matndan keyin fayl sxemaga mos kelmaydigan matndan keyin ba'zi holatlarda, keyin bu muammoning sababini bildiradi. Agar xatoning sabablari aniqlanmasa, dasturni so'nggi versiyaga yangilang.

Yangilanishni tugatgandan so'ng, hisobotingizni yana yuborib ko'ring. Agar faylni yangilaganingizdan so'ng yana xato keltirsa, unda kerak Unda muammoni ko'rib chiqing. Agar siz dasturda ishlayotgan bo'lsangiz, unda siz faylni ishlatishingiz mumkin maxsus tugmalar"Internetni tekshirish" deb nomlangan.

Agar oldingi ikkita narsa muammoni aniqlashga yordam bermasa, unda siz barcha ma'lumotlarni kiritgan bo'lsangiz, ularning ko'plari sonlarni to'ldirish kerakligini tekshiring, chunki ular juda oson yozuvlarga ruxsat berish.

Bundan tashqari, siz keraksiz bo'shliqlar, defis va boshqa belgilar bo'lmagan holda barcha maydonlarni tekshirishingiz kerak. Agar siz butun faylni tekshirsangiz va xato topishga muvaffaq bo'lsangiz, uni tuzata olmasangiz, unda siz albatta tura olmaysiz texnik yordam bilan bog'laning Siz hisobot beradigan dasturlar yoki uning ishlab chiqaruvchilariga dasturlar.

Yechmoq bu muammo Dastur ishlab chiqaruvchilaridan foydalanib, hisobotda kompyuteringiz bilan bog'liq bo'lgan xabarnoma protokoli, kompyuter sizni muammolari bilan bog'liq ekanligini bildirishingiz kerak.

Bundan tashqari, ishlab chiquvchilar sizga tashkilotingiz haqida ba'zi ma'lumotlarni, shuningdek, kerakli ko'rinadigan boshqa ma'lumotni so'rashlari mumkin, ular kerakli ko'rinishga ega bo'lishlari kerak, aks holda bu muammoni hal qila olmaydi.

Shunday qilib, agar siz soliq organiga hisobot yubormoqchi bo'lsangiz, lekin fayl XSD sxemasiga mos kelmasligini xato qiladi, bu sizning hisobotingiz yuborib bo'lmaydi Dastur siz kiritgan ma'lumotlarni o'qiy olmaganligi sababli.

Ammo vahima bunga loyiq emas, chunki ko'p hollarda bu muammo Etarlicha sodda tarzda hal qilindi Va tez. Bundan tashqari, agar siz o'z vaqtida yuborilgan hisobot bo'lsa, lekin noto'g'ri format tufayli qabul qilinmadi, keyin soliq tugatish huquqiga ega emas Siz o'z vaqtida hisobot bermadingiz. Birinchidan, xatoning o'zi uchun e'tibor bering, ehtimol u paydo bo'lishining sababini bildiradi.

Aslida, sabablar faqat ikkita bo'lishi mumkin. Yoki siz qurilmani o'rnatgansiz eski versiyasi DasturlarSiz hisobot berasiz, bu holda muammoni osongina hal qiling, siz shunchaki eng ko'p yuklab olishingiz kerak so'nggi yangilanish, Odatda u siz foydalanayotgan dastur veb-saytida topilishi mumkin. Ikkinchi sabab siz ba'zi ma'lumotlarni noto'g'ri talqin qilishingiz yoki umuman hech qanday maydonni tugatmagan bo'lishi mumkin.

Bunday holda, siz faylingizni tekshirishingiz kerak, chunki siz dastur xatolarni ham ko'rib chiqishi mumkinligini yodda tutishingiz kerak toq bo'shliq. Agar siz xato sababini topa olmasangiz, unda siz bilan bog'lanishingiz mumkin texnik yordam Dasturlar, mutaxassislar sizning muammongizni hal qilishga yordam beradi.

Izoh: XML ma'lumot sxemalari (XSD). XSD sxemasini atrof muhitda yaratish Vizual studiya. .Net. Kiritilgan ma'lumotlar to'plami ob'ektini yaratish. Ma'lumotlar ob'ekti tuzilishi haqida ma'lumot olish. XML hujjatlari va XSD sxemalarni kiritilgan va normal ma'lumotlar ob'ektlariga yuklash. Readxxml va o'qishxlshema usullari. Tarix va an'anaviy ma'lumotlar vositasi ob'ektining tarkibi va tuzilishini yozib oling. WriteExExml va WriteExeMMCHAME usullari

Kiritilgan ma'lumotlar vositasi. XML hujjatlarini o'qish va yozib olish

XML ma'lumot sxemalari (XSD)

Ma'lumotlar 1. XML sxema hujjatining aniq tarjimai -< xML hujjat sxemasiAmmo biz "XML ma'lumotlar sxemasi" atamasini ishlatishda davom etamiz. XSD (XML sxema hujjati, XSD) muqobil usul XML hujjatlarini qurish qoidalari. DTD bilan taqqoslaganda sxemalar murakkab ma'lumotlar tuzilmalarini aniqlash uchun yanada kuchli vositaga ega, bu til grammatikasini tasvirlashning yanada tushunarli usulini ko'rsatadi, ular osonlikcha yangilanishi va kengayishi mumkin. XSD sxemasi quyidagi ma'lumotlarni o'z ichiga olishi mumkin:

  • jadvallar orasidagi tashqi kalitlarning o'zaro munosabatlariga o'xshash ma'lumotlarni taqdim etish qisqacha bazaviy taglik Ma'lumotlar;
  • birlamchi kalitga o'xshash noyob identifikatorlarni taqdim etish;
  • sporat qilish Har bir individual element va XML hujjatidagi atribut.

Vizual studiyada ma'lumotlar sxemasini yaratish uchun .Net asosiy menyuda fayl \\ yangi \\ fayliga o'ting va andozalar ro'yxatidan tanlang (11.3-rasm) XML sxema. "Server Explorer-ni (dizayn maydoni) yoki o'ng tugmachasiga" Server Explorer yoki Asboblar qutisidan deraza oynasini boshlash uchun oynasi paydo bo'ladi "(11.1-rasm):


Anjir. 11.1.

Gap shundaki, biz dizayn rejimidamiz. Biz kod rejimiga o'tamiz, u (XML) tugmasini bosing:

Birinchi qator - bu sxemaning XML hujjati bo'lgan XML hujjati, XS: Sxema. XS prefiksi: Sxemaning barcha elementlarini ko'rsatgan holda, ularning ismlarini ko'rsatadigan barcha elementlarni keltirib chiqaradi. Ikkinchi qatorda sxemaning uzoq, batafsil va tez-tez to'liq tavsifi mavjud (HTML sahifalar uchun bir xil kod bilan solishtirganda). To'g'ri ish uchun, quyidagi topshiriqni cheklash kifoya:

Biroq, Studentning o'rnatilgan taqdim etilishi ushbu "qopqoq" ni taklif qiladi, shuning uchun uni o'chirib bo'lmaydi. Vizual studiyada ko'rsatilgan XML hujjatini tavsiflovchi sxemani yaratish .NET muhiti juda oddiy vazifadir. Quyidagi hujjatni yarating XMLiasy.XML:

1

Yorliqqa o'tish (ma'lumotlar) va faqat bitta yozuvni ko'ring (11.2-rasm).


Anjir. 11.2.

Ushbu hujjatni bir necha jihatdan tavsiflovchi diagrammani yarating: Asosiy menyuda "XML-ni yarating" -ni tanlang (11.3, a), XML rejimida kontekst menyusi Bir xil mahsulotni tanlang (11.3, b), kontekst menyusidagi ma'lumotlar rejimida ushbu elementni tanlang (11.3, b), va nihoyat, ma'lumotlar rejimida XML asbob-uskuna tugmasini bosing (rasm. 11.3, d).


Anjir. 11.3.

Qanday bo'lmasin, hujjat sxemasi stol shaklida paydo bo'ladi (11.4-rasm). Keling, sxema rejimini qoldiramiz va (XML) rejimiga o'ting.


Anjir. 11.4.

Hujjat tarkibini tavsiflovchi XML kodini yaratdi.

Bunga ADO .NET ob'ektlaridan foydalangan holda sxema bo'yicha manipulyatsiya qilish uchun zarur bo'lgan tavsif kiradi. XMLiasy.xml manbasida manba hujjatida ma'lumotlar sxemasiga havola paydo bo'ldi:

XMLiasy.xSD hujjati avtomatik ravishda bir xil katalogning o'zida yaratilgan, u erda XMLiase.xml joylashgan.

XSD sxemalarini qanday tushunishni o'rganish uchun avval ma'lumotlarning tavsifi bilan qo'shimcha elementlarsiz ishlashi kerak. 11.1-jadvalda bir nechta oddiy XML hujjatlari va Ado-ga majburiy bo'lmagan sxemalarni taqdim etadi .Net ob'ektlari.

11.1-jadval. XSD sxemalarining misollari
XML hujjat tarkibi XSD sxema tarkibi

1

Tavsif
XMLiasy.xml hujjatida turk elementi - bu bola identifikator elementini o'z ichiga olgan ildiz elementidir. Ildiz elementi uchun umumiy sxema quyidagi shaklga ega:

: Conferent elementi ...

Qizil elementlar Quyidagicha tasvirlangan:

XML hujjat tarkibi XSD sxema tarkibi

1 Rul 25 000.00. Ikki katta yoshli vaucherlarning narxi bitta bolaning narxini o'z ichiga oladi (7 yilgacha) 2 Gretsiya 32 000.00. Avgust va sentyabr oylarida maxsus chegirmalar ishlaydi 3 Tirnoq 30 000.00. Havo tekshiruvi emas 4 Italiya 26 000.00. Mehmonxonada nonushta chipta narxiga kiritilgan 5 Frantsiya 27 000.00. Qo'shimcha ekskursiyalar chipta narxiga kiritilmagan

Tavsif
Ildiz elementi jadvalida, o'z navbatida, bolalar elementlari guruhidan bo'lgan turdagi elementi mavjud. Tanlov elementi boshqa elementlarni tanlash va "cheksiz" ning "cheksiz" qiymati (cheklanmagan) ning Maxuxoce Sayyohlik guruhlarining mavjudligini cheklash qobiliyatini ko'rsatadi.

: :

XML hujjat tarkibi XSD sxema tarkibi

1 Rul 25 000.00. 1 Ikki katta yoshli vaucherlarning narxi bitta bolaning narxini o'z ichiga oladi (7 yilgacha)


Anjir. 11.5.
Tavsif
Idtour element uchun, ST ma'lumotlar turi o'rnatildi, chunki element yopiq - dam olish uchun - sukut teri bo'yicha satrda. Siz ma'lumotlarni to'g'ridan-to'g'ri XML ma'lumotlari diagrammalarida o'zgartirishingiz mumkin, ammo qulayroq - sxema rejimida (bunday holatda) o'chirilgan ro'yxatidan ma'lumotlar turini tanlang (11.5-rasm):

Ichida dasturiy ta'minot Kurs uchun siz ushbu jadvaldagi barcha fayllarni XSD papkasida topasiz (kod \\ Glava5 \\ XSD).

Ma'lumot turini XML hujjatiga o'rnatish (oxirgi misol. 11.1) Tarkibni cheklashning usullaridan biridir. Qo'shimcha atributlar belgilangan turdagi qiymatni cheklash uchun qo'llaniladi. Tumanning quyidagi parchalarida element narxining qiymati 50 dan 100 tagacha bo'lishi kerak:

XML hujjatini cheklash uchun ba'zi belgilangan qiymatlar quyidagi dizayndan foydalanadi:

Bu erda ism elementi beshta mamlakatdan faqat bitta belgilangan qiymatni egallashi mumkin.

XSD sxemasini rivojlantirish juda rassomlik ishidir. Vizual media vizual studiyasi .net bu vazifani sezilarli darajada oshirishga yordam beradi. Asosiy tushunchalarni o'zlashtirish uchun avtomatik ravishda yaratilgan bir nechta XML hujjatlarini o'rganish maqsadga muvofiqdir. 11.2-11.4 jadvallar 11.2-11.4 bir vaqtning o'zida topilishi mumkin bo'lgan asosiy elementlar va atributlar tavsiflanadi.

11.2-jadval. XSD sxemalar
Element Tavsif
hammasi. Ichki elementlar tasodifiy tartibda aniqlanishi mumkin
anotoratsiya. Ota-ona elementlari elementlari - sharh va
har qanday. Har qanday qayd yozuvi
har doim. Har qanday atributlar
appinfo. Element sharhi. Sxema nomini belgilaydi
xususiyat. Xususiyat
attributegroup. Axborotlar guruhi
tanlash Boshqa elementlarni tanlash. Operatorning analoglari "|" DTD-da.
murakkab Cheklovlar yoki modelni kengaytirish Tarkib-kompleks turi
kompleksPE. Murakkab turning elementi
hujjat Element-sharh. Sxema haqida ma'lumot beradi
element. Element
kengaytirish Elementlarni kengaytirish
maydon Dala e'lonlari. Element ichida ishlatiladi Dalalarni aniqlash uchun
guruh. Elementlar guruhi
import Boshqa sxemadan turdagi deklaratsiyalarni import qilish
qo'shing. Mavjud nomdagi NomSebece-da boshqa sxemani yoqing
kalit. Boshqa elementga ishora qiladigan element yoki asosiy atributni belgilash
keyRef. Element yoki qaysi asosiy fikrlarni belgilash
ro'yxat Qiymatlar ro'yxatini o'z ichiga olgan element
qayta baholamoq Allaqachon e'lon qilingan narsalarni bekor qilish
cheklash Elementni cheklash
sxema. Tumanning ildiz eleli
selektor XML elementlarini tanlash uchun selektor
ketma-ketlik Boshqa elementlar ketma-ketligi. "," DTDda operatorning analoglari
sodda Model, uning mazmuni faqat ramziy ma'lumotlarni anglatadi
oddiy tartib. Oddiy turdagi element
ittifoq Bir nechta qiymatga ega bo'lishi mumkin bo'lgan element yoki xususiyat
noyob Noyob qiymatga ega bo'lgan element yoki xususiyat
11.3-jadval. Atributlar - XSD sxemalarning cheklanishi
Xususiyat Tavsif
Qiymatlarni qabul qilish
uzunligi. Uzunligi
maksimal uzunlik. Maksimal uzunlik
minl uzunlik Minimal uzunlik
maxexclusiyal. Maksimal qiymat
maksinclyuzer. Maksimal qiymat Inklyuziv
minexclusice. Minimal qiymat
miniinxly. Minimal qiymat inklyuziv
fraktsiyalash. Fraktsion raqamlardagi semiziklar soni
umumiy hisoblagichlar. Raqamlar soni
naqsh. Elementlar tarkibining namunasi (naqsh)
sukut. Odatiy element yoki atribut qiymati
elementformeForceFacult. Dunyo miqyosida belgilanganidek, mahalliy elementning xususiyatlarini o'rnatish
sobit Element yoki atributning belgilangan qiymati
shakl Mahalliy e'lon qilingan buyumlar hujjatlarning aniq nusxalarida belgilanadi.
implePe. Ro'yxat sahifalari turi
a'zolar. Birlik (ittifoq) da ishlatiladigan a'zolarning turi
maxaxlar. Elementlarning maksimal soni
minocurlar. Elementlarning minimal miqdori
aralashgan. Aralash turiga ega bo'lgan elementni o'rnatish
ism. Element yoki atributning nomi
nomlar hajmi. Kosmik nomlar
kassir. Hujjat sxemasini sozlash,
Sxemax natijada paydo bo'lmadi
ayyor Element bo'sh qiymatga ega bo'lishi mumkinligini aniqlash (nil)
ref. Dunyoni aniqlangan elementga havolalarni o'rnatish
sxemax Sxemaning manzilini aniqlash
o'rnini bosuvchi Elementlarni boshqa elementlar bilan almashtirishni aniqlash
maqsadNameSce. Natija
tur Element turi
ishlatmoq Bu majburiy yoki yo'q
qiymat. Diagramma elementi qiymati
xSI: NIL. XML hujjatining bo'sh (NULL) elementining haqiqiy tarkibini o'rnating
xSI: Sxemaction XML hujjatidagi elementning haqiqiy joylashuvi
xSI: XML hujjatida haqiqiy element turi

Ushbu bob XML sxemalarni qanday yozishni ko'rsatadi. Siz shuningdek, sxemani turli yo'llar bilan yozib qo'yishi mumkinligini bilib olasiz.

XML hujjati

Keling, ushbu XML - "Yetkazuvchi.XML" deb nomlangan hujjatga qarang:

XMLNS: XSI \u003d "http://www.w3.org/2001/xmlschemas-
XSI: noumespaschemsalocation \u003d "exereroder.xsd"\u003e
Jon Smit

Ola Nordmann.

LangGT 23.

4000 stavener
Norvegiya.


EmPire Burlesque
Maxsus nashr
1
10.90


Yuragingizni yashir.
1
9.90

Yuqoridagi XML hujjati ildiz elementi, "Yetkazisi", unda "buyurtma buyurtma" deb nomlangan majburiy atribut mavjud. "Yetkazuvchi" Elementda uchta turli xil bolalar elementlari mavjud: "Buyurtmach", "kema" va "mahsulot". "Mahsulot" element ikki marta ko'rinadi va unda "sarlavha", ixtiyoriy "nota" element, "narx" elementlari va "narx" elementlari mavjud.

Yuqoridagi satr: XMLNS: XSI \u003d "http://www.w3.org/2001/xlschemosi" deydi XML analizatori bu hujjat sxemada tekshirilishi kerak. Chiziq: XSI: noumespaskschemacation \u003d "Yetkazuvchi.xsd" sxema borligini ko'rsatadi va (Bu erda u xuddi shu papkada "Shiger.xml" sifatida .

XML sxemasini yaratish

Endi biz yuqoridagi XML hujjat uchun sxemani yaratmoqchimiz.

Biz "Yetkazuvchi.xsd" deb nomlagan yangi fayl ochilishidan boshlaymiz. Sxemani yaratish uchun biz shunchaki XML hujjatidagi tuzilishga amal qilishimiz va har bir elementni topsak, har bir elementni belgilashimiz mumkin. Biz Standart XML deklaratsiyasidan so'ng biz XS: Sxemani aniqlaydigan ayyorlikning elementi:



...

Yuqoridagi sxemada biz standart nomlar (x lar) dan foydalanamiz va uRi bu NemaCspece-dan foydalanamiz, u standart qiymatiga ega, http://www.w3.org/2001/2pschema-ning standart qiymatiga ega.

Keyin "Yetkazuvchi" elementni aniqlashimiz kerak. Ushbu element xususiyatga ega va boshqa elementlarni o'z ichiga oladi, shuning uchun biz buni murakkab tur sifatida ko'rib chiqamiz. Yetkazuvchining elementi elementlari element XS bilan o'ralgan XS bilan o'ralgan: quyi elementlarning buyurtma qilingan ketma-ketligini belgilaydigan ketma-ket elementi:




...


Keyin biz "Buyurtmachining" elementini oddiy tur sifatida belgilashimiz kerak (unda hech qanday xususiyat yoki boshqa elementlar mavjud emas). Tavzuni (XS: satr) prefiks prefiksi bilan, XML sxema bilan bog'liq bo'lgan Namors mastisti, bu diagrammadagi diagramma ma'lumotlarini oldindan belgilangan turini bildiradi:










Maxsus element uchun mumkin bo'lgan ko'rinishni, meskur va minocuratlar sifatlari bilan bog'liq bo'lgan chiqishlarning sonini aniqlashimiz mumkin. Maxocurs elementlar va minocurlar uchun maksimal holatlar sonini aniqlaydi, chunki mahsulot uchun minimal holatlar sonini belgilaydi. Mookars va Minocurlar uchun odatiy qiymat!

Endi biz "element" elementni aniqlay olamiz. Ushbu element "Yetkazuvchi" element ichida bir necha marta paydo bo'lishi mumkin. Bu "Belgilanmagan" elementning "elementi" elementlarining o'rnatilishi bilan belgilanadi, bu muallif xohlagan sari "elchi" element bo'lishi mumkinligini anglatadi. E'tibor bering, "eslatma" element majburiy emas. Biz buni minicurz muhitini nolga o'rnatish orqali aniqladik:










Endi biz elementni elementning "Yetkazuvchi" atributini e'lon qilishimiz mumkin. Bu majburiy atributdir, chunki biz foydalanishni aniqlaymiz \u003d "talab qilinadi".

Izoh: Atributal bayonotlari har doim oxirgi bo'lishi kerak:

"Yetkazuvchi.xsd" deb nomlangan sxema faylining to'liq ro'yxati:





























Sxemalarni ajrating

Oldingi dizayn usuli juda oddiy, ammo hujjatlar murakkab bo'lganda o'qish va saqlash qiyin bo'lishi mumkin.

Dizaynning quyidagi usullari barcha elementlar va atributlarning ta'rifiga asoslanadi, so'ngra ularga inmi atributlaridan foydalanib ularga murojaat qiladi.

Bu erda yangi sxema fayli dizayni ("Yetkazuvchi.xsd"):








































Noma'lum turlardan foydalaning

Uchinchi dizaynning usuli sinflar ta'riflarini qayta ishlatishga imkon beradigan sinflar yoki turlarni belgilaydi. Bu soddalashmalar va murakkablar elementlarini nomlash orqali amalga oshiriladi va keyin ularni element turining turdagi atributi orqali belgilash orqali amalga oshiriladi.

Bu erda sxema faylining uchinchi dizayni ("Yetkazuvchi.xsd"):

































Cheklov elementi ma'lumotlar turi W3C XML diagrammadan olingan ma'lumotlar bo'shatlaridan olinganligini bildiradi. Shunday qilib, quyidagi parcha element yoki atributning qiymati satr qiymati bo'lishi kerakligini anglatadi:

Cheklov elementlari ko'pincha buyumlarga cheklovlarni qo'llash uchun ishlatiladi. Yuqoridagi sxemadan quyidagi satrlarga qarang:





Bu element yoki atributning qiymati satr bo'lishi kerak, u satrda oltita belgidan iborat bo'lishi kerak va bu belgilar 0 dan 9 gacha bo'lgan raqam bo'lishi kerak.

Xdto - 1C-da veb-xizmatlarni yaratish va ulardan foydalanishda zarur bo'lgan 1C mexanizmi.

Xdto 1C paketlari ma'lumotlarni XML va XML-dan almashtirish uchun kerakli XML faylining tuzilishini tasvirlashga imkon beradi.

Kim qiziqadi - biz ko'proq savolni tahlil qilamiz.

XML fayllari ko'plab dasturlar bilan qabul qilingan Internet orqali uzatiladi.

Qabul qilingan - bu ularning kodi tikilgan bo'lsa - agar siz XML faylidagi elementning ma'lum bir nomini qondirsangiz - buni bu kabi idrok eting va buni amalga oshiring.

Shuning uchun, agar biz olma elementi nomidan foydalansak, boshqa biron bir dastur "deb o'ylash" bu mashhur Apple, ammo biz unga nimadir demoqchimiz.

Bu sodir bo'lmasligi va aniq ko'rsatilmaganligi uchun, bizning olma boshqalardan ajralib turishini aniq ko'rsatib turib, nomlar bo'shlig'ining nomi elementlar nomi bilan ishlatilgan faylda ko'rsatilgan.

Nom modeli aniqlanadi (Inglizcha nomli nomli) - XMLNS: nameProst \u003d "URL", masalan:
XMLNS: Do'kon \u003d "http://store.ru"

Nega sizga URL kerak?

Shuning uchun u bir vaqtning o'zida nom bo'shlig'i muallifini belgilaydigan o'ziga xos noyob identifikator bilan ko'rsatilgan.

Tabiiyki, bu ismlarning ismlari juda halol odamni ko'rsatadigan va uning saytiga ishora qilib, bitta sayt bilan bir nechta turli xil turmalarni ishlatmaydi.

Aytgancha, nafaqat saytning URL manzili, balki saytdagi ma'lum bir papkaning URL manzili ko'rsatadi, shunda siz boshqa vaziyatda foydalanish uchun saytdagi boshqa dadaschni yaratishingiz mumkin.

Ob'ekt o'ziga xos ma'lumotlar tuzilishi, o'zini o'zi o'z ichiga olgan barcha ma'lumotlarni o'z ichiga oladi.

Tuzilgan ma'lumotlar XMLda, ya'ni o'z xususiyatlariga ega bo'lgan struktura shaklida tasvirlanganligi sababli, keyin ularni ob'ekt sifatida topish mumkin.

Yuqoridagi misolda bu mulk ob'ekti va investitsiya qilinadigan element bilan ro'yxati bo'lishi mumkin.

Dom - bu XML faylini ma'lum bir formatda emas, balki xususiyatlar, maydonlar, maydonlar va boshqa ob'ektlar to'plamini ko'rib chiqish usuli.

XML fayl tavsifi

Agar biz ma'lum bir tuzilma faylidan doimiy ravishda almashish uchun doimiy ravishda almashish uchun biz shuni istaymiz:

  • Ma'lum ismlardan foydalanish
  • Biz kutadigan elementlarga ega bo'lish (bizning almashishimizda foydalanish uchun »
  • Shunday qilib, atributlar biz kutadigan turlarni (tor, raqam va boshqalar) ko'rsatadi.

XML tuzilmasini tavsiflash uchun quyidagi fayl formatlari standartlari mavjud (shuningdek, odatdagi matn faylida saqlanadi):

  • DTD kengaytmasi - hujjat turini aniqlash
  • XSD kengayish - XML \u200b\u200bShema.

Ikkala format ham hujjat qanday bo'lishi kerakligini tavsiflaydi. Bunday faylda tasvirlangan XML-ning muvofiqligini tekshirish tartibi tekshiriladi.

Xdto 1c - bu konfiguratsiyaga tavsif qo'shishga imkon beradi. XML fayl.. Aksincha, fayl tavsiflanmagan, ammo maxsus XML tuzilmalari.

Foydalanishi mumkin bo'lgan turlarni belgilash uchun - ro'yxatda ishlatiladigan turlar kutubxonasi ishlatiladi - bu XDO 1C fabrika deb ataladi.

Ushbu zavod boshqa tillarda, dasturlar va boshqalarda qo'llaniladigan oddiy turlari (son, raqam, sana), shuningdek, 1C va ma'lum bir konfiguratsiyada qo'llaniladigan 1C turdagi turlari kabi ko'rsatilgan.

XDO 1C fakultida bir nechta paketlardan iborat. Asosiy turlar www.w3.org verida tavsiflangan

Ushbu konfiguratsiya ma'lumotlarining turlari http://v8.1c.ru/8.1/data/entserpe/current-config paketda tavsiflangan

Tasdiqlash turlari Ingliz tilida so'zlashadigan turdagi (Macorgri, Celorghth, CamorcRef, Hujjatlar) qo'shilishi bilan turadi, masalan:

Kichiklashtirish.Nanklatura

XDOT 1C to'plamini qo'shish

Albatta, bularning barchasi salqin. XSLT nuqtasiga etib bormadik - XML \u200b\u200bfayllarini boshqa narsaga aylantirish uchun biz, masalan, HTML-da boshqa narsaga etib bordik. XML mavzusi juda katta va alohida kitobda ham yoqish qiyin.

Bizning vazifamiz - XDOT 1C, shakllanish yoki hisoblash uchun XML paketida elementlarni qanday belgilashi kerakligini tushunish.

Xdto 1C paketlari umumiy / XDOT 1C Paketidagi konfiguratsiyada.

1C-ga XDO paketini qo'lda qo'shing (salqin!), Lekin sxemaning tayyor tavsifi bilan tegishli XSD faylini olish yaxshiroqdir.

Har qanday konfiguratsiya ob'ektlarining XSD sxemasi tavsifi general / xd / soat 1C to'plamini bosish va XML konfiguratsiya sxemalarini eksport qilish orqali olish mumkin.

Matn fayli, siz uni Windows-ning Notepad-da tahrirlashingiz, sizga qo'shimcha, keraksiz narsalarni olib tashlashingiz mumkin.

Siz tugatish XSD sxemani 1C-ga, general / xd / Xdto 1C filialida va XML sxemalarini import qilish uchun to'g'ri tugmachani bosishingiz mumkin.

XDO 1C mexanizmidan foydalanish

XDOT 1C bilan ishlash XML va XML-dan qiymatlarni o'zgartirish.

Ishlar 1C Casinxml / Rejahon RecordXML til ob'ektlaridan foydalangan holda amalga oshiriladi.

XDO 1C mexanizmi bilan ishlashda siz ishlayotgan paketni ko'rsatishingiz kerak. Bu odatdagi paket bo'lishi mumkin (yuqorida muhokama qilingan, xd /ga qarang) yoki konfiguratsiya paketiga qo'shilgan. Paketni identifikatsiyalash paketda ko'rsatilgan URL manzilida amalga oshiriladi.

Ikkita asosiy oddiy usul Ishlar:

  • Serializatsiya - XML \u200b\u200bva aksinchadagi 1C qiymatlarini avtomatik ravishda konversiya qilish
  • Ob'ektni yaratish, uning dalalarini to'ldirish, XML (va shunga mos ravishda XML-dan o'qish, so'ngra o'z maydonlarini o'qish).

Serdializatsiya qiymatlariga misol:
Serializator \u003d yangi seriya ko'rfazixdto (figuralixdto);
Filexml \u003d Yangi rekorxxml ();
Filexml.text Fayl ("File");
Serializator. KulacxMLl (Filexml, qiymati 100);

Misolni o'qish / yozish Ob'ekt:

AccocxDto \u003d fictorxdto. Yaratilgan ("Http://v8.1c.Ru/0.1/data/entserpispe/current -CCLades");
To'ldirish (ma'lumotk-san'ati, katalogi, katalog);