Pogosta Vprašanja o Razširljivem Označevalnem Jeziku

Vsebina

1. Osnove

1.1 Kaj je XML?

1.2 Kaj je označevalni jezik?

1.3 Kaj je XML?

1.4 Kaj je SGML?

1.5 Kaj je HTML?

1.6 Kaj storijo vsi ti standardi?

1.7 Ali obstaja HTML različica HTML?

1.8 Kaj je HTML5?

1.9 Ali sta XML, SGML in HTML enaka?

1.10 Kdo je odgovoren za XML?

1.11 Zakaj je XML tako pomemben razvoj?

1.12 Zakaj ne samo še naprej razširjati HTML?

1.13 Spremenite XML v XML?

1.14 Zakaj naj uporabljam XML?

1.15 Kje najdem več informacij o XML?

1.16 Kje lahko razpravljam o izvajanju in razvoju XML?

1.17 Kakšna je razlika med XML in C ali C + + ali Java?

2. Obstoječi uporabniki

2.1 Kaj moram narediti za uporabo XML?

2.2 Kako XML izgleda (znotraj)?

2.3 Ali naj uporabljam XML namesto HTML?

2.4 Nekdo mi je poslal datoteko XML. Kako jo berem?

2.5 Kako nadzorujem oblikovanje XML?

2.6 Kje lahko dobim brskalnik XML?

2.7 Kako lahko zaženem ali zaženem datoteko XML?

2.8 Ali moram iti iz SGML ali HTML v XML?

2.9 Ali lahko uporabljam XML za redne pisarniške aplikacije?

3. Avtorji

3.1 Ali moram vedeti HTML ali SGML, preden se seznanim z XML?

3.2 Kako XML obdeluje prazne prostore v svojih dokumentih?

3.3 Kateri deli dokumenta XML so občutljivi na velike ali male črke?

3.4 Kako lahko pretvorim svoje podatke v XML?

3.5 Kako lahko ustvarim obstoječe HTML datoteke v formatu XML?

3.6 Kako pretvoriti XML v druge oblike datotek?

3.7 Če je XML le podmnožica SGML, ali lahko uporabljam moje obstoječe orodje SGML?

3.8 Pripravljam in prikazujem HTML. Ali se lahko zlahka naučim XML?

3.9 Ali lahko XML uporablja ne-latinske znake?

3.10 Kaj je DTD in kje ga dobim?

3.11 Ali XML ustvari oznake po meri?

3.12 Kako lahko ustvarim lastno vrsto dokumenta?

3.13 Ali lahko DTD izrecno razglasi vrsto korenskega elementa?

3.14 Še vedno bom slišal o alternativah DTD. Kakšna je shema?

3.15 Kako vplivajo povezave XML z mojimi dokumenti?

3.16 Ali lahko kodiram matematiko z uporabo XML?

3.17 Kako XML obdeluje moje metapodatke?

3.18 Kako lahko uporabljam grafiko v XML?

3.19 Kaj je razčlenjevanje in kako to storim v XML?

3.20 Kako lahko vključim eno datoteko XML v drugo?

3.21 Kdaj naj uporabim razdelek CDATA?

3.22 Kako lahko vdelan HTML v svoj XML obdelam?

3.23 Kakšni so posebni znaki v XML?

3.24 Katere druge sheme označevanja obstajajo?

4. Razvijalci

4.1 Kje je specifikacija?

4.2 Poskusim razumeti XML Spec: zakaj ima tako zapleteno terminologijo?

4.3 Kakšni so ti izrazi DTDless, veljavni in dobro oblikovani?

4.4 Kaj naj uporabljam v DTD / shemi, atributih ali elementih?

4.5 Kaj se je spremenilo med SGML in XML?

4.6 Ali lahko v datotekah XML uporabljam JavaScript, ActiveX itd.?

4.7 Ali lahko uporabljam Java za ustvarjanje ali upravljanje datotek XML?

4.8 Kako lahko dobim XML v svojo bazo podatkov ali iz nje?

4.9 Kaj je imenski prostor?

4.10 Kaj je programska oprema XML na voljo?

4.11 Programska oprema manjka.

4.12 Kakšne so moje informacije? DATE ali DOKUMENT?

4.13 Ali moram spremeniti katero koli mojo strežniško programsko opremo, s katero bi moral delati z XML?

4.14 Ali lahko še vedno uporabljam vključitve na strani strežnika?

4.15 Ali lahko (in moji avtorji) še vedno uporabljam vključitve strank?

4.16 Za upravitelja / odjemalca / investitorja / svetovalca moram izdelati poročilo XML. Kaj naj se spomnim?

4.17 Ali obstaja komplet za testiranje skladnosti za procesorje XML?

4.18 Sem že prejel SGML DTD: kako jih pretvoriti v S XML?

4.19 Kako lahko vključim en DTD (ali fragment) v drugega?

4.20 Kako lahko vključim pogojno izjavo v svoj XML?

4.21 Kaj je zgodba o XML in EDI?

5. Dodatki

5.1 Literatura.

5.2 Kako daleč gremo?

5.3 Brez XML FAQ.

5.4 Vgrajena programska oprema XML.

Oddelek 1: Osnove

Splošne informacije o XML

1.1 Kaj je XML?

Razširljiv jezik označevanja.

XML je razširljiv jezik označevanja. Izboljša funkcionalnost spletu tako, da vam omogoča natančnejše, fleksibilnejše in prilagodljive podatke.

Razširljiv je, ker ni trdna oblika, kot je HTML (ki je eden, vnaprej določen jezik za označevanje ). Namesto tega je XML meta-jezik in jezik za opis drugih jezikov, ki vam omogoča oblikovanje jezikov za označevanje za neomejene vrste dokumentov. XML lahko naredi, ker je napisan v SGML, mednarodnem standardnem meta glosarju za označevanje besedilnih dokumentov (ISO 8879).

1.2: Kaj je označevalni jezik?

Način, kako opisati, kaj je v dokumentu.

Označevalni jezik je niz besed in simbolov, ki opisujejo identiteto ali funkcijo posameznih delov dokumenta (na primer »to je odstavek«, »to je naslov«, »to je seznam«, »to je naslov te številke« itd.). Programi lahko uporabljajo slogovno etiketo za pretvorbo dokumenta v zaslone za izhod, tiskanje, avdio, video, Braille ali reprogramiranje podatkovnih formatov.

Nekateri označevalni jeziki (predvsem tistih, ki se uporabljajo v urejevalniki besedil) opisati samo kože ( "je ležeče", "To je krepko", "pa je 3 mm prostora spodaj", itd), tako da se lahko uporablja samo ti sistemi za ogled. Za kaj drugega ni enostavno ponovno uporabiti.

XML se včasih označuje kot "autorepresívny", saj lahko imena označevanje elementov predstavljajo vrsto vsebine, ki jih vsebuje (npr. Naslov, poglavje, povezave, itd).

1.3: Za kaj je XML?

XML je namenjen prepoznavanju, prenosu in shranjevanju.

Njen cilj je omogočiti generično SGML za delo, prejeli in obdelali po spletu na način, ki je zdaj mogoče s HTML. XML je zasnovan za preprosto izvajanje in sodelovanje s SGML in HTML.

(Bray, Paoli, Sperberg-McQueen, Maler in Yergeau, 2004)

Kljub zgodnjim poskusom brskalniki nikoli niso dovolili drugih SGML-jev, samo HTML (čeprav so bili vtičniki). Brskalniki so dovoljevali (celo spodbudiv) avtorje, da poškodujejo ali zlomijo svoj HTML, da bi bil "lažji". To je omogočilo širjenje HTML-ja, razvoj pa se je nadaljeval več kot deset let, ker ni bilo mogoče zanesljivo programirati. XML navaja, da se mora obvezno držati pravil in narediti pravila veliko lažje kot SGML.

Toda XML ni samo za spletna mesta: v resnici se zelo redko uporablja za spletna mesta, ker brskalniki še vedno ne nudijo zanesljive podpore za njihovo oblikovanje. Pogoste uporabe za XML so:

Podatki za prepoznavanje
Lahko določite svojo lastno blagovno znamko, tako da lahko določite smiselna imena vseh vaših informacijskih elementov.

Shranjevanje informacij
Ker je XML prenosen in ni zaščiten, ga lahko uporabljate za shranjevanje informacij na vseh platformah. Ker je podprt z mednarodnim standardom, bo ostala dostopna in obvladljiva v obliki podatkov.

Struktura Podatki
XML struktura lahko "gnezdo", tako da se lahko uporablja za shranjevanje in prepozna vsak hierarhično informacije, še posebej dolge, globoke ali zapletenih dokumentov datotek ali virov podatkov, zaradi česar je idealen za upravljanje back-end mesto za upravljanje informacij. To je ena najpogostejših spletnih aplikacij s transformacijskim sistemom, ki služi kot HTML.


Izvirni ciljni izdajatelj XML je bil opredeljen v navedbi na začetku tega razdelka. Z združevanjem prejšnje tri teme (identitete, skladiščenje in strukture), lahko dobite vse prednosti trdnega upravljanja in nadzora dokumentov (XML) in ga objavi na spletu (kot HTML) in na papirju (v obliki PDF) in drugih oblikah (npr. Braillova pisava, Avdio, itd.) Iz enega izvornega dokumenta z uporabo ustreznih slogovnih predlog.

Sporočila in prenos podatkov
XML je tudi zelo močno uporablja priložiti ali zajame informacije, da bi jih prenesla med različnimi računalniškimi sistemi, ki bi se sicer ni mogla komunicirati zaradi lastnih ali tajne formatih podatkov. Z zagotavljanjem lingua franca podatkov in identitete strukturo, ki jo zagotavlja skupno XML "okvir" za Interprocess komunikacije (sporočanje).

Spletne storitve
Na podlagi teh podatkov in njihove uporabe v brskalnikih je mogoče obdelati podatke, ki jih je mogoče obdelati med sistemi s privolitvijo, kjer so bili ljudje (HTML) predhodno razumljivi. Vremenske storitve, spletna mesta za e-poslovanje, blog za novice, spletne strani AJaX in na tisoče drugih storitev izmenjave podatkov, kot so aplikacije za pametne telefone, uporabljajo upravljanje XML in prenos ter spletni brskalnik ali aplikacijo za ogled in interakcijo.

1.4: Kaj je SGML?

Standardni splošni označevalni jezik, ISO 8879: 1986

SGML je standardni generični jezik označevanja (ISO 8879: 1986), ki je mednarodni standard za opredelitev oznake, ki opisuje strukturo različnih vrst elektronskih dokumentov. Na spletni strani http://math.albany.edu:8800/hm/sgml/cts-faq.html so na voljo vprašanja SGML FAQ od David Megginson; Spletna stran SGML Robin Cover je na voljo na http://www.oasis-open.org/cover/general.html. Za hiter pregled in seznam spletnih in tiskalnih virov obiščite http://wiht.link/SGML-intro. Za malo olajšave, poskusite Joe English "To ni vprašanje SGML" na http://www.flightlab.com/~joe/sgml/faq-not.txt.

SGML je zelo velik, močan in celovit. Bilo je težko, industrijska in komercialna uporaba za skoraj dve desetletji (in še vedno je na nekaterih mestih) in obstaja veliko strokovnega znanja in programske opreme, ki je odraščal z njim, večina od njih so sedaj na voljo za XML.

XML je rahlo znižana različica SGML-a, ki ohranja dovolj funkcij, da bi bila uporabna, vendar pa odstrani vse dodatne funkcije, ki so povzročile, da je SGML preveč zapleten za spletno programiranje.

1.5: Kaj je HTML?

Jezik označevanja HyperText, RFC 1866, jezik spletnega mesta.

HTML je jezik za označevanje HyperText (prej RFC 1866, zdaj HTML 4.01), ki se je začel kot majhna aplikacija SGML za splet, ki je pri Timu Berners-Lee pri CERN v letih 1989-90.

Prvotno je definiran razred zelo preprostih poročil dokument slogu z naslovov, odstavkov, seznamov, tabel in slik ter več informacijskih elementov, vendar zelo malo predstavitev elementov (Flynn, 1995) in nekaterih hypertext in multimedijskih elementov. Glej vprašanje o podaljšanju HTML.

Trenutno priporočila W3C so XML HTML, XHTML; Bolj mobilna in vsebinska različica HTML5. Obstaja še posebna Vprašanja o HTML in XHTML, Steven Pemberton upravlja na http://www.w3.org/MarkUp/2004/xhtml-faq

1.6: Kaj storijo vsi ti standardi?

Vsi podpirajo XML, kar podpira druge.

Prvotni standard je standard generalizirana označevalni jezik ISO 8879: 1986 je standard ISO, tako da je svetovna in mednarodna (glej opombo spodaj). XML sama po sebi ni standard ISO: ne sme biti, ker je a) profil uporaba SGML, ki je omogočen s tehničnim popravkom "WebSGML prilagajanje" (2), v skladu z ISO 8879; In b) priporočilo W3C, kar pomeni, da bo uradni postopek približno enakovredna standardizacije.

Po drugi strani pa ima referenco HTML standarda ISO ISO / IEC 15445: 2000 (E), vendar HTML je poseben označevalni jezik, dejanska uporaba SGML in XML, kot XML in SGML so pravzaprav meta-jezik za definiranje drugih označevalnih jezikov.

Druge aplikacije XML, kot sta DocBook in TEI, imajo lastne razvojne procese. DocBook standardizira Tehnični odbor DocBooka OASIS (Organizacija za razvoj standardiziranih informacijskih standardov); Smernice TEI ureja tehnična pobuda TEI TE za kodiranje besedila.

Proces ustvarjanja standardno izmenjavo specifikacija dokumentov (ki je v bistvu tisto, kar je vse to), je dolga in zapletena. Ken Holman napisal esej o tem, kako proces članov OASIS tehnični odbor skupine podpora iz industrije ali gospodarskega sektorja pri razvoju specifikacij za komercialne dokumente.

ISO standardi, kot so SGML, upravlja Mednarodna organizacija za standardizacijo v Ženevi v Švici, in glasovali v obstoj ali njihovi predstavniki nacionalnega organa za standardizacijo v vsaki državi.

Če imate vprašanja o mednarodnem standardu, se obrnite na svoj nacionalni organ za standardizacijo za ime predstavnika vaše države v ustreznem odboru ali delovno skupini ISO.

Če imate vprašanja o zastopanju vaše države v Ženevi ali obnašanju svojega nacionalnega organa za standardizacijo, se obrnite na ustrezni vladni oddelek v vaši državi ali se obrnite na svojega javnega predstavnika.

Zastopanje držav znotraj ISO ni vprašanje teh pogostih vprašanj. Izdajateljev ne prosimo za informacije o tem, kako in zakaj so vaši predstavniki ISO glasovali ali glasovali proti določenemu standardu.

1.7: Ali obstaja HTML različica HTML?

Da, XHTML od W3C

Priporočilo W3C je XHTML, ki "preoblikuje HTML 4 v XML 1.0". Ta specifikacija definira HTML kot aplikacijo XML, in ponuja tri DTD-ji, ki ustrezajo tistim, ki so opredeljeni v HTML 4. * (Strogi, Prehodna in postavitvi okvirov).

Semantika elementov in njihovih atributov so opredeljene v W3C priporočila za HTML 4. Te semantike, katerih cilj je zagotoviti podlago za prihodnje razširljiv XHTML. Združljivost z obstoječimi HTML brskalniki, je mogoče v skladu z majhnim sklopom smernic (glej stran W3C).

1.8: Kaj je HTML5?

Novi XHTML za uporabo v interaktivnem in mobilnem okolju.

Če želite XHTML storitev razširjen v interaktivnih okoljih in majhna, je W3C razvil revizija XHTML imenuje HTML5, ki dodaja več predstavitvenih lastnosti, boljšo podporo za multimedijske in mobilne naprave in ima manj toga modela dokumentov.

Existuje vysvetlenie od spoločnosti Elliotte Rusty Harold a časté otázky HTML5 od spoločnosti WhatWG.

HTML5 v spojení s CSS3 je teraz považovaný za prevládajúci štandard pre vývoj webových aplikácií.

1.9: Nie sú XML, SGML a HTML to isté?

Nie, SGML a XML sú metajazyky. HTML, XHTML a HTML sú ich všetky aplikácie.

Nie tak celkom; SGML je materinským jazykom a používa sa na opis tisícov rôznych typov dokumentov v mnohých oblastiach ľudskej činnosti, od transkripcií starých írskych rukopisov až po technickú dokumentáciu pre stealth bombardéry a od pacientovho lekárskeho a klinického záznamu až po hudobnú notáciu. SGML je však veľmi rozsiahly a zložitý a prevažuje nad väčšinou bežných kancelárskych desktopových aplikácií.

XML je skrátená verzia SGML, uľahčuje jej používanie na webe, ľahšie definuje vaše vlastné typy dokumentov a uľahčuje programátorom písať programy na spracovanie. Vynecháva všetky zložité a menej používané možnosti SGML na oplátku za výhody jednoduchšieho písania aplikácií, ktoré sú ľahšie pochopiteľné a sú vhodnejšie pre doručovanie a interoperabilitu na internete. Ale stále je založený na SGML a súbory XML môžu byť stále spracované rovnakým spôsobom ako akýkoľvek iný súbor SGML (pozri otázku na softvéri XML).

HTML, XHTML a HTML5 sú len tie XML aplikácie najčastejšie používané na webe.

Technickí čitatelia môžu považovať za užitočnejšie považovať XML za SGML – skôr ako za HTML.

(Ed: Pokiaľ ide o tento posledný odsek, pozrite si Aký je rozdiel medzi XML a C alebo C++ alebo Java a ako môžem spustiť alebo spustiť súbor XML ?.)

1.10: Kto je zodpovedný za XML?

W3C

XML je odporúčanie konzorcia World Wide Web (W3C) a vývoj špecifikácie je pod dohľadom pracovnej skupiny XML. Špeciálna záujmová skupina kooptovaných prispievateľov a odborníkov z rôznych oblastí prispeli komentármi a recenziami e-mailom.

XML je verejný formát: nie je vlastným vývojom žiadnej spoločnosti, hoci členstvo v WG a SIG predstavovalo spoločnosti, ako aj výskumné a akademické inštitúcie. Špecifikácia v1.0 bola prijatá W3C ako odporúčanie 10. februára 1998.

1.11: Prečo je XML taký dôležitý vývoj?

Prekonáva nepružnosť HTML a zložitosť SGML

Odstraňuje dve obmedzenia, ktoré udržujú vývoj webu:

  1. Závislosť na jedinom, nepružnom type dokumentu (HTML), ktorý bol veľmi zneužívaný pre úlohy, pre ktoré nikdy nebol určený;
  2. Zložitosť plného SGML, ktorého syntax umožňuje mnoho výkonných, ale ťažko programovateľných možností.

XML omogoča prilagodljiv razvoj uporabniško določenih vrst dokumentov. Zagotavlja robusten, nezaščiten, obstojen in preverljiv format datoteke za shranjevanje in prenos besedila in podatkov na spletnem mestu in iz njega; Odstrani bolj zapletene možnosti SGML, kar olajša programiranje.

1.12: Zakaj ne samo še razširjati HTML?

HTML je že preobremenjen z lastniškimi vtičniki.

HTML je že upošteval več deset zanimivih, vendar nezdružljivih izumov različnih proizvajalcev, saj ponuja le en način za opis vaših podatkov.

XML omogoča, skupine ljudi ali organizacij, da ustvarite lastne prilagojene označevalne aplikacije za izmenjavo informacij v njihovi domeni (glasba, kemija, elektronika, turizem, finance, surfanje, naftni geologija, jezikoslovje, kuhanje, pletenje, zvezd kartografija, zgodovina, inženiring, Zajec, matematika , rodoslovje itd.).

Prvotno zasnovani HTML je zdaj daleč presega njegovo uporabnost kot sredstva obveščanja in opisa, saj bo XHTML in HTML5 še naprej igrati pomembno vlogo za vsebino, ki lahko predstavljajo številne nove aplikacije zahtevajo robusten in prilagodljiv infrastrukture.

1.13: Ali XML nadomesti HTML?

No.

No. XML sam ne nadomešča HTML. Namesto tega ponuja alternativo, ki vam omogoča, da določite svoj nabor elementov označevanja. Pričakuje se, da bo HTML ostal v skupni rabi v spletu, trenutne različice HTML (XHTML in HTML5) pa so v sintaksi XML.

XML je zasnovan tako, da je pisanje obdelovalne programske opreme veliko lažje kot pri SGML, kar je osnova prvotnega HTML-ja.

1.14: Zakaj naj uporabljam XML?

Je robusten, trajen, manipulabilen in brezplačen format za prepoznavanje, shranjevanje in prenašanje informacij.

