XML yuav luag txhua zaus siv tsis raug

XML yuav luag txhua zaus siv tsis raug
Cov lus XML tau tsim nyob rau xyoo 1996. Tsis ntev nws tau tshwm sim dua li qhov muaj peev xwm ntawm nws daim ntawv thov twb tau pib nkag siab yuam kev, thiab rau lub hom phiaj uas lawv tau sim hloov nws, nws tsis yog qhov kev xaiv zoo tshaj plaws.

Nws tsis yog qhov exaggeration hais tias feem coob ntawm XML schemas kuv tau pom tsis tsim nyog lossis siv tsis raug ntawm XML. Tsis tas li ntawd, qhov kev siv XML no tau qhia txog kev nkag siab tsis zoo ntawm XML yog dab tsi.

XML yog hom lus cim. Qhov no tsis yog hom ntaub ntawv. Feem ntau XML schemas tau pom meej meej qhov kev sib txawv no, tsis meej pem XML nrog cov ntaub ntawv hom, uas thaum kawg ua rau yuam kev hauv kev xaiv XML vim nws yog cov ntaub ntawv hom uas xav tau tiag tiag.

Yog tias tsis nkag mus rau hauv ntau qhov nthuav dav, XML yog qhov zoo tshaj plaws rau kev sau cov ntawv sau nrog cov qauv thiab cov metadata. Yog tias koj lub hom phiaj tseem ceeb tsis yog ua haujlwm nrog cov ntawv thaiv, xaiv XML tsis zoo li yuav ua rau muaj kev ncaj ncees.

Los ntawm qhov kev pom no, muaj ib txoj hauv kev yooj yim los xyuas seb XML schema tau ua zoo npaum li cas. Cia peb ua piv txwv ib daim ntawv hauv cov phiaj xwm npaj thiab tshem tawm tag nrho cov cim npe thiab cov cwj pwm ntawm nws. Yog tias dab tsi sab laug tsis ua rau muaj kev nkag siab (lossis yog tias muaj kab laug sab laug), ces koj qhov schema tsis tau tsim kom raug lossis koj tsuas yog yuav tsum tsis txhob siv XML.

Hauv qab no kuv yuav muab qee qhov piv txwv feem ntau ntawm cov khoom siv hluav taws xob tsis raug.

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

Ntawm no peb pom ib qho piv txwv ntawm qhov tsis muaj tseeb thiab coj txawv txawv (txawm hais tias muaj ntau heev) sim qhia cov phau ntawv txhais lus tseem ceeb-tus nqi yooj yim hauv XML. Yog tias koj tshem tag nrho cov cim npe thiab cov cwj pwm, koj yuav raug tso tseg nrog kab khoob. Qhov tseem ceeb, cov ntaub ntawv no yog, txawm li cas los xij nws yuav ua tsis tau zoo, cov lus piav qhia semantic ntawm kab khoob.

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

Ua kom qhov teeb meem loj dua, peb tsis yog tsuas yog muaj cov lus piav qhia ntawm ib txoj hlua khoob ntawm no raws li txoj hauv kev nthuav qhia phau ntawv txhais lus - lub sij hawm no "dictionary" yog ncaj qha encoded raws li cov yam ntxwv ntawm lub hauv paus ntsiab lus. Qhov no ua rau cov txheej txheem ntawm cov npe ntawm cov khoom tsis tau txhais thiab dynamic. Ntxiv mus, nws qhia tau hais tias txhua tus kws sau ntawv yeej xav qhia yog qhov yooj yim-tus nqi syntax, tab sis hloov nws qhov kev txiav txim siab txawv txawv los siv XML, yuam kev siv ib qho khoob khoob tsuas yog ua ntej siv tus cwj pwm syntax. Thiab kuv tuaj hla cov tswv yim zoo li no ntau zaus.

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

Qhov no yog ib yam dab tsi zoo dua, tab sis tam sim no rau qee yam vim li cas cov yuam sij yog metadata thiab cov txiaj ntsig tsis yog. Ib qho txawv heev saib ntawm phau ntawv txhais lus. Yog tias koj tshem tag nrho cov cim npe thiab cov cwj pwm, ib nrab ntawm cov ntaub ntawv yuav ploj.

Cov lus txhais lus tseeb hauv XML yuav zoo li no:

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

Tab sis yog tias tib neeg tau txiav txim siab coj txawv txawv los siv XML raws li cov ntaub ntawv hom thiab tom qab ntawd siv nws los npaj cov lus, ces lawv yuav tsum nkag siab tias lawv ua dab tsi yog qhov tsis tsim nyog thiab tsis yooj yim. Nws kuj yog ib qho uas cov neeg tsim qauv ua yuam kev xaiv XML los tsim lawv cov ntawv thov. Tab sis ntau zaus, lawv ua qhov teeb meem tsis zoo los ntawm kev siv XML hauv ib qho ntawm cov ntaub ntawv tau piav qhia saum toj no, tsis quav ntsej qhov tseeb tias XML tsuas yog tsis haum rau qhov no.

