Faili katika umbizo la XSD - ni nini na jinsi ya kufungua schema ya XSD. Jinsi ya kufungua faili ya XSD Schema za xml ni nini

Sura hii itakuonyesha jinsi ya kuandika schema za XML. Pia utajifunza kwamba mchoro unaweza kuandikwa kwa njia tofauti.

Hati ya XML

Hebu tuangalie hati hii ya XML inayoitwa "shiporder.xml":

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="shiporder.xsd">
John Smith

Ola Nordmann

Sura ya 23

4000 Stavanger
Norway


Empire Burlesque
Toleo Maalum
1
10.90


Ficha moyo wako
1
9.90

Hati ya XML hapo juu ina kipengele cha mzizi, "shiporder", ambacho kina sifa inayohitajika inayoitwa "orderid". Kipengele cha "shiporder" kina vipengele vitatu tofauti vya mtoto: "orderperson" , "shipto" na "item" . Kipengele cha "kipengee" kinaonekana mara mbili, na kina kipengele cha "kichwa", kipengele cha "noti" cha hiari, kipengele cha "kiasi", na kipengele cha "bei".

Mstari ulio hapo juu: Xmlns: XSI="http://www.w3.org/2001/XMLSchema-instance" humwambia mchanganuzi wa XML kwamba hati hii inapaswa kuthibitishwa. Mstari: XSI: noNamespaceSchemaLocation = "shiporder.xsd" inaonyesha mahali ambapo michoro iko (hapa iko kwenye folda sawa na "shiporder.xml") .

Kuunda Schema ya XML

Sasa tunataka kuunda schema ya hati ya XML hapo juu.

Tutaanza kwa kufungua faili mpya, ambayo tutaiita "shiporder.xsd". Ili kuunda schema tunaweza kufuata tu muundo katika hati ya XML na kufafanua kila kipengele tunapokipata. Tutaanza na tamko la kawaida la XML likifuatiwa na kipengee cha xs:schema ambacho kinafafanua utaratibu:



...

Katika mpangilio ulio hapo juu tunatumia nafasi za majina za kawaida (xs), na URI inayohusishwa na nafasi hii ya majina ni ufafanuzi wa lugha ya taratibu, ambayo ina thamani ya kawaida http://www.w3.org/2001/XMLSchema.

Ifuatayo, tunahitaji kufafanua kipengele cha "shiporder". Kipengele hiki kina sifa na kina vipengele vingine, kwa hivyo tunakichukulia kama aina changamano. Vipengele vya watoto vya kipengele cha "shiporder" vimezungukwa na xs: kipengele cha mfuatano ambacho hufafanua mfuatano uliopangwa wa subbelements:




...


Kisha lazima tufafanue kipengele cha "mpangaji" kama aina rahisi (kwani haina sifa yoyote au vipengele vingine). Aina (xs:string) imeanikwa na kiambishi awali cha nafasi ya jina kinachohusishwa na Schema ya XML, ambayo hubainisha aina ya data ya taratibu iliyoainishwa awali:










Kwa msaada wa mipango tunaweza kuamua idadi ya matukio iwezekanavyo kwa kipengele kilicho na sifa za MaxOccurs na MinOccurs. MaxOccurs hubainisha upeo wa idadi ya matukio ya kipengele na MinOccurs hubainisha idadi ya chini zaidi ya matukio ya kipengele. Thamani chaguo-msingi kwa MaxOccurs na MinOccurs ni 1!

Sasa tunaweza kufafanua kipengele cha "kipengee". Kipengele hiki kinaweza kuonekana mara nyingi ndani ya kipengee cha "shiporder". Hii inabainishwa kwa kuweka sifa ya maxOccurs ya kipengele cha "kipengee" kuwa "isiyo na mipaka" , ambayo ina maana kwamba kunaweza kuwa na matukio mengi ya kipengele cha "kipengee" kama mwandishi anataka. Kumbuka kuwa kipengee cha "kumbuka" ni cha hiari. Tulifafanua hili kwa kuweka sifa ya minOccurs kuwa sufuri:










