XML fere semper abusus est

XML fere semper abusus est
Lingua XML anno 1996 inventa est. Vix apparebat quam facultas applicationis iam male intellecta esse, et causa ad quae eam accommodare conabantur, non fuit optima electio.

Nihil maius est dicere quam plurimas partes XML schematum quas vidi usuum XML ineptos vel non rectos. Hic autem usus XML demonstravit fundamentalem errorem eorum quae XML de omnibus erat.

XML lingua notata est. Hoc non est data forma. Plurimi XML schemata diserte hanc distinctionem neglexerunt, confundentes XML cum forma data, quae tandem in errorem incidit in eligendo XML quia forma data est quae revera necessaria est.

Sine nimis accurate ingrederetur, XML aptissima est ad textuum clausos annotatos cum structura et metadata. Si propositum tuum principale non est cum trunco ​​textus laborare, eligens XML veri simile est iustificari.

Ex hac parte, simplex modus est ad inspicienda quomodo bene XML schema constituatur. Exemplum sumamus documentum in schemate intento et omnia tags removeamus et ex eo attributa. Si quid superest non convenit (vel si linea blank relicta est), vel schema tuum non recte aedificatur vel simpliciter non uti XML.

Infra exempla nonnulla vitiorum gyrorum structorum vulgatissima dabo.

<roоt>
  <item name="name" value="John" />
  <item name="city" value="London" />
</roоt>

Hic videmus exemplum vani et peregrini (quamvis usitatis) exprimere conatum dictionarii simplicis pretii key-in XML. Si omnia tags ac attributa removeris, inani ordine relinqueris. Essentialiter documentum hoc, quantumvis absurdum, sonare potest, semanticam annotationem in linea vacua.

<root name="John" city="London" />

Ut res deteriores faciamus, non modo habemus semanticam annotationem chordae vacuae hic quasi modum extravagantem dictionarii exprimendi - hoc tempore "dictionarium" directe inscriptum est ut attributa elementi radicis. Hoc efficit ut certa nomina attributorum in elemento indefinito et dynamico. Praeterea ostendit auctorem re vera exprimere voluisse simplicem valorem syntaxin fuisse, sed potius prodigiosum absolute consilium applicandi XML fecit, cogens usum unius elementi vacuum simpliciter uti praepositione ad syntaxin attributum. Atque harum veniam saepe.

<roоt>
  <item key="name">John</item>
  <item key="city">London</item>
</roоt>

Hoc melius est, sed nunc propter aliquam causam claves metadata sunt nec bona bona non sunt. Mirum admodum vide in dictionariis. Si omnia tags et attributa removeris, dimidia notitia amittetur.

Recta dictionarii expressio in XML aliquid simile hoc spectare vellet:

<roоt>
  <item>
    <key>Name</key>
    <value>John</value>
  </item>
  <item>
    <key>City</key>
    <value>London</value>
  </item>
</roоt>

Quodsi homines mirum consilium fecerunt ut forma data XML utantur et deinde utantur ad vocabularium ordinandum, tum intellegant id quod agunt inconvenienter et non convenientem esse. Etiam commune est pro excogitatoribus falso eligere XML applicationes suas creare. Sed etiam saepius res deteriores faciunt per inaniter utentes XML in una formis supra descriptis, ignorando XML hoc modo non convenire.

Pessimus XML Schema? Viam praemio XML Schema pessimum uisa; Automaticum commeatum configurandi format ad Polycom IP telephonicas telephonicas accipit. Tales tabulae desiderant XML files petitionem per TFTP downloading, quod in genere hic est excerptum e tali fasciculo:

<softkey
        softkey.feature.directories="0"
        softkey.feature.buddies="0"
        softkey.feature.forward="0"
        softkey.feature.meetnow="0"
        softkey.feature.redial="1"
        softkey.feature.search="1"

        softkey.1.enable="1"
        softkey.1.use.idle="1"
        softkey.1.label="Foo"
        softkey.1.insert="1"
        softkey.1.action="..."

        softkey.2.enable="1"
        softkey.2.use.idle="1"
        softkey.2.label="Bar"
        softkey.2.insert="2"
        softkey.2.action="..." />

Non est hic aliquis malus iocus. Nec hoc invenio;

  • elementa simpliciter adhibentur ut praepositiones attributis apponendis, quae ipsae nomina hierarchica habent.
  • Si valores multiplicibus instantiis alicuius generis recordi assignare vis, nominibus attributis utendum est ut id facias. quae habent indices.
  • Praeterea, attribuit incipiens a softkey., ponendum est in elementis <softkey/>, attribuit incipiens cum feature., ponendum est in elementis <feature/> etc., non obstante quod spectet omnino superfluum et primo intuitu vanitatis.
  • Ac denique, si optares quod prima pars nominis attributi semper idem esset cum nomine elementi - nihil tale! Verbi gratia, attributa up. adnecti debent <userpreferences/>. Ordo nominum elementorum apponendi attributus est arbitrarius, fere totus.