Qhov phem tshaj XML Schema? Los ntawm txoj kev, qhov khoom plig rau qhov phem tshaj XML schema kuv puas tau pom, Tau txais cov ntaub ntawv tsis siv neeg muab kev teeb tsa rau Polycom IP xov tooj xov tooj. Xws li cov ntaub ntawv xav tau rub tawm XML cov ntaub ntawv thov ntawm TFTP, uas ... Feem ntau, ntawm no yog ib qho excerpt los ntawm ib cov ntaub ntawv xws li:

<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="..." />

Qhov no tsis yog ib tug neeg dag dag. Thiab qhov no tsis yog kuv invention:

  • cov ntsiab lus tsuas yog siv los ua cov lus ua ntej los txuas cov cwj pwm, uas lawv tus kheej muaj cov npe hierarchical.
  • Yog tias koj xav muab qhov tseem ceeb rau ntau qhov xwm txheej ntawm ib hom ntaub ntawv tshwj xeeb, koj yuav tsum siv cov npe khoom los ua qhov no. uas muaj indexes.
  • Tsis tas li ntawd, tus cwj pwm pib nrog softkey., yuav tsum tau muab tso rau ntawm cov khoom <softkey/>, tus cwj pwm pib nrog feature., yuav tsum tau muab tso rau ntawm cov khoom <feature/> thiab lwm yam, txawm tias qhov tseeb tias nws zoo nkaus li tsis tsim nyog thiab thaum xub thawj siab tsis muaj qab hau.
  • Thiab thaum kawg, yog tias koj tau cia siab tias thawj feem ntawm tus cwj pwm lub npe yuav ib txwm zoo ib yam li lub npe lub npe - tsis muaj dab tsi zoo li ntawd! Piv txwv li, tus cwj pwm up. yuav tsum tau txuas nrog <userpreferences/>. Qhov kev txiav txim ntawm attaching attribute npe rau cov ntsiab lus yog arbitrary, yuav luag tag.

Cov ntaub ntawv lossis cov ntaub ntawv. Txhua zaug ib ntus, ib tug neeg ua ib yam dab tsi txawv txawv los ntawm kev sim sib piv XML thiab JSON - thiab yog li qhia tias lawv tsis nkag siab ib yam nkaus. XML yog cov ntaub ntawv cim lus. JSON yog cov ntaub ntawv tsim qauv, yog li muab piv rau lawv ib leeg zoo li sim sib piv sov nrog mos.

Lub tswvyim ntawm qhov sib txawv ntawm cov ntaub ntawv thiab cov ntaub ntawv. Raws li ib qho piv txwv ntawm XML, peb tuaj yeem ua raws li cov ntaub ntawv siv tshuab nyeem tau. Txawm hais tias nws yog lub hom phiaj los ua lub tshuab nyeem tau, nws hais txog kev ua piv txwv rau cov ntaub ntawv, thiab los ntawm qhov kev pom no yog qhov sib piv rau cov ntaub ntawv PDF, uas feem ntau tsis siv tshuab nyeem tau.

Piv txwv li, hauv XML qhov kev txiav txim ntawm cov ntsiab lus tseem ceeb. Tab sis hauv JSON, qhov kev txiav txim ntawm tus nqi tseem ceeb hauv cov khoom tsis muaj qab hau thiab tsis tau txhais. Yog tias koj xav kom tau txais phau ntawv txhais lus tsis raug cai ntawm qhov tseem ceeb-tus nqi khub, qhov kev txiav txim tiag tiag uas cov ntsiab lus tshwm sim hauv cov ntaub ntawv ntawd tsis muaj teeb meem. Tab sis koj tuaj yeem tsim ntau hom ntaub ntawv los ntawm cov ntaub ntawv no. ntawm cov ntaub ntawv, vim tias muaj qee qhov kev txiav txim hauv daim ntawv. Metaphorically, nws zoo ib yam rau ib daim ntawv ntawm daim ntawv, txawm hais tias nws tsis muaj lub cev qhov ntev, tsis zoo li cov ntawv luam tawm lossis PDF.

Kuv qhov piv txwv ntawm tus sawv cev ntawm XML cov lus pom zoo qhia qhov kev txiav txim ntawm cov ntsiab lus hauv phau ntawv txhais lus, tsis zoo li JSON sawv cev. Kuv tsis tuaj yeem tsis quav ntsej qhov kev txiav txim no: qhov linearity no muaj nyob rau hauv cov qauv ntaub ntawv thiab XML hom. Qee tus tuaj yeem xaiv tsis quav ntsej txog qhov kev txiav txim thaum txhais cov ntaub ntawv XML no, tab sis tsis muaj qhov sib cav txog qhov no vim qhov teeb meem dhau ntawm qhov kev sib tham ntawm hom ntawv nws tus kheej. Ntxiv mus, yog tias koj ua kom cov ntaub ntawv tuaj yeem pom hauv qhov browser los ntawm kev txuas ib daim ntawv cascading style rau nws, koj yuav pom tias cov ntsiab lus hauv phau ntawv txhais lus tshwm nyob rau hauv ib qho kev txiav txim thiab tsis muaj lwm yam.