Sasa tunaweza kutangaza sifa ya "shiporder" ya kipengele. Kwa kuwa hii ni sifa inayohitajika tunabainisha use="required".

Kumbuka: Taarifa za sifa lazima ziwe za mwisho kila wakati:

Hapa kuna orodha kamili ya faili ya schema inayoitwa "shiporder.xsd":





























Mizunguko tofauti

Njia ya awali ya kubuni ni rahisi sana, lakini inaweza kuwa vigumu kusoma na kudumisha wakati nyaraka ni ngumu.

Mbinu inayofuata ya muundo inategemea kufafanua vipengele na sifa zote na kisha kuzirejelea kwa kutumia sifa ya ref.

Huu hapa ni muundo mpya wa faili ya mpangilio ("shiporder.xsd"):








































Kutumia Aina Zilizotajwa

Njia ya tatu ya kubuni inafafanua madarasa au aina, ambayo inaruhusu ufafanuzi wa vipengele kutumika tena. Hii inafanywa kwa kutaja vipengele simpleTypes na complexTypes, na kisha kurejelea kupitia sifa ya aina ya kipengele.

Huu hapa ni muundo wa tatu wa faili ya mpangilio ("shiporder.xsd"):

































Kipengele cha kizuizi kinaonyesha kuwa aina ya data ilitolewa kutoka kwa nafasi ya majina ya aina ya data ya Schema ya W3C XML. Kwa hivyo kijisehemu kifuatacho kinamaanisha kuwa thamani ya kipengele au sifa lazima iwe thamani ya mfuatano:

Kipengele cha kizuizi hutumiwa mara nyingi zaidi kuweka vikwazo kwa vipengele. Angalia mistari ifuatayo kutoka kwa mchoro hapo juu:





Hii inabainisha kuwa thamani ya kipengele au sifa lazima iwe mfuatano, lazima iwe na herufi sita haswa kwa kila mstari, na herufi hizo lazima ziwe nambari kati ya 0 na 9.

Kila kitu kitakuwa kavu, bila lyrics, nk.

Hivyo. Waliniletea kazi. Fanya marafiki wa 1C na huduma ya nje ya kupokea ripoti katika mfumo wa faili ya xml.

Huduma ya tatu ina API yake ya kupokea faili, na kwa pato hutoa msimbo fulani wa "kundi", kwa kutumia ambayo ninaweza kupiga kazi nyingine na kupata kutoka kwa kundi hili taarifa zote za makosa ya kina.

Faili ya schema ya xsd ni ndogo, lakini kuna aina nyingi za data; kulingana na schema hii, faili ya XML iliyozalishwa kikamilifu inachukua takriban 200MB.

Matokeo yake, nilikuwa na mikononi mwangu faili fulani na ugani "xsd".

Wakati huo, sikujua ni nini au nini na jinsi ilivyoliwa.

Infostart ilisaidia sana (sio bila hiyo, bila shaka - asante sana).

Kuanza, hapa chini ni nyenzo ambazo nilitumia hadi nikakamilisha mradi huu mdogo, na kwa hivyo hapa kuna viungo vya kukusaidia ambavyo unaweza kuhitaji katika siku zijazo, nadhani hii ni "lazima iwe nayo" kwa wale wanaotaka kujifunza. Sheria za XDTO:

Matokeo ni nini?

Tafadhali angalia "sio ndani ya maji", lakini ndani ya kiini.

Mistari kuu hapa ni:

Ili kupata maelezo yoyote ya mali kwenye schema ya xsd, mimi hutumia muundo wa nambari ifuatayo:

Lakini nitasema kwamba nimeona njia zingine, kama wanasema, ni juu yako.

Matokeo ya Kielelezo 7 hadi 12

Inaonekana kama hii kwenye faili iliyokamilishwa:

Na hii ndio niliona (vizuri, gurus wa ndani wanaweza kuwa wamejua kwa muda mrefu).