Tukaj je nekaj razlogov za uporabo XML (brez posebnega naročila). Vsi ti ne bodo veljali za vaše potrebe in morda imate druge razloge, ki niso navedeni tukaj (če je temu tako, naj bralnik pogosto vpraša!).

  • XML se lahko uporablja za natančno in nedvoumno opis in identifikacijo podatkov na tak način, da se računalniki lahko programirana, da "razumejo" svoje podatke (no, vsaj ročico, kot da se razume).
  • XML omogoča datoteke z dokumenti, ki so istega tipa, da je za ustvarjanje in manipulirati dosledno in brez strukturnih pomanjkljivosti, ki jih zagotavlja standardiziran način opisuje, upravljanje in licenc / onemogočiti določene vrste dokumentov struktur. [Upoštevajte, da nima nobene zveze s formatiranjem, videzom ali dejanskim besedilom ali vsebino podatkov v dokumentih, samo po njihovi strukturi. Za slog ali oblikovanje glejte Kako lahko nadzorujem oblikovanje XML?
  • XML zagotavlja robustno in trajno obliko shranjevanja in prenosa informacij. Robusten, ker temelji na dokazanem standardu in ga je zato mogoče preskusiti in preveriti; Stalna (trajna), ker uporablja oblike zapisa navadnih besedil, ki premagajo lastniške binarne datoteke.
  • XML ponuja skupno sintakso za sisteme za izmenjavo informacij med aplikacijami. Pred tem je vsak sistem sporočanja imel svojo lastno obliko in vse je bilo drugačno, zaradi česar so po nepotrebnem neprijetno, zapletena in draga sporočila med sistemi. Če vsakdo uporablja isto sintakso, ti sistemi zapisujejo mnogo hitreje in zanesljiveje.
  • XML je zadarmo. Nielen zadarmo (zdarma ako v pive), ale bez zákonných bremien (zadarmo ako v reči). Nepatrí nikomu, takže nemôže byť unesený alebo pirátsky. A nemusíte platiť poplatok za to, že ho môžete používať (samozrejme môžete použiť z komerčných programov na to, aby ste sa s ním vyrovnali z mnohých dôvodov, ale za samotný XML neplatíte).
  • Informácie XML môžu byť manipulované programovo (pod kontrolou stroja), takže dokumenty XML môžu byť spojené z rôznych zdrojov alebo rozdelené a opätovne použité rôznymi spôsobmi. Môžu byť prevedené do ľubovoľného iného formátu bez straty informácií.
  • XML vám umožňuje oddeliť formulár (vzhľad) od obsahu. Súbor XML obsahuje informácie o dokumente (text, údaje) a identifikuje jeho štruktúru: vaše formátovanie a ďalšie potreby spracovania sú identifikované samostatne v štýle alebo v systéme spracovania. Tieto dve sú kombinované v čase výstupu, aby sa použili požadované formátovanie textu alebo údajov identifikovaných jeho štruktúrou (miesto, pozícia, poradie, poradie alebo čokoľvek).
  • Každá z cieľov návrhu uvedených v špecifikácii XML.

Peter Flynn píše:

Prečo nie používať len Word alebo Poznámky?

Obmedzené formáty vlastníckych údajov nie sú vhodné pre trvalé verejné informácie.

Informácie o sieti, ktorá spája množstvo rôznych typov počítača, musí byť na všetkých z nich použiteľná. Obzvlášť verejné informácie si nemôžu dovoliť byť obmedzené na jednu značku alebo model alebo výrobcu alebo na odovzdanie kontroly svojho dátového formátu súkromným rukám. Taktiež je užitočné, aby takéto informácie boli vo forme, ktorá môže byť opätovne použitá mnohými rôznymi spôsobmi, pretože to minimalizuje plytvanie času a úsilia. Vlastné formáty údajov, bez ohľadu na to, ako dobre sú zdokumentované alebo propagované, jednoducho nie sú možnosťou: ich kontrola sa stále nachádza v súkromných rukách a môžu sa ľubovoľne zmeniť alebo odstúpiť ľubovoľne bez upozornenia.

SGML je medzinárodná norma na definovanie tohto druhu aplikácií a bola preto prirodzenou voľbou pre XML, ale tí, ktorí potrebujú alternatívu založenú na inom softvéri na iné účely, môžu úplne slobodne implementovať podobné služby pomocou takéhoto systému, najmä ak sú Na súkromné ​​použitie.

1.15: Kde nájdem viac informácií o XML?

Online a offline zdroje

Online, nájdete špecifikáciu XML a doplnkovú dokumentáciu dostupnú od W3C. Kryté stránky XML Robin Cover s rozsiahlym zoznamom online referenčných materiálov a odkazmi na softvér; A zhrnutie a skrátené otázky od Tima Braye; A tisíce referenčných zdrojov dostupných zadaním “xml” do Google alebo iného vyhľadávacieho nástroja.

Informácie o zdrojoch offline nájdete v zoznamoch kníh, článkov a softvéru pre XML v krycích stránkach XML v texte Robin Cover (články a knihy). Táto lokalita by mala byť vždy vašim prvým prístavom pre archivované zdroje.

Informácie o prístupe k odborníkom, najmä v oblasti poradenstva a školení, nájdete v XML Guild, ktorého členovia tvoria konzorcium niektorých najlepších nezávislých konzultantov vo svete.

Udalosti uvedené nižšie sú tie, o ktorých som hovoril. Pošlite mi e-mail, ak narazíte na iné: na celom svete existuje veľa iných udalostí XML a väčšina z nich je ohlásená na mailingových zoznamoch a diskusných skupinách.

Pripravované akcie

XML London

Program XML XML a XML (Semantic Web Conference) sa uskutoční na Fakulte inžinierskych vied (Roberts Building) univerzitnej univerzity v Londýne 10. – 11. júna 2017.

Balisage

Konferencia oznamovania Balisage je hlavnou technickou schôdzou, konkrétne o značkovaní, vrátane XML a TEXu: bude sa konať v Bethesde v dňoch 1. – 4. augusta 2017 s predsieňovým sympóziom 31. júla.

Konferencia digitálnych humanitných spoločností 2017

Konferencia digitálnych humanitných spoločností 2017 sa bude konať v Montreale v dňoch 8. – 11. augusta 2017, kde budú hostiať univerzita McGill a Université de Montréal. Téma DH2017 je “Prístup”. Použitie značkovania XML (TEI) je silnou súčasťou DH konferencií.

DH2018 sa bude konať v Mexico City, kde budú hostiť El Colegio de México a Universidad Nacional Autónoma de México (UNAM) v aliancii s Red de Humanidades Digitales (dátum, ktorý bude oznámený).

Konferencia TEI

Konferencia TEI z roku 2017 sa bude konať vo Viktórii v BC (podrobnosti ešte treba upovedomiť).

XML Summerschool

Ročná letná škola XML sa bude konať v sále St Edmund v Oxforde v dňoch 18. – 22. septembra 2017 s popoludňajším úvodom do XML v nedeľu 17. mája. Táto týždenná udalosť pokrýva všetko od úvodu pre začiatočníkov až po publikovanie XML, transformáciu pomocou XSLT2 a XQuery a použitie prepojených údajov.

XML Amsterdam

XML Amsterdam 2015 sa konalo 5. novembra v Centre Science Wiskunde & Informatica (CWI) v Amsterdame. Nasledujúci XML Amsterdam bude v roku 2017 (dátum bude upozornený).

WWW 2016

25. a 25. apríla 2016 sa konala 25. ročník medzinárodnej konferencie o svetovom webe na univerzite v štáte Quebec v Montreale v Kanade.

TUG 2016

Konferencia TEX Users Group 2016 sa konala v kanadskom Toronte v dňoch 25. – 27. júla 2016.

Balisage

Konferencia o značení Balisage bola v dňoch 2. až 5. augusta v divadle Bethesda.

Konferencia TEI

Konferencia TEI v roku 2016 sa uskutočnila v rakúskej akadémii vied vo Viedni, ktorá sa konala od 26. do 30. septembra 2016 v Rakúskom centre digitálnych humanitných vied.

XML Praha

XML Praha 2017 sa bude konať 9. – 11. februára 2017 na Ekonomickej univerzite v Prahe. Videá predchádzajúcich stretnutí sú k dispozícii na ich kanáli YouTube (odkaz na stránkach).

TUG 2017

Konferencia TEX Users Group 2017 bude spoločnou schôdzou s GUST pri príležitosti 25. výročia založenia BachoTEX, ktorá sa bude konať v meste Bachotek v Poľsku v dňoch 29. apríla až 3. mája 2017. Aj keď sa primárne týka sádzania, mnohé aspekty LATEXu sú Úzko súvisí s používaním XML a spracovaním štruktúrovaných dokumentov.

1.16: Kde môžem diskutovať o implementácii a vývoji XML?

Na mailingových zoznamoch, diskusných skupinách Usenet, webových bulletinov a IRC kanáloch

Hlavným médiom podpory online sú internetové fóra a zoznamy adries. Usenetové diskusné skupiny pre XML existujú, ale zriedka sa používajú teraz, hoci ich vyhľadávanie prostredníctvom Skupín Google môže priniesť veľa užitočných informácií. IRC sieť sa tiež používa do určitej miery a väčšina individuálnych projektov a programov XML má na svojich webových stránkach vlastné bulletinové tabule. Existuje aj neznámy počet súvisiacich stránok fóra otázok a odpovedí, ktoré možno nájsť pomocou vyhľadávacích nástrojov.

Ak chcete získať off-line podporu, pozrite si časť Kde nájdem viac informácií o XML? Pre podrobnosti o konferenciách a letných školách.

  • Najaktívnejším webovým fórom sa zdá byť StackOverflow: zvláštne sa zdá, že neexistuje žiadna špeciálna lokalita StackExchange XML, ako napríklad iné témy (napr. LATEX). W3Schools XML Forum (úplne nesúvisiace s W3C) sa tiež zdá, že má nedávny prevádzku, rovnako ako DevShed a CodingForums. Vyhľadávanie Google zvýši počet ďalších používateľov s nižšou úrovňou návštevnosti.
  • Usenetova glavna diskusijska skupina je comp.text.xml, čeprav je veliko manj uporabljena kot prej. Prosimo, prosite svojega ponudnika internetnih storitev za dostop do Useneta ali uporabite spletni vmesnik, kot je iskalni arhiv, ki ga upravlja Google. Če vaš brskalnik ali poštna mapa ne nudi naprave za upravljanje sporočil, ga namestite ali (bolje) uporabite ločen števec sporočil.
    Diskusijska skupina comp.text.sgml se iz praktičnih razlogov ne uporablja več. Diskusijske skupine, specifične za Microsoft, se postopno odpravljajo v korist spletnih forumov, ki jih organizira Microsoft.
  • Javna razprava za splošne namene je XML-L: Za naročnino obiščite spletno stran in kliknite povezavo za pridružitev.
  • Za tiste, ki razvijajo komponente programske opreme za XML, je seznam za pošiljanje xml-dev. Lahko se naročite tako, da pošljete eno vrstico e-pošto na naslov xml-dev-request@lists.xml.org izjavo NAROČI. Upoštevajte, da je ta seznam za tiste, ki so aktivno vključeni v razvoj XML virov. To ni splošne informacije o XML-u (za ta namen uporabite seznam XML-L).
  • Seznam XSL je namenjen razpravi o XSL (XSLT in XSL: FO). Za podrobnosti o tem, kako se naročite, obiščite http://www.mulberrytech.com/xsl/xsl-list.
  • Obstaja dolg seznam drugih skupin za razprave, e-poštnih konferenc in forumov na strani Robin Cover na http://xml.coverpages.org/lists.html.

Andrew Watt piše:

Obstaja poštni seznam posebej za XSL-FO samo na eGroups.com. Naročite se lahko tako, da pošljete sporočilo XSL-FO-subscribe@egroups.com.

Upoštevajte, da bo seznam XSL-FO v skupinah Yahoo E-Skupin pošiljal redno avtomatizirano neželeno pošto nečlanom, ki lažno trdijo, da so se pridružili.

Gianni Rubagotti piše:

Ustvari se nov italijanski seznam prejemnikov za XML: za naročanje, pošiljanje e-poštnega sporočila brez teme, vendar z besedilom opozorila XML-IT na majordomo@ananas.usr.dsi.unimi.it. Vsakdo, bodisi italijanski ali ne, ki želi govoriti o XML v našem jeziku, je dobrodošel.

Gianni vodi tudi seznam XML človeštva.

JP Theberge piše:

Ustvarjen je bil francoski seznam prejemnikov XML. Če želite naročiti, pošljite aplikacijo na naslov xml-request@trisome.com.

Murata Makoto piše:

Ta kolektivni seznam navedite svojim kolegom, ki uporabljajo RELAX NG. Pojdite na: http://groups.yahoo.com/group/rng-users/.

Poštni seznami

Ko se povežete s seznamom naslovov, boste dobili podrobnosti o tem, kako jo uporabljati. Preberite natančno dokumentacijo, ker vsebuje pomembne informacije, zlasti o tem, kaj storiti, če vaše podjetje ali ponudnik internetnih storitev spremeni vaš e-poštni naslov.

Upoštevajte, da obstaja veliko netočnih in zavajajočih informacij o naročanju in odjavi s seznama v tisku in spletu. Ne vprašajte: preberite natančno dokumentacijo.

1.17: Kakšna je razlika med XML in C ali C + + ali Java?

C in Java se uporabljajo za pisanje programov; XML služi za shranjevanje informacij.

C in C + + (in drugi jeziki, kot so FORTRAN ali Pascal ali Visual Basic ali Java ali na stotine drugih) so programski jeziki, ki določajo izračune, dejanja in odločitve po vrstnem redu:

curconfig način [če je še (datum, 6) = "01-Apr", 
    t.put "April Fool!", 
    f.put days('31102011','DDMMYYYY') -
          days(sdate,'DDMMYYYY')
    " more shopping days to Samhain"];

XML je jazyk špecifikácie označovania, pomocou ktorého môžete navrhnúť spôsoby popisu informácií (textov alebo údajov), zvyčajne pre ukladanie, prenos alebo spracovanie programom. Nič nehovorí o tom, čo by ste mali robiť s údajmi (aj keď vaša voľba názvov prvkov môže naznačovať, na čo sú určené):

<part num="DA42" models="LS AR DF HG KJ" update="2001-11-22">
  <name>Camshaft end bearing retention circlip</name>
  <image drawing="RR98-dh37" type="SVG" x="476" y="226"/>
  <maker xml:id="RQ778">Ringtown Fasteners Ltd</maker>
  <notes>An <tool xml:id="GH25"/>angle-nosed insertion tool</tool> is 
    required for the removal and replacement of this part.</notes>
</part>

Samotný XML súbor (vrátane HTML) nič nerobí. Je to dátový formát, ktorý tu sedí, kým nespustíte program, ktorý s ním niečo robí. Pozrite tiež otázku, ako spustiť alebo spustiť súbory XML.

XSLT2 a XSL: FO
Voda je zmätená skutočnosťou, že najpopulárnejšie jazyky spracovania transformácie (XSLT2 a XSL: FO) sú skutočne napísané v XML syntaxe, pretože sú deklaratívne, nie procedurálne. V týchto špeciálnych prípadoch sa dá povedať, že spúšťate súbor XML spustením aplikácie na spracovanie, ako je Saxon, ktorá kompiluje smernice určené v súboroch do Java bytecode na spracovanie dokumentov XML. V tomto zmysle by ste ich mohli porovnať s inými programovacími jazykmi, ale porovnávali by ste jazykové zariadenia, nie syntax XML, v ktorom sú napísané.

William Hammond píše:

(V článku <i7ll1362ib.fsf@hilbert.math.albany.edu>)

SGML je kategória “typov dokumentov” s konfigurovateľnou zdieľanou syntaxou, väčšinu z nich (napríklad klasický HTML) nemožno zostaviť na vytvorenie spustiteľných programov. XML je podkategória SGML so syntaktickými obmedzeniami. Napríklad v jazyku XML je slovná zásoba typu dokumentu vždy citlivá na veľké a malé písmená, zatiaľ čo pri SGML môže byť buď citlivá na malé písmená, alebo malé a malé písmená. Takže napríklad klasický HTML je typ dokumentu SGML a XHTML + MathML je typ dokumentu XML.

Zatiaľ čo niektoré typy dokumentov zodpovedajú značkovacím jazykom dokumentu, iné typy dokumentov (ako položka katalógu CTAN) sú len pre štruktúrované údaje […]

Pochybujem však vážne, že počítačový jazyk ako C je v akomkoľvek rozumnom zmysle rovnocenný typu dokumentu SGML.

Oddiel 2: Existujúci používatelia

(Vrátane všetkých, ktorí používajú prehliadač)

2.1: Čo musím urobiť na použitie XML?

Čítať ho: použite akýkoľvek moderný webový prehliadač; Vytvoriť ho: použite editor XML.

Pre priemerného používateľa webu nepotrebujete nič okrem prehliadača, ktorý pracuje s XML (pozri otázku o prehliadačoch). Pamätajte si, že nové zariadenia súvisiace s XML sú vynájdené alebo implementované nepretržite (pozrite si webovú stránku W3C), takže niektoré nové funkcie nemusia fungovať vo všetkých prehliadačoch.

Môžete použiť prehliadače v súlade s XML a pozrieť sa na niektoré z stabilných materiálov XML, ako sú Shakespearove hry Jon Bosak a molekulárne experimenty chemického značkovacieho jazyka (CML). Na stránke http://xml.coverpages.org/xml.html#examples nájdete niektoré ďalšie zdroje príkladov a nájdete XML (najmä v podobe XHTML), ktoré sa objavujú na miestach, kde sa neporušia staršie prehliadače.

Ak chcete začať s prípravami na vytváranie vlastných súborov XML, prečítajte si otázky v sekcii autorov a sekcii vývojárov, najmä otázka o editore XML.

2.2: Čo vyzerá XML (vo vnútri)?

Špičaté zátvorky ako HTML

Základná štruktúra XML je podobná ostatným aplikáciám SGML vrátane HTML. Základné zložky nájdete v nasledujúcich príkladoch. Dokument XML začína voliteľným Prologom, ktorý môže mať dve (voliteľné) časti:

1. Deklarácia XML:

<?xml version="1.0" encoding="utf-8"?>

Toto špecifikuje, že ide o dokument XML a že používa repertoár znakov UTF-8 (predvolené, ostatné sú k dispozícii, ale podpora je povolená len pre UTF-8);

2. Deklarácia typu dokumentu, ak používate DTD:

<!DOCTYPE report SYSTEM "http://sales.acme.corp/dtds/salesrep.dtd">

ktorý identifikuje typ dokumentu (tu “report”) a uvádza, kde je uložený typ popisu dokumentu (DTD);

Za Prologom nasleduje inštancia dokumentu:

  1. Koreňový prvok, ktorý je prvkom najvyššej úrovne (štartová značka plus koncová značka), ktorý obklopuje všetko ostatné: v príkladoch pod koreňovými prvkami sú konverzácia a hlavička;
  2. Štruktúrovaná zmes popisných alebo predpísaných prvkov, ktoré obsahujú obsah znakov (text) a voliteľne všetky atribúty (‘name =”value”‘ pair) v rámci niektorých štartovacích značiek.

Dokumenty XML môžu byť veľmi jednoduché, s priamym vnoreným označením vášho vlastného dizajnu:

<?xml version="1.0" standalone="yes"?>
<conversation>
  <greeting>Hello, world!</greeting>
  <response>Stop the planet, I want to get off!</response>
</conversation>

Alebo môžu byť komplikovanejšie so schémou alebo DTD a možno aj s vnútornou podmnožinou (miestne DTD zmeny v [hranatých zátvorkách] v rámci Deklarácie typu dokumentu ako vyhlásenie ENTITY nižšie); A ľubovoľne zložitej vnorenej štruktúre:

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE titlepage 
  SYSTEM "http://www.foo.bar/dtds/typo.dtd" 
[<!ENTITY % active.links "INCLUDE">]>
<titlepage xml:id="BG12273624">
  <white-space type="vertical" amount="36"/>
  <title font="Baskerville" alignment="centered" 
   size="24/30">Hello, world!</title>
  <white-space type="vertical" amount="12"/>
	  <!-- In some copies the following 
           decoration is hand-colored, presumably 
           by the author -->
  <image location="http://www.foo.bar/fleuron.eps" 
   type="URI" alignment="centered"/>
  <white-space type="vertical" amount="24"/>
  <author font="Baskerville" size="18/22" 
   style="italic">Vitam capias</author>
  <white-space type="vertical" role="filler"/>
</titlepage>

Alebo môžu byť kdekoľvek medzi: veľa bude závisieť od toho, ako chcete definovať typ dokumentu (alebo ktorého používate) a na čo sa bude používať. Databázové alebo programovo vygenerované dokumenty XML používané v elektronickom obchode sú zvyčajne neformátované, pretože sú určené na spotrebu strojov, nie na čítanie človekom, a môžu používať veľmi dlhé názvy alebo hodnoty s viacnásobnou redundanciou a niekedy žiadnym obsahom údajov o znakoch , Len hodnoty v atribútoch:

<?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: Mal by som použiť XML namiesto HTML?

Áno, ak potrebujete robustnosť, presnosť a vytrvalosť.

XML umožňuje autorom a poskytovateľom vytvárať vlastnú značku dokumentov namiesto toho, aby boli obmedzené HTML. Typy dokumentov môžu byť explicitne prispôsobené aplikácii, takže ťažkopádne fudging a poodlefaking, ktoré sa musia uskutočniť pomocou kódu HTML, sa stáva vecou minulosti: značkovanie môže vždy povedať, čo to znamená. Triviálny príklad:

<date YYYY-MM-DD="2005-12-26">last Monday</date>
  • Informačný obsah môže byť bohatší a jednoduchší na používanie, pretože popisné a hypertextové prepojovacie schopnosti XML sú omnoho väčšie ako tie, ktoré sú k dispozícii v HTML.
  • XML môže poskytnúť viac a lepšie vybavenie pre prezentáciu a výkonnosť prehliadača pomocou štýlov XSLT a CSS;
  • Odstráni mnoho základných komplikcií formátu HTML vo formáte SGML (ktoré ich viedlo k ich ignorovaniu a zlomeniu) v prospech flexibilnejšieho modelu, takže písanie programov na spracovanie XML je oveľa jednoduchšie, ako robiť to isté pre všetky staré rozbité HTML.
  • Informácia sa stáva prístupnejšou a opätovne použiteľnou, pretože flexibilnejšie značkovanie XML môže byť použité akýmkoľvek softvérom XML namiesto toho, aby bolo obmedzené na konkrétnych výrobcov, ako sa stalo v prípade HTML.
  • Súbory XML môžu byť použité aj mimo webu v existujúcich prostrediach na spracovanie dokumentov (napr. publikovanie).

Ak sú vaše informácie prechodné alebo úplne statické a nereferenčné alebo veľmi krátke a jednoduché a pravdepodobne nie je potrebné aktualizovať, HTML môže byť všetko, čo potrebujete.

2.4: Niekto mi poslal súbor XML. Ako ju čítam?

Otvorte ho v prehliadači XML alebo vo formáte XML editora.

Ak je súbor správne vytvorený alebo platný, môžete ho jednoducho otvoriť v ľubovoľnom prehliadači, ktorý je v súlade s normou XML (pozrite si Čo je potrebné urobiť na používanie jazyka XML a Kde môžem získať prehliadač XML?). Zobrazí sa súbor v neformátovanom zobrazení, ktorý zobrazuje všetky označenia vo formáte, ktorý umožňuje zložiť alebo rozvinúť vnorenú hierarchiu (kliknite na symboly malého plusu a mínusu), ktoré vám aspoň umožnia čítať niečo.

Ak súbor obsahuje odkaz na šablónu štýlov XSLT alebo CSS (a štýl je poskytnutý alebo je prístupný na web), prehliadač by mal súbor formátovať čitateľným spôsobom (ale pozor, formátovanie v prehliadači nie je robustné).

Ak chcete súbor upraviť, potrebujete editor XML (pozri editor XML). Pokiaľ nie ste veľmi kvalifikovaní s označením na špičke, nepokúšajte sa upravovať súbory XML s editormi bez XML.

2.5: Ako môžem ovládať formátovanie XML?

Použite CSS alebo šablónu štýlov XSLT2.

Vo formáte HTML bol v prehliadačoch zabudovaný predvolený styl, pretože značka HTML bola preddefinovaná a pevne pripojená do prehliadačov. To platí aj pre XHTML a HTML5 do určitej miery. V inom jazyku XML, kde môžete definovať vlastné tagy, nemožno od prehliadačov očakávať, že predpovedajú alebo vopred vedia, aké názvy budete používať a čo budú znamenať, preto potrebujete štýl, ak chcete zobraziť formátovaný text.

Prehliadače, ktoré čítajú XML, budú prijímať a používať štýl šablón CSS minimálne, ale môžete použiť aj silnejší jazyk štýlov XSLT na transformáciu XML na HTML – ktoré prehliadače samozrejme už vedia, ako sa majú zobrazovať (a ten HTML môže stále Použite šablónu štýlov CSS). Týmto spôsobom získate všetky výhody riadenia dokumentov pomocou XML, ale nemusíte sa obávať, že vaši čitatelia potrebujú vo svojom prehliadači XML smarts.

Táto transformácia sa zvyčajne vykonáva na vlastnom serveri vlastníka dokumentu, takže si len tak necháte HTML, pravdepodobne nevedomý, že pôvodne bol XML. V niektorých prehliadačoch je však možné použiť aj (dosť obmedzený) vstavaný transformátor XSLT 1.0 a prevádzkovatelia serverov teraz môžu používať aj Saxon CE, čo je stiahnuteľná verzia XSLT2 v prehliadači.

Mike Brown píše:

XSLT je jazyk na spracovanie dokumentov XML, ktorý používa zdrojový kód, ktorý sa píše do XML. Dokument XSLT deklaruje súbor pravidiel pre procesor XSLT, ktorý sa používa pri interpretácii obsahu dokumentu XML. Tieto pravidlá informujú procesor XSLT, ako generovať novú dátovú štruktúru podobnú XML a spôsob vydania údajov – ako dokument XML, ako HTML dokument, ako obyčajný text, alebo možno v inom formáte.

Táto transformácia sa môže vykonať buď vo vnútri prehliadača, alebo serverom pred odoslaním súboru. Transformácia v prehliadači odstraňuje spracovanie zo servera, ale môže zaviesť závislosť prehliadača, čo vedie k vylúčeniu niektorých vašich čitateľov. Transformácia v serveri spôsobuje, že proces je nezávislý na prehliadači, ale na server sa kladie ťažšie spracovateľské zaťaženie.

Rovnako ako pri každom systéme, kde súbory môžu byť náhodne prezerané ľubovoľnými používateľmi, autor nemôže vedieť, aké zdroje (ako sú fonty) sú v systéme používateľa, takže je potrebná rovnaká starostlivosť ako pri použití písma HTML. Ak chcete spustiť štýl zo súboru XML na samostatné spracovanie v prehliadači, zahrňte jednu z deklarácií štýlových hárkov:

<?xml-stylesheet href="foo.xsl" type="text/xsl"?> 
<?xml-stylesheet href="foo.css" type="text/css"?> 

(Samozrejme nahrádza URI štýlu). Viac informácií nájdete na http://www.w3.org/TR/xml-stylesheet/. Špecifikácia kaskádových šablón (CSS) poskytuje jednoduchú syntax pre prideľovanie štýlov prvkom a bola implementovaná vo väčšine prehliadačov.

Dave Pawson udržiava komplexné otázky týkajúce sa XSL na http://www.dpawson.co.uk/xsl/ a jeho kniha (Pawson, 2002) [kniha Fox] je k dispozícii od O’Reilly. XSL používa syntax XML (šablóna šablón XSL je len súbor XML) a má širokú podporu od niekoľkých významných dodávateľov prehliadačov (pozrite si otázky týkajúce sa prehliadačov a iného softvéru). XSL sa dodáva s dvoma spôsobmi:

  • Samotný XSL, ktorý je čisto formátovací jazyk, ktorý vytvára súbor Formátovaných objektov (FO), ktorý potrebuje formátovač textu ako FOP, XEP alebo iní na vytvorenie výstupu pre tlač (PDF) (ale pozri Alternatívy k XSL: FO). V súčasnosti nie som si vedomý žiadnych webových prehliadačov, ktoré podporujú priame vykresľovanie XSL do formátu PDF.
  • XSLT (T for Transformation), čo je jazyk, ktorý špecifikuje transformáciu XML do HTML buď vo vnútri prehliadača, alebo na serveri pred prenosom. Môže tiež špecifikovať transformácie z jedného slovníka XML do iného a z XML do bežného textu (ktorý môže byť ľubovoľný formát, vrátane RTF a LATEXu).

Všetky súčasné verzie programov Microsoft Internet Explorer, Firefox, Chrome, Mozilla, Safari a Opera ovládajú XSLT 1.0 vo vnútri prehliadača. Dajte si pozor na zastarané prehliadače ako MSIE5.5, ktoré potrebujú nejakú operáciu po inštalácii na odstránenie dlho zastaraného WD-xsl a jeho nahradenie súčasným procesorom XSL-Transform.

WYSIWYG pre XSL
Pokúsili sa vytvoriť editorov pseudo-WYSIWYG na vytváranie šablón štýlov XSL [T], ale väčšinou sa obmedzovali na jednoduché mapovanie medzi vstupnými prvkami a výstupnými prvkami (napr. DocBook para k HTML p). Zdá sa, že niečo nad rámec toho pravdepodobne zlyhá, pretože nekonečná zložitosť toho, čo ľudia chcú robiť so svojimi informáciami. Ak máte prístup k databáze ACM, pozrite si papier od Pietriga, Vion-Dury a Quinta na VXT z ACM DocEng’01 (Atlanta) Proceedings.

Generovanie HTML na serveri
Existuje rastúce používanie procesorov na strane servera, ako je Cocoon a iní, ktoré vám umožňujú vytvárať, ukladať a spravovať vaše informácie v XML, ale slúžiť automaticky prevádzať na HTML alebo iný formát, a tak umožniť výstupu použiť akúkoľvek browser. XSLT je tiež široko používaný na transformáciu XML do non-SGML formátov pre vstup do iných systémov (napríklad na transformáciu XML na LATEX pre sádzanie).

Alternatívy k XSL: FO
Namiesto vytvárania PDF pomocou procesora FO je možné použiť XSLT2 na transformáciu XML na LATEX pre sádzanie PDF (ako je to pre tlačené verzie tejto FAQ z DocBooku na LATEX). To má tú výhodu, že je možné využiť rozsiahlu knižnicu predpísaných formátovacích modulov LATEXu (“balíčky”), ktoré zabraňujú veľkej časti opätovného objavovania kolesa, ktoré sa v súčasnosti požaduje pri XSL: FO.

Alternatívne xmltex David Carlisle číta XML priamo a ponúka ďalšie praktické, ak je experimentálne riešenie pre sádzanie XML. Jedno použitie systému TEX, ktoré môže typovať súbory XML, je ako backendový procesor pre XSL: FO, serializovaný ako XML. PassiveTEX spoločnosti Sebastian Rahtz používa xmltex na dosiahnutie tohto cieľa.

TEX FAQ je na http://www.tex.ac.uk/faq. Silmaril si zachováva on-line verziu knihy Petra Flynna o LATEX, Formátovanie informácií, ktorá obsahuje niekoľko príkladov konverzie XSLT2 (Flynn, 2014).

Systémy SGML používali podobný mechanizmus šablón: niektoré z nich boli FOSI (formátovaná výstupná špecifikácia inštancie), ktorá bola štandardná v aplikáciách obrany a priemyselného inžinierstva, hlavne pri použití Arbortext editora (Adept, potom Epic, pravdepodobne ešte ďalší týždeň ); Šablónu štýlov DynaText/DynaWeb používanú pri publikovaní SGML na webe; A štýl šablóny Synex, ktorý sa používa v prehliadačoch založených na systéme Synex (napr. Panorama, ktorého štýlové rozhranie bolo čiastočne prevzaté v XMetaL), ktorých odborníci na dizajn pretrvávajú v prehliadači DocZilla.

2.6: Kde môžem získať prehliadač XML?

Všetky moderné prehliadače podporujú XML

Súčasný stav existujúcej podpory prehľadávača pre XML (1. august 2014):

  • Aktuálne verzie programov Microsoft Internet Explorer, Firefox, Safari, Chrome, Mozilla a Opera sa zdajú byť podporované v XML so štýlmi CSS a / alebo XSLT 1.0. Redaktor by uvítal ďalšie informácie a opravy.
  • Nepoužívajte program Netscape (ľubovoľná verzia), Internet Explorer 6 alebo skoršia verzia ani staršie verzie Mozilly, ak chcete podporovať XML: buď to nemajú, alebo boli beznádejne rozbité. Aktualizujte čo najskôr na moderný prehliadač.

Zvyšok tohto zoznamu má iba historický význam.

  • Microsoft Internet Explorer 5.0 a 5.5 spracovaný XML, spracováva ho štandardne pomocou zabudovaného štýlu šablón, ktorý je napísaný v predtým XSLT XSLT, ktorý je zastaralý špecifický pre Microsoft (nesmie byť zamenený s reálnym XSLT). Výstupom šablóny so štýlmi je DHTML, ktorý pri vykreslení v prehliadači zobrazuje farebnú, syntax zvýraznenú verziu dokumentu XML so sklopnými zobrazeniami. Ak dokument XML odkazuje na šablónu so štýlmi, namiesto toho sa použije tento štýl v rámci obmedzení neúplnej implementácie CSS zo strany MSIE. Programy MSIE 5.0 a 5.5 môžu tiež používať štýly v inej zastaralej syntaxe nazývanej WD-xsl, ktorá by sa mala vyhnúť. Tieto verzie môžu byť inovované tak, aby podporovali skutočný formát XSLT: pozrite si často kladené otázky MSXML.
    MSIE 6.0 a neskôr používajú skutočné XSLT 1.0, ale môžu používať obidve zastarané syntaxy.
  • Mozilla Firefox 0.9, Netscape 6 a 7 (neexistuje Netscape 5) a Galeon všetci majú plnú XML podporu s XSLT a CSS. Vo všeobecnosti je Firefox robustnejší než MSIE a poskytuje lepšie dodržiavanie štandardov.
    Mám používateľskú správu, že Netscape 4.6 a 4.8 podporuje XML, ale žiadne nezávislé overenie.
  • Autori bývalého prehliadača SGML v MultiDoc Pro, CITEC (ktorého motor sa používal aj v programe Panorama a iné prehliadače), spojili sily s Mozilly a vytvorili prehliadač s názvom DocZilla, ktorý číta HTML, XML a SGML s XSLT a CSS štýly. Toto fungovalo pod systémom Windows a Linux a bolo v čase vydania 1.0 v čase, keď sa stalo nedostupným. Toto bol zďaleka najambicióznejší projekt prehliadača a bol podporený veľmi solídnymi skúsenosťami s manipuláciou s markupami.

Mám menšie informácie o funkciách XML prehliadača Safari pre systém Mac OS X, ktorý je založený na motore KHTML používanom v Konquerore. Zdá sa, že samotný Konqueror nepodporuje XML ani XSLT (aspoň v systéme KDE pod Fedora Core, napríklad), ale Safari 1.3.2 (v312.6) pod OS 10.3 poskytoval čiastočnú podporu pre XML, ale nerešpektuje externý DTD Modifikované vnútornou podmnožinou (vďaka John Hayniemu na testovanie).

Mike Brown píše:

Pojem “prehliadanie” je primárne výsledkom HTML, ktorý má sémantiku, ktorú robí. V dokumente HTML sa nachádzajú časti textu nazývané kotvy, ktoré sú “prepojené” s inými dokumentmi, ktoré môžu byť na vzdialených miestach v sieti alebo v systéme súborov. Dokumenty HTML poskytujú prehľadávač webového prehliadača o tom, ako sa má dokument zobrazovať a aké druhy správania sa očakáva od prehliadača, keď s ním používateľ interaguje. Špecifikácia HTML poskytuje mnoho návrhov a požiadaviek pre prehliadač a poskytuje špecifické významy pre mnoho rôznych príkladov značkovania, ako napríklad skutočnosť, že prvok <img> sa vzťahuje na obrázok, ktorý by mal byť načítaný prehliadačom a vykreslený s priľahlými Text.

Na rozdiel od HTML, XML nemá vôbec takú vlastnú sémantiku. Neexistuje predpísaná metóda na vykresľovanie dokumentov XML. Preto, čo znamená “prezerať” XML, je možné interpretovať. Napríklad dokument XML popisujúci charakteristiky časti stroja neobsahuje žiadne informácie o tom, ako by mali byť tieto informácie prezentované používateľovi. Aplikácia slúži na použitie údajov na vytvorenie obrazu časti, generovanie formátovaného textového výpisu informácií, zobrazenie označenia dokumentu XML s peknou farebnou schémou alebo reštrukturalizáciu údajov do formátu na ukladanie do databázy, prenosu Cez sieť alebo vstup do iného programu.

Avšak napriek skutočnosti, že dokumenty XML sú čisto popisné dátové súbory, je možné ich “prehliadať” v určitom zmysle tým, že ich vykresľujú so štýlmi. Šablóna so štýlmi je samostatný dokument, ktorý poskytuje rady a algoritmy na vykresľovanie alebo transformáciu údajov v dokumente XML. Používatelia HTML môžu byť oboznámení s kaskádovými štýlmi (CSS). Jazyk šablón štýlov CSS je všeobecný a dostatočne silný na to, aby bol použitý na dokumenty XML, aj keď je orientovaný na vizuálne vykresľovanie dokumentu a neumožňuje komplexné spracovanie údajov dokumentu. Priradením dokumentu XML k štýlu šablón CSS môže byť možné načítať dokument XML v webovom prehliadači, ktorý je známy v systéme CSS, a prehliadač môže byť schopný poskytnúť nejaký druh vykresľovania, aj keď prehliadač inak nevie Ako čítať a spracovávať dokumenty XML. Nie všetky webové prehliadače však načítajú dokument XML správne a nie je potrebné, aby rozpoznali značku XML, ktorá priraďuje dokument k štýlu šablón, takže nemožno predpokladať, že dokumenty XML sa dajú otvoriť len v každom webovom prehliadači.

Komplexnejším a najsilnejším jazykom šablón štýlov je XSLT, časť transformácie Extensible Stylesheet Language, ktorá sa môže použiť na transformáciu XML na iné formáty vrátane HTML, iných foriem XML a prostého textu. Ak je výsledok tejto transformácie HTML, môže sa zobraziť vo webovom prehliadači ako iný HTML dokument.

Stupeň podpory pre XML a štýly v webových prehliadačoch sa značne líši. Hoci načítanie a vykresľovanie XML v prehliadači je v niektorých prípadoch možné, nie je všeobecne podporované. Preto je veľa XML obsahu na webe preložené na HTML na serveroch. Toto generované HTML je dodávané do prehliadačov. Väčšina webových stránok spoločnosti Microsoft napríklad existuje ako XML, ktorý sa prekonvertuje na jazyk HTML za behu. Webový prehliadač nikdy nepozná rozdiel.

Pozri tiež poznámky k softvéru pre autorov a XML pre vývojárov a podrobnejší zoznam na stránkach XML na webovej stránke SGML na adrese http://xml.coverpages.org/.

2.7: Ako môžem spustiť alebo spustiť súbor XML?

Nie je zmysluplná otázka. XML je dátový formát, nie programovací jazyk.

Nemôžete a nemáte. Samotný XML nie je programovací jazyk, takže normálne dokumenty XML nie sú “spustené” alebo “vykonávať”. XML je jazyk špecifikácie značiek a súbory XML sú len údaje: sedia tam, kým nespustíte program, ktorý ich zobrazuje (napríklad prehliadač) alebo pracuje s nimi (ako konvertor, ktorý zapisuje údaje v inom formáte alebo databázu Ktorý číta údaje), alebo ich upravuje (ako editor).

Ak chcete zobraziť alebo zobraziť súbor XML, otvorte ho pomocou editora XML alebo pomocou prehliadača XML.

XSLT2 a XSL: FO
Voda je zmätená skutočnosťou, že najpopulárnejšie jazyky spracovania transformácie (XSLT2 a XSL: FO) sú skutočne napísané v XML syntaxe, pretože sú deklaratívne, nie procedurálne. V týchto špeciálnych prípadoch sa dá povedať, že spúšťate súbor XML spustením aplikácie na spracovanie, ako je Saxon, ktorá kompiluje smernice určené v súboroch do Java bytecode na spracovanie dokumentov XML. V tomto zmysle by ste ich mohli porovnať s inými programovacími jazykmi, ale porovnávali by ste jazykové zariadenia, nie syntax XML, v ktorom sú napísané.

2.8: Musím prejsť z SGML alebo HTML do XML?

Nie, ak nechcete

Nie, existujúci softvér HTML aplikácií bude pokračovať v práci s existujúcimi súbormi. Teraz je veľmi málo SGML vľavo, ale to, čo je, bude pokračovať v práci so svojím existujúcim softvérom. Ale ako pri akomkoľvek vylepšenom zariadení, ak chcete zobraziť alebo stiahnuť a používať súbory XML, budete musieť používať softvér so znalosťou XML. Oveľa viac bolo vyvinutých pre XML, než kedy bolo pre SGML, takže takmer všetko súčasné úsilie sa sústreďuje na XML (a XHTML a HTML5).

2.9: Môžem použiť XML pre bežné kancelárske aplikácie?

Áno, použite MS Office, Libre Office, Open Office, WordPerfect alebo iné.

Áno, väčšina balíčkov kancelárskych “produktivity” už to urobí a uložia ich dokumenty spolu so štýlmi, obrázkami atď. Do súboru ZIP:

  • Aplikácie Libre Office, OpenOffice a NeoOffice (Mac) ukladajú svoje súbory vo formáte XML štandardne už mnoho rokov (súbory typu .odt, .ods a .odp sú všetky súbory ZIP). Balíky sú v podstate variantné implementácie OpenOffice a všetky obsahujú textový procesor, tabuľkový procesor, prezentačný softvér a vektorový výkresový program a zdieľajú súvisiace schémy. Úradný formát dokumentu (ODF) bol prvou oficiálnou medzinárodnou normou (ISO / IEC 26300) pre kancelárske dokumenty. Všetci môžu čítať a písať súbory balíka Microsoft Office.
  • Corel WordPerfect od spoločnosti je dodávaná s plnohodnotným XML editorom už mnoho rokov (čo tiež robí plný SGML). Formátovaný výstup môže uložiť ako súbor .doc Microsoft Word, ale na formátovanie dokumentov používa vlastnú technológiu štýlov, ale nie XSLT2 alebo CSS. Môže tiež uložiť svoj vlastný (WordPerfect) formát dokumentu do XML reprezentácie.
  • AbiWord wordprocessor (všetky platformy) dokáže otvárať a upravovať dokumenty Word a OpenOffice, ale môže ich tiež uložiť do DocBook XML alebo dokonca do formátu LATEX (aj keď neposkytuje natívne úpravy XML), čo z neho robí vynikajúci konvertor.
  • Aplikácia Microsoft Office 2003 poskytla súbor “Uložiť ako… XML” do všetkých častí balíka okrem PowerPointu, ktorý používa WordML na zobrazenie vizuálneho vzhľadu dokumentu, hoci zachováva názvy štýlov, ak sa používajú.
    Office 2007, 2010 a neskôr všetci šetria natívne ako dokumenty XML (.docx, .xlsx a .pptx, ktoré sú súbory ZIP). Používajú Office Open XML (OOXML, podobné, ale nesúvisiace s WordML), čo je Microsoft ekvivalent k ODF. Ide o paralelný štandard ISO.
    Aplikácia Word 2003 dodáva so skutočným editorom XML a podporuje aj iné schémy W3C, ako aj vlastné (ale nie DTD), a taktiež poskytuje metódu na viazanie typov prvkov na štýly s názvom Word (ako skorší produkt spoločnosti Microsoft pre SGML Autor pre Word ).
  • Vyhýbajte sa balíku Microsoft Works, pretože je nekompatibilný s XML a všetkými ostatnými softvérmi balíka Office.
  • Nemám žiadne informácie o produktoch Lotus Office.

Podrobnejšie informácie nájdete v časti “Formáty súborov XML pre dokumenty balíka Office” v úvodných stránkach XML, ktoré stručne opisujú a poukazujú na ďalšie informácie o: Office GNOME, KOffice, Microsoft XDocs, OASIS TC pre formáty súborov Open Office XML, Projekt 1DOK.org, A OpenOffice.org Formát XML súborov.

Oddiel 3: Autori

(Vrátane autorov HTML a vlastníkov webových stránok)

3.1: Musím poznať HTML alebo SGML skôr, než sa dozviem XML?

Nie, ale je to užitočné.

Nepotrebujete žiadne predbežné vedomosti, ale je to užitočné, pretože veľa XML konceptov, terminológie a praxe pochádza z dvoch desaťročí ‘skúseností SGML (a systémov, ktoré predchádzali).

Uvedomte si, že “znalosť HTML” nie je to isté ako “chápanie SGML”. Napriek tomu, že bol HTML napísaný ako aplikácia SGML, prehliadače ignorujú väčšinu z toho (čo je dôvod, prečo toľko užitočných vecí nefunguje), takže len preto, že niečo v HTML prehliadačoch nie je správne, neznamená to, že je to správne SGML alebo XML.

Pre väčšinu praktických účelov nepotrebujete žiadne znalosti o SGML ani HTML: iba ak máte v úmysle preniknúť do vnútra návrhu typu dokumentu.

3.2: Ako sa v dokumentoch spracováva XML vo voľnom priestore?

Parser si to všetko udržia. Záleží len na žiadosti, aby sa rozhodlo, čo s tým bude robiť.

Všetok biely priestor, vrátane linebreakov (Mac CR, Win CR/LF, Unix LF), znaky TAB a normálne medzery, dokonca medzi “štrukturálnymi” prvkami, kde sa niekedy nemôže objaviť žiadny text, Prehliadač, formátovač, prehliadač, prevodník atď.). Analyzátor identifikuje kontext, v ktorom bol nájdený biely priestor (obsah, obsah alebo obsah zmiešaného obsahu), ak sú tieto informácie k dispozícii, napríklad z DTD alebo schémy. Znamená to, že je zodpovednosťou aplikácie rozhodnúť sa, čo robiť s takýmto priestorom, nie analyzátorom.

