Pyetjet e bëra më shpesh në lidhje me gjuhën e zgjerueshme të shënimit

Editor: Peter Flynn

Original URL: https://xml.silmaril.ie/

Përmbajtja

1. Skicë

1.1 Çfarë është XML?

1.2 Cila është gjuha e shënimit?

1.3 Çfarë është XML?

1.4 Çfarë është SGML?

1.5 Çfarë është HTML?

1.6 Çfarë bëjnë të gjitha këto standarde?

1.7 A ka një version HTML të HTML?

1.8 Çfarë është HTML5?

1.9 A janë XML, SGML dhe HTML të njëjta?

1.10 Kush është përgjegjës për XML?

1.11 Pse është XML një zhvillim kaq i rëndësishëm?

1.12 Pse të mos përhapet vetëm HTML?

1.13 Të konvertohet XML në XML?

1.14 Pse duhet të përdor XML?

1.15 Ku mund të gjej më shumë informacion rreth XML?

1.16 Ku mund të diskutoj zbatimin dhe zhvillimin e XML?

1.17 Cili është ndryshimi midis XML dhe C ose C + + ose Java?

2. Përdorues të vazhdueshëm

2.1 Çfarë duhet të porosis për të përdorur XML?

2.2 Si duket XML (brenda)?

2.3 A duhet të përdor XML në vend të HTML?

2.4 Dikush më dërgoi një skedar XML. Si ta marr atë?

2.5 Si mund ta kontrolloj formatimin XML?

2.6 Ku mund ta rimbush shfletuesin XML?

2.7 Si mund të nis ose ekzekutoj një skedar XML?

2.8 A duhet të kaloj nga SGML ose HTML në XML?

2.9 A mund të përdor XML për aplikacione të rregullta zyre?

3. Autorët

3.1 A duhet të njoh HTML ose SGML përpara se të mësoj për XML?

3.2 Si i ndan XML hapësirat boshe në dokumentet e tij?

3.3 Cilat pjesë të dokumentit XML janë të ndjeshme ndaj shkronjave të mëdha apo të vogla?

3.4 Si mund t'i transformoj me lehtësi të dhënat e mia në XML?

3.5 Si mund të krijoj skedarë ekzistues HTML në formatin XML?

3.6 Si të konvertohet XML në një format tjetër skedari?

3.7 Nëse XML është vetëm një nëngrup i SGML, a mund të përdor mjetin tim ekzistues SGML?

3.8 Përgatit dhe komandoj HTML. Por a mund të mësoj lehtësisht XML?

3.9 A mund të përdorë XML karaktere jo latine?

3.10 Çfarë është DTD dhe ku mund ta marr atë?

3.11 A krijon XML etiketa të personalizuara?

3.12 Si mund të krijoj llojin tim të dokumentit?

3.13 A mundet një DTD të deklarojë në mënyrë eksplicite llojin e elementit rrënjë?

3.14 Do të vazhdoj të dëgjoj për alternativat e DTD. Cila është skema?

3.15 Si preken lidhjet XML nga dokumentet e mia?

3.16 A mund të kodoj matematikën duke përdorur XML?

3.17 Si i përpunon XML të dhënat e mia meta?

3.18 Si mund të përdor grafikë në XML?

3.19 Çfarë është analizimi dhe si mund ta bëj atë në XML?

3.20 Si mund të përfshij një skedar XML në një tjetër?

3.21 Kur duhet të përdor seksionin CDATA?

3.22 Si mund ta përpunoj HTML-në e integruar në XML-në time?

3.23 Çfarë janë karakteret speciale në XML?

3.24 Cilat skema të tjera etiketimi ekzistojnë?

4. Zhvilluesit

4.1 Ku është specifikimi?

4.2 Do të përpiqem të kuptoj Specifikimin XML: pse ka një terminologji kaq të komplikuar?

4.3 Cilat janë shprehjet pa DTD, të vlefshme dhe të formuara mirë?

4.4 Çfarë duhet të përdor në DTD / skemë, atribute ose elementë?

4.5 Çfarë ka ndryshuar midis SGML dhe XML?

4.6 A mund të përdor JavaScript, ActiveX etj. në skedarët XML?

4.7 A mund të përdor Java për të krijuar ose menaxhuar skedarë XML?

4.8 Si mund të shtoj XML në bazën time të të dhënave apo prej saj?

4.9 Cila është hapësira e emrit?

4.10 Ku disponohet softueri XML?

4.11 Softueri mungon.

4.12 Po në lidhje me informacionin tim? TË DHËNA apo DOKUMENT?

4.13 A duhet të ndryshoj ndonjë nga programet e mia të sigurisë, me të cilat duhet të punoj nga XML?

4.14 A mund të përdor akoma përfshirjen nga ana e serverit?

4.15 A mund të përdor akoma unë (dhe autorët e mi) përfshirjen e faqeve?

4.16 Si menaxher / klient / investitor / konsulent, unë duhet të prodhoj një raport XML. Çfarë duhet të kujtoj?

4.17 A ka një grup për testimin e pajtueshmërisë për procesorët XML?

4.18 Kam marrë SGML DTD: si ta konvertoj atë në S XML?

4.19 Si mund të përfshij një DTD (ose fragment) në një tjetër?

4.20 Si mund të përfshij një deklaratë të kushtëzuar në XML-në time?

4.21 Cila është historia për XML dhe EDI?

5. Suplementet

5.1 Letërsia.

5.2 Deri ku po shkojmë?

5.3 FAQ të Brez XML.

5.4 Softuer i integruar XML.

Seksioni 1: Programi mësimor

Informacione të përgjithshme rreth XML