Ni kama sheria na alama.

Fikiria mali ya "ContractCode".

Haya hapa maelezo yake:

Ikiwa mali hii ina fomu "Element", basi nambari inaonekana kama hii:

Wale. Mara moja ninaandika thamani kwenye parameter, tu "= sawa" na kwenda.

Ikiwa mali ina fomu "Element", lakini imeandikwa kwa ishara "+".

Kama hapa

Hivyo kanuni yake inaonekana tofauti kidogo

Wale. Lazima kwanza uunde aina hii kupitia kiwanda, upate aina ndogo zake, na kisha uwape maadili kutoka kwa data yako.

Na mwishowe hii ndio hufanyika.

Ikiwa katika schema mali hii ina fomu "kipengele"

Kisha ingizo lifuatalo litaandikwa kwenye faili iliyokamilishwa:

Wale. kila kitu kitarekodiwa ndani ya kinachojulikana. "vitambulisho".

Wale. mali ya "FundingType" ina kipengele cha mtoto "id" ambapo umbo lake ni "Sifa"

Katika kesi hii, nambari haitabadilika wakati imeandikwa:

Kumbuka kwamba msimbo huu unafanana na Mchoro 16

Kweli, matokeo yatakuwa tofauti kidogo:

Wale. thamani itaandikwa moja kwa moja kwa "tag" yenyewe.

Kuna mali kama "Jinsia"

Mara nyingi sana, wakati wa kufanya michakato ya biashara kiotomatiki, inahitajika kutoa hati za elektroniki kulingana na data iliyopangwa. Chanzo cha data iliyopangwa kwa kawaida ni saraka za mfumo wa DIRECTUM. Haja ya kutengeneza hati za elektroniki hutokea kwa sababu zifuatazo:

  • Hati ya elektroniki ni uwakilishi rahisi wa kuratibu habari. Uwezo wa kuonyesha data kutoka kwa vyanzo vingi vya data;
  • Uwezekano wa kufunga saini ya digital - ulinzi wa ziada wa matokeo ya idhini;

Kawaida, kutengeneza hati, hutumia ukuzaji wa ripoti zilizojumuishwa, ambazo, baada ya kizazi, zinaweza kuhifadhiwa kama hati za elektroniki kwenye kumbukumbu. Ubaya wa njia hii, kwa maoni yangu, ni kama ifuatavyo.

  • Nguvu ya juu ya kazi ya maendeleo, ambayo kawaida huhusishwa na hitaji la kupanga sehemu inayoonekana ya ripoti. Hii inatumika kwa ripoti za rtf na Excel/html katika mfumo wa DIRECTUM.
  • Kiolezo cha ripoti kinatayarishwa, ambacho hakiruhusu watumiaji wa mfumo kubadilisha mipangilio ya uwasilishaji. Kwa mfano, wateja mara nyingi wanataka kuongeza nembo zao kwenye ripoti zinazotolewa na mfumo.

Ninapendekeza kutumia chaguo mbadala kwa ajili ya kuzalisha nyaraka za elektroniki kulingana na template ya Excel, ambayo hutatua hasara zilizoelezwa hapo juu. Utaratibu huu unatokana na uwezo wa Excel wa kutumia vipengele vya schema ya data ya XSD iliyoambatishwa kwa ajili ya kuweka alama za violezo. Kipengele hiki kinapatikana kuanzia Excel 2003.

Nitatoa mfano wa alama za kiolezo cha hati "Taarifa ya Akaunti" katika Excel 2007. Njia ya chaguo la kuunganisha schema ya data ya XSD: Kichupo cha Msanidi programu (kwenye utepe)\Chanzo\XML Ramani...\Ongeza. Kisanduku kidadisi kitafunguka ili uchague faili inayoelezea schema ya data. Baada ya kuunganisha schema, vipengele vya schema ya XSD iliyounganishwa vitaonekana katika sehemu ya "Chanzo cha XML", ambayo inaweza kuhamishiwa kwenye seli yoyote ya kiolezo:

Ratiba ya XSD ni faili ya kawaida ya XML inayoelezea vipengele vya data. Schema ya XSD ya mfano hapo juu inaonekana kama hii:

Baada ya template kusanidiwa na mashamba ya data yamewekwa alama, unaweza kuihifadhi kwenye mfumo na kuongeza parameter kwenye mipangilio ambayo inaweza kuunganishwa katika maendeleo ya ISBL. Ili kuunda hati ya kielektroniki kulingana na kiolezo kilichobinafsishwa, unahitaji kufanya yafuatayo:

1. Tayarisha faili ya XML yenye data inayolingana na schema iliyounganishwa ya kiolezo cha XSD. Data ya XML ya schema ya XSD iliyoelezewa kwenye mfano itaonekana kama hii:

Uzalishaji wa hati ya XML kwenye ISBL lazima ufanywe kwa kutumia maktaba ya msxml.dll:

… REPORT_NAME = “Taarifa_ya_Kadi ya Akaunti” XMLDocument = CreateObject("MSXML.DOMDocument") ProcInstruction = XMLDocument.CreateProcessingInstruction("xml"; "version="1.0" encoding="windows-1251" standalone="ndiyo"") programu XMLDocument." ( ProcInstruction) RootElement = XMLDocument.CreateElement(REPORT_NAME) XMLDocument.appendChild(RootElement) …

2. Pata kiolezo cha hati na uhamishe kwenye diski.

... TemplateID = Const('xxx') Template = Edocuments.GetObjectByID(TemplateID) Template.Hamisha(VersionNumber; Njia; FALSE) ...

3. Fungua kiolezo kilichotumwa katika Excel na uhamishe data iliyotayarishwa kwake:

… Excel = CreateObject("Excel.Application") Kitabu = Excel.WorkBooks.Open(Njia) Laha = Book.WorkSheets(1) // Inapakia data kwenye Excel XmlMap = Book.XmlMaps(REPORT_NAME) XmlMap.ImportXML(XMLDocument.xml) ) Kitabu.Hifadhi Kitabu.Funga Excel.Toka ...

4. Ikiwa ni lazima, fungua hati kwa kutazama au mara moja uhifadhi hati katika hifadhi ya mfumo wa DIRECTUM.

Mfano wa hati iliyotengenezwa ya "Taarifa ya Akaunti":

Mbali na kusafirisha data kwa kiolezo cha Excel, unaweza pia kufanya kitendo kinyume - leta data kutoka kwa sehemu za alama za violezo. Wale. katika hali hii ya kazi, kiolezo cha Excel kitafanya kazi kama fomu ya kielektroniki ya kuingiza data inayoweza kuingizwa kwenye mfumo wa DIRECTUM.

Kuunda matatizo kwa watumiaji. Mmoja wao ni ugani wa XSD. Ni nadra sana katika mazoezi, kwa hivyo sio programu zote zinazoweza kuifungua. Wacha tuzungumze juu ya "monster" huyu ni nini na ni matumizi gani yanaweza kutumika kuifungua.

Kuchagua programu ya kufanya kazi na faili yenye kiendelezi cha XSD.

Umbizo la faili la XSD hutumiwa kufafanua aina ya data inayoonekana kwenye faili ya XML. Pia huanzisha uhusiano kati ya vigezo mbalimbali. Inaweza pia kuundwa na Mpango wa Muundaji wa Mchoro kwa ajili ya mpango wa kushona kwa Msalaba, ambao hutumika kama msaidizi kwa wanaoanza katika kushona kwa msalaba. Programu hii ni maarufu zaidi kati ya watu kama hao.

XSD: jinsi ya kufungua

Hebu tuchunguze kwa undani zaidi ni programu gani zinaweza kufungua XSD. Kuna idadi kubwa yao, lakini tutaangalia zile za msingi zaidi.