Toto je jedna z mála naozaj radikálnych zmien od SGML, kde celý biely priestor v obsahu prvkov bol analyzátorom vyhodený skôr, než sa dostal kdekoľvek v blízkosti aplikácie. Pozrite sa prečo? Nižšie prečo.

Existujú dva rôzne typy bieleho priestoru:

  • Nepomemben beli prostor (zavrženi beli prostor), ki se pojavi med strukturnimi elementi v vsebini elementov. To je prostor, ki se zgodi, če je dovoljeno le še en element, v katerem se besedilo nikoli ne pojavlja. Običajno ga avtor samodejno vstavi v urejevalnik ali ročno, da vam pomaga z vidno jasnostjo oznake in pogosto nima nič opraviti s presledki, ki se pojavijo pri obdelavi ali formatiranju dokumenta. V XML-u se ta prostor prenese v aplikacijo (v SGML-ju je zatrpan, zato lahko vse stare prostor stisnete v stare HTML dokumente in vam jih ni treba skrbeti);
  • Pomemben prazen prostor , ki se pojavi v element, ki lahko vsebuje le besedila (podatki o vsebini vsebin, kot so ime HTML  naslova ) ali oznako z besedilom in mešani (npr. Odstavek). V XML-u se ta prostor še vedno prenese v aplikacijo točno tako kot v SGML.

V obeh primerih je aplikacija odgovorna za pravilno ravnanje s prostorom (na primer, XSLT2 nudi navodila za strip-space, ki določa, kako naj delajo z njim). Analizator mora zato obvestiti aplikacijo, da je v vsebini elementa prazen prostor, če se lahko ugotovi, da je zavržen. (Uporabniki SGML priznavajo, da ti podatki niso v ESIS-u, ampak so v Groveju.)

 
<Poglavje> 
  <Naslov> 
   Moj naslov za
   Poglavje 1. 
  </ Naslov> 
    <Para> 
besedilo 
    </ Para> 
</ Poglavje>

V zgornjem primeru bo aplikacija prejela vse vrstice vrstic, TAB in presledke med elementi in tiste, ki so vdelane v naslov poglavja. Funkcija aplikacije, ne analizatorja, je določiti, katero vrsto prostora je treba zavreči in jo ohraniti. Veliko XML aplikacij ima nastavljive možnosti, ki programerjem ali uporabnikom omogočajo nadzor nad tem, kako ravnati s takim belim prostorom.

Peter Flynn piše:

Zakaj?
V SGML je vedno potreben DTD. Zato analizator vedno vnaprej ve, ali je v vsebini elementov prazen prostor (in ga je zato mogoče zavreči), ali v mešani vsebini ali značilnostih (kjer ga je treba obdržati). XML omogoča obdelavo brez DTD ali sheme, kjer ne bi bilo mogoče reči, ali bi bil prostor zavržen ali ne, zato je bilo splošno pravilo, da je treba v prazno mesto prijaviti prijavo.

3.3: Kateri deli dokumenta XML so občutljivi na velike ali male črke?

Vse, blagovna znamka in besedilo.

V celom dokumente XML sa rozlišujú veľké a malé písmená. To je výrazne odlišné od HTML a väčšiny ostatných aplikácií SGML, kde sa predvolená hodnota ignorovala. Bolo to vykonané tak, aby umožňovalo značkovanie v jazykoch, ktoré nie sú v latinčine, a aby sa predišlo problémom pri skladaní skríningových systémov, ktoré sú vo svojej podstate bezobraté.

Názvy typov prvkov rozlišujú veľké a malé písmená: musíte ich sledovať akoukoľvek kombináciou veľkého alebo malého písmena, ktoré používate na ich definovanie (buď podľa prvého použitia, alebo podľa DTD alebo schémy). Takže nemôžete povedať <BODY></body>: veľké a malé písmená sa musia zhodovať; Takže <Img/>, <IMG/> a <img/> sú tri rôzne typy prvkov;

Pre dobre vytvorené dokumenty XML bez DTD prvý výskyt názvu typu prvku definuje kryt;

Názvy atribútov tiež rozlišujú veľké a malé písmená, napríklad dva atribúty šírky v <PIC width=”7in”/> a <PIC WIDTH=”6in”/> (ak sa vyskytli v tom istom súbore) sú samostatné atribúty iný prípad width a WIDTH;

Hodnoty atribútov tiež rozlišujú veľké a malé písmená. Hodnoty CDATA (napr. xlink:href=”MyFile.SGML”) boli vždy, ale typy NAME (atribúty ID a IDREF a atribúty zoznamu tokenov) sú teraz aj rozlišujúce malé a veľké písmená;

Všetky názvy všeobecných názvov a parametrov (napr. &Aacute;) a váš dátový obsah (text) rozlišujú malé a veľké písmená ako vždy.

3.4: Ako môžem previesť svoje informácie do formátu XML?

Napíšte alebo použite konvertor v jazyku, ktorý rozumie XML

Ak má formát zdrojového súboru nejakú konzistentnú a rozpoznateľnú štruktúru, dokonca aj jednoduché prerušenie riadkov alebo medzery, je zvyčajne možné písať rutiny zodpovedajúce vzoru v mnohých jazykoch, aby ste izolovali informácie, ktoré spadajú do takýchto vzorov, a vytlačte ich pomocou značiek okolo nich.

XSLT2 má syntax zodpovedajúci vzorom na vykonanie presne tohto typu “up-conversion” a iné procesory ako Omnimark ponúkajú podobné funkcie. Takéto konverzie môžu tiež vytvoriť dočasný “polovičný” formát, na ktorý sa použije druhá konverzia na vytvorenie konečného formátu XML.

Ak sú zdrojové súbory v známom formáte (napríklad CSV), existujú existujúce rutiny k dispozícii na prevzatie alebo nákup, ktoré môžu vytvoriť formát XML. Druhá konverzia typu XML na XML môže byť použitá na vytvorenie konečného požadovaného formátu.

Systémy na správu databáz môžu mať vstavané rutiny “export-to-XML”, ktoré môžu vytvoriť podobný “polovičný” formát pre následnú konverziu (pozri príklad Ako získať XML do alebo mimo moju databázu?).

Ak sú informácie úplne neformátované, alebo sú tak zle alebo nekonzistentne formátované, že automatická konverzia nie je možná, bude potrebné ich upraviť ručne do formátu XML. Dokumenty Wordprocessor sú klasickým príkladom toho. Existujú spoločnosti, ktoré sa špecializujú na tento druh práce, najmä v oblasti Pacifiku, ktorí majú dlhoročné skúsenosti s obchodovaním so všetkými druhmi divných a skvelých formátov a posielajú vám plnohodnotný XML.

Dva formáty, ktoré sa často vyžadujú ako zdroje, sú lepšie podporované:

LATEX
Správne vytvorené dokumenty LATEX (tie, ktoré nepoužívajú makrá homebrew, najmä tie, ktoré používajú jednoduché TEX alebo zastarané príkazy) je možné previesť pomocou balíka TEX4ht. V čase písania (2015) to nie je podporované od predčasného úmrtia jeho autora, ale je plne funkčné.

TEX4ht môže konvertovať na HTML a ODF (OpenOffice formát) rôznymi spôsobmi, takže výsledný súbor môže byť ľahko otvorený v OpenOffice a uložený ako súbor .docx. Existujú možnosti príkazového riadku pre program oowriter (alebo lowriter, ak používate Libre Office), ktoré umožňujú hromadnú konverziu v súbore.

Ďalšie zariadenia sú k dispozícii v niektorých redaktoroch a on-line službách (napríklad blogy a fóra, ktoré podporujú formáty LATEX na webových stránkach). Tiež sa môžu použiť na konverziu.

Microsoft Word
Súbory programu Word (.docx) sú súbory Zip obsahujúce dokumenty XML spolu s priradenými obrázkami a štýlmi. Dokumenty programu Word štandardne obsahujú iba odseky (w: p prvky). Všetky metadáta o štruktúre dokumentov sú poskytované ako informácie o písme a rozstupoch, ktoré môže spoľahlivo interpretovať iba človek, čo mimoriadne sťažuje zmysluplnú konverziu.

Avšak ak sú použité štýly (z vstavaného menu štýlov alebo vytvorené autorom) sústavne používané, je možné napísať skript XSLT2, ktorý im vyhovuje a vygenerovať viac použiteľnú značku XML.

Niektorí redaktori (napr. XMLMind, AbiWord) a ostatné systémy teraz poskytujú konverziu z programu Word do čisto vizuálneho (HTML) formátu, napodobňujúceho vzhľad originálu a “sémantického” slovníka ako DocBook alebo DITA bez formátovania.

Trasa XSLT2 sa vzťahuje aj na OpenOffice/LibreOffice, ktorá tiež ukladá XML do súboru Zip. Značka je odlišná, ale môže byť premenená na rovnakých líniách.

3.5: Ako môžem vytvoriť súbory HTML v XML?

Buď z nich vytvorte XHTML/HTML5, alebo použite iný typ dokumentu.

Buď ich preveďte tak, aby sa zhodovali s novým typom dokumentu (s alebo bez DTD alebo schémy) a napíšte si štýl s nimi; Alebo upraviť ich podľa XHTML alebo HTML5.

Možno budete musieť previesť existujúce súbory HTML, pretože XML neumožňuje minimalizáciu koncových značiek (chýbajúcich </ p> atď.), Hodnoty atribútov nekótovaných a množstvo ďalších skratiek SGML, ktoré sa bežne používajú v jazyku HTML. Mnoho nástrojov na tvorbu obsahu HTML už vytvára takmer (ale nie úplne) dobre vytvorený formát XML tým, že sa ubezpečuje, že sú použité koncové značky, hodnoty atribútov sú uvedené atď. – mnohé z nich však nie.

Možno budete môcť previesť HTML na XHTML pomocou programu HTML Tidy programu Dave Raggett (verzia HTML5 tiež existuje), ktorá môže vyčistiť niektoré z hrozných neporiadok pseudo-značkovania, ktoré zostali nespoľahlivými editormi HTML a dokonca oddeliť niektoré Formátovanie do štýlu šablón, ale zvyčajne je tu ešte nejaká ručná úprava.

Väčšina moderných programov pre tvorbu webových stránok, vrátane DreamWeaveru, stále nevyrába nič podobného dobre vytvoreného HTML, a to hlavne preto, že sú určené na to, aby stránky vyzerali pekne, namiesto toho, aby získali správne označenie. Použitie webového dizajnového programu a jeho stránok HTML ako jediného úložiska vašich informácií môže byť nebezpečnou a nákladnou chybou. Ak pracujete naopak, získate najprv informácie o dizajne informácií v XML a potom ho exportujete do dizajnu stránok vytvoreného pomocou webového dizajnu, je pravdepodobne menej dôležité, že HTML je neporiadok, pretože prehliadače sú Veľmi odpúšťajúci.

Prevod platného jazyka HTML na XHTML
Ak sú vaše súbory HTML platné (plné formálne overenie pomocou analyzátora SGML proti jednému z publikovaných DTD, nie len jednoduchú kontrolu syntaxe), skúste ich overiť ako XHTML pomocou analyzátora XML. Ak ste vytvárali čistý formát HTML bez zabudovaného formátovania, tento proces by mal vykresliť len chyby v názvoch prvkov a atribútov hornej / malých písmen a prvky EMPTY ako img a akékoľvek názvy neštandardných typov prvkov, ak ich použijete. Jednoduchá úprava rukou alebo krátky skript by mal stačiť na to, aby opravil tieto zmeny.

Ak váš HTML platne používa vynechanie koncových značiek a neurčené atribúty, môže to byť automaticky vyriešené normalizačným programom, ako je sgmlnorm (z balíka OpenSP, ktorý je súčasťou OpenJade), alebo funkciou sgml-normalize v editore ako Emacs/Psgml (nenechajte sa odkladať menami, obaja robia XML).

Ak máte veľa platných súborov HTML, môžete napísať skript, ktorý to urobíte v programovacom jazyku, ktorý rozumie značke SGML (napr. Omnimark, SGMLC alebo jeden z populárnych skriptovacích jazykov (napr. Perl, Python, Tcl atď. , Pomocou ich knižníc SGML/XML); Alebo môžete dokonca použiť makrá editora, ak viete, čo robíte.

Ak je váš kód HTML neplatný alebo zle vytvorený, skúste program HTML Tidy uvedený vyššie. Ak sa tým neodstráni, obávam sa, že budete musieť napísať niečo špeciálne pomocou nižšie uvedeného postupu, alebo to urobíte všetkými úpravami rukou alebo kopírovaním a vložením z prehliadača.

Konverzia na nový typ dokumentu
Ak chcete svoje súbory presunúť mimo HTML do iného DTD, existuje veľa natívnych XML priemyselných DTD a modulárne XML verzie populárnych DTD ako TEI (literárne, historické a jazykové dokumenty) a DocBook (počítačová dokumentácia) alebo DITA (Technická dokumentácia) na výber. Existovalo niekoľko lokalít na výmenu nových XML DTD, ale nové sú teraz zriedkavé.

Môžete samozrejme vytvoriť vlastnú značku: ak to dáva zmysel a vytvoríte dobre vytvorený súbor, mali by ste byť schopní napísať šablónu štýlov CSS alebo XSLT a zobraziť dokument v prehliadači.

Konverzia neplatného kódu HTML na dobre vytvorenú XHTML
Ak sú vaše súbory neplatné v jazyku HTML (95% webu), môžu byť premenené na dobre vytvorené súbory DTDless takto:

  1. Nahradiť akúkoľvek Deklaráciu DOCTYPE s deklaráciou XML <?xml version = “1.0” encoding = “UTF-8″?> (Alebo použitím príslušného kódovania znakov).

  2. Ak neexistuje žiadna deklarácia DOCTYPE, len predbežne deklarujte XML. Či tak alebo onak, Deklarácia XML, ak je použitá, musí byť riadok 1 dokumentu.

  3. Zmeňte všetky prvky EMPTY (napr. Všetky BASE, ISINDEX, LINK, META, NEXTID a RANGE v hlavičke a všetky AREA, ATOPARA, AUDIOSCOPE, BASEFONT, BR, CHOOSE, COL, FRAME, HR, IMG, KEYGEN, LEFT, LIMITTEXT, TAB a WBR v dokumente), aby sa skončili s /> namiesto toho, napríklad <img src=”mypic.gif” alt=”Obrázok” /> ;

  4. Vytvorte malé mená všetkých typov prvkov a názvov atribútov;

  5. Uistite sa, že pre všetky prvky bez EMPTY sú správne zhodné explicitné koncové značky. Napr. Každý <para> musí mať </para> atď;

  6. Vynechať všetky znaky a & non-markup (tj doslovný text) ako &lt; a &amp; (Nemalo by to byť žiadne izolované < znaky, ktoré by ste mohli začať)!

  7. Uistite sa, že všetky hodnoty atribútov sú v porovnateľných úvodzovkách (hodnoty s vloženými jednoduchými úvodzovkami musia byť v dvojitých úvodzovkách a naopak – ak potrebujete oba, použite &quot; odkaz na znakovú entitu);

  8. Uistite sa, že všetky URI skriptov, ktoré majú & ako oddeľovač polí, sú zmenené tak, aby používali &amp; alebo namiesto toho bodkočiarka.

  9. Uistite sa, že všetky skripty (napr. Javascript), ktoré majú < alebo & znaky (matematické menej ako testy a Booleovské AND podmienky) sú uvedené buď ako CDATA označené sekcie, alebo (ak ich procesorové prehliadače akceptujú) &lt; a &amp;  alebo bodkočiarkou.

Uvedomte si, že niektoré zastarané prehliadače HTML nemusia prijímať prvky EMPTY vo formáte XML s koncovým lomítkom, takže vyššie uvedené zmeny nemusia byť spätne kompatibilné. Alternatívou je pridanie fiktívnej koncovej značky ku všetkým prvkom EMPTY, takže <img src=”foo.gif” /> sa stáva <img src = “foo.gif”></img>. Je to platný XML, ale musíte zaručiť, že nikto z nich nebude obsahovať žiadny obsah textu. Pridanie medzery pred koncovým lomítkom v prvkoch EMPTY (napr. <img src=”foo.gif” />) môže tiež zabrániť starším prehliadačom prijímať XHTML ako HTML.

Ak musíte odpovedať Áno na niektorú z otázok uvedených v kontrolnom zozname pre neplatný kód HTML nižšie, môžete ušetriť veľa zármutku tým, že najskôr vyriešite tieto problémy predtým, ako urobíte čokoľvek iné. Pravdepodobne budete mať veľmi blízko k vytvoreniu dobre vytvorených súborov.

Označenie, ktoré je syntakticky správne, ale sémanticky bezvýznamné alebo neplatné, by sa malo upraviť pred konverziou. Príklady sú falošné oddeľovacie zariadenia, ako sú opakované prázdne odseky alebo linebreaks, prázdne tabuľky, neviditeľné medzery GIF atď. XML používa šablóny so štýlmi a CSS3 znamená, že nebudete potrebovať žiadne z nich.

Bohužiaľ je veľa práce urobiť, ak sú vaše súbory neplatné: to je dôvod, prečo mnohí webmasteri teraz trvajú na tom, že sa používajú iba platné alebo dobre vytvorené súbory (a prečo by ste mali inštruovať svojich dizajnérov, aby urobili to isté), aby Vyhnúť sa zbytočnej ručnej údržbe a nákladom na konverziu neskôr.

Kontrolný zoznam pre neplatný kód HTML
Ak sú vaše HTML súbory zaradené do tejto kategórie (HTML vytvorené väčšinou WYSIWYG editorov je zvyčajne neplatné), potom budú takmer určite musieť byť manuálne konvertované, aj keď sú deformity pravidelné a starostlivo skonštruované, súbory môžu byť skoro dobre vytvorené, A môžete napísať program alebo skript, ako urobiť vyššie. Medzi zvláštnosti, ktoré možno budete musieť skontrolovať, patria:

    • Sú súbory obsahujú chyby syntaxe značiek? Napríklad na koncových štítkoch chýbajú uhlové zátvorke, namiesto lomítok vpred, alebo prvky, ktoré nesprávne zapadnú (napr. <B> začínajú <I>vnútri jedného prvku</ B>, ale končia mimo nej</I>)?
    • Existujú prvky s chýbajúcimi koncovými značkami, ktoré nemožno odvodiť (napr.) Sgmlnorm?
    • Existujú nejaké URI (napr. v hrefs alebo srcs), ktoré používajú spätné lomky typu Microsoft Windows namiesto normálnych lomítok?
    • Sú súbory obsahujúce značkovanie, ktoré je v rozpore s HTML DTD, ako napríklad nadpisy alebo zoznamy v odsekoch, položky zoznamu mimo prostredia zoznamov, prvky hlavičky ako base pred prvým html atď? (Iný nedbalý editor trik)
    • Sú súbory používajú imaginárne prvky, ktoré nie sú v žiadnom známej HTML DTD? (Veľké množstvo z nich sa používa v proprietárnych značkovacích systémoch maskovaných ako HTML). Hoci je to ľahké premeniť na dobre vytvorený súbor DTDless (pretože nemusíte definovať prvky vopred), väčšina patentov alebo rozšírení špecifických pre prehliadač neboli nikdy formálne definované, takže je často nemožné zmysluplne spracovať, kde Môžu byť použité typy prvkov.
    • Existujú v súboroch neplatné znaky (iné ako XML)? Pozrite sa najmä na natívne Apple Mac Roman-8 znakov zanechané nedbalými dizajnérmi; Ľubovoľný z nelegálnych znakov Windows (32 znakov v desiatkových kódoch 128-159 vrátane) vložených editormi spoločnosti Microsoft; A akékoľvek riadiace znaky ASCII 0-31 (s výnimkou tých, ktoré sú povolené ako TAB, CR a LF). Tieto musia byť prevedené na správne znaky v UTF-8 (alebo čokoľvek používate).
    • Sú vaše súbory obsahujúce neplatné komentáre (starý štýl Mozaika/Netscape)? Komentáre musia vyzerať
      <!-- like this -->

      S dvojitými čiarkami na každom konci a žiadne iné dvojité (hlavne nie viac) pomlčky medzi nimi.

3.6: Ako konvertujem XML na iné formáty súborov?

Napíšte konverziu v jazyku, ktorý rozumie XML

Napriek tomu, že je možné napísať konverzné rutiny vynájdením vlastného analyzátora XML, neodporúča sa to okrem cvičenia pre študentov výpočtovej techniky. Všetky hlavné jazyky majú knižnice XML, ktoré robia všetko ťažké zdvíhanie analýzy (a ak je to potrebné, overovanie).

Potrebujete vedieť, čo je v dokumente XML pred štartom: neexistuje žiadna magická hůlka, ktorá automaticky odvodí, čo to znamená a kde sa nachádza v súbore. Ak ste dostali nejaké súbory XML mimo modrej, budete musieť ísť a nájsť tvorcu alebo nejakú dokumentáciu o nich. Prvé 2-3 riadky súboru môžu obsahovať stopu o tom, aký typ XML sú. Budete takmer určite potrebovať kópiu DTD alebo schémy, do ktorej boli súbory vytvorené.

Možnosti programovania sú:

  • Použite jazyk určený pre danú úlohu. XSLT2 má od začiatku všetky možnosti na spracovanie XML a samostatné procesory sú k dispozícii pre všetky platformy. Mnoho redaktorov XML má zabudovanú kópiu XSLT (XSLT2, dúfajme), takže ponúkajú integrované vývojové prostredie na úpravu a konverziu. Konverzia XSLT2 môže tiež bežať v serverových balíkoch, ako je Apache Cocoon.
  • Použite balík na spracovanie XML alebo pipeline. Jedná sa o (zvyčajne) komerčné produkty, ktoré poskytujú rozsiahlu správu dokumentov, databázu dokumentov a funkcie pre prevod a editáciu dokumentov, často ako súčasť omnoho väčšieho podnikového informačného riešenia pomocou XSLT2 alebo vlastných vlastných systémov. Dve obľúbené sú MarkLogic a OmniMark.
  • Pre dáta použite konverzný systém, ktorý nevyžaduje písanie kódu: Flexter je príklad jedného s grafickým rozhraním pre mapovanie zdrojových prvkov (XML) do cieľových polí (niekoľko formátov). Zatiaľ čo tento prístup nie je vhodný pre XML dokumentov (knihy, články atď.), Poskytuje užitočnú metódu tabuľkového XML typu dát s ľubovoľnou zložitosťou.
  • Použite konvenčný kompilovateľný jazyk. Java alebo C (alebo jedna z mnohých variantov ++/♯) by boli bežné; Pascal, FORTRAN alebo COBOL sú v týchto dňoch zriedkavé, ale pre nich existujú aj knižnice XML). BASIC, niekto?
  • Použite skriptovací jazyk. Perl, Python, Tcl, VBscript, alebo dokonca Powershell sú všetky populárne a knižnice XML pre nich existujú; Pythonové majú vynikajúcu reputáciu.
  • Kombinujte pomôcky XML so štandardnými pomocnými nástrojmi pre shell. Tu je skorý príklad rutiny XML-to-CSV, ktorá používa onsgmls na odhalenie ESIS a awk ju preformátovať. Podobné procesy je možné vyvíjať pomocou súboru nástrojov LTXML2.
  • K dispozícii sú programy na stiahnutie (niekedy bezplatné), ktoré tvrdia, že sú “ľahké” prevodníky XML. Redaktor by rád počul odporúčania alebo varovania ☺.

Proces prevodu XML do iných formátov sa niekedy označuje ako “konverzia dole”, pretože môže zahŕňať nevyhnutnú stratu informácií (zvyčajne metadáta), keď cieľový formát jednoducho nemá spôsob, ako ho reprezentovať.

3.7: Ak je XML len podmnožinou SGML, môžem použiť svoje existujúce nástroje SGML?

Áno, ak sú aktuálne

Áno, za predpokladu, že používate aktuálny SGML softvér, ktorý vie o WebSGML Adaptations TC podľa ISO 8879 (funkcie potrebné na podporu XML, ako je variantná forma pre prvky EMPTY, niektoré aspekty vyhlásenia SGML ako NAMECASE GENERAL NO , Deklarácie zoznamu atribútov viacerých atribútov atď.).

Alternatívou je použitie SGML DTD, ktoré vám umožní vytvoriť úplne normalizovaný SGML súbor, ale ten, ktorý nepoužíva prázdne prvky; A potom odstráňte deklaráciu DocType tak, aby sa stala dobre vytvoreným XML súborom DTDless. Väčšina nástrojov SGML momentálne spracováva súbory XML a poskytuje možnosť prepínania medzi týmito dvoma normami. (Pozri ukazovatele v programe Aký softvér XML je k dispozícii?).

Ak neexistujú veľmi špeciálne dôvody, pravdepodobne by ste mali naplánovať presun SGML na XML.

3.8: Som zvyknutý na tvorbu a zobrazovanie HTML. Môžem sa ľahko naučiť XML?

Áno

Veľmi ľahko, ale aj po takmer 20 rokoch stále existuje potreba ďalších návodov, jednoduchších nástrojov a otvorenejších príkladov dokumentov XML. “Dobre formované” dokumenty XML môžu vyzerať podobne ako HTML, s výnimkou niektorých malých, ale veľmi dôležitých syntaxových bodov.

