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:
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 :
<?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>
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:
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):
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:
<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ë:
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).
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.
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” /> ;
Bëni të gjitha llojet e elementeve dhe emrat e atributeve me shkronja të vogla;
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;
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)!
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);
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.
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.
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ë:
- A përmbajnë skedarët gabime sintaksore të etiketave? Për shembull, a u mungojnë etiketave fundore kllapat këndore në vend të vijave të pjerrëta përpara, apo elemente që përshtaten gabimisht (p.sh. <B> fillojnë <I>brenda një elementi</ B> por mbarojnë jashtë</I> )?
- A ka elementë me etiketa pasuese që mungojnë që nuk mund të rrjedhin nga (p.sh.) Sgmlnorm?
- A ka ndonjë URI (p.sh. në href s ose src s) që përdorin kthesa të pasme të stilit të Microsoft Windows në vend të kthesave normale?
- A përmbajnë skedarët shënime që shkelin HTML DTD, të tilla si titujt ose listat në paragrafë, artikujt e listës jashtë mjediseve të listës, elementët e kokës si baza para html-it të parë, etj.? (Një tjetër truk i ngathët i redaktuesit)
- A përdorin skedarët elementë imagjinarë që nuk janë në ndonjë HTML DTD të njohur? (Një numër i madh i tyre përdoren në sistemet e shënjimit të pronarit të maskuar si HTML). Edhe pse është e lehtë ta kthesh këtë në një skedar pa DTD të formuar mirë (sepse nuk ke nevojë të përcaktosh elementet përpara), shumica e patentave ose shtesave specifike të shfletuesit nuk janë përcaktuar kurrë zyrtarisht, kështu që shpesh është e pamundur të përcaktosh kuptimisht ku mund të përdoren llojet e elementeve.
- A ka karaktere të pavlefshme (jo-XML) në skedarë? Në veçanti, shikoni personazhet amtare të Apple Mac Roman-8 të lënë pas nga stilistë të pakujdesshëm; Ndonjë nga karakteret e paligjshme të Windows (32 karaktere në kodet dhjetore 128-159 përfshirëse) të futur nga redaktorët e Microsoft; Dhe çdo karakter kontrolli ASCII 0-31 (përveç atyre të lejuara si TAB, CR dhe LF). Këto duhet të konvertohen në karakteret e duhura në UTF-8 (ose çfarëdo që po përdorni).
- A përmbajnë skedarët tuaj komente të pavlefshme (stili i vjetër i Mosaic/Netscape)? Komentet duhet të duken kështu
<!-- si kjo -->
Me presje të dyfishta në çdo fund dhe asnjë vizë të dyfishtë (sidomos jo më shumë) në mes.
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:
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 të 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.Peter Murray-Rust shkruan:<?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.
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ë:
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 :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:$ 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 .
<?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:
<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ë.
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:
<?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ë:Pra, këtu janë rregullat:<?xml version="1.0" standalone="po"?> <!DOCTYPE shembull [ <!ENTITY mdash "—"> ]> <example>Pamje e pasme—një gjë e mrekullueshme.</example>
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: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 i formuar mirë Të gjitha etiketat duhet të jenë të balancuara: domethënë, çdo element që mund të përmbajë të dhëna karakteresh ose nën-elemente duhet të përmbajë një etiketë fillimi dhe një etiketë fundi (nuk lejohet lëshimi, përveç elementeve EMPTY, shih më poshtë).
- Të gjitha vlerat e atributeve duhet të mbyllen në thonjëza. Një karakter i vetëm (apostrof) mund të përdoret nëse vlera përmban një karakter të dyfishtë dhe anasjelltas. Nëse ju duhen edhe thonjëza të vetme si të dhëna, mund të përdorni ' ose " . Mos përdorni në asnjë rrethanë presjet e përmbysura të automatizuara tipografike ("kaçurrelë") që zëvendësohen nga disa përpunues fjalësh për të cituar vlerat e atributeve.
- Çdo element EMPTY (p.sh. ata që nuk kanë një etiketë pasuese si p.sh. HTML <img> , <hr> , dhe <br> dhe të tjerë) ose duhet të përfundojnë me /> ose të duken si elementë jo bosh duke pasur një markë të vërtetë pasuese (Por pa përmbajtje). Shembull: <br> do të bëhet ose <br/> , ose <br> </br> (pa asgjë).
- Nuk duhet të ketë karaktere të izoluara të kontrollit dhe fillimit ( < ose & ) në të dhënat tuaja të tekstit. Ato duhet të futen si < dhe & dhe sekuenca ]]> mund të shfaqet vetëm si fundi i një seksioni të shënuar si CDATA: nëse e përdorni për ndonjë qëllim tjetër, duhet të jepet si ]] > .
- Elementet duhet të jenë të lidhura saktë me njëri-tjetrin (pa etiketa të mbivendosura, njësoj si për HTML);
- Dokumentet pa DTD të formuara mirë mund të përdorin atribute në çdo element, por të gjitha atributet trajtohen si atribute CDATA. Nuk mund të përdorni llojet e atributeve ID/IDREF për referencë të kryqëzuar të kontrolluar nga analizuesi në dokumentet pa DTD.
- Skedarët XML pa DTD trajtohen si < ; , > , ' , " , dhe & E paracaktuar dhe kështu e disponueshme për përdorim. Me një DTD, të gjitha entitetet e karaktereve të deklaruara duhet të deklarohen, duke përfshirë këto pesë.
<?xml version="1.0"?> <!SISTEMI i reklamave DOCTYPE "http://www.foo.org/ad.dtd"> <reklama> <headline>...<pic/>...</headline> <text>...</text> </advert>
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:James Anderson shkruan:<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>
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:
<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: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:Shih McGrath (1998) për më shumë informacion.
- Asnjë ekuivalent i deklaratës SGML. Fjalë kyçe, grup karakteresh etj. Ato janë vendosur në thelb;
- 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> ;
- #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.
- Asnjë element CDATA, RCDATA [përmbajtja e deklaruar];
- Disa lloje të atributeve SGML nuk lejohen në XML, p.sh. NUTOKEN;
- Disa vlera të paracaktuara të atributeve SGML nuk lejohen në XML, p.sh. CONREF dhe CURRENT;
- Komentet nuk mund të përputhen me deklaratat siç janë
<!ELEMENT x - - (A,B) -- një koment SGML në një deklaratë -->
- 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;
- Dhe pothuajse e fundit, por jo më pak e rëndësishme, pa BASHKËPUNIM!
- 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>
<!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ë.
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:
<!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:
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.