Bila shaka, inawezekana kutekeleza operesheni ya kufungua muundo huu kwa kutumia programu nyingine za kitaaluma. Hata hivyo, kupakua kwa kusudi hili tu ni kijinga na haina maana.


Kama ilivyo kwa wahariri wa XML, unaweza kufungua XSD kwa kutumia programu zingine. Ikiwa unaamua kutumia Neno, basi hii haitakuwa uamuzi sahihi hasa, kwani data itaonyeshwa ndani yake sawa na katika Notepad.

Kama ilivyotajwa mwanzoni mwa kifungu, XSD inatumiwa sana na watu wanaohusika katika upambaji. Katika kesi hii, faili inawasilishwa kama picha. Ili kuifungua na kuihariri, programu moja tu imeundwa - Muundaji wa Muundo wa kushona kwa Msalaba. Ndani yake unaweza kuona palette ya rangi na maelezo ya embroidery. Programu hii ni multifunctional sana, bure kabisa na inaweza kuwa Kirusi bila matatizo yoyote.

Uongofu kwa miundo mingine

Kutokana na muundo wa aina hii ya faili, haiwezekani kuwabadilisha kwa muundo mwingine. Walakini, ikiwa unafanya kazi na muundo wa embroidery, basi inaweza kubadilishwa kuwa JPG bila shida yoyote kwa kutumia Muundaji wa Muundo kwa kushona kwa Msalaba. Ili kufanya hivyo, chagua "Hamisha kwa faili ya picha" kwenye menyu ya programu, kisha uamilishe "Hamisha mchoro" na "Hamisha habari".

Kwa hivyo, umefahamiana na muundo wa XSD, ambao hauwezi kuwakilisha habari ya maandishi tu, bali pia picha. Kwa kweli, haijaenea kati ya watumiaji wa kawaida, lakini kwa watu ambao wana shauku ya embroidery, ugani huu ni muhimu. Tunatumai huna maswali yoyote. Ikiwa unayo, basi waulize kwenye maoni.

Faili za XSD mara nyingi hutumiwa kwa kushirikiana na hati za XML. Wanatoa maelezo ya faili ya XML na sheria ambazo inatii. Watumiaji mara nyingi huwa na swali kuhusu jinsi ya kufungua XSD. Huduma za kimsingi zilizowekwa tayari kwenye Kompyuta yako zinafaa kwa kutazamwa, lakini kwa uhariri utahitaji programu ya ziada.

Maelezo ya jumla ya umbizo la xsd

Kiendelezi cha ".xsd" ni kifupisho cha Ufafanuzi wa Schema ya XML. Kazi kuu ya faili zilizo na kiendelezi hiki ni kuelezea XML. Zinaweza kuwa na maelezo ya muundo, vipengele vya mtu binafsi, na sifa. Taarifa ina maandishi yaliyoandikwa katika lugha ya maelezo ya Schema ya XML. Lugha hii inatumika kuunda programu ya kufanya kazi na XML. Vipengele vya msamiati mwingine, sio tu Schema ya XML, inaweza kuunganishwa kwenye ".xsd".


Historia ya asili

Fomati ilianzishwa kwa mara ya kwanza mnamo 2001. Ilipendekezwa na Consortium ya Mtandao Wote wa Ulimwenguni. Shirika hili linatekeleza viwango vya teknolojia ya mtandao. Lengo la Consortium ni kufikia utangamano wa faili na vifaa kutoka kwa wazalishaji kutoka nchi mbalimbali.

Usanidi wa awali wa Schema 1.0 ya XML, iliyotumika katika kiendelezi cha ".xsd", ilitumika kwa miaka 11. Mnamo Aprili 5, 2012, Muungano uliidhinisha kuanzishwa kwa mpya - 1.1.

Jinsi na nini cha kufungua faili ya ugani ya xsd

Unaweza kuchagua chaguo tatu za jinsi ya kufungua faili yako ya XSD. Unaweza kutazama yaliyomo kwenye hati hata bila PC, kwa kutumia chaguzi za kivinjari.