Hauv lwm lo lus, phau ntawv txhais lus (ib daim ntawm cov ntaub ntawv tsim qauv) tuaj yeem hloov mus rau hauv n ntau yam ntaub ntawv tau (hauv XML, PDF, ntawv, thiab lwm yam), qhov twg n - tus naj npawb ntawm kev sib txuas ua ke ntawm cov ntsiab lus hauv phau ntawv txhais lus, thiab peb tseem tsis tau coj mus rau hauv tus account lwm yam hloov pauv tau.

Txawm li cas los xij, nws kuj ua raws li yog tias koj xav hloov cov ntaub ntawv nkaus xwb, tom qab ntawd siv lub tshuab nyeem ntawv rau qhov no yuav tsis zoo. Nws siv tus qauv, uas nyob rau hauv cov ntaub ntawv no yog superfluous; nws yuav tsuas tau txais nyob rau hauv txoj kev. Tsis tas li ntawd, txhawm rau rho tawm cov ntaub ntawv, koj yuav tsum tau sau ib qho kev pab cuam. Tsis tshua muaj ib qho taw qhia hauv kev siv XML rau ib yam dab tsi uas yuav tsis raug formatted raws li cov ntaub ntawv ntawm qee qhov taw tes (hais, siv CSS lossis XSLT, lossis ob qho tib si), vim qhov ntawd yog qhov tseem ceeb (yog tias tsis yog tib qho) vim li cas ua li ntawd. mus rau cov qauv ntaub ntawv.

Ntxiv mus, vim XML tsis muaj lub tswv yim ntawm cov lej (lossis Boolean kab lus, lossis lwm hom ntaub ntawv), txhua tus lej sawv cev hauv hom ntawv no tsuas yog suav tias yog cov ntawv ntxiv xwb. Txhawm rau rho tawm cov ntaub ntawv, lub schema thiab nws txoj kev sib raug zoo rau cov ntaub ntawv raug nthuav tawm yuav tsum paub. Koj kuj yuav tsum paub thaum twg, raws li cov ntsiab lus, cov ntawv nyeem tshwj xeeb sawv cev rau tus lej thiab yuav tsum tau hloov mus rau tus lej, thiab lwm yam.

Yog li, cov txheej txheem ntawm kev rho tawm cov ntaub ntawv los ntawm XML cov ntaub ntawv tsis txawv ntawm cov txheej txheem ntawm kev lees paub cov ntaub ntawv scanned uas muaj, piv txwv li, cov rooj tsim ntau nplooj ntawv ntawm cov ntaub ntawv zauv. Yog lawm, nws muaj peev xwm ua qhov no hauv txoj cai, tab sis qhov no tsis yog txoj hauv kev zoo tshaj plaws, tshwj tsis yog qhov chaw kawg, thaum tsis muaj lwm txoj kev xaiv. Qhov kev daws teeb meem tsim nyog tsuas yog nrhiav cov ntawv luam theej ntawm cov ntaub ntawv qub uas tsis tau kos rau hauv cov qauv ntaub ntawv uas sib txuas cov ntaub ntawv nrog nws cov ntawv tshwj xeeb.

Uas tau hais tias, nws tsis ua rau kuv xav tsis thoob tias XML nrov hauv kev lag luam. Yog vim li cas rau qhov no yog qhov tseeb tias cov ntaub ntawv hom ntawv (hauv daim ntawv) nkag siab thiab paub txog kev lag luam, thiab lawv xav tau txuas ntxiv siv tus qauv paub thiab nkag siab. Rau tib lub laj thawj, cov lag luam feem ntau siv cov ntaub ntawv PDF es tsis txhob siv cov tshuab nyeem ntau dua - vim tias lawv tseem txuas nrog lub tswv yim ntawm nplooj ntawv luam tawm nrog lub cev tshwj xeeb. Qhov no txawm siv rau cov ntaub ntawv uas tsis zoo li yuav tsum tau luam tawm (piv txwv li, 8000-nplooj PDF ntawm cov ntaub ntawv sau npe). Los ntawm qhov kev pom no, kev siv XML hauv kev lag luam yog qhov tseem ceeb ntawm qhov tshwm sim ntawm skeuomorphism. Cov tib neeg nkag siab txog lub tswv yim piv txwv ntawm cov nplooj ntawv luam tawm ntawm qhov tsawg tsawg, thiab lawv nkag siab yuav ua li cas los tsim cov txheej txheem kev lag luam raws li cov ntaub ntawv luam tawm. Yog tias qhov ntawd yog koj phau ntawv qhia, cov ntaub ntawv tsis muaj kev txwv loj ntawm lub cev uas siv lub tshuab nyeem tau-XML cov ntaub ntawv-sawv cev rau kev tsim kho tshiab thaum ua cov ntaub ntawv paub thiab nyiam. Qhov no tsis tiv thaiv lawv los ntawm qhov tsis raug thiab dhau ntawm skeuomorphic txoj kev nthuav tawm cov ntaub ntawv.

Txog niaj hnub no, tsuas yog XML schemas kuv paub tias kuv tuaj yeem hu tau tiag tiag siv hom ntawv yog XHTML thiab DocBook.

Tau qhov twg los: www.hab.com

Ntxiv ib saib