Veľký praktický rozdiel je, že XML sa musí držať pravidiel. HTML prehliadače umožňujú im slúžiť dokonca aj smrteľne rozbité alebo smiešne poškodené HTML, pretože nerobia formálne analýzy, ale len skrutkujú všetky zlomené bity. S XML musia byť vaše súbory úplne správne alebo jednoducho nebudú fungovať. Jedným z najdôležitejších problémov je, že niektoré prehliadače, ktoré tvrdia, že súhlasia s formátom XML, sú tiež narušené a podpora niektorých prehliadačov v oblasti spracovania XSLT a štýlu CSS je naďalej pochybná. Vyskúšajte svoje na zozname skutočných webových stránok hotela.

3.9: Môže XML používať znaky, ktoré nie sú latinky?

Áno, toto je predvolené

Áno, Špecifikácia XML explicitne hovorí, že XML používa ISO 10646, medzinárodný štandardný repertoár, ktorý pokrýva väčšinu známych jazykov. Unicode je totožný repertoár a obe normy sa navzájom sledujú. Špecifikácia hovorí (2.2): “Všetky procesory XML musia prijímať kódovanie UTF-8 a UTF-16 podľa ISO 10646…”. Na stránkach http://www.unicode.org/faq/ nájdete Unicode FAQ a príklad rozsahu abecedy a symbolov na stránke http://www.cogsci.ed.ac.uk/~richard/unicode-sample- 3-2.html.

Zatiaľ čo softvér XML vám môže umožniť zadanie ľubovoľného znaku Unicode do dokumentu, čitatelia môžu vidieť iba znaky, ak majú svoj počítač vhodné písmo! Nie všetky písma a fonty majú celý repertoár Unicode (tie, ktoré robia, sú obrovské).

UTF-8 je kódovanie Unicode na 8-bitové znaky: prvé 128 sú rovnaké ako ASCII a znaky vyššieho rádu sa používajú na kódovanie niečoho iného z Unicode do sekvencií medzi 2 a 6 bajtami. UTF-8 vo svojej jednokontejovej podobe je teda rovnaký ako ISO 646 IRV (ASCII), takže môžete pokračovať v používaní jazyka ASCII pre anglický alebo iný jazyk pomocou latinskej abecedy bez diakritiky (akcenty). Všimnite si, že UTF-8 nie je kompatibilný s ISO 8859-1 (ISO Latin-1) po kódovom bode 127 desatinné (koniec ASCII).

UTF-16 je kódovanie Unicode do 16-bitových znakov, čo mu umožňuje reprezentovať 16 rovin. UTF-16 je nekompatibilný s ASCII, pretože používa dva 8 bitové bajty na jeden znak (štyri bity nad U + FFFF).

Peter Flynn píše:

Špecifikácia kódovania sa môže vzťahovať na ľubovoľnú znakovú sadu, ktorú váš softvér podporuje, ale Špecifikácia XML vyžaduje, aby aplikácie podporovali UTF-8 a UTF-16. Niektoré spoločné kódovania podporované softvérom zahŕňajú:

US-ASCII
Znaky TAB, LF, CR, medzery a tlačiteľné znaky 33 až 126 (len desatinné miesta) (všetky ostatné riadiace znaky sú zakázané XML).

ISO-8859-1
(Západoeurópska latinka-1) Ako ASCII plus kódy 128 až 255 (desatinné). Zahŕňa väčšinu (ale nie všetky) západoeurópske písmená s diakritikou.

ISO-8859-2 až 15
Tieto ďalšie roviny ISO-8859 pokrývajú zostávajúce a rôzne súbory latinských abecedných a iných symbolov.

“Kódy stránok” a iných zastaraných súborov
Niektorý softvér môže tiež podporovať rôzne zastarané “kódové stránky”, ako sú napríklad IBM-850, Microsoft Windows-1252, Apple Macintosh Roman-8, DEC Multinational a iné neštandardné kódovanie znakov, ale tieto sú všeobecne neprenosné a treba sa im vyhnúť je to možné.

Jednou z bežných postupov v západnej Európe je použitie ISO-8859-1, takže väčšina bežných písmen s diakritikou môže byť použitá ako samostatné bajty a používať referencie entity znakov alebo číselné entity pre všetky ostatné znaky. To má tú výhodu, že takéto súbory je možné otvoriť takmer v každom jednom bajtovom editore. Nevýhodou je, že číselné entity nie sú mnemotechnické a znakové entity sa musia deklarovať v DTD alebo internej podskupine, ale ak sú zriedkavé, nemusí to byť vážny problém.

Bertilo Wennergren píše:

UTF-16 je kódovanie, ktoré predstavuje každý znak Unicode prvej roviny (prvých 64 kB znakov) Unicode s 16-bitovou jednotkou – v praxi s dvoma bajtami pre každý znak. Preto je spätne kompatibilný s ASCII ani latinou-1. UTF-16 môže získať ďalší 1 milión znakov mechanizmom známym ako náhradné páry (dve 16-bitové jednotky pre každý znak).

“…mechanizmy signalizácie toho, ktorý z nich sa používa, a začlenenie iných kódov do hry, sú […] v diskusii o kódovaní znakov.” Špecifikácia XML vysvetľuje, ako špecifikovať vo vašom súbore XML, ktorý kódovaný znak vám Ktoré používate.

“Bez ohľadu na použité špecifické kódovanie môže byť ľubovoľný znak v znakovej sade ISO 10646 označený desiatkovým alebo hexadecimálnym ekvivalentom jeho reťazca bitov”: bez ohľadu na to, ktorú osobnú sadu používate, môžete stále odkazovať na konkrétne jednotlivé znaky Odkiaľkoľvek v kódovanom repertoári pomocou &#dddd; (Desiatkový znak) alebo &#xHHHH; (Hexadecimálny znak, veľké písmená). Terminológia môže byť mätúca, rovnako ako čísla: pozrite si ISO 10646 Concept Dictionary. Rick Jelliffe má vo formáte XML znakovú sadu znakov XML. Informácie o kódovaní od Mikeho Browna na adrese http://skew.org/xml/tutorial/ sú veľmi užitočným vysvetlením potreby správneho kódovania. Na serveri Estónskeho jazykového inštitútu nájdete na http://www.eki.ee/letter/ vynikajúcu online databázu glyfov a znakov v mnohých kódoch.

3.10: Čo je to DTD a kde to mám?

Špecifikácia štruktúry dokumentu. Môžete si ich napísať alebo stiahnuť.

DTD je opis v syntaxe Deklarácie XML konkrétneho typu alebo triedy dokumentu. Stanovuje sa, aké názvy sa majú používať pre rôzne typy prvkov, kde sa môžu vyskytnúť a ako sa všetci zhodujú. Schéma robí to isté v syntaxe XML dokumentov, takže ju možno prečítať ako samotný dokument XML. A schémy umožňujú rozsiahlejšie zadávanie údajov.

Ak napríklad chcete, aby typ dokumentu dokázal opísať zoznamy, ktoré obsahujú položky, príslušná časť vášho DTD môže obsahovať niečo také:

<!ELEMENT List (Item)+> 
<!ELEMENT Item (#PCDATA)> 

Toto definuje zoznam ako typ prvku obsahujúci jednu alebo viac položiek (to je znamienko plus); A definuje položky ako typy prvkov obsahujúce iba text (Parsed Character Data alebo PCDATA). Validátori si prečítajú DTD skôr, ako si prečítajú dokument, aby zistili, kde má každý typ prvku prísť, čo môže obsahovať a ako sa každý vzťahuje k druhému, aby aplikácie, ktoré to musia vopred vedieť (procesory, prehliadače, Editorov, vyhľadávacích nástrojov, navigátorov a databáz) sa môžu správne nastaviť. Vyššie uvedený príklad vám umožňuje vytvoriť zoznamy, ako sú tieto:

<List>
  <Item>Chocolate</Item>
  <Item>Music</Item>
  <Item>Surfing</Item>
</List> 

Ako je vysvetlené v článku Ako XML spracováva biele priestory v mojich dokumentoch?, Odsadenie v príklade slúži iba na čitateľnosť pri úprave: XML to nevyžaduje. Rovnako ľahko by bolo možné napísať takto:

<List><Item>Chocolate</Item><Item>Music</Item><Item>Surfing</Item></List>

DTD preto poskytuje aplikáciám predbežné oznámenie o tom, aké názvy a štruktúry je možné použiť v konkrétnom type dokumentu. Použitie DTD a validujúceho editora znamená, že si môžete byť istí, že všetky dokumenty tohto konkrétneho typu budú konštruované a pomenované konzistentným spôsobom.

DTD nie sú potrebné na spracovanie dobre vytvarovaných dokumentov, ale sú potrebné, ak chcete využiť špeciálne typy atribútov XML, ako je zabudovaný ID/IDREF krížový odkaz; Alebo použitie predvolených hodnôt atribútov; Alebo odkazy na externé súbory iné ako XML (“Notácie”), ako sú obrázky; Alebo ak chcete jednoducho skontrolovať platnosť dokumentu pred spracovaním.

Existujú tisíce DTD, ktoré už existujú vo všetkých druhoch oblastí (pozri obálky SGML / XML pre ukazovatele). Mnohé z nich môžu byť stiahnuté a použité voľne, niektoré sú však obmedzené na určité odvetvia alebo sú chránené. Ale môžete si tiež napísať svoju vlastnú (pozri otázku týkajúcu sa vytvorenia vlastného DTD: Staré SGML DTD je potrebné konvertovať na XML pre použitie s XML systémami: prečítajte si otázku prevodu SGML DTD na XML, ale najpopulárnejšie SGML DTD sú už k dispozícii Vo forme XML.

Niektorí redaktori XML používajú binárny kompilovaný formát DTD vytvorený vlastnými riadiacimi postupmi, aby umožnili jednotlivým osobám v organizácii, aby boli zodpovední za modifikácie a distribuovali používateľom iba nezmodifikovateľnú (binárnu kompilovanú) verziu.

Alternatívy k DTD sú rôzne formy schémy. Tieto funkcie poskytujú rozsiahlejšie funkcie overovania ako DTD vrátane overenia obsahu znakových údajov.

3.11: Umožňuje XML vytvoriť vlastné značky?

Áno, ale nie sú nazývané značky. Sú to typy prvkov.

XML umožňuje vytvárať názvy pre vlastné typy prvkov. Ak si myslíte, že značky a prvky sú to isté, máte už značné problémy: pozorne prečítajte zvyšok tejto otázky.

To isté platí aj vtedy, keď myslíte na “polia” (pozrite si časť Ako môžem dostať XML do alebo mimo moju databázu?). Nesprávna paradigma, nesprávny jazyk.

Bob DuCharme píše:

Nezmiešajte pojem “tag” s pojmom “element”. Nie sú vzájomne zameniteľné. Prvok zvyčajne obsahuje dva rôzne typy značky: štartovaciu značku a koncovú značku s textom alebo viacerými značkami.

XML vám umožňuje rozhodnúť, ktoré prvky chcete v dokumente a potom označiť hranice vašich prvkov pomocou vhodných štartovacích a koncových značiek pre tieto prvky. Každé vyhlásenie <!ELEMENT… definuje typ prvku, ktorý sa môže použiť v dokumente zodpovedajúcom danému DTD. Tento typ prvku nazývame “typ prvku”. Rovnako ako HTML DTD obsahuje typy H1 a P prvkov, váš dokument môže mať typy color alebo price prvkov alebo čokoľvek iné, ktoré chcete.

Normálne prvky (ktoré nie sú prázdne) pozostávajú zo štartovacej značky, obsahu prvku a koncovej značky. <color>red</color> je úplná inštancia color prvku. <color> je iba začiatočná značka prvku, ktorá ukazuje, kde začína; nie je to samotný prvok.

Prázdne prvky sú špeciálny prípad, ktorý môže byť zastúpený ako dvojica štartovacích a koncových značiek bez toho, aby medzi nimi existovali (napr. <price retail=”123″></price>) alebo ako štartovací tag Má uzavieraciu lomku, aby povedal analytikovi, “nehľadajte koncovú značku, ktorá by zodpovedala tomuto” (napr. <price retail=”123″/>).

3.12: Ako vytvorím svoj vlastný typ dokumentu?

Analyzujte triedu dokumentov a napíšte DTD alebo schému

Typy dokumentov zvyčajne potrebujú formálny popis, buď DTD alebo schému. Zatiaľ čo je možné spracovať dobre vytvorené dokumenty XML bez takéhoto popisu, snažia sa ich vytvoriť bez toho, aby ste žiadali nejaké problémy. DTD alebo schéma sa používa s editorom XML alebo rozhraním rozhrania API na usmerňovanie a riadenie konštrukcie dokumentu, pričom sa uistite, že správne prvky idú na správnych miestach.

Vytvorenie vlastného typu dokumentu preto začína analýzou triedy dokumentov, ktoré chcete kódovať: správy, faktúry, listy, konfiguračné súbory, žiadosti o overenie kreditnej karty, romány, hry, diela alebo čokoľvek iné. Akonáhle je štruktúra správna, napíšete kód, aby ste to vyjadrili formálne pomocou syntaxe DTD alebo Schema.

Ak chcete vytvoriť DTD, musíte sa naučiť Syntax XML Deklarácie (veľmi jednoduché: deklarácia kľúčových slov začína skôr ako <! skôr ako iba otvorený uholník a spôsob, akým sa deklarácie vytvárajú, sa tiež mierne líši). Tu je príklad DTD pre nákupný zoznam na základe fragmentu, ktorý ste použili predtým:

<!ELEMENT Shopping-List (Item)+>
<!ELEMENT Item (#PCDATA)>

Hovorí sa, že sa musí nachádzať prvok s názvom Shopping-List a musí obsahovať prvky nazývané Item: musí existovať aspoň jedna položka (to je znamienko plus), ale môže to byť viac ako jedno. Tiež hovorí, že prvok Item môže obsahovať iba analyzované znakové údaje (PCDATA, tj text: žiadna ďalšia značka).

Pretože neexistuje žiadny iný prvok, ktorý by obsahoval Shopping-List, tento prvok sa považuje za prvok “root”, ktorý obsahuje všetko ostatné v dokumente. Teraz ju môžete použiť na vytvorenie súboru XML: zadajte svojmu editoru vyhlásenia:

 
<?xml version="1.0"?> 
<!DOCTYPE Shopping-List SYSTEM "shoplist.dtd"> 

(Za predpokladu, že ste DTD vložili do tohto súboru). Teraz váš editor vám umožní vytvoriť súbory podľa vzoru:

<Shopping-List>
  <Item>Chocolate</Item>
  <Item>Sugar</Item>
  <Item>Butter</Item>
</Shopping-List>

Je možné vyvinúť komplexné a výkonné DTD s veľkou jemnosťou, ale pre akékoľvek významné využitie by ste sa mali dozvedieť viac o analýze dokumentových systémov a návrhu typu dokumentu. Pozri napríklad Maler a el Andaloussi (1995): toto bolo napísané pre SGML, ale asi 95% sa vzťahuje aj na XML, pretože XML je oveľa jednoduchšie ako úplný SGML – pozri zoznam obmedzení, ktoré ukazujú, čo bolo vynechané.

Mimochodom, súbor DTD nikdy nemá DOCTYPE deklaráciu v ňom: že sa vyskytuje iba v inštancii dokumentu XML (to je to, čo odkazuje na DTD). A súbor DTD tiež nikdy nemá deklaráciu XML v hornej časti. Bohužiaľ je tu stále softvér, v ktorom sa vkladá jedna alebo obe z nich.

3.13: Môže byť explicitne deklarovaný typ koreňového prvku v DTD?

Nie, použite Deklaráciu typu dokumentu.

To sa deje vo vyhlásení typu dokumentu, nie v DTD.

Bob DuCharme píše:

Vo vyhlásení typu dokumentu takto:

<!DOCTYPE chapter SYSTEM "docbookx.dtd"> 

Celý bod kapitoly je určiť, ktorý z typov prvkov deklarovaných v zadanom DTD by sa mal použiť ako koreňový prvok. Verím, že prvok najvyššej úrovne v dokumente DocBook je nastavený, ale je ťažké si predstaviť, že niekto vytvorí dokument, ktorý by predstavoval súbor kníh. Môžeme slobodne používať setbookchapterarticle, alebo dokonca para ako prvok dokumentu pre platný dokument DocBook.

[Jedným z úloh, ktoré niektorí analytici robia, je určiť, ktorý typ prvku [s] v DTD nie je obsiahnutý v modeli obsahu akéhokoľvek iného typu prvku: sú to dedukciou hlavných kandidátov za predvolené koreňové prvky. (PF)]

Je to dobrá vec, pretože prináša flexibilitu v tom, ako sa používa DTD. To je dôvod, prečo sa XML (a SGML) dostali do elektronických publikačných systémov, v ktorých boli rôzne prvky zmiešané a prispôsobené tak, aby vytvorili rôzne dokumenty, ktoré sú v súlade s rovnakým DTD.

Videl som návrhy schém, ktoré vám umožňujú určiť, ktoré z prvkov typu schémy by mohli byť koreňovým prvkom dokumentu, ale po rýchlom pohľade na časť 3.3 časti 1 odporúčania schémy W3C a schéme RELAX NG pre spoločnosť RELAX, Verte, že vám to umožní niekto z týchto. Mohol by som sa mýliť.

3.14: Počúvam o alternatívach k DTD. Čo je schéma?

Podobne ako DTD pre validáciu obsahu aj štruktúry.

Odporúčanie schémy W3C XML poskytuje prostriedky na špecifikovanie formálneho zadávania údajov a overovania obsahu prvkov z hľadiska dátových typov tak, aby návrhári typov dokumentov mohli poskytnúť kritériá na kontrolu dátového obsahu prvkov, ako aj samotného značkovania. Schémy sú napísané v syntaxe XML dokumentov, podobne ako v dokumentoch XML, a vyhnúť sa potrebe spracovania softvéru na čítanie syntaktickej deklarácie XML (používa sa pre DTD).

Existuje samostatná časté schéma na stránke http://schema.org/docs/faq.html Termín slovná zásoba sa niekedy používa na označenie DTD a schém. Schémy sú zamerané na elektronické obchodovanie, riadenie údajov a aplikácie v štýle databázy, kde obsah údajov o znakoch vyžaduje overovanie a kde je potrebná prísnejšia kontrola údajov, než je možné s DTD; Alebo kde je potrebné silné zadávanie údajov. Zvyčajne nie sú potrebné pre tradičné aplikácie na publikovanie textových dokumentov, kde sa naďalej používajú DTD.

Na rozdiel od DTD, schémy nie je možné špecifikovať v Deklarácii typu dokumentu XML. Môžu byť špecifikované v priestore názvov, kde by mal program Schéma-aware informovať, ale je to voliteľné:

<?xml version="1.0"?>
<invoice 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">
...
</invoice>         

Častejšie zadávate schému vo vašom softvéri na spracovanie, ktorý by mal zaznamenávať oddelene, ktorá schéma sa používa, ktorou inštanciou XML dokumentu.

Na rozdiel od zložitosti modelu W3C Schema, Relax NG je ľahký a ľahko použiteľný jazyk schém XML, ktorý navrhol James Clark (pozri http://relaxng.org/) s vývojom hosťovaným OASIS. Umožňuje podobnú bohatosť výrazu a používanie XML ako jeho syntax, ale poskytuje ďalšiu zjednodušenú syntax, ktorý je ľahko použiteľný pre tých, ktorí sú zvyknutí na DTD.

Autori a vydavatelia by si mali všimnúť, že anglická množina schém je schémami: používanie singulárneho útvaru pre plurál je slobodní pre semi-gramotné; Používanie starých (gréckych) množných schém je zbytočnou didaktikou.

Spisovatelia by tiež mali poznamenať, že množné číslo DTD je DTD: neexistuje žiadny apostrof – viď Truss (2003).

Bob DuCharme píše:

Mnohí vývojári XML neboli spokojní so syntaxou vyhlásení o označovaní, ktoré sú popísané v špecifikácii XML, a to z dvoch dôvodov. Po prvé, cítili, že ak sú dokumenty XML tak dobré pri opisovaní štruktúrovaných informácií, potom by mal byť popis vlastnej štruktúry typu dokumentu (jeho schémy) v XML dokumente namiesto toho, aby bol napísaný s vlastnou špeciálnou syntaxou. Okrem konzistentnosti by to uľahčilo úpravu a manipuláciu schémy s bežnými nástrojmi na manipuláciu s dokumentmi. Po druhé, domnievali sa, že tradičné zápisy DTD neumožnili návrhárom typov dokumentov vkladať dostatočné obmedzenia na dáta – napríklad schopnosť povedať, že určitý typ prvku musí mať vždy kladnú celočíselnú hodnotu, že nemusí byť Prázdne alebo že musí byť jedným zo zoznamu možných možností. To uľahčuje vývoj softvéru pomocou týchto údajov, pretože vývojár má menej kódu na kontrolu chýb na zápis.

Peter Flynn píše:

DTD slúži len na špecifikáciu štruktúry prvkov súboru XML s veľmi obmedzeným množstvom kontroly nad hodnotami atribútov. Uvádza názvy prvkov, atribútov a entít, ktoré je možné použiť a ako sa hodia do seba. DTD sú určené na použitie s tradičnými textovými dokumentmi, nie s obdĺžnikovými alebo tabuľkovými údajmi, takže koncept dátových typov nie je tak relevantný: text je len text. Ak potrebujete určiť číselné rozsahy alebo definovať obmedzenia alebo kontroly obsahových údajov (textového) obsahu, DTD je nesprávny nástroj.

3.15: Ako ovplyvní XML odkazy na moje dokumenty?

Odkazy XML sú oveľa výkonnejšie, ale ešte nie sú implementované v prehliadačoch

Spojovacie schopnosti systémov XML sú potenciálne omnoho silnejšie než tie, ktoré sú v HTML, takže s nimi budete môcť robiť oveľa viac. Existujúce prepojenia v štýle href zostanú použiteľné, ale nová spojovacia technológia je založená na skúsenostiach získaných pri vývoji ďalších štandardov zahŕňajúcich hypertext, ako napríklad TEI a HyTime, ktoré umožňujú spravovať obojsmerné a viaccestné odkazy, ako aj odkazy Na celý prvok alebo rozpätie textu (vo vašich vlastných alebo iných dokumentoch) a nie na jediný bod. Tieto funkcie sú k dispozícii používateľom SGML už mnoho rokov, takže pri ich používaní sú k dispozícii značné skúsenosti a odborné znalosti. V súčasnosti iba Mozilla Firefox implementuje XLink.

Špecifikácia prepojenia XML (XLink) a dokumenty XML rozšíreného ukazovateľa (XPointer) obsahujú podrobnosti. XLink môže byť buď URI alebo rozšírený pointer v štýle TEI (XPointer), alebo oboje. Samotné URI sa považuje za zdroj; Ak ho XPointer sleduje, predpokladá sa, že je podriadený zdroj tohto identifikátora URI; XPointer sám o sebe sa predpokladá, že sa bude vzťahovať na aktuálny dokument (presne tak ako v prípade HTML).

XLink môže používať jeden z znakov #, ? alebo |. # a ? znamená to isté ako v aplikáciách HTML; | znamená, že čiastkový zdroj je možné nájsť použitím odkazu na zdroj, ale spôsob jeho vykonania je ponechaný na aplikáciu. XPointer môže nasledovať iba #.

Označenie TEI Extended Pointer Notation (EPN) je oveľa výkonnejšie než adresa fragmentu na konci niektorých identifikátorov URI, pretože umožňuje určiť umiestnenie konca odkazu pomocou štruktúry dokumentu, ako aj (alebo navyše) Známe pevné body ako ID. Napríklad spojený druhý výskyt slova “XPointer” dvoch odsekov späť sa dá odkazovať na identifikátor URI (zobrazený tu s čiarami a medzerami pre jasnosť: v praxi to by bolo samozrejme celý jeden dlhý reťazec):

http://xml.silmaril.ie/faq.xml#ID(hypertext)
    .child(1,#element,'answer')
    .child(2,#element,'para')
    .child(1,#element,'link')

To znamená prvý link prvok v druhom odseku v rámci answer v prvku, ktorého ID je “hypertext” (táto otázka). Spočítajte objekty od začiatku tejto otázky (ktorá má ID “hypertext”) v zdroji XML:

  1. Prvým dieťaťovým objektom je prvok obsahujúci otázku (quantaentry);
  2. Druhý podriadený objekt je odpoveď (prvok answer);
  3. V rámci tohto prvku prejdite na druhý odsek;
  4. Nájdite prvý element link.

Eve Maler vysvetlil vzťah XLink a XPointer takto:

XLink určuje, ako vkladáte odkazy do dokumentu XML, kde odkaz odkazuje na čokoľvek (napr. Súbor GIF); XPointer riadi identifikátor fragmentu, ktorý môže prejsť na adresu URL, keď prepájate dokument XML, odkiaľkoľvek (napr. Zo súboru HTML).

[Alebo zo súboru XML, URI v e-mailovej správe atď…Ed.]

David Megginson vytvoril funkciu xpointer pre Emacs/psgml, ktorá odvodí XPointer pre akékoľvek miesto v XML dokumente. XML Spy má podobnú funkciu.

3.16: Môžem zakódovať matematiku pomocou XML?

Áno, pomocou MathML.

Matematika je povolená, ak typ dokumentu, ktorý používate, poskytuje matematiku a prehliadače používateľov ju dokážu vykresliť. Komunita využívajúca matematiku vyvinula odporúčanie MathML na W3C, čo je prirodzená XML aplikácia vhodná na vloženie do iných DTD a schém.

Je tiež možné vytvoriť fragmenty XML z iných DTD, ako napríklad ISO 12083 Math alebo OpenMath, alebo z vlastnej tvorby. Prehliadače, ktoré zobrazujú math vložené do SGML, existujú už mnoho rokov (napr. DynaText, Panorama, Multidoc Pro) a bežné prehliadače teraz vykresľujú MathML. David Carlisle vytvoril súbor štýlov na vytváranie MathML v prehliadačoch. Je tiež možné použiť XSLT na konverziu XML matematických značiek na LATEX pre tlač (PDF) vykresľovanie, alebo na použitie XSL: FO.

Nezabudnite, že XML nie je programovací jazyk, takže koncepty ako aritmetické a if-statements (if-then-else logic) nie sú v normálnych XML dokumentoch zmysluplné.

3.17: Ako XML spracováva moje metadáta?

Akokoľvek chcete.

Pretože XML umožňuje definovať vlastné značkovacie jazyky, môžete plne využiť rozšírené hypertextové funkcie XML (pozri otázku Odkazy) na ukladanie alebo odkazovanie na metadáta v ľubovoľnom formáte (napr. Použitím ISO 11179 ako predmetu zverejneného témy , S Dublin Core, Warwick Framework alebo Resource Description Framework (RDF), alebo dokonca Platform for Internet Content Selection (PICS)).

V XML neexistujú žiadne preddefinované prvky, pretože ide o architektúru, nie o aplikáciu, takže nie je súčasťou úlohy XML určovať, ako alebo ak by autori mali alebo nemali implementovať metadáta. Preto máte možnosť použiť akúkoľvek vhodnú metódu. Tvorcovia internetových stránok môžu mať aj svoje vlastné architektonické odporúčania alebo metódy na navrhnutie.

Id, že vytvárate HTML5 zo svojho XML, viete, že HTML5 nepoužíva Dublin Core ako HTML (pozri http://www.w3.org/TR/html5/document-metadata.html), ale má registračný mechanizmus Rozšírenia preddefinovanej množiny mien metadát.

Q 3.18: Ako používať grafiku v XML?

Odkazujte ich ako na HTML alebo použite XLink. Alebo vložte SVG.

Grafika má tradične len odkazy, ktoré majú skôr obrazový súbor než iný text. Môžu byť preto implementované akýmkoľvek spôsobom podporovaným špecifikáciami XLink a XPointer (pozri Ako ovplyvní XML odkazy na moje dokumenty?) Vrátane použitia podobnej syntaxe k existujúcim obrázkom HTML. Môžu sa tiež odkázať pomocou vstavaného mechanizmu NOTATION a ENTITY XML podobným spôsobom ako štandardné SGML ako externé nezaradené entity.

Škálovateľná vektorová grafika (špecifikácia XML pre vektorovú grafiku) vám však umožňuje použiť značku XML na kreslenie objektov vektorovej grafiky priamo vo vašom súbore XML. To poskytuje obrovskú silu na zahrnutie prenosnej grafiky, najmä interaktívnej alebo animovanej sekvencie, a teraz sa stáva podporovaná v prehliadačoch a môže byť exportovaná zo štandardných grafických (kreslicových) programov, ako je GIMP.

Špecifikácie prepojenia XML pre externé obrázky vám poskytujú oveľa lepšiu kontrolu nad prechodom a aktiváciou odkazov, takže autor môže určiť, či sa má obrázok zobraziť alebo nie pri načítaní stránky, alebo kliknutím od používateľa , Alebo v samostatnom okne bez toho, aby sa museli uchádzať o skriptovanie.

Samotný XML neobsahuje predikáty ani obmedzenia grafických formátov súborov: GIF, JPG, TIFF, PNG, CGM, EPS a SVG sa aspoň zdajú byť zmysluplné. Vektorové formáty (EPS, SVG) sú zvyčajne nevyhnutné pre nefotografické obrázky (diagramy).

Vstavaná binárna grafika
Nie je možné vložiť surový binárny grafický súbor (alebo iné binárne [netextové] dáta) priamo do súboru XML, pretože byty, ktoré sa podobajú značke, by sa nesprávne interpretovali: musíte ich odkazovať (pozri nižšie). Je však možné zaradiť textovú kódovanú transformáciu binárneho súboru ako sekciu označenú ako CDATA, pomocou niečoho ako UUencode s značkovacími znakmi ], & a > odstránenými z mapy, aby sa nemohli vyskytnúť ako chybné CDATA Ukončenia a mali by byť nesprávne interpretované. Môžete dokonca použiť jednoduché hexadecimálne kódovanie, ako sa používa v PostScripte. Pre vektorovú grafiku je však riešenie používať SVG (pozri tip Peter Murray-Rust).

Zvukové súbory sú binárne objekty rovnakým spôsobom ako externá grafika, takže môžu byť odkazované len externe (pomocou rovnakých techník ako pre grafiku). Hudobné súbory napísané v systéme MusiXML alebo v XML variante SMDL však môžu byť vložené rovnakým spôsobom ako pre SVG.

Bod o používaní objektov na správu grafiky spočíva v tom, že môžete zostať zoznam vyhlásení o entitách oddelených od zvyšku dokumentu, aby ste ich mohli opätovne použiť, ak je obrázok potrebný viackrát, ale uložte iba fyzický súbor Špecifikácie na jednom mieste. Externé entity sú k dispozícii iba pri použití DTD, nie ako schémy.

Bob DuCharme píše:

Všetky údaje v entite dokumentu XML musia byť parsable XML. Môžete definovať externú entitu ako analyzovanú entitu (parsable XML) alebo nepartizovanú entitu (čokoľvek iné). Neparcipované entity môžu byť použité pre obrazové súbory, zvukové súbory, súbory filmov alebo čokoľvek, čo sa vám páči. Z dokumentu sa môže odkazovať iba ako hodnota atribútu (podobne ako bitmapový obrázok na webovej stránke HTML je hodnota atribútu src img elementu) a nie súčasťou aktuálneho dokumentu. V dokumente XML musí byť tento atribút deklarovaný ako typ ENTITY a vyhlásenie entity musí špecifikovať deklarovanú NOTATION, pretože ak entita nie je XML, procesor XML musí vedieť, čo to je. Napríklad v nasledujúcom dokumente je colliepic entita deklarovaná ako zápis JPEG a používa sa ako hodnota atribútu picfile prázdneho prvku psa.

<?xml version="1.0"?> 
<!DOCTYPE dog [ 
<!NOTATION JPEG SYSTEM "Joint Photographic Experts Group"> 
<!ENTITY colliepic SYSTEM "lassie.jpg" NDATA JPEG>
<!ELEMENT dog EMPTY> 
<!ATTLIST dog picfile ENTITY #REQUIRED> 
]> 
<dog picfile="colliepic"/> 

Metóda Entity je obzvlášť užitočná, ak máte veľa obrázkov alebo mnoho opakovaných použití rovnakých obrázkov, pretože ich deklarujete iba raz, v hornej časti dokumentu, takže oveľa jednoduchšie spravíte správu obrázkov.

Špecifikácie prepojenia XLink a XPointer opisujú iné spôsoby, ako poukázať na súbor, ktorý nie je XML, napríklad na grafiku. Tieto ponúkajú sofistikovanejšiu kontrolu nad pozíciou, ovládaním a vzhľadom externej entity v rámci dokumentu XML.

Peter Murray-Rust píše:

GIF a JPEG sa starajú o bitmapy (pixelové reprezentácie obrázkov: všetky sú tvorené farebnými bodkami). Vektorová grafika (škálovateľná, tvorená špecifikáciami výkresov) je venovaná grafickej aktivite W3C ako škálovateľná vektorová grafika (pozri http://www.w3.org/Graphics/SVG). Po dokončení špecifikácie je možné prenášať grafické znázornenie ako vektory priamo do súboru XML. Pri mnohých grafických objektoch to znamená výrazne znížený čas sťahovania a škálovanie bez straty detailov.

Max Dunn píše:

SVG sa nedávno naozaj vydalo a je celkom úspešný príbeh XML […] existuje [veľa] konformných implementácií. Nedávno sme začali používať časté otázky SVG na adrese http://www.svgfaq.com/.

XSLT možno použiť na generovanie SVG z XML; Podrobnosti nájdete na adrese http://www.svgfaq.com/xslt.asp (dávajte pozor, aby ste použili XSLT, nie zastaralú technológiu WD-xsl spoločnosti Microsoft). Dokumenty môžu tiež interagovať so SVG obrázkami (pozri http://www.xml.com/pub/a/2000/03/22/style/index.html).

3.19: Čo je parsovanie a ako to robím v XML?

Parsovanie rozdeľuje informácie do ich častí

Parsovanie je čin rozdeľovania informácií do jeho častí (školy to vyučovali v jazykových triedach, kým učiteľská profesia nezachytila antigramatický vírus).

“Mária živí spoty” analyzuje ako

Subject = Mary, vlastné podstatné meno, nominative case;
Verb = kŕmenie, tranzitívny, tretí jedinečný, aktívny hlas, prítomný čas;
Object = Spot, správne podstatné meno, akustický prípad.

Pri výpočtoch je syntaktický analyzátor program (alebo časť kódu alebo rozhrania API, ktoré môžete uviesť vo svojich vlastných programoch), ktoré analyzujú súbory na identifikáciu komponentov. Všetky aplikácie, ktoré čítajú vstup, majú analyzátor nejakého druhu, inak nikdy nebudú schopní zistiť, čo to znamená. Program Microsoft Word obsahuje analyzátor, ktorý sa spustí pri otvorení súboru .doc a skontroluje, či dokáže identifikovať všetky skryté kódy; Služba iCal a Kalendár Google obsahujú syntaktický analyzátor, ktorý v e-maile číta prílohu na udalosť .ical a vymedzuje, aké informácie obsahuje. Dajte im poškodený súbor a zobrazí sa chybové hlásenie.

Aplikácie XML sú rovnaké: obsahujú analyzátor, ktorý číta XML a identifikuje funkciu jednotlivých častí dokumentu, a potom tieto informácie sprístupní v pamäti zvyšku programu.

Pri čítaní súboru XML syntaktický analyzátor kontroluje správne vytvorenú syntax (špičkové zátvorky, zodpovedajúce ukážky atď.) A hlási akékoľvek porušenia (hlásenia chyby). Špecifikácia XML uvádza, čo to je.

Overenie je ďalšou etapou nad rámec analýzy. Keďže sú identifikované jednotlivé komponenty programu, porovnávajúci analyzátor ich porovná so vzorom stanoveným DTD alebo schémou, aby skontroloval, či vyhovujú. Pri tomto procese môžu byť predvolené hodnoty a typy údajov (ak sú špecifikované) pridané do výsledku overenia v pamäti, ktorý poskytuje analyzátor validácie aplikácii.

 
<person xml:id="abc123" birth="1960-02-31" gender="female"> 
  <name>
    <forename>Judy</forename> 
    <surname>O'Grady</surname> 
  </name>
</person> 

Príklad uvedený vyššie sa rozoberá takto:

  1. Prvok <person> identifikovaný s atribútom xml:id (preddefinovaný typ “ID”) obsahujúci “abc123″ a birth atribútu obsahujúce “1960-02-31″ a atribút gender obsahujúceho “female” obsahujúcu…
  2. Prvok <name> obsahujúci …
  3. Prvok <forename>, ktorý obsahuje text “Judy”, za ktorým nasleduje …
  4. Prvok <surname> obsahujúci text ‘O’Grady’.

(a veľa ďalších vecí). To skončí ako druh štruktúry rodiny stromov v pamäti aplikácie (stromové štruktúry sú bežným spôsobom pre programy na ukladanie súvisiacich údajov).

Okrem zabudovaných analyzátorov sú k dispozícii aj samostatné analyzátory parseru (pozri tip spoločnosti Bill Rayer), ktoré si prečítajú súbor XML a zistia, či zistia chybu (napríklad chýbajúce uholníky alebo citácie alebo nesprávne označené značky) , Je to dôležité pre testovanie súborov v izolácii predtým, ako s nimi urobíte niečo iné, najmä ak boli vytvorené ručne bez XML editora alebo pomocou rozhrania API, ktoré môže byť príliš hlboko zakotvené inde umožňujúce ľahké testovanie.

Bill Rayer píše:

Pre samostatnú analýzu/validáciu použite softvér, ako je napríklad James Clark’s orsgmls alebo Richard Tobin’s rxp. Obaja pracujú pod Linuxom a Windows/DOS. Rozdiel je vo formáte zoznamu chýb (ak existuje) a niektoré verzie onsgmls nenahraňujú DTD ani iné súbory v sieti, zatiaľ čo rxp to robí.

Uistite sa, že váš súbor XML správne odkazuje na jeho DTD v Deklarácii typu dokumentu a že súbor DTD [s] je lokálne dostupný (rxp ich načíta, ak máte pripojenie na Internet, onsgmls nemusí, takže môže potrebovať lokálnu kópiu) ,

Stiahnite a nainštalujte softvér. Uistite sa, že je nainštalovaný na miesto, kde ho váš operačný systém nájde. Ak neviete, čo to znamená, budete potrebovať nejakú pomoc od niekoho, kto vie, ako načítať a nainštalovať softvér na váš typ operačného systému.

Pre onsgmls kopírujte pubtext/xml.soc a pubtext/xml.dcl do pracovného adresára.

Ak chcete overiť myfile.xml, otvorte okno shell (príkaz alebo terminál) (Linux) alebo okno MS-DOS (príkaz) (Microsoft Windows). V týchto príkladoch budeme predpokladať, že váš súbor XML sa nazýva myfile.xml a nachádza sa v priečinku s názvom myfolder. Pri zadávaní príkazov použite skutočné názvy priečinka a súboru.

Pre onsgmls:

$ onsgmls -wxml -wundefined -cxml.soc -s myfile.xml

Existuje mnoho ďalších možností pre onsgmls, ktoré sú popísané na webovej stránke. Tu uvedené sú povinné, pretože sú založené na analyzátore SGML a tieto možnosti ho prepínajú do režimu XML a potláčajú normálny výstup a ponechajú len chyby (ak nejaké sú).

V systéme Microsoft Windows budete pravdepodobne musieť predpísať príkaz onsgmls s úplnou cestou tam, kde bol nainštalovaný, napr. C:\Program Files\OpenSP\bin\onsgmls.

Pre rxp:

$ rxp myfile.xml

Rxp má aj niektoré možnosti, ktoré sú popísané na jeho webovej stránke.

V systéme Microsoft Windows možno budete musieť predponu príkazu rxp s plnou cestou na miesto, kde bol nainštalovaný, napr. C:\Program Files\ltxml2\bin\rxp.

3.20: Ako môžem zahrnúť jeden súbor XML do iného?

Použite všeobecnú entitu, rovnako ako pre SGML, alebo použite XInclude.

Jednou z metód je použitie dokumentových entít, ktoré fungujú presne rovnako ako pre SGML, ale vyžadujú DTD alebo interná podmnožina. Najprv vyhlasujete entitu, ktorú chcete zahrnúť, a potom ju odkazujete na názov ako referencia entity:

 
<?xml version="1.0"?>
<!DOCTYPE novel SYSTEM "/dtd/novel.dtd" [
<!ENTITY chap1 SYSTEM "mydocs/chapter1.xml">
<!ENTITY chap2 SYSTEM "mydocs/chapter2.xml">
<!ENTITY chap3 SYSTEM "mydocs/chapter3.xml">
<!ENTITY chap4 SYSTEM "mydocs/chapter4.xml">
<!ENTITY chap5 SYSTEM "mydocs/chapter5.xml">
]>
<novel>
  <header>
    ...blah blah...
  </header>
&chap1; 
&chap2; 
&chap3; 
&chap4; 
&chap5; 
</novel>

Rozdiel medzi touto metódou a tou, ktorá sa používa na zahrnutie fragmentu DTD (pozri Ako zapísať jeden DTD (alebo fragment) do iného?) Je to, že sa používa externá všeobecná (súborová) entita, ktorá je odkazovaná rovnakým spôsobom ako pre Znaková entita (s ampersandom).

Jediná vec, ktorá sa má uistiť, je, že zahrnutý súbor nesmie obsahovať deklaráciu XML alebo DOCTYPE. Ak ste jeden použili na úpravu fragmentu, odstráňte ho pred použitím súboru týmto spôsobom. Áno, toto je bolesť v zadku, ale ak máte veľa takýchto inklúzií, napíšte skript, aby ste zrušili vyhlásenie (a vložte ho znova na úpravu).

Schémy nepodporujú entity, takže alternatívou je použitie XInclude. Toto je špecifikácia W3C, ktorá zahŕňa jeden dokument XML (alebo fragment) do iného dokumentu.

<?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>
   <sect1>
      ...
   </sect1>
</article>

Váš spracovateľský softvér musí byť schopný zvládnuť funkciu XInclude. Syntax XPointer môže presmerovať analyzátor na konkrétne miesto v dokumente, na rozdiel od entít, kde je celý dokument zahrnutý.

3.21: Kedy by som mal používať sekciu s označením CDATA?

CDATA slúži len pre text obsahujúci znaky podobné značke.

Takmer nikdy nebudete musieť používať sekcie CDATA. Mechanizmus CDATA bol navrhnutý tak, aby autor citoval fragmenty textu obsahujúce značkovacie znaky (open-angle bracket a ampersand), napríklad pri dokumentácii XML (tento FAQ používa zrejmé príčiny). Sekcia CDATA vypne rozpoznávanie značiek po dobu trvania úseku (opäť sa zapne iba zatvorením sekvencií dvojitých koncových hranatých závor a úzkeho uholníka).

V dôsledku toho nič v sekcii CDATA nemôže byť nikdy rozpoznané ako čokoľvek súvisiace s označením: je to len reťazec neprístupných znakov a ak používate jazyk premeny jazyka XML, ako je XSLT, akékoľvek značky v ňom sa stanú ekvivalentmi ich znakových entit.

Ak sa napríklad pokúšate použiť:

some text with <![CDATA[<em>markup</em>]]&gt; in it.

v očakávaní, že embedded značka zostane nedotknutá, nebude: bude to len výstup

some text with &lt;em>markup&lt;/em> in it.

Inými slovami, sekcie CDATA nemôžu zachovať zabudovanú značku ako označenie. Normálne to je presne to, čo chcete, pretože táto technika bola navrhnutá tak, aby umožňovala ľuďom robiť veci ako písať dokumentáciu o značkovaní. Nebolo navrhnuté tak, aby umožňovalo prechod malých kúskov falošných, skorumpovaných alebo neplatných neporovnateľných HTML vložených do vášho vlastného XML do následného procesu – pretože by to mohlo spôsobiť znehodnotenie výstupu.

V dôsledku toho nemôžete očakávať, že značku zachováte nedotknuté jednoducho preto, lebo vyzeralo, že je bezpečne “ukryté” v sekcii CDATA: nemôže byť použitá ako magický štít, aby sa zachovala značka HTML pre budúce použitie ako označenie, len ako znaky.

Prečítajte si, ako môžem spracovať vstavaný HTML vo svojom XML? Čo je veľmi úzko spojené.

3.22: Ako môžem spracovať vstavaný HTML vo svojom XML?

Uveďte ho na výstup, použite hlbokú kópiu alebo skúste vypnúť výstup.

Okrem použitia sekcií CDATA existujú dve bežné príležitosti, keď ľudia chcú pracovať s vloženým HTML vo vnútri elementu XML:

  1. Keď dostali (možno zle navrhnuté) XML alebo HTML od niekde inde, ktoré musia nájsť spôsob, ako s nimi zaobchádzať;
  2. Keď majú aplikáciu, ktorá bola explicitne navrhnutá na ukladanie reťazca znakov obsahujúcich &lt; a &amp; znakové entity odkazy s cieľom vrátiť späť do značkovania v neskoršom procese (napr. FreeMind, Atom).

Vo všeobecnosti sa chcete vyhnúť takémuto triku, pretože zvyčajne naznačuje, že štruktúra a návrh dokumentu neboli dostatočne premyslené. Existujú však príležitosti, kedy sa to stane nevyhnutným, takže ak skutočne potrebujete alebo chcete používať vložené značkovanie HTML vo vnútri XML a nechať ho spracovať neskôr ako označenie, existuje niekoľko techník, ktoré môžete používať:

  • Poskytnite šablóny na spracovanie tohto označenia vo vašej transformácii XSLT alebo akýkoľvek iný softvér, ktorý používate, ktorý jednoducho reprodukuje to, čo tam bolo nedotknuté, napr. Ak musíte zachovať <b>nejaký text</b> ako je, dodajte šablónu na to:
<xsl:template match="h:b">
  <b>
    <xsl:apply-templates/>
  </b>
</xsl:template/>

(Ak pracujete s elementmi z viacerých DTD alebo schém, budete pravdepodobne potrebovať menné priestory, aby ste ich označili odlišnými, a preto predponu h:).

  • Použite XSLT ‘hĺbku kópiu’ inštrukcie, ktorá výstupy vnorené dobre-formoval značkovanie doslovne, napr
<xsl:template match="h:b">
  <xsl:copy-of select="."/>
</xsl:template/>
  • Ako posledná možnosť použite atribút disable-output-escaping na element xsl:text element XSL [T], ktorý je k dispozícii v niektorých procesoroch, napr.
<xsl:text disable-output-escaping="yes"><![CDATA[<b>Now!</b>]]&gt;</xsl:text>

To spadá do oddelenia “špinavé triky” a je zvyčajne zastarané. Niektoré procesory ju nepodporujú.

  • Niektoré procesory (napr. JX) teraz poskytujú svoje vlastné ekvivalenty na zablokovanie úniku výstupu. Ich zastupitelia tvrdia, že je to “veľmi žiaduce” alebo “to, čo väčšina ľudí chcú”, ale stále je treba s ňou zaobchádzať opatrne, aby sa zabránilo tomu, že nechcený (možno nebezpečný) Tiež pridáva ďalšiu závislosť od vášho softvéru.

Viac podrobností o používaní týchto techník v XSL [T] nájdete v príslušnej otázke vo FAQ XSL.

Prečítajte si, kedy by som mal použiť sekciu s označením CDATA? Čo je veľmi úzko spojené.

3.23: Aké sú špeciálne znaky v XML?

Len päť: &lt; (<), &amp; (&), &gt; (>), &quot; (“) a &apos; (‘).

Pri normálnom texte (nie je označenie) neexistujú žiadne špeciálne znaky okrem a &: len sa uistite, že vaša deklarácia XML odkazuje na správnu schému kódovania jazyka a/alebo systému písania, ktorý chcete používať a že váš počítač správne uloží Pomocou tohto schémy kódovania. Viac otázok si pozrite na otázku, ktorá sa netýka latinských znakov.

Okrem neviditeľných riadiacich znakov ASCII (tie, ktoré nemožno zadávať) sú všetky ostatné znaky bežným textom. Znaky v menách (€, £, $, ƒ, ₨, Ƀ a iné), všetky interpunkčné znamienka (okrem a &) a všetky ostatné písmená, značky a symboly v ľubovoľnom jazyku alebo v písacom systéme sú len text Mať správne kódovanie znakov).

Ak vaša klávesnica neumožňuje zadávať požadované znaky alebo ak chcete použiť znaky mimo hranice zvolenej schémy kódovania, môžete použiť symbolickú notáciu nazvanú “referencia entity”. Odkazy na entitu môžu byť buď číselné, pomocou desatinného alebo hexadecimálneho kódu Unicode pre znak (napr. Ak vaša klávesnica nemá symbol Euro (€), môžete zadať &#8364;); Alebo môžu byť znakom pomocou zavedenej množiny mien, ktoré môžete deklarovať vo vašom DTD (napr. <! ENTITY euro “&#8364;”>), ktorý potom umožňuje používať meno a &euro; v dokumente. Ak používate schému, musíte použiť číselný formulár pre všetky okrem piatich nižšie, pretože schémy nemajú žiadny spôsob, ako robiť deklarácie entity entity.

Ak použijete XML bez DTD, predpokladá sa, že päťznakové entity uvedené v hornej časti tejto otázky budú predtým označené a môžete ich použiť bez toho, aby ste ich vyhlásili oddelene (väčšina softvéru ich zabraňuje ich opätovnému vydaniu):

&lt;
Značka menej ako znak (<) začína značku prvku (prvý znak štartovnej značky alebo koncovej značky).

&amp;
Znak ampersand (&) spustí označenie entity (prvý znak odkazu na znakovú entitu).

&gt;
Značka väčšia ako znak (>) ukončí štartovnú značku alebo koncovú značku.

&quot;
Dvojcikotový znak (“) sa môže symbolizovať touto referenciou znakovej entity, ak potrebujete vložiť dvojitú citáciu do reťazca, ktorý je už dvojitým kódom.

&apos;
Apostrof alebo jednoznačný znak (‘) je možné symbolizovať touto referenciou znakovej entity, ak potrebujete vložiť jednokotúčovú alebo apostrofnú v rámci reťazca, ktorý je už jednočinný.

Ak používate DTD, musíte deklarovať všetky znakové entity, ktoré potrebujete použiť, takže by bolo dobrým postupom aj vyhlásiť niektorý z piatich vyššie, ktoré plánujete používať. Ak používate schému, musíte použiť číselný formulár pre všetky okrem vyššie uvedených piatich, pretože schémy nemajú spôsob, ako robiť deklarácie entity entity.

Existujú okolnosti, kedy môžete používať špeciálne znaky ako sami, napríklad v sekciách CDATA. Väčšina riadiacich znakov je zakázaná v XML: podrobnosti nájdete v špecifikácii.

V používateľskom priestore názvov XML nie sú ani vyhradené slová ako také: môžete volat prvok elementu element a atribút attribute atď., Ako je to v nasledujúcom (zvrátenom) príklade:

<?xml version="1.0"?>
<!DOCTYPE DOCTYPE SYSTEM "SYSTEM" [
<!ELEMENT DOCTYPE (ELEMENT+)>
<!ATTLIST ELEMENT ATTLIST ENTITY #IMPLIED>
<!NOTATION DOCTYPE SYSTEM "ENTITY">
<!ENTITY NOTATION SYSTEM "ENTITY" NDATA DOCTYPE>
]>
<DOCTYPE>
  <ELEMENT ATTLIST="NOTATION">foo</ELEMENT>
</DOCTYPE>

Kde súbor SYSTEM obsahuje deklaráciu: <!ELEMENT ELEMENT (#PCDATA)> a súbor ENTITY ani neexistuje ☺

K dispozícii sú keywords slová ako DOCTYPE a IMPLIED, ktoré sú vyhradené Mená, ale sú označené znakom vlajky (označenie Open Markup Declaration alebo Indikátor rezervovaných názvov), takže ich nemožno zamieňať s menami určenými používateľmi.

3.24: Aké iné systémy označovania existujú?

Existuje niekoľko ďalších populárnych systémov

MarkDown

Toto je obojstranná textová syntax a skript Perl, ktorý ju prevádza na XHTML. Cieľom bolo, aby súborový súbor nemal vyzerať ako označenie (takže by ho bolo možné prečítať len ako text plaintextového dokumentu), ale že by mal byť dostatočne robustný, aby odolal konverzii.

Podrobnosti nájdete na http://daringfireball.net/projects/markdown/.

Formáty Wiki/blogu

Existuje niekoľko z nich: najznámejším je pravdepodobne formát MediaWiki používaný Wikipédiou, ktorý poskytuje pomerne rozsiahle možnosti pre vytváranie položiek použitých v lokalite, ktoré sa potom premenia na HTML pre zobrazenie.

Podobné koncepčné formáty používajú niektoré iné wiki systémy, ako napríklad PmWiki a Google Code; A tam sú hybridy, ktoré tiež používajú HTML ako Fossil.

LATEX

Systém LATEX pre prípravu a sádzanie dokumentov (Lamport, 1994) používa makrá postavené na TEX syntaxe na implementáciu čiastočne štruktúrovaného modelu dokumentov. Syntax používa spätné lomítko na prvky označovania vlajky a pokyny na formátovanie a naklonené zátvorky na vymedzenie argumentov a obmedzenie rozsahu typografických akcií.

Tento softvér je dostupný na všetkých platformách a vytvára výstup PDF alebo PostScript. Konverzia na systém LATEX zo systémov založených na XML sa dá vykonať pomocou technológie XSLT, ale konverziu zo syntaxe LATEX je problematické, pretože má vlastnosti, ktoré nie sú ľahko zobraziteľné v iných systémoch.

SGML

SGML a niektoré z jej progenitorov zostávajú k dispozícii, ale zriedka sa používajú.

Na stránke Wikipedia je rozsiahly zoznam ďalších značkovacích jazykov.

Oddiel 4: Vývojári

Programátori a implementátori

4.1: Kde je špecifikácia?

Práve tu

Práve tu: Bray, Paoli, Sperberg-McQueen, Maler a Yergeau (2004) (pozri http://www.w3.org/TR/REC-xml). Zahŕňa EBNF a celý normatívny materiál. K dispozícii sú aj verzie v japončine; španielsky; korean; Verzia s poznámkou v jazyku Java a anotovaná verzia vo forme knihy (DuCharme, 1999).

Eve Maler zachováva DTD použitú pre samotnú špecifikáciu; DTD tiež zakóduje niekoľko ďalších špecifikácií W3C, ako XLink, XPointer, DOM, XML Schema atď. Pre DTD je k dispozícii dokumentácia. Všimnite si, že špecifikácia XML musí používať špeciálnu jednorázovú verziu DTD, pretože skutočne pôvodný DTD, ktorý sa na ňu používa, už dávno stratil.

4.2: Pokúšam sa pochopiť XML Spec: prečo má takú ťažkú terminológiu?

Musí byť formálne, aby bolo presné.

Aby bola implementácia úspešná, musí byť terminológia presná. Návrhový cieľ č. 8 špecifikácie hovorí, že “návrh XML musí byť formálny a stručný”. Pre opis XML sa preto špecifikácia používa vo formálnom jazyku, ktorý je z viacerých oblastí, konkrétne z dokumentácie inžinierstva, medzinárodných štandardov a informatiky. To je často mätúce pre ľudí, ktorí sú nepoužívaní v týchto disciplínach, pretože používajú známe anglické slová v špecializovanom zmysle, ktoré môžu byť veľmi odlišné od ich bežných významov – napríklad: gramatika, výroba, token alebo terminál.

Špecifikácia nevysvetľuje tieto pojmy z dôvodu druhej časti konštrukčného cieľa: špecifikácia by mala byť stručná. Neopakuje vysvetlenia, ktoré sú k dispozícii inde: predpokladá sa, že to viete a či poznáte definície alebo ich dokážete nájsť. V podstate to znamená, že k grokovaniu plnosti spec, potrebujete vedomosti o SGML a informatike a máte nejaké vystavenie jazyku formálnych štandardov.

Nedostatočná terminológia v špecifikáciách spôsobuje nedorozumenia a sťažuje ich dôsledné uplatňovanie, takže formálne normy musia byť formulované vo formálnej terminológii. Tieto často kladené otázky nie sú formálnym dokumentom a čestný čitateľ si už všimol, že odkazuje na “názvy prvkov”, kde je názov typu prvkov správnejší; Ale prvý je širšie pochopený.

Noví používatelia terminológie môžu považovať za užitočné prečítať si niečo ako TEI P4: Pokyny pre kódovanie a výmenu elektronického textu (Sperberg-McQueen a Burnard, 2002) alebo XML: Annotated Specification (DuCharme, 1999).

4.3: Aké sú tieto pojmy DTDless, platné a dobre formované?

Dobre formovaná znamená len syntakticky správne; Znamená, že je v súlade s DTD alebo schémou.

XML umožňuje používať schému alebo definíciu typu dokumentu (DTD) na opis označenia (prvky a iné konštrukcie), ktoré sú k dispozícii v akomkoľvek konkrétnom type dokumentu. Avšak návrh a konštrukcia schém a DTD môže byť zložitá a netriviálna, takže XML vám tiež umožňuje pracovať bez jedného. Prevádzka DTDless znamená, že môžete vymyslieť označenie bez toho, aby ste ho museli definovať formálne, za predpokladu, že dodržiavate dobre vytvorené pravidlá syntaxe XML.

Aby ste túto prácu vykonali, predpokladá sa, že súbor DTDless definuje vlastnú značku výhradne existenciou a umiestnením prvkov, v ktorých ich vytvoríte. Keď XML aplikácia narazí na súbor DTDless, buduje svoj vnútorný model štruktúry dokumentu počas čítania, pretože nemá schému alebo DTD, aby mu povedal, čo očakávať. Preto nesmie byť žiadne prekvapenie alebo dvojznačná syntax. Na dosiahnutie tohto cieľa musí byť dokument “dobre formovaný” (musí dodržiavať pravidlá).

Ak chcete pochopiť, prečo je tento koncept potrebný, pozrite si štandardný HTML ako príklad:

  • Prvok <img> je deklarovaný (v DTD pre znaky [SGML] pre HTML) ako EMPTY, takže nemá koncovú značku (neexistuje taká vec ako </img>);
  • Mnoho ďalších prvkov HTML (napríklad <para>) umožňuje vynechať koncovú značku pre stručnosť.
  • Ak procesor XML číta súbor HTML bez toho, aby to vedel (pretože nepoužíva DTD) a narazí na <img> alebo <para> (alebo akúkoľvek inú štartovaciu značku), nemôže vedieť Či očakávajú alebo neočakávajú koncovú značku. To znemožňuje zistiť, či je zvyšok súboru správny alebo nie, pretože teraz nemá žiadny dôkaz o tom, či je vnútri prvku alebo či to skončilo.

Dobre vytvarované dokumenty preto vyžadujú štartovacie štítky a koncové značky na každom normálnom prvku a všetky prvky EMPTY musia byť jednoznačné buď pomocou normálnych štartovacích značiek a koncových značiek alebo pridaním lomítka k názvu štartu -tag pred uzavretím> ako signál, že nebude existovať samostatná koncová značka.

Všetky dokumenty XML, bez DTD a platné, musia byť dobre vytvorené. V prípade potreby musia začať s deklaráciou XML (napríklad identifikovať kódovanie znakov alebo samostatné vyhlásenie o dokumente):

 
<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?> 
<foo> 
  <bar>...<blort/>...</bar> 
</foo> 

David Brownell píše:

XML, ktorý je dobre vytvorený, nemusí vôbec používať samostatné vyhlásenie o dokumente. Takéto deklarácie sú tu na to, aby umožnili určité zrýchlenie pri spracovávaní dokumentov, pričom ignorujú entity externých parametrov – v podstate sa nemôžete spoliehať na externé deklarácie v samostatných dokumentoch. Typy, ktoré sú relevantné, sú entity a atribúty. Samostatné dokumenty nesmú vyžadovať žiadnu normalizačnú hodnotu alebo predvolenú hodnotu atribútov, inak sú neplatné.

Je tiež možné použiť Deklaráciu typu dokumentu so súbormi DTDless, aj keď neexistuje žiadny typ dokumentu, ktorý by sa týkal:

Richard Lander píše:

Ak potrebujete znakové entity [iné ako päť zabudovaných] v súbore DTDless, môžete ich deklarovať v internej podskupine bez toho, aby ste odkazovali na iné ako typ koreňového prvku:

<?xml version="1.0" standalone="yes"?> 
<!DOCTYPE example [ 
<!ENTITY mdash "&mdash;"> 
]> 
<example>Hindsight&mdash;a wonderful thing.</example> 

Takže … tu sú pravidlá:

  • Dobre vytvorený XML
    Všetky značky musia byť vyvážené: to znamená, že každý prvok, ktorý môže obsahovať znakové údaje alebo čiastkové prvky, musí obsahovať štartovací značku a koncovú značku (opomenutie nie je povolené okrem prvkov EMPTY, pozri nižšie).
  • Všetky hodnoty atribútov musia byť v úvodzovkách. Jednoznačkový znak (apostrof) sa môže použiť, ak hodnota obsahuje znak dvojitého kotúča a naopak. Ak potrebujete aj izolované úvodzovky ako údaje, môžete použiť &apos; alebo &quot;. Za žiadnych okolností nepoužívajte automatizované typografické (“kučeravé”) obrátené čiarky, ktoré sú nahradené niektorými textovými procesormi pre citovanie hodnôt atribútov.
  • Akékoľvek prvky EMPTY (napr. Tie, ktoré nemajú koncovú značku, ako sú HTML <img>, <hr>,<br> a iné) musia buď skončiť s /> alebo musia vyzerať ako prvky bez EMPTY tým, že majú skutočnú koncovú značku (Ale bez obsahu). Príklad: <br> by sa stalo buď <br/>, alebo <br></br> (bez ničoho).
  • Nesmie existovať žiadne izolované znaky začiarknutia a štartu (< alebo &) vo vašich textových údajoch. Musia byť podané ako &lt; a &amp; a sekvencia ]]> sa môže vyskytovať iba ako koniec sekcie označenej ako CDATA: ak ju používate na akýkoľvek iný účel, musí byť daná ako ]]&gt;.
  • Prvky musia byť správne navzájom spojené (žiadne prekrývanie značiek, rovnaké ako pre HTML);
  • Dobre vytvarované dokumenty DTDless môžu používať atribúty na ľubovoľnom prvku, ale všetky atribúty sa považujú za atribúty typu CDATA. Nemôžete používať typy atribútov ID / IDREF pre krížové odkazovanie kontrolované parserom v dokumentoch DTDless.
  • Súbory XML bez DTD sa považujú za súbory &lt;&gt;&apos;&quot;, a &amp; Preddefinované a takto dostupné na použitie. Pri DTD musia byť všetky deklarované entity znakov deklarované, vrátane týchto piatich.

Platný XML

Platné súbory XML sú dobre vytvorené súbory, ktoré majú definíciu typu dokumentu (DTD) alebo schému a ktoré sú s ňou v súlade. Musia byť už dobre formované, preto platia všetky vyššie uvedené pravidlá.

Platný súbor začína vyhlásením typu dokumentu, v ktorom sa uvádza DTD alebo kód špecifikujúci schému W3C. Môže to mať predpoveď voliteľnej deklarácie XML.

<?xml version="1.0"?> 
<!DOCTYPE advert SYSTEM "http://www.foo.org/ad.dtd"> 
<advert>
  <headline>...<pic/>...</headline> 
  <text>...</text>
</advert> 

Špecifikácia XML predurčuje deklaráciu SGML pre XML, ktorá je pevná pre všetky inštancie, a preto je pevne zakódovaná do všetkých XML softvérov a nikdy nie je špecifikovaná samostatne (s výnimkou prípadov, keď sa používa prepínateľný overovateľ SGML/XML ako onsgmls: pozri nižšie).

Peter Flynn píše:

Deklarácia SGML pre XML bola odstránená z textu špecifikácie, ale je k dispozícii ako samostatný dokument). Zdá sa, že to príležitostne trpí bitotom alebo zanedbávaním, tam je kópia tu (WebSGML TC) a tu (rozšírené názvové pravidlá TC) a verzia pre onsgmls tu.

Určený DTD musí byť prístupný procesoru XML pomocou URI dodaného v identifikátore SYSTEM, a to buď lokálne dostupným (tj už používateľ má kópiu na disku), alebo je možné ho získať prostredníctvom siete. Upozorňujeme, že špecifikácie DTD musia byť URI (miestne, relatívne alebo absolútne). Vlastní referencie súborového systému (napr. C:\dtds\my.dtd nie sú URI a nemôžu byť použité: namiesto toho použite formát file:///C|/dtds/my.dtd.

Je to možné (mnohí ľudia by povedali lepšie), aby poskytli formálny verejný identifikátor s kľúčovým slovom PUBLIC a použili katalóg XML na dereferenciu, ale Špecifikácia povoľuje identifikátor systému, takže sa musí ešte dodať za VEĽKÝ identifikátor: žiadne ďalšie Kľúčové slovo je potrebné. Verejný identifikátor predstavuje nárok na vlastníctvo iba identifikátora, nie samotného DTD (hoci v mnohých prípadoch je to implikované).

<!DOCTYPE advert PUBLIC	
   "+//Silmaril//DTD Foo Corp Advertisements//EN"
   "http://www.foo.org/ad.dtd"> 
<advert>...</advert>

Skúška platnosti je, že validátor analyzátora nenašiel žiadne chyby v súbore: musí zodpovedať absolútne definíciám a vyhláseniam v DTD.

Schémy XML (W3C) nie sú zvyčajne prepojené priamo z inštancie dokumentu XML spôsobom, akým sú DTD: príslušná schéma (súbor XSD) pre inštanciu dokumentu sa zvyčajne špecifikuje na analyzátora samostatne buď podľa referencie súborového systému, alebo pomocou Cieľový menný priestor.

4.4: Čo mám používať v mojom DTD/Schema, atribútoch alebo prvkoch?

Pozrite si http://xml.coverpages.org/elementsAndAttrs.html

Neexistuje žiadna odpoveď na to: veľa závisí od toho, prečo navrhujete typ dokumentu.

Tradičná redakčná prax pre bežné textové dokumenty je umiestniť text (skutočný text) (čo by sa vytlačil alebo zobrazil užívateľovi) ako obsahový obsah v prvkoch a zachovať metadáta (informácie o texte) v atribútoch, odkiaľ Možno ľahšie izolovať na analýzu alebo špeciálnu úpravu, ako je zobrazenie na okraji alebo myšou:

<l n="184">
  <spara>Portia</spara>
  <text>The quality of mercy is not strain'd,</text>
  ...
</l>

Z hľadiska systémov však nie je nič zlého pri ukladaní údajov naopak, najmä tam, kde je objem textových údajov pri každej príležitosti pomerne malý:

<line speaker="Portia" text="The quality of mercy is not strain'd,">184</line>

Veľa bude závisieť od toho, čo chcete s informáciami robiť, a ktoré z nich sú najľahšie prístupné každou metódou. John Cowan má niekoľko vynikajúcich rozhodovacích bodov vo svojom príspevku na blogu, prvky alebo atribúty.

Pravidlom pre tradičné textové dokumenty je to, že ak by sa označenie odstránilo, holý text by mal byť stále správny, čitateľný a použiteľný, aj keď je neformátovaný a nepohodlný. V prípade výstupov databázy alebo iných strojovo vygenerovaných dokumentov, ako sú transakcie elektronického obchodu, ľudské čítanie nemusí byť zmysluplné, takže je úplne možné mať dokumenty, v ktorých sú všetky údaje v atribútoch a dokument neobsahuje žiadne údaje o znakoch v obsahu Vôbec. Viac informácií nájdete na stránke http://xml.coverpages.org/elementsAndAttrs.html.

Mike Kay píše:

Od používateľa: “[…] robia väčšina z vás vonku pomocou xml založeného na prvkoch alebo atribútoch? Prečo? ‘

Začiatočníci vždy kladú túto otázku. Tí s malou skúsenosťou vyjadrujú svoje názory vášnivo. Odborníci vám hovoria, že nie je správna odpoveď. (Http://lists.xml.org/archives/xml-dev/200006/msg00293.html)

4.5: Čo sa zmenilo medzi SGML a XML?

Prísnejšia syntax a žiadne možnosti.

Hlavná syntaktická zmena je, že prvky EMPTY v dokumentoch DTDless musia používať trik Null End-Tag (napr. <img src=”pic” />), pretože bez DTD alebo Schema neexistuje žiadny spôsob, pre ktorý analyzátor vedel neočakávať end-tag. Ak je typ objektu označený ako EMPTY v DTD/Schéme, potom môže použiť buď NET alebo úplnú syntax koncovej značky (napr. <img src=”pic”></ img>).

Ďalšie syntaktické zmeny sú, že všetky hodnoty atribútov musia byť kótované; Neexistuje minimalizácia atribútov alebo prvkov; A všetko je malé a veľké písmená. Dôležitým doplnkom je, že viaceré deklarácie ATTLIST sú povolené, takže vnútorná podmnožina môže pridať k atribútom, ktoré už boli deklarované pre typ prvku.

Hlavné zmeny v definíciách typu dokumentu (DTD) sú v tom, čo môžete špecifikovať. Na zjednodušenie a uľahčenie zápisu spracovacieho softvéru bolo potlačené veľké množstvo možností deklarovania značiek SGML (pozri zoznam vynechaných funkcií). Najväčšou zmenou v správe slovníka je zavedenie schém W3C, ktoré umožňujú, aby úroveň validácie typu obsahu nebola k dispozícii v DTD a sú samy vyjadrené v Syntaxe XML dokumentov.

Hlavným doplnkom sú menné priestory, ktoré umožňujú schémam a dokumentom rozlíšiť zdroj typu typu a typu atribútu (vlastníctvo, pôvod alebo aplikácia). To vám umožní mať v rovnakom dokumente typy prvkov s rovnakým názvom, ale rôzne významy, napr. Tabuľku DocBook:table a TEI:table. Meno štartovacieho znaku (dvojbodka) bolo pridané do názvov XML, aby to umožnilo. Napriek jeho klasifikácii sa môže dvojbodka objaviť iba v strednom mene, nie na začiatku alebo na konci, a predpona xml: je vyhradená.

4.6: Môžem používať JavaScript, ActiveX, atď v XML súboroch?

Nie v samotnom súbore XML, ale prostredníctvom štýlu šablón.

To bude závisieť od toho, aké zariadenia budú vaše prehliadače používateľov implementovať. XML je o opisovaní informácií; Skriptovacie jazyky a jazyky pre vstavané funkcie sú softvér, ktorý umožňuje manipuláciu s informáciami na konci používateľa, takže tieto jazyky nemajú obvykle miesto v samotnom súbore XML, ale v štýloch šablón ako XSL a CSS a súbory skriptov pre Javascript atď. , Kde je možné ich pridať do vytvoreného kódu HTML.

Samotný XML poskytuje spôsob, ako definovať značku potrebnú na implementáciu skriptovacích jazykov: ako neutrálny štandard ani nepodporuje ani neodrádza ich používanie a neuprednostňuje jeden jazyk nad druhým, takže je možné použiť značku XML na ukladanie programového kódu, Odkiaľ to môže byť získané (napríklad) XSLT a opätovne vyjadrené v prvku HTML script.

Vkladanie skriptov na strane servera, podobne ako PHP alebo ASP, sa môže použiť s príslušným serverom na modifikáciu kódu XML za behu, ako sa dokument zobrazuje, rovnako ako s HTML. Autori by si však mali uvedomiť, že vloženie skriptov na strane servera môže znamenať, že súbor ako uložený nie je platný XML: stáva sa platným iba pri spracovaní a zobrazovaní, preto je potrebné dávať pozor pri používaní overovacích editorov alebo iného softvéru na spracovanie alebo správu týchto súbory. Lepším riešením môže byť použitie riešenia zobrazovania XML, ako je Cocoon.

Ak potrebujete vložiť skripty na webovej stránke, ktorú generujete z XML, musíte sa uistiť, že dva značky znakov a & buď unikli ako &lt; a &amp; Že každý obsah skriptu je priložený v sekcii CDATA tak, aby nebol videný ako označenie.

4.7: Môžem použiť Java pre vytváranie alebo správu súborov XML?

Istá.

Áno, akýkoľvek programovací jazyk je možné použiť na výstup dát z ľubovoľného zdroja vo formáte XML. Existuje rastúci počet front-endov a back-endov pre programovanie prostredia a prostredia pre správu dát na automatizáciu tohto. Java je práve najobľúbenejšia v súčasnosti.

Existuje veľké množstvo middleware (API) napísané v jazyku Java a iných jazykoch na správu údajov buď v XML, alebo s XML vstupom alebo výstupom. Existuje sada Java tutoriálov (so zdrojovým kódom a vysvetlením) k dispozícii na http://developerlife.com/tutorials/.

Prosím, neposielajte editor FAQ so žiadosťami o otázky týkajúce sa programových chýb Java. Opýtajte sa namiesto toho novej diskusnej skupiny Java.

4.8: Ako môžem dostať XML do alebo mimo moju databázu?

Požiadajte svojho výrobcu databázy

Takmer všetky systémy správy databáz teraz poskytujú XML importné a exportné moduly na pripojenie aplikácií XML s databázami.

V niektorých triviálnych prípadoch nastane zhoda medzi názvami polí v tabuľke databázy a názvami typov prvkov v schéme XML alebo DTD, ale vo väčšine prípadov bude potrebné niektoré programovanie, aby sa dosiahla požadovaná zhoda. To môže byť zvyčajne uložené ako postup, takže následné použitia sú iba príkazy alebo hovory s príslušnými parametrami.

Alternatívne väčšina databázových systémov teraz poskytuje formát výpisu XML, ktorý umožňuje exportovať tabuľku ako je, napríklad obklopením hodnôt poľa značkami nazvanými po názvoch polí. Napríklad voľba -x na príkaz mysql to urobí, napr

$ echo 'select * from news;' | mysql -X -u username -p password dbname

<?xml version="1.0"?>
<resultset statement="select * from news" 
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <row>
	<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">News Engine test item 1</field>
  </row>
</resultset>
$

V menej triviálnych, ale stále jednoduchých prípadoch by ste mohli exportovať písomnou rutinou správy, ktorá formátuje výstup ako dokument XML pridaním príslušných značiek ako literálov pred a po každej údajovej hodnote; A môžete importovať tak, že napíšete XSLT alebo podobnú transformáciu, ktorá formátuje údaje XML ako súbor načítania v preferovanom formáte databázy. Napríklad s nasledujúcimi údajmi:

<news>
  <entry xml:id="N1" stamp="0" date="0000-00-00" time="test">
    <title></title>
    <description>News Engine test item 1</description>
  </entry>
</news>

Môžete to premeniť na príkaz MySQL s lxprintf:

$ lxprintf -e entry \
  'INSERT INTO `news` VALUES (%s,%s,"%s","%s","%s","%s");\n' \
  'substring(@xml:id,2)' @stamp title @date @time description \
	mynews.xml

INSERT INTO `news` VALUES (1,0,"","0000-00-00","test","News Engine test item 1");
$

Používatelia z databázy alebo pozadia počítačovej vedy by si mali byť vedomí toho, že XML nie je systém správy databáz: je to textový systém označovania. Aj keď existuje veľa podobností, niektoré koncepty jedného z nich jednoducho neexistujú v druhom: XML nemá niektoré funkcie podobné databázam rovnakým spôsobom, ako databázy nemajú markupové. Je bežnou chybou domnievať sa, že XML je DBMS ako Oracle alebo Access, a preto má rovnaké možnosti. Nie je.

Používatelia databázy by si mali prečítať článok (Salminen a Tompa, 2001) [vďaka Bartovi Lateurovi na to, aby to bolo možné identifikovať.] Ronald Bourret má tiež dobrý zdroj informácií o XML a databázach, ktoré sa zaoberajú natívnymi XML databázami na http://www.rpbourret.com/xml /XMLAndDatabases.htm.

V poznámke o vyhľadávaní nájdete niekoľko informácií o jazyku XQuery (XQL).

4.10: Čo je obor názvov?

Názov DTD/Schema alebo fragment identifikovaný identifikátorom URI (URL).

Randall Fowle píše:

Oblasť názvov je kolekcia názvov prvkov a atribútov identifikovaných referenciou Identifikátor jednotného zdroja. Odkaz sa môže objaviť v koreňovom prvku ako hodnota atribútu xmlns. Napríklad referencia menného priestoru pre dokument XML s koreňovým prvkom <x> sa môže zobraziť takto:

<x xmlns="http://www.company.com/company-schema">

V jednom dokumente XML sa môže objaviť viac ako jeden názov, aby sa názov mohol používať viackrát. Každá referencia môže deklarovať predponu, ktorú má použiť každý názov, takže predchádzajúci príklad sa môže zobraziť ako

<x xmlns:spc="http://www.company.com/company-schema">

Ktorý by nominoval priestor názvov predpony “spc”:

<spc:name>Mr. Big</spc:name>

James Anderson píše:

Vo všeobecnosti si všimnite, že väzba môže byť tiež vykonaná predvolenou hodnotou pre atribút v DTD.

Odkaz nemusí byť fyzický súbor; Je to jednoducho spôsob, ako rozlišovať medzi mennými priestormi. Odkaz by mal informovať osobu, ktorá sa pozerá na dokument XML, kde nájde definície názvov prvkov a atribútov pomocou daného menného priestoru. Ronald Bourret udržiava Často kladené otázky na adrese http://www.rpbourret.com/xml/NamespacesFAQ.htm.

4.11: Aký softvér XML je k dispozícii?

Tisíce programov: príliš veľa na zoznam tu.

Stovky, možno tisíce programov. Podrobnosti už nie sú uvedené v týchto častých otázkach, pretože sú teraz príliš veľa a veľmi rýchlo sa menia, aby boli aktuálne: pozrite sa na webové stránky XML na adrese http://xml.coverpages.org/ a sledujte oznámenia na zoznamoch A diskusné skupiny.

Podrobný návod na niektoré príklady programov XML a koncepty, ktoré sa nachádzajú za nimi, nájdete v publikácii editora (Flynn, 1998). Existuje niekoľko implementácií kľúčových jazykov na spracovanie a dopyt XML (XSLT2, XQuery a XSL: FO), z ktorých najpopulárnejší je pravdepodobne Saský.

Softvér SGML, ako napríklad Jade a SP (teraz OpenSP), zostáva zdrojom niekoľkých nástrojov, ktoré tiež spracovávajú XML, najmä onsgmls validujúce analyzátor a sgmlnorm (pozrite časť Konverzia platného HTML na XHTML).

Podrobnosti o niektorých softvérových produktoch XML sa uchovávajú na krycích stránkach XML. Prehliadače si pozrite otázku týkajúcu sa prehliadačov XML a podrobností zoznamu mailov xml-dev pre vývojárov softvéru. Bert Bos vedie zoznam niektorých vývojov XML v Bison, Flex, Perl a Python. Dlho vytvorené motory na vývoj a vývoj aplikácií ako Omnimark a SGMLC majú všetky možnosti XML a všetky poskytujú API.

XML editorov

Výber editora je jedným z najťažších úloh, pretože každý má rôzne požiadavky a úrovne vedomostí a zdá sa, že to, čo sa javí ako neuveriteľne jednoduché pre jedného používateľa, sa môže zdať ťažko iným. Všetci redaktori XML usmerňujú používateľa pri konštrukcii alebo údržbe dokumentov XML – to je ich účel v živote.

Najjednoduchšie z nich len sledovať zodpovedajúce hranaté zátvorky, štartovacie štítky a koncové značky a vyvážené úvodzovky, čo vedie k dobre vytvorenému súboru. Výkonnejší redaktori si môžu prečítať DTD alebo schému a poskytnúť výber menu pre manipuláciu s prvkami a úpravu atribútov a zabrániť vytváraniu neplatných dokumentov. Najsilnejšie možno použiť aj pre vývoj DTD alebo Schema a pre spracovanie XML pomocou XSLT alebo XSL: FO.

Niektoré sú editory textového módu – zobrazujú všetku značku a text s ničím skrytým, často používajúc farbu na rozlíšenie značiek a odsadenie na zobrazenie štruktúry. Väčšina redaktorov má taktiež synchrónny typografický režim, ktorý používa šablónu so štýlmi na formátovanie zobrazenia, takže sa zdá, že upravujete úplne vykreslený pohľad na dokument (často nazývaný WYSIWYG, hoci v skutočnosti nie je). Textové editory znepokojujú niektorých používateľov, pretože viditeľné sú špičaté zátvorky (myslí si, že to je programovanie); Synchrónne typografické editory znepokojujú ostatných ľudí, pretože špičaté zátvorky nie sú viditeľné, čo znemožňuje vidieť, kde začína a končí veci.

Výkonnejšie editory sú programovateľné, takže povaha a účinok značkovania a činnosti používateľa môžu byť obmedzené alebo vylepšené skripty v jazykoch JavaScript, VBscript, Python, Tcl, Lisp atď .; Alebo XSLT.

Nenechajte sa pokúšať používať editor XML, ako je napríklad program Poznámkový blok, vi alebo textedit pre dokumenty XML: končia sa iba v slzách, hnevách a nátlaku. Získajte správne vybavené. (Samostatný produkt Microsoft Notepad spoločnosti Microsoft je použiteľný na úpravu malých inštancií, nie však na vývoj DTD alebo schémy.)

Wikipedia má porovnanie editorov na adrese http://en.wikipedia.org/wiki/Comparison_of_XML_editors, ale neposkytuje žiadne kvalitatívne informácie. Existuje starý (2004) porovnávací dokument o výbere XML editora od Thijsa van den Broka, ktorý môže pomôcť s metodikou, hoci výrobky nie sú aktuálne.

Niekoľko editorov je k dispozícii bezplatne alebo bezplatne na demo/skúšku, ale pokiaľ je známe, jediný úplne open-source je Emacs s nxml-mode (pre schémy W3C a RNG) alebo psgml-mode (pre DTD ).

Na stránke http://xml.beginthier.nl/ je stránka užitočných odkazov pre používateľov jazyka XML v holandčine.

Informácie pre vývojárov čínskych XML systémov nájdete na čínskom XML Now! Internetová stránka spoločnosti Academia Sinica: http://www.ascc.net/xml/ Táto stránka obsahuje často kladené otázky a testovacie súbory.

4.12: Chýba softvér

Užitočné programy, ktoré zmizli z pohľadu

Existuje pravdepodobne desiatky užitočných a produktívnych programov, ktoré zanikli. Niekedy sa spoločnosť jednoducho zbila a zmizla; Niekedy to bol súkromný alebo otvorený zdroj, ktorý musel autor opustiť; A niekedy (najhoršie) spoločnosť prevzala iná spoločnosť, ktorá vôbec nevedela o XML, a potom ju odkúpila iná, ktorá nemala žiadnu stopu a výrobky sa stali opustené.

Toto je zoznam tých, ktorých sme vedeli a milovali, avšak v niektorých prípadoch stále máme inštalačné disky a softvér sa stále môže dať vykonať s vhodnou (zastaranou) platformou.

Near & Far (Microstar)
Grafický SGML DTD-designový program pre Windows 95, ktorý sa práve dostal do éry XML (mohol by sa exportovať v syntaxe deklarácie XML, ale nie importovať). Pozoruhodná je hlavne pre jeho jednoduché používanie a atraktívne navrhnuté interaktívne grafické znázornenie štruktúry dokumentu (stále používa niekoľko fanúšikov pre dokumentáciu).

DynaText/DynaTag/DynaWeb (Elektronické knižné technológie)
Súbor softvéru so systémom Windows 95 / NT obsahujúci databázu SGML a webový server slúžiaci na prevod HTML z dokumentov programu Word.

Kľúčovou zložkou bola DynaTag, ktorá umožňuje importovať dokument programu Word a identifikovať vzory v značke (non-XML), ktorá je mapovaná na prvky v ad-hoc výstupnom dokumente SGML. Užívateľsky voliteľné mapovania vám umožňujú zapuzdriť položky zoznamu do skutočného zoznamu a vo všeobecnosti prekonať prekážku v súboroch Word .doc na vytvorenie označeného výstupu. Toto by potom mohlo byť následne spracované do súladu so známym DTD. S dostatočnými príkladmi podobne zostavených súborov programu Word by mohlo dôjsť k uvoľneniu celej ich zbierky na hromadnú konverziu.

Microsoft SGML Autor pre Word
Napriek svojmu názvu, nie editorovi, ale konvertorom. Použil mapovanie z textových štýlov na značku SGML a skutočne mohol urobiť kruhovú bezstratovú konverziu. Zamerané na autorské komunity, ktoré sa nedokázali alebo by sa naučili vytvárať alebo upravovať v SGML, umožňovali tvorbu obsahu v programe Word a editáciu v SGML a aby potom dokument previedli späť do programu Word, aby ich autori mohli opätovne upraviť. Pravdepodobne položka za políčko pre zmluvu, spoločnosť Microsoft ju nikdy nepodporila a ani jej vlastný helpdesk neveril, že je pravý.

Panorama (SoftQuad)
Plugin pre program Netscape, ktorý umožňuje prevzatie súborov SGML s referenčným štýlom (ktorý fungoval bezchybne, akonáhle sa dostanete visieť na mierne nepárne odkazovanie). Taktiež implementovali obojsmerné odkazy HyTime a mohli by ste zverejniť svoje odkazy.

K dispozícii aj ako Panorama Publisher, v podstate rozšírenú verziu v samostatnej forme pre veľkoobjemové publikovanie dokumentov. Jeho tabuľka úprav štýlov zostáva jedným z najlepších príkladov manipulácie s interaktívnym štýlom.

Autor/Editor (SoftQuad)
Jeden z prvých skutočne synchrónnych typografických editorov pre SGML (a XML, v neskoršej inkarnácii ako XMetaL). V rozsiahlom používaní už mnoho rokov spolu so zjednodušeným súrodencom HoTMetaL.

4.13: Čo sú moje informácie? DÁTA alebo DOKUMENT?

Záleží na tom, na čo ju používate.

Niektoré dôležité rozdiely existujú medzi hlavnými triedami aplikácií XML a spôsobom, akým sa používajú.

Dve triedy aplikácií sú zvyčajne označované ako aplikácie “dokument” a “dáta”, čo sa odráža v softvéri, ktorý je zvyčajne (ale nie vždy) zameraný na jednu triedu alebo druhú.

Aplikácie v štýle dokumentov

Sú to ako tradičná práca vydavateľov: text a obrázky v štruktúrovanom prostredí s písmenami a formátovaním. Vo väčšine prípadov to zahŕňa webové stránky, rovnako ako materiál určený pre tlač PDF alebo tlač ako knihy a časopisy. Charakteristickým znakom žiadostí o dokumenty je to, že používajú zmiešaný obsah (napr. Subelementy v texte).

Aplikácie v štýle dát

Tieto sa nachádzajú najmä v elektronickom obchode, webových službách a kontrole procesov alebo aplikácií, pričom XML sa používa ako kontajner na informácie uložené alebo prechody medzi systémami, zvyčajne neformátované a neviditeľné pre ľudí. Ich znakom je absencia zmiešaného obsahu a výskyt číselných alebo kategorických údajov.

Existuje tretia dôležitá oblasť – vývoj webu, ktorého požiadavky sú často hybridné a zahŕňajú vlastnosti dokumentových aj dátových aplikácií, pretože obsahujú čiastočne statický opisný text a čiastočne dynamické údaje.

Zatiaľ čo teoreticky by bolo možné použiť softvér triedy údajov na písanie nového softvéru alebo softvéru triedy dokumentov na vytváranie faktúr, bol by pravdepodobne veľmi neoptimálny. Vzhľadom na povahu informácií, ktoré používajú tieto dve triedy, aplikácie triedy údajov majú tendenciu používať schémy a aplikácie triedy dokumentov majú tendenciu používať DTD, ale existuje značný stupeň prekrývania.

Spôsob, akým sa XML používa v týchto dvoch triedach, je tiež rozdelený do dvoch: XML môže byť použitý ručne alebo pod kontrolou programu.

Ručné používanie

To znamená, že upravujete a udržiavate súbory pomocou editora, z klávesnice, keď vidíte informácie na obrazovke. Je to vhodné pre jednotlivé dokumenty, najmä v oblasti publikovania, pre webové stránky a pre vývojárov pracujúcich na jednotlivých inštanciách, ako sú vzorové súbory alebo šablóny webových stránok. Manuálne spracovanie tiež zahŕňa spustenie výrobných programov, ako sú formátovače, konvertory a databázové dotazy, a to jednotlivo, pričom klávesnica a myš normálnym spôsobom. Veľká časť softvéru na manuálne použitie môže byť spustená z príkazového riadku, čo uľahčuje používanie pre jednorazové aplikácie a skryté aplikácie, ako sú webové skripty.

Programovateľné využitie

Znamená to písať programy, ktoré volajú softvérové ​​služby z API, knižníc alebo siete, aby spracovali XML súbory z vnútra programu. Súbory XML v dátových aplikáciách sa takmer nikdy nedajú manuálne upravovať. Ide o bežný spôsob prevádzky pre aplikácie elektronického obchodu, webovú automatizáciu, webové služby a ďalšie ovládacie prvky procesov alebo aplikácií. K dispozícii sú knižnice a rozhrania API pre mnoho jazykov, vrátane Java, C a C ++, rovnako ako bežné skriptovacie jazyky ako Python, Perl, Tcl, Ruby atď.

Okrem týchto osí existujú v súčasnosti dva rôzne spôsoby spracovania údajov XML, mapovaných na pamäť alebo spúšťaných udalosťami, zvyčajne označovaných názvami ich pôvodných inštancií, Document Object Model (DOM) a Simple API for XML (SAX ). Obaja používajú model inžinierstva dokumentov založený na stromovej štruktúre hierarchického označovania dokumentov známej ako Grove (kolekcia stromov, ktorá je efektívnou mapou v pamäti výsledku analýzy paralelného dokumentu). V tomto modeli je možné identifikovať každý “uzol” (informácia) z vonkajšieho prvku nadol cez každý prvok a atribút na každý kus neoznačeného textu. Pre aplikácie využívajúce schémy je definovaná informácia o schvaľovaní po schéme (PSVI, ekvivalentná háji), ktorá špecifikuje, aké informácie má analyzátor sprístupniť aplikácii.

Joe Fawcett píše:

(v <eFIrHKtCGHA.2920@tk2msftngp13.phx.gbl> )

Kratek "vozlišče" je generični izraz za katero koli od mnogih vrst gradnikov XML, vključno z elementom : <myElement />; atribut : <myElement myAttribute = "myValue" />; in besedilo vozlišča : <My Text Node>

Obstajajo tudi pripombe [ Comment Declarations ], Navodila za obdelavo  in nevidno dokumentno vozlišče, ki predstavlja osnovni  XML dokument, kot tudi druge.

Zelo poenostavljena aplikacija, ki temelji na aplikaciji, uporablja  celoten dokument XML v pomnilniku in nato omogoča dostop do vsakega vozlišča v vsakem drevesu v grobu; Medtem ko aplikacijo, ki temelji na  dokumentaciji in dogodkih XML na osnovi SAX , sproži pojavitev vozlišč, ki so se zgodila, za katera so bila pravila ali dejanja programirana. (Dejansko je bolj zapletena in obe metodi delita skupne koncepte.)

Oba modela zagotavljata abstraktni API za ustvarjanje, dostopanje in manipulacijo dokumentov XML. Vezavni API za določen programski jezik zagotavlja poseben API. Dobavitelji zagotavljajo posebne API-je, ki omogočajo eno ali drugo metodo, da poizveduje in manipulira z dokumenti XML. Obe vrsti analizatorja sta bila izvedena v mnogih jezikih in v številnih operacijskih sistemih in vmesnikih. Za DOM in SAX so pogosto zastavljena vprašanja.

4.14: Ali moram spremeniti katero koli mojo strežniško programsko opremo za delo z XML?

Poskrbite, da strežnik pošlje datoteke XML kot besedilo / xml

Če imate statične datoteke. Edine spremembe so potrebne, da se zagotovi, da vaš strežnik vrne .xml , CSS , .dtd , .xls , in vse druge vrste datotek, ki jih uporabljajo kot pravilne vrste MIME vsebine (medijev).

Podrobnosti o nastavitvah so na voljo v RFC 3023. Popularna strežniška programska oprema, kot je Apache HTTPD, že ve.

Če ne, uredite datoteko mime-tipov  (ali enakovrednega: kot upravljavec strežnika že veste, kje želite to narediti?) In dodajte ali uredite ustrezne vrstice za pravilne vrste medijev. Na nekaterih strežnikih (npr. V Apacheju) lahko posamezni ponudniki vsebin ali lastniki imenika spremenijo MIME-tipe za določene vrste datotek iz njihovih lastnih imenikov z uporabo direktiv v datoteki .htaccess . Zahtevane vrste medijev so:

  • text / xml za dokumente XML, ki jih "berljivi neformalni uporabniki";
  • aplikacija / xml  za dokumente XML, ki niso berljivi za običajne uporabnike;
  • text / xml-external-parsed entitete  za zunanje analizirane entitete, kot so fragmenti dokumentov (npr. ločena poglavja, ki tvorijo knjigo), odvisno od berljivosti  besedila / xml ;
  • aplikacija / xml-external-parsed-entity  za zunanje analizirane entitete, za katere velja aplikacija za ločljivost berljivosti  / xml ;
  • aplikacija / xml-dtd  za datoteke in module DTD, vključno z nizom znakovnih enot.

RFC ima druge predloge za uporabo pripono tipa xml za identifikacijo pomožnih datotek, kot je XSLT ( application / xslt + xml ).

Če zaženete skripte XHTML, ki jih želite obravnavati z XML in ne HTML, jih boste morda morali urediti, da ustvarite ustrezno deklaracijo tipa dokumenta in pravilen tip medija, če vaša aplikacija zahteva preverjanje.

4.15: Ali lahko še vedno uporabljam vključitve na strani strežnika?

Da, preverite, ali se izhod ujema z XML

Deluje, dokler se tisto, kar se ustvari, konča kot del datoteke, ki je skladna z XML (tj. Veljavna ali samo dobro ustvarjena).

Šablóny nahradzujúce skriptovacie tagy na strane servera, ako sú shtml, PHP, JSP, ASP, Zope, atď. Ukladajú takmer platné súbory pomocou komentárov, pokynov na spracovanie alebo značiek iných ako XML, ktoré sa v mieste služby nahrádzajú textom alebo značkou XML (Nie je jasné, prečo niektoré z týchto systémov používajú značku bez HTML/XML). Existujú aj niektoré preprocesory založené na XML pre formáty ako XVRL (eXtensible Value Resolution Language), ktoré vyriešia špecializované odkazy na externé dáta a výstup normalizovaného súboru XML.

4.16: Môžem (a moji autori) stále používať inklúzie na strane klienta?

Áno, uistite sa, že výstup zodpovedá XML

Enako pravilo velja za uvrstitev na strani strežnika, tako da boste morali, da se zagotovi, da je vsaka vgrajena koda, ki se prenaša tretji osebi motorja (npr. Klici na SQL, VB, Java, itd), ne vsebuje nobenih znakov, ki bi se lahko razlagalo kot Oznaka XML (tj. Brez kota ali pomika). Uporabite tudi oddelek z oznako CDATA, da preprečite analizo aplikacije XML z vdelano kodo, subjekti A & Character.

4.17: Za mojega managerja / odjemalca / investitorja / svetovalca moram izdelati poročilo XML. Kaj naj se spomnim?

Neproduktivno večnamensko fleksibilno označevanje

Tad McClellan piše:

  • XML ni označevalni jezik. XML je meta-jezik, to je jezik, ki vam omogoča, da določite svoje lastne blagovne znamke (glej definicijo).
  • XML je označevalni jezik [dve (navidezno) nasprotujoči si izjavi je ena sama naprava z pozornostjo, ki mi je všeč], ne programski jezik. XML je indikacija: ničesar ne počne, mora storiti stvari.
  • XML ni lasten: vaši podatki ne morejo biti zadržani kot drugi.
  • XML omogoča večkratno uporabo vaših podatkov.
  • Dobro oblikovane aplikacije XML najpogosteje ločujejo vsebino iz »predstavitve«. Očitati morate, kaj je bolj navidezno (z izjemo številčne ali kategorične vsebine podatkov, ki ni nikoli zamišljena za ljudi).

Če rečemo, da so "podatki v XML-u", je precej neuporabna trditev, podobna tistemu, kar je "knjiga v naravnem jeziku". Da bi bilo koristno, moramo najprej opredeliti "Uporabili smo XML opredeliti lastne označevalni jezik" (in povedati, kaj to je), kot poroča "Knjiga je v francoščini."

Klasičen primer večnamenskega in ločenega, ki ga pogosto uporabljam, je farmacevtsko podjetje. Imajo veliko baz podatkov o specifičnem zdravilu, ki ga morajo objaviti, kot so:

  • Poročila FDA;
  • informacije o drogah za založnike / kataloge zdravil;
  • "Predpiše me" brošure za pošiljanje zdravniku;
  • majhne koščke papirja, ki se lahko vlečejo v škatlo;
  • nalepke na steklenicah;
  • dve strani drobnega tiska, da si ogledate oglas v Reader's Digest;
  • navodila za odpremo pacienta s strani lokalnega farmacevta;
  • itd

Brez ločitve vsebin in predstavitve morajo ohraniti bistveno enake informacije na 20 lokacijah. Če ni prostora, ljudje umirajo, odvetniki se bogatijo in družba za zdravila se poslabša. Z XML (ali SGML) obdržijo en niz skrbno potrjenih informacijah in pisati 20 programov [ali en program z 20 izhodi (ED)], za pridobivanje in formata za vsako vlogo. Isto 20 programov se lahko zdaj uporablja za vse več sto zdravil, ki jih prodajajo.

Na področju spletnega razvoja je največja stvar, ki jo ponuja XML, določiti, kaj se dogaja z HTML-jem:

  • brskalniki vam omogočajo, da vidite nezdružljiv HTML;
  • HTML je omejen na en niz oznak (»oznake«).

Če pustite zlomljeno delo z HTML-jem (trenutno), potem ni razloga za njegovo odstranitev. Spletne strani so torej blagovne znamke juh, ki so nepotrebne za nadaljnjo predelavo. XML določa, da se obdelava ne more nadaljevati, če XML ni skladen, zato boste nadaljevali z delom, dokler ne bo skladen. To je več dela naprej, a rezultat ni mrtev.

Če želite imena imena, mest, podjetij itd. V HTML-ju nimate veliko možnosti, ki vam omogočajo razlikovanje med njimi. XML vam omogoča imenovanje stvari, kot so:

<oseba> Charles Goldfarb </ person> je delal v podjetju <IBM> IBM </ company>

vam daje prilagodljivost, ki jo nimate z HTML-jem:

<B> Charles Goldfarb </ B> delal na <B> IBM </ B> 

Zahvaljujoč XML-u vam ni treba zaviti podatkov v oznake, ki omejujejo vaše možnosti.

4.18: Existuje testovanie súladu pre procesory XML?

Áno, bolo: https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=xslt

James Clark má súbor skúšobných prípadov na testovanie analyzátorov XML na adrese http://www.jclark.com/xml/, ktorý obsahuje test o súlade s “kanonickým XML”.

Carmelo Montanez píše:

NIST vyvinula množstvo testov XSLT/XPath, ktoré budú súčasťou oficiálneho balíka OASIS XSLT/XPath (ešte neuvoľnené). Očakávaná produkcia sa môže mierne líšiť od jednej implementácie k druhej. Technický výbor OASIS XSLT má riešenie tohto problému, avšak naše testy zatiaľ nerealizujú takéto riešenie. Odošlite všetky pripomienky na adresu carmelo@nist.gov.

Jon Noring píše:

Pre tých, ktorí majú záujem, som vzal súčasný a kompletný Unicode 3.0 ‘obsadenie’ znakov a ich hexadecimálne kódy a vytvoril jednoduchý XML dokument na testovanie XML prehliadačov pre zhodu s Unicode. Zatiaľ nie je dokončená – potrebujem pridať komentáre a opraviť zobrazenie znakov RTL (tj hebrejčina, arabčina). Nájde sa na adrese: http://www.windspun.com/unicode-test/unicode.xml. Je pomerne veľká, má takmer 900K, takže sa pripravte. IE5 robí veľa znakov v tomto dokumente XML – a pre tie, ktoré to robí, zdá sa, že to robia správne. Teším sa na to, keď bude Opera robiť rovnako. Netestovala som aktuálnu verziu Mozilla / Netscape pre zhodu s formátom Unicode.

4.19: Už som dostal SGML DTD: ako ich môžem previesť na použitie s XML?

Upravte ručne alebo použite softvér ako Near+ Far Designer.

Existuje množstvo projektov, ktoré umožňujú konvertovať bežné alebo populárne SGML DTD na formát XML (napr. TEI DTD (Lite a plné verzie) a DocBook DTD sú dostupné v SGML a XML vo formátoch Schema a DTD).

Seán McGrath píše:

Prevod SGML DTD na XML:

  1. Žiadny ekvivalent deklarácie SGML. Kľúčové slová, znaková sada atď. Sú v podstate stanovené;
  2. Minimalizácia značky nie je povolená, takže <!ELEMENT x – O (A,B)> sa stáva <!ELEMENT X (A, B)> a <!ELEMENT x – O EMPTY> sa stáva <!ELEMENT X EMPTY>;
  3. #PCDATA sa musí vyskytovať len v krajnej ľavej (tj v prvej) v modeli OR, napr. <!ELEMENT x – – (A|B|#PCDATA|C)> (v SGML) stáva <!ELEMENT x (#PCDATA|A|B|C)*> a <!ELEMENT x (A,#PCDATA)> je nezákonné.
  4. Žiadne prvky CDATA, RCDATA [deklarovaný obsah];
  5. Niektoré typy atribútov SGML nie sú povolené v XML, napr. NUTOKEN;
  6. Niektoré predvolené hodnoty atribútov jazyka SGML nie sú povolené v XML, napr. CONREF a CURRENT;
  7. Pripomienky nemôžu byť inline k vyhláseniam, ako je
    <!ELEMENT x - - (A,B) -- an SGML comment in a declaration -->
  8. V XML nie je prítomná celá skupina voliteľných funkcií SGML: všetky formy minimalizácie značiek (OMITTAG, DATATAG, SHORTREF atď.); Definovanie procesov prepojenia; Viaceré DTD na dokument; A mnoho ďalších: pozri http://www.w3.org/TR/NOTE-sgml-xml-971215 pre zoznam bitov SGML, ktoré boli odstránené pre XML;
  9. A takmer v neposlednom rade žiadny CONCUR!
  10. Existujú niektoré dôležité rozdiely medzi vnútornou a vonkajšou časťou podmnožiny DTD v XML: Označené sekcie sa môžu vyskytovať len vo vonkajšej podmnožine; A Parametrické entity musia byť použité na nahradenie celých vyhlásení v internej časti podmnožiny DTD, napr. Nasledujúci je neplatný XML:
    <!DOCTYPE x [ 
    <!ENTITY % modelx "(A|B)*"> 
    <!ELEMENT x %modelx;> 
    ]> 
    <x></x>
    

Ďalšie informácie nájdete v článku McGrath (1998).

4.20: Ako môžem zahrnúť jeden DTD (alebo fragment) do iného?

Použite parameter entitu, rovnako ako pre SGML

Toto funguje presne rovnako ako pri SGML. Najprv vyhlasujete entitu, ktorú chcete zahrnúť, a potom ju odkazujete podľa mena ako entity parametrov:

<!ENTITY % mylists SYSTEM "dtds/listfrag.ent"> 
... 
%mylists;

Takéto vyhlásenia tradične smerujú k vrcholu hlavného súboru DTD, kde je možné ich spravovať a udržiavať, ale to nie je nevyhnutné, pokiaľ sú deklarované pred ich použitím. Pre tento účel používate Syntax parametrov (percentuálny znak), pretože súbor sa má zahrnúť do času kompilácie DTD, a nie pri analyzovaní samotnej inštancie dokumentu.

Všimnite si, že URI je povinný v XML ako systémový identifikátor pre všetky externé referencie súborov: štandardné pravidlá pre dereferencing URI platia (predpokladajme rovnakú metódu, server a adresár ako obsahujúci dokument). Formálny verejný identifikátor možno použiť aj podľa rovnakých pravidiel ako inde.

4.21: Ako môžem do môjho XML zahrnúť podmienené vyhlásenie?

Nemôžete ako také: XML nie je programovací jazyk.

Nemôžete takto: XML nie je programovací jazyk, takže nemôžete povedať veci ako

<foo if{DB}="A">bar</foo> 

Môžete však mať podmienené kritériá v schéme, DTD alebo procesore a niektoré DTD poskytujú atribúty pre podmienené spracovanie.

Ak potrebujete urobiť prvok voliteľný, na základe niektorých interných alebo externých kritérií, môžete to urobiť v schéme. DTD nemajú interný referenčný mechanizmus, takže nie je možné vyjadrovať tento druh podmienenosti v DTD na úrovni jednotlivých prvkov.

Je možné vyjadriť podmienku prítomnosti alebo absencie v DTD pre celý dokument pomocou parametrov Entity ako booleovských prepínačov, ktoré zahŕňajú alebo ignorujú určité časti DTD na základe nastavení buď pevne pripojených v DTD alebo dodaných vo vnútornej podskupine. DTD používajú tento mechanizmus na implementáciu modularity.

Alternatívne môžete urobiť prvok úplne voliteľný v DTD alebo schéme a poskytnúť kód vo vašom softvéri na spracovanie, ktorý kontroluje jeho prítomnosť alebo absenciu. Tým sa kontroluje až do fázy spracovania: jedným z dôvodov pre schémy je poskytnúť tento typ kontroly v čase vytvárania alebo úpravy dokumentov.

V jazykoch spracovania, ako je napríklad XSLT, existujú konštrukty na podmienené spracovanie, a to ako pre jednoduché IF, tak aj pre exkluzívny výber prípadu:

<xsl:if test="@foo='bar'">
  <xsl:text>Hello, world!</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:otherwise>
    <xsl:apply-templates/>
  </xsl:otherwise>
</xsl:choose>

Dokument DocBook a mnohé ďalšie DTD a schémy poskytujú atribúty na niektoré prvky pre špecifikáciu efektívnosti, pričom uvádzajú, ktoré časti dokumentu platia za akých okolností. Softvér na spracovanie môže tieto izolovať a podľa toho spracovať.

4.22: Aký je príbeh o XML a EDI?

Dostať sa tam: stále potrebuje viac práce a súhlas.

Elektronická výmena údajov sa v elektronickom obchode už dlhé roky používa na výmenu dokumentov medzi obchodnými partnermi. Vyžaduje si osobitný proprietárny softvér a je neúmerne nákladné zavádzať pre malé a stredné podniky. Existujú ťahy, ktoré umožňujú dokumentom EDI cestovať vo vnútri XML, ako aj návrhy na nahradenie existujúcich formátov EDI s XML. Na http://www.eccnet.com/xmledi/guidelines-styled.xml a http://www.geocities.com/WallStreet/Floor/5815/guide.htm nájdete dokumenty s pokynmi.

Pravdepodobne najväčším efektom na EDI je nárast pokusov o štandardizáciu dokumentov a transakcií XML. Štandard spoločne sponzorovaný OASIS a Organizáciou spojených národov / CEFACT je ebXML (Electronic Business XML), ktorý poskytuje schémy pre spoločné typy obchodných transakčných dokumentov. Normálne kancelárske dokumenty (listy, prehľady, tabuľky atď.) Sa už vykonávajú s použitím materiálov, ktoré sú uvedené vyššie v dokumente OASIS Open Office XML Formats TC. Ostatné štandardy ako OAGI a RosettaNet prechádzajú testovaním interoperability s ebXML.

Okrem plných štandardov existuje veľa súborov podložiek, nástrojov interoperability a knižníc komponentov, ako je XML Common Business Library (xCBL).

Oddiel 5: Prílohy

5.1: Odkazy

Existuje oveľa väčšia bibliografia XML a SGML na http://xml.coverpages.org/biblio.html.

Tento zoznam sa vzťahuje iba na dokumenty, na ktoré sa priamo odkazuje v týchto častých otázkach.

Referencie

Bray, Tim; Jean Paoli; CM Sperberg-McQueen; Eve Maler; A François Yergeau (vydavatelia) (2004) Extensible Markup Language (XML) 1.0, Boston: W3C.

DuCharme, Bob (1999) XML: Anotovaná špecifikácia, Upper Saddle River, NJ: Prentice Hall PTR, ISBN 0-13-082676-6.

Ensign, Chet (1995) “Ak SGML je tak inteligentný, ako príde, nie je bohatý?”. V Proc. SGML’95, Boston, MA, december 1995.

Flynn, Peter (2014) Formátovanie informácií: Úvod do sádzania s LATEX, Cork, Írsko: Silmaril Consultants.

Flynn, Peter (1998) Pochopenie nástrojov SGML a XML, Boston, MA: Kluwer, ISBN 0-7923-8169-6.

Flynn, Peter (1995) “Viac využívanie značkovania”. V Proc. SGML’95, Boston, MA, december 1995.

Lamport, Leslie (1994) LATEX: Systém prípravy dokumentov, Reading, MA: Addison-Wesley, ISBN 0-201-52983-1.

Maler, Eve a Jeanne el Andaloussi (1995) Vývoj SGML DTDs: od textu po modelovanie až po Markup, Upper Saddle River, NJ: Prentice Hall PTR, ISBN 0133098818.

McGrath, Seán (1998) XML príkladom: Budovanie e-komerčných aplikácií, Upper Saddle River, NJ: Prentice Hall PTR, ISBN 0139601627.

Pawson, Dave (2002) XSL-FO: Vytvorenie XML vyzerá dobre v tlači, Sebastopol, CA: O’Reilly, ISBN 0-596-00355-2.

Salminen, Airi a Frank Tompa (2001) “Požiadavky na databázové systémy XML dokumentov”. V Proc. Sympózium ACM o inžinierstve dokumentov, Atlanta, GA, november 2001.

Sperberg-McQueen, Michael a Lou Burnard (vydavatelia) (2002) “Gentle Introduction to XML”. V “TEI P4: Usmernenia pre kódovanie a výmenu elektronických textov”, Oxford, Providence, Charlottesville, Bergen: Konzorcium iniciatívy na kódovanie textu.

Truss, Lynne (2003) Eats, Shoots & Leaves: Prístup nulovej tolerancie k interpunkcii, Londýn: Knihy profilov, ISBN 1-86197-612-7.

5.2: Ako ďaleko ideme?

Do nekonečna a ešte ďalej!

Spustenie vyhľadávacieho zariadenia na tomto FAQ prinieslo niekoľko zaujímavých výsledkov z upozornení na zápasy aj na zápasy. Pohlavie kleslo na 10. miesto.

  • Najčastejšou požiadavkou (celkovo 5%) sú teraz jednotlivé znaky, a to buď ako názvy entity znakov alebo ako číselné hodnoty, alebo jeden z značkovacích znakov (<alebo &).
  • V posledných mesiacoch sa druhá najväčšia kategória stabilizovala ako slovo dtd (3%).
  • Po tretie prichádza CDATA na úrovni 2% (s ohľadom na zneužívanie tak ťažko prekvapujúce).
  • Štvrtý sa rovná 1% príde XSD a XSL, ani jeden z nich sa tu podrobne nezaoberá, pretože majú svoje vlastné často kladené otázky.

Zábavné kúsky sú hlboko v chvoste, rovnako ako používateľ z Broomfield, CO, ktorý napísal “Ako môžem analyzovať telefón, aby to lepšie porozumel?” (Rozdelenie na kusy je pravdepodobne začiatok); Ten, ktorý od Phillipines chcel vedieť, ako “opísať päť základných interakcií medzi röntgenovými lúčmi alebo gamma lúčmi s hmotou” (skúste DS9); Ten z Culver City, CA, ktorý sa pýtal, “ako sú organizmy echinodermata odlišné od nižších bezstavovcov?” (Ako keby som sa zaujímala?); A ten z Lexingtonu, KY, ktorý sa pýtal: “Ako pridám dve textové polia?” (Dostal ma tam, d00d, ako vynásobíte hlávkový šalát a uhorku?).

Pre SGML-zvedavý medzi našimi čitateľmi, to je:

<!element cut - o empty>
<!attlist cut mustard (mustard) #required> 
<!-- :-) --> 

5.3: Nie XML FAQ

Často kladené otázky

Toto je zoznam tém, o ktoré sa ľudia spýtali alebo hľadali v súvislosti s otázkami XML, ktoré nie sú priamo spojené s XML a jeho technológiou, ani s často kladenými otázkami. Obsahuje aj niektoré definície spätnej väzby v prospech používateľov, ktorí prišli do jazyka XML rôznymi spôsobmi a nemuseli byť vystavení pozadiu publikovania dokumentov.

Čitatelia sa môžu tiež pokúsiť pozrieť na stránku “Nie sú otázky týkajúce sa SGML” od Joe English na adrese http://www.flightlab.com/~joe/sgml/faq-not.txt.

AJaX

Asynchrónne HTTP, Javascript a XML. Technika na zlepšenie interaktivity webových stránok, pričom skriptovanie v rámci prehliadača rozpoznáva aktivitu používateľa a predbežne načítá požadované dáta asynchrónne z úložiska údajov podporovaného XML, namiesto čakania, kým používateľ klikne na odkaz a nevyžaduje si ho synchronne serverov.

Attributes

Jedná sa o položky metadát alebo metainformácie (informácie o informáciách), ktoré sa dajú pridať do štartovej značky určitého prvku. Zvyčajne atribúty sú spôsob, ako vylepšiť význam, funkciu alebo inú kvalitu prvku. Majú formu mena a citovanej hodnoty spojenej značkou rovná, napr

<part xml:id="B22" catnum="51N1573R" level="App">Left-handed
      Screwdriver</part> 

Názvy atribútov sa musia riadiť pravidlami XML pre mená (pozri špecifikáciu). Ak vaša aplikácia nepoužíva DTD alebo schému, hodnoty atribútov sa považujú za čistý text (CDATA) a XML nemôžu mať žiadny špeciálny význam (s výnimkou xml:id a xml:lang, pozri nižšie). V atribútoch DTD alebo Schema môžu byť atribúty priradené dátové typy, z ktorých najbežnejšou je (za účelom jednoduchosti používať terminológiu DTD):

ID alebo IDREF

Hodnoty atribútov ID musia byť názvy XML (bez medzery, musia začínať písmenom) a musia byť jedinečné v dokumente. Hodnota atribútu IDREF sa môže vyskytovať ľubovoľne, ale musí byť hodnota atribútu ID v tom istom dokumente. ID a IDREF sa najčastejšie používajú na krížové odkazy v rámci dokumentov.

Všimnite si, že atribút ID môže mať akýkoľvek názov: nemusí sa nazývať “ID”, aj keď to často býva. Naopak – ako najlepšia prax – nikdy by ste nemali používať meno “ID” (“id”) pre atribút, ktorý nie je ID typu, jednoducho preto, že je to mätúce. Ak vaša aplikácia má jedinečné hodnoty identity, ktoré komunita volá ID a ktoré nie sú názvy XML, buď názov iného atribútu (napr. ID produktu), alebo dôrazne dokumentuje, že hodnota nie je identifikátor XML.

Existuje odporúčanie W3C, že návrhári typov dokumentov by mali používať názov atribútu xml:id a tento môže interpretovať parsermi ako jedinečné ID bez potreby používať dokument DTD alebo schému.

CDATA

Len text.

Zoznam tokenov

Atribút musí mať jeden z obmedzeného počtu hodnôt (uvedené v zátvorkách vo vyhlásení, oddelené vertikálnymi pruhmi), napr

<!ATTLIST part level (App|Jny|Mst) #REQUIRED> 
<!ATTLIST Q.27 resp  (Yes|No) "Yes"> 

V prvom príklade neexistuje žiadna predvolená hodnota a hodnota je povinná. V druhom prípade je predvolená hodnota “Áno” (ak je atribút vynechaný, analyzátor bude mať z predbežnej hodnoty predvolenú hodnotu).

ENTITY

Hodnota atribútu musí byť deklarovaná entita.

NMTOKEN

Identifikátor názvu mena XML je ako hodnota ID (bez medzery), ale môže začínať písmenom bez písmen (napr. Číslica alebo interpunkcia).

Špeciálne atribúty

Okrem xml:id (uvedené vyššie) existujú ďalšie dva povolené špecifikáciou XML:

xml:space

Aby signalizoval zámer, že v tomto prvku by mal byť biely priestor uchovaný aplikáciami;

xml:lang

Určiť jazyk použitý v obsahu a hodnotách atribútov ktoréhokoľvek prvku.

Viac podrobností nájdete v častiach 2.10 a 2.12 špecifikácie.

V schémach je k dispozícii oveľa väčšia škála typov údajov ako v DTD a ku každej z nich je možné pripojiť komplexné kritériá validácie.

Atribúty v DTD možno deklarovať ako #REQUIRED (povinné), #IMPLIED (voliteľné) alebo #FIXED (preddefinované a nemenné).

Nie je určený žiadny limit na dĺžku hodnoty atribútu, ale mali by ste skontrolovať, či spracovateľský softvér dokáže spracovať nezvyčajné objemy údajov, ak chcete použiť veľmi veľké dĺžky.

BPEL

Jazyk na spracovanie podnikových procesov je špecifikácia založená na XML o krokoch, ktoré sa vyžadujú na to, aby sa kooperačný obchodný proces uskutočňoval medzi súhlasnými servermi.

Značka objednávky bytu

Dvojbajtový podpis (0xFEFF, definovaný v Unicode a ISO 10646), ktorý musí byť priradený k dokumentu XML pri použití kódovania UCS-2, aby umožnil procesorom rozlišovať medzi kódovaním UCS-2 a UTF-8.

Farba

XML je určený na identifikáciu informácií o štruktúre a obsahu textových dokumentov, nie na ich vzhľad. Aj keď je úplne možné identifikovať a ukladať informácie o vystúpeniach, tieto informácie sa zvyčajne uchovávajú v šablóne štýlov CSS alebo XSL. Ak potrebujete zaznamenať informácie o formátovaní alebo vzhľade existujúceho dokumentu, existujú funkcie pre TEI Schema / DTD.

Export dát

Spoločnou požiadavkou na plochý dátový model, ktorý sa používa v mnohých systémoch elektronického obchodovania, je export údajov XML do dátového formátu CSV (Comma-Separated Values), ktorý sa používa ako vstup pre tabuľky. Existuje jednoduchý príklad krátkeho skriptu, ktorý tu môžete urobiť. Zložité a sofistikované rutiny môžu byť ľahko napísané pomocou XSLT alebo iného softvéru na spracovanie XML. Používatelia by si mali uvedomiť, že zatiaľ čo konverziu na CSV je vhodná pre jednoduché formáty údajov, je to nevhodný formát normálnych textových dokumentov XML, ktoré používajú modely so zmiešaným obsahom.

Import dát

Mnoho projektov XML vyžaduje import existujúcich dokumentov vo formátoch iných ako XML. Import existujúcich dokumentov HTML je vysvetlený v časti Ako môžem vytvoriť moje existujúce HTML súbory vo formáte XML ?, a ak môžete previesť dokumenty na XHTML; Je to pravdepodobne najjednoduchšia metóda. OpenOffice ukladá súbory Open Document Format (ODF), ktoré sú medzinárodným štandardom pre kancelárske dokumenty XML. Súbory programu Word možno uložiť ako WordML (2003) alebo Office Open XML (2007: alternatíva Microsoft k ODF). V obidvoch prípadoch môže byť vytvorená transformácia XSLT na vytvorenie vhodného formátu XML importu. Pre zložité dokumenty v iných formátoch je však potrebný špecializovaný softvér na konverziu. Niektorí redaktori XML začínajú ponúkať vstavanú konverziu iných formátov a sú k dispozícii mnohé samostatné konverzné systémy (niektoré s vysokými nákladmi) pre formáty, ktoré inak nie sú ľahko prístupné strojom prostredníctvom značiek, ako sú PDF, PostScript, LATEX, Quark XPress, A väčšina proprietárnych formátov dokumentov. Kritickým bodom je, že takmer všetky dokumenty, ktoré nie sú vo formáte XML (non-SGML), sú formátované tak, aby boli ľudsky čitateľné a pekné, nie aby boli strojovo čitateľné. Často sa preto stáva, že informácie požadované na to, aby bol dokument zmysluplný v XML, jednoducho neexistuje v týchto formátoch. Jedinou alternatívou pre túto triedu dokumentov je nechať ich znova skontrolovať alebo naskenovať do XML jednou z mnohých spoločností na indickom subkontinente alebo v Tichomorskom okruhu.

Nevýhody

Značka XML má niekoľko nevýhod:

  • Môže to byť verbózne, pokiaľ nie sú vybrané názvy prvkov a atribútov opatrne. Vo veľkých dokumentoch nemusí byť režijná cena značiek veľká, ale v krátkych správach môže byť výrazne vyššia ako skutočné údaje, najmä ak sú názvy prvkov alebo atribútov vytvorené strojom.
  • Prekrývajúca sa značka nie je povolená (prvok nemôže začať vnútri jedného prvku a skončiť vnútri iného): značka prvku musí hierarchicky hniezdiť.
  • Väčšina aplikácií vyžaduje, aby bol dokument načítavaný do pamäte ako celku predtým, než bude možné analyzovať a spracovať. To sa môže stať problémom pre skutočne obrovské dokumenty (väčšie ako adresovateľná pamäť počítačového systému). Je pravdepodobné, že XML je možno nesprávny nástroj na použitie pre súbory tejto veľkosti, existujú však streamingové systémy, ktoré im umožnia spracovanie.
  • Niektorý softvér je naozaj priemerný.

Úpravy

Ak chcete upraviť (otvoriť) súbor XML, mali by ste použiť editor XML. Súbor XML je možné otvoriť pomocou ľubovoľného editora bežného textu alebo dokonca s textovým procesorom, ale uvedomte si, že sa môžu pokúsiť o nesprávne preformátovanie súboru, pretože nerozumejú XML.

Subjekty

Jednotka je jednotka úložiska v XML. Môže byť taký malý ako znak alebo taký veľký ako celý dokument. Štyri typy subjektov sú deklarovateľné:

Všeobecné subjekty

Ktoré môžu byť podobné makrám nahradzovania reťazca:

<!ENTITY IBM "International Business Machines">

Môžu byť použité na zadávanie skrátenej hodnoty alebo na zaručenie jednotného hláskovania ako & IBM; A oni sú nahradení, keď je analyzovaný súbor.

Môžu tiež predstavovať externé súbory:

<!ENTITY chap5 SYSTEM "chapter5.xml"> 

ktorý môže byť použitý ako mechanizmus zahrnutia súborov v mieste, kde vložíte & chap5 ;. Externé entity všeobecného súboru nesmú obsahovať Deklaráciu XML ani vyhlásenie typu dokumentu.

Subjekty dokumentu

Sú to ako vonkajšie všeobecné súbory s výnimkou toho, že určujú typ údajov, ktoré obsahujú, pomocou deklarovanej Notácie, aby analyzátor a aplikácia mohli rozhodnúť, ako s nimi spracovať (napr. Ich zahrnúť alebo ich odovzdať inému programu špecifickému ich druhu médium):

<!ELEMENT link (#PCDATA)> <!ATTLIST link to ENTITY #REQUIRED>
... 
<!NOTATION PDF PUBLIC 
  "-//Adobe//NOTATION Portable Document Format//EN//PDF"
  "http://partners.adobe.com/public/developer/pdf/index_reference.html"> 
<!ENTITY pricelist SYSTEM "/sales/pricelist.pdf" NDATA PDF> 
... 
<para>Please refer to our <link to="pricelist">current price list</link>.</para>

Poskytuje to mimoriadne robustnú metódu definovania externej entity raz a umožňuje jej odkazovať viacnásobne (ak sa zmení externý názov súboru, stačí aktualizovať deklaráciu entity).

Znakové entity

Ako &aacute; ktoré reprezentujú znaky, ktoré môžu používatelia bez požadovaných funkcií klávesnice zadať ako ‘á';

Parametrické entity

Sú ako všeobecné entity, ale môžu byť odkazované iba v DTD. Používajú sa na kontrolu obsahu modelov, zahrnutie alebo vylúčenie deklarácií a modifikácia modulárnych konštrukcií:

<!ENTITY % local.qandaset.mix "|bibliodiv">

(Použiť príklad z DTD pre túto častú otázku), kde je kombinácia typov prvkov v modeli obsahu pre qandaset špecifikovaná entitami qandaset.mix (definovanými DocBookom) a local.qandaset.mix (definovateľným používateľom [ Me]), takže DTD je možné vylepšiť bez toho, aby ste museli byť upravovaní.

Názvy všeobecných entít, vrátane objektov XML dokumentov a znakových entít, vždy začínajú znakom ampersand (&) a končia bodkočiarkou (;) a môžu byť použité kdekoľvek vo vašom dokumente. Jednotky parametrov je možné použiť iba v DTD: začínajú znakom percenta (%) a končia bodkočiarkou.

Výpočet

Ak chcete počítať počet výskytov uzla v dokumente XML, môžete použiť funkciu count v XSL [T], napr.

<xsl:value-of select="count(//chapter)"/> 

Ak chcete použiť čítač typu opakujúceho sa prvku, použite prvok číslo xsl: napr

<xsl:number select="appendix" level="any" format="A"/> 

Viac informácií o systéme XSLT nájdete v článku Ako môžem ovládať formátovanie XML?.

Premenné prostredia

XML je značkovací jazyk, nie programovací jazyk, takže nemá koncepciu premenných prostredia. Ak však používate DTD a pristupujete k svojim súborom XML pod kontrolou programu (napr. Skôr skôr ako ručne), je možné upraviť hodnotu deklarovaných atribútov alebo entít (napr. S editorom streamov ako je sed) pred Súbor sa otvorí a tým preniesť hodnoty z externého prostredia do dokumentu. Podobný prístup by bol možný pri schémach.

Unikajúci

Escaping znamená dočasné prepínanie spôsobu, akým program funguje, aby urobil niečo iné s údajmi. V SGML bolo bežné používať vo vašich dokumentoch iba znaky ASCII, pretože klávesy, obrazovky a písma pre iné znaky boli často nedostupné. Ak chcete uniknúť obmedzeniam tohto formátu pre znaky, ktoré nie sú znakmi ASCII, ako sú diakritické znamienka a symboly, bola k dispozícii množina mnemonických mien, ktoré sú predponované znakom ampersand (&), ktorý má zapnúť únik a nasleduje bodkočiarka (;), ktorá ju zapne Off, takže bol daný ako &aacute;.

XML vám umožňuje používať Unicode, takže každý znak alebo symbol v ktoromkoľvek jazyku môže byť zadaný ako sám. Ak vo svojich dokumentoch používate kódovanie UTF-8, nie je potrebné používať unikanie okrem dvoch značiek (< a &). Niektorí však nemajú editor Unicode a úplné písma Unicode sú veľmi veľké, takže v abecedných jazykoch je bežné, aby ste si vybrali kódovanie, ktoré vám umožní používať väčšinu znakov, ktoré potrebujete, a aby ste použili unikanie pre občasné ďalšie znaky.

Plávajúcou desatinnou čiarkou

Nemôžete deklarovať obsahové údaje alebo hodnoty atribútov ako pohyblivé body (alebo mnoho iných typov údajov) pomocou DTD. Ak to chcete urobiť, musíte použiť schému.

GTT

Gnome Time Tracker je súčasťou rozhrania Gnome, ktoré sa používa rozsiahle v systémoch Linux. Časť interných údajov je nakonfigurovaná v XML.

Hry

Nie som si vedomý žiadnych počítačových hier napísaných pomocou XML, hoci XML sa používa v niektorých súboroch vnútornej kontroly a konfigurácie, ktoré používajú hry.

Idempotence

Termín použitý v špecifikácii HTTP na opis povahy opakovaných požiadaviek na zdroj, ktorý neobsahuje vedľajšie účinky.

Javascript

Aplikácia ECMAscript (s jej skutočným menom) nemá nič spoločné s jazykom Java. Je navrhnutý tak, aby fungoval vo vnútri okien prehliadača, navigoval alebo pôsobil na označenie stránky na vytvorenie dynamického obsahu, overenie formulárov alebo inštanciu objektov spôsobmi, ktoré nie sú možné pri statickom HTML. Taktiež je navrhnutý tak, aby nemohol zapisovať do lokálneho súborového systému užívateľa z bezpečnostných dôvodov, takže ho nemožno jednoducho použiť na vytváranie súborov XML lokálne, aj keď v softvéri spoločnosti Microsoft sú niektoré zadné dvere, ktoré umožňujú uložiť upravené stránky disk.

Zlomeniny riadkov

Súbory XML je možné vytvoriť pomocou ľubovoľnej z troch štandardných zastúpení: CR (Mac), LF (Unix) alebo CR/LF (Windows). Použitie niečoho iného môže viesť k nedefinovanému správaniu (tak starí redaktori DOS, ktorí používajú LF/CR, môžu vytvárať nepoužiteľné súbory). Procesory XML normalizujú všetky konce riadkov na LF.

Prerušenie linky na vašom výstupe je riadené vaším vykresľujúcim motorom (napr. Prehliadačom, sadierom atď.). Váš DTD alebo schéma môže definovať špeciálne prvky alebo entity, ktoré sa majú používať v zriedkavých prípadoch, keď sa vyžaduje nútený linebreak, ale to nie je zvyčajne niečo vykonané v XML (výnimka: rekonštrukcia historických dokumentov pomocou TEI).

Loops

Ak chcete niektorý XML opakovane spracovávať, musíte použiť jazyk spracovania, ktorý umožňuje cyklickú manipuláciu s definovanou skupinou uzlov. Napríklad v systéme XSLT, ak chcete vytlačiť všetky názvy kapitol, aby ste vytvorili obsah (tj mimo prirodzenej polohy dokumentu), môžete povedať:

<xsl:for-each select="//chapter"> 
  <li> 
    <xsl:value-of select="title"/> 
  </li> 
</xsl:for-each>

Multimediálne

Jazyk synchronizácie multimediálnych integrácií (SMIL) poskytuje slovnú zásobu XML na jednoduché vytváranie interaktívnych audiovizuálnych prezentácií. SMIL sa zvyčajne používa na multimediálne prezentácie s multimediálnymi funkciami, ktoré integrujú streaming audio a video s obrázkami, textom alebo iným typom médií.

Patenty, autorské práva a duševné vlastníctvo

Nie som právnik, a toto nie je právna rada. Ak sa obávate, najprv si pozrite psychiatra ☺

Vzhľadom na to, že USA (a čoraz viac inde) zastavili patentové žiadosti o kontrolu zdravia, takmer každý môže v týchto krajinách patentovať čokoľvek, bez ohľadu na to, či už existuje alebo nie. Ak ste dostatočne intelektuálne v konkurze, môžete začať zasielať faktúry firmám a dokonca aj osobám, ktoré požadujú zaplatenie licenčných poplatkov za ďalšie používanie.

XML bol navrhnutý v roku 1995 a prvýkrát bol zverejnený v roku 1996, takže každý, kto tvrdí, že vynašiel špičkovú vlastnú definíciu hierarchicky vnoreného štruktúrovaného značkovania, je potom pravdepodobne niekoľko prvkov, ktoré nemajú schému. XML je založený na SGML, ktorý je medzinárodným štandardom kodifikovaným ako ISO 8879: 1986 a predchádzalo mu mnoho ďalších úzko súvisiacich značkovacích systémov, takže každý, kto tvrdí, že ho vynašiel po tomto dátume, je rovnako široký od označenia.

Veľa ďalších derivátových technológií, ktoré dlhujú ich existenciu na základoch SGML a XML, sú celkom pravdepodobne platnými patentmi, rovnako ako to, že oheň nebol pôvodne patentovaný, ale zápalky a zapaľovače.

Patenty boli pôvodne navrhnuté pre nové fyzické vynálezy. Ich použitie pre metodológie a algoritmy rozšírilo koncept do sféry myšlienok, ktoré mnohí ľudia považujú za hlboko podozrivé. Patentovanie prírodných javov, ako sú gény (ktoré sú už existujúcimi časťami prírody ako politici a rybníky), je bezvýznamné a intelektuálne neplatné, aj keď je právne vynútiteľné v USA a inde.

Autorské práva sa automaticky zachovajú vo všetkom, čo vytvoríte, ale v niektorých krajinách (predovšetkým v USA a Francúzsku) nemôžete toto presadzovať, pokiaľ nezaregistrujete svoj záujem. Autorské práva pretrvávajú niekoľko rokov po vašej smrti (EÚ: 75, iné inde) s cieľom umožniť vašim potomkom profitovať z predaja vašej práce.

Autorské práva sú pre fyzickú formu intelektuálneho vyjadrenia, ako sú knihy, noviny, umelecké diela, webové stránky alebo počítačové programy. Existuje preto, aby sa zabránilo tomu, že iní robia svoju prácu a predávajú ju. Môžete citovať úryvky práce iných ľudí bez povolenia, ako je napríklad línia básne alebo hudobná lišta, alebo vety z románu za predpokladu, že poviete, kto je a kde ju nájsť: inak musíte požiadať o povolenie vopred. Autorské práva už poskytujú viac než primeranú ochranu počítačových programov, takže používanie patentov pre nich zbytočne nadmerné.

Duševné vlastníctvo vás označuje za majiteľa myšlienok a myšlienok, ktoré môžu nájsť svoje fyzické prejavy v patentovateľných vynálezoch alebo autorských právach. Aj keď predávate svoje patenty a dlho po uplynutí platnosti vašich autorských práv môžete stále vidieť osobu, ktorá túto myšlienku vysnívala a niektoré krajiny (napr. Spojené kráľovstvo) vám umožňujú formálne uplatniť vaše právo byť takto identifikovaný , Bez ohľadu na to, čo sa stane s knihou alebo gizmom.

Mali by ste vždy uznať duševné vlastníctvo iných, najmä ak ich používate na podporu svojich vlastných cieľov. Predstieranie, že inteligentné nápady niekoho iného sú vaše vlastné, je pravdepodobne horší trestný čin ako pokus o patentovanie požiaru, vody, kolesa alebo XML.

Zreťazenie

Technika na znižovanie komplexných sekvenčných a paralelných požiadaviek na spracovanie na súbor komponentov, ktoré je možné dokončiť pod kontrolou programu. Termín je prevzatý z zariadenia Unix na presmerovanie výstupu jedného príkazu na vstup iného (nazývaného “potrubie”), ktorý v skutočnosti vytvára reťaz alebo potrubie, cez ktoré prechádzajú údaje z jeho zdroja do výsledku.

W3C má oznámenie čakajúce na odoslanie na jazyku definovania potrubia jazyka XML, ktorý by sa mohol použiť na definovanie potrubia prenosným, nezávislým od dodávateľa.

RSS

Format Really Simple Syndication je bil zasnovan tako, da je novičarskim stranem omogočil obdelavo posodobitev strojne opreme in postal polstandardni format za bloge in druge pogosto spreminjajoče se lokacije, da je svet obveščen o spremembah. Na žalost ni bil nikoli pravilno opredeljen in ima več nezdružljivih in nedokumentiranih različic. Verjetno ga je nadomestil mnogo boljši jezik, imenovani Atom, vendar je Microsoft pred kratkim napovedal svojo podporo za RSS, zato se zdi, da bi nam lahko v prihodnjih letih lepila na limono.

"Števci novic" (bralci RSS) so na voljo za vse platforme, tako samostojne kot vtičniki brskalnika. Ne mešajte jih v programe z istim opisom, ki bi morali omogočiti dostop do Usenet News, kar je povsem druga stvar (in jo boste morali prebrati v comp.text.xml).

upodabljanje

Z uporabo XSLT ali XSL: pretvorbe FO (ali drugih podobnih sistemov za pretvorbo) se informacije, označene v XML, lahko prikazujejo skoraj povsod: HTML, PDF, zvok, Braille in skorajda vse oblike besedila (na primer LATEX). Kako se sliši (ali zveni) je posledica uporabe slogov ali druge logike preoblikovanja oznak.

SML

Kozmični označevalni jezik je aplikacija XML.

Standardni programski jezik ML ni.

Ste mislili na SGML?

MILO

W3C standard za "opredelitev informacij, ki temeljijo na XML, ki se lahko uporabijo za izmenjavo strukturiranih in pisnih informacij med vrstniki v decentraliziranem, porazdeljenem okolju". Najpogosteje se uporablja v spletnih sporočilnih storitvah.

Protokol je bil sprva enostaven objektski pristop, kratica pa je zdaj nedefinirana ali izražena kot storitveno usmerjen protokol dostopa. Guru99 ima dobro vadnico SOAP.

iskanje

Datoteke XML lahko poiščete v zaporedni, samostojni, neoznačeni ukazni vrstici z uporabo programov, kot so lxgrep ali lxprintf, ki so del datoteke LTXML2. Mnogi uredniki imajo tudi iskalnik

XSLT omogoča omejen iskalni aparat preprosto z uporabo funkcij, kot so vsebina, začetek in konec. XSLT2 doda regularne izraze. XQuery je celovit jezik za iskanje XML.

Saxon XSLT procesor prihaja z implementacijo XQuery (poglejte tudi FAQ za XQL), ki lahko prejema poizvedbe iz ukazne vrstice ali datoteke. Saška lahko tudi uporabi nadzorno datoteko, da določi skupinske datoteke XML, ki jih je treba iskati skupaj.

Za indeksirano iskanje (za hitrost) potrebujete iskalni stroj XQuery, ki izvaja indeksirni stroj, ki bere in razume oznako. Ti se običajno izvajajo kot del "domačega" sistema baz podatkov XML, kot je eXist (in mnogi drugi), ki delujejo sami ali vzporedno s strežnikom XML, kot je Cocoon.

Tradicionalne relacijske podatkovne baze (MySQL, Oracle, itd.) Težijo k shranjevanju XML kot nediferenciranih nizov ali BLOB-ov, ki uporabljajo oznake hrbta XML za obdelavo uvoznih in izvoznih oznak. Naravne XML podatkovne baze imajo vgrajene manipulacije XML in jih je mogoče konfigurirati kot granularne, da jih shranjujejo na določeni ravni elementa, kar naredi iskanje, občutljivo za iskanje, veliko bolj učinkovito.

Storitev XML

Glejte Moram spremeniti katero koli mojo strežniško programsko opremo za delo z XML-jem?

sortiranje

Če želite razvrstiti ponavljajoči se niz elementov XML v XSL [T], uporabite xsl: sortiraj , npr

<xsl: za vsako izbiro = "// akronim"> 
  <xsl: sort izberite = "@ abbrev" />
  <xsl: vrednost-izberite izberite = "@ abbrev" /> 
  <xsl: text>: </ xsl: text> 
  <Xsl: uporabljajo predloge /> 
</ XSL: za-vsakega>

Špeciálne znaky

XML má v normálnych dokumentoch iba dve špeciálne značkovacie znaky:

  • Otvorený uholník alebo menej ako znak (<), ktorý začína štartovnou značkou alebo koncovou značkou ako <report> alebo </table>;
  • Znak ampersand (&), ktorý začína odkaz na entitu ako &aacute; pre á alebo &#x00A7; pre §.

Na rozdiel od verejného názoru nie je uzatváracia uholník alebo väčší ako (>) a bodkočiarka (;) nie sú v normálnom texte špeciálne znaky: získavajú len dočasný špeciálny význam, akonáhle sa vyskytne jeden z dvoch značkovacích znakov.

V DTD značka percenta (%) má osobitný význam v deklaráciách entity: definuje entitu ako parameternú entitu, čo znamená, že sa dá použiť iba v DTD, nie v texte dokumentu a iba v prípade substitúcie údajov (a druh jednoduchého makro).

Výkričník (!) Nadobúda osobitný význam bezprostredne po znamení menej ako: ak nasleduje jedna z deklarujúcich kľúčových slov v DTD, signalizuje začiatok Deklarácie; Keď nasleduje dve pomlčky, signalizuje začiatok komentára (zakončené ďalšími dvomi pomlčkami a znamienkom väčším ako znakom).

TMX

TMX je štandardná metóda na opis dát o prekladovej pamäti, ktoré sa vymieňajú medzi nástrojmi a / alebo prekladateľskými predávajúcimi pre preklad ľudského jazyka (súčasť projektu OSCAR od LISA).

Stoly

Môžete definovať tabuľky tak, ako si prajete v XML (vidíte, že XML mi dovoľuje vytvoriť vlastné značky?), Ale existuje niekoľko existujúcich tabuľkových modelov, ktoré sa stali tak široko používané (a podporované softvérom), že bude potrebovať veľmi Presvedčivý dôvod vymyslieť niečo nové. Podrobnejšie informácie sú uvedené v (Flynn, 1998) §2.3.7.

HTML

HTML tabuľky boli vynájdené mozaiky (teraz Netscape) a prvýkrát sa objavili v HTML2 DTD. Vo všetkých verziách HTML a XHTML definujú veľmi jednoduchý, ale praktický model s veľmi málo zdokonalením, vhodný pre použitie na webe a pre rudimentárnu tlač. Ich hlavná výhoda spočíva v tom, že v prehliadači sa výška a šírka buniek (a teda aj šírka stĺpcov) automaticky rozširujú alebo kontraktujú, aby sa prispôsobili množstvu textov, ktoré sú v nich obsiahnuté. Väčšina ostatných stolových modelov predpokladá šírky stĺpcov a výška buniek bude uvedená vopred (čo môžete urobiť v jazyku HTML, ale zriedka sa používa).

CALS

Počítačová logistika a podpora (a niekoľko ďalších skratiek v priebehu rokov) bola (je) súčasťou vojenského projektu USA, aby sa zabezpečila konzistentná značka pre všetky dokumenty, pôvodne v SGML, teraz v XML. Ako súčasť tejto aktivity sa stôl modelu CALS stal najrozšírenejším v technickej dokumentácii, najmä v interaktívnych elektronických technických príručkách (IETM), s rozsiahlou podporou vo všetkých hlavných redaktoroch a je predvoleným stolovým modelom v DocBook DTD A schémy. Definície CALS sú veľmi účinné, ale pomerne zložité a dokážu zvládnuť prakticky všetky požiadavky na spanning, ovládanie a zarovnanie.

SASOUT

Tento model sa široko používa v spoločenských vedách a inde na definovanie tabuliek na základe sémantiky údajov, a nie ako vzhľad. Súčasne boli alternatívou v DocBooku (umožnený jednoduchým prepínačom parametrov).

TEI

Model TEI je navrhnutý tak, aby umožňoval kódovač predstavovať existujúce tabuľky, ktoré sa prepisujú z historického, literárneho alebo archívneho materiálu, namiesto vytvárania nových údajov. Označenie je na rovnakej úrovni jednoduchosti ako model HTML, ale je navrhnuté tak, aby umožňovalo zahrnutie oveľa hustších značiek a metadát potrebných vo výskumných textoch.

LATEX

Model LATEX sa priamo netýka používateľa XML okrem prípadov, keď je LATEX bežným cieľom pre transformácie z XML pomocou XSLT na vytvorenie súborov PDF. Rovnako ako CALS, tabuľky LATEX dokážu spracovať takmer akékoľvek formátovanie, ale predvolené zarovnanie predpokladá, že každý formát stĺpca je vopred definovaný a že každá bunka bude obsadzovať jeden riadok dát: na manipuláciu s viacerými riadkami údajov je potrebný ďalší balík Spôsobom, ktorý robia iné modely.

V jazyku XML nie je potrebné používať tabuľky na označovanie zoznamov, ako sa často robí v textových procesoroch, pretože spracovanie jazykov ako XSLT vám umožňuje transformovať dokument tak, aby používal ne-tabuľkové metódy (napr. Značenie tabuľky by sa preto malo obmedzovať na “skutočné” tabuľky (údaje usporiadané v riadkoch a stĺpcoch) a nemali by sa zneužívať jednoducho preto, lebo chcete, aby sa niečo zobrazovalo na úrovni s niečím iným: je lepšie vybrať označenie, ktoré je navrhnuté tak, Než narušiť existujúce zariadenia.

Používatelia programu Wordprocessor zvyčajne nevedia, že mnohé štruktúry, ktoré v súčasnosti používajú tabuľky wordprocessor, sú v skutočnosti segmentované zoznamy, ktoré textové procesory nie sú schopné správne pracovať. Jedným z hlavných dôvodov, prečo to správne robí, je to, že dáta môžu byť opätovne spracované tak, aby mali zmysel pri čítaní v prirodzenom poradí.

Funkcie formátovania textového dokumentu

Pretože XML je metajazyk, ktorý vám umožňuje definovať a pomenovať svoje vlastné informačné štruktúry, nemá v sebe žiadne vstavané vedomosti o čomkoľvek. Preto nemá žiadne inherentné chápanie akýchkoľvek dokumentov, ako sú súpisy s odrážkami, sekcie, poznámky pod čiarou alebo niektoré z bežných online funkcií, ako sú rozbaľovacie ponuky, formuláre (vstupy, začiarkavacie polia, prepínacie tlačidlá a textové oblasti), skripty, Alebo iné zvončeky a píšťalky – to sú veci, ktoré musíte použiť v XML definovanom v DTD alebo v schéme pre vašu konkrétnu aplikáciu. Na rozdiel od toho, čo uvádzajú niektorí výrobcovia, tieto veci nie sú integrované do samotného XML. Najskôr si vyberiete alebo navrhnete typ dokumentu (Schema alebo DTD), ktorý presne reprezentuje vaše informácie, potom môžete vygenerovať efekty, ako je uvedené vyššie, použitím CSS stylingu alebo napísaním transformácie XSL [T] vášho XML na HTML, Word, LATEX, PDF alebo akýkoľvek iný formát je schopný ich inštalovať.

Na W3C pre spracovanie XML formulárov, XML Linking, XML Security a veľa ďalších funkcií existujú ďalšie návrhy a odporúčania nativných XML na W3C pre XML Forms handling, ale tieto sú mechanizmy umožňujúce architektúru, nie náhrady za HTML.

UML

Zjednotený modelovací jazyk nemá nič spoločné s XML, aj keď existuje veľa kontaktných bodov a niektorý softvér je k dispozícii na vyjadrenie niektorých štruktúr UML v XML na účely medziprocesového zasielania správ.

Chyby pri analýze URI

Pozri Semicolon.

Premenné

XML nemá premenné ani parametre, ani nemá polia ani záznamy. To sú všetky pojmy z programovania a databázovej technológie a nemajú presné ekvivalenty v XML.

XML identifikuje vaše informácie s prvkami a atribútmi.

WAP

Bezdrôtový aplikačný protokol (WAP) je teraz riešený Open Mobile Alliance.

Dobro oblikovana
Glej dobro izdelan XML.

Bela vesolja
Oglejte si, kako XML deluje v dokumentih?

Xll

Jezik povezovanja XML vsebuje specifikacijo XLink in specifikacijo XPointer. Za podrobnosti si oglejte W3C povezovalno delovno skupino W3C.

XLS

Lastnosti oblike zapisa tabličnega računalnika Microsoft, napisane s programom Excel za preglednice. XLS datoteke niso datoteke XML, sodobne različice Excel pa shranijo svoje podatke kot datoteke .xlst v formatu Microsoft Office Open XML (OOXML).

Ne mešajte XLS z XSL (glejte Kako lahko nadzorujem oblikovanje XML?).

XML

To je FAQ XML. Vse o tem je o XML. Za poglobljeno razlago glej Osnove.

XML ter standardi varnosti, zasebnosti in identitete

eve

XML protokol

W3C ima delovno skupino za spletne storitve, del naloge pa je delo z XML. Za več informacij obiščite http://www.w3.org/2000/xp/Group/.

XMLHTTP

Funkcija, ki se izvaja v MSXML in drugje, da omogoči iskanje spletnih mest, binarnih podatkov ali skriptnih odzivov pod programskim nadzorom (npr. Z uporabo vijakov, Wgetov ali pse v skripti lupine). Asinhrono se uporablja v aplikacijah AJaX za prednastavljanje podatkov, pri čemer prihrani čas, da pokaže, da aplikacija deluje lokalno.

XUL

Jezik uporabniškega vmesnika XML je uporabil za določitev uporabniškega vmesnika v Mozilli.

asp.net
ASP (Active Server Pages) je Microsoftov jezik za prikaz dinamičnih spletnih mest, kot so JSP, PHP in drugi. ASP sama nima nič opraviti z XML, čeprav se lahko katerikoli sistem s strežnikom uporablja za prikaz XML-a, tako kot katera koli druga vrsta datotek.

.NET je aplikacijska platforma in metodologija za razvoj spletnih storitev na Microsoftovih strežnikih. Večina spletnih storitev temelji na XML kot "skupnem nosilcu" medpomnilnih sporočil, zato ima .NET pomemben element XML.

Marc Hadley piše:

Existuje veľa alternatív k ASP, z ktorých väčšina používa prístup založený na podobnej stránke. Java alternatívne riešenia zahŕňajú Java Server Pages (JSP), Java Server Faces (JSF) a Cocoon (ktoré obsahujú eXtensible Server Pages – XSP). Populárne alternatívy skriptovacích jazykov zahŕňajú Zope (Python) a Rails (Ruby) [ktoré majú rozsiahlu XML podporu. – Ed.]

5.4: Software so stratou XML

Niektoré z najlepších softvérov, ktoré zmizli

Najbežnejšou príčinou straty dobrého softvéru sa zdá byť to, že spoločnosť, ktorá ju robila, sa prevzala bez vlastného zavinenia zo strany podnikového žraloka, ktorý nevedel, čo kupuje alebo kto jednoducho nestaral. V týchto prípadoch nebol výrobok vinný – často bol populárny a predával dobre; Práve padlo faul podnikovej hlúposti.

Near&Far (MicroStar)

Samostatný vizuálny (grafický) dizajnový nástroj SGML DTD pôvodne pre Microsoft Windows 95. N & F umožnil veľmi jednoduchý prototyp nového typu dokumentu, hoci neskoršie štádiá vývoja boli zvyčajne manuálne ladené. Bol tiež vynikajúcim nástrojom pre zobrazenie štruktúry novovzniknutého DTD. Keď XML prišiel, udržiavali interný SGML model, ale poskytovali syntax “save-as” v XML.

Mnoho súčasných nástrojov pre dizajn má podobné vložené funkcie (napr. XML Spy), ale neexistuje ekvivalentný samostatný nástroj rovnakej kvality. Vývoj využitia RelaxNG na generovanie rôznych syntaxov by bol významný pokrok.

MicroStar bol zakúpený firmou OpenText Corp a produkt bol vynechaný na podlahe len vtedy, keď by to bolo najužitočnejšie. Ak máte kópiu (jeden bol vložený do editora WordPerfect SGML/XML), stále sa vykonáva pod XP a vo víne Codeweavers ‘v Linuxe.

DynaWeb (EBT)

Skupina produktov: DynaBase, základná databáza SGML; DynaWeb, server systému Windows s graficky spravovaným systémom šablón pre zobrazovanie XML alebo SGML konvertovaných na HTML a vynikajúce zariadenie na vyhľadávanie značiek; a DynaTag, systém GUI pre konverziu dokumentov Word a Frame na SGML alebo XML, založený na originálnom konvertorovom riadku riadku RainbowMaker.

EBT je kupila družba Inso Corp in izdelek je bil več let zapostavljen. Vendar pa strežnik Indo zdaj trdi, da poda podrobnosti, vendar ni znano, ali je izdelek še vedno na voljo. Zdi se, da so podedovali nekatere uporabnike, zato so za nekaj časa imeli spletno mesto za usposabljanje DynaWeb .

Dobra novica je, da program Red Bridge zdaj zaseda staro tovarno EBT (pod Rdečim mostom v Providence, RI), ki prodaja sistem za upravljanje vsebine, ki vključuje DynaTag in nekatere druge elemente prvotnega asortimana.

Panorama (SoftQuad)

SGML iz programa SoftQuad s predlogo sloga SGML, ki je deloval samostojno in kot plug-in Netscape, ki temelji na Synex Viewportu . To omogoča uporabnikom, da odprejo neposredne povezave s SGML dokumenti: Panorama bi prenesel obeh primerkov in DTD prek rešitve podjetja, opravil tokenizirano analizo in uporabil podan slog.

Njegove edinstvene funkcije so vključevale preklapljanje med več slogi, kazalnik gostote za rezultate iskanja in možnost izvajanja dvojno povezanih povezav HyTime, ki vsem omogočajo objavo lastnega nabora povezav, tudi večkomponentnih povezav in celo med dokumenti v mestu. Vtičnik brskalnika je bil brezplačen, v polni različici pa je bil urejevalnik slogov.

SoftQuad je odstopil, ko je umrl Yuri Rubinsky in ga je prevzel Corel (WordPerfect), kjer je bil izdelek prezrt.

SoftQuad Avtor/Urednik Urednik SGML se pretvori v XMeTaL , ki je še vedno na voljo od JustSystems.

Če imate več informacij o uporabnih izdelkih, ki so izginile, pošljite e-pošto uredniku.

Original:  http://xml.silmaril.ie/