Documenta seu data. Quovis semel in tempore, aliquis aliquid omnino infandum agit quaerendo comparare XML et JSON—et ita ostendens se vel non intelligere. XML documentum notae linguae est. JSON data forma structa est, ut eas inter se comparet, similis calefientibus mollibus comparare conatur.

Notio differentiae inter documenta et notitia. Secundum analogum XML, sub condicione machinae documenti legere possumus. Etsi in promptu est ut apparatus lectibilis sit, metaphorice ad documenta refertur, et ex hac parte cum documentis PDF re comparabilis est, quae plerumque non sunt apparatus lectitaribiles.

Exempli gratia in XML elementorum ordo rerum. At in JSON, ordo clausurae paribus in objectis vanus est et indefinitus. Si vis inordinatum lexicon clavium paria, ordo ipse quo elementa in illo fasciculo apparent, non refert. Sed multa genera notitiarum ex hac notitia formare potes. documentaeo quod in instrumento certus est ordo. Metaphorice, analogum documenti in charta est, licet dimensiones physicas non habeat, dissimilis fasciculi printout seu PDF.

Meum exemplum repraesentationis propriae XML dictionary ostendit ordinem elementorum in dictionario, sicut repraesentatio JSON opponitur. Hunc ordinem ignorare non possum: haec linearitas inhaeret in exemplari documenti et forma XML. Quidam ordinem ignorare possunt, cum hoc XML documentum interpretantur, sed nihil attinet in hac re disputare, cum res extra ambitum ipsius formae disputationis sit. Praeterea si documentum visum in navigatro feceris, adiecta stylo cassante scheda, videbis elementa dictionarii certo ordine et nullo alio apparere.

Aliis verbis, dictionarium (fragmentum notitiarum structarum) converti potest in n varia documenta possibilia (in XML, PDF, charta, etc.), ubi n - numerus elementorum possibilium in dictionario coniunctiones et alias variabiles possibiles nondum inspectas habemus.

Attamen etiam sequitur ut si tantum notitias transferre voles, machinae utens documentum lectuale ad hoc efficax non erit. Utitur exemplo, quod hic superfluum est, obvium tantum. Praeterea ad fontem data extrahendi, programmata scribere debes. Nihil fere punctum in usu XML est aliquid, quod in aliquo loco documentum formari non possit (utendo CSS vel XSLT vel utroque), cum hoc principale (si non solum) rationi adhaereat. ad exemplar documenti.

Cum autem XML non habeat conceptum numerorum (vel expressiones Boolean vel alia genera notarum) omnes numeri in hac forma repraesentati tantum textus additi considerantur. Ut notitias elicias, sciendum est schema et relatio ad data sibi expressa. Scire etiam debes cum, secundum contextum, particularis textus elementi numerum repraesentat et debet ad numerum converti etc.

Ita processus notitiarum extrahendi ex documentis XML non ita differt a processu cognoscendi documenta lustrata continens, exempli gratia, tabulae plures paginas notitiarum numeralium formantium. Ita potest hoc facere in principio, sed hoc non est optima via, nisi in ultima ratione, cum omnino nullae sint optiones. Rationabilis solutio est invenire exemplar digitale originalis notitiae quae non est posita in exemplari documenti quod notitias cum sua repraesentatione specifica textualis coniungit.

Ut id dictum sit, non miror omnino XML in negotio populari esse. Causa huius rei est, quod forma documenti (in charta) est comprehensibilis et familiari negotio, et cupiunt pergere uti exemplo familiari et intellectu. Eadem de causa, negotia nimis saepe documentis PDF adhibent pro pluribus formatis machinis legendis — quia adhuc ligantur ad notionem paginae impressae cum certa corporis magnitudine. Hoc etiam valet de documentis quae umquam typis imprimi possunt (exempli gratia: 8000 pagina PDF registri documentorum). Ex hac parte, usus XML in negotio manifestatio skeuomorphismi essentialiter est. Homines notionem metaphoricam impressae paginae modicae magnitudinis intelligunt, et processus negotiorum fabricandi in documentis impressis nititur. Si hoc duce tuo, documenta sine corporis magnitudine limitationibus, quae sunt machinae-readabiles-XML documenta, innovationem repraesentant dum familiare et commodae documentum par est. Hoc non obstat quominus via falsa et nimis skeuomorphica notitias exhibendi.

Ad modernum, solum XML schematum de me scio me vere validum usum formarum appellare posse, sunt XHTML et DocBook.

Source: www.habr.com

Add a comment