1.1 Çfarë është XML? XML është një gjuhë shënjuese e zgjeruar. Ai përmirëson funksionalitetin e uebit duke ju dhënë të dhëna më të sakta, fleksibël dhe të adaptueshme. Është e zgjerueshme, sepse nuk është solide, si HTML (e cila është një gjuhë, e paracaktuar për shënimin ). Në vend të kësaj, XML është një meta-gjuhë dhe një gjuhë për përshkrimin e gjuhëve të tjera, e cila ju lejon të krijoni gjuhë për shënimin e llojeve të pakufizuara të dokumenteve. XML mund të porositet sepse është shkruar në SGML, meta-glosari standard ndërkombëtar për shënimin e dokumenteve tekstuale (ISO 8879). 1.2: Cila është gjuha e shënimit? Si të përshkruani atë që është në dokument. Gjuha e shënimit është një seri frazash dhe simbolesh që përshkruajnë identitetin ose funksionin e pjesëve individuale të dokumentit (për shembull, "ky është një paragraf", "ky është një titull", "kjo është një listë", "ky është titulli i këtij numri” etj.). Programet mund të përdorin etiketën e stilit për të kthyer dokumentin në ekran për dalje, printim, audio, video, Braille ose riprogramim të formateve të të dhënave. Disa gjuhë shënjimi (veçanërisht ato që përdoren në urejevalniki besedil) përshkruajnë vetë lëkurën ("është shtrirë", "Është e trashë", "ka 3 mm hapësirë ​​poshtë", etj.), kështu që vetëm ato sisteme mund të përdoren për shikim Në fund të fundit, është e lehtë për t'u ripërdorur. XML nganjëherë referohet si "vetë-shtypës", pasi mund të përdoret për të identifikuar elementë që përmbajnë një lloj përmbajtjeje (p.sh. titulli, titulli, lidhjet, etj.). 1.3: Çfarë është XML? XML është menduar për njohje, transmetim dhe ruajtje.
Qëllimi i tij është të mundësojë që SGML gjenerike të punojë, të merret dhe të përpunohet në ueb në një mënyrë që tani është e mundur me HTML. XML është projektuar për zbatim të lehtë dhe bashkëpunim me SGML dhe HTML.
(Bray, Paoli, Sperberg-McQueen, Maler dhe Yergeau, 2004) Pavarësisht përpjekjeve të hershme, shfletuesit nuk lejuan ngjarje të tjera SGML, vetëm HTML (megjithëse shtojcat u aktivizuan). Shfletuesit lejuan (madje inkurajuan) autorët të dëmtojnë ose thyejnë HTML-në e tyre për ta bërë atë "më fals". Kjo mundësoi përhapjen e HTML dhe zhvillimi i tij vazhdoi për më shumë se dhjetë vjet, sepse mund të programohej në mënyrë të besueshme. XML thotë se rregullat duhet të ndiqen dhe rregullat e renditjes janë shumë më të lehta se SGML. Por XML nuk është vetëm për faqet e internetit: në fakt, përdoret rrallë për faqet e internetit, sepse shfletuesit ende nuk ofrojnë mbështetje të besueshme për dizajnin e tyre. Përdorimet e zakonshme për XML me: Të dhëna për njohje Ju mund të përcaktoni markën tuaj, në mënyrë që të mund të përcaktoni emra kuptimplotë për të gjithë elementët tuaj të informacionit. Ruajtja e informacionit Meqenëse XML transmetohet dhe nuk mbrohet, mund ta përdorni për të ruajtur informacionin në të gjitha platformat. Ker mbështetet nga standardet ndërkombëtare, kështu që mbetet i aksesueshëm dhe i aksesueshëm në formën e të dhënave. Struktura e të dhënave Struktura XML mund të jetë një "fole", kështu që mund të përdoret për të ruajtur dhe njohur informacionin hierarkik, veçanërisht skedarët e dokumenteve të gjata, të thella ose komplekse ose burimet e të dhënave, gjë që e bën atë ideale për menaxhimin e pjesës së pasme të qytetit për menaxhimin e informacionit. Ky është një nga aplikacionet më të zakonshme në internet me një sistem transformimi që shërben si HTML. Botuesi origjinal i synuar XML u specifikua në hyrje në fillim të këtij seksioni. Duke kombinuar tre temat e mëparshme (identiteti, ruajtja dhe struktura), ju mund të merrni të gjitha përfitimet e menaxhimit dhe kontrollit të dokumenteve të ngurta (XML) dhe ta publikoni atë në ueb (si HTML) dhe në letër (në format PDF) dhe në të tjera formatet (p.sh. Braille , Avdio, etj.) Ajo paralajmëroi se transferimi i të dhënave XML përdoret gjithashtu shumë fort për të bashkangjitur ose shkëmbyer informacion në mënyrë që ta transferojë atë midis sistemeve të ndryshme kompjuterike, të cilat përndryshe nuk do të ishin në gjendje të komunikonin për shkak të formateve të të dhënave të pronarit ose sekret. Duke ofruar një strukturë lingua franca të të dhënave dhe identitetit që ofron një "kornizë" të përbashkët XML për komunikimin ndërprocesor (sporočanje). Spletne storitve Në bazë të këtyre të dhënave dhe përdorimit të tyre në shfletues, mund të përpunohen të dhëna, të cilat mund të përpunohen ndërmjet sistemeve me pëlqim, ku njerëzit (HTML) ishin kuptuar më parë. Shërbimet e motit, faqet e internetit për e-poslovanje, bloget për fillestarët, faqet e internetit të AJaX dhe mijëra shërbime të tjera të shkëmbimit të të dhënave, të tilla si aplikacionet e smartfonëve, përdorin menaxhimin dhe transmetimin XML dhe shfletuesit e uebit ose aplikacionet për shikim dhe ndërveprim. 1.4: Çfarë është SGML? Gjuha standarde e përgjithshme e shënjimit, ISO 8879: 1986 SGML është një gjuhë standarde e përgjithshme e markimit (ISO 8879: 1986), e cila është një standard ndërkombëtar për përcaktimin e markave që përshkruan strukturën e llojeve të ndryshme të dokumenteve elektronike. Pyetjet e shpeshta të SGML nga David Megginson janë në dispozicion në http://math.albany.edu:8800/hm/sgml/cts-faq.html; Faqja e internetit SGML Robin Cover është në dispozicion në http://www.oasis-open.org/cover/general.html. Për një përmbledhje të shpejtë dhe listën e viruseve të uebit dhe të printimit, vizitoni http://wiht.link/SGML-intro. Për një lehtësim të vogël, provoni "To ni pršanje SGML" të Joe English në http://www.flightlab.com/~joe/sgml/faq-not.txt. SGML është shumë i madh, i fuqishëm dhe gjithëpërfshirës. Ishte i vështirë, përdorim industrial dhe tregtar për gati dy dekada (dhe është ende në disa vende) dhe ka shumë ekspertizë në programim që u rrit prej tij, shumica e saj tani është në dispozicion si XML. XML është një version paksa i reduktuar i SGML që ruan mjaft veçori për të qenë i dobishëm, por heq të gjitha veçoritë shtesë që e bënë SGML shumë të komplikuar për programimin në ueb. 1.5: Çfarë është HTML? Gjuha e shënjimit të HyperText, RFC 1866, gjuha e faqes në internet. HTML është gjuha e shënimit për HyperText (më parë RFC 1866, tani HTML 4.01), e cila filloi si një aplikacion i vogël SGML për një paketë të krijuar nga Tim Berners-Lee në CERN në 1989-90. Fillimisht, është përcaktuar një stil shumë i thjeshtë dokumenti i titujve, paragrafëve, listave, tabelave dhe fotografive, por ka shumë pak përfaqësim të elementeve (Flynn, 1995) dhe disa elementeve hipertekst dhe multimedial. Shikoni pyetjen e zgjerimit HTML. Aktualisht rekomandohet nga W3C me XML HTML, XHTML; Një version më celular dhe me përmbajtje i HTML5. Ekziston gjithashtu një FAQ e veçantë rreth HTML dhe XHTML, e menaxhuar nga Steven Pemberton në http://www.w3.org/MarkUp/2004/xhtml-faq 1.6: Çfarë bëjnë të gjitha këto standarde? Të gjithë mbështesin XML, kar mbështet të tjerët. Standardi origjinal është standardi ISO 8879: 1986 i Përgjithësuar i Gjuhës së Shënjimit, pra është global dhe ndërkombëtar (shih më poshtë). XML në vetvete nuk është një standard ISO: ne nuk jemi biti, sepse është a) profili i përdorimit të SGML, i cili mundësohet me amendamentin teknik "Përshtatja WebSGML" (2), në përputhje me ISO 8879; Në b) rekomandimin e W3C, që do të thotë se procedura zyrtare është afërsisht e barabartë me standardizimin. Nga ana tjetër, ai ka një referencë në standardin HTML ISO ISO / IEC 15445: 2000 (E), por HTML është një gjuhë e veçantë shënjimi, përdorimi aktual i SGML dhe XML, pasi XML dhe SGML janë në të vërtetë një meta-gjuhë për përcaktimin e gjuhëve të tjera të shënjimit. Aplikacione të tjera XML, si DocBook dhe TEI, kanë proceset e tyre të zhvillimit. DocBook standardizira Departamenti teknik i DocBook OASIS (Organizata për zhvillimin e standardeve të standardizuara të informacionit); Udhëzimet e TEI rregullohen nga kodi teknik i TEI TE për kodimin e tekstit. Procesi i krijimit të një shkëmbimi standard të specifikimeve të dokumenteve (që në thelb është ajo për të cilën bëhet fjalë) është i gjatë dhe i përfshirë. Ken Holman shkroi një ese mbi mënyrën se si procesi i grupit të departamentit teknik të anëtarëve të OASIS mbështet iz industrije ali göspečnega sektorja gjatë zhvillimit të specifikimeve për dokumentet tregtare.
ISO standardi, si me SGML, menaxhohet nga Organizata Ndërkombëtare për Standardizim në Gjenevë, Zvicër, dhe ka votuar në favor të përfaqësuesve të organit kombëtar për standardizim në secilin vend. Nëse keni pyetje në lidhje me një standard ndërkombëtar, kontaktoni organin tuaj kombëtar të standardizimit në emër të përfaqësuesit të vendit tuaj në fushën përkatëse ose grupin e punës të ISO. Nëse keni pyetje rreth përfaqësimit të vendit tuaj në Gjenevë ose veprimit si organi juaj kombëtar i standardizimit, ju lutemi kontaktoni departamentin përkatës qeveritar në vendin tuaj ose kontaktoni përfaqësuesin tuaj publik. Zastopanje drava dranzo ISO në pyetjet e duhura. Izdajateljev mos kërkoni informacion se si dhe pse përfaqësuesit tuaj ISO votuan pro ose kundër një standardi të caktuar.
1.7: A ka një version HTML të HTML? Po, XHTML nga W3C W3C rekomandoi XHTML, i cili "riformon HTML 4 në XML 1.0". Ky specifikim përcakton HTML si një aplikacion XML dhe ofron tre DTD që korrespondojnë me ato të përcaktuara në HTML 4. * (Strike, Transparente dhe Struktura e kornizës). Semantika e elementeve dhe atributet e tyre përcaktohen në rekomandimin e W3C për HTML 4. Semantika, qëllimi i së cilës është të sigurojë bazën për XHTML të zgjeruar në të ardhmen. Përputhshmëria me shfletuesit ekzistues HTML është e mundur në përputhje me një grup të vogël udhëzimesh (shih faqen W3C). 1.8: Çfarë është HTML5? XHTML i ri për përdorim në një mjedis ndërveprues dhe celular. Nëse dëshironi një shërbim XHTML të shtrirë në mjedise të vogla dhe interaktive, W3C ka zhvilluar një rishikim të XHTML të quajtur HTML5, i cili shton më shumë veçori prezantimi, mbështetje më të mirë për pajisjet multimediale dhe celulare dhe ka më pak modele dokumentesh. Ekziston një shpjegim nga Elliotte Rusty Harold dhe një FAQ HTML5 nga WhatWG. HTML5 në lidhje me CSS3 tani konsiderohet standardi mbizotërues për zhvillimin e uebit. 1.9: A nuk janë XML, SGML dhe HTML e njëjta gjë? Jo, SGML dhe XML janë metagjuhë. HTML, XHTML dhe HTML janë të gjitha aplikimet e tyre. Jo ne te vertete; SGML është një gjuhë amtare dhe përdoret për të përshkruar mijëra lloje të ndryshme dokumentesh në shumë fusha të përpjekjeve njerëzore, nga transkriptimet e dorëshkrimeve të lashta irlandeze deri te dokumentacioni teknik për bombarduesit vjedhurazi dhe nga të dhënat mjekësore dhe klinike të pacientëve deri te shënimet muzikore. Sidoqoftë, SGML është shumë i madh dhe kompleks dhe peshon më shumë se aplikacionet më të zakonshme të desktopit të zyrës. XML është një version i shkurtuar i SGML, duke e bërë më të lehtë përdorimin në ueb, më të lehtë për të përcaktuar llojet e dokumenteve tuaja dhe më të lehtë për programuesit që të shkruajnë programe përpunimi. Ai i anashkalon të gjitha opsionet komplekse dhe më pak të përdorura të SGML në këmbim të përfitimeve të shkrimit më të thjeshtë të aplikacionit që është më i lehtë për t'u kuptuar dhe më i përshtatshëm për ofrimin dhe ndërveprueshmërinë në internet. Por ende bazohet në SGML dhe skedarët XML mund të përpunohen ende në të njëjtën mënyrë si çdo skedar tjetër SGML (shih pyetjen për softuerin XML). HTML, XHTML dhe HTML5 janë vetëm aplikacionet XML që përdoren më shpesh në ueb. Lexuesit teknikë mund ta kenë më të dobishme të mendojnë për XML si SGML - në vend të HTML. (Ed: Lidhur me atë paragrafin e fundit, shihni Cili është ndryshimi midis XML dhe C ose C++ ose Java dhe Si mund të ekzekutoj ose ekzekutoj një skedar XML?.) 1.10: Kush është përgjegjës për XML? W3C XML është një rekomandim i Konsorciumit World Wide Web (W3C), dhe zhvillimi i specifikimeve mbikëqyret nga Grupi i Punës XML. Një grup i veçantë interesi i kontribuesve të zgjedhur dhe ekspertëve nga fusha të ndryshme dhanë komente dhe komente përmes emailit. XML është një format publik: nuk është një zhvillim pronësor i ndonjë kompanie, megjithëse anëtarësimi i WG dhe SIG përfaqësonte kompani, si dhe institucione kërkimore dhe akademike. Specifikimi v1.0 u miratua nga W3C si një rekomandim më 10 shkurt 1998. 1.11: Pse XML është një zhvillim kaq i rëndësishëm? Ajo kapërcen jofleksibilitetin e HTML dhe kompleksitetin e SGML Ai heq dy kufizime që mbajnë zhvillimin e uebit:
  1. Varësia nga një lloj dokumenti i vetëm, jo ​​fleksibël (HTML) që është abuzuar gjerësisht për detyra për të cilat nuk ishte menduar kurrë;
  2. Kompleksiteti i SGML-së së plotë, sintaksa e të cilit lejon shumë opsione të fuqishme, por të vështira për t'u programuar.
XML lejon zhvillimin fleksibël të përdoruesve të llojeve të caktuara të dokumenteve. Ai siguron një format skedari të fortë, të pasigurt, të qëndrueshëm dhe të verifikueshëm për ruajtjen dhe transferimin e tekstit dhe të dhënave në dhe nga faqja e internetit; Hiqni opsionet më të komplikuara SGML, gjë që e bën programimin më të lehtë. 1.12: Pse të mos përhapet vetëm HTML? HTML është i mbingarkuar me shtojca të pronarit. HTML është se ka marrë parasysh më shumë se dhjetë shpikje interesante, por të papajtueshme të prodhuesve të ndryshëm, sepse ofron vetëm një mënyrë për të përshkruar të dhënat tuaja. XML lejon grupe njerëzish ose organizatash të krijojnë aplikacionet e tyre të personalizuara të shënjimit për shkëmbimin e informacionit në domenin e tyre (muzikë, kimi, elektronikë, turizëm, financa, surfing, gjeologji nafte, gjuhësi, gatim, thurje, yje, hartografi, histori, inxhinieri, lepujt, matematika, gjenealogjia, etj.). Fillimisht i bazuar në HTML, ai tani e tejkalon shumë dobinë e tij si një mjet informacioni dhe përshkrimi, pasi XHTML dhe HTML5 vazhdojnë të luajnë një rol të rëndësishëm në përmbajtjen që mund të përfaqësojë shumë aplikacione të reja që kërkojnë një infrastrukturë të fuqishme dhe fleksibël. 1.13: A do të zëvendësojë XML HTML? Epo. Epo. XML në vetvete nuk zëvendëson HTML. Në vend të kësaj, ai ofron një alternativë që ju lejon të përcaktoni grupin tuaj të elementeve të shënjimit. Pritet që megjithëse HTML do të mbetet në përdorim të zakonshëm në ueb, versionet aktuale të HTML (XHTML dhe HTML5) janë në sintaksë XML. XML bazohet në atë mënyrë që shkrimi i softuerit të përpunimit është shumë më i lehtë se SGML, i cili është baza e HTML-së origjinale. 1.14: Pse duhet të përdor XML? Është një format i fortë, i qëndrueshëm, i manipulueshëm dhe i lirë për njohjen, ruajtjen dhe transferimin e informacionit. Këtu janë disa arsye për përdorimin e XML (pa urdhër të veçantë). Të gjitha nuk do të jenë të vlefshme për nevojat tuaja dhe ndoshta ju keni druge razloge ki niso navedi tukaj (nëse është kështu, naj bralnik pogoto pogga!). Peter Flynn shkruan: Pse të mos përdorni vetëm Word ose Notes? Formatet e kufizuara të të dhënave pronësore nuk janë të përshtatshme për informacion të përhershëm publik. Informacioni në lidhje me një rrjet që lidh shumë lloje të ndryshme kompjuterësh duhet të jetë i zbatueshëm për të gjithë ata. Në veçanti, informacioni publik nuk mund të lejojë që të kufizohet në një markë, model ose prodhues, ose t'i dorëzojë kontrollin e formatit të të dhënave të tij tek duart private. Është gjithashtu e dobishme që një informacion i tillë të jetë në një formë që mund të ripërdoret në mënyra të ndryshme, pasi kjo minimizon humbjen e kohës dhe përpjekjes. Formatet e personalizuara të të dhënave, pavarësisht sa mirë të dokumentuara apo të promovuara, thjesht nuk janë një opsion: kontrolli i tyre është ende në duar private dhe ato mund të ndryshohen ose tërhiqen sipas dëshirës pa paralajmërim. SGML është standardi ndërkombëtar për përcaktimin e këtij lloj aplikacioni dhe për këtë arsye ishte një zgjedhje e natyrshme për XML, por ata që kanë nevojë për një alternativë të bazuar në softuer të tjerë për qëllime të tjera janë plotësisht të lirë të zbatojnë shërbime të ngjashme duke përdorur një sistem të tillë, veçanërisht nëse ato janë për përdorim privat. 1.15: Ku mund të gjej më shumë informacion rreth XML? Burimet online dhe offline Në internet, do të gjeni specifikimet XML dhe dokumentacionin shtesë të disponueshëm nga W3C. Faqet e kopertinës XML Robin me një listë të gjerë të materialeve referuese në internet dhe lidhjeve të softuerit; Dhe një përmbledhje dhe pyetje të shkurtuara nga Tim Bray; Dhe mijëra burime referimi të disponueshme duke shtypur "xml" në Google ose në një motor tjetër kërkimi. Për burimet jashtë linje, shihni listat e librave, artikujve dhe programeve kompjuterike për XML në faqet e kopertinës XML në Robin Cover (Artikuj dhe libra). Kjo faqe duhet të jetë gjithmonë porta juaj e parë e thirrjes për burimet e arkivuara. Për qasje te ekspertët, veçanërisht në konsultime dhe trajnime, shihni XML Guild, anëtarët e të cilit formojnë një konsorcium të disa prej konsulentëve më të mirë të pavarur në botë. Ngjarjet e renditura më poshtë janë ato për të cilat fola. Më dërgoni email nëse hasni ndonjë tjetër: ka shumë ngjarje të tjera XML në mbarë botën dhe shumica e tyre shpallen në listat e postimeve dhe grupet e lajmeve. Ngjarje të ardhshme XML Londër XML XML dhe XML (Semantic Web Conference) do të mbahen në Fakultetin e Inxhinierisë të Kolegjit Universitar të Londrës (Roberts Building) më 10-11 qershor 2017. Balisage Konferenca e Njoftimit Balisage është një takim i madh teknik, veçanërisht në lidhje me shënimin, duke përfshirë XML dhe TEX: do të mbahet në Bethesda më 1-4 gusht 2017, me një simpozium lobi më 31 korrik. Konferenca e Shkencave Humane Dixhitale 2017 Konferenca e Shkencave Humane Dixhitale 2017 do të mbahet në Montreal më 8-11 gusht 2017, e organizuar nga Universiteti McGill dhe Université de Montréal. Tema e DH2017 është "Qasja". Përdorimi i shënjimit XML (TEI) është një pjesë e fortë e konferencave të DH. DH2018 do të mbahet në Mexico City, i organizuar nga El Colegio de México dhe Universidad Nacional Autónoma de México (UNAM) në aleancë me Red de Humanidades Digitales (data do të shpallet). Konferenca e TEI Konferenca e TEI 2017 do të mbahet në Victoria, BC (detajet do të njoftohen). Shkolla Verore XML Shkolla Verore Vjetore XML do të mbahet në St Edmund's Hall, Oxford 18-22 shtator 2017 me një hyrje pasdite në XML të dielën 17 maj. Kjo ngjarje javore mbulon gjithçka, nga prezantimi i një fillestari deri te publikimi i XML, transformimi me XSLT2 dhe XQuery dhe përdorimi i të dhënave të lidhura. XML Amsterdam XML Amsterdam 2015 u mbajt më 5 nëntor në Qendrën Science Wiskunde & Informatica (CWI) në Amsterdam. XML tjetër Amsterdam do të jetë në 2017 (data që do të njoftohet). WWW 2016 Konferenca e 25-të Vjetore World Wide Web u mbajt në Universitetin e Quebec në Montreal, Kanada në 25-25 Prill 2016. TUG 2016 Konferenca TEX Users Group 2016 u mbajt në Toronto, Kanada në 25-27 korrik 2016. Balisage Konferenca e shënimit të Balisage u mbajt në 2-5 gusht në Teatrin Bethesda. Konferenca e TEI Konferenca e TEI 2016 u zhvillua në Akademinë Austriake të Shkencave në Vjenë, e cila u zhvillua nga data 26 deri më 30 shtator 2016 në Qendrën Austriake për Shkenca Dixhitale Humane. XML Pragë XML Prague 2017 do të mbahet në datat 9-11 shkurt 2017 në Universitetin e Ekonomisë në Pragë. Videot e sesioneve të mëparshme janë të disponueshme në kanalin e tyre në YouTube (lidhja në faqe). TUG 2017 Grupi i përdoruesve të TEX 2017 do të jetë një takim i përbashkët me GUST për të shënuar 25 vjetorin e BachoTEX, i cili do të mbahet në Bachotek, Poloni, nga 29 prilli deri më 3 maj 2017. Edhe pse kryesisht lidhen me shkrimin e shtypjes, shumë aspekte të LATEX janë ngushtë lidhur me përdorimin e XML dhe përpunimin e dokumenteve të strukturuara. 1.16: Ku mund të diskutoj zbatimin dhe zhvillimin e XML? Në listat e postimeve, grupet e lajmeve Usenet, buletinet e ueb-it dhe kanalet IRC Mjeti kryesor i mbështetjes në internet janë forumet e internetit dhe listat e postimeve. Grupet e lajmeve Usenet për XML ekzistojnë, por përdoren rrallë tani, megjithëse një kërkim në Grupet Google mund të japë shumë informacione të dobishme. Rrjeti IRC përdoret gjithashtu në një farë mase, dhe shumica e projekteve dhe programeve individuale XML kanë tabelat e tyre të buletinit në faqet e tyre të internetit. Ekzistojnë gjithashtu një numër i panjohur i faqeve të forumit të lidhura me pyetje dhe përgjigje që mund të gjenden duke përdorur motorët e kërkimit. Për mbështetje jashtë linje, shihni Ku mund të gjej më shumë informacion rreth XML? Për detaje mbi konferencat dhe shkollat ​​verore. Andrew Watt shkruan:
Ekziston një listë postimesh posaçërisht për XSL-FO në vetë eGroups.com. Mund të abonoheni lehtësisht duke dërguar një mesazh XSL-FO-subscribe@egroups.com. Vini re se lista XSL-FO në Yahoo E-Groups dërgon rregullisht mesazhe të padëshiruara të automatizuara te jo-anëtarët që pretendojnë në mënyrë të rreme se janë bashkuar.
Gianni Rubagotti shkruan:
Është krijuar një listë e re italiane e marrësve për XML: për porositjen, dërgimin e një e-mail pa temë, por me tekst të sinjalizuar XML-IT në majordomo@ananas.usr.dsi.unimi.it. Kushdo, qoftë italian apo jo, që dëshiron të flasë për XML në gjuhën tonë është i mirëpritur. Gianni gjithashtu mban një listë XML të njerëzimit.
JP Theberge shkruan: U krijua një listë franceze e marrësve XML. Nëse dëshironi të porosisni, dërgoni aplikacionin në xml-request@trisome.com. Murata Makoto shkruan:
Jepjani këtë listë kolektive kolegëve tuaj që përdorin RELAX NG. Shkoni te: http://groups.yahoo.com/group/rng-users/. Listat postare Kur lidheni me listën e titujve, do të merrni detaje se si ta përdorni atë. Lexoni dokumentacionin e detajuar sepse përmban informacione të rëndësishme, veçanërisht çfarë të bëni nëse kompania ose ofruesi juaj i shërbimeve të internetit ndryshon adresën tuaj të postës elektronike. Ju lutemi vini re se ka shumë informacione të pasakta dhe mashtruese rreth abonimit dhe çregjistrimit nga lista në shtyp dhe në internet. Mos pyesni: lexoni me kujdes dokumentacionin.
1.17: Cili është ndryshimi midis XML dhe C ose C + + ose Java? C dhe Java përdoren për të shkruar programe; XML shërben për të ruajtur informacionin. C dhe C + + (dhe gjuhë të tjera, si FORTRAN ose Pascal ose Visual Basic ose Java ose qindra të tjera) janë gjuhë programimi që përcaktojnë llogaritjet, veprimet dhe vendimet në rendin e mëposhtëm:
metoda curconfig [nëse është ende (data, 6) = "01-prill",
    t.vendosni "Gënjeshtrën e Prillit!",
    f.put ditë('31102011','DDMMYYYY') -
          ditë (data, 'DDMMYYYY')
    "më shumë ditë pazari në Samhain"];
XML është një gjuhë specifikimi shënjimi që mund ta përdorni për të hartuar mënyra për të përshkruar informacionin (tekst ose të dhëna), zakonisht për ruajtjen, transmetimin ose përpunimin nga një program. Nuk thotë asgjë për atë që duhet të bëni me të dhënat (edhe pse zgjedhja juaj e emrave të elementeve mund të tregojë se për çfarë shërbejnë):
<part num="DA42" models="LS AR DF HG KJ" update="2001-11-22">
  <name>Rrethi mbajtës i kushinetave të fund boshtit</name>
  <image drawing="RR98-dh37" type="SVG" x="476" y="226"/>
  <maker xml:id="RQ778">Ringtown Fasteners Ltd</maker>
  <notes>Një <tool xml:id="GH25"/>mjet futjeje me hundë kënd</tool> është
    kërkohet për heqjen dhe zëvendësimin e kësaj pjese.</notes>
</part>
Vetë skedari XML (përfshirë HTML) nuk bën asgjë. Është një format i të dhënave që qëndron atje derisa të ekzekutoni një program që bën diçka me të. Shihni gjithashtu se si të ekzekutoni ose ekzekutoni skedarët XML.
XSLT2 dhe XSL:FO Ujërat janë turbulluar nga fakti se gjuhët më të njohura të përpunimit të transformimit (XSLT2 dhe XSL: FO) janë shkruar në sintaksë XML sepse ato janë deklarative, jo procedurale. Në këto raste të veçanta, mund të thoni se ekzekutoni një skedar XML duke ekzekutuar një aplikacion përpunues si Saxon, i cili përpilon direktivat e specifikuara në skedarë në bitekod Java për përpunimin e dokumenteve XML. Në këtë kuptim, ju mund t'i krahasoni ato me gjuhë të tjera programimi, por do të krahasonit pajisjet gjuhësore, jo sintaksën XML në të cilën janë shkruar.
William Hammond shkruan:
(Në artikullin <i7ll1362ib.fsf@hilbert.math.albany.edu>) SGML është një kategori e "llojeve të dokumenteve" me një sintaksë të përbashkët të konfigurueshme, shumica e të cilave (siç është HTML klasik) nuk mund të kompilohen për të krijuar programe të ekzekutueshme. XML është një nënkategori e SGML me kufizime sintaksore. Për shembull, në XML fjalori i llojit të dokumentit është gjithmonë i ndjeshëm ndaj shkronjave të vogla, ndërsa në SGML ai mund të jetë ose i ndjeshëm ndaj shkronjave të vogla ose të vogla. Kështu, për shembull, HTML klasike është një lloj dokumenti SGML, dhe XHTML + MathML është një lloj dokumenti XML. Ndërsa disa lloje dokumentesh korrespondojnë me gjuhët e shënjimit të dokumenteve, llojet e tjera të dokumenteve (si hyrja e katalogut CTAN) janë vetëm për të dhëna të strukturuara […] Megjithatë, dyshoj seriozisht që një gjuhë kompjuterike si C është në ndonjë kuptim të arsyeshëm ekuivalente me një lloj dokumenti SGML.
Seksioni 2: Përdoruesit ekzistues (Përfshirë të gjithë ata që përdorin një shfletues) 2.1: Çfarë duhet të bëj për të përdorur XML? Për ta lexuar atë: përdorni çdo shfletues modern të internetit; Për ta krijuar atë: përdorni një redaktues XML. Për përdoruesin mesatar të uebit, nuk ju nevojitet asgjë përveç një shfletuesi që funksionon me XML (shih pyetjen rreth shfletuesve). Mos harroni se pajisjet e reja të lidhura me XML janë shpikur ose zbatuar gjatë gjithë kohës (shih faqen e internetit të W3C), kështu që disa veçori të reja mund të mos funksionojnë në të gjithë shfletuesit. Ju mund të përdorni shfletues të përputhshëm me XML për të parë disa nga materialet e qëndrueshme XML, të tilla si shfaqjet e Shekspirit të Jon Bosakut dhe eksperimentet molekulare të Gjuhës Kimike të Markupimit (CML). Shihni http://xml.coverpages.org/xml.html#examples për disa burime të tjera shembujsh dhe do të gjeni XML (veçanërisht në formë XHTML) që shfaqet në vende ku shfletuesit më të vjetër nuk prishen. Nëse dëshironi të filloni të përgatiteni për të krijuar skedarët tuaj XML, ju lutemi lexoni pyetjet në seksionin e autorit dhe seksionin e zhvilluesit, veçanërisht pyetjen në lidhje me redaktorin XML. 2.2: Si duket XML (brenda)? Kllapa me kënd si HTML Struktura bazë e XML është e ngjashme me aplikacionet e tjera të SGML, duke përfshirë HTML. Përbërësit bazë mund të gjenden në shembujt e mëposhtëm. Një dokument XML fillon me një Prolog opsional, i cili mund të ketë dy pjesë (opsionale): 1. Deklarata XML:
<?xml version="1.0" encoding="utf-8"?>
Kjo specifikon që ky është një dokument XML dhe se përdor grupin e karaktereve UTF-8 (parazgjedhja, të tjerët janë të disponueshëm, por mbështetja është e aktivizuar vetëm për UTF-8); 2. Deklarata e llojit të dokumentit nëse përdorni DTD:
<!SISTEMI i raportit DOCTYPE "http://sales.acme.corp/dtds/salesrep.dtd">
i cili identifikon llojin e dokumentit (këtu "raporti") dhe tregon se ku ruhet përshkrimi i llojit të dokumentit (DTD); Prolog pasohet nga një shembull i dokumentit :
  1. Elementi rrënjë , i cili është elementi i nivelit të lartë (etiketa e fillimit plus etiketa e fundit) që rrethon gjithçka tjetër: në shembujt më poshtë elementët rrënjë janë biseda dhe titulli;
  2. Një përzierje e strukturuar e elementeve përshkruese ose të përshkruara që përmbajnë përmbajtjen e karaktereve (tekst) dhe opsionalisht të gjitha atributet (çifti 'emri =”vlera') brenda disa etiketave fillestare.
Dokumentet XML mund të jenë shumë të thjeshta, me shënjimin direkt të mbivendosur të dizajnit tuaj:
<?xml version="1.0" standalone="po"?>
<bisedë>
  <greeting>Përshëndetje, botë!</greeting>
  <response>Ndalo planetin, dua të zbres!</response>
</bisedë>
Ose ato mund të jenë më të komplikuara me një skemë ose DTD dhe ndoshta një nëngrup të brendshëm (ndryshon DTD lokale në [kllapa katrore] brenda një Deklarate të llojit të dokumentit si deklarata ENTITY më poshtë); Dhe për një strukturë të ndërlikuar arbitrarisht:
<?xml version="1.0" encoding="iso-8859-1"?>
Faqja e titullit <!DOCTYPE
  SISTEMI "http://www.foo.bar/dtds/typo.dtd"
[<!ENTITY % aktive.lidhjet "INCLUDE">]>
<titlepage xml:id="BG12273624">
  <white-space type="vertical" shuma="36"/>
  <title font="Baskerville" alignment="në qendër"
   size="24/30">Përshëndetje, botë!</title>
  <white-space type="vertical" shuma="12"/>
	  <!-- Në disa kopje në vijim
           dekorimi është me ngjyrë dore, me sa duket
           nga autori -->
  <image location="http://www.foo.bar/fleuron.eps"
   type="URI" alignment="centered"/>
  <white-space type="vertical" shuma="24"/>
  <author font="Baskerville" size="18/22"
   style="italic">Vitam capias</author>
  <white-space type="vertical" role="filler"/>
</titlepage>
Ose ato mund të jenë kudo në mes: shumë do të varen nga mënyra se si dëshironi të përcaktoni llojin e dokumentit (ose çfarë po përdorni) dhe për çfarë do të përdoret. Baza e të dhënave ose dokumentet XML të krijuara nga programi të përdorura në tregtinë elektronike zakonisht janë të paformatuara sepse ato janë të destinuara për konsum makinerie, jo lexim nga njeriu, dhe mund të përdorin emra ose vlera shumë të gjata me tepricë të shumëfishtë dhe ndonjëherë pa përmbajtje të dhënash karakteresh. Vetëm vlera në atributet:
<?xml version="1.0"?>
<ORDER-UPDATE AUTHMD5="4baf7d7cff5faa3ce67acf66ccda8248"
 ORDER-UPDATE-ISSUE="193E22C2-EAF3-11D9-9736-CAFC705A30B3"
 ORDER-UPDATE-DATE="2005-07-01T15:34:22.46"
 ORDER-UPDATE-DESTINATION="6B197E02-EAF3-11D9-85D5-997710D9978F"
 ORDER-UPDATE-ORDERNO="8316ADEA-EAF3-11D9-9955-D289ECBC99F3">
  <ORDER-UPDATE-DELTA-MODIFICATION-DETAIL ORDER-UPDATE-XML:ID="BAC352437484">
    <ORDER-UPDATE-DELTA-MODIFICATION-VALUE ORDER-UPDATE-ITEM="56"
     ORDER-UPDATE-QUANTITY="2000"/>
  </ORDER-UPDATE-DELTA-MODIFICATION-DETAIL>
</ORDER-UPDATE>
2.3: A duhet të përdor XML në vend të HTML? Po, nëse keni nevojë për qëndrueshmëri, saktësi dhe qëndrueshmëri. XML lejon autorët dhe ofruesit të krijojnë shënimin e tyre të dokumentit në vend që të kufizohen nga HTML. Llojet e dokumenteve mund t'i përshtaten në mënyrë eksplicite aplikacionit, kështu që mashtrimi i rëndë dhe kopjimi që duhet bërë me HTML bëhet një gjë e së kaluarës: shënimi mund të thotë gjithmonë se çfarë do të thotë. Një shembull i parëndësishëm:
<date YYYY-MM-DD="2005-12-26">të hënën e kaluar</date>
Nëse informacioni juaj është kalimtar ose plotësisht statik dhe jo referues ose shumë i shkurtër dhe i thjeshtë dhe ndoshta nuk ka nevojë të përditësohet, HTML mund të jetë gjithçka që ju nevojitet. 2.4: Dikush më dërgoi një skedar XML. Si ta lexoj? Hapeni atë në një shfletues XML ose redaktues XML. Nëse skedari është krijuar ose i vlefshëm siç duhet, mund ta hapni lehtësisht në çdo shfletues të përputhshëm me XML (shihni Çfarë duhet bërë për të përdorur XML dhe Ku mund të marr një shfletues XML?). Skedari do të shfaqet në pamje të paformatuar, duke shfaqur të gjitha shënimet në një format që ju lejon të kolapsoni ose zgjeroni hierarkinë e mbivendosur (kliko simbolet e vogla plus dhe minus) që të paktën ju lejojnë të lexoni diçka. Nëse skedari përmban një referencë për një fletë stili XSLT ose CSS (dhe stili ofrohet ose i aksesueshëm në ueb), shfletuesi duhet të formatojë skedarin në një mënyrë të lexueshme (por kini kujdes, formatimi i shfletuesit nuk është i fortë). Për të redaktuar skedarin, ju nevojitet një redaktues XML (shih redaktuesin XML). Nëse nuk jeni shumë të aftë me shënjimin e fundit, mos u përpiqni të redaktoni skedarët XML me redaktues jo-XML. 2.5: Si mund të kontrolloj formatimin XML? Përdorni fletën e stilit CSS ose XSLT2. Në HTML, ekzistonte një stil i paracaktuar i integruar në shfletues, sepse shënimi HTML ishte i paracaktuar dhe i lidhur në shfletues. Kjo vlen edhe për XHTML dhe HTML5 në një farë mase. Në një gjuhë tjetër XML ku mund të përcaktoni etiketat tuaja, nuk mund të pritet që shfletuesit të parashikojnë ose të dinë paraprakisht se cilët emra do të përdorni dhe çfarë kuptimi do të kenë, kështu që ju duhet një stil nëse dëshironi të shfaqni tekst të pasur. Shfletuesit që lexojnë XML do të pranojnë dhe përdorin minimalisht fletë stilesh CSS, por ju mund të përdorni gjithashtu gjuhën më të fuqishme të fletëve të stilit XSLT për të transformuar XML në HTML - të cilat sigurisht shfletuesit tashmë dinë ta shfaqin (dhe se HTML mund të përdorë ende fletë stilesh CSS). . Në këtë mënyrë ju merrni të gjitha përfitimet e menaxhimit të dokumenteve XML, por nuk duhet të shqetësoheni nëse lexuesit tuaj kanë nevojë për inteligjencë XML në shfletuesin e tyre. Ky transformim zakonisht bëhet në serverin e vetë pronarit të dokumentit, kështu që ju mbeteni me HTML, ndoshta të pavetëdijshëm se fillimisht ishte XML. Megjithatë, disa shfletues mund të përdorin gjithashtu transformatorin e integruar XSLT 1.0 (mjaft të kufizuar), dhe operatorët e serverëve tani mund të përdorin gjithashtu Saxon CE, i cili është një version i shkarkueshëm i XSLT2 në shfletues. Mike Brown shkruan:
XSLT është një gjuhë për përpunimin e dokumenteve XML që përdor kodin burimor që është shkruar në XML. Një dokument XSLT deklaron një sërë rregullash që procesori XSLT t'i përdorë kur interpreton përmbajtjen e një dokumenti XML. Këto rregulla i tregojnë procesorit XSLT se si të gjenerojë një strukturë të re të dhënash të ngjashme me XML dhe si t'i nxjerrë të dhënat - si një dokument XML, si një dokument HTML, si tekst i thjeshtë ose ndoshta në një format tjetër. Ky transformim mund të bëhet ose brenda shfletuesit ose nga serveri përpara se të dërgoni skedarin. Transformimi në shfletues heq përpunimin nga serveri, por mund të sjellë një varësi të shfletuesit që çaktivizon disa nga lexuesit tuaj. Transformimi nga ana e serverit e bën procesin të pavarur nga shfletuesi, por vendos një ngarkesë më të madhe përpunimi në server.
Ashtu si me çdo sistem ku skedarët mund të shikohen rastësisht nga përdorues arbitrarë, autori nuk ka asnjë mënyrë për të ditur se cilat burime (si p.sh. fontet) janë në sistemin e përdoruesit, kështu që i njëjti kujdes kërkohet kur përdoret HTML. Për të aktivizuar një stil nga një skedar XML për përpunim të pavarur në shfletues, përfshini një nga deklaratat e fletës së stilit:
<?xml-stylesheet href="foo.xsl" type="text/xsl"?>
<?xml-stylesheet href="foo.css" type="text/css"?>
(Natyrisht që zëvendëson stilin URI). Shikoni http://www.w3.org/TR/xml-stylesheet/ për më shumë informacion. Specifikimi i fletëve të stilit Cascading (CSS) ofron një sintaksë të thjeshtë për elementët e stilimit dhe është zbatuar në shumicën e shfletuesve. Dave Pawson mban një FAQ gjithëpërfshirëse mbi XSL në http://www.dpawson.co.uk/xsl/ dhe libri i tij (Pawson, 2002) [një libër Fox] është i disponueshëm nga O'Reilly. XSL përdor sintaksën XML (një shabllon XSL është vetëm një skedar XML) dhe mbështetet gjerësisht nga disa shitës të mëdhenj të shfletuesit (shih Shfletuesit dhe pyetjet e tjera të softuerit). XSL vjen me dy metoda: Të gjitha versionet aktuale të Microsoft Internet Explorer, Firefox, Chrome, Mozilla, Safari dhe Opera trajtojnë XSLT 1.0 brenda shfletuesit. Kujdes nga shfletuesit e vjetëruar si MSIE5.5 që kanë nevojë për disa operacione pas instalimit për të hequr WD-xsl të vjetëruar prej kohësh dhe për ta zëvendësuar atë me procesorin aktual XSL-Transform.
WYSIWYG për XSL Janë bërë përpjekje për të krijuar redaktues pseudo-WYSIWYG për krijimin e fletëve të stilit XSL [T], por kryesisht të kufizuara në paraqitjet e thjeshta midis elementeve hyrëse dhe elementeve dalëse (p.sh. DocBook para në HTML p). Çdo gjë përtej kësaj duket se ka të ngjarë të dështojë për shkak të kompleksitetit të pafund të asaj që njerëzit duan të bëjnë me informacionin e tyre. Nëse keni akses në bazën e të dhënave ACM, shihni punimin nga Pietrig, Vion-Dury dhe Quint në VXT nga Procedurat e ACM DocEng'01 (Atlanta). Gjenerimi i HTML në server Ka një përdorim në rritje të procesorëve të serverit, si Cocoon dhe të tjerë, që ju lejojnë të krijoni, ruani dhe menaxhoni informacionin tuaj në XML, por shërbejnë për ta kthyer atë automatikisht në HTML ose një format tjetër, duke lejuar kështu prodhimi që do të përdoret nga çdo shfletues. XSLT përdoret gjithashtu gjerësisht për të transformuar XML në formate jo-SGML për hyrje në sisteme të tjera (për shembull, për të transformuar XML në LATEX për radhitje). Alternativat e XSL: FO Në vend të krijimit të një PDF me procesorin FO, XSLT2 mund të përdoret për të transformuar XML në LATEX për shtypjen e PDF (siç është për versionet e printuara DocBook në LATEX të këtij FAQ). Kjo ka avantazhin e përdorimit të bibliotekës së gjerë të LATEX-it të moduleve të formatimit të përshkrimit ("paketat"), të cilat shmangin pjesën më të madhe të rishpikjes së rrotave të kërkuara aktualisht me XSL:FO. Përndryshe, xmltex i David Carlisle lexon drejtpërdrejt XML dhe ofron një zgjidhje tjetër praktike, nëse është eksperimentale, për shtypjen XML. Një përdorim i sistemit TEX që mund të shtypë skedarë XML është si një procesor mbështetës për XSL: FO, i serializuar si XML. PassiveTEX i Sebastian Rahtz përdor xmltex për ta arritur këtë. Pyetjet e shpeshta të TEX janë në http://www.tex.ac.uk/faq. Silmaril mban një version online të librit LATEX të Peter Flynn, Formatting Information, i cili përmban disa shembuj të konvertimit XSLT2 (Flynn, 2014).
Sistemet SGML përdorën një mekanizëm të ngjashëm shabllon: disa prej tyre ishin FOSI (specifikimi i shembullit të prodhimit të formatuar), i cili ishte standard në aplikimet e mbrojtjes dhe inxhinierisë industriale, kryesisht kur përdorni redaktuesin Arbortext (Adept, pastaj Epic, ndoshta një javë tjetër); Fletë stili DynaText/DynaWeb përdoret kur publikohet SGML në ueb; Dhe stili i shabllonit Synex i përdorur në shfletuesit e bazuar në Synex (p.sh. Panorama, ndërfaqja e stilit të të cilit u miratua pjesërisht në XMetaL), ekspertët e dizajnit të të cilit vazhdojnë në shfletuesin DocZilla. 2.6: Ku mund të marr një shikues XML? Të gjithë shfletuesit modern mbështesin XML Statusi aktual i mbështetjes ekzistuese të shfletuesit për XML (1 gusht 2014): Pjesa tjetër e kësaj liste ka vetëm rëndësi historike. Kam më pak informacion rreth veçorive XML të Safari për Mac OS X, i cili bazohet në motorin KHTML të përdorur në Konqueror. Vetë Konqueror nuk duket se mbështet XML ose XSLT (të paktën në KDE nën Fedora Core, për shembull), por Safari 1.3.2 (v312.6) nën OS 10.3 ofroi mbështetje të pjesshme për XML, por nuk respekton DTD të jashtme Ndryshuar nga nëngrupi i brendshëm (faleminderit John Haynie për testimin). Mike Brown shkruan:
Termi "shfletim" është kryesisht rezultat i HTML që ka semantikën që ka. Një dokument HTML përmban seksione teksti të quajtura ankorë që janë "të lidhura" me dokumente të tjera që mund të jenë në vende të largëta në rrjet ose në sistemin e skedarëve. Dokumentet HTML i tregojnë shfletuesit të internetit se si të shfaqë dokumentin dhe çfarë lloj sjelljeje pritet nga shfletuesi kur përdoruesi ndërvepron me të. Specifikimi HTML ofron shumë sugjerime dhe kërkesa për shfletuesin dhe ofron kuptime specifike për shumë shembuj të ndryshëm të shënjimit, siç është fakti që elementi <img> i referohet një imazhi që duhet të ngarkohet nga shfletuesi dhe të jepet me Tekstin përreth. Ndryshe nga HTML, XML nuk ka fare semantikën e vet. Nuk ka asnjë metodë të përcaktuar për paraqitjen e dokumenteve XML. Prandaj, ajo që do të thotë të "shikosh" XML është e interpretueshme. Për shembull, një dokument XML që përshkruan karakteristikat e një pjese makine nuk përmban informacion se si ky informacion duhet t'i paraqitet përdoruesit. Aplikacioni përdoret për të përdorur të dhënat për të krijuar një imazh të pjesës, për të gjeneruar një skedar teksti të formatuar të informacionit, për të shfaqur shënimin e dokumentit XML me një skemë të bukur ngjyrash ose për të ristrukturuar të dhënat në një format për ruajtje në një bazë të dhënash , transmetim përmes një rrjeti ose hyrje në një program tjetër. Sidoqoftë, përkundër faktit se dokumentet XML janë skedarë thjesht përshkrues të të dhënave, është e mundur t'i "shfletoni" ato në një farë kuptimi duke i paraqitur ato me stile. Një fletë stili është një dokument i veçantë që ofron sugjerime dhe algoritme për paraqitjen ose transformimin e të dhënave në një dokument XML. Përdoruesit e HTML mund të jenë të njohur me Cascading Style Sheets (CSS). Gjuha e fletës së stilit CSS është e përgjithshme dhe mjaft e fuqishme për t'u aplikuar në dokumentet XML, edhe pse është e orientuar drejt paraqitjes vizuale të dokumentit dhe nuk lejon përpunim kompleks të të dhënave të dokumentit. Duke caktuar një dokument XML në një stil shabllon CSS, mund të jetë e mundur të ngarkohet dokumenti XML në një shfletues uebi të vetëdijshëm për CSS dhe shfletuesi mund të jetë në gjendje të sigurojë një lloj interpretimi, edhe nëse shfletuesi nuk e di se si për të lexuar dhe përpunuar dokumente XML. Megjithatë, jo të gjithë shfletuesit e uebit ngarkojnë saktë një dokument XML dhe nuk u kërkohet të njohin etiketën XML që e lidh dokumentin me një stil shabllon, kështu që nuk mund të supozohet se dokumentet XML mund të hapen vetëm në çdo shfletues ueb. Gjuha më komplekse dhe më e fuqishme e fletës së stilit është XSLT, pjesa e transformimit të gjuhës së fletës së stilit të zgjeruar, e cila mund të përdoret për të transformuar XML në formate të tjera, duke përfshirë HTML, forma të tjera të XML dhe tekst të thjeshtë. Nëse rezultati i këtij transformimi është HTML, ai mund të shfaqet në një shfletues ueb si një dokument tjetër HTML. Shkalla e mbështetjes për XML dhe stilet në shfletuesit e internetit ndryshon shumë. Ndërsa ngarkimi dhe interpretimi i XML në një shfletues është i mundur në disa raste, ai përgjithësisht nuk mbështetet. Prandaj, shumë përmbajtje XML në ueb përkthehen në HTML në serverë. Ky HTML i krijuar u dërgohet shfletuesve. Për shembull, shumica e faqeve të internetit të Microsoft ekzistojnë si XML, e cila konvertohet në HTML menjëherë. Një shfletues në internet nuk do ta dijë kurrë ndryshimin.
Shihni gjithashtu Shënimet e Softuerit për Autorët dhe XML për Zhvilluesit dhe një listë më të detajuar të faqeve XML në faqen e internetit të SGML në http://xml.coverpages.org/. 2.7: Si mund të nis ose ekzekutoj një skedar XML? Nuk është një pyetje kuptimplotë. XML është një format të dhënash, jo një gjuhë programimi. Nuk mundesh dhe nuk ben. XML në vetvete nuk është një gjuhë programimi, kështu që dokumentet normale XML nuk "ekzekutohen" ose "ekzekutohen". XML është një gjuhë specifikimi shënjimi dhe skedarët XML janë thjesht të dhëna: ato qëndrojnë aty derisa të ekzekutoni një program që i shfaq ato (si një shfletues) ose punon me ta (si një konvertues që shkruan të dhëna në një format tjetër ose një bazë të dhënash që lexon të dhëna ) ose e modifikon atë (si redaktues). Për të parë ose parë një skedar XML, hapeni atë me një redaktues XML ose me një shikues XML.
XSLT2 dhe XSL:FO Ujërat janë turbulluar nga fakti se gjuhët më të njohura të përpunimit të transformimit (XSLT2 dhe XSL: FO) janë shkruar në sintaksë XML sepse ato janë deklarative, jo procedurale. Në këto raste të veçanta, mund të thoni se ekzekutoni një skedar XML duke ekzekutuar një aplikacion përpunues si Saxon, i cili përpilon direktivat e specifikuara në skedarë në bitekod Java për përpunimin e dokumenteve XML. Në këtë kuptim, ju mund t'i krahasoni ato me gjuhë të tjera programimi, por do të krahasonit pajisjet gjuhësore, jo sintaksën XML në të cilën janë shkruar.
2.8: A duhet të konvertohem nga SGML ose HTML në XML? Jo nëse nuk dëshironi Jo, programi ekzistues i aplikacionit HTML do të vazhdojë të punojë me skedarët ekzistues. Ka mbetur shumë pak SGML tani, por ajo që ka do të vazhdojë të funksionojë me softuerin tuaj ekzistues. Por si me çdo pajisje të avancuar, do t'ju duhet të përdorni softuer të vetëdijshëm për XML për të parë ose shkarkuar dhe përdorur skedarë XML. Për XML është zhvilluar shumë më tepër se kurrë për SGML, kështu që pothuajse të gjitha përpjekjet aktuale janë të përqendruara në XML (dhe XHTML dhe HTML5). 2.9: A mund të përdor XML për aplikacionet e zakonshme të zyrës? Po, përdorni MS Office, Libre Office, Open Office, WordPerfect ose të tjera. Po, shumica e paketave të "produktivitetit" të zyrës tashmë do ta bëjnë këtë dhe do t'i ruajnë dokumentet e tyre së bashku me stilet, imazhet, etj. Tek skedari ZIP: Për informacion më të detajuar, shihni "Formatet e skedarëve XML për dokumentet e Office" në faqet kryesore XML, të cilat përshkruajnë shkurtimisht dhe tregojnë më shumë informacion rreth: Office GNOME, KOffice, Microsoft XDocs, OASIS TC për formatet e skedarëve të Open Office XML, Projekti 1DOK. org dhe formati i skedarit XML OpenOffice.org. Seksioni 3: Autorët (Përfshirë autorët HTML dhe pronarët e faqeve të internetit) 3.1: A duhet të di HTML ose SGML përpara se të mësoj XML? Jo, por është e dobishme. Ju nuk keni nevojë për ndonjë njohuri paraprake, por është e dobishme sepse shumë koncepte, terminologji dhe praktikë XML vijnë nga dy dekada përvojë me SGML (dhe sistemet që i paraprinë). Vini re se "të njohësh HTML" nuk është e njëjtë me "të kuptuarit e SGML". Edhe pse HTML është shkruar si një aplikacion i SGML, shfletuesit e injorojnë pjesën më të madhe të tij (kjo është arsyeja pse kaq shumë gjëra të dobishme nuk funksionojnë), kështu që vetëm për shkak se diçka nuk është në rregull në shfletuesit HTML nuk do të thotë se është e drejtë për SGML ose XML. Për shumicën e qëllimeve praktike, nuk keni nevojë për ndonjë njohuri të SGML ose HTML: vetëm nëse keni ndërmend të gërmoni në punët e brendshme të dizajnit të llojit të dokumentit. 3.2: Si përpunohet XML në hapësirë ​​të lirë në dokumente? Analizuesi do t'i mbajë të gjitha. Varet vetëm nga kërkesa për të vendosur se çfarë të bëni me të. E gjithë hapësira e bardhë, duke përfshirë ndërprerjet e linjës (Mac CR, Win CR/LF, Unix LF), karakteret TAB dhe hapësirat normale, madje edhe midis elementëve "strukturorë" ku ndonjëherë nuk mund të shfaqet asnjë tekst, Shfletuesi, formatuesi, shikuesi, konvertuesi, etj.) . Analizuesi identifikon kontekstin në të cilin u gjet hapësira e bardhë (përmbajtja, përmbajtje ose përmbajtje e përzier) nëse ky informacion është i disponueshëm, si p.sh. nga DTD ose skema. Kjo do të thotë se është përgjegjësi e aplikacionit të vendosë se çfarë të bëjë me një hapësirë ​​të tillë, jo analizuesi. Ky është një nga ndryshimet e pakta vërtet radikale që nga SGML, ku e gjithë hapësira e bardhë në përmbajtjen e elementit është hedhur larg nga analizuesi përpara se të arrijë diku afër aplikacionit. Shihni pse? Më poshtë pse. Ekzistojnë dy lloje të ndryshme të hapësirës së bardhë: Në të dyja rastet, aplikacioni është përgjegjës për trajtimin e saktë të hapësirës (për shembull, XSLT2 ofron udhëzime për strip-space, i cili specifikon mënyrën e përdorimit të tij). Prandaj, analizuesi duhet të informojë aplikacionin se ka hapësirë ​​boshe në përmbajtjen e elementit, nëse mund të përcaktohet se ai është hedhur poshtë. (Përdoruesit e SGML pranojnë se këto të dhëna nuk janë në ESIS, por në Grovej.)
 
<Kapitulli>
  <Titulli>
   Adresa ime për
   Kapitulli 1.
  </Title>
    <Steam>
teksti
    </Para>
</ Kapitulli>
Në shembullin e mësipërm, aplikacioni do të marrë të gjitha linjat e rreshtave, TAB dhe hapësirat midis elementeve dhe atyre të ngulitura në titullin e kapitullit. Funksioni i aplikacionit, jo i analizuesit, është të përcaktojë se cili lloj hapësire duhet të mbyllet dhe kufizohet. Shumë aplikacione XML kanë opsione të konfigurueshme që lejojnë programuesit ose përdoruesit të kontrollojnë se si të merren me një hapësirë ​​​​të tillë të bardhë. Peter Flynn shkruan:
Pse? Një DTD kërkohet gjithmonë në SGML. Nga ana tjetër, analizuesi gjithmonë e di paraprakisht nëse ka një hapësirë ​​boshe në përmbajtjen e elementeve (në të cilat mund të mbyllet) ose në përmbajtjen ose veçoritë e përziera (ku duhet marrë). XML lejon përpunimin pa një DTD ose skemë, ku nuk do të ishte e mundur të flitej nëse hapësira do të refuzohej apo jo, por rregulli i përgjithshëm ishte që një aplikim duhet të dorëzohej në një qytet bosh.
3.3: Cilat pjesë të dokumentit XML janë të ndjeshme ndaj shkronjave të mëdha apo të vogla? Gjithçka, marka dhe teksti. I gjithë dokumenti XML është i ndjeshëm ndaj shkronjave të vogla. Kjo është dukshëm e ndryshme nga HTML dhe shumica e aplikacioneve të tjera SGML, ku vlera e paracaktuar është injoruar. Kjo u bë për të lejuar etiketimin në gjuhët jo latine dhe për të shmangur problemet në hartimin e sistemeve të shqyrtimit që janë në thelb të ngurtë. Emrat e llojeve të elementeve janë të ndjeshëm ndaj shkronjave të vogla: duhet t'i ndiqni me çfarëdo kombinimi të shkronjave që përdorni për t'i përcaktuar ato (qoftë nga përdorimi i parë ose nga DTD ose skema). Pra, nuk mund të thuash <BODY> … </body> : shkronjat e mëdha dhe të vogla duhet të përputhen; Pra, <Img/> , <IMG/> dhe <img/> janë tre lloje të ndryshme elementesh; Për dokumentet XML të mirëformuara pa një DTD, shfaqja e parë e emrit të llojit të elementit përcakton një kopertinë; Emrat e atributeve janë gjithashtu të ndjeshëm ndaj shkronjave të vogla, për shembull, dy atributet e gjerësisë në <PIC width=”7in”/> dhe <PIC WIDTH=”6in”/> (nëse ndodhen në të njëjtin skedar) janë atribute të veçanta gjerësia dhe  WIDTH . ; Vlerat e atributeve janë gjithashtu të ndjeshme ndaj shkronjave të vogla. Vlerat e CDATA-s (p.sh. xlink:href=”MyFile.SGML” ) kanë qenë gjithmonë, por llojet NAME (atributet ID dhe IDREF dhe atributet e listës së shenjave) tani janë gjithashtu të ndjeshme ndaj shkronjave të vogla; Të gjithë emrat e përgjithshëm dhe të parametrave ( p.sh. 3.4: Si mund ta konvertoj informacionin tim në formatin XML? Shkruani ose përdorni një konvertues në një gjuhë që kupton XML Nëse formati i skedarit burim ka një strukturë të qëndrueshme dhe të dallueshme, madje edhe ndërprerje të thjeshta rreshtash ose hapësirë ​​të bardhë, zakonisht është e mundur të shkruhen rutina të përputhjes së modeleve në shumë gjuhë për të izoluar informacionin që përfshihet në modele të tilla dhe për t'i printuar ato duke përdorur etiketat rreth tyre. . XSLT2 ka sintaksë të përputhjes së modelit për të kryer pikërisht këtë lloj "konvertimi lart", dhe procesorë të tjerë si Omnimark ofrojnë funksionalitet të ngjashëm. Konvertime të tilla mund të krijojnë gjithashtu një format të përkohshëm "në gjysmë të rrugës" në të cilin aplikohet një konvertim i dytë për të krijuar formatin përfundimtar XML. Nëse skedarët burim janë në një format të njohur (si p.sh. CSV), ekzistojnë rutina ekzistuese të disponueshme për shkarkim ose blerje që mund të krijojnë formatin XML. Një konvertim i dytë XML-në-XML mund të përdoret për të krijuar formatin përfundimtar të dëshiruar. Sistemet e menaxhimit të bazës së të dhënave mund të kenë rutina të integruara "eksporto-në-XML" që mund të krijojnë një format të ngjashëm "në gjysmë të rrugës" për konvertimin e mëpasshëm (shih shembullin Si mund ta marr XML në ose jashtë bazës së të dhënave?). Nëse informacioni është plotësisht i paformatuar, ose është aq i dobët ose i formatuar në mënyrë jokonsistente sa që konvertimi automatik nuk është i mundur, ai do të duhet të modifikohet manualisht në formatin XML. Dokumentet e procesorit të fjalës janë një shembull klasik i kësaj. Ka kompani që janë të specializuara në këtë lloj pune, veçanërisht në Paqësor, të cilat kanë vite përvojë që merren me lloj-lloj formatesh të çuditshme dhe të mrekullueshme dhe ju dërgojnë XML të plotë. Dy formate që shpesh kërkohen si burime mbështeten më mirë: LATEX Dokumentet LATEX të prodhuara siç duhet (ato që nuk përdorin makro homebrew, veçanërisht ato që përdorin komanda të thjeshta TEX ose të vjetruara) mund të konvertohen duke përdorur paketën TEX4ht. Në kohën e shkrimit (2015) ai nuk mbështetet që nga vdekja e parakohshme e autorit të tij, por është plotësisht funksional. TEX4ht mund të konvertohet në HTML dhe ODF (format OpenOffice) në mënyra të ndryshme, kështu që skedari që rezulton mund të hapet lehtësisht në OpenOffice dhe të ruhet si skedar .docx. Ekzistojnë opsione të linjës së komandës për oowriter (ose lowriter nëse përdorni Libre Office) që lejojnë konvertimin në masë në një skedar. Pajisjet shtesë janë të disponueshme në disa redaktorë dhe shërbime në internet (për shembull, blogje dhe forume që mbështesin formatet LATEX në faqet e internetit). Ato gjithashtu mund të përdoren për konvertim. Skedarët e Microsoft Word Word (.docx) janë skedarë Zip që përmbajnë dokumente XML së bashku me imazhe dhe stile të lidhura. Si parazgjedhje, dokumentet Word përmbajnë vetëm paragrafë (elemente w:p). Të gjitha meta të dhënat e strukturës së dokumentit ofrohen si informacion për shkronjat dhe ndarjen që vetëm një njeri mund të interpretojë me besueshmëri, duke e bërë jashtëzakonisht të vështirë konvertimin kuptimplotë. Megjithatë, nëse stilet e aplikuara (nga menyja e stilit të integruar ose të krijuara nga autori) përdoren vazhdimisht, është e mundur të shkruhet një skript XSLT2 për t'i përshtatur ato dhe për të gjeneruar një shënim më të përdorshëm XML. Disa redaktorë (p.sh. XMLMind, AbiWord) dhe sisteme të tjera tani ofrojnë konvertim nga Word në një format thjesht vizual (HTML), duke imituar pamjen e origjinalit dhe një fjalor "semantik" si DocBook ose DITA pa formatim. Rruga XSLT2 zbatohet gjithashtu për OpenOffice/LibreOffice, i cili gjithashtu ruan XML në një skedar Zip. Marka është e ndryshme, por mund të transformohet në të njëjtat linja. 3.5: Si mund të krijoj skedarë HTML në XML? Ose bëjini ato XHTML/HTML5 ose përdorni një lloj tjetër dokumenti. Ose konvertojini ato që të përputhen me llojin e ri të dokumentit (me ose pa DTD ose skemë) dhe shkruani stilin tuaj me to; Ose modifikojini ato sipas XHTML ose HTML5. Mund t'ju duhet të konvertoni skedarët ekzistues HTML sepse XML nuk lejon minimin e etiketave pasuese (mungon </ p> etj.), vlerave të atributeve të pacituara dhe një sërë shkurtesash të tjera SGML që përdoren zakonisht në HTML. Shumë mjete të autorizimit të HTML prodhojnë tashmë XML pothuajse (por jo mjaft) të mirëformuar duke u siguruar që të përdoren etiketat fundore, të specifikohen vlerat e atributeve, etj. – por shumë prej tyre nuk janë. Ju mund të jeni në gjendje të konvertoni HTML në XHTML duke përdorur programin HTML Tidy të Dave Raggett (ekziston gjithashtu një version HTML5), i cili mund të pastrojë disa nga rrëmujët e tmerrshme pseudo-shënjimi të lënë pas nga redaktuesit jo të besueshëm HTML dhe madje të ndajë disa nga formatimet në stilet e shablloneve, por zakonisht ka disa modifikime më manuale. Shumica e ndërtuesve modernë të uebsajteve, duke përfshirë DreamWeaver, ende nuk prodhojnë asgjë si HTML të formuar mirë, kryesisht sepse janë krijuar për t'i bërë faqet të duken bukur në vend që të bëjnë shënimin e duhur. Përdorimi i një programi të projektimit në internet dhe faqeve të tij HTML si depoja e vetme e informacionit tuaj mund të jetë një gabim i rrezikshëm dhe i kushtueshëm. Nëse punoni anasjelltas, duke marrë së pari informacionin e dizajnit të informacionit në XML dhe më pas duke e eksportuar atë në një dizajn faqeje të dizajnit të uebit, ndoshta është më pak e rëndësishme që HTML të jetë një rrëmujë sepse shfletuesit falin shumë.
Konvertoni HTML të vlefshëm në XHTML Nëse skedarët tuaj HTML janë të vlefshëm (vlefshmëria e plotë formale me një analizues SGML kundrejt një prej DTD-ve të publikuara, jo vetëm një kontroll i thjeshtë sintaksor), provoni t'i vërtetoni ato si XHTML me një analizues XML. Nëse po krijonit HTML të pastër pa formatim të integruar, ky proces duhet të japë vetëm gabime në emrat e elementeve dhe atributet e shkronjave të mëdha/vogël, dhe elemente BASHKË si img dhe çdo emër të llojit të elementit jo standard nëse i përdorni. Një modifikim i thjeshtë me dorë ose një skenar i shkurtër duhet të jetë i mjaftueshëm për të rregulluar këto ndryshime. Nëse HTML-ja juaj përdor në mënyrë të vlefshme ikjet pasuese dhe atributet e papërcaktuara, kjo mund të zgjidhet automatikisht nga një program normalizimi si sgmlnorm (nga paketa OpenSP e përfshirë me OpenJade) ose funksioni sgml-normalize në një redaktues si Emacs/Psgml (mos të shtyhet nga emrat , të dy bëjnë XML). Nëse keni shumë skedarë të vlefshëm HTML, mund të shkruani një skript për ta bërë këtë në një gjuhë programimi që kupton shënimin SGML (p.sh. Omnimark, SGMLC ose një nga gjuhët e njohura të skriptimit (p.sh. Perl, Python, Tcl, etj., duke përdorur bibliotekat e tyre SGML/ XML); Ose mund të përdorni edhe makro redaktuese nëse e dini se çfarë po bëni. Nëse kodi juaj HTML është i pavlefshëm ose i formuar keq, provoni HTML Tidy më lart. Nëse kjo nuk e heq, kam frikë se do t'ju duhet të shkruani diçka të veçantë duke përdorur procedurën e mëposhtme, ose të bëni të gjithë modifikimin me dorë ose kopjoni dhe ngjisni nga shfletuesi juaj. Konvertimi në një lloj dokumenti të ri Nëse dëshironi të zhvendosni skedarët tuaj jashtë HTML në një DTD tjetër, ka shumë DTD-të vendase të industrisë XML dhe versione modulare XML të DTD-ve të njohura si TEI (Dokumentet Letrare, Historike dhe Gjuhësore) dhe DocBook (Dokumentacioni Kompjuterik ) ose DITA (Dokumentacioni Teknik) për të zgjedhur. Dikur kishte disa sajte për të shkëmbyer XML DTD të reja, por të rejat janë të rralla tani. Sigurisht, mund të krijoni shënimin tuaj: nëse ka kuptim dhe krijoni një skedar të formuar mirë, duhet të jeni në gjendje të shkruani një fletë stili CSS ose XSLT dhe të shfaqni dokumentin në shfletues. Konvertimi i HTML-së së pavlefshme në XHTML të formuar mirë Nëse skedarët tuaj janë HTML të pavlefshëm (95% e uebit), ato mund të konvertohen në skedarë DTDless të formuar mirë si më poshtë:
  1. Zëvendësoni çdo deklaratë DOCTYPE me një deklaratë XML <?xml version = "1.0" encoding = "UTF-8″?> (Ose përdorni kodimin e duhur të karaktereve).
  2. Nëse nuk ka asnjë deklaratë DOCTYPE, thjesht deklaroni paraprakisht XML-në. Sido që të jetë, Deklarata XML, nëse përdoret, duhet të jetë rreshti 1 i dokumentit.
  3. Ndrysho të gjithë elementët EMPTY (p.sh. të gjitha BASE , ISINDEX , LINK , META , NEXTID dhe RANGE në kokë dhe të gjitha AREA , ATOPARA , AUDIOSCOPE , BASEFONT , BR , CHOOSE , COL , FRAME , HR , KORNIZA IMGT , dhe WBR në dokument) për të përfunduar me /> në vend të, për shembull, <img src=”mypic.gif” alt=”Image” /> ;
  4. Bëni të gjitha llojet e elementeve dhe emrat e atributeve me shkronja të vogla;
  5. Sigurohuni që të gjithë elementët jo-EMPTY të përputhen siç duhet me etiketat përfundimtare eksplicite. Për shembull Çdo <para> duhet të ketë një </para> etj;
  6. Kapërceni të gjitha karakteret  dhe & jo-shënjuese (p.sh. teksti literal) si  dhe   (Nuk duhet të ketë asnjë < karaktere të izoluara për të filluar)!
  7. Sigurohuni që të gjitha vlerat e atributeve të jenë në thonjëza të dyfishta (vlerat me thonjëza të integruara të vetme duhet të jenë në thonjëza të dyfishta dhe anasjelltas - përdorni "  referencën e entitetit të karakterit nëse ju nevojiten të dyja);
  8. Sigurohuni që çdo URI skripti që ka &  si ndarës fushash është ndryshuar për të përdorur  ose një pikëpresje në vend të kësaj.
  9. Sigurohuni që çdo skriptë (p.sh. Javascript) që ka < ose & karaktere (matematikisht më pak se teste dhe kushte Boolean AND) të renditet ose si seksione të shënuara me CDATA ose (nëse shfletuesit e procesorit i pranojnë) dhe   ose një pikëpresje.
Vini re se disa shfletues HTML të vjetër mund të mos pranojnë elementë BASHKË në XML të pjerrët pasuese, kështu që ndryshimet e mësipërme mund të mos jenë të përputhshme me prapavijën. Një alternativë është shtimi i një etikete të rreme në të gjithë elementët EMPTY, kështu që <img src=”foo.gif” /> bëhet <img src = “foo.gif”></img> . Është e vlefshme XML, por ju duhet të garantoni që asnjë prej tyre nuk përmban përmbajtje teksti. Shtimi i një hapësire përpara vijës së pjerrët pasuese në elementët EMPTY (p.sh. <img src=”foo.gif” /> ) mund të parandalojë gjithashtu shfletuesit e vjetër që të pranojnë XHTML si HTML. Nëse duhet t'i përgjigjeni "Po" ndonjërës prej pyetjeve të listuara në listën kontrolluese të HTML të pavlefshme më poshtë, mund t'i kurseni vetes shumë dhimbje duke i rregulluar këto probleme së pari përpara se të bëni ndonjë gjë tjetër. Ndoshta do të jeni shumë afër krijimit të skedarëve të krijuar mirë. Shënimi që është sintaksorisht i saktë, por semantikisht i pakuptimtë ose i pavlefshëm duhet të modifikohet përpara konvertimit. Shembuj janë ndarës të rremë si paragrafë të përsëritur bosh ose ndërprerje të linjës, tabela boshe, hapësira të padukshme GIF, etj. XML përdor fletë stilesh dhe CSS3 do të thotë që nuk do t'ju duhet asnjë prej tyre. Fatkeqësisht, ka shumë punë për të bërë nëse skedarët tuaj janë të pavlefshëm: kjo është arsyeja pse shumë webmaster tani këmbëngulin që të përdoren vetëm skedarë të vlefshëm ose të mirëformuar (dhe pse duhet t'i udhëzoni projektuesit tuaj të bëjnë të njëjtën gjë) për të shmangur të panevojshmet kostot e mirëmbajtjes manuale dhe konvertimit më vonë.
Lista kontrolluese për HTML të pavlefshme Nëse skedarët tuaj HTML bëjnë pjesë në këtë kategori (HTML-ja e prodhuar nga shumica e redaktuesve të WYSIWYG zakonisht është e pavlefshme), atëherë ata pothuajse me siguri do të duhet të konvertohen manualisht, megjithëse nëse deformimet janë të rregullta dhe të ndërtuara me kujdes, skedarët pothuajse mund të të jetë i formuar mirë. , Dhe mund të shkruani një program ose skript për të bërë sa më sipër. Veçoritë që mund t'ju duhet të kontrolloni përfshijnë:
3.6: Si mund ta konvertoj XML në formate të tjera skedarësh? Shkruani konvertimin në një gjuhë që kupton XML Megjithëse është e mundur të shkruani rutina të konvertimit duke shpikur analizuesin tuaj XML, kjo nuk rekomandohet përveçse si një ushtrim për studentët e shkencave kompjuterike. Të gjitha gjuhët kryesore kanë biblioteka XML që bëjnë të gjitha përpjekjet e analizimit (dhe vërtetimin nëse është e nevojshme). Ju duhet të dini se çfarë ka në një dokument XML përpara se të filloni: nuk ka asnjë shkop magjik që nxjerr automatikisht se çfarë do të thotë dhe ku ndodhet në skedar. Nëse keni ndonjë skedar XML të paqartë, do të duhet të shkoni dhe të gjeni krijuesin ose ndonjë dokumentacion rreth tyre. 2-3 rreshtat e parë të skedarit mund të përmbajnë një të dhënë se çfarë lloji XML janë. Me siguri do t'ju duhet një kopje e DTD ose skemës në të cilën janë ndërtuar skedarët. Opsionet e programimit janë: Procesi i konvertimit të XML në formate të tjera nganjëherë referohet si "konvertim poshtë" sepse mund të përfshijë humbjen e pashmangshme të informacionit (zakonisht metadata) kur formati i synuar thjesht nuk ka asnjë mënyrë për ta përfaqësuar atë. 3.7: Nëse XML është vetëm një nëngrup i SGML, a mund të përdor mjetet e mia ekzistuese SGML? Po, nëse janë aktuale Po, me kusht që të përdorni softuerin aktual SGML që është në dijeni të WebSGML Adaptime TC sipas ISO 8879 (karakteristika të nevojshme për të mbështetur XML, të tilla si forma variante për elementët EMPTY, disa aspekte të deklaratave SGML si NAMECASE GENERAL NO , atributi me shumë atribute deklaratat e listave, etj.). Një alternativë është përdorimi i SGML DTD, i cili ju lejon të krijoni një skedar SGML plotësisht të normalizuar, por që nuk përdor elemente boshe; Dhe pastaj hiqni deklaratën DocType në mënyrë që të bëhet një skedar XML i formuar mirë DTDless. Shumica e mjeteve SGML aktualisht përpunojnë skedarët XML dhe ofrojnë aftësinë për të kaluar midis dy standardeve. (Shihni treguesit në Çfarë softueri XML është i disponueshëm?). Nëse nuk ka arsye shumë të veçanta, ndoshta duhet të planifikoni të kaloni nga SGML në XML. 3.8: Jam mësuar të krijoj dhe shfaq HTML. A mund të mësoj lehtë XML? po Shumë e lehtë, por edhe pas gati 20 vitesh ka ende nevojë për më shumë mësime, mjete më të thjeshta dhe shembuj më të hapur të dokumenteve XML. Dokumentet XML të "formuara mirë" mund të duken të ngjashme me HTML, me përjashtim të disa pikave sintaksore të vogla por shumë të rëndësishme. Dallimi i madh praktik është se XML duhet t'u përmbahet rregullave. Shfletuesit HTML i lejojnë ata të shërbejnë edhe HTML të prishur fatalisht ose të korruptuar në mënyrë qesharake, sepse ata nuk bëjnë analizë formale, ata thjesht prishin të gjitha pjesët e prishura. Me XML, skedarët tuaj duhet të jenë absolutisht të saktë ose thjesht nuk do të funksionojnë. Një nga çështjet më të rëndësishme është se disa shfletues që pretendojnë se mbështesin XML janë gjithashtu të prishur, dhe mbështetja e disa shfletuesve për përpunimin XSLT dhe stilin CSS mbetet e diskutueshme. Provoni tuajën në një listë të faqeve të internetit të hoteleve reale. 3.9: A mund të përdorë XML karaktere jo latine? Po, ky është standardi Po, Specifikimi XML thotë në mënyrë eksplicite se XML përdor ISO 10646, një repertor standard ndërkombëtar që mbulon shumicën e gjuhëve të njohura. Unicode është një repertor identik dhe të dy standardet ndjekin njëri-tjetrin. Specifikimi thotë (2.2): "Të gjithë procesorët XML duhet të pranojnë kodimin UTF-8 dhe UTF-16 sipas ISO 10646...". Shikoni http://www.unicode.org/faq/ për një FAQ të Unicode dhe një shembull alfabeti dhe vargu simbolesh në http://www.cogsci.ed.ac.uk/~richard/unicode-sample-3-2. html.
Ndërsa softueri XML mund t'ju lejojë të futni çdo karakter Unicode në një dokument, lexuesit mund t'i shohin karakteret vetëm nëse kompjuteri i tyre ka fontin e duhur! Jo të gjitha shkronjat dhe shkronjat kanë repertorin e plotë të Unicode (ato që kanë janë të mëdha ).
UTF-8 është një kodim i Unicode në karaktere 8-bitësh: 128 të parët janë të njëjtë me ASCII, dhe karakteret e rendit më të lartë përdoren për të koduar diçka tjetër nga Unicode në sekuenca midis 2 dhe 6 bajt. Pra, UTF-8 në formën e tij të vetme është i njëjtë me ISO 646 IRV (ASCII), kështu që mund të vazhdoni të përdorni ASCII për anglisht ose një gjuhë tjetër duke përdorur alfabetin latin pa diakritikë (thekse). Vini re se UTF-8 nuk është në përputhje me ISO 8859-1 (ISO Latin-1) pas pikës së kodit 127 dhjetore (fundi i ASCII). UTF-16 është një kodim i Unicode në karaktere 16-bit, duke e lejuar atë të përfaqësojë 16 nivele. UTF-16 është i papajtueshëm me ASCII sepse përdor dy bajt 8-bit për karakter (katër bit mbi U + FFFF). Peter Flynn shkruan:
Specifikimi i kodimit mund të zbatohet për çdo grup karakteresh që mbështet programi juaj, por Specifikimi XML kërkon që aplikacionet të mbështesin UTF-8 dhe UTF-16. Disa kodime të zakonshme të mbështetura nga softueri përfshijnë: US-ASCII Karakteret TAB, LF, CR, hapësira dhe karaktere të printueshme 33 deri në 126 (vetëm numrat dhjetorë) (të gjithë karakteret e tjera të kontrollit janë të ndaluara nga XML). ISO-8859-1 (Latinisht e Evropës Perëndimore-1) Si kodet ASCII plus 128 deri në 255 (dhjetëshe). Përfshin shumicën (por jo të gjitha) shkronjat me theks të Evropës Perëndimore. ISO-8859-2 deri në 15 Këto nivele shtesë të ISO-8859 mbulojnë grupet e mbetura dhe të ndryshme të alfabetit latin dhe simboleve të tjera. "Faqet e kodit" dhe skedarë të tjerë të vjetëruar Disa softuer mund të mbështesin gjithashtu "faqe kodesh" të vjetruara të ndryshme, të tilla si IBM-850, Microsoft Windows-1252, Apple Macintosh Roman-8, DEC Multinational dhe kodime të tjera jo standarde të karaktereve, por këto janë përgjithësisht i patransferueshëm dhe duhet të shmanget nëse është e mundur. Një praktikë e zakonshme në Evropën Perëndimore është përdorimi i ISO-8859-1, kështu që shkronjat më të zakonshme të theksuara mund të përdoren si bajt të veçantë dhe të përdorin referenca të entitetit të karaktereve ose entitete numerike për të gjithë karakteret e tjera. Kjo ka avantazhin që skedarë të tillë mund të hapen në pothuajse çdo redaktues bajt. Ana negative është se entitetet numerike nuk janë kujtimore dhe entitetet e karaktereve duhet të deklarohen në një DTD ose në një nënbashkësi të brendshme, por nëse ato janë të rralla, ky mund të mos jetë një problem serioz.
Bertilo Wennergren shkruan:
UTF-16 është një kodim që përfaqëson çdo karakter Unicode të nivelit të parë (64 KB karakteret e para) të Unicode me një njësi 16-bit - në praktikë, dy bajt për çdo karakter. Prandaj, ai nuk është i pajtueshëm as me ASCII as me Latin-1. UTF-16 mund të fitojë 1 milion karaktere shtesë me një mekanizëm të njohur si çifte surrogate (dy njësi 16-bit për çdo karakter). "...mekanizmat për të sinjalizuar se cili prej tyre po përdoret dhe për të sjellë kode të tjera në lojë, janë […] në debatin për kodimin e karaktereve." Specifikimi XML shpjegon se si të specifikoni në skedarin tuaj XML se cilin karakter të koduar do të përdorni. "Pavarësisht nga kodimi specifik i përdorur, çdo karakter në grupin e karaktereve ISO 10646 mund të përfaqësohet nga ekuivalenti dhjetor ose heksadecimal i vargut të biteve të tij": pavarësisht se cilin grup personal përdorni, ju mund t'i referoheni karaktereve të veçanta individuale nga kudo në repertorin e koduar duke përdorur  dddd; (karakter dhjetor) ose &#xHHHH; (Karakter heksadecimal, shkronja të mëdha). Terminologjia mund të jetë konfuze, ashtu si edhe numrat: shih Fjalorin e konceptit ISO 10646. Rick Jelliffe ka grupin e karaktereve XML në formatin XML. Informacioni i kodimit i Mike Brown në http://skew.org/xml/tutorial/ është një shpjegim shumë i dobishëm për nevojën për kodim të duhur. Në serverin e Institutit të Gjuhës Estonike në http://www.eki.ee/letter/ mund të gjeni një bazë të dhënash të shkëlqyer në internet me glyphs dhe karaktere në shumë kode.
3.10: Çfarë është DTD dhe ku mund ta marr atë? Specifikimi i strukturës së dokumentit. Mund t'i shkruani ose t'i shkarkoni. Një DTD është një përshkrim në sintaksën e Deklaratës XML të një lloji ose klase të caktuar dokumenti. Ai përcakton se cilat emra duhet të përdoren për lloje të ndryshme elementesh, ku mund të ndodhin dhe si përputhen të gjithë. Skema bën të njëjtën gjë në sintaksën e dokumenteve XML, kështu që mund të lexohet si një dokument XML vetë. Dhe skemat lejojnë futjen më të gjerë të të dhënave. Për shembull, nëse dëshironi që një lloj dokumenti të jetë në gjendje të përshkruajë listat që përmbajnë artikuj, pjesa përkatëse e DTD-së tuaj mund të thotë diçka si kjo:
<!ELEMENT Lista (Artikulli)+>
<!ELEMENT Artikull (#PCDATA)>
Kjo përcakton një listë si një lloj elementi që përmban një ose më shumë artikuj (kjo është një shenjë plus); A përcakton artikujt si lloje elementesh që përmbajnë vetëm tekst (Të dhënat e karaktereve të analizuara ose PCDATA). Validuesit lexojnë DTD përpara se të lexojnë dokumentin për të parë se ku duhet të shkojë çdo lloj elementi, çfarë mund të përmbajë dhe si lidhet secili me tjetrin, në mënyrë që aplikacionet që duhet të dinë paraprakisht (përpunuesit, shfletuesit, redaktorët, motorët e kërkimit , navigatorët dhe bazat e të dhënave) mund të vendosen saktë. Shembulli i mësipërm ju lejon të krijoni lista si këto:
<Letër>
  <Item>Çokollatë</Item>
  <Item>Muzikë</Item>
  <Item>Serfing</Item>
</Lista>
Siç shpjegohet në artikullin Si e trajton XML hapësirën e bardhë në dokumentet e mia?, dhëmbëzimi në shembull është vetëm për lexueshmëri gjatë redaktimit: XML nuk e kërkon atë. Po aq lehtë mund të shkruhet kështu:
<List><Item>çokollatë</Item><Item>Muzikë</Item><Item>Surfing</Item></List>
Prandaj, një DTD u jep aplikacioneve njoftim paraprak se cilët emra dhe struktura mund të përdoren në një lloj të veçantë dokumenti. Përdorimi i një DTD dhe një redaktuesi vërtetues do të thotë që mund të jeni i sigurt se të gjitha dokumentet e atij lloji të veçantë do të ndërtohen dhe emërtohen në një mënyrë të qëndrueshme. DTD-të nuk nevojiten për të përpunuar dokumente të formuara mirë, por nevojiten nëse dëshironi të përfitoni nga tipe të veçanta të atributeve XML, si referenca e integruar ID/IDREF; Ose duke përdorur vlerat e paracaktuara të atributeve; Ose lidhje me skedarë të jashtëm jo-XML (“Notations”) të tilla si imazhe; Ose nëse thjesht dëshironi të kontrolloni vlefshmërinë e dokumentit përpara përpunimit. Ka mijëra DTD që ekzistojnë tashmë në të gjitha llojet e fushave (shih mbështjellësit SGML / XML për treguesit). Shumë prej tyre mund të shkarkohen dhe përdoren lirisht, por disa janë të kufizuara në industri të caktuara ose janë të mbrojtura. Por mund të shkruani edhe tuajën (shih pyetjen në lidhje me krijimin e DTD-së tuaj: DTD-të e vjetra SGML duhet të konvertohen në XML për t'u përdorur me sistemet XML: lexoni pyetjen rreth konvertimit të DTD-ve SGML në XML, por DTD-të më të njohura SGML tashmë janë në dispozicion në formë XML. Disa redaktorë XML përdorin një format DTD të përpiluar binar të krijuar nga praktikat e tyre të qeverisjes për të lejuar individët në një organizatë të jenë përgjegjës për modifikimet dhe të shpërndajnë vetëm versionin e pamodifikueshëm (të përpiluar binar) tek përdoruesit. Alternativat ndaj DTD-ve janë forma të ndryshme skemash. Këto funksione ofrojnë funksione vërtetimi më të gjera se DTD-të, duke përfshirë vërtetimin e përmbajtjes së të dhënave të karaktereve. 3.11: A ju lejon XML të krijoni etiketat tuaja? Po, por ato nuk quhen marka. Ato janë lloje të elementeve. XML ju lejon të krijoni emra për llojet e elementeve të personalizuara. Nëse mendoni se etiketat dhe elementët janë e njëjta gjë, tashmë jeni në telashe serioze: lexoni me kujdes pjesën tjetër të kësaj pyetjeje. E njëjta gjë është e vërtetë kur mendoni për "fushat" (shihni Si mund ta marr XML në ose jashtë bazës së të dhënave?). Paradigmë e gabuar, gjuhë e gabuar. Bob DuCharme shkruan:
Mos e ngatërroni termin "etiketë" me termin "element". Ato nuk janë të këmbyeshme. Një element zakonisht përmban dy lloje të ndryshme etiketash: një etiketë fillimi dhe një etiketë fundore me tekst ose etiketa të shumta. XML ju lejon të vendosni se cilët elementë dëshironi në një dokument dhe më pas të shënoni kufijtë e elementeve tuaja me etiketat e duhura të fillimit dhe të përfundimit për ato elemente. Çdo deklaratë <!ELEMENT... përcakton një lloj elementi që mund të përdoret në një dokument që korrespondon me një DTD të caktuar. Ne e quajmë këtë lloj elementi "lloji i elementit". Ashtu si HTML DTD përmban lloje të elementeve H1 dhe P , dokumenti juaj mund të ketë lloje elementesh ngjyrë  ose çmimi  ose çdo gjë tjetër që dëshironi. Elementet normale (të cilët nuk janë bosh) përbëhen nga një etiketë fillimi, përmbajtja e elementit dhe një etiketë fundore. <color>e kuqe</color> është një shembull i plotë i elementit të ngjyrës  . <color> është vetëm një etiketë e fillimit të elementit për të treguar se ku fillon; nuk është vetë elementi. Elementet bosh janë një rast i veçantë që mund të përfaqësohet si një palë etiketash fillimi dhe mbarimi pa asnjë ndërmjetësi (p.sh. <price retail=”123″></price> ) ose si etiketë fillimi Ka një vijë të pjerrët mbyllëse për t'i treguar analizuesit , “mos kërkoni një etiketë fundore që përputhet me këtë” (p.sh. <price retail=”123″/> ).
3.12: Si mund të krijoj llojin tim të dokumentit? Analizoni një klasë dokumenti dhe shkruani një DTD ose skemë Llojet e dokumenteve zakonisht kanë nevojë për një përshkrim formal, ose një DTD ose një skemë. Ndërsa është e mundur të përpunohen dokumente XML të mirëformuara pa një përshkrim të tillë, ata përpiqen t'i krijojnë ato pa kërkuar ndonjë problem. Një DTD ose skemë përdoret me një redaktues XML ose API për të udhëhequr dhe kontrolluar ndërtimin e një dokumenti, duke u siguruar që elementët e duhur të shkojnë në vendet e duhura. Prandaj, krijimi i llojit tuaj të dokumentit fillon me analizimin e klasës së dokumenteve që dëshironi të kodoni: mesazhe, fatura, letra, skedarë konfigurimi, kërkesa për verifikimin e kartës së kreditit, romane, lojëra, vepra ose çdo gjë tjetër. Pasi struktura është e saktë, ju shkruani kodin për ta shprehur atë zyrtarisht duke përdorur sintaksën DTD ose Schema. Për të krijuar një DTD, duhet të mësoni sintaksën e Deklarimit XML (shumë e thjeshtë: deklaratat e fjalëve kyçe fillojnë me <!  dhe jo vetëm me një kënd të hapur, dhe mënyra se si bëhen deklaratat është gjithashtu paksa e ndryshme). Këtu është një shembull DTD për një listë blerjesh bazuar në fragmentin që keni përdorur më parë:
<!ELEMENT Lista e blerjeve (Artikulli)+>
<!ELEMENT Artikull (#PCDATA)>
Ai thotë se duhet të ketë një element të quajtur Lista e blerjeve  dhe duhet të përmbajë elementë të quajtur Artikull : duhet të ketë të paktën një artikull (kjo është shenja plus), por mund të ketë më shumë se një. Ai gjithashtu thotë se elementi Item  mund të përmbajë vetëm të dhëna të analizuara të karaktereve (PCDATA, d.m.th. tekst: nuk ka etiketë tjetër). Për shkak se nuk ka asnjë element tjetër që përmban listën e blerjeve , ky element konsiderohet elementi "rrënjë" që përmban gjithçka tjetër në dokument. Tani mund ta përdorni për të krijuar një skedar XML: futni deklaratat në redaktorin tuaj:
 
<?xml version="1.0"?>
<!DOCTYPE SISTEMI i listës së blerjeve "shoplist.dtd">
(Duke supozuar se keni vendosur DTD në këtë skedar). Tani redaktori juaj do t'ju lejojë të krijoni skedarë si ky:
<Lista e blerjeve>
  <Item>Çokollatë</Item>
  <Item>Sheqeri</Item>
  <Item>Gjalpë</Item>
</Shopping-List>
Është e mundur të zhvillohen DTD komplekse dhe të fuqishme me finesë të madhe, por për çdo përdorim domethënës duhet të mësoni më shumë rreth analizës së sistemeve të dokumenteve dhe dizajnimit të llojit të dokumentit. Shih për shembull Maler dhe el Andaloussi (1995): kjo është shkruar për SGML, por rreth 95% vlen edhe për XML, sepse XML është shumë më e thjeshtë se SGML e plotë - shikoni listën e kufizimeve për të treguar se çfarë ka mbetur jashtë.
Nga rruga, një skedar DTD nuk ka kurrë një deklaratë DOCTYPE në të: ai ndodh vetëm në një shembull të një dokumenti XML (këtë i referohet DTD). Dhe skedari DTD gjithashtu nuk ka kurrë një deklaratë XML në krye. Për fat të keq, ka ende softuer që fut njërën ose të dyja këto.
3.13: A mund të deklarohet shprehimisht lloji i elementit rrënjë në DTD? Jo, përdorni deklaratën e llojit të dokumentit. Kjo ndodh në deklaratën e llojit të dokumentit, jo në DTD. Bob DuCharme shkruan:
Në deklaratën e llojit të dokumentit si më poshtë:
<!DOCTYPE kapitulli SISTEMI "docbookx.dtd"> 
E gjithë qëllimi i kapitullit është të përcaktojë se cili nga llojet e elementeve të deklaruara në DTD-në e dhënë duhet të përdoret si element rrënjë. Unë besoj se elementi i nivelit të lartë në dokumentin DocBook është vendosur, por është e vështirë të imagjinohet dikush që krijon një dokument që përfaqëson një koleksion librash. Ne jemi të lirë të përdorim grupin ,  librin ,  kapitullin ,  artikullin , apo edhe para si një element dokumenti për një dokument të vlefshëm DocBook. [Një nga detyrat që bëjnë disa analistë është të përcaktojnë se cili lloj elementi [s] në DTD nuk përmbahet në modelin e përmbajtjes së ndonjë lloji tjetër elementi: këta janë kandidatë kryesorë të supozuar për elementët rrënjë të paracaktuar. (PF)] Kjo është një gjë e mirë sepse sjell fleksibilitet në mënyrën se si përdoret DTD. Kjo është arsyeja pse XML (dhe SGML) gjeti rrugën e saj në sistemet e botimit elektronik ku elementë të ndryshëm u përzien dhe përputheshin për të krijuar dokumente të ndryshme që përputheshin me të njëjtën DTD. Unë kam parë sugjerime skemash që ju lejojnë të specifikoni se cili nga elementët e tipit të skemës mund të jetë elementi kryesor i dokumentit, por pas një vështrimi të shpejtë në seksionin 3.3 të pjesës 1 të rekomandimit të skemës W3C dhe skemës RELAX NG për RELAX, Unë besoj se një nga këto. Mund të gaboj.
3.14: Po dëgjoj për alternativa ndaj DTD. Çfarë është një skemë? Ngjashëm me DTD për vërtetimin e përmbajtjes dhe strukturës. Rekomandimi i skemës W3C XML ofron një mjet për të specifikuar hyrjen formale të të dhënave dhe vlefshmërinë e përmbajtjes së elementit për sa i përket llojeve të të dhënave, në mënyrë që projektuesit e llojit të dokumentit të mund të ofrojnë kritere për kontrollimin e përmbajtjes së të dhënave të elementeve si dhe vetë shënimin. Skemat shkruhen në sintaksë të dokumentit XML, të ngjashme me dokumentet XML, dhe shmangin nevojën për softuer përpunues për të lexuar deklaratën e sintaksës XML (përdorur për DTD). Ekziston një skemë e veçantë e shpeshtë në http://schema.org/docs/faq.html Termi fjalor përdoret ndonjëherë për t'iu referuar DTD-ve dhe skemave. Skemat synojnë tregtinë elektronike, menaxhimin e të dhënave dhe aplikacionet e stilit të bazës së të dhënave ku përmbajtja e të dhënave të karaktereve kërkon vërtetim dhe ku kërkohet kontroll më i rreptë i të dhënave sesa është i mundur me DTD-të; Ose ku kërkohet futja e rëndë e të dhënave. Zakonisht nuk nevojiten për aplikacionet tradicionale të publikimit të dokumenteve tekstuale ku DTD-të vazhdojnë të përdoren. Ndryshe nga DTD-të, skemat nuk mund të specifikohen në një Deklaratë të llojit të dokumentit XML. Ato mund të specifikohen në hapësirën e emrave ku Schema-aware duhet të informojë, por kjo është fakultative:
<?xml version="1.0"?>
<fatura xml:id="abc123"
         xmlns="http://example.org/ns/books/"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://acme.wilycoyote.org/xsd/invoice.xsd">
...
</faturë>         
Më shpesh sesa jo, ju specifikoni skemën në softuerin tuaj të përpunimit, i cili duhet të regjistrojë veçmas se cila skemë përdoret nga cili shembull i dokumentit XML. Ndryshe nga kompleksiteti i modelit të Skemës W3C, Relax NG është një gjuhë skema XML e lehtë dhe e lehtë për t'u përdorur, e krijuar nga James Clark (shih http://relaxng.org/) me zhvillim të organizuar nga OASIS. Ai lejon një pasuri të ngjashme të shprehjes dhe përdorimit të XML si sintaksë e saj, por ofron një sintaksë shtesë të thjeshtuar që është e lehtë për t'u përdorur për ata që janë mësuar me DTD.
Autorët dhe botuesit duhet të kenë parasysh se grupi i skemave në anglisht janë skema: përdorimi i formës së njëjës për shumësin është i lirë për gjysmë-shkolluesit; Përdorimi i skemave të shumësit të vjetër (greqisht) është didaktik i panevojshëm. Shkrimtarët duhet të kenë parasysh gjithashtu se shumësi i DTD është DTD: nuk ka apostrof - shih Truss (2003).
Bob DuCharme shkruan:
Shumë zhvillues XML ishin të pakënaqur me sintaksën e deklaratave të shënjimit të përshkruara në specifikimet XML për dy arsye. Së pari, ata menduan se nëse dokumentet XML janë kaq të mira në përshkrimin e informacionit të strukturuar, atëherë përshkrimi i strukturës së llojit të dokumentit (skema e tij) duhet të jetë në dokumentin XML në vend që të shkruhej me sintaksën e tij të veçantë. Përveç konsistencës, kjo do ta bënte më të lehtë modifikimin dhe manipulimin e skemës me mjete të zakonshme të manipulimit të dokumenteve. Së dyti, ata besonin se shënimet tradicionale DTD nuk i lejonin projektuesit e tipit të dokumentit të vendosnin kufizime të mjaftueshme mbi të dhënat - për shembull, aftësia për të thënë se një lloj elementi i caktuar duhet të ketë gjithmonë një vlerë të plotë pozitive, se nuk duhet të jetë bosh, ose që duhet të jetë një nga një listë opsionesh të mundshme. Kjo e bën më të lehtë zhvillimin e softuerit duke përdorur këto të dhëna sepse zhvilluesi ka më pak kod për të shkruar gabime.
Peter Flynn shkruan:
Një DTD përdoret vetëm për të specifikuar strukturën e elementeve të skedarit XML me një sasi shumë të kufizuar kontrolli mbi vlerat e atributeve. Ai rendit emrat e elementeve, atributeve dhe entiteteve që mund të përdoren dhe si përshtaten ato së bashku. DTD-të janë të destinuara për t'u përdorur me dokumente tekstuale tradicionale, jo me të dhëna drejtkëndore ose tabelare, kështu që koncepti i llojeve të të dhënave nuk është aq i rëndësishëm: teksti është thjesht tekst. Nëse keni nevojë të specifikoni vargjet numerike ose të përcaktoni kufizime ose kontrolle mbi përmbajtjen e të dhënave të përmbajtjes (tekstuale), një DTD është mjeti i gabuar.
3.15: Si do të ndikojë XML në lidhjet me dokumentet e mia? Lidhjet XML janë shumë më të fuqishme, por ende nuk janë implementuar në shfletues Aftësitë lidhëse të sistemeve XML janë potencialisht shumë më të forta se ato të HTML, kështu që ju do të jeni në gjendje të bëni shumë më tepër me to. Lidhjet ekzistuese të stilit href do të mbeten të përdorshme, por teknologjia e re e lidhjes bazohet në përvojën e fituar nga zhvillimi i standardeve të tjera që përfshijnë hipertekstin, si TEI dhe HyTime, të cilat lejojnë menaxhimin e lidhjeve të dyanshme dhe të shumëanshme, si si dhe lidhje me një element të tërë ose një hapësirë ​​teksti (në dokumentet tuaja ose të tjera) dhe jo në një pikë të vetme. Këto funksione janë të disponueshme për përdoruesit e SGML për shumë vite, kështu që ka përvojë dhe ekspertizë të konsiderueshme në përdorimin e tyre. Aktualisht, vetëm Mozilla Firefox zbaton XLink. Specifikimi i lidhjes XML (XLink) dhe dokumentet XML Extended Pointer (XPointer) përmbajnë detaje. Një XLink mund të jetë ose një URI ose një tregues i zgjeruar i stilit TEI (XPointer), ose të dyja. Vetë URI konsiderohet një burim; Nëse gjurmohet nga XPointer, supozohet se është një burim i vogël i asaj URI; Vetë XPointer supozohet t'i referohet dokumentit aktual (ashtu si HTML). XLink mund të përdorë një nga karakteret # ,  ose # dhe  do të thotë njësoj si në aplikacionet HTML; do të thotë që një nënburim mund të gjendet duke përdorur një referencë për burimin, por se si bëhet kjo i lihet aplikacionit. XPointer mund të ndjekë vetëm # . TEI Extended Pointer Notation (EPN) është shumë më i fuqishëm se adresa e fragmentit në fund të disa URI-ve, sepse lejon që vendndodhja e fundit të lidhjes të përcaktohet duke përdorur strukturën e dokumentit si dhe (ose përveç) të fiksuarve të njohur. pika të tilla si ID. Për shembull, shfaqja e dytë e bashkuar e fjalës "XPointer" dy paragrafë mbrapa mund t'i referohet një URI (treguar këtu me vija dhe hapësira për qartësi: në praktikë kjo sigurisht që do të ishte një varg i gjatë):
http://xml.silmaril.ie/faq.xml#ID(hipertekst)
    .child(1,#element,'përgjigje')
    .child(2,#element,'para')
    .child(1,#element,'lidhje')
Kjo do të thotë elementi i parë i lidhjes në paragrafin e dytë brenda përgjigjes  në elementin ID e të cilit është "hipertekst" (kjo pyetje). Numëroni objektet nga fillimi i kësaj pyetjeje (e cila ka ID-në "hipertekst" ) në burimin XML:
  1. Objekti i parë i fëmijës është elementi që përmban pyetjen ( kuantentri );
  2. Objekti i dytë i fëmijës është përgjigja (elementi i përgjigjes );
  3. Brenda këtij elementi, shkoni te paragrafi i dytë;
  4. Gjeni elementin e parë të lidhjes .
Eve Maler shpjegoi marrëdhënien midis XLink dhe XPointer si më poshtë:
XLink specifikon se si futni lidhje në një dokument XML ku lidhja i referohet çdo gjëje (p.sh. një skedar GIF); XPointer kontrollon identifikuesin e fragmentit që mund t'i kalohet URL-së kur lidheni me një dokument XML, nga kudo (p.sh. nga një skedar HTML). [Ose nga një skedar XML, një URI në një mesazh email, etj...Ed.]
David Megginson krijoi funksionin xpointer për Emacs/psgml që nxjerr një XPointer për çdo vendndodhje në një dokument XML. XML Spy ka një funksion të ngjashëm. 3.16: A mund të kodoj matematikën duke përdorur XML? Po, duke përdorur MathML. Matematika aktivizohet nëse lloji i dokumentit që po përdorni ofron matematikë dhe shfletuesit e përdoruesve mund ta japin atë. Komuniteti i matematikës ka zhvilluar Rekomandimin MathML në W3C, i cili është një implementim vendas i XML i përshtatshëm për t'u futur në DTD dhe skema të tjera. Është gjithashtu e mundur të krijohen fragmente XML nga DTD të tjera, të tilla si ISO 12083 Math ose OpenMath, ose nga krijimi juaj. Shfletuesit që shfaqin matematikën e ngulitur në SGML kanë ekzistuar prej shumë vitesh (p.sh. DynaText, Panorama, Multidoc Pro) dhe shfletuesit e zakonshëm tani japin MathML. David Carlisle krijoi një grup stilesh për krijimin e MathML në shfletues. Është gjithashtu e mundur të përdoret XSLT për të konvertuar simbolet matematikore XML në LATEX për paraqitjen e printimit (PDF), ose për të përdorur XSL:FO. Mos harroni se XML nuk është një gjuhë programimi, kështu që konceptet si aritmetika dhe deklaratat nëse (logjika nëse-atëherë-tjetër) nuk kanë kuptim në dokumentet normale XML. 3.17: Si i trajton XML të dhënat e mia meta? Megjithatë ju dëshironi. Për shkak se XML ju lejon të përcaktoni gjuhët tuaja të shënjimit, mund të përfitoni plotësisht nga veçoritë e zgjeruara të hipertekstit të XML (shihni pyetjen Referencat) për të ruajtur ose referuar meta të dhënat në çdo format (p.sh. duke përdorur ISO 11179 si subjekt i një teme të publikuar, me Dublin Core, Warwick Framework ose Resource Description Framework (RDF), apo edhe Platforma për Përzgjedhjen e Përmbajtjes në Internet (PICS)). Nuk ka elemente të paracaktuara në XML sepse është një arkitekturë, jo një aplikacion, kështu që nuk është pjesë e detyrës së XML të diktojë se si ose nëse autorët duhet ose nuk duhet të zbatojnë metadatat. Prandaj, ju keni mundësinë të përdorni çdo metodë të përshtatshme. Ndërtuesit e faqeve të internetit mund të kenë gjithashtu rekomandimet e tyre arkitekturore ose metodat e projektimit. Nëse po ndërtoni HTML5 nga XML-ja juaj, ju e dini që HTML5 nuk përdor Dublin Core si HTML (shih http://www.w3.org/TR/html5/document-metadata.html) por ka një mekanizëm regjistrimi Zgjerime në një grup të paracaktuar emrash meta të dhënash. Pyetja 3.18: Si të përdorim grafikë në XML? Lidhni ato si HTML ose përdorni XLink. Ose futni një SVG. Grafikat tradicionalisht kanë vetëm lidhje që kanë një skedar imazhi dhe jo tekst tjetër. Prandaj, ato mund të zbatohen në çfarëdo mënyre të mbështetur nga specifikimet XLink dhe XPointer (shih Si do të ndikojë XML në lidhjet me dokumentet e mia?), duke përfshirë përdorimin e një sintakse të ngjashme me imazhet ekzistuese HTML. Ato gjithashtu mund të referohen duke përdorur mekanizmin e integruar NOTATION dhe ENTITY të XML në një mënyrë të ngjashme me SGML standarde si entitete të jashtme të paklasifikuara. Sidoqoftë, Grafika vektoriale e shkallëzuar (specifikimi XML për grafika vektoriale) ju lejon të përdorni etiketën XML për të vizatuar objekte grafike vektoriale drejtpërdrejt në skedarin tuaj XML. Kjo siguron fuqi të madhe për të përfshirë grafika portative, veçanërisht sekuenca interaktive ose të animuara, dhe tani po mbështetet në shfletues dhe mund të eksportohet nga programet standarde grafike (vizatuese) si GIMP . Specifikimi i lidhjes XML për imazhet e jashtme ju jep kontroll shumë më të mirë mbi kalimin dhe aktivizimin e lidhjeve, kështu që autori mund të specifikojë nëse do të shfaqet apo jo imazhi në ngarkimin e faqes, ose në një klikim nga përdoruesi, ose në një dritare të veçantë pa duhet të aplikoni për skriptim. XML në vetvete nuk ka predikata ose kufizime në formatet e skedarëve grafikë: GIF, JPG, TIFF, PNG, CGM, EPS dhe SVG të paktën duket se kanë kuptim. Formatet vektoriale (EPS, SVG) zakonisht janë të nevojshme për imazhet (diagramet) jo-fotografike.
Grafika binare të ngulitura Nuk është e mundur të futni një skedar grafike binar të papërpunuar (ose të dhëna të tjera binare [jo tekstuale]) drejtpërdrejt në një skedar XML, sepse bajtet që ngjajnë me një etiketë do të keqinterpretoheshin: duhet t'i referoni ato (shih më poshtë). Megjithatë, është e mundur të përfshihet transformimi i koduar me tekst i skedarit binar si një seksion i shënuar si CDATA, duke përdorur diçka si UUencode me shënuesit ] , & dhe > të hequr nga harta në mënyrë që të mos ndodhin si përfundime të këqija CDATA dhe të jenë keqinterpretuar. Mund të përdorni edhe kodim të thjeshtë heksadecimal siç përdoret në PostScript. Megjithatë, për grafikat vektoriale, zgjidhja është përdorimi i SVG (shih këshillën e Peter Murray-Rust).
Skedarët audio janë objekte binare në të njëjtën mënyrë si grafika e jashtme, kështu që ato mund të referohen vetëm nga jashtë (duke përdorur të njëjtat teknika si për grafikë). Sidoqoftë, skedarët muzikorë të shkruar në MusiXML ose në variantin XML të SMDL mund të futen në të njëjtën mënyrë si për SVG. Çështja e përdorimit të objekteve për të menaxhuar grafikët është se ju mund të mbani një listë të deklaratave të entiteteve të ndara nga pjesa tjetër e dokumentit, në mënyrë që t'i ripërdorni ato nëse imazhi është i nevojshëm disa herë, por vetëm të ruani skedarin Specs fizike në një vend. Subjektet e jashtme janë të disponueshme vetëm kur përdorni një DTD, jo si një skemë. Bob DuCharme shkruan:
Të gjitha të dhënat në një entitet të dokumentit XML duhet të jenë XML të analizueshme. Ju mund të përcaktoni një entitet të jashtëm si një entitet të analizuar (XML i analizueshëm) ose një entitet jo i ndarë (çdo gjë tjetër). Subjektet jopjesëmarrës mund të përdoren për skedarë imazhi, skedarë audio, skedarë filmash ose çdo gjë që ju pëlqen. Mund të referohet vetëm nga një dokument si një vlerë atributi (ashtu si një imazh bitmap në një faqe ueb HTML është vlera e atributit src  elementit img) dhe jo pjesë e dokumentit aktual. Në një dokument XML, ky atribut duhet të deklarohet si një tip ENTITY , dhe deklarata e entitetit duhet të specifikojë një NOTATION të deklaruar , sepse nëse entiteti nuk është XML, procesori XML duhet të dijë se çfarë është. Për shembull, në dokumentin e mëposhtëm, entiteti koliepik  deklarohet si një shënim JPEG dhe përdoret si vlera e atributit picfile të elementit të qenit bosh.
<?xml version="1.0"?>
<!DOCTYPE qen [
<!SHËNIM JPEG SYSTEM "Joint Photographic Experts Group">
<! ENTITY SISTEM koliepik "lassie.jpg" NDATA JPEG>
<!ELEMENT qen bosh>
<!ATTLIST picfile qeni ENTITY #REQUIRED>
]>
<dog picfile="colliepic"/>
Metoda Entity është veçanërisht e dobishme nëse keni shumë imazhe ose shumë ripërdorime të të njëjtave imazhe, sepse i deklaroni ato vetëm një herë, në krye të dokumentit, duke e bërë menaxhimin e imazhit shumë më të lehtë. Specifikimet XLink dhe XPointer përshkruajnë mënyra të tjera për të treguar një skedar jo-XML, siç është një grafik. Këto ofrojnë kontroll më të sofistikuar mbi pozicionin, trajtimin dhe pamjen e një entiteti të jashtëm brenda një dokumenti XML.
Peter Murray-Rust shkruan:
GIF dhe JPEG kujdesen për bitmaps (përfaqësimet me piksel të imazheve: të gjitha të përbëra nga pika me ngjyra). Grafika vektoriale (e shkallëzueshme, e përbërë nga specifikime vizatimi) i dedikohet Aktivitetit të Grafikës së W3C si Grafika Vektoriale të shkallëzuara (shih http://www.w3.org/Graphics/SVG). Pasi të përfundojë specifikimi, paraqitja grafike mund të transferohet si vektorë direkt në skedarin XML. Për shumë objekte grafike, kjo do të thotë reduktim i ndjeshëm i kohës së shkarkimit dhe shkallëzimit pa humbje detajesh.
Max Dunn shkruan:
SVG ka filluar me të vërtetë kohët e fundit dhe është mjaft një histori suksesi XML […] ka [shumë] zbatime konforme. Së fundmi kemi filluar të përdorim pyetjet e shpeshta të SVG në http://www.svgfaq.com/. XSLT mund të përdoret për të gjeneruar SVG nga XML; Shikoni http://www.svgfaq.com/xslt.asp për detaje (kini kujdes të përdorni XSLT, jo teknologjinë e vjetëruar WD-xsl të Microsoft). Dokumentet gjithashtu mund të ndërveprojnë me imazhet SVG (shih http://www.xml.com/pub/a/2000/03/22/style/index.html).
3.19: Çfarë është analizimi dhe si mund ta bëj atë në XML? Parimi e ndan informacionin në pjesët e tij Analiza është akti i ndarjes së informacionit në pjesët e tij (shkollat ​​e mësonin atë në klasat e gjuhës derisa profesioni i mësuesit e kapi virusin anti-gramatik). "Mária live spots" analizon se si Tema = Mari, emër i përveçëm, rasa emërore; Folje = ushqyerje, kalimtare, e treta njëjës, zë vepror, koha e tashme; Objekt = Vend, emër i përveçëm, rasë akustike. Në informatikë, një analizues është një program (ose një pjesë kodi ose një API që mund ta përfshini në programet tuaja) që analizon skedarët për të identifikuar komponentët. Të gjitha aplikacionet që lexojnë hyrjen kanë një analizues të një lloji, ose ata kurrë nuk do të jenë në gjendje të kuptojnë se çfarë do të thotë. Microsoft Word përfshin një analizues që funksionon kur hapni një skedar .doc dhe kontrollon nëse mund të identifikojë ndonjë kod të fshehur; iCal dhe Google Calendar përfshijnë një analizues që lexon një bashkëngjitje të ngjarjes .ical në një email dhe përcakton se çfarë informacioni përmban. Jepu atyre një skedar të dëmtuar dhe do të shfaqet një mesazh gabimi. Aplikacionet XML janë të njëjta: ato përmbajnë një analizues që lexon XML dhe identifikon funksionin e pjesëve individuale të dokumentit dhe më pas e bën atë informacion të disponueshëm në memorie për pjesën tjetër të programit. Kur lexon një skedar XML, analizuesi kontrollon për sintaksë të formuar siç duhet (kllapa kaçurrela, pamje paraprake që përputhen, etj.) dhe raporton çdo shkelje (mesazhe gabimi). Specifikimi XML tregon se çfarë është. Verifikimi është hapi tjetër përtej analizës. Ndërsa identifikohen komponentët individualë të programit, analizuesi që përputhet i krahason ato me modelin e specifikuar nga DTD ose skema për të kontrolluar nëse ato përputhen. Në këtë proces, vlerat e paracaktuara dhe llojet e të dhënave (nëse specifikohen) mund të shtohen në rezultatin e vlefshmërisë në memorie të ofruar nga analizuesi i vlefshmërisë në aplikacion.
 
<person xml:id="abc123" birth="1960-02-31" gender="female">
  <emri>
    <forename>Judy</forename>
    <mbiemri>O'Grady</surname>
  </name>
</person>
Shembulli i mësipërm analizohet si më poshtë:
  1. Një element <person> i identifikuar me një atribut xml:id (lloji i paracaktuar "ID") që përmban "abc123" dhe një atribut të lindjes që përmban "1960-02-31" dhe një  atribut gjinor  që përmban "femër" që përmban…
  2. Elementi  <emri> që përmban…
  3. Një element <emri i parë> që përmban tekstin "Judy" i ndjekur nga…
  4. Një element <mbiemri> që përmban tekstin 'O'Grady'.
(dhe shumë gjëra të tjera). Kjo përfundon si një lloj strukture e familjes së pemëve në memorien e aplikacionit (strukturat e pemëve janë një mënyrë e zakonshme për programet për të ruajtur të dhënat e lidhura). Përveç analizuesve të integruar, ka edhe analizues të veçantë analizues (shih këshillën e Bill Rayer) që lexojnë skedarin XML dhe shohin nëse gjejnë ndonjë gabim (si p.sh. mungojnë kllapa ose thonjëza ose etiketa me etiketa të gabuara). Kjo është e rëndësishme për testim skedarët në izolim më parë, si mund të bëni ndonjë gjë tjetër me ta, veçanërisht nëse ato janë krijuar me dorë pa një redaktues XML ose duke përdorur një API që mund të jetë ngulitur shumë thellë diku tjetër për të lejuar testimin e lehtë. Bill Rayer shkruan:
Për analizë/vlefshmëri të pavarur, përdorni softuer të tillë si orsgmls i James Clark ose rxp i Richard Tobin. Të dy punojnë nën Linux dhe Windows/DOS. Dallimi është në formatin e listës së gabimeve (nëse ka), dhe disa versione të onsgmls nuk ngarkojnë DTD ose skedarë të tjerë në rrjet, ndërsa rxp po. Sigurohuni që skedari juaj XML të referojë saktë DTD-në e tij në Deklarimin e llojit të dokumentit dhe që skedari DTD[s] të jetë i disponueshëm lokalisht (rxp i ngarkon ato nëse keni një lidhje interneti, onsgmls jo, kështu që mund të ketë nevojë për një kopje lokale). Shkarkoni dhe instaloni softuerin. Sigurohuni që të jetë i instaluar aty ku mund ta gjejë sistemi juaj operativ. Nëse nuk e dini se çfarë do të thotë kjo, do t'ju duhet ndihmë nga dikush që di të ngarkojë dhe instalojë softuerin në llojin e sistemit operativ. Për onsgml, kopjoni pubtext/xml.soc dhe pubtext/xml.dcl në drejtorinë e punës. Për të verifikuar myfile.xml , hapni një dritare shell (komandë ose terminal) (Linux) ose një dritare MS-DOS (komandë) (Microsoft Windows). Për këta shembuj, ne do të supozojmë se skedari juaj XML quhet myfile.xml dhe ndodhet në një dosje të quajtur myfolder . Përdorni emrat aktual të dosjeve dhe skedarëve kur futni komanda. Për onsgml :
$ onsgmls -wxml -wundefined -cxml.soc -s myfile.xml
Ka shumë opsione të tjera për onsgml që përshkruhen në faqen e internetit. Ato të listuara këtu kërkohen sepse bazohen në analizuesin SGML dhe këto opsione e kalojnë atë në modalitetin XML dhe e shtypin daljen normale, duke lënë vetëm gabime (nëse ka). Në Microsoft Windows, mund t'ju duhet të parathoni komandën onsgmls me shtegun e plotë ku është instaluar, p.sh. C:\Program Files\OpenSP\bin\onsgmls . Për rxp:
$ rxp myfile.xml
Rxp gjithashtu ka disa opsione që përshkruhen në faqen e saj të internetit. Në Microsoft Windows, mund t'ju duhet të parafiksoni komandën rxp me shtegun e plotë ku është instaluar, p.sh. C:\Program Files\ltxml2\bin\rxp .
3.20: Si mund të përfshij një skedar XML në një tjetër? Përdorni një entitet të përgjithshëm, ashtu si për SGML, ose përdorni XInclude. Një metodë është përdorimi i Entiteteve të Dokumentit, të cilët funksionojnë saktësisht njësoj si për SGML, por kërkojnë një DTD ose nëngrup të brendshëm. Ju së pari deklaroni entitetin që dëshironi të përfshini dhe më pas referojuni me emër si referencë entiteti:
 
<?xml version="1.0"?>
<!DOCTYPE novel SYSTEM "/dtd/novel.dtd" [
<!ENTITY kap1 SISTEMI "mydocs/chapter1.xml">
<!ENTITY kap2 SISTEMI "mydocs/chapter2.xml">
<!ENTITY kap3 SISTEMI "mydocs/chapter3.xml">
<!ENTITY kap4 SISTEMI "mydocs/chapter4.xml">
<!ENTITY kap5 SISTEMI "mydocs/chapter5.xml">
]>
<roman>
  <header>
    ...bla bla...
  </header>
&kap1;
&kap2;
&kap3;
&kap4;
&kap5;
</novel>
Dallimi midis kësaj metode dhe asaj që përdoret për të përfshirë një fragment DTD (shihni Si të shkruani një DTD (ose fragment) brenda një tjetri? ) është se përdoret një ent i jashtëm gjenerik (skedar), i cili referohet në të njëjtën mënyrë si për një entitet Karakteri (me një ampersand). E vetmja gjë për t'u siguruar është që skedari i përfshirë nuk duhet të përmbajë një deklaratë XML ose DOCTYPE. Nëse keni përdorur një për të redaktuar një fragment, hiqeni atë përpara se ta përdorni skedarin në këtë mënyrë. Po, kjo është një dhimbje në gomar, por nëse keni shumë përfshirje të tilla, shkruani një skenar për të zhbërë deklaratën (dhe rifuteni atë për redaktim). Skemat nuk mbështesin entitetet, kështu që alternativa është përdorimi i XInclude. Ky është një specifikim i W3C që fut një dokument (ose fragment) XML në një dokument tjetër.
<?xml version="1.0"?>
...
<article xmlns="http://docbook.org/ns/docbook"
      xmlns:xi="http://www.w3.org/2001/XInclude">
   <info>
     <xi:include href="metadata.xml" parse="xml"
         xpointer="title"/>
   </info>
   <sekti1>
      ...
   </sect1>
</article>
Softueri juaj përpunues duhet të jetë në gjendje të trajtojë veçorinë XInclude. Sintaksa e XPointer mund të ridrejtojë analizuesin në një vendndodhje specifike në një dokument, ndryshe nga entitetet ku përfshihet i gjithë dokumenti. 3.21: Kur duhet të përdor një seksion të emërtuar CDATA? CDATA përdoret vetëm për tekstin që përmban karaktere të ngjashme me etiketat. Pothuajse kurrë nuk do t'ju duhet të përdorni seksionet CDATA. Mekanizmi CDATA është krijuar në mënyrë që autori të citojë fragmente të tekstit që përmbajnë karaktere shënjimi (kllapa me kënd të hapur dhe ampersand), për shembull në dokumentacionin XML (ky FAQ përdor shkaqe të dukshme). Seksioni CDATA çaktivizon njohjen e shenjave për kohëzgjatjen e seksionit (ri-aktivizohet vetëm duke mbyllur sekuencat e dyfishtë të kllapave katrore pasuese dhe një kënd të ngushtë). Si rezultat, asgjë në seksionin CDATA nuk mund të njihet kurrë si diçka që lidhet me një etiketë: është thjesht një varg karakteresh të paarritshëm dhe nëse përdorni një gjuhë transformimi XML si XSLT, çdo etiketë në të bëhet ekuivalente me karakterin e tyre. subjektet . Për shembull, nëse përpiqeni të përdorni:
disa tekst me <![CDATA[<em>shënjimi</em>]]> në të.
duke pritur që etiketa e integruar të mbetet e paprekur, nuk do të jetë: thjesht do të dalë
disa tekst me <em>shënjimin</em> në të.
Me fjalë të tjera, seksionet CDATA nuk mund të mbajnë një etiketë të integruar siç është shënimi . Normalisht, kjo është pikërisht ajo që dëshironi, sepse teknika është krijuar për t'i lejuar njerëzit të bëjnë gjëra të tilla si të shkruajnë dokumentacionin e shënimit. Nuk është krijuar për të lejuar që pjesë të vogla të HTML-së fals, të korruptuar ose të pavlefshme të ngulitura në XML-në tuaj të kalojnë në procesin e rrjedhës së poshtme - pasi kjo mund të shkaktojë korrupsion në dalje. Rrjedhimisht , nuk mund të prisni të mbani një etiketë të paprekur thjesht sepse dukej se ishte "i fshehur" në mënyrë të sigurt në seksionin CDATA: nuk mund të përdoret si një mburojë magjike për të ruajtur etiketën HTML për përdorim në të ardhmen si shënim , ashtu si karaktere.
Lexoni Si mund ta trajtoj HTML-në e integruar në XML-në time? E cila është shumë e lidhur ngushtë.
3.22: Si mund ta trajtoj HTML-në e integruar në XML-në time? Nxjerr atë, përdor kopje të thellë ose provo të çaktivizosh daljen. Përveç përdorimit të seksioneve CDATA, ka dy raste të zakonshme kur njerëzit duan të punojnë me HTML të integruar brenda një elementi XML:
  1. Kur ata morën (ndoshta të dizajnuara keq) XML ose HTML nga diku tjetër, ata duhej të gjenin një mënyrë për ta trajtuar atë;
  2. Kur ata kanë një aplikacion që është krijuar në mënyrë eksplicite për të ruajtur një varg karakteresh që përmbajnë  dhe  Lidhjet e entitetit të karakterit për t'u kthyer në shënim në një proces të mëvonshëm (p.sh. FreeMind, Atom).
Në përgjithësi, ju dëshironi të shmangni një mashtrim të tillë, pasi zakonisht tregon se struktura dhe dizajni i dokumentit nuk janë menduar mirë. Sidoqoftë, ka raste kur kjo bëhet e nevojshme, kështu që nëse vërtet keni nevojë ose dëshironi të përdorni shënjimin inline HTML brenda XML dhe ta përpunoni atë më vonë si shënim, ka disa teknika që mund të përdorni:
<xsl:template match="h:b">
  <b>
    <xsl:apply-templates/>
  </b>
</xsl:template/>
(Nëse jeni duke punuar me elementë nga shumë DTD ose skema, ka të ngjarë të keni nevojë për hapësira emrash për t'i shënuar ato si të dallueshme, pra parashtesa h:).
<xsl:template match="h:b">
  <xsl:copy-of select="."/>
</xsl:template/>
<xsl:text disable-output-escaping="yes"><![CDATA[<b>Tani!</b>]]></xsl:text>
Kjo bie në departamentin e "mashtrimeve të pista" dhe zakonisht është e vjetëruar. Disa procesorë nuk e mbështesin atë. Për më shumë detaje mbi përdorimin e këtyre teknikave në XSL [T], shihni pyetjen përkatëse në FAQ të XSL.
Lexoni Kur duhet të përdor një seksion të emërtuar CDATA? E cila është shumë e lidhur ngushtë.
3.23: Cilat janë karakteret speciale në XML? Vetëm pesë: < (<), & (&), > (>), " (“) dhe ' ('). Për tekstin normal ( jo shënim) nuk ka karaktere speciale përveç  dhe &: vetëm sigurohuni që deklarata juaj XML i referohet skemës së saktë të kodimit të gjuhës dhe/ose sistemit të shkrimit që dëshironi të përdorni dhe që kompjuteri juaj do të ruajë saktë duke përdorur atë skemë kodimi . Për më shumë pyetje, shihni pyetjen me karaktere jo latine. Përveç karaktereve të kontrollit ASCII të padukshëm (ato që nuk mund të shtypen), të gjithë karakteret e tjera janë tekst të thjeshtë. Karakteret e emrave (€, £, $, ƒ, ₨, Ƀ dhe të tjerë), të gjitha shenjat e pikësimit (përveç  dhe & ) dhe të gjitha shkronjat, shenjat dhe simbolet e tjera në çdo gjuhë ose sistem shkrimi janë vetëm me tekst. kodimi i saktë i karaktereve). Nëse tastiera juaj nuk ju lejon të futni karakteret e kërkuara, ose nëse dëshironi të përdorni karaktere jashtë kufijve të skemës së zgjedhur të kodimit, mund të përdorni një shënim simbolik të quajtur "referencë e entitetit". Referencat e entitetit mund të jenë ose numerike, duke përdorur kodin dhjetor ose heksadecimal të Unicode për karakterin (p.sh., nëse tastiera juaj nuk ka simbolin Euro (€), mund të shkruani  ); Ose mund të jenë një karakter duke përdorur një grup të caktuar emrash që mund t'i deklaroni në DTD-në tuaj (p.sh. <! ENTITY euro “€”> ), i cili më pas ju lejon të përdorni emrin dhe €  në dokument. Nëse jeni duke përdorur një skemë, duhet të përdorni formën numerike për të gjithë, përveç pesë të mëposhtëm, sepse skemat nuk kanë asnjë mënyrë për të bërë deklarata entitet-entitet. Nëse përdorni XML pa një DTD, entitetet me pesë karaktere të listuara në krye të kësaj pyetje supozohet se janë shënuar më parë dhe ju mund t'i përdorni ato pa i deklaruar veçmas (shumica e softuerëve i pengojnë ato të ribotohen): < Një shenjë më pak se (<) fillon një etiketë elementi (karakteri i parë i një etikete fillimi ose etiketë fundore). & Karakteri ampersand (&) fillon një etiketë entiteti (karakteri i parë i referencës së entitetit të karakterit). > Një shenjë më e madhe se (>) përfundon një etiketë fillimi ose një etiketë fundore. " Karakteri me thonjëza të dyfishtë (“) mund të simbolizohet nga kjo referencë e entitetit të karakterit nëse duhet të futni një thonjëza të dyfishtë në një varg që tashmë është i koduar dyfish. ' Një apostrof ose karakter i vetëm (') mund të simbolizohet me këtë referencë të entitetit të karakterit nëse duhet të futni një karakter ose apostrof të vetëm brenda një vargu që tashmë është një karakter i vetëm. Nëse jeni duke përdorur një DTD, duhet të deklaroni të gjitha entitetet e karaktereve që duhet të përdorni, kështu që është një praktikë e mirë të deklaroni gjithashtu ndonjë nga pesë të mësipërmet që planifikoni të përdorni. Nëse përdorni një skemë, duhet të përdorni formën numerike për të gjithë, përveç pesë të mësipërmeve, sepse skemat nuk kanë asnjë mënyrë për të bërë deklarata entitet-entitet.
Ka rrethana ku mund të përdorni karaktere të veçanta si ju, si për shembull në seksionet CDATA. Shumica e karaktereve të kontrollit janë të çaktivizuar në XML: shikoni specifikimin për detaje.
Gjithashtu nuk ka fjalë të rezervuara në vetvete në hapësirën e emrave të XML të përdoruesit: mund të thërrisni elementin e elementit dhe  atributin atribut ,  etj., si në shembullin e mëposhtëm (të përmbysur):
<?xml version="1.0"?>
<!DOCTYPE DOCTYPE SYSTEM "SYSTEM" [
<!DOKTIPI I ELEMENTIT (ELEMENT+)>
<!ATTLIST ELEMENT ATTLIST ENTITY #IMPLIED>
<!NOTATION DOCTYPE SYSTEM "ENTITY">
<!SISTEMI I SHËNIMIT TË ENTITETIT "ENTITY" NDATA DOCTYPE>
]>
<DOCTYPE>
  <ELEMENT ATTLIST="NOTATION">foo</ELEMENT>
</DOCTYPE>
Aty ku skedari SYSTEM përmban deklaratën: <!ELEMENT ELEMENT (#PCDATA)> dhe skedari ENTITY as që ekziston ☺ Ka fjalë kyçe  si DOCTYPE dhe IMPLIED , të cilat janë Emra të rezervuar, por janë të shënuara (Open Markup Deklarata ose Reserved Name Indicator) kështu që ato nuk mund të ngatërrohen me emrat e specifikuar nga përdoruesi. 3.24: Cilat sisteme të tjera të shënjimit ekzistojnë? Ka disa sisteme të tjera të njohura MarkDown Kjo është një sintaksë teksti e dyanshme dhe një skrip Perl që e konverton atë në XHTML. Qëllimi ishte që skedari i skedarit të mos dukej si një shënim (në mënyrë që të mund të lexohej vetëm si teksti i një dokumenti teksti të thjeshtë), por që të ishte mjaftueshëm i fortë për t'i bërë ballë konvertimit. Shikoni http://daringfireball.net/projects/markdown/ për detaje. Formatet e Wiki/blogut Ka disa prej tyre: më i famshmi është ndoshta formati MediaWiki i përdorur nga Wikipedia, i cili ofron opsione mjaft të gjera për krijimin e artikujve të përdorur në faqe, të cilat më pas konvertohen në HTML për t'u shfaqur. Formate të ngjashme konceptuale përdoren nga disa sisteme të tjera wiki, si PmWiki dhe Google Code; Dhe ka hibride që përdorin gjithashtu HTML si Fossil. LATEX Sistemi i përgatitjes dhe shtypjes së dokumenteve LATEX (Lamport, 1994) përdor makro të ndërtuara në sintaksë TEX për të zbatuar një model dokumenti gjysmë të strukturuar. Sintaksa përdor një vijë të prapme për elementët e flamurit dhe udhëzimet e formatimit, dhe kthesat e pasme për të kufizuar argumentet dhe për të kufizuar shtrirjen e veprimeve tipografike. Ky softuer është i disponueshëm në të gjitha platformat dhe prodhon dalje PDF ose PostScript. Konvertimi në LATEX nga sistemet e bazuara në XML mund të bëhet duke përdorur XSLT, por konvertimi nga sintaksa LATEX është problematik sepse ka veti që nuk janë lehtësisht të dukshme në sisteme të tjera. SGML SGML dhe disa nga paraardhësit e tij mbeten të disponueshëm, por përdoren rrallë. Wikipedia ka një listë të gjerë të gjuhëve të tjera të shënjimit. Seksioni 4: Zhvilluesit Programuesit dhe zbatuesit 4.1: Ku është specifikimi? Mu ketu Pikërisht këtu: Bray, Paoli, Sperberg-McQueen, Maler dhe Yergeau (2004) (shih http://www.w3.org/TR/REC-xml). Përfshin EBNF dhe të gjithë materialin normativ. Ekzistojnë gjithashtu versione japoneze; Spanjisht; koreane; Një version i komentuar në Java dhe një version i shënuar në formë libri (DuCharme, 1999). Eve Maler mban DTD-në e përdorur për vetë specifikimin; DTD gjithashtu kodon disa specifika të tjera të W3C, si XLink, XPointer, DOM, XML Schema, etj. Dokumentacioni është i disponueshëm për DTD. Vini re se specifikimi XML duhet të përdorë një version të veçantë të njëhershëm të DTD, sepse DTD-ja aktuale origjinale e përdorur për të është zhdukur prej kohësh. 4.2: Përpjekja për të kuptuar Specifikimin XML: pse ka një terminologji kaq të rëndë? Duhet të jetë formal për të qenë i saktë. Terminologjia duhet të jetë e saktë që zbatimi të jetë i suksesshëm. Objektivi i projektimit nr. 8 i specifikimit thotë se "dizajni XML duhet të jetë formal dhe konciz". Prandaj, për të përshkruar XML, specifikimi përdor një gjuhë zyrtare që është nga disa fusha, përkatësisht dokumentacioni inxhinierik, standardet ndërkombëtare dhe shkenca kompjuterike. Kjo është shpesh konfuze për njerëzit që nuk janë mësuar me këto disiplina, sepse ata përdorin fjalë të njohura angleze në një kuptim të specializuar që mund të jenë shumë të ndryshëm nga kuptimet e tyre të zakonshme - për shembull: gramatikë, prodhim, shenjë ose terminal. Specifikimi nuk i shpjegon këto koncepte për shkak të pjesës së dytë të objektivit të projektimit: specifikimi duhet të jetë konciz. Ai nuk përsërit shpjegimet e disponueshme diku tjetër: supozon se ju i dini dhe i njihni përkufizimet ose mund t'i gjeni. Në thelb, kjo do të thotë që për të rritur plotësinë e specifikimeve, keni nevojë për njohuri të SGML dhe informatikë, dhe të keni njëfarë ekspozimi ndaj një gjuhe standarde formale. Terminologjia joadekuate në specifikime shkakton keqkuptime dhe e bën të vështirë zbatimin e tyre në mënyrë konsistente, prandaj standardet formale duhet të formulohen në terminologjinë formale. Ky FAQ nuk është një dokument formal dhe lexuesi i ndershëm do ta ketë vënë re tashmë se i referohet "emrave të elementeve", ku emri i llojit të elementit është më i saktë; Por e para kuptohet më gjerësisht. Përdoruesit e rinj të terminologjisë mund ta kenë të dobishme të lexojnë diçka si TEI P4: Udhëzime për kodimin dhe shkëmbimin e tekstit elektronik (Sperberg-McQueen dhe Burnard, 2002) ose XML: Një Specifikimi i Annotated (DuCharme, 1999). 4.3: Cilat janë këto koncepte pa DTD, të vlefshme dhe të mirëformuara? E formuar mirë do të thotë vetëm sintaksisht e saktë; Do të thotë se përputhet me DTD ose skemën. XML ju lejon të përdorni një skemë ose përkufizim të llojit të dokumentit (DTD) për të përshkruar shënimin (elementet dhe konstruksionet e tjera) të disponueshme në çdo lloj dokumenti të veçantë. Sidoqoftë, dizajni dhe ndërtimi i skemave dhe DTD-ve mund të jetë kompleks dhe jo i parëndësishëm, kështu që XML ju lejon gjithashtu të punoni pa një të tillë. Operacioni pa DTD do të thotë që ju mund të shpikni një markup pa pasur nevojë ta përcaktoni zyrtarisht atë, për sa kohë që ndiqni rregullat e mirëpërcaktuara sintaksore XML. Për ta bërë këtë punë, skedari DTDless supozohet të përcaktojë një etiketë të personalizuar vetëm nga ekzistenca dhe vendosja e elementeve në të cilat i krijoni ato. Kur një aplikacion XML ndeshet me një skedar pa DTD, ai ndërton modelin e tij të brendshëm të strukturës së dokumentit ndërsa lexon, sepse nuk ka skemë ose DTD për t'i treguar se çfarë të presë. Prandaj, nuk duhet të ketë asnjë sintaksë surprizë apo të paqartë. Për të arritur këtë qëllim, dokumenti duhet të jetë i "formuar mirë" (duhet të respektojë rregullat). Për të kuptuar pse ky koncept është i nevojshëm, shikoni HTML standarde si shembull: Prandaj, dokumentet e mirëformuara kërkojnë etiketa fillimi dhe etiketa fundore në çdo element normal, dhe të gjithë elementët EMPTY duhet të jenë të paqarta ose duke përdorur etiketat normale të fillimit dhe etiketave të përfundimit ose duke shtuar një prerje në emrin e etiketës start-para mbylljes> për të sinjalizuar se nuk do të ketë asnjë etiketë të veçantë fundore. Të gjitha dokumentet XML, pa DTD dhe të vlefshme, duhet të jenë të mirëformuara. Ata duhet të fillojnë me një deklaratë XML nëse është e nevojshme (për shembull, për të identifikuar një kodim karakteresh ose një deklaratë të veçantë dokumenti):
 
<?xml version="1.0" encoding="iso-8859-1" standalone="po"?>
<foo>
  <bar>...<blort/>...</bar>
</foo>
David Brownell shkruan:
XML e formuar mirë nuk ka nevojë të përdorë fare një deklaratë të veçantë dokumenti. Deklarata të tilla janë atje për të lejuar njëfarë përshpejtimi në përpunimin e dokumenteve duke injoruar entitetet e parametrave të jashtëm - në thelb nuk mund të mbështeteni në deklaratat e jashtme në dokumente të veçanta. Llojet që janë relevante janë entitetet dhe atributet. Dokumentet individuale nuk duhet të kërkojnë ndonjë vlerë normalizimi ose vlerë të paracaktuar të atributit, përndryshe ato janë të pavlefshme.
Është gjithashtu e mundur të përdoret një Deklaratë e llojit të dokumentit me skedarë DTDless, edhe nëse nuk ka asnjë lloj dokumenti të përfshirë: Richard Lander shkruan:
Nëse keni nevojë për entitete karakteresh [përveç pesë të integruara] në një skedar pa DTD, mund t'i deklaroni ato në një nënklasë të brendshme pa referuar asgjë tjetër përveç llojit të elementit rrënjë:
<?xml version="1.0" standalone="po"?>
<!DOCTYPE shembull [
<!ENTITY mdash "—">
]>
<example>Pamje e pasme—një gjë e mrekullueshme.</example>
Pra, këtu janë rregullat:
XML e vlefshme Skedarët e vlefshëm XML janë skedarë të formuar mirë që kanë dhe janë në përputhje me një Përkufizim të Llojit të Dokumentit (DTD) ose skemë. Ato duhet të jenë tashmë të formuara mirë, ndaj zbatohen të gjitha rregullat e mësipërme. Një skedar i vlefshëm fillon me një deklaratë të llojit të dokumentit që specifikon një DTD ose kod që specifikon një skemë W3C. Mund të ketë një parashikim opsional të deklarimit XML.
<?xml version="1.0"?>
<!SISTEMI i reklamave DOCTYPE "http://www.foo.org/ad.dtd">
<reklama>
  <headline>...<pic/>...</headline>
  <text>...</text>
</advert>
Specifikimi XML paracakton një deklaratë SGML për XML që është e fiksuar për të gjitha rastet dhe për këtë arsye është e koduar në të gjithë softuerin XML dhe nuk specifikohet kurrë veçmas (përveç rasteve kur përdoret një vërtetues i ndërrueshëm SGML/XML si onsgmls: shih më poshtë). Peter Flynn shkruan:
Deklarata SGML për XML është hequr nga teksti i specifikimit, por është i disponueshëm si një dokument i veçantë). Duket se ndonjëherë vuan nga bitot ose neglizhencë, ka një kopje këtu (WebSGML TC) dhe këtu (Rregullat e Zgjeruara të Emërtimit TC) dhe një version për onsgmls këtu.
DTD-ja e specifikuar duhet të jetë e aksesueshme për procesorin XML duke përdorur URI-në e dhënë në identifikuesin SYSTEM, ose i disponueshëm në nivel lokal (dmth. përdoruesi ka tashmë një kopje në disk) ose i rikuperueshëm përmes rrjetit. Vini re se specifikimet e DTD duhet të jenë URI (lokale, relative ose absolute). Referencat e personalizuara të sistemit të skedarëve (p.sh. C:\dtds\my.dtd nuk janë URI dhe nuk mund të përdoren: përdorni formatin file:///C|/dtds/my.dtd në vend të kësaj . Është e mundur (shumë njerëz do të thoshin më mirë) të sigurohet një identifikues zyrtar publik me fjalën kyçe PUBLIC dhe të përdoret katalogu XML për mosreferencim, por Specifikimi lejon një identifikues sistemi, kështu që duhet të jepet ende pas identifikuesit BIG: asnjë fjalë kyçe tjetër eshte e nevojshme. Një identifikues publik është një pretendim për pronësinë vetëm të identifikuesit, jo vetë DTD (edhe pse në shumë raste kjo nënkuptohet).
<!DOCTYPE shpallje PUBLIKE	
   "+//Silmaril//DTD Foo Corp Advertisements//EN"
   "http://www.foo.org/ad.dtd">
<advert>...</advert>
Testi i vlefshmërisë është se vlerësuesi i analizës nuk gjeti asnjë gabim në skedar: ai duhet të korrespondojë absolutisht me përkufizimet dhe deklaratat në DTD. Skemat XML (W3C) zakonisht nuk lidhen drejtpërdrejt nga një shembull i dokumentit XML në mënyrën se si janë DTD-të: skema e përshtatshme (skedari XSD) për një shembull dokumenti zakonisht i specifikohet analizuesit veçmas ose nga referenca e sistemit të skedarëve ose duke përdorur Target. hapësira e emrit. 4.4: Çfarë duhet të përdor në DTD/Skemën time, atributet ose elementet? Shihni http://xml.coverpages.org/elementsAndAttrs.html Nuk ka asnjë përgjigje për këtë: shumë varet nga arsyeja pse po hartoni llojin e dokumentit. Praktika tradicionale editoriale për dokumentet e tekstit të thjeshtë është vendosja e tekstit (teksti aktual) (ajo që do të printohej ose shfaqej tek përdoruesi) si përmbajtje e përmbajtjes në elementë dhe mbajtja e meta të dhënave (informacioneve rreth tekstit) në atribute, nga ku mund të izolohet më lehtë për analizë ose redaktim të veçantë, siç është pamja e skajit ose e mausit:
<ln="184">
  <spara>Portia</spara>
  <text>Cilësia e mëshirës nuk është e tendosur,</text>
  ...
</l>
Sidoqoftë, nga pikëpamja e sistemit, nuk ka asgjë të keqe me ruajtjen e të dhënave anasjelltas, veçanërisht kur vëllimi i të dhënave tekstuale është relativisht i vogël në çdo kohë të caktuar:
<line speaker="Portia" text="Cilësia e mëshirës nuk është e tendosur,">184</line>
Shumë do të varet nga ajo që dëshironi të bëni me informacionin dhe cilat janë më lehtë të arritshme nga secila metodë. John Cowan ka disa pika të shkëlqyera vendimi në elementet ose atributet e postimit të tij në blog. Rregulli i përgjithshëm për dokumentet tradicionale të tekstit është që nëse shënimi hiqet, teksti i thjeshtë duhet të jetë ende i saktë, i lexueshëm dhe i përdorshëm, edhe nëse është i paformatuar dhe i vështirë. Në rastin e prodhimit të bazës së të dhënave ose dokumenteve të tjera të krijuara nga makineritë, si transaksionet e tregtisë elektronike, leximi njerëzor mund të mos jetë kuptimplotë, kështu që është plotësisht e mundur që të kemi dokumente ku të gjitha të dhënat janë në atribute dhe dokumenti nuk përmban të dhëna karakteresh në përmbajtje fare. Shikoni http://xml.coverpages.org/elementsAndAttrs.html për më shumë informacion. Mike Kay shkruan:
Nga përdoruesi: “[…] a janë shumica prej jush duke përdorur xml të bazuar në elemente ose atribute? Pse? ' Fillestarët gjithmonë e bëjnë këtë pyetje. Ata me pak përvojë shprehin mendimet e tyre me pasion. Ekspertët ju thonë se nuk ka përgjigje të saktë. (Http://lists.xml.org/archives/xml-dev/200006/msg00293.html)
4.5: Çfarë ka ndryshuar midis SGML dhe XML? Sintaksë më e rreptë dhe pa opsione. Ndryshimi kryesor sintaksor është se elementët EMPTY në dokumentet pa DTD duhet të përdorin trukun Null End-Tag (p.sh. <img src=”pic” /> ) sepse pa një DTD ose Skemë nuk ka asnjë mënyrë që analizuesi të dijë të mos presë një etiketë fundore. Nëse lloji i objektit është shënuar si bosh në DTD/Skema, atëherë ai mund të përdorë sintaksën e etiketës NET ose të plotë pasuese (p.sh. <img src=”pic”></ img> ). Ndryshime të tjera sintaksore janë që të gjitha vlerat e atributeve duhet të citohen; Nuk ka minimizim të atributeve ose elementeve; Dhe gjithçka është e vogël dhe e madhe. Një shtesë e rëndësishme është se lejohen deklarata të shumta ATTLIST, në mënyrë që një nëngrup i brendshëm të mund t'u shtohet atributeve që janë deklaruar tashmë për një lloj elementi. Ndryshimet kryesore në Përkufizimet e Llojeve të Dokumentit (DTD) janë në ato që mund të specifikoni. Një numër i madh opsionesh për deklarimin e etiketave SGML janë shtypur për të thjeshtuar dhe lehtësuar shkrimin e softuerit përpunues (shih listën e funksioneve të vjetruara). Ndryshimi më i madh në menaxhimin e fjalorit është futja e skemave W3C, të cilat lejojnë një nivel të vërtetimit të llojit të përmbajtjes që nuk disponohet në DTD dhe shprehen vetë në Sintaksën e Dokumentit XML. Shtesa kryesore janë hapësirat e emrave, të cilat lejojnë skemat dhe dokumentet të dallojnë burimin e një lloji të tipit dhe një tipi atributi (veti, origjinë ose aplikim). Kjo ju lejon të keni lloje elementesh me të njëjtin emër, por kuptime të ndryshme në të njëjtin dokument, p.sh. Tabela DocBook:tabela  dhe TEI:tabela . Emri i karakterit të fillimit (dy pika) është shtuar në emrat XML për ta lejuar këtë. Pavarësisht klasifikimit të tij, dy pika mund të shfaqet vetëm në një emër të mesëm, jo ​​në fillim ose në fund, dhe prefiksi xml: është i rezervuar. 4.6: A mund të përdor JavaScript, ActiveX, etj. në skedarët XML? Jo në vetë skedarin XML, por përmes stilit të shabllonit. Kjo do të varet nga pajisjet që përdorin shfletuesit tuaj të përdoruesve. XML ka të bëjë me përshkrimin e informacionit; Gjuhët e skriptimit dhe gjuhët për funksionet e integruara janë softuer që lejojnë manipulimin e informacionit në fund të përdoruesit, kështu që këto gjuhë zakonisht nuk kanë vend në vetë skedarin XML, por në stilet e shablloneve si XSL dhe Skedarët CSS dhe skript për Javascript, etj. , ku mund të shtohen në kodin HTML të krijuar. XML në vetvete ofron një mënyrë për të përcaktuar shënimin e nevojshëm për zbatimin e gjuhëve të skriptimit: si një standard neutral, ai as nuk inkurajon dhe as dekurajon përdorimin e tyre dhe nuk favorizon një gjuhë mbi një tjetër, kështu që është e mundur të përdoret shënimi XML për të ruajtur kodin e programit, nga ku mund të merret (për shembull) XSLT dhe të rishprehet në elementin e skriptit HTML . Skriptimi nga ana e serverit, si PHP ose ASP, mund të përdoret me serverin përkatës për të modifikuar XML në kohën e ekzekutimit ndërsa shfaqet dokumenti, ashtu si me HTML. Megjithatë, autorët duhet të jenë të vetëdijshëm se futja e skripteve nga ana e serverit mund të nënkuptojë se skedari i ruajtur nuk është i vlefshëm XML: ai bëhet i vlefshëm vetëm kur përpunohet dhe shfaqet, kështu që duhet pasur kujdes kur përdorni redaktorë të vërtetimit ose softuer të tjerë përpunues ose menaxhues të këtyre skedarëve. . Një zgjidhje më e mirë mund të jetë përdorimi i një zgjidhjeje të paraqitjes XML si Cocoon.
Nëse ju duhet të futni skriptet në një faqe interneti që gjeneroni nga XML, duhet të siguroheni që dy etiketat  dhe & të karaktereve janë ose të ikura si  dhe & ; Që çdo përmbajtje skripti të jetë e mbyllur në një seksion CDATA në mënyrë që të mos shihet si një shënim.
4.7: A mund të përdor Java për të krijuar ose menaxhuar skedarë XML? Sigurisht. Po, çdo gjuhë programimi mund të përdoret për të nxjerrë të dhëna nga çdo burim në formatin XML. Ka një numër në rritje të mjediseve të programimit front-end dhe back-end dhe mjediseve të menaxhimit të të dhënave për ta automatizuar këtë. Java është aktualisht më e popullarizuara. Ka një numër të madh të programeve të mesme (API) të shkruara në Java dhe gjuhë të tjera për të menaxhuar të dhënat ose në XML ose me hyrje ose dalje XML. Ekziston një grup mësimesh Java (me kod burim dhe shpjegime) në dispozicion në http://developerlife.com/tutorials/.
Ju lutemi, mos i dërgoni kërkesa redaktuesit të FAQ për pyetje në lidhje me gabimet e programimit Java. Pyetni grupin e ri të lajmeve Java.
4.8: Si mund të marr XML brenda ose jashtë bazës së të dhënave? Pyetni prodhuesin tuaj të bazës së të dhënave Pothuajse të gjitha sistemet e menaxhimit të bazës së të dhënave tani ofrojnë module të importit dhe eksportit XML për lidhjen e aplikacioneve XML me bazat e të dhënave. Në disa raste të parëndësishme do të ketë një përputhje midis emrave të fushave në tabelën e bazës së të dhënave dhe emrave të llojeve të elementeve në skemën XML ose DTD, por në shumicën e rasteve do të kërkohet një program programimi për të arritur përputhjen e dëshiruar. Kjo zakonisht mund të ruhet si një procedurë në mënyrë që përdorimet e mëvonshme të jenë thjesht komanda ose thirrje me parametrat e duhur. Përndryshe, shumica e sistemeve të bazës së të dhënave tani ofrojnë një format të grumbullimit XML që lejon që tabela të eksportohet siç është, për shembull nga vlerat përreth fushave me etiketa të emërtuara sipas emrave të fushave. Për shembull, opsioni -x i komandës mysql do ta bëjë këtë, p.sh
$ echo 'zgjidh * nga lajmet;' | mysql -X -u emri i përdoruesit -p fjalëkalimi dbname

<?xml version="1.0"?>
<resultset statement="zgjidh * nga lajmet"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <rresht>
	<field name="id">1</field>
	<field name="stamp">0</field>
	<field name="title"></field>
	<field name="date">0000-00-00</field>
	<field name="time">test</field>
	<field name="description">Artikulli 1 i testit të motorit të lajmeve</field>
  </row>
</resultset>
$
Në raste më pak të parëndësishme, por ende të thjeshta, mund të eksportoni duke shkruar një rutinë mesazhi që formaton daljen si një dokument XML duke shtuar etiketat e duhura si fjalëpërfjalë përpara dhe pas çdo vlere të dhënash; Dhe mund të importoni duke shkruar një XSLT ose një transformim të ngjashëm që formaton të dhënat XML si një skedar ngarkimi në formatin e preferuar të bazës së të dhënave. Për shembull, me të dhënat e mëposhtme:
<lajme>
  <entry xml:id="N1" stamp="0" date="0000-00-00" time="test">
    <title></title>
    <description>Artikulli 1 i testit të motorit të lajmeve</description>
  </entry>
</news>
Ju mund ta ktheni këtë në një komandë MySQL me lxprintf :
hyrja $ lxprintf -e \
  "FUT NË VLERAT "Lajme" (%s,%s,"%s","%s","%s","%s");\n' \
  'substring(@xml:id,2)' @stamp title @date @time description \
	mynews.xml

INSERT NË VLERAT "Lajme" (1,0,"","0000-00-00", "test", "Artikulli i testimit të motorit të lajmeve 1");
$
Përdoruesit nga një bazë të dhënash ose shkenca kompjuterike duhet të jenë të vetëdijshëm se XML nuk është një sistem i menaxhimit të bazës së të dhënave: ai është një sistem shënimi tekstual. Megjithëse ka shumë ngjashmëri, disa koncepte të njërit thjesht nuk ekzistojnë në tjetrin: XML nuk ka disa veçori të ngjashme me bazën e të dhënave në të njëjtën mënyrë që bazat e të dhënave nuk kanë shënim. Është një gabim i zakonshëm të mendosh se XML është një DBMS si Oracle ose Access dhe për këtë arsye ka të njëjtat aftësi. Nuk eshte.
Përdoruesit e bazës së të dhënave duhet të lexojnë artikullin (Salminen dhe Tompa, 2001) [faleminderit Bart Lateur për identifikimin e kësaj.] Ronald Bourret gjithashtu ka një burim të mirë për XML dhe bazat e të dhënave që merret me bazat e të dhënave vendase XML në http:// /www.rpbourret.com /xml /XMLANDDatabases.htm. Shikoni shënimin e kërkimit për disa informacione rreth gjuhës XQuery (XQL). 4.10: Çfarë është hapësira e emrave? DTD/Emri i skemës ose fragmenti i identifikuar nga një URI (URL). Randall Fowle shkruan:
Hapësira e emrave është një koleksion i emrave të elementeve dhe atributeve të identifikuar nga një referencë Uniform Identifikuesi i Burimeve. Lidhja mund të shfaqet në elementin rrënjë si vlera e atributit xmlns . Për shembull, një referencë e hapësirës së emrit për një dokument XML me një element rrënjë <x> mund të duket kështu:
<x xmlns="http://www.company.com/company-schema">
Më shumë se një emër mund të shfaqen në një dokument të vetëm XML në mënyrë që emri të mund të përdoret disa herë. Çdo referencë mund të deklarojë një parashtesë që do të përdoret nga secili emër, kështu që shembulli i mëparshëm mund të shfaqet si
<x xmlns:spc="http://www.company.com/company-schema">
Cili do të emëronte hapësirën e emrave të prefiksit "spc":
<spc:name>Z. I madh</spc:name>
James Anderson shkruan:
Në përgjithësi, vini re se lidhja mund të bëhet edhe me një vlerë të paracaktuar për një atribut në DTD. Lidhja nuk duhet të jetë një skedar fizik; Është thjesht një mënyrë për të dalluar hapësirat e emrave. Referenca duhet të informojë personin që shikon dokumentin XML se ku mund të gjejë përkufizimet e emrave të elementeve dhe atributeve duke përdorur hapësirën e caktuar të emrave. Ronald Bourret mban një FAQ në http://www.rpbourret.com/xml/NamespacesFAQ.htm.
4.11: Çfarë softueri XML është i disponueshëm? Mijëra programe: shumë për t'u renditur këtu. Qindra, ndoshta mijëra programe. Detajet nuk janë më të listuara në këtë FAQ pasi ato tani janë shumë të shumta dhe ndryshojnë shumë shpejt për të qenë të përditësuar: shikoni faqet e internetit XML në http://xml.coverpages.org/ dhe shikoni për njoftime në listat DHE grupet e tabelave të diskutimit. Për një tutorial të detajuar mbi disa shembuj të programeve XML dhe konceptet pas tyre, shihni botimin e redaktorit (Flynn, 1998). Ekzistojnë disa implementime të gjuhëve kryesore të përpunimit dhe pyetjeve XML (XSLT2, XQuery dhe XSL: FO), nga të cilat Saxon është ndoshta më i popullarizuari. Softueri SGML si Jade dhe SP (tani OpenSP) mbetet burimi i disa mjeteve që trajtojnë gjithashtu XML, veçanërisht analizuesin që vërteton onsgmls dhe sgmlnorm (shih Konvertimi i HTML-së së vlefshme në XHTML). Detajet rreth disa produkteve softuerike XML ruhen në faqet e kopertinës XML. Shfletuesit, shikoni pyetjen e shfletuesve XML dhe listën e postimeve xml-dev për zhvilluesit e softuerit për detaje. Bert Bos rendit disa zhvillime XML në Bison, Flex, Perl dhe Python. Motorët e krijuar prej kohësh të zhvillimit dhe zhvillimit të aplikacioneve si Omnimark dhe SGMLC kanë të gjithë aftësi XML dhe të gjithë ofrojnë API.
Redaktorët XML Zgjedhja e një redaktuesi është një nga detyrat më të vështira, sepse të gjithë kanë kërkesa dhe nivele të ndryshme njohurish, dhe duket se ajo që duket tepër e lehtë për një përdorues mund të duket e vështirë për një tjetër. Të gjithë redaktuesit XML e udhëzojnë përdoruesin në ndërtimin ose mirëmbajtjen e dokumenteve XML—ky është qëllimi i tyre në jetë. Më e lehtë nga këto është thjesht të ndiqni kllapat katrore që përputhen, etiketat e fillimit dhe fundit dhe kuotat e balancuara, duke rezultuar në një skedar të formuar mirë. Redaktorët më të fuqishëm mund të lexojnë DTD ose skemën dhe të ofrojnë zgjedhje të menysë për manipulimin e elementeve dhe modifikimin e atributeve, duke parandaluar krijimin e dokumenteve të pavlefshme. Më i fuqishmi mund të përdoret gjithashtu për zhvillimin e DTD ose Skemës dhe për përpunimin e XML duke përdorur XSLT ose XSL: FO. Disa janë redaktues të modalitetit të tekstit - duke shfaqur të gjithë shënimin dhe tekstin pa asgjë të fshehur, shpesh duke përdorur ngjyrën për të dalluar shenjat dhe dhëmbëzimin për të treguar strukturën. Shumica e redaktuesve kanë gjithashtu një modalitet tipografie sinkrone që përdor një fletë stili për të formatuar ekranin, kështu që duket se po redaktoni një pamje plotësisht të paraqitur të dokumentit (shpesh quhet WYSIWYG, megjithëse në të vërtetë nuk është). Redaktorët e tekstit shqetësojnë disa përdorues sepse kllapat e këndit janë të dukshme (ata mendojnë se është programim); Redaktorët sinkron të tipografisë shqetësojnë njerëzit e tjerë sepse kllapat e këndit nuk janë të dukshme, duke e bërë të pamundur të shihet se ku fillojnë dhe ku mbarojnë gjërat. Redaktorët më të fuqishëm janë të programueshëm, kështu që natyra dhe efekti i shënjimit dhe veprimeve të përdoruesit mund të kufizohen ose përmirësohen nga skriptet në JavaScript, VBscript, Python, Tcl, Lisp, etj.; Ose XSLT. Mos u përpiqni të përdorni një redaktues XML si Notepad, vi ose tekst për dokumentet XML: ato përfundojnë vetëm me lot, zemërim dhe presion. Pajisuni siç duhet. (Produkti i pavarur i Microsoft Notepad i Microsoft është i përdorshëm për redaktimin e shembujve të vegjël, por jo për zhvillimin e DTD ose skemave.) Wikipedia ka një krahasim të redaktorëve në http://en.wikipedia.org/wiki/Comparison_of_XML_editors, por nuk jep ndonjë informacion cilësor. Ekziston një dokument i vjetër (2004) krahasues për zgjedhjen e një redaktuesi XML nga Thijs van den Brok që mund të ndihmojë me metodologjinë, megjithëse produktet nuk janë të përditësuara. Disa redaktues janë të disponueshëm falas ose falas për demonstrim/provë, por me sa di unë, i vetmi me burim të hapur është Emacs me modalitetin nxml (për skemat W3C dhe RNG) ose modalitetin psgml (për DTD).
Në http://xml.beginthier.nl/ ka një faqe me lidhje të dobishme për përdoruesit e XML në holandisht. Për informacion për zhvilluesit e sistemeve kineze XML, shihni XML kineze Tani! Faqja e internetit të Academia Sinica: http://www.ascc.net/xml/ Kjo faqe përmban pyetje të bëra shpesh dhe skedarë testimi. 4.12: Mungon softueri Programe të dobishme që janë zhdukur nga pamja Ndoshta ka dhjetëra programe të dobishme dhe produktive që janë zhdukur. Ndonjëherë kompania thjesht u palos dhe u zhduk; Ndonjëherë ishte një burim privat ose i hapur që autori duhej të braktiste; Dhe ndonjëherë (më e keqja) kompania merrej nga një kompani tjetër që nuk dinte fare për XML, dhe më pas blihej nga një tjetër që nuk kishte asnjë ide, dhe produktet braktiseshin. Kjo është një listë e atyre që kemi njohur dhe dashuruar, megjithatë në disa raste kemi ende disqe instalimi dhe softueri ende mund të ekzekutohet me platformën e duhur (të vjetëruar). Near & Larg (Microstar) Një program grafik i projektimit SGML DTD për Windows 95 që sapo hyri në epokën XML (mund të eksportohej në sintaksën e deklarimit XML, por jo të importohej). Shquhet kryesisht për lehtësinë e përdorimit dhe paraqitjen grafike interaktive të dizajnuar në mënyrë tërheqëse të strukturës së dokumentit (përdoret ende nga disa fansa për dokumentim). DynaText/DynaTag/DynaWeb (Electronic Book Technologies) Një paketë softuerike Windows 95 / NT që përmban një bazë të dhënash SGML dhe një server në internet për konvertimin e HTML nga dokumentet Word. Një komponent kyç ishte DynaTag, i cili lejon importimin e një dokumenti Word dhe identifikimin e modeleve në një etiketë (jo XML) që është hartuar me elementë në një dokument dalës SGML ad-hoc. Hartimet e përzgjedhura nga përdoruesi ju lejojnë të përmbledhni artikujt e listës në një listë aktuale dhe në përgjithësi të kapërceni pengesën e skedarëve Word .doc për të prodhuar rezultate të etiketuara. Kjo mund të përpunohet më pas për t'u përshtatur me një DTD të njohur. Me shembuj të mjaftueshëm të skedarëve Word të ndërtuar në mënyrë të ngjashme, një koleksion i tërë i tyre mund të lëshohet për konvertim në masë. Microsoft SGML Autor për Word Pavarësisht nga emri i tij, jo një redaktues, por një konvertues. Ai përdori një hartë nga stilet e tekstit në shënimin SGML dhe në fakt mund të bënte një konvertim rrethor pa humbje. Me synimin për autorizimin e komuniteteve që nuk mundën ose nuk do të mësonin të krijonin ose modifikonin në SGML, ai lejoi që përmbajtja të autorizohej në Word dhe të redaktohej në SGML, dhe më pas të kthehej përsëri në Word që autorët ta redaktonin përsëri. Ndoshta një artikull pas kutisë së kontratës, Microsoft kurrë nuk e mbështeti atë dhe tavolina e tij e ndihmës nuk besonte se ishte e vërtetë. Shtojca Panorama (SoftQuad) për Netscape që lejon shkarkimin e skedarëve SGML me stil referimi (i cili funksionoi pa të meta pasi të keni marrë referencat paksa të çuditshme). Ata gjithashtu zbatuan lidhje dykahëshe HyTime dhe ju mund të postoni lidhjet tuaja. E disponueshme gjithashtu si Panorama Publisher, në thelb një version i zgjeruar në një formë të pavarur për botimin e dokumenteve me vëllim të lartë. Fleta e stilit të saj mbetet një nga shembujt më të mirë të manipulimit të stilit interaktiv. Autori/Redaktori (SoftQuad) Një nga redaktorët e parë sinkron tipografikë për SGML (dhe XML, në mishërimin e tij të mëvonshëm si XMetaL). Në përdorim të gjerë për shumë vite, së bashku me HoTMetaL të thjeshtuar. 4.13: Cili është informacioni im? TË DHËNA apo DOKUMENT? Varet se për çfarë e përdorni. Ekzistojnë disa dallime të rëndësishme midis klasave kryesore të aplikacioneve XML dhe mënyrës së përdorimit të tyre. Dy klasat e aplikacioneve zakonisht quhen aplikacione "dokumenti" dhe "të dhëna", gjë që pasqyrohet në softuer që zakonisht (por jo gjithmonë) fokusohet në njërën klasë ose në tjetrën. Aplikacione të stilit të dokumentit Ato janë si puna tradicionale e botuesve: teksti dhe imazhet në një mjedis të strukturuar me shkronja dhe formatim. Në shumicën e rasteve, kjo përfshin faqet e internetit, si dhe materiale PDF ose të printuara si libra dhe revista. Një tipar karakteristik i kërkesave për dokumente është se ato përdorin përmbajtje të përzier (p.sh. nën-elemente në tekst). Aplikacionet e stilit të të dhënave Këto gjenden kryesisht në tregtinë elektronike, shërbimet e uebit dhe kontrollin e proceseve ose aplikacioneve, ku XML përdoret si një kontejner për informacionin e ruajtur ose kalimet ndërmjet sistemeve, zakonisht të paformatuara dhe të padukshme për njerëzit. Karakteristikë e tyre është mungesa e përmbajtjes së përzier dhe shfaqja e të dhënave numerike ose kategorike. Ekziston një fushë e tretë e rëndësishme - zhvillimi i uebit, kërkesat e të cilit janë shpesh hibride dhe përfshijnë veçori të aplikacioneve për dokumente dhe të dhëna, pasi ato përmbajnë pjesërisht tekst përshkrues statik dhe pjesërisht të dhëna dinamike. Ndërsa teorikisht do të ishte e mundur të përdorej softueri i klasës së të dhënave për të shkruar softuer të ri ose softuer të klasës së dokumenteve për të krijuar fatura, ka të ngjarë të ishte shumë jooptimale. Për shkak të natyrës së informacionit të përdorur nga këto dy klasa, aplikacionet e klasës së të dhënave priren të përdorin skema dhe aplikacionet e klasës së dokumenteve priren të përdorin DTD, por ka një shkallë të konsiderueshme mbivendosjeje. Mënyra se si përdoret XML në këto dy klasa ndahet gjithashtu në dy: XML mund të përdoret manualisht ose nën kontrollin e programit. Përdorimi manual Kjo do të thotë që ju redaktoni dhe mirëmbani skedarë duke përdorur redaktuesin, nga tastiera, ndërsa shihni informacionin në ekran. Ai është i përshtatshëm për dokumente të vetme, veçanërisht në publikim, për faqet e internetit dhe për zhvilluesit që punojnë në raste individuale, si skedarët e mostrës ose shabllonet e faqeve të internetit. Përpunimi manual përfshin gjithashtu ekzekutimin e programeve të prodhimit si formatuesit, konvertuesit dhe pyetjet e bazës së të dhënave individualisht, duke përdorur tastierën dhe miun në mënyrë normale. Shumë softuer manual mund të ekzekutohen nga linja e komandës, duke e bërë të lehtë përdorimin për aplikacione të njëpasnjëshme dhe aplikacione të fshehura si skriptet e uebit. Përdorimi i programueshëm Do të thotë të shkruani programe që thërrasin shërbime softuerike nga API-të, bibliotekat ose rrjeti për të përpunuar skedarët XML nga brenda programit. Skedarët XML në aplikacionet e të dhënave pothuajse kurrë nuk mund të redaktohen manualisht. Ky është një mënyrë e zakonshme operimi për aplikacionet e tregtisë elektronike, automatizimin në ueb, shërbimet e uebit dhe kontrolle të tjera të proceseve ose aplikacioneve. Bibliotekat dhe API-të janë të disponueshme për shumë gjuhë, duke përfshirë Java, C dhe C++, si dhe gjuhët e zakonshme të skriptimit si Python, Perl, Tcl, Ruby, etj. Përveç këtyre akseve, aktualisht ekzistojnë dy mënyra të ndryshme të hartuara nga memoria ose të shkaktuara nga ngjarjet për trajtimin e të dhënave XML, të referuara zakonisht me emrat e rasteve të tyre origjinale, Modeli i Objektit të Dokumentit (DOM) dhe API i thjeshtë për XML (SAX). ). Të dy përdorin një model të inxhinierisë së dokumenteve bazuar në një strukturë peme të etiketimit hierarkik të dokumentit të njohur si Grove (një koleksion pemësh që është një hartë efikase në memorie e rezultatit të analizimit të dokumenteve paralele). Në këtë model, është e mundur të identifikohet çdo "nyje" (informacion) nga elementi i jashtëm poshtë përmes secilit element dhe t'i atribuohet secilës pjesë të tekstit të paetiketuar. Për aplikacionet që përdorin skema, përcaktohet një informacion i miratimit pas skemës (PSVI, ekuivalent me një korije) që specifikon se çfarë informacioni analizuesi duhet t'i vërë në dispozicion aplikacionit. Joe Fawcett shkruan:
(në <eFIrHKtCGHA.2920@tk2msftngp13.phx.gbl> ) "Nyja" e shkurtër është një term i përgjithshëm për cilindo nga llojet e shumta të elementeve XML, duke përfshirë elementin : <myElement />; atribut : <myElement myAttribute = "myValue" />; në nyjen e tekstit : <Nyja ime e tekstit> Ekzistojnë gjithashtu komente [ Deklaratat e komenteve ], udhëzime për përpunim  dhe një nyje e padukshme dokumenti që përfaqëson dokumentin bazë  XML, si dhe të tjera.
Një aplikacion shumë i thjeshtuar i bazuar në aplikacion përdor të gjithë dokumentin XML në memorie dhe më pas lejon aksesin në çdo nyje në secilën pemë në varr; Ndërsa aplikacioni, i cili bazohet në dokumentacionin XML dhe ngjarjet e bazuara në SAX , shkakton shfaqjen e nyjeve që kanë ndodhur, për të cilat janë programuar rregulla ose veprime. (Kompleksi është më i përfshirë dhe të dyja metodat ndajnë koncepte të përbashkëta.) Të dy modelet ofrojnë një API abstrakte për krijimin, aksesin dhe manipulimin e dokumenteve XML. API-ja lidhëse për një gjuhë programimi specifike ofron një API të veçantë. Furnizuesit ofrojnë API të veçanta që lejojnë një ose një metodë tjetër për të kërkuar dhe manipuluar një dokument XML. Të dy llojet e analizuesve janë implementuar në shumë gjuhë dhe në shumë sisteme operative dhe ndërfaqe. Pyetjet e bëra më shpesh për DOM dhe SAX. 4.14: A duhet të ndryshoj ndonjë nga programet e mia mbrojtëse për të punuar nga XML? Sigurohuni që serveri të dërgojë skedarët XML si tekst / xml Nëse keni skedarë statikë. Ndryshimet e vetme janë të nevojshme për të siguruar që serveri juaj të kthejë .xml , CSS , .dtd , .xls , dhe të gjitha llojet e tjera të skedarëve që i përdorin ato si llojet e duhura të përmbajtjes MIME (media). Detajet rreth cilësimeve janë të disponueshme në RFC 3023. Softueri popullor i sigurisë, si Apache HTTPD, që ve. Nëse jo, modifikoni skedarin mime-tips  (ose ekuivalentin: si menaxher serveri, a e dini se ku dëshironi ta porosisni?) dhe shtoni ose modifikoni linjat e duhura për llojet e duhura të mediave. Në disa serverë (p.sh. në Apache), ofruesit individual të përmbajtjes ose pronarët e drejtorive mund të ndryshojnë llojin MIME për disa lloje skedarësh nga drejtoritë e tyre duke përdorur direktivat në skedarin .htaccess . Llojet e nevojshme të mediave me: RFC ka sugjerime të tjera për përdorimin e prapashtesës xml për të identifikuar skedarët ndihmës, si XSLT ( aplikacioni / xslt + xml ). Nëse ekzekutoni një skript XHTML që dëshironi të trajtoni nga XML dhe jo nga HTML, mund t'ju duhet ta modifikoni për të krijuar deklaratën e duhur të llojit të dokumentit dhe llojin e saktë të medias nëse aplikacioni juaj kërkon vërtetim. 4.15: A mund ta përdor akoma përfshirjen në anën e serverit? Po, kontrolloni nëse dalja përputhet me XML Ai ndahet derisa ajo që krijohet përfundon si pjesë e një skedari që është i përbërë nga XML (d.m.th. i fuqishëm ose i krijuar mirë). Modelet që zëvendësojnë etiketat e skriptimit nga ana e serverit si shtml, PHP, JSP, ASP, Zope, etj. Ata ruajnë skedarë pothuajse të vlefshëm duke përdorur komente, udhëzime përpunimi ose etiketa jo-XML që zëvendësohen me tekst ose etiketë XML në pikën e shërbimit (Nuk është e qartë pse disa nga këto sisteme përdorin etiketë jo-HTML/XML). Ekzistojnë gjithashtu disa paraprocesorë të bazuar në XML për formate si XVRL (EXtensible Value Resolution Language) që zgjidhin referenca të specializuara për të dhënat e jashtme dhe nxjerrin një skedar të normalizuar XML. 4.16: A mundem unë (dhe autorët e mi) të përdor akoma përfshirje nga ana e klientit? Po, sigurohuni që dalja përputhet me XML I njëjti rregull zbatohet për listimin nga ana e serverit, kështu që do t'ju duhet të siguroheni që çdo kod i integruar i dorëzuar te motorët e palëve të treta (p.sh. çelësat në SQL, VB, Java, etj.) nuk përmban ndonjë karakter që mund të interpretohet si një shënim XML (d.m.th., pa lëvizje ose lëvizje). Përdorni gjithashtu seksionin e etiketës CDATA për të parandaluar analizimin e aplikacionit XML nga kodi i integruar, subjekti A dhe Karakteri. 4.17: Më duhet të krijoj një raport XML për menaxherin / klientin / investitorin / konsulentin tim. Çfarë duhet të kujtoj? Shënim fleksibël me shumë qëllime jo-produktive Pastaj McClellan shkruan: Të thuash që ka "të dhëna në XML" është një deklaratë mjaft e kotë, e ngjashme me atë që thotë "një libër në gjuhën natyrore". Për të qenë të dobishëm, fillimisht duhet të përcaktojmë "Ne kemi përdorur XML për të përcaktuar gjuhën tonë të shënimit" (dhe të tregojmë se çfarë është), siç raportohet nga "Libri është në frëngjisht". Shembulli klasik i njerëzve shumëplanësh dhe shumëplanësh që përdor shpesh është një kompani farmaceutike. Ata kanë një bazë të dhënash të madhe të produkteve medicinale specifike që duhet të publikojnë, si p.sh. Pa ndarë përmbajtjen dhe prezantimin, ata duhet të kufizojnë në thelb të njëjtin informacion në 20 vendndodhje. Nëse nuk ka hapësirë, njerëzit po vdesin, avokatët po pasurohen dhe kompania po përkeqësohet për mjekësinë. Nga XML (ose SGML) ata marrin një grup informacioni të vërtetuar me kujdes dhe shkruajnë 20 programe [ose një program nga 20 dalje (ED)], për marrjen në format për secilin rol. Të njëjtat 20 programe tani mund të përdoren për të gjitha më shumë se njëqind barnat e shitura. Në fushën e zhvillimit të uebit, gjëja më e madhe që ofron XML është të përcaktojë se çfarë po ndodh me HTML: Nëse ekzekutoni një skedar HTML të prishur (aktualisht), nuk ka asnjë arsye për ta hequr atë. Spletne strani so torej prójnje markka juh, ki so nešerenje za nadaljnjo prómáška. XML specifikon që përpunimi nuk mund të vazhdojë nëse XML nuk është kompiluar, kështu që ju do të vazhdoni të punoni derisa të kompilohet. Kjo është më shumë punë përpara, dhe rezultati nuk ka vdekur. Nëse dëshironi emra, emra, qytete, kompani etj. Në HTML, ju nuk keni shumë opsione që ju lejojnë të bëni dallimin midis tyre. XML ju lejon të emërtoni gjëra të tilla si:
<person> Charles Goldfarb </ person> ka punuar në <IBM> IBM </ company>
ju jep fleksibilitet që nuk e keni me HTML:
<B> Charles Goldfarb </ B> ka punuar në <B> IBM </ B> 
Falë XML, nuk keni nevojë të mbështillni të dhënat me etiketa që kufizojnë opsionet tuaja. 4.18: A ka testim të pajtueshmërisë për procesorët XML? Po, kishte: https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=xslt James Clark ka një grup rastesh testimi për testimin e analizuesve XML në http://www.jclark.com/xml/ i cili përfshin një test mbi përputhshmërinë me "XML kanonike". Carmelo Montanez shkruan:
NIST ka zhvilluar një sërë testesh XSLT/XPath që do të jenë pjesë e paketës zyrtare OASIS XSLT/XPath (e pa lëshuar ende). Rezultati i pritshëm mund të ndryshojë pak nga një zbatim në tjetrin. Komiteti Teknik OASIS XSLT ka një zgjidhje për këtë problem, por testet tona nuk e zbatojnë ende një zgjidhje të tillë. Dërgoni të gjitha komentet në carmelo@nist.gov.
Jon Noring shkruan:
Për ata që janë të interesuar, unë kam marrë 'cast' aktual dhe të plotë të Unicode 3.0 të karaktereve dhe kodet e tyre heksadecimal dhe kam krijuar një dokument të thjeshtë XML për të testuar shfletuesit XML për përputhjen e Unicode. Nuk ka përfunduar ende - më duhet të shtoj komente dhe të rregulloj shfaqjen e karaktereve RTL (dmth. hebraisht, arabisht). Mund të gjendet në: http://www.windspun.com/unicode-test/unicode.xml. Është mjaft i madh, pothuajse 900 mijë, kështu që përgatituni. IE5 bën shumë punë me karaktere në këtë dokument XML - dhe për ata që bën, duket se e bëjnë siç duhet. Mezi pres që Opera të bëjë të njëjtën gjë. Nuk e kam testuar versionin aktual të Mozilla / Netscape për pajtueshmërinë me Unicode.
4.19: Unë kam marrë tashmë SGML DTD: si mund t'i konvertoj ato për përdorim me XML? Redaktoni me dorë ose përdorni softuer si Near+ Far Designer. Ka një sërë projektesh që lejojnë konvertimin e SGML DTD-ve të zakonshme ose të njohura në formatin XML (p.sh. TEI DTD (versionet Lite dhe të plota) dhe DocBook DTD janë të disponueshme në SGML dhe XML në formatet Schema dhe DTD). Seán McGrath shkruan:
Konvertoni SGML DTD në XML:
  1. Asnjë ekuivalent i deklaratës SGML. Fjalë kyçe, grup karakteresh etj. Ato janë vendosur në thelb;
  2. Minifikimi i etiketës nuk lejohet, kështu që <!ELEMENT x – O (A,B)>  bëhet <!ELEMENT X (A, B)> dhe <!ELEMENT x – O EMPTY> bëhet <!ELEMENT X EMPTY> ;
  3. #PCDATA duhet të ndodhë vetëm në skajin e majtë (dmth në të parën) në modelin OR, p.sh. <!ELEMENT x – – (A|B|#PCDATA|C)> (në SGML) bëhet <!ELEMENT x (#PCDATA|A|B|C)*>  dhe <!ELEMENT x (A,#PCDATA)> është i paligjshëm.
  4. Asnjë element CDATA, RCDATA [përmbajtja e deklaruar];
  5. Disa lloje të atributeve SGML nuk lejohen në XML, p.sh. NUTOKEN;
  6. Disa vlera të paracaktuara të atributeve SGML nuk lejohen në XML, p.sh. CONREF dhe CURRENT;
  7. Komentet nuk mund të përputhen me deklaratat siç janë
    <!ELEMENT x - - (A,B) -- një koment SGML në një deklaratë -->
  8. Një grup i tërë karakteristikash opsionale SGML nuk janë të pranishme në XML: të gjitha format e minimizimit të etiketave (OMITTAG, DATATAG, SHORTREF, etj.); Përcaktimi i proceseve të lidhjes; DTD të shumta për dokument; Dhe shumë të tjera: shikoni http://www.w3.org/TR/NOTE-sgml-xml-971215 për një listë të biteve SGML që janë hequr për XML;
  9. Dhe pothuajse e fundit, por jo më pak e rëndësishme, pa BASHKËPUNIM!
  10. Ekzistojnë disa dallime të rëndësishme midis nëngrupeve të brendshme dhe të jashtme të një DTD në XML: Seksionet e shënuara mund të ndodhin vetëm në nëngrupin e jashtëm; Një entitete parametrike duhet të përdoren për të zëvendësuar deklarata të tëra në pjesën e brendshme të një nëngrupi të DTD, p.sh. E mëposhtme është XML e pavlefshme:
    <!DOCTYPE x [
    <!ENTITY % modelx "(A|B)*">
    <!ELEMENT x %modelx;>
    ]>
    <x></x>
    
Shih McGrath (1998) për më shumë informacion.
4.20: Si mund të përfshij një DTD (ose fragment) në një tjetër? Përdorni parametrin e entitetit, ashtu si për SGML Kjo funksionon saktësisht njësoj si SGML. Ju së pari deklaroni entitetin që dëshironi të përfshini dhe më pas referoni atë me emër si një entitet parametri:
<!ENTITY % mylists SISTEMI "dtds/listfrag.ent">
...
%mylists;
Deklarata të tilla tradicionalisht shkojnë në krye të DTD-së kryesore ku mund të menaxhohen dhe mirëmbahen, por kjo nuk është e nevojshme për sa kohë që ato deklarohen përpara se të përdoren. Ju përdorni sintaksën e parametrave (shenja e përqindjes) për këtë, sepse skedari duhet të përfshihet në kohën e përpilimit të DTD, jo kur analizoni vetë shembullin e dokumentit. Vini re se URI kërkohet në XML si identifikues i sistemit për të gjitha referencat e skedarëve të jashtëm: zbatohen rregullat standarde për çreferencimin e URI-ve (supozoni të njëjtën metodë, server dhe direktori si dokumenti që përmban). Një identifikues zyrtar publik mund të përdoret gjithashtu sipas të njëjtave rregulla si diku tjetër. 4.21: Si mund të përfshij një deklaratë të kushtëzuar në XML-në time? Ju nuk mundeni si i tillë: XML nuk është një gjuhë programimi. Kjo nuk mund të të pëlqejë: XML nuk është një gjuhë programimi, kështu që nuk mund të thuash gjëra të tilla
<foo if{DB}="A">bar</foo> 
Sidoqoftë, mund të keni kritere të kushtëzuara në një skemë, DTD ose procesor, dhe disa DTD ofrojnë atribute për përpunim të kushtëzuar. Nëse ju duhet të bëni një element opsional, bazuar në disa kritere të brendshme ose të jashtme, mund ta bëni atë në skemë. DTD-të nuk kanë një mekanizëm të brendshëm referimi, kështu që nuk është e mundur të shprehet ky lloj kushtëzimi në një DTD në nivelin e elementit. Është e mundur të shprehet një gjendje e pranisë ose mungesës së DTD në të gjithë dokumentin duke përdorur parametrat e Entitetit si ndërprerës Boolean që përfshijnë ose shpërfillin pjesë të caktuara të DTD bazuar në cilësimet ose të lidhura me kabllo në DTD ose të ofruara në një nëngrup të brendshëm. DTD-të përdorin këtë mekanizëm për të zbatuar modularitetin. Përndryshe, mund ta bëni elementin plotësisht opsional në DTD ose skemë dhe të jepni kodin në softuerin tuaj të përpunimit që kontrollon praninë ose mungesën e tij. Kjo kontrollon deri në fazën e përpunimit: një arsye për skemat është sigurimi i këtij lloji të kontrollit në kohën kur dokumentet krijohen ose modifikohen. Në gjuhët përpunuese të tilla si XSLT, ekzistojnë konstruksione për përpunim të kushtëzuar, si për zgjedhjen e thjeshtë IF ashtu edhe për rastet ekskluzive:
<xsl:if test="@foo='bar'">
  <xsl:text>Përshëndetje, botë!</xsl:text>
</xsl:if>

<xsl:choose>
  <xsl:when test="$type=1">
    <xsl:apply-templates select="//*[@class='special']"/>
  </xsl:when>
  <xsl:when test="$type=2">
    <xsl:apply-templates select="/foo/bar"/>
  </xsl:when>
  <xsl:ndryshe>
    <xsl:apply-templates/>
  </xsl:ndryshe>
</xsl:choose>
DocBook dhe shumë DTD dhe skema të tjera ofrojnë atribute në disa elementë për të specifikuar efikasitetin , duke treguar se cilat pjesë të dokumentit zbatohen në cilat rrethana. Softueri përpunues mund t'i izolojë këto dhe t'i përpunojë ato në përputhje me rrethanat. 4.22: Cila është historia për XML dhe EDI? Arritja atje: ende ka nevojë për më shumë punë dhe miratim. Shkëmbimi elektronik i të dhënave është përdorur në tregtinë elektronike për shumë vite për të shkëmbyer dokumente ndërmjet partnerëve të biznesit. Ai kërkon softuer të veçantë të pronarit dhe është jashtëzakonisht i shtrenjtë për t'u zbatuar për SMB-të. Ka lëvizje për të lejuar dokumentet EDI të udhëtojnë brenda XML, si dhe propozime për të zëvendësuar formatet ekzistuese EDI me XML. Shikoni http://www.eccnet.com/xmledi/guidelines-styled.xml dhe http://www.geocities.com/WallStreet/Floor/5815/guide.htm për dokumente udhëzuese. Ndoshta efekti më i madh në EDI është rritja e përpjekjeve për të standardizuar dokumentet dhe transaksionet XML. Një standard i sponsorizuar bashkërisht nga OASIS dhe Kombet e Bashkuara / CEFACT është ebXML (Electronic Business XML), i cili ofron skema për llojet e zakonshme të dokumenteve të transaksioneve të biznesit. Dokumentet normale të zyrës (fletë, raporte, tabela, etj.) janë bërë tashmë duke përdorur materialet e listuara më sipër në dokumentin OASIS Open Office XML Formats TC. Standarde të tjera si OAGI dhe RosettaNet po i nënshtrohen testimit të ndërveprimit me ebXML. Përveç standardeve të plota, ka shumë skedarë pad, mjete ndërveprueshmërie dhe biblioteka të komponentëve të tillë si XML Common Business Library (xCBL). Seksioni 5: Shtojcat 5.1: Lidhjet Ekziston një bibliografi shumë më e madhe e XML dhe SGML në http://xml.coverpages.org/biblio.html. Kjo listë mbulon vetëm dokumentet e referuara drejtpërdrejt në këtë FAQ. Referencat Bray, Tim; Zhan Paoli; CM Sperberg-McQueen; Evë Maler; Dhe François Yergeau (botues) (2004) Extensible Markup Language (XML) 1.0, Boston: W3C. DuCharme, Bob (1999) XML: Një Specifikimi i Annotated, Upper Saddle River, NJ: Prentice Hall PTR, ISBN 0-13-082676-6. Ensign, Chet (1995) "Nëse SGML është aq i zgjuar sa ata vijnë, a nuk është i pasur?". Në Proc. SGML'95, Boston, MA, dhjetor 1995. Flynn, Peter (2014) Formatimi i Informacionit: Një Hyrje në Shtypjet me LATEX, Cork, Irlandë: Silmaril Consultants. Flynn, Peter (1998) Kuptimi i mjeteve SGML dhe XML, Boston, MA: Kluwer, ISBN 0-7923-8169-6. Flynn, Peter (1995) "Përdorimi më i madh i etiketimit". Në Proc. SGML'95, Boston, MA, dhjetor 1995. Lamport, Leslie (1994) LATEX: A Document Preparation System, Reading, MA: Addison-Wesley, ISBN 0-201-52983-1. Maler, Eve dhe Jeanne el Andaloussi (1995) Zhvillimi i DTD-ve SGML: Nga Teksti te Modelimi në Markup, Upper Saddle River, NJ: Prentice Hall PTR, ISBN 0133098818. McGrath, Seán (1998) XML nga Shembull: Ndërtimi i aplikacioneve të tregtisë elektronike, Upper Saddle River, NJ: Prentice Hall PTR, ISBN 0139601627. Pawson, Dave (2002) XSL-FO: Bërja e XML-së të duket e mirë në shtyp, Sebastopol, CA: O'Reilly, ISBN 0-596-00355-2. Salminen, Airi dhe Frank Tompa (2001) "Kërkesat për sistemet e bazës së të dhënave të dokumenteve XML". Në Proc. Simpoziumi ACM mbi Inxhinierinë e Dokumenteve, Atlanta, GA, nëntor 2001. Sperberg-McQueen, Michael dhe Lou Burnard (redaktorë) (2002) "Hyrje e butë në XML". Në “TEI P4: Guidelines for the Coding and Interchange of Electronic Texts”, Oxford, Providence, Charlottesville, Bergen: Text Coding Initiative Consortium. Truss, Lynne (2003) Eats, Shoots & Leaves: A Zero Tolerance Approach to Punctuation, Londër: Profile Books, ISBN 1-86197-612-7. 5.2: Deri ku po shkojmë? Deri në pafundësi dhe më gjerë! Drejtimi i një motori kërkimi në këtë FAQ solli disa rezultate interesante si nga sinjalizimet e ndeshjeve ashtu edhe nga ato të ndeshjeve. Gjinia zbriti në vendin e 10-të. Pjesët argëtuese janë thellë në bisht, siç është një përdorues nga Broomfield, CO i cili shkroi "Si mund ta analizoj telefonin për ta kuptuar më mirë?" (Shpërbërja është ndoshta një fillim); Ai nga Filipinet që donte të dinte se si "të përshkruante pesë ndërveprimet bazë midis rrezeve X ose rrezeve gama me lëndën" (provoni DS9); Ai nga Culver City, CA që pyeti, "si ndryshojnë organizmat ekinodermë nga jovertebrorët e ulët?" (Sikur më intereson?); Dhe ai nga Lexington, KY që pyeti, "Si mund të shtoj dy kuti teksti?" (Më ka marrë atje, d00d, si e shumëzon marulen dhe kastravecin?).
 
Data: e premte, 09 korrik 1999 14:26:17 -0500 (EST)
Nga: Internet Oracle <oracle@cs.indiana.edu>
Tema: Oracle përgjigjet!
Për: <adresa-removed>
X-Planation: X-Face mund të shikohet me ftp.cs.indiana.edu:/pub/faces.

Internet Oracle ka menduar për pyetjen tuaj
thellë. Pyetja juaj ishte:

> O Orakulli më i urti, i plotfuqishmi dhe i plotfuqishmi,
> me urtësinë e tij më jep përgjigjen e kërkesës sime:
>
> A e pret vërtet XML mustardën?

Dhe si përgjigje Orakulli tha:
Epo, sepse XML është një nëngrup i SGML dhe SGML
Ka një etiketë <mustardë e prerë>, më duhet të them po.

Ju i detyroheni analizuesit B1FF të Oracle.
Për kuriozët SGML mes lexuesve tanë, është:
<!elementi prerë - o bosh>
<!attlist prerë mustardë (mustardë) #required>
<!-- :-)--> 
5.3: Nuk ka FAQ të XML Pyetjet e bëra më shpesh Kjo është një listë e temave që njerëzit kanë bërë ose kanë kërkuar rreth pyetjeve XML që nuk lidhen drejtpërdrejt me XML dhe teknologjinë e saj ose pyetjet e shpeshta. Ai përfshin gjithashtu disa përkufizime reagimesh për të mirën e përdoruesve që kanë ardhur në XML në mënyra të ndryshme dhe mund të mos kenë qenë të ekspozuar ndaj një sfondi të publikimit të dokumenteve. Lexuesit mund të provojnë gjithashtu të shikojnë faqen "Not SGML FAQ" të Joe English në http://www.flightlab.com/~joe/sgml/faq-not.txt. AJAX HTTP asinkron, Javascript dhe XML. Një teknikë për përmirësimin e ndërveprimit të faqeve në internet, ku skriptimi në shfletues njeh aktivitetin e përdoruesit dhe merr paraprakisht të dhënat e kërkuara në mënyrë asinkrone nga një dyqan të dhënash të mbështetur nga XML, në vend që të presë që përdoruesi të klikojë në një lidhje dhe ta kërkojë atë në mënyrë sinkrone nga serverët. Atributet Këto janë artikuj meta të dhëna ose meta-informacione (informacione rreth informacionit) që mund të shtohen në etiketën fillestare të një elementi të caktuar. Në mënyrë tipike, atributet janë një mënyrë për të përmirësuar kuptimin, funksionin ose cilësinë tjetër të një elementi. Ato kanë formën e një emri dhe një vlerë të cituar të lidhur me një shenjë të barabartë, p.sh
<part xml:id="B22" catnum="51N1573R" level="App">Majtas
      Kaçavidë</part>
Emrat e atributeve duhet të ndjekin rregullat XML për emrat (shih specifikimin). Nëse aplikacioni juaj nuk përdor një DTD ose skemë, vlerat e atributeve trajtohen si tekst i thjeshtë (CDATA) dhe XML nuk mund të ketë ndonjë kuptim të veçantë (me përjashtim të xml:id dhe xml:lang , shih më poshtë). Në atributet DTD ose Schema, llojet e të dhënave mund t'u caktohen atributeve, më e zakonshme prej të cilave është (për të përdorur terminologjinë DTD për thjeshtësi): ID ose IDREF Vlerat e atributeve ID duhet të jenë emra XML (pa hapësira, duhet të fillojnë me një shkronjë) dhe duhet të jenë unike brenda dokumentit. Vlera e atributit IDREF mund të shfaqet kudo, por duhet të jetë vlera e atributit ID në të njëjtin dokument. ID dhe IDREF përdoren më së shpeshti për referencë të kryqëzuar brenda dokumenteve. Vini re se atributi ID mund të ketë çdo emër: ai nuk duhet të quhet "ID", edhe pse shpesh është. Anasjelltas - si një praktikë më e mirë - nuk duhet të përdorni kurrë emrin "ID" ("id") për një atribut që nuk është një lloj ID, thjesht sepse është konfuz. Nëse aplikacioni juaj ka vlera unike identiteti që komuniteti i quan ID që nuk janë emra XML, ose emri i një atributi tjetër (p.sh. ID-ja e produktit) ose dokumentoni fuqishëm se vlera nuk është një identifikues XML. Ekziston një rekomandim i W3C që projektuesit e llojit të dokumentit duhet të përdorin emrin e atributit xml:id dhe kjo mund të interpretohet nga analizuesit si një ID unike pa pasur nevojë të përdorin një dokument DTD ose skemë. CDATA Vetëm tekst. Lista e argumenteve Një atribut duhet të ketë një nga një numër të kufizuar vlerash (të dhëna në kllapa në deklaratë, të ndara me shirita vertikal), p.sh.
<!ATTLIST niveli i pjesës (App|Jny|Mst) #REQUIRED>
<!ATTLIST Q.27 ose (Po|Jo) "Po">
Në shembullin e parë, nuk ka vlerë të paracaktuar dhe vlera kërkohet. Në rastin e dytë, vlera e paracaktuar është "Po" (nëse atributi hiqet, analizuesi do të paracaktohet nga vlera paraprake). ENTITETET Vlera e atributit duhet të jetë një entitet i deklaruar. NMTOKEN Një identifikues i emrit XML është si një vlerë ID (pa hapësirë), por mund të fillojë me një karakter jo shkronja (p.sh. një numër ose pikë pikësimi). Atribute të veçanta Përveç xml:id (të listuara më sipër), ekzistojnë dy të tjera të lejuara nga specifikimi XML: xml: hapësirë Për të sinjalizuar qëllimin që hapësira e bardhë në këtë element duhet të ruhet nga aplikacionet; xml:lang Specifikoni gjuhën e përdorur në përmbajtjen dhe vlerat e atributeve të çdo elementi. Më shumë detaje mund të gjenden në seksionet 2.10 dhe 2.12 të specifikimit. Një larmi shumë më e madhe e llojeve të të dhënave janë të disponueshme në skema sesa në DTD dhe kriteret komplekse të vërtetimit mund t'i bashkëngjiten secilës prej tyre. Atributet në DTD mund të deklarohen si #KËRKOHEN , #NËNËNKUPTUAR , ose #FIXED . Nuk ka asnjë kufi të caktuar për gjatësinë e vlerës së atributit, por duhet të kontrolloni që softueri përpunues mund të trajtojë sasi të pazakonta të dhënash nëse dëshironi të përdorni gjatësi shumë të mëdha. BPEL Gjuha e përpunimit të procesit të biznesit është një specifikim i bazuar në XML i hapave të kërkuar për një proces biznesi bashkëpunues që të zhvillohet ndërmjet serverëve me pëlqim. Shenja e porosisë së apartamentit Një nënshkrim me dy bajtë (0xFEFF, i përcaktuar në Unicode dhe ISO 10646) që duhet t'i bashkëngjitet një dokumenti XML kur përdoret kodimi UCS-2 për të lejuar procesorët të bëjnë dallimin midis kodimit UCS-2 dhe UTF-8. Ngjyrë XML është krijuar për të identifikuar informacionin në lidhje me strukturën dhe përmbajtjen e dokumenteve tekstuale, jo pamjen e tyre. Ndërsa është krejtësisht e mundur të identifikohen dhe ruhen informacionet e performancës, ky informacion zakonisht ruhet në një fletë stili CSS ose XSL. Nëse keni nevojë të regjistroni informacione në lidhje me formatimin ose pamjen e një dokumenti ekzistues, ka funksione për Skemën TEI / DTD. Eksporti i të dhënave Një kërkesë e zakonshme për modelin e të dhënave të sheshta të përdorur në shumë sisteme të tregtisë elektronike është eksportimi i të dhënave XML në formatin e të dhënave CSV (Vlerat e ndara me presje), i cili përdoret si hyrje për spreadsheets. Ekziston një shembull i thjeshtë i një skenari të shkurtër që mund të bëni këtu. Rutinat komplekse dhe të sofistikuara mund të shkruhen lehtësisht duke përdorur XSLT ose softuer të tjerë të përpunimit XML. Përdoruesit duhet të jenë të vetëdijshëm se ndërsa konvertimi në CSV është i përshtatshëm për formate të thjeshta të të dhënave, është një format i papërshtatshëm për dokumentet XML me tekst të thjeshtë që përdorin modele të përmbajtjes së përzier. Importi i të dhënave Shumë projekte XML kërkojnë importimin e dokumenteve ekzistuese në formate jo-XML. Importimi i dokumenteve ekzistuese HTML shpjegohet në Si mund t'i bëj skedarët e mi ekzistues HTML XML?, dhe nëse mund t'i konvertoni dokumentet në XHTML; Ndoshta është metoda më e lehtë. OpenOffice ruan skedarët e Open Document Format (ODF), të cilat janë standardi ndërkombëtar për dokumentet e zyrës XML. Skedarët Word mund të ruhen si WordML (2003) ose Office Open XML (2007: alternativa e Microsoft për ODF). Në secilin rast, një transformim XSLT mund të krijohet për të krijuar formatin e duhur të importit XML. Megjithatë, dokumentet komplekse në formate të tjera kërkojnë softuer të specializuar për konvertim. Disa redaktorë XML kanë filluar të ofrojnë konvertim të integruar të formateve të tjera dhe shumë sisteme të veçanta konvertimi janë të disponueshme (disa me kosto të lartë) për formate që nuk janë lehtësisht të arritshme për makinat përmes markave të tilla si PDF, PostScript, LATEX, Quark XPress , dhe formatet më të pronarit të dokumenteve. Pika kritike është se pothuajse të gjithë dokumentet jo-XML (jo-SGML) janë të formatuar të jenë të lexueshëm nga njeriu dhe të bukur, jo të lexueshëm nga makineri. Prandaj shpesh ndodh që informacioni i kërkuar për të bërë një dokument kuptimplotë në XML thjesht nuk ekziston në këto formate. Alternativa e vetme për këtë klasë dokumentesh është që ato të ri-kontrollohen ose të skanohen në XML nga një prej kompanive të shumta në nënkontinentin Indian ose Rim Paqësor. Disavantazhet Etiketa XML ka disa disavantazhe: Redaktimi Për të modifikuar (hapur) një skedar XML, duhet të përdorni një redaktues XML. Skedari XML mund të hapet me çdo redaktues teksti të thjeshtë apo edhe një përpunues teksti, por kini parasysh se ata mund të përpiqen ta riformatojnë skedarin gabimisht sepse nuk e kuptojnë XML. Subjektet Një njësi është një njësi ruajtëse në XML. Mund të jetë aq i vogël sa një karakter ose i madh sa një dokument i tërë. Katër lloje entitetesh janë të deklarueshme: Lëndët e përgjithshme Të cilat mund të jenë të ngjashme me makrot e zëvendësimit të vargut:
<!ENTITY IBM "International Business Machines">
Ato mund të përdoren për të futur një vlerë të shkurtuar ose për të siguruar drejtshkrim të qëndrueshëm si p.sh. & IBM; Dhe ato zëvendësohen kur skedari analizohet. Ata gjithashtu mund të përfaqësojnë skedarë të jashtëm:
<!ENTITY kap5 SISTEMI "kapitulli5.xml"> 
i cili mund të përdoret si një mekanizëm për të përfshirë skedarët ku futni & kap5 ;. Njësitë e jashtme të skedarëve gjenerikë nuk duhet të përmbajnë një Deklaratë XML ose një deklaratë të llojit të dokumentit. Subjektet e dokumentit Këta janë si skedarë gjenerikë të jashtëm, përveç që specifikojnë llojin e të dhënave që përmbajnë duke përdorur një Shënim të deklaruar, në mënyrë që analizuesi dhe aplikacioni të mund të vendosin se si t'i trajtojnë ato (p.sh. t'i përfshijnë ato ose t'i kalojnë ato në një program tjetër specifik për llojin e medias së tyre):
<!ELEMENT link (#PCDATA)> <!ATTLIST lidhje me ENTITY #REQUIRED>
...
<!SHENIM PDF PUBLIC
  "-//Adobe//NOTATION Formati i Dokumentit Portativ//EN//PDF"
  "http://partners.adobe.com/public/developer/pdf/index_reference.html">
<!lista e çmimeve ENTITY SYSTEM "/sales/pricelist.pdf" NDATA PDF>
...
<para>Ju lutemi referojuni <link to="pricelist">listës sonë aktuale të çmimeve</link>.</para>
Kjo siguron një metodë jashtëzakonisht të fuqishme për të përcaktuar një entitet të jashtëm një herë dhe duke e lejuar atë të referohet disa herë (nëse emri i skedarit të jashtëm ndryshon, thjesht përditësoni deklaratën e entitetit). Subjektet e karakterit Si á  të cilat përfaqësojnë karaktere që përdoruesit pa funksionalitetin e kërkuar të tastierës mund t'i shkruajnë si 'á'; Subjektet parametrike Ato janë si entitete gjenerike, por mund të referohen vetëm në DTD. Ato përdoren për të kontrolluar përmbajtjen e modeleve, për të përfshirë ose përjashtuar deklaratat dhe për të modifikuar konstruktet modulare:
<!ENTITY % local.qandaset.mix "|bibliodiv">
(Përdor një shembull nga DTD për këtë FAQ) ku përzierja e llojeve të elementeve në modelin e përmbajtjes për qandaset specifikohet nga entitetet qandaset.mix (e përcaktuar nga Dokumenti) dhe local.qandaset.mix (përcaktueshme nga përdoruesi [ Me]). , kështu që DTD mund të përmirësohet pa pasur nevojë të modifikohet. Emrat e entiteteve gjenerike, duke përfshirë objektet e dokumentit XML dhe entitetet e karaktereve, gjithmonë fillojnë me një ampersand ( & ) dhe përfundojnë me një pikëpresje ( ; ) dhe mund të përdoren kudo në dokumentin tuaj. Njësitë e parametrave mund të përdoren vetëm në DTD: ato fillojnë me një shenjë përqindjeje ( % ) dhe përfundojnë me një pikëpresje. Llogaritja Për të numëruar numrin e shfaqjeve të një nyje në një dokument XML, mund të përdorni funksionin e numërimit  në XSL [T], p.sh.
<xsl:value-of select="count(//kapitull)"/> 
Nëse dëshironi të përdorni një numërues të llojit të elementit përsëritës, përdorni elementin numerik xsl: p.sh
<xsl:number select="appendix" level="ny" format="A"/> 
Për më shumë informacion rreth sistemit XSLT, shihni Si mund ta kontrolloj formatimin XML?. Variablat e mjedisit XML është një gjuhë shënjimi, jo një gjuhë programimi, kështu që nuk ka koncept të variablave të mjedisit. Megjithatë, nëse jeni duke përdorur një DTD dhe përdorni skedarët tuaj XML nën kontrollin e programit (p.sh. dhe jo manualisht), është e mundur të modifikoni vlerën e atributeve ose entiteteve të deklaruara (p.sh. me një redaktues transmetimi si sed) përpara se skedari të hapet dhe në këtë mënyrë transferoni vlerat nga mjedisi i jashtëm në dokument. Një qasje e ngjashme do të ishte e mundur për skemat. Duke ikur Ikja nënkupton ndryshimin e përkohshëm të mënyrës së funksionimit të një programi për të bërë diçka ndryshe me të dhënat. Në SGML, ishte e zakonshme të përdorni vetëm karaktere ASCII në dokumentet tuaja, pasi tastierat, ekranet dhe shkronjat për karaktere të tjera shpesh nuk disponoheshin. Për t'i shpëtuar kufizimeve të këtij formati për karakteret jo-ASCII, si p.sh. diakritikët dhe simbolet, është dhënë një grup emrash kujtues që janë parashtesuar me një ampersand ( & ) për të aktivizuar ikjen e ndjekur nga një pikëpresje ( ; ) që e aktivizon atë. pra u dha si á . XML ju lejon të përdorni Unicode, kështu që çdo karakter ose simbol në çdo gjuhë mund të futet si vetvetja. Nëse jeni duke përdorur kodimin UTF-8 në dokumentet tuaja, nuk ka nevojë të ikni, përveç dy etiketave ( < dhe & ). Por disa nuk kanë një redaktues Unicode dhe fontet e plota të Unicode janë shumë të mëdha, kështu që në gjuhët alfabetike është e zakonshme të zgjidhni një kodim që ju lejon të përdorni shumicën e karaktereve që ju nevojiten dhe të përdorni ikjen për shtesë të rastit. karakter. Pika lundruese Ju nuk mund t'i deklaroni të dhënat e përmbajtjes ose vlerat e atributeve si pika lundruese (ose shumë lloje të tjera të dhënash) duke përdorur një DTD. Për ta bërë këtë, duhet të përdorni një skemë. GTT Gnome Time Tracker është pjesë e ndërfaqes Gnome, e cila përdoret gjerësisht në sistemet Linux. Një pjesë e të dhënave të brendshme është konfiguruar në XML. Lojëra Unë nuk jam në dijeni të ndonjë lojë kompjuteri të shkruar duke përdorur XML, megjithëse XML përdoret në disa nga skedarët e kontrollit të brendshëm dhe të konfigurimit të përdorur nga lojërat. Idempotencë Një term i përdorur në specifikimin HTTP për të përshkruar natyrën pa efekte anësore të kërkesave të përsëritura për burime. Javascript ECMAscript (siç është emri i vërtetë) nuk ka asnjë lidhje me Java. Ai është krijuar për të punuar brenda dritareve të shfletuesit, për të lundruar ose për të vepruar në shënimin e faqes për të krijuar përmbajtje dinamike, për të vërtetuar formularët ose për të instancuar objekte në mënyra që nuk janë të mundshme me HTML statike. Është krijuar gjithashtu që të mos shkruajë në sistemin lokal të skedarëve të përdoruesit për arsye sigurie, kështu që nuk mund të përdoret thjesht për të krijuar skedarë XML në nivel lokal, megjithëse ka disa dyer të pasme në softuerin e Microsoft që lejojnë që faqet e redaktuara të ruhen në disk. Ndërprerjet e linjës Skedarët XML mund të krijohen duke përdorur një nga tre paraqitjet standarde: CR (Mac), LF (Unix) ose CR/LF (Windows). Përdorimi i çdo gjëje tjetër mund të çojë në sjellje të papërcaktuar (kështu që redaktorët e vjetër të DOS që përdorin LF/CR mund të krijojnë skedarë të papërdorshëm). Procesorët XML normalizojnë të gjitha mbaresat e linjave në LF. Thyerja e linjës në daljen tuaj kontrollohet nga motori juaj i paraqitjes (p.sh. shfletuesi, renderuesi, etj.). DTD ose skema juaj mund të përcaktojë elementë ose entitete të veçanta që do të përdoren në rastet e rralla kur kërkohet një shkëputje e detyruar e linjës, por kjo zakonisht nuk bëhet në XML (përjashtim: rindërtimi i dokumenteve historike duke përdorur TEI). Sythe Nëse dëshironi të përpunoni disa XML në mënyrë të përsëritur, duhet të përdorni një gjuhë përpunimi që lejon manipulimin ciklik të një grupi të caktuar nyjesh. Për shembull, në XSLT, nëse doni të printoni të gjithë titujt e kapitujve për të krijuar një tabelë të përmbajtjes (dmth jashtë pozicionit natyror të dokumentit), mund të thoni:
<xsl:for-each select="//chapter">
  <li>
    <xsl:value-of select="title"/>
  </li>
</xsl:for-seach>
Multimedia Sinkronizimi i Gjuhës së Integrimit Multimedial (SMIL) ofron një fjalor XML për krijimin e lehtë të prezantimeve audiovizuale interaktive. SMIL zakonisht përdoret për prezantime multimediale me veçori multimediale që integrojnë transmetimin e audios dhe videove me imazhe, tekst ose një lloj tjetër media. Patentat, të drejtat e autorit dhe pronësia intelektuale Unë nuk jam avokat dhe kjo nuk është këshillë ligjore. Nëse jeni të shqetësuar, vizitoni fillimisht një psikiatër ☺ Meqenëse SHBA (dhe gjithnjë e më shumë gjetkë) ka ndaluar aplikimet për patenta për kontrollin shëndetësor, pothuajse çdokush mund të patentojë çdo gjë në këto vende, pavarësisht nëse ajo ekziston tashmë apo jo. Nëse jeni mjaft i falimentuar intelektualisht, mund të filloni t'u dërgoni fatura kompanive dhe madje edhe individëve që kërkojnë pagesën e honorareve për përdorim të vazhdueshëm. XML u krijua në 1995 dhe u botua për herë të parë në 1996, kështu që kushdo që pretendon se ka shpikur vetë-përkufizimin përfundimtar të shënimit të strukturuar të mbivendosur hierarkikisht është ndoshta disa elementë më pak se një skemë atëherë. XML bazohet në SGML, i cili është një standard ndërkombëtar i kodifikuar si ISO 8879:1986, dhe u parapri nga shumë sisteme të tjera markimi të lidhura ngushtë, kështu që kushdo që pretendon se e ka shpikur atë pas kësaj date është po aq i gjerë. Shumë teknologji të tjera derivative që ia detyrojnë ekzistencën e tyre SGML dhe XML janë patenta mjaft të vlefshme, ashtu si zjarri nuk ishte patentuar fillimisht, shkrepset dhe çakmakët. Patentat fillimisht u krijuan për shpikje të reja fizike. Përdorimi i tyre për metodologji dhe algoritme e ka zgjeruar konceptin në një sferë mendimi që shumë njerëz e shohin thellësisht të dyshimtë. Patentimi i fenomeneve natyrore si gjenet (të cilat janë pjesë paraekzistuese të natyrës si politikanët dhe pellgjet) është e pakuptimtë dhe intelektualisht e pavlefshme, edhe nëse është ligjërisht e zbatueshme në SHBA dhe gjetkë. E drejta e autorit ruhet automatikisht në gjithçka që krijoni, por në disa vende (veçanërisht në SHBA dhe Francë) nuk mund ta zbatoni këtë nëse nuk regjistroni interesin tuaj. E drejta e autorit zgjat për disa vite pas vdekjes suaj (BE: 75, të tjera gjetkë) për të lejuar që pasardhësit tuaj të përfitojnë nga shitja e punës suaj. E drejta e autorit është për një formë fizike të shprehjes intelektuale, të tilla si libra, gazeta, vepra arti, faqe interneti ose programe kompjuterike. Ekziston për të parandaluar të tjerët të bëjnë punën e tyre dhe ta shesin atë. Ju mund të citoni fragmente nga veprat e të tjerëve pa leje, si p.sh. një varg nga një poezi ose një shirit muzikor, ose fjali nga një roman, me kusht që të thoni se kush është dhe ku ta gjeni: përndryshe duhet të kërkoni leje paraprakisht . E drejta e autorit tashmë ofron më shumë se një mbrojtje adekuate për programet kompjuterike, duke e bërë përdorimin e patentave në mënyrë të panevojshme të tepruar për to. Pronësia intelektuale ju përcakton si pronar të ideve dhe mendimeve që mund të gjejnë shprehje fizike në shpikjet e patentueshme ose të drejtat e autorit. Edhe nëse i shisni patentat tuaja dhe shumë kohë pasi të ketë skaduar e drejta juaj e autorit, mund të shihni përsëri personin që e ka ëndërruar idenë dhe disa vende (p.sh. MB) ju lejojnë të ushtroni zyrtarisht të drejtën tuaj për t'u identifikuar. Pavarësisht se çfarë ndodh për të prenotuar ose për të çelur. Ju gjithmonë duhet të pranoni pronësinë intelektuale të të tjerëve, veçanërisht nëse e përdorni atë për të çuar përpara qëllimet tuaja. Të kalosh idetë e zgjuara të dikujt tjetër si të tuat është ndoshta një krim më i keq sesa të përpiqesh të patentosh zjarrin, ujin, timonin ose XML. Lidhja Një teknikë për reduktimin e kërkesave komplekse të përpunimit sekuencial dhe paralel në një grup përbërësish që mund të plotësohen nën kontrollin e programit. Termi është marrë nga një strukturë Unix për ridrejtimin e daljes së një komande në hyrjen e një tjetri (i quajtur "tub"), i cili në fakt krijon një zinxhir ose tub përmes të cilit të dhënat kalojnë nga burimi i tij në rezultatin e tij. W3C ka një njoftim në pritje për një gjuhë përkufizimi të tubacionit XML që mund të përdoret për të përcaktuar tubacionet në një mënyrë portative, agnostike nga shitësi. RSS Formati i Really Simple Syndication bazohej në faktin se ai u mundësoi partive të lajmeve të përpunonin përditësimet e makinerive dhe u bë një format gjysmë standard për bloget dhe vendndodhjet e tjera në ndryshim për të mbajtur botën të informuar për ndryshimet. Fatkeqësisht, ajo nuk u përkufizua siç duhet në versionin ima vech neštággih in nedokumentiranih versiyon. Ndoshta ajo u zëvendësua nga një gjuhë shumë më e mirë e quajtur Atom, por Microsoft së fundmi njoftoi mbështetjen e tij për RSS, kështu që duket se mund të ngecim me një limon në vitet e ardhshme. "Newsfeeders" (lexuesit RSS) janë të disponueshëm për të gjitha platformat, si në mënyrë të pavarur ashtu edhe si shtojca të shfletuesit. Mos e përzieni atë në një program me të njëjtin përshkrim, i cili duhet të mundësojë hyrjen në Usenet News, që është një çështje krejtësisht e ndryshme (dhe do t'ju duhet ta lexoni në comp.text.xml). upodabljanje Duke përdorur XSLT ose XSL: konvertimin FO (ose sisteme të tjera të ngjashme konvertimi), informacioni i shënuar në XML mund të shfaqet pothuajse kudo: HTML, PDF, audio, Braille dhe pothuajse të gjitha formatet e tekstit (për shembull, LATEX). Si tingëllon (ose tingëllon) është rezultat i përdorimit të slogeve ose logjikave të tjera të shenjave transformuese. SML Gjuha kozmike e shënjimit është një aplikacion XML. Gjuha standarde e programimit ML. E kishit fjalën për SGML? E MIRË Standardi W3C për "specifikimin e informacionit të bazuar në XML që mund të përdoret për të shkëmbyer informacione të strukturuara dhe të shkruara midis kolegëve në një mjedis të decentralizuar dhe të shpërndarë". Më shpesh përdoret në shërbimet e mesazheve në internet. Në fillim, protokolli ishte një qasje e thjeshtë objekti, por shkurtesa tani është e papërcaktuar ose e shprehur si një protokoll aksesi i orientuar nga shërbimi. Guru99 ka një tutorial të mirë SOAP. kërkimi Ju mund ta gjeni skedarin XML në një linjë komande sekuenciale, të pavarur dhe të pashënuar duke përdorur programe të tilla si lxgrep ose lxprintf, të cilat janë pjesë e skedarit LTXML2. Shumë redaktorë kanë gjithashtu një motor kërkimi XSLT mundëson një motor kërkimi të kufizuar thjesht duke përdorur funksione të tilla si përmbajtja, fillimi dhe përfundimi. XSLT2 ofron shprehje të rregullta. XQuery është një gjuhë gjithëpërfshirëse e pyetjeve XML. Procesori Saxon XSLT vjen nga zbatimi XQuery (shih gjithashtu FAQ për XQL), i cili mund të marrë pyetje nga linja e komandës ose skedarët. Saška gjithashtu mund të përdorë një skedar kontrolli për të specifikuar skedarët e grupit XML që duhet të kërkohen së bashku. Për kërkimin e indeksuar (për shpejtësinë) ju nevojitet një motor kërkimi XQuery që zbaton një motor indeksimi që merr dhe kupton etiketat. Këto zakonisht zbatohen si pjesë e një sistemi të bazës së të dhënave XML "shtëpia", siç është eXist (dhe shumë të tjerë), të cilët punojnë vetëm ose paralelisht me një server XML si Cocoon. Bazat tradicionale të të dhënave relacionale (MySQL, Oracle, etj.) priren të ruajnë XML si vargje të padiferencuara ose BLOB që përdorin etiketat kryesore XML për përpunimin e etiketave të importit dhe eksportit. Natyrisht, bazat e të dhënave XML kanë manipulime të integruara XML dhe ato mund të konfigurohen si të grimcuara për t'i ruajtur ato në një nivel të caktuar të elementit, gjë që e bën kërkimin, të ndjeshëm ndaj kërkimit, shumë më efikas. shërbim XML Glejte A duhet të ndryshoj ndonjë nga programet e mia softuerike për të punuar me XML? renditjen Nëse dëshironi të renditni një varg përsëritës të elementeve XML në XSL [T], përdorni xsl: sort , p.sh.
<xsl: për çdo përzgjedhje = "// akronim">
  <xsl: rendit zgjidhni = "@ abbrev" />
  <xsl: vlera-select select = "@ abbrev" />
  <xsl: tekst>: </ xsl: tekst>
  <Xsl: përdorni preloge />
</ XSL: për-gjithçka>
Personazhe të veçanta XML ka vetëm dy karaktere të veçanta të shënjimit në dokumentet normale: Ndryshe nga besimi popullor, katrori mbyllës ose më i madh se ( > ) dhe pikëpresje ( ; ) nuk janë karaktere të veçanta në tekstin normal: ato marrin një kuptim të veçantë të përkohshëm vetëm kur shfaqet një nga dy karakteret e shënjimit. Në DTD, shenja e përqindjes ( % ) ka një kuptim të veçantë në deklaratat e njësisë ekonomike : ajo e përcakton entitetin si një entitet parametrik , që do të thotë se mund të përdoret vetëm në DTD, jo në trupin e dokumentit, dhe vetëm në rasti i zëvendësimit të të dhënave (dhe një lloj makro i thjeshtë). Pikëçuditja ( ! ) merr një kuptim të veçantë menjëherë pas shenjës më pak se: nëse ndiqet nga një nga fjalët kyçe deklaruese në DTD, sinjalizon fillimin e Deklaratës; Kur pasohet nga dy viza, sinjalizon fillimin e një komenti (përfunduar me dy pika të tjera dhe një shenjë më e madhe se). TMX TMX është një metodë standarde për përshkrimin e të dhënave të memories së përkthimit që shkëmbehen ndërmjet veglave dhe/ose shitësve të përkthimit për përkthimin e gjuhës njerëzore (pjesë e projektit OSCAR të LISA). Tabelat Ju mund t'i përcaktoni tabelat sipas dëshirës në XML (shihni se si XML më lejon të krijoj etiketat e mia?), por ka disa modele ekzistuese të tabelave që janë bërë kaq të përdorura (dhe të mbështetura nga softueri) saqë do të duhej një arsye shumë bindëse për të dalë me diçka të re. Informacion më i detajuar jepet në (Flynn, 1998) §2.3.7. HTML Tabelat HTML u shpikën nga Mosaic (tani Netscape) dhe u shfaqën për herë të parë në HTML2 DTD. Në të gjitha versionet, HTML dhe XHTML përcaktojnë një model shumë të thjeshtë por praktik me shumë pak përsosje, i përshtatshëm për përdorim në ueb dhe për printime rudimentare. Avantazhi i tyre kryesor është se në shfletues, lartësia dhe gjerësia e qelizave (dhe për rrjedhojë gjerësia e kolonave) zgjerohen ose tkurren automatikisht për t'u përshtatur me sasinë e tekstit që përmbahet në to. Shumica e modeleve të tjera të tabelave supozojnë se gjerësia e kolonës dhe lartësia e qelizave do të specifikohen përpara (gjë që mund ta bëni në HTML, por përdoret rrallë). CALS Logjistika dhe Mbështetja Kompjuterike (dhe disa shkurtesa të tjera gjatë viteve) ishte (është) pjesë e një projekti ushtarak amerikan për të siguruar një shënim të qëndrueshëm për të gjitha dokumentet, fillimisht në SGML, tani në XML. Si pjesë e këtij aktiviteti, tabela e modelit CALS është bërë më e përhapura në dokumentacionin teknik, veçanërisht në manualet teknike elektronike interaktive (IETM), me mbështetje të gjerë në të gjithë redaktorët kryesorë dhe është modeli i parazgjedhur i tabelës në skemën DocBook DTD A. Përkufizimet CALS janë shumë të fuqishme, por mjaft komplekse dhe mund të trajtojnë pothuajse të gjitha kërkesat e shtrirjes, kontrollit dhe shtrirjes. SASOUT Ky model përdoret gjerësisht në shkencat sociale dhe gjetkë për të përcaktuar tabelat bazuar në semantikën e të dhënave dhe jo në pamjen. Në të njëjtën kohë, ato ishin një alternativë në DocBook (mundësuar nga një ndërprerës i thjeshtë parametrash). TEI Modeli TEI është krijuar për të lejuar koduesin të përfaqësojë tabelat ekzistuese që janë transkriptuar nga materiali historik, letrar ose arkivor, në vend që të krijojë të dhëna të reja. Shënimi është në të njëjtin nivel thjeshtësie si modeli HTML, por është krijuar për të lejuar përfshirjen e shënimeve dhe meta të dhënave më të dendura të nevojshme në tekstet kërkimore. LATEX Modeli LATEX nuk ka të bëjë drejtpërdrejt me përdoruesin XML, përveç kur LATEX është një objektiv i zakonshëm për transformimet nga XML duke përdorur XSLT për të krijuar skedarë PDF. Ashtu si CALS, tabelat LATEX mund të trajtojnë pothuajse çdo formatim, por shtrirja e paracaktuar supozon se çdo format kolone është i paracaktuar dhe se çdo qelizë do të zërë një rresht të dhënash: kërkohet një paketë shtesë për të trajtuar shumë rreshta të dhënash në mënyrën që modelet e tjera bëj . Në XML, nuk ka nevojë të përdoren tabela për të shënuar listat, siç bëhet shpesh në përpunuesit e tekstit, sepse gjuhët e përpunimit të tilla si XSLT ju lejojnë të transformoni dokumentin për të përdorur metoda jo të tabelës (p.sh. shënimi i tabelës duhet të jetë prandaj kufizuar në tabelat "aktuale" (të dhënat e renditura në rreshta dhe kolona) dhe nuk duhet të abuzohen thjesht sepse dëshironi që diçka të shfaqet në një nivel me diçka tjetër: është më mirë të zgjidhni një etiketë që është krijuar për të në vend që të prishë pajisjet ekzistuese. Përdoruesit e procesorit të fjalës zakonisht nuk janë të vetëdijshëm se shumë nga strukturat që përdoren aktualisht nga tabelat e përpunuesve të fjalëve janë në të vërtetë lista të segmentuara që përpunuesit e tekstit nuk janë në gjendje t'i trajtojnë siç duhet. Një nga arsyet kryesore që e bën këtë të drejtë është se të dhënat mund të ripërpunohen për të marrë kuptim kur lexohen në rendin natyror. Funksionet e formatimit të dokumentit të tekstit Për shkak se XML është një metagjuhë që ju lejon të përcaktoni dhe emërtoni strukturat tuaja të informacionit, ajo nuk ka njohuri të integruara për asgjë. Prandaj, ai nuk ka kuptim të qenësishëm të ndonjë dokumenti si listat me pika, seksionet, shënimet në fund të faqes ose ndonjë nga veçoritë e zakonshme në internet si menytë rënëse, formularët (hyrjet, kutitë e kontrollit, ndryshimet dhe zonat e tekstit), skriptet ose të tjera këmbanat dhe bilbilat dhe bilbilat - këto janë gjërat që duhet të përdorni në XML të përcaktuar në DTD ose në skemën për aplikacionin tuaj të veçantë. Ndryshe nga sa pretendojnë disa prodhues, këto gjëra nuk janë të integruara në vetë XML. Së pari ju zgjidhni ose dizajnoni një lloj dokumenti (Skema ose DTD) që përfaqëson me saktësi informacionin tuaj, më pas mund të gjeneroni efekte si më sipër duke aplikuar stilimin CSS ose duke shkruar një transformim XSL [T] të XML tuaj në HTML, Word, LATEX, PDF ose çdo format tjetër është në gjendje t'i instalojë ato. Ka propozime dhe rekomandime shtesë të XML-së vendase në W3C për trajtimin e Formave XML, Lidhjen XML, Sigurinë XML dhe shumë veçori të tjera, por këto janë mundësi arkitekturore, jo zëvendësime për HTML. UML Gjuha e Unifikuar e Modelimit nuk ka asnjë lidhje me XML, megjithëse ka shumë pika kontakti dhe disa softuer janë të disponueshëm për të shprehur disa struktura UML në XML për mesazhe ndër-procesore. Gabimet e analizimit të URI Shihni pikëpresje. Variablat XML nuk ka variabla apo parametra, as fusha apo regjistrime. Këto janë të gjitha terma nga programimi dhe teknologjia e bazës së të dhënave dhe nuk kanë ekuivalente të sakta në XML. XML identifikon informacionin tuaj me elemente dhe atribute . WAP Protokolli i Aplikimit me valë (WAP) tani trajtohet nga Open Mobile Alliance. E formuar mirë Shih XML e formuar mirë. Bela vesolja Shihni se si funksionon XML në dokumente? Xll Gjuha XML përmban specifikimin XLink dhe specifikimin XPointer. Për detaje, shihni Grupin e Punës të W3C në W3C. XLS Vetitë e formatit të kompjuterit tablet Microsoft, të shkruara me programin Excel për spreadsheets. Skedarët XLS nuk janë skedarë XML, versionet moderne të Excel i ruajnë të dhënat e tyre si skedarë .xlst në formatin Microsoft Office Open XML (OOXML). Mos e përzieni XLS me XSL (shihni Si mund ta menaxhoj formatimin XML?). XML Kjo është FAQ XML. Gjithçka në lidhje me të ka të bëjë me XML. Për një shpjegim më të thellë, shihni Osnove. Standardet XML të sigurisë, privatësisë dhe identitetit Eva Protokolli XML W3C ka një grup pune për shërbimet në internet, pjesë e detyrës është puna nga XML. Për më shumë informacion, vizitoni http://www.w3.org/2000/xp/Group/. XMLHTTP Një funksion i implementuar në MSXML dhe të tjera për të mundësuar kërkimin e faqeve të internetit, të dhënave binare ose përgjigjeve të skriptit nën kontrollin e programit (p.sh. duke përdorur vida, Wgets ose pse në një skript shell). Asinkron përdoret në aplikacionet AJaX për të paracaktuar të dhënat, duke kursyer kohë për të treguar që aplikacioni po funksionon në nivel lokal. XUL Gjuha e ndërfaqes së përdoruesit XML përdoret për të përcaktuar ndërfaqen e përdoruesit në Mozilla. asp.net ASP (Active Server Pages) është gjuha e Microsoft për shfaqjen e faqeve dinamike të internetit, si JSP, PHP dhe të tjera. Vetë ASP nuk ka asnjë lidhje me XML, megjithëse çdo sistem me një server mund të përdoret për të shfaqur XML, ashtu si çdo lloj skedari tjetër. .NET është një platformë aplikimi dhe metodologji për zhvillimin e shërbimeve të internetit në serverët e Microsoft. Shumica e shërbimeve të ueb-it bazohen në XML si një "bartës grupi" i mesazheve të memories, por .NET ka një element të rëndësishëm XML. Marc Hadley shkruan:
Ka shumë alternativa për ASP, shumica e të cilave përdorin një qasje të ngjashme të bazuar në faqe. Alternativat e Java përfshijnë Faqet e Serverit Java (JSP), Fytyrat e Serverit Java (JSF) dhe Cocoon (i cili përfshin Faqet e Serverit të zgjeruar - XSP). Gjuhët e njohura alternative të skriptimit përfshijnë Zope (Python) dhe Rails (Ruby) [të cilat kanë mbështetje të gjerë XML. - Ed.]
5.4: Softuer me humbje XML Disa nga softuerët më të mirë që janë zhdukur Shkaku më i zakonshëm i humbjes së softuerit të mirë duket se është se kompania që e ka prodhuar atë është marrë pa fajin e tyre nga një peshkaqen i korporatës që nuk e dinte se çfarë po blinin ose që thjesht nuk i interesonte. Në këto raste, produkti nuk kishte faj - ai shpesh ishte i popullarizuar dhe shitej mirë; Sapo u mor një faull për marrëzinë e korporatës. Afër&Larg (MicroStar) Vegël e pavarur e dizajnit vizual (grafik) SGML DTD fillimisht për Microsoft Windows 95 . N & F mundësoi një prototip shumë të thjeshtë të llojit të ri të dokumentit, megjithëse fazat e mëvonshme të zhvillimit zakonisht korrigjoheshin manualisht. Ishte gjithashtu një mjet i shkëlqyeshëm për të shfaqur strukturën e DTD-së së sapokrijuar. Kur erdhi XML, ata mbajtën modelin e brendshëm SGML, por siguruan sintaksë "ruaj-as" në XML. Shumë vegla aktuale të projektimit kanë funksionalitet të ngjashëm të integruar (p.sh. XML Spy ), por nuk ka asnjë mjet ekuivalent të pavarur të së njëjtës cilësi. Zhvillimi i përdorimit të RelaxNG për të gjeneruar sintaksa të ndryshme do të ishte një përparim i rëndësishëm. MicroStar u ble nga OpenText Corp dhe produkti u la në dysheme vetëm kur do të ishte më i dobishëm. Nëse keni një kopje (një është ngjitur në redaktuesin WordPerfect SGML/XML), ai ende funksionon nën XP dhe në Wine Codeweavers në Linux. DynaWeb (EBT) Grupi i produkteve: DynaBase , baza bazë e të dhënave SGML; DynaWeb , një server Windows me një sistem shabllonesh të menaxhuar grafikisht për shfaqjen e XML ose SGML të konvertuar në HTML dhe një strukturë e shkëlqyer kërkimi etiketash; dhe  DynaTag , një sistem GUI për konvertimin e dokumenteve Word dhe Frame në SGML ose XML, bazuar në konvertuesin origjinal të linjës RainbowMaker . EBT u ble nga Inso Corp dhe produkti u ndërpre për shumë vite. Vendar pa server Indo tani pretendon të japë detaje, por nuk dihet nëse produkti është ende i disponueshëm. Duket se ata trashëguan disa përdorues, por pas disa kohësh ata patën një faqe interneti për trajnimin e DynaWeb . Lajmi i mirë është se programi Red Bridge tani po pushton fabrikën e vjetër EBT (nën Urën e Kuqe në Providence, RI), e cila shet një sistem të menaxhimit të përmbajtjes që përfshin DynaTag dhe disa elementë të tjerë të gamës origjinale. Panorama (SoftQuad) SGML nga programi SoftQuad me shabllonin e skedarit SGML, i cili funksionoi në mënyrë të pavarur dhe si një shtojcë Netscape bazuar në Synex Viewport . Kjo i lejon përdoruesit të hapin lidhje të drejtpërdrejta me dokumentet SGML: Panorama do të transferonte qarkullimin e instancave dhe DTD përmes zgjidhjes së kompanisë, do të rregullonte analizën e tokenizuar dhe do të përdorte stilin e dhënë. Funksionet e tij unike përfshinin kalimin midis disa stileve, një tregues densiteti për rezultatet e kërkimit dhe mundësinë e zbatimit të lidhjeve të dyfishta HyTime, të cilat i lejojnë të gjithë të zbulojnë grupin e tyre të lidhjeve, duke përfshirë lidhje me shumë komponentë dhe madje edhe midis dokumenteve në qytet. Shtojca e shfletuesit ishte falas, por versioni polak përfshinte një redaktues stili. SoftQuad dha dorëheqjen kur Yuri Rubinsky vdiq dhe u mor përsipër nga Corel ( WordPerfect ), ku produkti u rishikua. Autori/Redaktori i SoftQuad Redaktori SGML do të konvertohet në XMeTaL , i cili është ende i disponueshëm nga JustSystems. Nëse keni më shumë informacion rreth artikujve të dobishëm që janë zhdukur, dërgoni një e-mail te redaktori.