Mtandaoni

Kivinjari kinatumika kutazama mtandaoni. Vivinjari vyote vya PC na simu vinafaa.

Schema ya XSD - jinsi ya kuifungua mtandaoni:

  • vivinjari vingine.

Kuangalia yaliyomo, ingiza njia ya faili kwenye upau wa utafutaji: "faili:///D:/document.xsd". Baada ya "faili:///" njia kwenye kifaa kilichochaguliwa imeonyeshwa, pamoja na jina.

Hasara kuu ya kutazama mtandaoni kwa muundo ni kutokuwa na uwezo wa kufanya mabadiliko kwenye muundo.

Kwenye kompyuta

Unapotumia programu zilizowekwa kwenye PC, chaguzi wakati wa kufanya kazi na zaidi. Huwezi tu kujua yaliyomo, lakini pia hariri maandishi.

Ikiwa sio lazima ufanye kazi kila wakati na umbizo, wahariri wa maandishi hutumiwa kudhibiti hati kama hizo. Programu zifuatazo zinafaa:

  • WordPad;

Hakuna tofauti za kimsingi katika programu. Microsoft Word ni rahisi zaidi kutoka kwa mtazamo wa uhariri, lakini WordPad ni ngumu zaidi kujifunza. Hata hivyo, utendaji wa programu haubadilika wakati wa kufanya kazi na muundo huu.

Programu rahisi zaidi ya kutazama muundo ni Notepad. Ili kutazama na kuhariri katika kihariri cha maandishi, fungua faili kwa amri ya "Fungua na ...", kisha uchague mhariri unaotaka kutoka kwenye orodha ya programu. Unaweza pia kufungua faili kupitia programu yenyewe kwa kuchagua kazi ya "Fungua" na kutaja njia ya kipengele.

Ikiwa watafanya kazi na Ufafanuzi wa Schema ya XML kitaaluma, basi programu kali zaidi hutumiwa kutazama na kuhariri. Vihariri vya XML vimesakinishwa, ambavyo ni pamoja na:

  • na wengine.

Wataalamu wanapendelea programu ya pili. Inafaa kwa kufanya kazi kwenye Windows, Linux, Microsoft na hukuruhusu sio kurekebisha tu, bali pia kuunda faili za muundo unaohusika. Jedwali la multifunctional hutumiwa kwa uhariri.

Ni shida gani zingine zinaweza kuwa na faili ya xsd?

Hata ikiwa unajua muundo wa xsd ni nini, jinsi ya kufungua faili ya aina hii, wakati mwingine matatizo ya ziada hutokea. Ugumu kuu ni kwamba kuna aina mbili za faili za Ufafanuzi wa Schema ya XML. Ya kwanza ni maandishi, ambayo yana maagizo na maelezo. Zinafunguliwa kwa kutumia njia zilizo hapo juu. Lakini aina ya pili, isiyo ya kawaida pia imetengenezwa - mifumo ya kushona ya msalaba. Hizi ni picha, sio maandishi.


Kwa nje, aina hizi mbili za faili sio tofauti; zina ugani sawa. Ikiwa kosa linaonyeshwa wakati wa kujaribu kufungua hati mtandaoni au kutumia mhariri wa maandishi, inamaanisha kwamba mtumiaji anaangalia picha. Inaweza kufunguliwa kwa njia moja tu - kwa kutumia programu iliyoundwa mahsusi kwa mifumo ya embroidery.

Huduma imewekwa kwenye PC. Programu ya kufungua xsd inaweza kupakuliwa bila malipo na kwa tafsiri ya Kirusi. Katika Kitengeneza Muundo Kwa Mshono Msalaba, huwezi kutazama tu ruwaza za xsd, lakini pia kuhariri na kuunda faili zako mwenyewe.

Muundo sio ngumu kuelewa. Hata anayeanza ataweza kufungua faili mara ya kwanza kwa kutumia kihariri cha maandishi au Notepad iliyosakinishwa awali kwenye Kompyuta.