注æ
ãã®ãã¼ã¸ã«ã¢ã¯ã»ã¹ããã«ã¯ãæ¿èªãå¿ è¦ã§ãã ãµã¤ã³ã¤ã³ã¾ãã¯ãã£ã¬ã¯ããªã®å¤æ´ã試ããã¨ãã§ãã¾ãã
ãã®ãã¼ã¸ã«ã¢ã¯ã»ã¹ããã«ã¯ãæ¿èªãå¿ è¦ã§ãã ãã£ã¬ã¯ããªã®å¤æ´ã試ããã¨ãã§ãã¾ãã
æ¦è¦ : Office ãªã¼ãã³ XML å½¢å¼ããã³ HL7 CDA ã使ç¨ãã¦ãå»çãã¼ã¿ãæ¥çæ¨æºå½¢å¼ã§å®å ¨ã«éåä¿¡ãã¾ã (24 å°å·ãã¼ã¸)ã
Ted PattisonãChris PredeekãTed Pattison Group (è±èª)
Chris PredeekãTed Pattison Group (è±èª)
Wouter van VugtãInfo Support (è±èª)
2007 å¹´ 10 æ
é©ç¨å¯¾è±¡ : 2007 Microsoft Office System
ãµã³ãã« ãã¡ã¤ã«ã®ãã¦ã³ãã¼ã : 2007 Office Sample: Using the Office Open XML Formats to Support Electronic Health Records Portability and Health Industry Standards (è±èª)
ç®æ¬¡
æ¦è¦
顧客ã·ããªãª
ã³ã¼ãã®æ¦è¦
æ¨æºã®æ¦è¦
Office ãªã¼ãã³ XML å½¢å¼ã®ã¢ã¼ããã¯ãã£ã«ã¤ãã¦
Open Packaging Conventions ä»æ§ãå©ç¨ãã
XSLT ãå®è£ ãã
ãªã¼ãã³ XML SDK ã使ç¨ãã
ããã¥ã¡ã³ãæ§é ã«ã¤ãã¦
XML ãã¼ã¿ ã¹ãã¢ãä½æãã
ãªã¼ãã³ XML ãã¡ã¤ã«å½¢å¼ã®ãã¸ã¿ã«ç½²å
ã¾ã¨ã
ä½æè ã«ã¤ãã¦
æ¦è¦
æ£è ããã³æ¶è²»è ãé»åå»çè¨é²ãå®å ¨ã«éåä¿¡ã§ããããã«ãããã¨ã¯ãä¸çä¸ã®ãã«ã¹ã±ã¢æ¥çã§ã®å¤§ããªèª²é¡ã¨ãªã£ã¦ãã¾ããããã§ã¯ãå®å ¨ãªãã¼ã¿äº¤æã®ããã«ãOffice ãªã¼ãã³ XML å½¢å¼ããã³ã«ã¹ã¿ã XML å½¢å¼ã®ä½¿ç¨æ¹æ³ãå¦ç¿ãã¾ããããã§åãä¸ããã·ããªãªã§ã¯ãHL7 (Health Level Seven) ã® CDA (Clinical Document Architecture) ã使ç¨ãã¦ãé»åå»çè¨é²ãæ¥çæ¨æºå½¢å¼ã§è¨è¿°ããæ¹æ³ã示ãã¾ããã¾ããè¤æ°ã®å»çå¾äºè éã§ã®ãã¼ã¿ããªãã£ã®ããã«ãOffice ãªã¼ãã³ XML å½¢å¼ã«åºã¥ãã¦ã»ãã¥ãªãã£ä¿è·ãããããã¥ã¡ã³ãã«ãã¼ã¿ãæ ¼ç´ããæ¹æ³ã«ã¤ãã¦ã示ãã¾ãã
顧客ã·ããªãª
æè¿æ°ããå¼ã£è¶ãã¦ããå®ç°ããã¯ãæ°ãããããã¤ãå»ã«ç³ãè¾¼ããã¨èãã¾ãããå»çæ©é¢ã¨ãã¦é¸æããã®ã¯ãContoso, LLC ã§ããContoso ã¯ãå»çåéã ãã§ãªãããã¯ããã¸ã®æ¡ç¨ã¨é¡§å®¢ã¸ã®ãµã¼ãã¹æä¾ã«ã¤ãã¦ããªã¼ãã¼çãªæ©é¢ã§ããå°æ¥æ¥é¢ããå¯è½æ§ã®ãã顧客ã¯ãåç´ãªãã©ã¼ã ã«è¨å ¥ããã ãã§ãå®å ¨ã«ãªã³ã©ã¤ã³ã§ç»é²ã§ããç¾å¨æ²»çä¸ã®æ£è ã¯ãèªåã®è¨ºçè¨é²ã®ã³ãã¼ãå®å ¨ã«ãã¦ã³ãã¼ãã§ãã¾ããå®ç°ããã¯ãç»é²ãã©ã¼ã ã«æ å ±ãè¨å ¥ãã¾ããè¨å ¥ããæ å ±ã¯ãèªåçã«æ½åºãã㦠Contoso ã®ã·ã¹ãã ã«æ ¼ç´ãããåãã¦æ£è ã¨ãã¦æ¥é¢ããã¨ãã«ç¢ºèªããã¾ããå®ç°ãããä½å¹´ã«ãããã£ã¦ Contoso ã§æ¥ã ã®è¨ºçãåãããã¡ã«ãContoso ã®é»åå»çè¨é² (EHR: Electronic Health Record) ã·ã¹ãã ã«å®å ¨ã«æ ¼ç´ããã診çå±¥æ´ãå¤æ°èç©ããã¦ããã¾ããç´ãã¼ã¹ã®ã·ã¹ãã ã§è¨ºçè¨é²ãä¿æãã¦ããä»ã®å¤ãã®å»çæ©é¢ã¨ç°ãªããContoso ã§ã¯ãæ£è ãæ¥çæ¨æºå½¢å¼ã使ç¨ãã¦èªåã®è¨ºçè¨é²ãã¨ã¯ã¹ãã¼ãã§ãã EHR ã·ã¹ãã ã«æè³ãã¦ãã¾ãã診çè¨é²ã«ã¯ HL7 CDA ã使ç¨ãããOffice ãªã¼ãã³ XML å½¢å¼ã«åºã¥ããã¸ã¿ã«ç½²åãããããã¥ã¡ã³ãã«ãã£ã¦ãã¸ã¥ã¢ã«ãªè¡¨ç¤ºã¨å®å ¨ãªè»¢éãå¯è½ã§ããHL7 CDA å½¢å¼ã®è¨ºçè¨é²ãæã¤è±å¯ãªæ å ±ã¨æå³å 容ãå®å ¨ã«ä¿æããªãããæ£è ã¯è¡¨ç¤ºããã³å°å·ã«é©ãããªãããªå½¢å¼ã§ãã®ããã¥ã¡ã³ãã«ã¢ã¯ã»ã¹ã§ãã¾ãã
æè¡çãªè¦³ç¹ã§è¦ãã¨ããããã®è¨ºçè¨é²ã®ãã¼ã¿ã¯ãContoso ã® EHR ã·ã¹ãã ã«æ ¼ç´ããã¾ããå®ç°ããã®ãããªæ£è ããå®å ¨ãª Web ãµã¤ããã診çè¨é²ã®ã³ãã¼ããã¦ã³ãã¼ãããããã®ãªã³ã¯ãã¯ãªãã¯ããã¨ãHL7 CDA ãåçã« (å¿ è¦ã«å¿ãã¦è¤æ°ã®ãã¼ã¿ ã½ã¼ã¹ããã³ã·ã¹ãã ãã) ã¢ã»ã³ãã«ãããããã¥ã¡ã³ãã«åãè¾¼ã¾ãã¦æ£è ã®ãã¹ã¯ãããã«ãã¦ã³ãã¼ãããã¾ãã
å®ç°ããã¯ãMicrosoft Office Word 2007 ã使ç¨ãã¦ãèªåã®è¨ºçè¨é²ã表示ããå¿ è¦ã«å¿ãã¦ä¿åç¨ã«å°å·ã§ãã¾ããã¾ããããã¥ã¡ã³ããé»åçã«ããã¯ã¢ãããã¦ãä»ã®éè¦ãªè¨é²ã¨å ±ã«ä¿ç®¡ãã¦ãããã¨ãã§ãã¾ããèªåã®è¨ºçè¨é²ãå®å ¨ã«ç®¡çã§ãããã¨ã§ãå®ç°ããã¯å®¶æã¾ãã¯ä»ã®å»å¸«ãçµç¹ãªã©ã¨è¨é²ãå ±æãããã¨ãã§ãã¾ãã診çè¨é²ã¯ãå»å¸«ã®ãªãã£ã¹ã«ä¿åããã¦ããå 容ã®ã³ãã¼ã§ãããããããã¥ã¡ã³ããæ´æ°ãããæ¹ããããããããã¨ã¯ã§ãã¾ããããã®ãããªè¡çºãè¡ãã¨ãContoso ã® Web ãµã¤ããããã¦ã³ãã¼ããããåã«å»çè¨é²ã«é©ç¨ããã¦ãããã¸ã¿ã«ç½²åãå£ãã¾ãã
å®ç°ãããèªåã®è¨ºçè¨é²ãä»ã®çµç¹ã¨å ±æããå ´åããã®çµç¹ã®ã·ã¹ãã ã§ã¯ãããã¥ã¡ã³ããæ¹ããããã¦ããªããã¨ãããã³åãè¾¼ã¾ãã HL7 CDA ããã¥ã¡ã³ãããã¦ã³ãã¼ãæç¹ã¾ãã¯ã¢ã»ã³ãã«æç¹ã§ã®è¨ºçè¨é²ã®æ£ç¢ºãªã¹ãããã·ã§ãããåæ ãã¦ãããã¨ã確èªã§ãã¾ãã
å®ç°ããã¯ããªã³ã©ã¤ã³ã®å人å¥åº·è¨é² (PHR) ãµã¼ãã¹ã«ç»é²ãããã¨ã«æ±ºãã¾ããããã®ãµã¼ãã¹ãé¸ãã ã®ã¯ãOffice ãªã¼ãã³ XML å½¢å¼ã«åºã¥ãããã¥ã¡ã³ãã«åãè¾¼ã¾ãã形㧠HL7 CDA å½¢å¼ã®è¨ºçè¨é²ãåãåããã¨ãã§ããããã§ãããã®æ©è½ãå©ç¨ããã¨ãå®ç°ããã®è¨ºçè¨é²ã Contoso ããå³å¯ã«å®å ¨ãªå½¢ã§è»¢éããããããæ å ±ãåå ¥åããæéããããããå ¥åãã¹ã®å¯è½æ§ãåé¿ã§ãã¾ããPHR ãµã¼ãã¹ã«ãããå®ç°ããã¯èªåã®è¨ºçè¨é²ãå人çã«é²è¦§ããèªåã®å¥åº·ãããå¹æçããã³ç©æ¥µçã«ç®¡çã§ããããã«ãªãã¾ããã¢ãããã¼ã ããã»ã¹ä¸ã«ãããã¥ã¡ã³ãã¯æ¤æ»ããããã¸ã¿ã«ç½²åã確èªããã¾ããããã¥ã¡ã³ãããPHR ãµã¼ãã¹ã«å¯¾ããæ¢ç¥ã®çµç¹ (Contoso ãªã©) ã«ãããã¸ã¿ã«ç½²åããã¦ãã¦ããã®ãã¸ã¿ã«ç½²åãæ£ãã確èªãããã°ãHL7 CDA ãæ½åºã㦠PHR ãµã¼ãã¹ ã·ã¹ãã ã«æ ¼ç´ãããã¨ãã§ãã¾ãããã¸ã¿ã«ç½²åã«ãã£ã¦æ£ãã確èªããããã¨ã§ãPHR ãµã¼ãã¹ã§ã¯ããããã®è¨ºçè¨é²ã Contoso ã«ãã£ã¦æä¾ããããã®ã§ãããæ¹å¤ããã¦ããªãã¨ãããã¨ãé«ãä¿¡é ¼æ§ã§ç¢ºèªã§ãã¾ãã
ã³ã¼ãã®æ¦è¦
ãã®è¨äºã«ã¯ããã®ã·ããªãªã®ãµã³ãã«å®è£ ãå«ã Microsoft .NET Framework ãã¼ã¹ã®ã½ãªã¥ã¼ã·ã§ã³ãä»å±ãã¦ãã¾ãã詳細ã«ã¤ãã¦ã¯ãã2007 Office Sample: Using the Office Open XML Formats to Support Electronic Health Records Portability and Health Industry Standards (è±èª)ããåç §ãã¦ãã ããã
2 ã¤ã® Web ãµã¤ããããã¾ãã1 ã¤ã¯å»å¸«åãã§ãã 1 ã¤ã PHR ãµã¼ãã¹åãã§ããããªããå®ç°ããã§ããã¨ä»®å®ããã¨ãå®éã« Contoso ã«ç»é²ããèªåã®è¨ºçè¨é²ããã¦ã³ãã¼ãã§ãã¾ãããããã®è¨é²ã¯ãããã¥ã¡ã³ãã®æ´åæ§ãä¿è¨¼ãããããå»å¸«ã«ãã£ã¦ç½²åããã¦ãã¾ããç½²åã®æ´åæ§ã¯ãOffice Word 2007 ã使ç¨ãã¦ç°¡åã«ç¢ºèªã§ãã¾ãã確èªå¾ãè¨é²ããªã³ã©ã¤ã³ PHR ãµã¼ãã¹ã«éä¿¡ã§ãã¾ãã
HL7 CDA ãæ ¼ç´ããæ¹æ³ã¯ãå ´åã«ããç°ãªãã¾ãããã¨ãã°ãããã¥ã¡ã³ããå解ãã¦è¨ºçè¨é²ã®åè¦ç´ ããã¼ã¿ãã¼ã¹ã«æ ¼ç´ãããã¨ãã§ãã¾ããã¾ãã¯ãXML ããã¥ã¡ã³ãå ¨ä½ãæ ¼ç´ããå¿ è¦ã«å¿ãã¦è¦ç´ ãæ½åºãããã¨ãã§ãã¾ãããã®ä¾ã§ã¯ãHL7 CDA ããã®ã¾ã¾æ ¼ç´ãããHL7 ã® CDA æ¨æºã§æä¾ãããæ¨æº XSLT ã使ç¨ãã¦å 容ã表示ãããããã«ãªã£ã¦ãã¾ãããã®ã·ããªãªã§ä½¿ç¨ããããµã³ãã« ãã¼ã¿ãããã³ãµã³ãã« ã³ã¼ãã¯ãHL7 æ¨æºã«å«ã¾ãããµã³ãã« CDA ããã¥ã¡ã³ãããå¾ããããã®ã§ãã
æ¨æºã®æ¦è¦
ããã§ã¯ããã®ã½ãªã¥ã¼ã·ã§ã³ã®å®è£ ã«ä½¿ç¨ãããæ¨æºã«ã¤ãã¦èª¬æãã¾ãã
Office ãªã¼ãã³ XML ãã¡ã¤ã«å½¢å¼
2007 Microsoft Office system ã¯ãããã¥ã¡ã³ããã¹ãã¬ããã·ã¼ããããã³ãã¬ã¼ã³ãã¼ã·ã§ã³ã«ã¤ãã¦ãOffice ãªã¼ãã³ XML å½¢å¼ã¨ããæ°ãããã¼ã¯ã¢ããè¨èªæ¨æºã«æºæ ãã¦ãã¾ããOffice ãªã¼ãã³ XML å½¢å¼ã®æ¨æºã®è©³ç´°ã«ã¤ãã¦ã¯ããTC45 - Office Open XML Formats (è±èª)ããåç §ãã¦ãã ãããã¾ãããã®ãã¡ã¤ã«å½¢å¼ã¯ãä»æ§ã¨ã©ã¤ã»ã³ã¹ã®ãã¦ã³ãã¼ã ã«åºã¥ãã¦ãããXML Paper Specification (XPS) ã§ã使ç¨ããã¦ãã¾ããOffice ãªã¼ãã³ XML å½¢å¼ã®æ¨æºã§ã¯ãããã¥ã¡ã³ãã使ç¨ãã¦å®è¡ãããå¤ãã®ç°ãªãã¿ã¹ã¯ãç°¡åã«ãããããã¶ã¤ã³ãããããã¥ã¡ã³ã ãã¼ã¯ã¢ããæ¨æºãæä¾ãããããã¥ã¡ã³ãå ã§ãã¸ãã¹é¢é£ãã¼ã¿ã表ç¾ããããã®ã¢ãã«ãæä¾ããã¾ãããã®æ¨æºã«ã¯ãéç¢ãæã¤ã¦ã¼ã¶ã¼ã§ãããã¥ã¡ã³ããå©ç¨ã§ããããã«ããã¦ã¼ã¶ã¼è£å©ãµãã¼ããªã©ããã¾ãã¾ãªæ©è½ãå«ã¾ãã¦ãã¾ããOffice ãªã¼ãã³ XML å½¢å¼ã¯ãè¤æ°ã®åç¨ããã³ãªã¼ãã³ ã½ã¼ã¹ã®çç£æ§ã¹ã¤ã¼ãã«å®è£ ããã¦ãã¾ããOffice ãªã¼ãã³ XML å½¢å¼ããããã¥ã¡ã³ãã«ã«ã¹ã¿ã XML ãã¼ã¿ãåãè¾¼ãæ©è½ã¨çµã¿åããããã¨ã§ãããã¥ã¡ã³ãããã«ã¹ã±ã¢æ¥çã§å©ç¨ã§ããããã«ããé åçãªãã£ã³ã¹ãçã¾ãã¾ããæ¨æºåããã»ã¹ã«ãããããã¥ã¡ã³ãã®ä½¿ç¨æéå ¨ä½ã«ããã£ã¦éææ§ã¨äºææ§ãä¿è¨¼ããã¾ãã
ãã«ã¹ã±ã¢æ¥çã®çµç¹ã§ã¯ãæ£è ã®ã«ã«ããéé¢æã®æ å ±ãç´¹ä»ç¶ãå¦æ¹ç®ãªã©ãå¤ãã®è¨åºããã¥ã¡ã³ããé·æéã«ããã£ã¦ä½æããã³ç®¡çããå¿ è¦ãããã¾ãã診çè¨é²ãé»åå½¢å¼ã§ç®¡çããããã®ã©ã®ãããªãã¯ããã¸ããæç¶çã§ããå¿ è¦ãããã¾ããå°å ¥å¾ããã«ä½¿ç¨ä¸æ¢ããããããªãã¯ããã¸ã§ã¯ãæ å ±ã¸ã®ã¢ã¯ã»ã¹ã«é¢ãã¦åé¡ãçãã¾ããOffice ãªã¼ãã³ XML å½¢å¼ã¯å½éæ¨æºã§ãããã®ãããããã¥ã¡ã³ãã®ä¿æã«ã¤ãã¦ã®èª²é¡ããããã¥ã¡ã³ãã®è¨è¿°ã«ä½¿ç¨ãããå½¢å¼ãªã©ã®åé¡ã軽æ¸ããã¾ããOffice ãªã¼ãã³ XML å½¢å¼ã®æ¨æºã¨ããã«ä»éããä»æ§ããæ§é åæ å ±ã«å¯¾ãã HL7 CDA ãªã©ã®æ¥çæ¨æºã¨çµã¿åããã¦ä½¿ç¨ãããã¨ã§ãã ããããã®ãããªè¨ºçè¨é²ã®æç¶çãªè¡¨ç¾ãä½æã§ãã¾ãããããã®æ¨æºã«ãããç é¢ã PHR ãµã¼ãã¹ãªã©ã®çµç¹éã§ç¸äºéç¨ãå¯è½ã«ãªãã¨åæã«ãæ¶è²»è ãèªåã®è¨ºçè¨é²ã管çããããã§ç©æ¥µçãªå½¹å²ãæ¼ããããããã«ãªãã¾ãã
æ£è è¨é²ãç 究çµæãªã©ã®æ©å¯æ§ã®é«ããã¼ã¿ãå¦çããã³æ ¼ç´ããéã®ãã 1 ã¤ã®éè¦ãªå´é¢ã¯ããã¼ã¿ãæ¹ããããã¦ããªããã¨ãä¿è¨¼ãããã¨ã§ããä¸æ£ãªå¤æ´ã®æ¤åºãç°¡åã«ããããã«ãOffice ãªã¼ãã³ XML å½¢å¼ã§ã¯ãããã¥ã¡ã³ãã®å 容ã«ç½²åããããã®ç²¾å·§ãªæ§é ãç¨æãã¦ãã¾ããX509 証ææ¸ãªã©ã®æ¥çæ¨æºã使ç¨ããããã¾ãã¯ã«ã¹ã¿ã å®è£ ã使ç¨ã§ãã¾ãã
Office ãªã¼ãã³ XML å½¢å¼ã§ã¯ãã³ã¢ã®ææ¸ãã¼ãã¨ãã¦æ¥çæ¨æºã使ç¨ããããã«åºã¥ãã¦ããã¥ã¡ã³ãä½æç¨ã®ãªãããªç°å¢ãæ§ç¯ãã¦ãã¾ãããããã®ãã¯ããã¸ã¯ãã©ã®ãã©ãããã©ã¼ã ã§ã使ç¨ã§ãã¾ããããã¥ã¡ã³ãã¯ãZIP ã³ã³ããå ã«ã¢ã»ã³ãã«ããã XML ãã¡ã¤ã«ããæ§æããã¾ãããã® XML ãã¼ã¿ã®ã»ã¨ãã©ã¯ã3 ã¤ã®ãã¼ã¯ã¢ããè¨èªã®ããããã§è¡¨ç¾ããã¦ãã¾ãããããåè¨èªã®ååã¯ãåç´ãªãã¿ã¼ã³ã«å¾ã£ã¦ãã¾ããWordprocessingML ã¯ãã¯ã¼ãã ããã¥ã¡ã³ãã®å 容ãå®ç¾©ãã¾ããSpreadsheetML ã¯ã¹ãã¬ããã·ã¼ã ããã¥ã¡ã³ãã®å 容ãå®ç¾©ããPresentationML ã¯ãã¬ã¼ã³ãã¼ã·ã§ã³ã®å 容ãå®ç¾©ãã¾ãããããã«å ãã¦ãå³ãã°ã©ãã表ãªã©ãå®ç¾©ããããã®å ±éè¨èªãæä¾ãã DrawingML ãªã©ã®ãµãã¼ãè¨èªãããã¾ãã
å³ 1. ãªã¼ãã³ XML æ¨æºã®ã¡ã¤ã³ ã³ã³ãã¼ãã³ã
ããã¥ã¡ã³ãã®å 容ãå®ç¾©ããããã®æ§é ã«å ãã¦ãOffice ãªã¼ãã³ XML å½¢å¼ã§ã¯ãããã¥ã¡ã³ãå ã§ãã¸ãã¹ ãã¼ã¿ã表ç¾ããããã®ããã¤ãã®ãã¯ããã¸ãæä¾ãã¦ãã¾ãããã®å½¢å¼ã¨ãã¸ãã¹ ãã¼ã¿ã®çµã¿åããã«ãã£ã¦ãåªãã顧客ã½ãªã¥ã¼ã·ã§ã³ãå®ç¾ã§ãã¾ããOffice ãªã¼ãã³ XML å½¢å¼ä»¥åã«ã¯ãä¸è¬ã«ãã¸ãã¹é¢é£ãã¼ã¿ã¯ãé常ã®ããã¥ã¡ã³ã ã³ã³ãã³ãã¨ãã¦æ ¼ç´ããã¦ãã¾ãããæ£è çªå·ãå¦æ¹ç®ãªã©ã®ãã¼ã¿ãåå¾ããããã®æ¨æºçãªã¢ããã¼ãã¯ãããã¥ã¡ã³ããããã°ã©ã ã§éããæ®µè½ 3 ã¤åãæ¤ç´¢ããç®çã®ãã¼ã¿ã表ãæåã®æä½ããã¹ããè¦ã¤ããããªã©ã®æ¹æ³ã§ããããã®ã¢ããã¼ãã«ã¯ãæãããªæ¬ ç¹ãããã¾ããããã¥ã¡ã³ãã®å½¢å¼ãæ´ããããåããã¼ã¿ã«æ°ãããã³ãã¬ã¼ããé©ç¨ãããããã¨ãã³ã¼ããå£ãããããæ¹è¨ããå¿ è¦ãçãã¾ããOffice ãªã¼ãã³ XML å½¢å¼ã使ç¨ããã°ã太åãæä½ãªã©ã®æ§é åãã¸ãã¹ ãã¼ã¿ãæã¤æ¸å¼ãå®ç¾©ãããªãã¡ã¬ã³ã¹ ã¹ãã¼ããçµåã§ãã¾ããæ£è çªå·ã®æ¸å¼ã«åºã¥ãã¦ã¢ã¯ã»ã¹ãã代ããã«ãæ£è çªå·ã«ç´æ¥ã¢ã¯ã»ã¹ã§ãã¾ãã追å ã®å©ç¹ã® 1 ã¤ã¯ããã¼ã¿ãã¡ã¤ã³ ããã¥ã¡ã³ãæ¬ä½ã®å¤é¨ã§ä¿æã§ãããããããã¥ã¡ã³ãããã®æ½åºãåãè¾¼ã¿ã®éã«ç°¡åã«ã¢ã¯ã»ã¹ã§ãããã¨ã§ãã
å³ 2. æ¸å¼æå®ã«ãããã¼ã¿ã®ç¹å®ã¨ã³ã³ãã³ã ã³ã³ããã¼ã«ã«ãããã¼ã¿ã®ç¹å®
HL7 (Health Level Seven) CDA (Clinical Document Architecture)
HL7 (Health Level Seven) ã¯ããã«ã¹ã±ã¢æ å ±éä¿¡ãã¯ããã¸ã®åéã§å ¨ä¸ççã«æ´»åãã¦ããå¤ãã®æ¨æºéçºçµç¹ (SDO: Standards Development Organization) ã® 1 ã¤ã§ããHL7 ã¯ã1980 年代ã«è¨åºçµ±åã«é¢ããæ¨æºã®çå®ä½æ¥ãéå§ãã¾ãããä»æ¥ã§ã¯ããã«ã¹ã±ã¢é¢é£ã®æ¨æºçå®ã§æãæåããçµç¹ã® 1 ã¤ã¨ãªã£ã¦ãã¾ããHL7 ã¯ãä¸çä¸ã§æãåºã使ç¨ããã¦ããè¨åºæ å ±äº¤ææ¨æºã®ããã¤ããä¿æãã¦ãã¾ããå ·ä½çã«ã¯ãHL7 Messaging Version 2ãHL7 Version 3ãããã³ CDA (Clinical Document Architecture) ã§ãã
HL7 CDA ã¯ãXML ã«åºã¥ãããã¥ã¡ã³ã ãã¼ã¯ã¢ããæ¨æºã§ããHL7 Version 3 ã® RIM (Reference Information Model) ã§ã¯ã交æã®ç®çã®ããã«ãããã¥ã¡ã³ãå ã®åãã¼ã¿è¦ç´ ã®æ§é ã¨æå³ã®ä¸¡æ¹ãæå®ãã¦ãã¾ããHL7 CDA ã¯ä¸»ã«ãéé¢æã®æ å ±ãç´¹ä»ç¶ããã£ã¯ãã¼ã·ã§ã³ ã¬ãã¼ããªã©ã®è¨åºããã¥ã¡ã³ãã«ä½¿ç¨ããã¾ãã
CDA ã 2005 å¹´ã« ANSI æ¨æºã¨ãã¦æ¿èªããã¦ããããã®éçºã«å¾äºãã HL7 å§å¡ä¼ã¯ãä¸è¬çã«ä½¿ç¨ãããè¨åºããã¥ã¡ã³ãã«å¯¾ããåå©ç¨å¯è½ãªãã³ãã¬ã¼ãããã³å¶ç´ãä½æãããã¨ã«ãç¦ç¹ãåããã¦ãã¾ããããã®ä½æ¥ã®æåã®ææãããã®è¨äºã«ä»å±ã®ãµã³ãã« ã³ã¼ãã§æ£è ã®å人å¥åº·è¨é²ã表ãããã«ä½¿ç¨ãã CCD (Continuity of Care Document) ã§ãã
HL7ãCDAãããã³ CCD ã®è©³ç´°ã«ã¤ãã¦ã¯ãHealth Level Seven (è±èª) ã® Web ãµã¤ããåç §ãã¦ãã ããã
Office ãªã¼ãã³ XML å½¢å¼ã®ã¢ã¼ããã¯ãã£ã«ã¤ãã¦
ãã®æ°ãããã¡ã¤ã«å½¢å¼ã³ã³ããã¯ãåç´ãªãã¼ã ãã¼ã¹ã®å§ç¸® ZIP ãã¡ã¤ã«å½¢å¼ä»æ§ã«åºã¥ãã¦ãã¾ããæ°ãã Office ãªã¼ãã³ XML å½¢å¼ã®ã³ã¢ã¨ãªãã®ã¯ãXML ãªãã¡ã¬ã³ã¹ ã¹ãã¼ã㨠ZIP ã³ã³ããã®ä½¿ç¨ã§ããåãã¡ã¤ã«ã«ã¯ãã¾ãã¾ãªæ°ã®ãã¼ãã®éåãå«ã¾ãããã®éåãããã¥ã¡ã³ããå®ç¾©ãã¾ãã
ããã¥ã¡ã³ãã®åãã¼ãã¯ãæ¥çæ¨æºã® ZIP å½¢å¼ã使ç¨ãã¦ãã³ã³ãã ãã¡ã¤ã«ã¾ãã¯ããã±ã¼ã¸ã«æ ¼ç´ããã¾ããã»ã¨ãã©ã®ãã¼ã㯠XML ãã¡ã¤ã«ã§ãã¢ããªã±ã¼ã·ã§ã³ ãã¼ã¿ã表ããã®ãããã°ãã¡ã¿ãã¼ã¿ãã¦ã¼ã¶ã¼ ãã¼ã¿ã表ããã®ã¾ã§ããããã¹ã¦ã³ã³ãã ãã¡ã¤ã«å ã«ä¿åããã¾ããç»åã表ããã¤ã㪠ãã¡ã¤ã«ãããã¥ã¡ã³ãã«åãè¾¼ã¾ãã OLE ãªãã¸ã§ã¯ããªã©ã® XML ã§ã¯ãªããã¼ãããã³ã³ãã ããã±ã¼ã¸å ã«ä¿åããã¾ããã¾ãããã¼ãéã®é¢ä¿ãæå®ãããªã¬ã¼ã·ã§ã³ã·ãã ãã¼ããããããã®ãã¶ã¤ã³ã«ãã£ã¦ Office ãã¡ã¤ã«ã®æ§é ãå½¢æããã¾ãããã¼ãããã¡ã¤ã«ã®ã³ã³ãã³ããæ§æããã³ã³ãã³ãã®åé¨ãã©ã®ããã«å調ãã¦åä½ããã®ãããªã¬ã¼ã·ã§ã³ã·ããã表ãã¾ãã
詳細ã«ã¤ãã¦ã¯ã次ã®æ å ±ãåç §ãã¦ãã ããã
æ°ãããã¡ã¤ã«å½¢å¼ã®å é¨ãè¦ãããã®ç°¡åãªæ¹æ³ã¯ãWord 2007 ã®ããã¥ã¡ã³ããæ°ããæ¢å®ã®å½¢å¼ã§ä¿åãããã®ãã¡ã¤ã«ã®æ¡å¼µåã .zip ã«å¤æ´ãããã¨ã§ãããã¡ã¤ã«ãããã«ã¯ãªãã¯ãã¦éãããã®å 容ã表示ãã¾ãã
注æ
Office ãªã¼ãã³ XML å½¢å¼ã«åºã¥ããã¡ã¤ã«ã®æ§æãç解ããã«ã¯ããã®åãã¼ããæ½åºããå¿ è¦ãããã¾ãããã¡ã¤ã«ãéãã«ã¯ãWinZip ãªã©ã® ZIP ã¢ããªã±ã¼ã·ã§ã³ãã³ã³ãã¥ã¼ã¿ã«ã¤ã³ã¹ãã¼ã«ããã¦ãããã¨ãå¿ è¦ã§ãã
Word XML å½¢å¼ã®ãã¡ã¤ã«ã Word 2007 ã§éãã«ã¯
ãã¡ã¤ã«ã¨ãã®ãã¼ããä¿åããããã®ä¸æãã©ã«ããä½æãã¾ãã
(ããã¹ããç»åãªã©ãå«ã) Word 2007 ããã¥ã¡ã³ãã .docx ãã¡ã¤ã«ã¨ãã¦ä¿åãã¾ãã
ãã¡ã¤ã«åã®æ«å°¾ã«æ¡å¼µå .zip ã追å ãã¾ãã
ãã¡ã¤ã«ãããã«ã¯ãªãã¯ãã¾ããZIP ã¢ããªã±ã¼ã·ã§ã³ã§ãã¡ã¤ã«ãéãã¾ãããã¡ã¤ã«ã«å«ã¾ãã¦ããããã¥ã¡ã³ã ãã¼ãã表示ããã¾ãã
ä½æãããã©ã«ãã«ãã¼ããæ½åºãã¾ãã
å³ 3. ã¤ã¡ã¼ã¸ããã³åãè¾¼ã¿ãªãã¸ã§ã¯ããå«ã Word 2007 ããã¥ã¡ã³ãã®é層çãã¡ã¤ã«æ§é
Open Packaging Conventions ä»æ§ã¯ãæ°ãããã¡ã¤ã«å½¢å¼ã使ç¨ãã Word 2007 ããã¥ã¡ã³ãã®æ§é ãå®ç¾©ãã¾ããOpen Packaging Conventions ã®è©³ç´°ã«ã¤ãã¦ã¯ããä»æ§ã¨ã©ã¤ã»ã³ã¹ã®ãã¦ã³ãã¼ãããåç §ãã¦ãã ããããã㯠XML Paper Specification ã§ã使ç¨ããã¦ãã¾ããã¾ããæè¿ãªãªã¼ã¹ããã Java ãã¼ã¹ã®ãã¼ã¸ã§ã³ãããã¾ããOpenXML4J ã¯ãOffice ãªã¼ãã³ XML (ECMA-376) ããã³ OPC ãã¼ã¹ã®ããã¥ã¡ã³ã (ãã¨ãã°ãMicrosoft Office Word 2007ãMicrosoft Office Excel 2007ãããã³ Microsoft Office PowerPoint 2007 ã®ããã¥ã¡ã³ã) ã®ä½æããã³æä½å°ç¨ã® Java ã©ã¤ãã©ãªã§ããOpenXML4J ã使ç¨ããã°ãMicrosoft Office ã¹ã¤ã¼ãã使ç¨ããªãã¦ããå¤ãã®scenariosã«å¯¾ãã¦ãªã¼ãã³ XML ããã¥ã¡ã³ãã®ä½æããã³æä½ãå¯è½ã«ãªãã¾ãã詳細ã«ã¤ãã¦ã¯ããOpenXML4J Project: Office Open XML File Format library for Javaããåç §ãã¦ãã ããã
ãã®è¨äºã§ã¯ããµã³ãã« ããã¥ã¡ã³ãã¨ã㦠"Hello World" ã®ä¾ã使ç¨ãã¦ãã¾ããã¦ã©ã¼ã¯ã¹ã«ã¼ã§ã¯ãPackaging API ã使ç¨ãã¦ãXML 㨠ZIP ã®ä½ã¬ãã«ã®è©³ç´°ãå¦çãã¦ãã¾ãããã® Hello World ããã¥ã¡ã³ãã«ã¯ 3 ã¤ã®ãã¼ããå«ã¾ãããã®ãã¡ã® 2 ã¤ã ããæåã§ä½æãã¾ããæåã«ã"Hello World" ã¨ããããã¹ããæ ¼ç´ããããã¥ã¡ã³ã ãã¼ããä½æãã¾ããWordprocessingML ã§ã¯ãå¥ã®ããã¥ã¡ã³ã ãã¼ãã使ç¨ãã¦ãã®ãã¼ã¿ãæ ¼ç´ãã¾ãã次ã«ããªã¬ã¼ã·ã§ã³ã·ãã ãã¼ããä½æãããã¼ã¿ãå«ãããã¥ã¡ã³ã ãã¼ãã¨ããã±ã¼ã¸ã¨ã®éã®ãªã¬ã¼ã·ã§ã³ã·ãããä½æãã¾ããæå¾ã«ãPackaging API ã§ã³ã³ãã³ã ã¿ã¤ãã®ãªã¹ããä½æãã¾ãããã®ã³ã³ãã³ã ã¿ã¤ã ãªã¹ãã¯ãããã±ã¼ã¸å ã®åããã¥ã¡ã³ã ãã¼ãã®å 容ãèå¥ãã¾ããPackaging API 㯠ZIP ã®è©³ç´°ãæ½è±¡åããã ããªã®ã§ãSystem.Xml ã使ç¨ãã"Hello World" ããã¹ããå½¢æãã XML ãã¼ã¯ã¢ãããæåã§ä½æããå¿ è¦ãããã¾ãã
å³ 4. "Hello World" ããã¹ãã® XML ãã¼ã¯ã¢ããä¾
以éã®ã»ã¯ã·ã§ã³ã§ã¯ãOffice ãªã¼ãã³ XML å½¢å¼ã¢ã¼ããã¯ãã£ã®ä¸»è¦ãªã³ã³ãã¼ãã³ãã«ã¤ãã¦èª¬æãã¾ãã
ã³ã³ãã³ã ã¿ã¤ã
æåã®éè¦ãªæ¦å¿µã¯ãã³ã³ãã³ã ã¿ã¤ã ãªã¹ãã§ããããã¥ã¡ã³ã ã³ã³ããã®ã«ã¼ãã«ã¯ã[Content_Types].xml ã¨ããååã®ããã¥ã¡ã³ã ãã¼ããããã¾ãããã®ããã¥ã¡ã³ã ãã¼ãã¯ä¸æã§ãããããã±ã¼ã¸å ã®ä»ã®ãã¹ã¦ã®ãã¼ãã«å¯¾ããã³ã³ãã³ã ã¿ã¤ãæååã®è¾æ¸ãæ ¼ç´ãã¦ãã¾ããã³ã³ãã³ã ã¿ã¤ãã¯ããã¼ãå ã«å«ã¾ããã³ã³ãã³ãã®ç¨®é¡ãã¦ã¼ã¶ã¼ã«ç¤ºããã®ã§ãããã¤ã㪠ãã¼ã¿ã¨ XML ãã¼ã¿ãåºå¥ããã¾ãããããã±ã¼ã¸å ã®ãã¼ãã®ã»ã¨ãã©ã¯ XML ã使ç¨ãã¦å®ç¾©ããã¦ãããããXML ãã¼ã¿ã¯ããã«è¤æ°ã®ã¿ã¤ãã«åé¡ããã¾ããã³ã³ãã³ã ã¿ã¤ãã¯ã2 ã¤ã®ã¢ãã«ã使ç¨ãã¦å®ç¾©ã§ãã¾ããç¹å®ã®ãã¡ã¤ã«åã®æ¡å¼µåã«æ¢å®ã®ã³ã³ãã³ã ã¿ã¤ããé¢é£ä»ããããã¾ãã¯ãã³ã³ããå ã®ããã±ã¼ã¸ ãã¼ãã®ä½ç½®ã«åºã¥ãã¦ãã®æ¢å®ã®ã³ã³ãã³ã ã¿ã¤ããå¤æ´ã§ãã¾ãã次ã®ã³ã¼ãä¾ã«ãåç´ãªã³ã³ãã³ã ã¿ã¤ã ãªã¹ãã示ãã¾ãã
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Types xmlns="http://schemas.liquid-technologies.com/OfficeOpenXML/2006/default.html">
<Default
Extension="rels"
ContentType="application/vnd.openxmlformats-package.relationships+xml"/>
<Default
Extension="xml"
ContentType="application/xml"/>
<Override
PartName="/word/document.xml"
ContentType="application/vnd.openxmlformats-â¦
â¦officedocument.wordprocessingml.document.main+xml"/>
</Types>
ãªã¬ã¼ã·ã§ã³ã·ãã
ZIP ã³ã³ããå ã§ã¯ãæ¡å¼µå .rels ãæã¤å¥ã® XML ãã¡ã¤ã«ã _rels ã¨ãããã©ã«ãã«å¸¸ã«æ ¼ç´ããã¦ãã¾ãããããã®ãªã¬ã¼ã·ã§ã³ã·ãã ãã¼ãã¯ãããã¥ã¡ã³ãã®å種ãã¼ããäºãã«é¢é£ä»ãã¾ããããã±ã¼ã¸ ãã¼ãéã®ãªã¬ã¼ã·ã§ã³ã·ãããåãã¼ãããèªä½ã«ã¤ã³ã©ã¤ã³ã§æ ¼ç´ãã代ããã«ããªã¬ã¼ã·ã§ã³ã·ãã ãã¼ã ã¢ãã«ã使ç¨ããã¦ãã¾ããã©ã®ããã¥ã¡ã³ã ãã¼ããããªã¬ã¼ã·ã§ã³ã·ããã使ç¨ãã¦ä»ã®ä»»æã®ãã¼ãã¨é¢é£ä»ãããã¨ãã§ãã¾ããããã«ã¯ã循ç°çãªãªã¬ã¼ã·ã§ã³ã·ãããå«ã¾ãã¾ãããªã¬ã¼ã·ã§ã³ã·ãã ã¢ãã«ã«ãããããã±ã¼ã¸ããç¹å®ã®è¦ç´ ãåç §ããå¿ è¦ã®ããã¢ããªã±ã¼ã·ã§ã³ã®ä½æ¥è² è·ã大ãã軽æ¸ãã¾ãããããã¼ãè¦ã¤ããããã«å¤§ããªããã¥ã¡ã³ãã®å å®¹å ¨ä½ã解æããå¿ è¦ã¯ããã¾ããããã®ä»£ããããªã¬ã¼ã·ã§ã³ã·ãã ãã¼ãã«ãã£ã¦ãã®æ å ±ãæä¾ããã¾ããããã¯ãOffice ãªã¼ãã³ XML å½¢å¼ã«åºã¥ãããã±ã¼ã¸ã®ä½¿ç¨ã«é¢ããé常ã«éè¦ãªå´é¢ã® 1 ã¤ã§ãããªã¬ã¼ã·ã§ã³ã·ãã ãã¼ãã«ãããããã±ã¼ã¸å ã§ã®ä»»æã®ãã¼ãã®ä½ç½®ãåã¦ã¼ã¶ã¼ã®å¥½ã¿ã«åºã¥ãã¦å¤æ´ã§ãã¾ããããã±ã¼ã¸å ã®ãã¹ã¯éçã§ã¯ããã¾ãããããã¥ã¡ã³ãã®ãã¼ã¸ã§ã³ãã¨ã«ãã¾ãã¯ããã¥ã¡ã³ããç°ãªãçç£æ§ã¢ããªã±ã¼ã·ã§ã³ã§å¤æ´ããå ´åã«ããã¹ã¯å¤åããå¯è½æ§ãããã¾ãã常ã«ããªã¬ã¼ã·ã§ã³ã·ããã使ç¨ãã¦ä½æ¥ãããã¨ãå¿ è¦ã§ãã
ãªã¬ã¼ã·ã§ã³ã·ããã«ã¯ã4 ã¤ã®ãã¼ã¿ãæ ¼ç´ããã¾ããåãªã¬ã¼ã·ã§ã³ã·ããã«ã¯ãåºæã®ãªã¬ã¼ã·ã§ã³ã·ãã ID ã使ç¨ããã¾ãããã® ID ã¯ããªã¬ã¼ã·ã§ã³ã·ããã®åã½ã¼ã¹ã«ã¤ãã¦åºæã§ããå¿ è¦ãããã¾ãã次ã«ããªã¬ã¼ã·ã§ã³ã·ãã ã¿ã¤ããé©ç¨ãã¾ããããã¯ãããã±ã¼ã¸å ã§ããã¥ã¡ã³ã ãã¼ããæ¤ç´¢ããããã«ä½¿ç¨ã§ãã第 2 ã®ã¢ãã«ã§ããWordprocessingML ãã¼ã¹ã®ããã¥ã¡ã³ãã®å ´åããããã¼ã¨ããã¿ã¼ã¯ãªã¬ã¼ã·ã§ã³ã·ãã ã¿ã¤ãã«åºã¥ãã¦é ç½®ããã¾ããåãè¾¼ã¿ã¤ã¡ã¼ã¸ã¯ããªã¬ã¼ã·ã§ã³ã·ãã ID ã使ç¨ãã¦æ¤ç´¢ãããããã¥ã¡ã³ã ãã¼ãã®ä¾ã§ãããªã¬ã¼ã·ã§ã³ã·ããã«ã¯ããããæã示ãå ´æã®ã¿ã¼ã²ãã URI ãæ ¼ç´ããã¦ãã¾ãããã® URI ã¯ãããã±ã¼ã¸ã®å é¨ã§ãå¤é¨ã§ããã¾ãã¾ãããããã¯ã次ã®ã³ã¼ãä¾ã«ç¤ºãããã«ããªã¬ã¼ã·ã§ã³ã·ãã ãã¼ã¯ã¢ããå ã®ãã©ã°ã«ãã£ã¦ç¤ºããã¾ãã
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships
xmlns="http://schemas.liquid-technologies.com/OfficeOpenXML/2006/default.html">
<Relationship Id="rId1"
Type="http://schemas.liquid-technologies.com/OfficeOpenXML/2006/default.html
2006/relationships/extended-properties"
Target="docProps/app.xml"/>
<Relationship Id="rId2" Type="http://schemas.liquid-technologies.com/OfficeOpenXML/2006/default.html
2006/relationships/officeDocument"
Target="word/document.xml"/>
</Relationships>
ãªã¼ãã³ XML ä»æ§ã§ã¯ã2 ã¤ã®ã¿ã¤ãã®ãªã¬ã¼ã·ã§ã³ã·ãããå®ç¾©ããããããã¯å¸¸ã«æ¡å¼µå .rels ã®ãã¡ã¤ã«ã«æ ¼ç´ããã¾ããã½ã¼ã¹ ãã¼ããå®ç¾©ããã¦ãããªã¬ã¼ã·ã§ã³ã·ããã¨ãå®ç¾©ããã¦ããªããªã¬ã¼ã·ã§ã³ã·ãããããã¾ãã
ã½ã¼ã¹ ãã¼ãã®å®ç¾©ããã¦ããªããªã¬ã¼ã·ã§ã³ã·ããã¯ãããã±ã¼ã¸ ã¬ãã«ã®ãªã¬ã¼ã·ã§ã³ã·ããã§ããããã±ã¼ã¸å ¨ä½ããªã¬ã¼ã·ã§ã³ã·ããã®ã½ã¼ã¹ã¨èãããã¨ãã§ãã¾ããããã±ã¼ã¸ ã¬ãã«ã®ãªã¬ã¼ã·ã§ã³ã·ããã¯ãããã±ã¼ã¸å ã®æ¤ç´¢ãéå§ããã¨ãã«ä½¿ç¨ããã¾ãããããã®ãªã¬ã¼ã·ã§ã³ã·ããã¯ã常ã«ç¹å®ã®ãªã¬ã¼ã·ã§ã³ã·ãã ãã¡ã¤ã«ã«æ ¼ç´ããã¦ãã¾ããå ·ä½çã«ã¯ã_rels/.rels ãã¡ã¤ã«ã§ãããã®å ´æã¯å¤æ´ã§ãã¾ãããOffice ãªã¼ãã³ XML å½¢å¼ã«åºã¥ãããã¥ã¡ã³ãã®ã»ã¨ãã©ã«ã¯ãå°ãªãã¨ã 3 ã¤ã®ããã±ã¼ã¸ ã¬ãã«ã®ãªã¬ã¼ã·ã§ã³ã·ãããå«ã¾ãã¦ãã¾ããã³ã¢ ããããã£ç¨ã« 1 ã¤ãã¢ããªã±ã¼ã·ã§ã³ ããããã£ç¨ã« 1 ã¤ãããã³éå§ãã¼ãã¨å¼ã°ããããã±ã¼ã¸å ã®ç¹æ®ãªãã¼ãã®æ¤ç´¢ç¨ã« 1 ã¤ã§ãããã®ãªã¬ã¼ã·ã§ã³ã·ããã¯ãããã¥ã¡ã³ãã®è§£æãéå§ããå ´æã示ãç¹å®ã®ã¿ã¤ããæã£ã¦ãã¾ãããã®ãªã¬ã¼ã·ã§ã³ã·ããã¯ãéå§ãã¼ãã¨å¼ã°ããããã±ã¼ã¸ ãã¼ããæã示ãã¾ããéå§ãã¼ãã®æ¤ç´¢ã«ä½¿ç¨ããããªã¬ã¼ã·ã§ã³ã·ãã ã¿ã¤ãã次ã«ç¤ºãã¾ãã
http://schemas.liquid-technologies.com/OfficeOpenXML/2006/default.htmlrelationships/officeDocument
éå§ãã¼ãã¯é常ãã¹ã¿ã¤ã«ããã¼ããªã©ãä»ã®ããã¥ã¡ã³ã ã³ã³ãã³ããå«ãã§ãããã¼ãã示ããªã¬ã¼ã·ã§ã³ã·ãããå®ç¾©ãã¾ãããã®ãªã¬ã¼ã·ã§ã³ã·ããã¯ã½ã¼ã¹ ãã¼ãå ã§å®ç¾©ããããããã¢ã¤ãã ã¬ãã«ã®ãªã¬ã¼ã·ã§ã³ã·ããã¨èãããã¾ãããããã®ã¢ã¤ãã ã¬ãã«ã®ãªã¬ã¼ã·ã§ã³ã·ããã¯ãã½ã¼ã¹ ãã¼ãã®å ´æãåºæºã¨ãã _rels ãµããã©ã«ãã«æ ¼ç´ããã¾ããåãªã¬ã¼ã·ã§ã³ã·ãã ãã¡ã¤ã«ã®ååã¯ãé¢ä¿ä»ãããããã¼ãã®å®å ¨ãªãã¡ã¤ã«åã«æ¡å¼µå .rels ã追å ãããã®ã«ãªãã¾ãããã¨ãã°ãdocument.xml ã¨ãããã¼ãã®ãªã¬ã¼ã·ã§ã³ã·ãã ãã¼ãã¯ãdocument.xml.rels ã¨ããååã«ãªãã¾ãã
å³ 5. ããã±ã¼ã¸ ãªã¬ã¼ã·ã§ã³ã·ããã¨ããã¥ã¡ã³ã ãã¼ã
Open Packaging Conventions ä»æ§ãå©ç¨ãã
Open Packaging Conventions ã§ã¯ããã¡ã¤ã«æ§é ã®å®ç¾©ã«åãæ¦å¿µã使ç¨ãã¦ãã¾ããPackage ã¯ã©ã¹ã¯ããªã¼ãã³ XML ããã±ã¼ã¸å ¨ä½ãå®ç¾©ãã¾ããPackageRelationship ã¯ã1 ã¤ã®ãªã¬ã¼ã·ã§ã³ã·ãããå®ç¾©ãã¾ããPackagePart ã¯ã©ã¹ã¯ãããã±ã¼ã¸å ã®ããã±ã¼ã¸ ãã¼ããã«ãã»ã«åãã¾ãã
ãµã³ãã« ããã¥ã¡ã³ããä½æããã«ã¯ãPackaging API ã® 3 è¡ã®ã³ã¼ãã¨ã"Hello World" ããã¹ãã表示ãã WordprocessingML ãã¼ã¯ã¢ãããçæããããã®ããã¤ãã®ã³ã¼ããå¿ è¦ã§ãã
ããã±ã¼ã¸ãä½æãã
æåã®æé ã¯ãããã±ã¼ã¸ã®ä½æã§ããããã«ã¯ãPackage ã¯ã©ã¹ã¨ãéç㪠Open ã¡ã½ããã使ç¨ãã¾ãããã®ã¡ã½ããã¯ãæ°ãã Package ã¤ã³ã¹ã¿ã³ã¹ãè¿ãã¾ãã
class Program
{
static void Main()
{
using (Package package = Package.Open("Sample.docx", FileMode.Create))
{
// The rest of the code goes here.
}
}
}
ã¡ã¤ã³ ããã¥ã¡ã³ã ãã¼ããä½æãã
ããã±ã¼ã¸ãä½æããå¾ã次ã®æé ã¯ã¡ã¤ã³ ããã¥ã¡ã³ã ãã¼ãã®ä½æã§ããããã¥ã¡ã³ã ãã¼ãã¯ãéãã¦ããããã±ã¼ã¸ã® CreatePart ã¡ã½ãããå¼ã³åºããã¨ã§ä½æãã¾ãããã¼ããä½æããã«ã¯ãæåã«ãæ°ãããã¼ããæ ¼ç´ããããã®ããã±ã¼ã¸å ã®åºæã®å ´æãæå®ãã¾ãããã®å ´æ㯠URI ã使ç¨ãã¦ç¹å®ãã¾ããå ´æãæ¢ã«ä½¿ç¨ä¸ã§ããå ´åã¯ãä¾å¤ãã¹ãã¼ããã¾ããCreatePart ã¡ã½ããã®ç¬¬ 2 ã®ãã©ã¡ã¼ã¿ã¯ãæ°ãããã¼ãã®ã³ã³ãã³ã ã¿ã¤ãå®ç¾©ã§ããããã«ãããããã±ã¼ã¸å ã® [Content_Types].xml ãªã¹ããèªåçã«æ´æ°ããã¾ãããããæåã§è¡ãå¿ è¦ã¯ããã¾ããã
PackagePart mainPart = package.CreatePart(
new Uri("/document.xml", UriKind.Relative),
"application/vnd.openxmlformats-
officedocument.wordprocessingml.document.main+xml");
ãªã¬ã¼ã·ã§ã³ã·ãããä½æãã
æå¾ã®æé ã¯ãã¡ã¤ã³ ããã±ã¼ã¸ ãã¼ããæã示ããªã¬ã¼ã·ã§ã³ã·ããã®ä½æã§ãããã®ãªã¬ã¼ã·ã§ã³ã·ããã¯ãã½ã¼ã¹ ãªãã¸ã§ã¯ãã® CreateRelationship ã¡ã½ãããå¼ã³åºããã¨ã§ä½æãã¾ããã½ã¼ã¹ãããã±ã¼ã¸ã§ããå ´åã¯ãpackage.CreateRelationship ãå¼ã³åºãã¾ããã½ã¼ã¹ãä»ã®ããã¥ã¡ã³ã ãã¼ãã§ããå ´åã¯ãmainPart.CreateRelationship ãå¼ã³åºãã¾ãããã¨ãã°ãmainPart ã«ä»ã®åãã¼ãã¨ã®ãªã¬ã¼ã·ã§ã³ã·ãããå¿ è¦ã ã¨ãã¾ããæå®ãããã¼ã¿ã¯ 3 ã¤ããã¾ããã¾ããURI å¤ã使ç¨ãã¦ãç¸æãã¼ããæå®ãã¾ãã次ã«ããã®ç¸æãã¼ããããã±ã¼ã¸ã®å é¨ã«ããã (TargetMode.Internal)ãã¾ãã¯å¤é¨ã«ããã (TargetMode.External) ãæå®ãã¾ãããã® 2 çªç®ã®ã¿ã¼ã²ãã ã¢ã¼ãã¯ããã¤ãã¼ãªã³ã¯ãä»ã®å¤é¨ãªã³ã¯ã«å¯¾ãã¦ä½¿ç¨ãã¾ããããã«ãæå¾ã®ãã©ã¡ã¼ã¿ã¨ãã¦ãªã¬ã¼ã·ã§ã³ã·ãã ã¿ã¤ããæå®ããå¿ è¦ãããã¾ããå¾ã§ãã®ãªã¬ã¼ã·ã§ã³ã·ãã ã¿ã¤ãã使ç¨ãã¦ãããã±ã¼ã¸å ãåç §ã§ãã¾ãã
PackageRelationship mainRelationship = package.CreateRelationship(
mainPart.Uri,
TargetMode.Internal,
"http://schemas.liquid-technologies.com/OfficeOpenXML/2006/default.html
relationships/officeDocument");
System.Xml ã使ç¨ãã
ããã±ã¼ã¸ã®è©³ç´°ãå¦çããå¾ã¯ã次ã®æé ã¨ãã¦ãã¡ã¤ã³ ããã¥ã¡ã³ã ãã¼ãã«ã³ã³ãã³ããæ ¼ç´ãã¾ããHello World ã®ä¾ã«ã¯åºæ¬çãªé層ãå«ã¾ãã¦ãã¾ãã<document> ã¿ã°ãã«ã¼ãã§ãã次ã«ãããã¥ã¡ã³ãã®æ¬æãå«ã <body> ãããã¾ããæ¬æã¯ã段è½ã表ãªã©ã®ããã㯠ã¬ãã«ã®å 容ã使ç¨ãã¦æ§æããã¾ãã段è½ã«ã¯ã<r> ã§ç¤ºãããã©ã³ãå«ã¾ãã¾ããã©ã³ã¯ã<t> ã§ç¤ºãããããã¹ãçã«åå²ããã¾ãããã®ã¢ãã«ã使ç¨ããçç±ã¯ãã©ã³ãæ¸å¼è¨å®ãé©ç¨ã§ããæä½ã¬ãã«ã®è¦ç´ ã§ããããã§ããã©ã³ã«ã¯ãæ¹è¡ã³ã¼ã (<cr />) ãªã©ã®å°å·ãããªãæåãå«ãããã¨ãã§ãã¾ãã
Open Packaging Conventions API ã§ã¯ãOffice ãªã¼ãã³ XML å½¢å¼ã® XML ã®è©³ç´°ã¯å®è£ ããã¦ãã¾ããããã¼ãã®ã³ã³ãã³ã㯠Stream ãªãã¸ã§ã¯ãã¨ãã¦æä¾ããã¾ããXmlWriter ã¤ã³ã¹ã¿ã³ã¹ã使ç¨ãã¦ããã®ã¹ããªã¼ã ã« XML ãæ¸ãè¾¼ããã¨ãã§ãã¾ããããã§ãéè¦ãªèæ ®äºé ã 1 ã¤ããã¾ããããã¥ã¡ã³ãã®ããã¹ããæ§æãããã¼ãã¯ãã¹ã¦ãWordprocessingML åå空éã«åå¨ããå¿ è¦ãããã¾ãã
http://schemas.liquid-technologies.com/OfficeOpenXML/2006/default.html
次ã®ã³ã¼ãä¾ã使ç¨ãã¦ã1 ã¤ã®æ®µè½ãå«ãåºæ¬çãªããã¥ã¡ã³ããä½æã§ãã¾ãã
string xmlNamespace = "http://schemas.liquid-technologies.com/OfficeOpenXML/2006/default.html";
using (XmlWriter writer = XmlWriter.Create(
mainPart.GetStream(FileMode.Create, FileAccess.ReadWrite))) {
writer.WriteStartDocument();
writer.WriteStartElement("w", "document", xmlNamespace);
writer.WriteStartElement("w", "body", xmlNamespace);
writer.WriteStartElement("w", "p", xmlNamespace);
writer.WriteStartElement("w", "r", xmlNamespace);
writer.WriteStartElement("w", "t", xmlNamespace);
writer.WriteString("Hello World");
writer.WriteEndDocument();
}
System.Xml ã®ä»£æ¿æ段
ããã§ã¯ãã³ã¼ãã使ç¨ããã«ããã¥ã¡ã³ããçæããããã®ä»£æ¿æ段ã«ã¤ãã¦èª¬æãã¾ãã
XSLT ãå®è£ ãã
XML é¢é£ã³ã¼ãã使ç¨ãã¦ããã¥ã¡ã³ãå ¨ä½ãçæããã®ã¯ãé¢åãªããã»ã¹ã§ããããåç´ãªããã¥ã¡ã³ããçæããå ´åã§ããããããã®ã³ã¼ããä¿æããå¿ è¦ãããã¾ãã100% ã³ã¼ãã使ç¨ãã¦å¤§ããªããã¥ã¡ã³ããä½æãã代ããã«ã2 ã¤ã®ä¸»è¦ãªã½ãªã¥ã¼ã·ã§ã³ãå©ç¨ãã¦å°é£ã軽æ¸ã§ãã¾ããããã¥ã¡ã³ã ãã³ãã¬ã¼ã㨠XSLT ãã¡ã¤ã«ãã¾ãã¯ããã 2 ã¤ã®ä»»æã®çµã¿åããã使ç¨ã§ãã¾ããããã¥ã¡ã³ã ãã³ãã¬ã¼ãã使ç¨ããã¨ãããã¥ã¡ã³ãã®æ¸å¼é¨åããã³ãã¬ã¼ãå ã®ã¡ã¤ã³ ã³ã¼ã ãã¼ã¹ã®å¤é¨ã«ä¿æã§ãããããä½æ¥è² è·ã大ãã軽æ¸ã§ãã¾ãããããã®ãã³ãã¬ã¼ãã¯ãããç°¡åã«ç·¨éã§ããç´æ¥æ¸å¼ãå¤æ´ã§ãã¾ãããã ãããã¼ã¿ãå«ãé åã®ç¹å®ãé£ããã¨ããåé¡ãããã¾ãããã®ããã«ä½¿ç¨ã§ãããã¯ããã¸ãããã®è¨äºã®å¾ã®æ¹ã§èª¬æãã¦ãã¾ããæåã«ãXSLT ãã¡ã¤ã«ã詳ãã調ã¹ãå¿ è¦ãããã¾ãã
åç´ãª XSLT ãã¡ã¤ã«ã®ä¾ã¯æ¬¡ã®ããã«ãªãã¾ãã
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<w:document
xmlns:w="http://schemas.liquid-technologies.com/OfficeOpenXML/2006/default.html">
<w:body>
<w:p>
<w:r>
<w:t>Hello World!</w:t>
</w:r>
</w:p>
</w:body>
</w:document>
</xsl:template>
</xsl:stylesheet>
XSLT ãã¡ã¤ã«å ã® XML ãã¼ã¿ã¯ XML å½¢å¼ãä¿æã§ãããããå¾ã§ XSLT ãã¡ã¤ã«ãå¤æ´ããã®ãç°¡åã§ããXSLT ãã¡ã¤ã«ã¯ããã¹ã ãã¡ã¤ã«ãªã®ã§ãã³ã³ãã¤ã«ãããã³ã¼ããåãã¹ãããå¿ è¦ã¯ããã¾ãããããã«ãããéçºããã³ä¿å®ã®ããã»ã¹ãç°¡åã«ãªãã¾ãã
XSLT ãã¡ã¤ã«ã§ã®ä½æ¥ã«ã¤ãã¦ã¯ã2 ã¤ã®éè¦ãªèæ ®äºé ãããã¾ãã1 ã¤ç®ã¯ãã³ã¼ã ãã¼ã¹ã®ã¢ããã¼ãã«æ¯ã¹ã¦è¡¨ç¾åã«æ¬ ããã¨ãããã¨ã§ããXSLT ãã¡ã¤ã«ã¯ããã¨ãã°æ¥ä»ã®æ¸å¼è¨å®ãªã©ãå¾æã§ã¯ããã¾ãããå¤ãã® XSLT ã¨ã³ã¸ã³ã§ã¯ãXSLT ãã¡ã¤ã«ãã«ã¹ã¿ã ãªãã¸ã§ã¯ãã§æ¡å¼µãã¦ãXSLT ä»æ§ã§ã¯å®ç¾©ããã¦ããªãé«åº¦ãªæ©è½ãæä¾ã§ããããã«ãªã£ã¦ãã¾ãã.NET Framework ã§ä½¿ç¨ããã¦ããã¨ã³ã¸ã³ã§ã¯ãæ¡å¼µãªãã¸ã§ã¯ãããã³ã«ã¹ã¿ã ãã©ã¡ã¼ã¿ã使ç¨ã§ãã¾ãã
2 ã¤ç®ã®èæ ®äºé ã¯ãXSLT ã¨ã³ã¸ã³ã®åºåæ©è½ã«é¢é£ãã¾ãããªã¼ãã³ XML ããã±ã¼ã¸ã¯å¤æ°ã® XML ãã¡ã¤ã«ããæ§æããããã®å¤ãã¯ãã¾ãã¾ãªããããã£ãéãã¦é¢é£ãåã£ã¦ãã¾ããXSLT 1.0 ä»æ§ã§ã¯ãXSLT ãã¨ã« 1 ã¤ã®åºåãã¡ã¤ã«ãã許å¯ããã¾ãããXSLT 2.0 ä»æ§ã§ã¯ 1 ã¤ã® XSLT ãã¡ã¤ã«ã使ç¨ãã¦è¤æ°ã®ãã¡ã¤ã«ãä½æã§ãã¾ãããXSLT 2.0 ãå®è£ ããã¨ã³ã¸ã³ã¯ã¾ã ä¸è¬çã§ã¯ããã¾ããã
ãªã¼ãã³ XML SDK ã使ç¨ãã
ãªã¼ãã³ XML ã½ãªã¥ã¼ã·ã§ã³ã§è¨è¿°ãã¦ä¿å®ããå¿ è¦ã®ããã³ã¼ãéãæ¸ãããã 1 ã¤ã®ã¢ããã¼ãã¯ã2007 å¹´ 6 æã«åãã¦ãªãªã¼ã¹ããã Microsoft SDK for Open XML Formats ã使ç¨ãããã¨ã§ãããã® API ã§ã¯ãããã¥ã¡ã³ãã®éå§ãã¼ããä»ã®ãã¼ããªã©ã®æ¦å¿µãé«ãã¬ãã«ã§æ½è±¡åãããããããªã¬ã¼ã·ã§ã³ã·ãããã³ã³ãã³ã ã¿ã¤ããã³ã¼ãå ã§æ示çã«ç®¡çããå¿ è¦ããªããªãã¾ãã
SDK ãç¡æã§ãã¦ã³ãã¼ãããã«ã¯ãã2007 Office system: Microsoft SDK for Open XML Formatsããåç §ãã¦ãã ããããªã³ã©ã¤ã³ ããã¥ã¡ã³ããè¦ãã«ã¯ããMicrosoft SDK for Open XML Formats ã¸ããããããåç §ãã¦ãã ããã
ãã®è¨äºã®å·çæç¹ã§ã¯ããã® API ã®æçµãã¼ã¸ã§ã³ã®ãªãªã¼ã¹æ¥ãæä¾æ©è½ã«ã¤ãã¦ã¯çºè¡¨ããã¦ãã¾ããããã¤ã¯ãã½ããã§ã¯ããã¼ããããã®çå®ã«å½¹ç«ã¦ãããã«ããOpen XML Format SDKãã«ãã MSDN ãµãã¼ã ãã©ã¼ã©ã ãéãã¦ãæ°ãã API ã«å¯¾ããéçºè ããã®ãã£ã¼ãããã¯ãåã£ã¦ãã¾ãã
ããã¥ã¡ã³ãæ§é ã«ã¤ãã¦
åç´ãªæ£è ç»é²ãã©ã¼ã ã§ã¯ãé常 2 ã¤ã®ã¬ãã«ã®ã³ã³ãã³ããå®ç¾©ããã¦ãã¾ããæåã®ã¬ãã«ã¯ããã©ã¼ã ã®ã¬ã¤ã¢ã¦ãã¨åºæ¬çãªæ¸å¼è¨å®ã«ãã£ã¦å®ç¾©ããã¾ãã2 çªç®ã®ã¬ãã«ã¯ãæ£è ã®è©³ç´°æ å ±ãä¿éºæ å ±ãªã©ãå種ã®æ å ±ã«å¯¾ãããã¬ã¼ã¹ãã«ãã§ãããããã®ããã¥ã¡ã³ãããã¸ã¿ã«å½¢å¼ã§æ±ãéã®å°é£ã® 1 ã¤ã¯ã確å®ã«æ£ããå 容ãåå¾ã§ããæ¹æ³ã§ãã¼ã¿ã«ã¢ã¯ã»ã¹ããããããã°ã©ã ãä½æãããã¨ã§ããæ¸å¼ããããã«å¤æ´ããã¦ç»é²ãã©ã¼ã ã®å¤è¦³ãå¤ãã£ãããã«ãæ½åºãããæ£è ã®ååã "ååãå ¥åãã¦ãã ãã" ã¨ãªã£ã¦ãããããªäºæ ã¯é¿ããå¿ è¦ãããã¾ãã
Office ãªã¼ãã³ XML å½¢å¼ã§ã¯ãMicrosoft ActiveX ã®ãããªã³ã¼ã ãã¼ã¹ã®ã½ãªã¥ã¼ã·ã§ã³ã«é ¼ããããã¥ã¡ã³ãå ã®ãã¼ã¿ã®ã¢ã¯ã»ã¹æ§ãé«ããããã«ããã¾ãã¾ãªãã¯ããã¸ãå°å ¥ããã¦ãã¾ããWordprocessingML ã®å ´åã主è¦ãªãã¯ããã¸ã¯ã³ã³ãã³ã ã³ã³ããã¼ã«ã§ãããããã¯æ§é åããã¥ã¡ã³ã ã¿ã°ã¨ãå¼ã°ãã¾ãããããã®æ§é åããã¥ã¡ã³ã ã¿ã°ã使ç¨ãã¦ãæ¥ä»ãªã©ã®åç´ãªè¦ç´ ãã段è½ããã¼ã¸ãªã©ã®è¤éãªæ§é ã«å¯¾ãããã¬ã¼ã¹ãã«ããä½æã§ãã¾ãã次ã«ç¤ºãæ£è ç»é²ãã©ã¼ã ãèãã¾ããããã¯ãå»çæ©é¢ (ä¸è¨ã®ã·ããªãªã® Contoso ãªã©) ã«ãã£ã¦æä¾ãããããã«å±ããå¤ãã®å»å¸«ã使ç¨ã§ããæ±ç¨ãã©ã¼ã ã§ãã
å³ 6. æ£è ç»é²ãã©ã¼ã ã®ãµã³ãã«
ç»é²ãã©ã¼ã å ã«ã¯å¤ãã®ãã¼ã¿ãå®ç¾©ããã¦ãã¾ããåç´ãªããã¹ããæ¥ä»ãé¸æãã£ã¼ã«ããªã©ããã¾ãã¾ãªç¨®é¡ã®ãã¼ã¿ããããã¨ããããã¾ããå°å·ããããã©ã¼ã ã®å ´åããã©ã¼ã ãæ£ããè¨å ¥ããããã¨ãæ¤è¨¼ããã®ã¯å°é£ã§ããã³ã³ãã³ã ã³ã³ããã¼ã«ã使ç¨ããã°ããããã®ãã£ã¼ã«ã ã¿ã¤ããã¹ã¦ã«å¯¾ãã¦ãåé¤ã®ç¦æ¢ãå 容ã®ç¢ºèªãªã©ã®è¿½å æ©è½ãæä¾ã§ãã¾ãã
ã³ã³ãã³ã ã³ã³ããã¼ã«ã¯ WordprocessingML ã®ãã¼ã¯ã¢ããè¦ç´ ã® 1 ã¤ã«ãããªãããããã¼ã¿ã¯ãã¯ã WordprocessingML ãã¼ã¯ã¢ããå ã«æ ¼ç´ããã¾ããç»é²ãã©ã¼ã å ã®ãã¼ã¿ã«å¯¾ãã¦æ§ç¯ãããã«ã¹ã¿ã ã½ãªã¥ã¼ã·ã§ã³ã§ã¯ããã¤ãã£ãã®ãã¸ãã¹é¢é£ãã©ã¼ã ã®ã¾ã¾ä½¿ç¨ãããå ´åã¨æ¯ã¹ã¦ããã®ãã¼ã¿ã¸ã®ã¢ã¯ã»ã¹ã«å°é£ãä¼´ãã¾ãããã¼ã¿ã¨æ¸å¼ã®åé¢ãç°¡åã«ããããã«ãããã¥ã¡ã³ãå ã«ããã¤ãã® XML ãã¼ã¿ ã¢ã¤ã©ã³ããä½æãããã®ãã¼ã¿ãããã¥ã¡ã³ãå ã®ã³ã³ãã³ã ã³ã³ããã¼ã«ã«ãã¤ã³ããããã¨ãã§ãã¾ãã
æ£è ç»é²ãã©ã¼ã ã§ã¯ããã®ãã¼ã¿ ãã¤ã³ã ãã¯ããã¸ã使ç¨ãã¦ãã«ã¹ã¿ã ã½ãªã¥ã¼ã·ã§ã³ã§ãã¼ã¿ãæ½åºã§ããããã«ãã¦ãã¾ããããã«ãããæ£è ç»é²ãã©ã¼ã ãå»å¸«ã® Web ãµã¤ãã«ã¢ãããã¼ããã¦ãæ£è ãç»é²ã§ãã¾ããWeb ãµã¤ãã§ã¯ãããã¥ã¡ã³ãã®ãã¼ã¿ ãã¤ã³ãã«ãã£ã¦ãç»é²ãã©ã¼ã å ã®ãã¼ã¿ãç°¡åã«ä½¿ç¨ã§ãã¾ããããã¥ã¡ã³ãããã® XML ãã¼ã¿ãå¦çãããããã¯ã¨ã³ãã®ãã¼ã¿ ã¹ãã¢ã«æ ¼ç´ããã¾ããä¸è¬ã«ããã®ã³ã³ãã³ãã®æ ¼ç´ã«ã¯ãã¼ã¿ãã¼ã¹ã¾ã㯠EHR ã·ã¹ãã ã使ç¨ããã¾ããããã®ã·ããªãªã§ã¯åç´ã«ããããã«ããã¼ã¿ã XML å½¢å¼ã§ä¿æãã¾ããæ°ããæ£è ã確èªããããã«ãXSLT ã«ãã£ã¦ç»é²ã®è©³ç´°ã HTML ã«å¤æããã¦ãããå»å¸«ã® Web ãµã¤ãã«è¡¨ç¤ºããã¾ãã
å³ 7. XSLT ã使ç¨ãã¦æ£è ãã¼ã¿ã表示ç¨ã«å¤æãã
ãã®ã·ããªãªã§ã¯ãContoso ã¯æ£è ã«å¯¾ãã¦è¨ºçè¨é²ã HL7 CDA å½¢å¼ã§æä¾ãã¦ãã¾ããHL7 CDA ã®ãã¼ã¿ã®ä¸é¨ã¯ãæ£è ç»é²ãã©ã¼ã ããæ½åºããããã¼ã¿ã§æ§ç¯ããã¾ããHL7 CDA ããã¥ã¡ã³ããçæããããã«å¿ è¦ãªãã®ã¯ãæ½åºãããæ£è ãã¼ã¿ã«åºã¥ã XSLT å¤æã ãã§ãã
å³ 8. ãã 1 ã¤ã® XSLT ã使ç¨ãã¦æ£è ãã¼ã¿ã HL7 å½¢å¼ã«å¤æãã
ãã 1 ã¤éè¦ãªç¹ã¨ãã¦ããã©ã¼ã ã«è¨å ¥ããããã®æãé©åãªãã¼ã«ã®é¸æã¯ãã·ããªãªã«ãã£ã¦ç°ãªããã¨ã«æ³¨æãã¦ãã ãããããã§ã¯ãã³ã³ãã³ã ã³ã³ããã¼ã«ã®æ¦å¿µã示ãããã« Word 2007 ã使ç¨ãã¦ãã¾ãããä»ã®ã±ã¼ã¹ã§ã¯ãMicrosoft Office InfoPath 2007 ãªã©ãä»ã®ã¢ããªã±ã¼ã·ã§ã³ã®æ¹ãé©åãªå ´åãããã¾ãã
XML ãã¼ã¿ ã¹ãã¢ãä½æãã
ååããããããã¨ãããXML ãã¼ã¿ ã¢ã¤ã©ã³ãã¯ãOffice ãªã¼ãã³ XML å½¢å¼ã«åºã¥ãããã¥ã¡ã³ãå ã§ããã¸ãã¹é¢é£ãã¼ã¿ã XML å½¢å¼ã§æ ¼ç´ãã¦ãã¾ããããã¯ãã«ã¹ã¿ã XML ãã¼ãã®ä¸ä¾ã§ãããã® XML ã«ã¯ãOffice ãªã¼ãã³ XML å½¢å¼ã¸ã®åç §ã¯å«ã¾ãã¦ãã¾ãããããã¯ç´ç²ãªãã¸ãã¹é¢é£ãã¼ã¿ã§ãããä»»æã®æå¹ãª XML ããã¥ã¡ã³ããæ ¼ç´ã§ãã¾ããXML ãã¼ã¿ ã¢ã¤ã©ã³ãã¯ãããã±ã¼ã¸å ã«å¥åã®ãã¼ãã¨ãã¦æ ¼ç´ããã¾ãããã®ããã±ã¼ã¸ ãã¼ãã¯ãXML ãã¼ã¿ãè¦ã¤ãããã¨ãã§ããããã«ãã¡ã¤ã³ ããã¥ã¡ã³ã ãã¼ãããç¹å®ã®ãªã¬ã¼ã·ã§ã³ã·ãã ã¿ã¤ãã使ç¨ãã¦é¢é£ä»ãããã¦ãã¾ãã
http://schemas.liquid-technologies.com/OfficeOpenXML/2006/default.html
æ°ããæ£è ãã©ã¼ã ã«ã¯ããã¹ã¦ã®ãã©ã¼ã ãã£ã¼ã«ãã® XML ãã¼ã¿ãæ ¼ç´ãã 1 ã¤ã® XML ãã¼ã¿ ã¢ã¤ã©ã³ããå«ã¾ãã¦ãã¾ãã次ã«ç¤ºã XML ã¯ããã©ã¼ã ã«å®ç¾©ãããã¡ãã»ã¼ã¸ã®ä¸é¨ãæç²ãããã®ã§ãã
<?xml version="1.0" encoding="utf-8"?>
<Data xmlns="http://www.example.org/ooxml/healthcare/registrationform">
<Patient>
<MaritalStatus>Married</MaritalStatus>
<BirthDate>2007-05-01T00:00:00</BirthDate>
<Age>12</Age>
<Sex>Male</Sex>
<SSN>123-23-1234</SSN>
<Name />
<Address />
<Contact />
<Employer />
</Patient>
<Insurance covered="false">
<Subscriber />
</Insurance>
<Emergency>
<Name />
<Relationship />
<HomePhone />
<WorkPhone />
</Emergency>
</Data>
ãã®æ£è ç»é²ãã©ã¼ã ã«ã¯ 1 ã¤ã®ç»é²ããå«ã¾ãã¦ãã¾ãããããã¨ãã°ãéå» 1 ãæã®ãã¹ã¦ã®ç»é²ãä¸è¦§è¡¨ç¤ºããããã¥ã¡ã³ããä½æããå ´åãªã©ãè¤æ°ã®ç»é²ã表示ãããã©ã¼ã ãä½æã§ãã¾ãããããã®ç»é²ãã©ã¼ã ã 2 ã¤çµåããå ´åãXML ãã¼ã¿ ã¢ã¤ã©ã³ããå¤æ´ããå¿ è¦ã¯ããã¾ãããXML ãã¼ã¿ã¯ãããããã£ã®ã»ããã使ç¨ãã¦ä¸æã«èå¥ã§ãã¾ããã¾ãããããã®ããããã£ã使ç¨ãã¦ãç»é²ãã©ã¼ã å ã®ãã¼ã¿ã確èªããããã« XML ã¹ãã¼ãã¸ã®åç §ããããã¨ãã§ãã¾ããããããã£ã¯ãããã±ã¼ã¸å ã®å¥ã®ãã¼ãã«æ ¼ç´ããã¾ããXML ãã¼ã¿ ã¢ã¤ã©ã³ãã¯ãã«ã¹ã¿ã XML ãã¼ãã§ããããããã£ã¯ãã«ã¹ã¿ã XML ãããã㣠ãã¼ãã¨å¼ã°ãã¾ãã
å³ 9. ã«ã¹ã¿ã XML ãã¼ããä½æãã
ã«ã¹ã¿ã XML ãã¼ãå ã®ãã¼ã¿ããMicrosoft Office ãªã©ã®çç£æ§ã¢ããªã±ã¼ã·ã§ã³ã®å¤é¨ã§è¡¨ç¤ºããå ´åãæãç°¡åãªã¢ããã¼ãã¯ãOpen XML Package Explorer (è±èª) ãªã©ã®ããã±ã¼ã¸ ãã¥ã¼ã¢ ã¢ããªã±ã¼ã·ã§ã³ã使ç¨ãããã¨ã§ãããã®ãã¼ã«ã使ç¨ãã¦ãOffice ãªã¼ãã³ XML å½¢å¼ã«åºã¥ãä»»æã®ããã¥ã¡ã³ããéããããã¥ã¡ã³ãã®åã ã®ãã¼ãã表示ã¾ãã¯ç·¨éãããã¨ãã§ãã¾ãã
å³ 10. Package Explorer ã使ç¨ãã¦ããã¥ã¡ã³ã ãã¼ãã表示ããã³ç·¨éãã
ã³ã³ãã³ã ã³ã³ããã¼ã«ã使ç¨ãã
æ£è ç»é²ãã©ã¼ã ã«ã¯ãã³ã³ãã³ãã®é åãèå¥ããå¤ãã®ãã¬ã¼ã¹ãã«ããå«ã¾ãã¦ãã¾ãã顧客ãç»é²ãã©ã¼ã ã«è©³ç´°æ å ±ãæ£ããå ¥åãããã¨ã¯éè¦ã§ããããã容æã«ããããã«ããµã³ãã« ãã©ã¼ã ã§ã¯ãæ§é åããã¥ã¡ã³ã ã¿ã°ã使ç¨ãã¦ãã©ã¼ã ã®ä¸é¨ã«ãã¬ã¼ã¹ãã«ããä½æãã¦ãã¾ãããã©ã¼ã ã®ä¸ååã§ã¯æ¸å¼ãã¼ã¹ã®ãã¬ã¼ã¹ãã«ããå¤ãã¢ãã«ã§ä½æããã¦ãããé£ç¶ããä¸ç· _____ ã¾ãã¯ç°ãªãèæ¯è²ã使ç¨ãã¦ãã¾ããæ§é åããã¥ã¡ã³ã ã¿ã°ã¯ããã©ã¼ã å ã§ã³ã³ãã³ãã®é åãå®ç¾©ããããã®ããã表ç¾ãè±ãã§ãå¦çã¸ã®å½±é¿ãå°ãªãã¢ãã«ãæä¾ãã¾ãã
å³ 11. ã³ã³ãã³ã ãã©ã¼ã é åãå®ç¾©ãã
æ§é åããã¥ã¡ã³ã ã¿ã°ã¯ãã¦ã¼ã¶ã¼ã¨ã®å¯¾è©±ãåä¸ãããã«ã¹ã¿ã ã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¤ã¹ãæä¾ããã¨åæã«ã許å¯ããããã¼ã¿ã®ã¿ã¤ããå®ç¾©ããå®å ¨ãªã¢ãã«ãæä¾ãã¾ãããã®ã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¤ã¹ã¯ãã¦ã¼ã¶ã¼ããã¬ã¼ã¹ãã«ãã«å¯¾ãã¦æä½ãè¡ã£ã¦ããã¨ãã«ã ã表示ããã¾ããããã¥ã¡ã³ãã表示ããã¨ãã«ã¯ãé常ã¯ã³ã³ãã³ãã ãã表示ããã¾ããæ§é åããã¥ã¡ã³ã ã¿ã°ã§ã¯ãè¦è¦çãªèå¥ã®ããã«ãã¿ã¤ãã«ããã³ãã¬ã¼ã¹ãã«ãã®ããã¹ããå®ç¾©ã§ãã¾ãã
ã³ã¼ãã使ç¨ãã¦æ§é åããã¥ã¡ã³ã ã¿ã°ãèå¥ããã«ã¯ãã¿ã°åãå²ãå½ã¦ã¾ãããã®ã¿ã°åã«ãããããã¥ã¡ã³ãå ã®ä½ç½®ã«é¢ä¿ãªããã¬ã¼ã¹ãã«ããèå¥ã§ããããã«ãªãã¾ããã¿ã°åã使ç¨ããã¨ããã¾ãã¾ãªã½ãªã¥ã¼ã·ã§ã³ãå®ç¾ã§ãã¾ããåå»å¸«ã«å¯¾ãã¦ãå»å¸«ãã¨ã®ç¬èªã®ãã´ãã¹ã¿ã¤ã«ã使ç¨ããã«ã¹ã¿ã ç»é²ãã©ã¼ã ãä½æãããã¨ãèãã¾ããåãã¿ã°åã使ç¨ãã¦ããã°ãç»é²ãã©ã¼ã ã«å¯¾ãã¦æ§ç¯ãããã¢ããªã±ã¼ã·ã§ã³ã§ã¯ãåå»å¸«ã«å¯¾ãã¦ã³ã¼ããä¿®æ£ããå¿ è¦ãªãã«ããã®ãããªã·ããªãªããµãã¼ãã§ãã¾ãã
æ§é åããã¥ã¡ã³ã ã¿ã°ã®ãã 1 ã¤ã®å©ç¹ã¯ãããã¥ã¡ã³ããèªååããã³ã¼ãããããã¥ã¡ã³ã ãã³ãã¬ã¼ãã®ä½æãåé¢ã§ãããã¨ã§ããèªåã§ã³ã¼ããä½æããªãããç¾ããããã¥ã¡ã³ããä½æããæè½ãæã£ã人ã«ãã¬ã¼ã³ãã¼ã·ã§ã³é¢é£ã®ä½æ¥ãä¾é ¼ãããã¨ãã§ãã¾ããç¥ã£ã¦ããå¿ è¦ãããã®ã¯ãã¿ã°åã¨æ§é åããã¥ã¡ã³ã ã¿ã°ã®ã¿ã¤ãã ãã§ãããããã®æ§é åããã¥ã¡ã³ã ã¿ã°ãããã¥ã¡ã³ãå ã®ã©ãã«ä½ç½®ããããç¥ãå¿ è¦ã¯ããã¾ããã
å³ 12. WordprocessingML ã§ä½¿ç¨ã§ããããã¥ã¡ã³ã ã¿ã°
æ§é åã¿ã°ã®ã»ã¨ãã©ã¯ãåç´ãªããã¥ã¡ã³ã ã³ã³ãã³ããæä¾ãã¾ããç¹å¥ãªã¿ã°ã¯ãã°ã«ã¼ã ã¿ã°ã¨ãã¼ã ã¿ã°ã§ããã°ã«ã¼ã ã¿ã°ã¯ãä»ã®ããã¥ã¡ã³ã ã¿ã°ãªã©ã®ã³ã³ãã³ããã°ã«ã¼ãã«ã¾ã¨ããããã«ä½¿ç¨ã§ãã¾ããé常ã¯ãããã¥ã¡ã³ãã®ç¹å®ã®é¨åãããã¯ãã¦ãåããã¥ã¡ã³ã ã¿ã°å ãé¤ãã¦ç·¨éã§ããªãããã«ããå ´åã«ä½¿ç¨ãã¾ããããã«ãããã¬ã¤ã¢ã¦ãããã³ããã¹ãã¯ç·¨éã§ããªãä¸æ¹ã§ããã¬ã¼ã¹ãã«ãã¯ç·¨éå¯è½ã§ãããããªãã©ã¼ã ãä½æã§ãã¾ãããã¼ã ã¿ã°ã使ç¨ããã¨ããã®ã³ã³ãã³ãããããã¥ã¡ã³ã ãã³ãã¬ã¼ãã§æ¢ã«å®ç¾©æ¸ã¿ã®ãã¼ãã¨ç½®ãæãããã¨ãã§ãã¾ããå 責äºé ãå ±éæè¨ãªã©ãç¬èªã®ææ¸ãã¼ããä½æã§ãã¾ãã
æ§é åããã¥ã¡ã³ã ã¿ã°ãä½æããã«ã¯ãsdt è¦ç´ ã使ç¨ãã¾ããæ§é åããã¥ã¡ã³ã ã¿ã°ã§ã¯ãããããã£ã¨ã³ã³ãã³ãã¨ãã 2 ã¤ã®ç¬ç«ããã»ã¯ã·ã§ã³ã使ç¨ããã¾ããããããã£å ã§ã¯ãããã¥ã¡ã³ã ã¿ã°ã®ã¿ã¤ããã¿ã¤ãã«ãã¿ã°åãªã©ã®è©³ç´°ãå®ç¾©ãã¾ããã¿ã¤ãã¯ã<date/> ãªã©ã®ç¹å®ã®åè¦ç´ ã使ç¨ãã¦èå¥ããã¾ããã¿ã¤ããå®ç¾©ããè¦ç´ å ã§ã¯ãåã¿ã¤ãã®ããã¥ã¡ã³ã ã¿ã°ã®è¨å®ãããã«ã«ã¹ã¿ãã¤ãºã§ãã¾ããsdtContent 㯠2 ã¤ã®ç¨éã«ä½¿ç¨ããã¾ããæ§é åããã¥ã¡ã³ã ã¿ã°ã®ã³ã³ãã³ããæ ¼ç´ããããã¾ãã¯ãã¬ã¼ã¹ãã«ã ããã¹ããæ ¼ç´ãã¾ããshowingPlcHdr ããããã£ã«åºã¥ããã¦ã¼ã¶ã¼ã¯é©åãªæä¾ãã¼ã¿ã決å®ã§ãã¾ãã
å³ 13. æ§é åããã¥ã¡ã³ã ã¿ã°å ã®ãã©ã¼ã ããã³ã³ã³ãã³ãã«å«ã¾ãããã¬ã¼ã¹ãã«ã ããã¹ãã®ä¾
次ã«ãããã¹ã ã³ã³ããã¼ã«ãä½æãã¦ããã¹ã ã³ã³ãã³ããè¨å®ããä¾ã示ãã¾ãã
<w:sdt>
<w:sdtPr>
<w:alias w:val="Last Name" />
<w:tag w:val="Last Name" />
<w:text />
</w:sdtPr>
<w:sdtContent>
<w:r>
<w:t>Predeek</w:t>
</w:r>
</w:sdtContent>
</w:sdt>
ã«ã¹ã¿ã XML ãã¡ã¤ã«ã«ãã¼ã¿ããã¤ã³ããã
æ§é åããã¥ã¡ã³ãã¯ãæ£è ç»é²ããã¥ã¡ã³ããä½æããããã®éè¦ãªæåã®æé ãæä¾ãã¾ããããã«ã«ã¹ã¿ã ã½ãªã¥ã¼ã·ã§ã³ãå®ç¾ããããã«ã大ããªå©ç¹ããããã追å æ©è½ãããã¾ãããã®ã·ããªãªã§ã¯ããã¼ã¿ãããã¥ã¡ã³ãããæ½åºãããå»å¸«ã® Web ãµã¤ãä¸ã®ããã¯ã¨ã³ã ãã¼ã¿ ã¹ãã¢ã« XML ã¡ãã»ã¼ã¸ã¨ãã¦æ ¼ç´ããã¾ããããã¥ã¡ã³ã ãã¼ã¿ã«ã¢ã¯ã»ã¹ããã¢ããªã±ã¼ã·ã§ã³ã®ä½æ¥è² è·ã軽æ¸ããããã«ãæ§é åããã¥ã¡ã³ã ã¿ã°ã XML ãã¼ã¿ ã¢ã¤ã©ã³ãã«ãã¤ã³ãã§ãã¾ããããã«ãããããã¥ã¡ã³ãã®æ¸å¼è¨å®ã¨ãã¼ã¿ã¨ã®éã§æ©æ¸¡ãããã¾ãã
å³ 14. ããã¥ã¡ã³ã ã¿ã°ã XML ãã¼ã¿ ã¢ã¤ã©ã³ãã¸ãã¤ã³ããã
æ§é åããã¥ã¡ã³ã ã¿ã°ã¯ãXPath å¼ã使ç¨ã㦠XML ãã¼ã¿ ã¢ã¤ã©ã³ãã«ãã¤ã³ãã§ãã¾ãããã®å¼ã«ã¯ãåå空éãã¬ãã£ãã¯ã¹ãé©ç¨ããä¸è¬çãªã¢ãã«ã使ç¨ãã¦ãXML åå空éãå«ãããã¨ãã§ãã¾ããåå空éãã¬ãã£ãã¯ã¹ãã XML åå空éã¸ã®ãããã³ã°ã¯ãæ§é åããã¥ã¡ã³ã ã¿ã°ã®ããããã£å ã«å¥ã«ä¿æããã¾ããããããã£ã«ã¯ãGUID èå¥åã使ç¨ã㦠XML ãã¼ã¿ ã¢ã¤ã©ã³ãã® ID ãå«ãããã¨ãã§ãã¾ããGUID ã使ç¨ããªãå ´åãXPath å¼ã¯ããã¥ã¡ã³ãå ã§æåã«ä¸è´ãããã¼ã¿ ã¢ã¤ã©ã³ãã«å¯¾ãã¦è©ä¾¡ããã¾ãã
<w:sdt>
<w:sdtPr>
<w:alias w:val="Last Name" />
<w:tag w:val="LastName" />
<w:dataBinding w:prefixMappings="xmlns:ns0='http://www.example.org/ooxml/⦠â¦healthcare/registrationform'"
w:xpath="/ns0:Data/ns0:Patient/ns0:Name/ns0:Last"
w:storeItemID="{A5566E5B-6220-4F8C-BB50-CB2E486681CB}" />
<w:text />
</w:sdtPr>
<w:sdtContent>
<w:r>
<w:t>Predeek</w:t>
</w:r>
</w:sdtContent>
</w:sdt>
<dataBinding> ã¿ã°ã¯ãOffice Word 㧠Microsoft Visual Basic for Applications (VBA) ç°å¢ã使ç¨ãã¦è¿½å ããããã¾ã㯠Package Explorer ãªã©ã®ãã¼ã«ã使ç¨ãã¦æåã§è¿½å ã§ãã¾ããããã¥ã¡ã³ãå ã® XML ãã¼ã¿ ã¢ã¤ã©ã³ãã«å¯¾ããæ§é åããã¥ã¡ã³ã ã¿ã°ã®ãããã³ã°ãããã«ç°¡åã«è¡ãã«ã¯ãContent Control Toolkit ã使ç¨ã§ãã¾ãããã®ãã¼ã«ããããç¡æã§ãã¦ã³ãã¼ãããã«ã¯ããWord 2007 Content Control Toolkit (è±èª)ããåç §ãã¦ãã ããã
å³ 15. Word 2007 Content Control Toolkit
ã³ã³ãã³ã ã³ã³ããã¼ã«ã¨ãã®ãã¼ã¿ ãã¤ã³ãæ©è½ã®è©³ç´°ã«ã¤ãã¦ã¯ãTed Pattison ã® OfficeSpace ã³ã©ã ãOffice Space: Office ãªã¼ãã³ XML ãã¡ã¤ã«ãæ§ç¯ããããåç §ãã¦ãã ããã
ãªã¼ãã³ XML ãã¡ã¤ã«å½¢å¼ã®ãã¸ã¿ã«ç½²å
æ£è ã PHR ãµã¼ãã¹ã«ã¢ãããã¼ããã診çè¨é²ããContoso å ã®å»å¸«ã¾ã§ããã®ã¼ã£ã¦è¿½è·¡ã§ããããã«ããããã«ãåããã¥ã¡ã³ãã¯ããã®å»å¸«ã¾ã㯠Contoso ã«å¯¾ãã¦çºè¡ããããã¸ã¿ã«è¨¼ææ¸ã使ç¨ãã¦ç½²åããã¾ãããªã¼ãã³ XML ã¯ããã¸ã¿ã«ç½²åã使ç¨ãã¦ããã¥ã¡ã³ãã«ç½²åããããã®æè»ãªç°å¢ãæä¾ãã¾ããX509 証ææ¸ãªã©ã®æ¥çæ¨æºã使ç¨ãã¦ç½²åãä½æããããã¾ãã¯ã«ã¹ã¿ã å®è£ ã使ç¨ãããã¨ãã§ãã¾ããç½²åã¯ãããã¥ã¡ã³ãå ¨ä½ãç¹å®ã®ãã¼ãã®ã¿ãããã³ãã¼ãéã®ãªã¬ã¼ã·ã§ã³ã·ããã«å¯¾ãã¦è¡ããã¨ãã§ãã¾ããã¾ãã¯ããªã¬ã¼ã·ã§ã³ã·ããã®ãµãã»ããã ãã«ç½²åããã¹ã¿ã¤ã«ããã¼ãã¯é¤ããã¨ãªã©ãã§ãã¾ãã
ãã¸ã¿ã«ç½²åã®æ¦è¦
ãã¸ã¿ã«ç½²åã¨ã¯ãã¡ãã»ã¼ã¸ (ãã®å ´åã¯ããã¥ã¡ã³ã) ã®æ£è¦æ§ããã³æ´åæ§ã®ä¿è¨¼ã«é¢é£ãããã¯ããã¸ã®ç·ç§°ã§ãããã®ã¢ããã¼ãã§ã¯ãããã¥ã¡ã³ãããåå¾ãããæå·åããã·ã¥ã ZIP ã³ã³ããå ã«æ ¼ç´ããã¾ããå¾ã§ãããã¥ã¡ã³ããå¤æ´ããã¦ããªããã¨ã証æããå¿ è¦ãçããå ´åãã¾ãã¯ç½²åè ãèå¥ããå¿ è¦ãããå ´åã«ãæå·åããã·ã¥ã復å·åãããããã¥ã¡ã³ãããç´æ¥åå¾ãããæ°ããããã·ã¥ã¨æ¯è¼ããã¾ããããã·ã¥ã¯å ¬éãã¼ã使ç¨ãã¦å¾©å·åãããããããããã®ããã·ã¥ãä¸è´ããã°ããã¡ã¤ã«ãæ£è¦ã®ãã®ã§ãããã¨ã確èªã§ãã¾ããããã·ã¥å¤ãçããã®ã§ãããã¥ã¡ã³ãã¯æããã«å¤æ´ããã¦ãã¾ãããOffice ãªã¼ãã³ XML å½¢å¼ã¯ãããã¥ã¡ã³ãã«ç½²åããããã®æ¨æºåãããã¢ããã¼ããæä¾ãã¾ãã
Open Packaging Convention ã«ããããã¥ã¡ã³ãã®ç½²å
ããã¥ã¡ã³ãã«ç½²åããéã®æåã®æé ã¯ãç½²åãããã¹ã¦ã®ãã¼ãã®å ´æã®ä¸è¦§ãåå¾ãããã¨ã§ããããã¯ãOpen Packaging Convention ã® Package ã¯ã©ã¹ã使ç¨ãã¦ç°¡åã«å®ç¾ã§ãã¾ãã
PackagePartCollection parts = package.GetParts();
List<Uri> toSign = new List<Uri>();
foreach (PackagePart packagePart in package.GetParts())
{
toSign.Add(packagePart.Uri);
}
次ã«ãããã¥ã¡ã³ãã«ç½²åããããã® X509 証ææ¸ãå¿ è¦ã§ããX509Store ã¯ã©ã¹ã使ç¨ãã¦ãç¾å¨ã®ã¦ã¼ã¶ã¼ã®è¨¼ææ¸ã¹ãã¢ãéãã証ææ¸ãæ½åºã§ãã¾ãããã®ã¯ã©ã¹ã¯ãä»ã®è¨¼ææ¸é¢é£ã¯ã©ã¹ã¨åæ§ã«, .NET Framework ã®ä¸é¨ã§ãã
X509Store store = new X509Store(StoreLocation.CurrentUser);
store.Open(OpenFlags.OpenExistingOnly);
X509Certificate2Collection certificates = store.Certificates
.Find(X509FindType.FindByKeyUsage, X509KeyUsageFlags.DigitalSignature, false)
.Find(X509FindType.FindBySubjectName, keyName, false);
Packaging API ã§ã¯ãOffice ãªã¼ãã³ XML å½¢å¼ã§ç½²åã使ç¨ããããã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ã¨ãã¦ãPackageDigitalSignatureManager ã¯ã©ã¹ã使ç¨ãã¾ãããã®ã¯ã©ã¹ã使ç¨ãã¦ãããã¥ã¡ã³ãã«ç½²åãããã®ç½²åã確èªã§ãã¾ãããã®ã³ã³ã¹ãã©ã¯ã¿ã«ã¯ãããã¥ã¡ã³ãã¸ã®åç §ãå«ã¾ãã¦ãã¾ãã
PackageDigitalSignatureManager dsm = new PackageDigitalSignatureManager(package);
dsm.CertificateOption = CertificateEmbeddingOption.InSignaturePart;
dsm.Sign(toSign, certificates[0]);
Office Word 2007 ã§ç½²åã確èªãã
診çè¨é²ããã¥ã¡ã³ãã Open Packaging API ã使ç¨ãã¦ç½²åãããå¾ã¯ãOffice Word ã§ããã¥ã¡ã³ãã®æ£è¦æ§ã確èªã§ãã¾ãããã®ã¢ããªã±ã¼ã·ã§ã³ã¯ãé常ã¯ã©ã¤ã¢ã³ãå´ã§ãããã¥ã¡ã³ãã¸ã®ç½²åã«ã使ç¨ã§ãã¾ããããã¥ã¡ã³ããéãã¨ãç½²åã¯èªåçã«ç¢ºèªããã¾ãã
æåã«ã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¤ã¹ãç¡å¹ã«ãªããã¨ã§ãç½²åãå«ã¾ãã¦ãããã¨ããããã¾ããããã¥ã¡ã³ããç·¨éããã¨ãã¹ã¦ã®ç½²åãç¡å¹ã«ãªããããç·¨éã«é¢ããã³ã³ããã¼ã«ã¯ãã¹ã¦ç¡å¹ã«ãªãã¾ãã
å³ 16. ãã¸ã¿ã«ç½²åä»ãããã¥ã¡ã³ãã«å¯¾ããã¦ã¼ã¶ã¼ ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®ç¡å¹å
ç½²åãç¡å¹ã§ããå ´åã¯ãããã«ãã£ã¼ãããã¯ã¨ãã¦ãç»é¢ä¸ã«è¦åã¦ã£ã³ãã¦ã追å 表示ããã¾ãã
å³ 17. ãã¸ã¿ã«ç½²åãç¡å¹ãªå ´åã®è¦å
[ç½²å] ä½æ¥ã¦ã£ã³ãã¦ã使ç¨ãã¦ãããã¥ã¡ã³ãå ã®ãã¹ã¦ã®ç½²åã表示ã§ãã¾ãããã®ä½æ¥ã¦ã£ã³ãã¦ãéãã«ã¯ãMicrosoft Office ãã¿ã³ãã¯ãªãã¯ãã[é å¸æºå] ã°ã«ã¼ãããã¤ã³ããã¾ãããªã¹ãå ã®é ç®ã®ã¡ãã¥ã¼ã使ç¨ãã¦ã[ç½²å] ä½æ¥ã¦ã£ã³ãã¦ã«è¡¨ç¤ºããã¦ããåç½²åãåé¤ã§ãã¾ãã
å³ 18. [ç½²å] ä½æ¥ã¦ã£ã³ãã¦ã®è¡¨ç¤º
Open Packaging Convention ã使ç¨ãã¦ç½²åã確èªãã
Packaging API ã使ç¨ãã¦ããã¥ã¡ã³ãã«ç½²åãã以å¤ã«ãPackaging API ãç½²åã®ç¢ºèªã«ã使ç¨ã§ãã¾ããããã¯ãPackageDigitalSignatureManager ã¯ã©ã¹ã«ãã£ã¦ç°¡åã«å®è¡ã§ãã¾ãããã¹ã¦ã®ç½²åãæå¹ã§ããå ´åãVerifySignatures ã¡ã½ãã㯠VerifyResult.Success ãè¿ãã¾ããæåã«ç½²åããã¼ã¸ã£ã使ç¨ãã¦åå¾ãã¦ãããåã ã®ç½²åã確èªã§ãã¾ãã
PackageDigitalSignatureManager dsm = new PackageDigitalSignatureManager(package);
VerifyResult result = dsm.VerifySignatures(false);
ã¾ã¨ã
ãã®è¨äºã§ã¯ããªã¼ãã³ XML ãã¡ã¤ã«å½¢å¼ããããã¥ã¡ã³ã ã³ã³ãã³ããæ ¼ç´ããããã®ãªã¼ãã³ã§æ¨æºåãããã¢ããã¼ããæä¾ããããã¥ã¡ã³ãå ã§ãã¸ãã¹ ãã¼ã¿ã使ç¨å¯è½ã«ããã¢ãã«ãæä¾ãããã¨ã«ãããå ¨ä¸çã®ãã«ã¹ã±ã¢æ¥çã«ã©ã®ãããªå©ç¹ãããããããæ¤è¨ãã¾ããããã¼ã¿ã®ãã¼ã¿ããªãã£ãé«ã¾ããã¨ã§ãã«ã¹ã¿ã ã½ãªã¥ã¼ã·ã§ã³ã®ä½æã«æ°ããªå¯è½æ§ãéããã¾ããããã¯é©åã«ææ¸åãããæ¨æºã§ãããå¤ãã®åªãããªã½ã¼ã¹ãæä¾ããã¦ãããã¨ã§ããããã®ã½ãªã¥ã¼ã·ã§ã³ã®æ§ç¯ããã³ä¿å®ã¯ç°¡åã«ãªãã¾ããHL7 (Health Level Seven) CDA (Clinical Document Architecture) ãªã©ã®æ¥çæ¨æºã®ä½¿ç¨ã¯ããªã¼ãã³ XML ãæ¥çã«ããããå©çã®ä¸ä¾ã«ããã¾ãããä¿éºä¼ç¤¾ãæ¿åºæ©é¢ãªã©ãä»ã«ãå¤ãã®çµç¹ããªã¼ãã³ XML ã®ä½¿ç¨ããåæ§ãªå©çãå¾ããã¨ãã§ããããã¥ã¡ã³ãã®äº¤æãããç°¡åã«ãããé«ãéæ度ã§è¡ããããããªç°å¢ãä½æã§ãã¾ãã
ä½æè ã«ã¤ãã¦
Ted Pattison ã¯ããããªãå·ã¿ã³ãå¨ä½ã®ã©ã¤ã¿ã¼ããã³ãã¬ã¼ãã¼ã§ãããSharePoint MVP ã§ãããã¾ããTed ã¯ãMSDN Magazine ã®é·æã«ãããã³ã©ã ãã¹ãã§ããããOffice Space: Office ãªã¼ãã³ XML ãã¡ã¤ã«ãæ§ç¯ãããã¨ããæ°ããã³ã©ã ã§ã¯ãMicrosoft Office SharePoint Products and Technologies ããã³ Microsoft Office ã®éçºã«ç¦ç¹ãå½ã¦ã¦ãã¾ããã¾ããTed ã¯ãInside Microsoft® Windows® SharePoint® Services 3.0 (è±èª)ãã¨ãã Microsoft Press ã®æ°ããæ¬ãã¡ããã©æ¸ãçµããã¨ããã§ããTed Pattison ã¯ä»ã®ä½äººãã® SharePoint MVP ã¨å ±ã«ãå½¼ã®ä¼ç¤¾ã§ãã Ted Pattison Group (è±èª) ãéãã¦ãå°éã®éçºè ã対象㫠SharePoint 2007 ã®é«åº¦ãªãã¬ã¼ãã³ã°ãè¡ã£ã¦ãã¾ãã
Chris Predeek ã¯ãDevelopmentor (è±èª) ã®ç¬ç«ã³ã³ãµã«ã¿ã³ãããã³ãã¬ã¼ãã¼ã§ããã2005 å¹´ãã Office ãªã¼ãã³ XML ã«ãããã£ã¦ãã¾ãã90 年代å¾åã«ãWindows ãªãã¬ã¼ãã£ã³ã° ã·ã¹ãã ã«å¯¾ãã Microsoft C++ éçºè ã¨ãã¦ããã®ã½ããã¦ã§ã¢éçºãã£ãªã¢ãã¹ã¿ã¼ãããã¾ããããã®å¾ãCOM ããã³ COM+ãããã¦æçµçã«ã¯ Microsoft .NET Framework ãéãã¦ãMicrosoft ãã¯ããã¸ã使ç¨ãã¦ãã¾ãããæè¿ã¯ã2007 Office systemãOffice SharePoint Server 2007ãããã³ Microsoft BizTalk 2006 ãå°éã¨ãã¦ãã¾ãã
Wouter van Vugt ã¯ããªã©ã³ãå¨ä½ã§ããã代表ç㪠IT ã³ã³ãµã«ã¿ã³ãä¼æ¥ã® 1 ã¤ã§ãã Info Support (è±èª) ã«å¤åãã¦ãã¾ããæåã¯ã³ã³ãµã«ã¿ã³ãã¨ãã¦ã¹ã¿ã¼ãããç¾å¨ã¯ãMicrosoft Visual C#ãMicrosoft ASP.NETãããã³ SharePoint Products and Technologies ãå«ã .NET Framework ã«åºã¥ãããã¯ããã¸ã®ãã¬ã¼ãã¼ãåãã¦ãã¾ããWouter ã«ã¤ãã¦ããã«è©³ããç¥ãããæ¹ã¯ããWouter (è±èª)ããã覧ãã ããã