XML èšèªã¯ 1996 幎ã«çºæãããŸããããããç»å Žãããããªãããã®å¿çšã®å¯èœæ§ã¯ãã§ã«èª€è§£ããå§ããŠããã圌ãããããé©å¿ãããããšããŠããç®çã«ãšã£ãŠãããã¯æè¯ã®éžæã§ã¯ãããŸããã§ããã
ç§ããããŸã§èŠãŠãã XML ã¹ããŒãã®å€§éšåã¯ãXML ã®äžé©åãŸãã¯äžæ£ç¢ºãªäœ¿çšæ³ã§ãã£ããšèšã£ãŠãéèšã§ã¯ãããŸãããããã«ããã® XML ã®äœ¿çšã¯ãXML ã®æ¬è³ªã«ã€ããŠã®æ ¹æ¬çãªèª€è§£ã瀺ããŸããã
XML ã¯ããŒã¯ã¢ããèšèªã§ãã ããã¯ããŒã¿åœ¢åŒã§ã¯ãããŸãããã»ãšãã©ã® XML ã¹ããŒã ã¯ãã®åºå¥ãæ確ã«ç¡èŠããŠãããXML ãšããŒã¿åœ¢åŒãæ··åããŠãããå®éã«å¿
èŠãšãããããŒã¿åœ¢åŒã§ãã XML ãæçµçã« XML ã®éžæã誀ãããšã«ãªããŸãã
ããŸã詳ãã説æããŸããããXML ã¯ããã¹ãã®ãããã¯ã«æ§é ãšã¡ã¿ããŒã¿ã§æ³šéãä»ããã®ã«æé©ã§ããäž»ãªç®çãããã¹ãã®ãããã¯ãæäœããããšã§ã¯ãªãå ŽåãXML ãéžæããããšã¯æ£åœåãããå¯èœæ§ã¯äœãã§ãã
ãã®èŠ³ç¹ãããXML ã¹ããŒããã©ã®çšåºŠé©åã«äœæãããŠãããã確èªããç°¡åãªæ¹æ³ããããŸããäŸãšããŠãç®çã®ã¹ããŒãå ã®ããã¥ã¡ã³ããåãäžãããããããã¹ãŠã®ã¿ã°ãšå±æ§ãåé€ããŠã¿ãŸããããæ®ã£ãŠããå 容ãæå³ããªããªãå Žå (ãŸãã¯ç©ºçœè¡ãæ®ã£ãŠããå Žå)ãã¹ããŒããæ£ããæ§ç¯ãããŠããªãããåçŽã« XML ã䜿çšãã¹ãã§ã¯ãªãã£ããã®ã©ã¡ããã§ãã
以äžã«ã誀ã£ãŠæ§ç¯ãããåè·¯ã®æãäžè¬çãªäŸãããã€ã瀺ããŸãã
<roПt>
<item name="name" value="John" />
<item name="city" value="London" />
</roПt>
ããã§ã¯ãåçŽãªããŒãšå€ã®èŸæžã XML ã§è¡šçŸããããšãããæ ¹æ ã®ãªãå¥åŠãª (ãã ããéåžžã«äžè¬çãª) è©Šã¿ã®äŸã瀺ããŸãããã¹ãŠã®ã¿ã°ãšå±æ§ãåé€ãããšã空ã®è¡ãæ®ããŸããæ¬è³ªçã«ããã®ææžã¯ãã©ããªã«äžæ¡çã«èããããšããŠãã空è¡ã®æå³è«çãªæ³šéã§ãã
<root name="John" city="London" />
ããã«æªãããšã«ãããã§ã¯èŸæžãè¡šçŸããèŽ æ²¢ãªæ¹æ³ãšããŠç©ºã®æååã®ã»ãã³ãã£ã㯠ã¢ãããŒã·ã§ã³ã䜿çšããŠããã ãã§ã¯ãããŸãããä»åã¯ãèŸæžããã«ãŒãèŠçŽ ã®å±æ§ãšããŠçŽæ¥ãšã³ã³ãŒããããŠããŸããããã«ãããèŠçŽ äžã®æå®ãããå±æ§åã®ã»ãããæªå®çŸ©ã§åçã«ãªããŸããããã«ãäœæè ãå®éã«è¡šçŸãããã£ãã®ã¯åçŽãªããŒãšå€ã®æ§æã ãã ã£ãã®ã«ããã®ä»£ããã« XML ãé©çšãããšãããŸã£ããå¥åŠãªæ±ºå®ãäžããå±æ§æ§æã䜿çšããããã®ãã¬ãã£ãã¯ã¹ãšã㊠1 ã€ã®ç©ºã®èŠçŽ ã®äœ¿çšã匷å¶ããããšã瀺ããŠããŸãããããŠãç§ã¯ãã®ãããªèšç»ã«é »ç¹ã«ééããŸãã
<roПt>
<item key="name">John</item>
<item key="city">London</item>
</roПt>
ããã¯ããè¯ããã®ã§ãããäœããã®çç±ã§ããŒã¯ã¡ã¿ããŒã¿ã«ãªããå€ã¯ã¡ã¿ããŒã¿ã§ã¯ãªããªããŸãããèŸæžãèŠãŠã¿ããšãšãŠãäžæè°ã§ãããã¹ãŠã®ã¿ã°ãšå±æ§ãåé€ãããšãæ å ±ã®ååã倱ãããŸãã
XML ã®æ£ããèŸæžåŒã¯æ¬¡ã®ããã«ãªããŸãã
<roПt>
<item>
<key>Name</key>
<value>John</value>
</item>
<item>
<key>City</key>
<value>London</value>
</item>
</roПt>
ãããã人ã ã XML ãããŒã¿åœ¢åŒãšããŠäœ¿çšãããããèªåœã®æŽçã«äœ¿çšãããšããå¥åŠãªæ±ºå®ãäžããå Žåã圌ãã¯èªåãã¡ãè¡ã£ãŠããããšãäžé©åã§äžäŸ¿ã§ããããšãç解ããå¿ èŠããããŸããèšèšè ãã¢ããªã±ãŒã·ã§ã³ãäœæããããã«èª€ã£ãŠ XML ãéžæããããšããããããŸããããããããã«å€ãã®å ŽåãXML ãåçŽã«ããã«ã¯é©ããŠããªããšããäºå®ãç¡èŠããŠãäžèšã®åœ¢åŒã®ãããã㧠XML ãç¡æå³ã«äœ¿çšããããšã§åé¡ãæªåãããŸãã
ææªã® XML ã¹ããŒã? ã¡ãªã¿ã«è³åã¯ã ç§ãä»ãŸã§èŠãäžã§ææªã® XML ã¹ããŒã Polycom IP ãã¬ãã©ããŒé»è©±ã®èªåããããžã§ãã³ã°èšå®ãã¡ã€ã«åœ¢åŒãååŸããŸãããã®ãããªãã¡ã€ã«ã«ã¯ãTFTP çµç±ã§ XML èŠæ±ãã¡ã€ã«ãããŠã³ããŒãããå¿ èŠããããŸããäžè¬çã«ã以äžã¯ãã®ãããªãã¡ã€ã«ã® 1 ã€ããã®æç²ã§ãã
<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="..." />
ããã¯èª°ãã®æªãåè«ã§ã¯ãããŸããããããŠãããã¯ç§ã®çºæã§ã¯ãããŸããã
- èŠçŽ ã¯åã«å±æ§ãä»å ããããã®ãã¬ãã£ãã¯ã¹ãšããŠäœ¿çšãããããèªäœãéå±€åãæã¡ãŸãã
- ç¹å®ã®çš®é¡ã®ã¬ã³ãŒãã®è€æ°ã®ã€ã³ã¹ã¿ã³ã¹ã«å€ãå²ãåœãŠãå Žåã¯ãå±æ§åã䜿çšããå¿ èŠããããŸãã ã€ã³ããã¯ã¹ããããã®.
- ãŸããã§å§ãŸãå±æ§ã¯ã
softkey.
ãèŠçŽ äžã«é 眮ããå¿ èŠããããŸã<softkey/>
ãã§å§ãŸãå±æ§feature.
ãèŠçŽ äžã«é 眮ããå¿ èŠããããŸã<feature/>
ãªã©ãããã¯å®å šã«äžå¿ èŠã§äžèŠç¡æå³ã«èŠãããšããäºå®ã«ããããããã - æåŸã«ãå±æ§åã®æåã®ã³ã³ããŒãã³ããåžžã«èŠçŽ åãšåãã§ããããšãæåŸ
ããŠãããšãããããã®ãããªããšã¯ãããŸãããããšãã°ãå±æ§
up.
ã«æ·»ä»ããå¿ èŠããããŸã<userpreferences/>
ãèŠçŽ ã«å±æ§åãä»ããé åºã¯ãã»ãŒå®å šã«ä»»æã§ãã
æžé¡ãšãããŒã¿ãšããæã ã誰ãã XML ãš JSON ãæ¯èŒããããšããŠããŸã£ããå¥åŠãªããšãè¡ããã©ã¡ããç解ããŠããªãããšã瀺ããŸãã XML ã¯ããã¥ã¡ã³ã ããŒã¯ã¢ããèšèªã§ãã JSON ã¯æ§é åããŒã¿åœ¢åŒã§ãããããããããæ¯èŒããããšã¯ããŠã©ãŒã ãšãœãããæ¯èŒããããšãããããªãã®ã§ãã
ã®éãã®æŠå¿µ æžé¡ãšããŒã¿ã XML ã®é¡äŒŒç©ãšããŠãæ¡ä»¶ä»ãã§æ©æ¢°å¯èªããã¥ã¡ã³ããååŸã§ããŸããããã¯æ©æ¢°å¯èªã§ããããšãç®çãšããŠããŸãããæ¯å©çã«ããã¥ã¡ã³ããæãããã®èŠ³ç¹ããã¯å®éã«ã¯ãã»ãšãã©ã®å Žåæ©æ¢°å¯èªã§ã¯ãªã PDF ããã¥ã¡ã³ãã«çžåœããŸãã
ããšãã°ãXML ã§ã¯èŠçŽ ã®é åºãéèŠã§ããããããJSON ã§ã¯ããªããžã§ã¯ãå ã®ããŒãšå€ã®ãã¢ã®é åºã¯ç¡æå³ã§ãããå®çŸ©ãããŠããŸãããããŒãšå€ã®ãã¢ã®é åºãªãã®èŸæžãååŸãããå Žåããã®ãã¡ã€ã«å ã«èŠçŽ ãçŸããå®éã®é åºã¯é¢ä¿ãããŸããããã ãããã®ããŒã¿ããããŸããŸãªçš®é¡ã®ããŒã¿ãäœæã§ããŸãã ããã¥ã¡ã³ãææžã«ã¯ç¹å®ã®é åºãããããã§ããæ¯å©çã«èšãã°ãããã¯çŽäžã®ææžã«äŒŒãŠããŸãããå°å·åºåã PDF ãã¡ã€ã«ãšã¯ç°ãªããç©ççãªå¯žæ³ã¯ãããŸããã
é©å㪠XML èŸæžè¡šçŸã®äŸã¯ãJSON è¡šçŸãšã¯å¯Ÿç §çã«ãèŸæžå ã®èŠçŽ ã®é åºã瀺ããŠããŸãããã®é åºãç¡èŠããããšã¯ã§ããŸããããã®çŽç·æ§ã¯ããã¥ã¡ã³ã ã¢ãã«ãš XML 圢åŒã«åºæã®ãã®ã§ãããã® XML ããã¥ã¡ã³ãã解éãããšãã«é åºãç¡èŠããããšãéžæãã人ããããããããŸãããããã®åé¡ã¯åœ¢åŒèªäœã®è°è«ã®ç¯å²ãè¶ ããŠãããããããã«ã€ããŠè°è«ããã®ã¯æå³ããããŸãããããã«ãã«ã¹ã±ãŒã ã¹ã¿ã€ã« ã·ãŒããæ·»ä»ããŠããã¥ã¡ã³ãããã©ãŠã¶ã§è¡šç€ºã§ããããã«ãããšãèŸæžèŠçŽ ãç¹å®ã®é åºã§è¡šç€ºãããä»ã®é åºã§ã¯è¡šç€ºãããªãããšãããããŸãã
ã€ãŸããèŸæžïŒæ§é åããŒã¿ïŒã¯æ¬¡ã®ããã«å€æã§ããŸãã n ããŸããŸãªããã¥ã¡ã³ã (XMLãPDFãçŽãªã©) ãèããããŸãã n - èŸæžå ã®èŠçŽ ã®å¯èœãªçµã¿åããã®æ°ãä»ã®å¯èœãªå€æ°ã¯ãŸã èæ ®ãããŠããŸããã
ãã ããããŒã¿ã®ã¿ã転éãããå Žåã¯ãæ©æ¢°å¯èªããã¥ã¡ã³ãã䜿çšããŠãå¹æçã§ã¯ãªããšããããšã«ãªããŸããã¢ãã«ã䜿çšããŸããããã®å Žåã¯äžå¿ èŠã§ãããéªéã«ãªãã ãã§ãããŸãããœãŒã¹ããŒã¿ãæœåºããã«ã¯ããã°ã©ã ãèšè¿°ããå¿ èŠããããŸããããæç¹ã§ããã¥ã¡ã³ããšããŠãã©ãŒããããããªããã® (ããšãã°ãCSS ãŸã㯠XSLTããŸãã¯ãã®äž¡æ¹ã䜿çšãã) ã« XML ã䜿çšããããšã¯ãããããããã䞻㪠(å¯äžã§ã¯ãªãã«ããŠã) çç±ã§ãããããã»ãšãã©æå³ããããŸãããããã¥ã¡ã³ãã¢ãã«ã«ã
ããã«ãXML ã«ã¯æ°å€ (ãŸãã¯ããŒã«åŒããŸãã¯ãã®ä»ã®ããŒã¿å) ã®æŠå¿µããªãããããã®åœ¢åŒã§è¡šããããã¹ãŠã®æ°å€ã¯åãªãè¿œå ããã¹ããšã¿ãªãããŸããããŒã¿ãæœåºããã«ã¯ãã¹ããŒããšãè¡šçŸãããŠãã察å¿ããããŒã¿ãšã®é¢ä¿ãç¥ã£ãŠããå¿ èŠããããŸãããŸããã³ã³ããã¹ãã«åºã¥ããŠãç¹å®ã®ããã¹ãèŠçŽ ãæ°å€ãè¡šããæ°å€ã«å€æããå¿ èŠãããå Žåãªã©ãç¥ãå¿ èŠããããŸãã
ãããã£ãŠãXML ææžããããŒã¿ãæœåºããããã»ã¹ã¯ãããšãã°ãå€æ°ã®ããŒãžã®æ°å€ããŒã¿ãæ§æããè¡šãå«ãã¹ãã£ã³ãããææžãèªèããããã»ã¹ãšããã»ã©å€ãããŸãããã¯ããååãšããŠãããå®è¡ããããšã¯å¯èœã§ãããä»ã«éžæè¢ããŸã£ãããªãå Žåã®æåŸã®æ段ãé€ããŠãããã¯æé©ãªæ¹æ³ã§ã¯ãããŸãããåççãªè§£æ±ºçã¯ãããŒã¿ãšãã®ç¹å®ã®ããã¹ãè¡šçŸãçµã¿åãããããã¥ã¡ã³ã ã¢ãã«ã«åã蟌ãŸããŠããªãå ã®ããŒã¿ã®ããžã¿ã« ã³ããŒãåçŽã«èŠã€ããããšã§ãã
ãšã¯ãããXML ãããžãã¹ã§äººæ°ãããããšã«ã¯ãŸã£ããé©ããŸããããã®çç±ã¯ããŸãã«ïŒçŽã®ïŒææžåœ¢åŒãããžãã¹ã«ãšã£ãŠç解ãããã銎æã¿ãããã䜿ãæ £ããŠããŠããããããã¢ãã«ã䜿ãç¶ããããšèããŠããããã§ããåãçç±ã§ãäŒæ¥ã¯ãããæ©æ¢°å¯èªãªåœ¢åŒã§ã¯ãªããPDF ããã¥ã¡ã³ãã䜿çšããããšãå€ãããŸããããã¯ãç¹å®ã®ç©çãµã€ãºãæã€å°å·ããŒãžã®æŠå¿µã«äŸç¶ãšããŠçµã³ã€ããŠããããã§ããããã¯ãå°å·ãããå¯èœæ§ãäœãææž (ããšãã°ãã¬ãžââã¹ããªææžã® 8000 ããŒãžã® PDF) ã«ãåœãŠã¯ãŸããŸãããã®èŠ³ç¹ããèŠããšãããžãã¹ã«ããã XML ã®äœ¿çšã¯æ¬è³ªçã«ã¹ãã¥ãŒã¢ãŒãã£ãºã ã®çŸãã§ââãã人ã ã¯ãéããããµã€ãºã®å°å·ããŒãžãšããæ¯å©çãªæŠå¿µãç解ããå°å·ãããããã¥ã¡ã³ãã«åºã¥ããŠããžãã¹ ããã»ã¹ãäœæããæ¹æ³ãç解ããŠããŸãããããããªãã®ã¬ã€ãã§ãããªããæ©æ¢°å¯èªã§ç©ççãªãµã€ãºã®å¶éããªãããã¥ã¡ã³ã (XML ããã¥ã¡ã³ã) ã¯ã䜿ãæ £ããå¿«é©ãªããã¥ã¡ã³ãã§ãããšåæã«ãé©æ°æ§ãè¡šããŸããããã¯ãããŒã¿ã衚瀺ããäžæ£ç¢ºã§é床ã«ã¹ãã¥ãŒã¢ãŒãã£ãã¯ãªæ¹æ³ã®ãŸãŸã§ããããšãé²ããã®ã§ã¯ãããŸããã
çŸåšã®ãšãããç§ãç¥ã£ãŠããããã®åœ¢åŒã®æå¹ãªäœ¿çšæ³ãšèšãã XML ã¹ããŒãã¯ãXHTML ãš DocBook ã ãã§ãã
åºæïŒ habr.com