ÀÖ»çÁÉ £²¡¥
Ǧºä£²(¦Á)
Ǧºä£²¤Ï¡¢XML-Schema¥É¥¥å¥á¥ó¥È¤«¤é¡¢¥·¥ê¥¢¥é¥¤¥¶¥Ö¥ë¤Ê¥¯¥é¥¹¤òÀ¸À®¤¹¤ë¤¿¤á¤Î¥¹¥¡¼¥Þ¥³¥ó¥Ñ¥¤¥é¤Ç¤¹¡£
¥³¥Þ¥ó¥É¥é¥¤¥ó
osixaka2 [-p] [-d] [-o ¥Ç¥£¥ì¥¯¥È¥ê̾] <XML Schema¥Õ¥¡¥¤¥ë>
¥ª¥×¥·¥ç¥ó
¥ª¥×¥·¥ç¥óʸ»ú | °ÕÌ£ |
-p |
¥¹¥¡¼¥Þ¥Õ¥¡¥¤¥ë¤ò¥Ñ¡¼¥¹¤¹¤ë¤Î¤ß¤Ç½ªÎ»¤¹¤ë¡£ |
-d | ¥Ñ¡¼¥¹¤µ¤ì¤¿¥¹¥¡¼¥Þ¥É¥¥å¥á¥ó¥È¤ò¡¢¥·¥ê¥¢¥é¥¤¥º¤¹¤ë¡£ |
-o <¥Ç¥£¥ì¥¯¥È¥ê̾> | ½ÐÎϥǥ£¥ì¥¯¥È¥ê¤Î»ØÄꡣ̵»ØÄê¤Î¾ì¹ç¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê |
Îã¤È¤·¤Æ¡¢Ç¦ºä£²¤Ë¤è¤ë¡¢XML Schema¤Î¤¿¤á¤Î¥¹¥¡¼¥Þʸ½ñÀ¸À®¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£
XMLSchema¤Ï¡¢°Ê²¼¤ÎÆó¤Ä¤Î¥¹¥¡¼¥Þʸ½ñ¤Ë¤è¤êÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
̾Á°¶õ´ÖURI | ¥Õ¥¡¥¤¥ë̾ | ¥ª¥ê¥¸¥Ê¥ë¥¹¥¡¼¥Þ¤ÎURL |
http://www.w3.org/2001/XMLSchema | XMLSchema.xsd | http://www.w3.org/2001/XMLSchema.xsd |
http://www.w3.org/XML/1998/namespace | xml.xsd | http://www.w3.org/2001/xml.xsd |
¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¥ª¥ê¥¸¥Ê¥ë¤Î¥¹¥¡¼¥Þ¤Ç¤¹¡£
Ǧºä£²¤Ç¤Î¥¹¥¡¼¥ÞÀ¸À®¤Ç¤Ï¡¢°Ê²¼¤ÎÁ°½èÍý¤ò»Ü¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
- ¥¹¥¡¼¥Þʸ½ñÆâ¤ÎDTD¤òºï½ü¡¢¤â¤·¤¯¤Ï¡¢¥³¥á¥ó¥È¥¢¥¦¥È
- xs:include¡¢xs:import¤Ê¤É¤Ç»ØÄꤹ¤ë³°Éô¥¹¥¡¼¥Þʸ½ñ¤Î°ÌÃÖ¤ò¡¢½èÍýÂоݤȤʤ륹¥¡¼¥Þʸ½ñ¤«¤é¤ÎÁêÂХѥ¹¤ËÊѹ¹
- XMLSchema.xsd¤Î¾ì¹ç¤Ë¤Ï¡¢xs:include¤Ç»ØÄꤵ¤ì¤ëxml.xsd¤Î¥Ñ¥¹¤ò»ØÄê¡£
Á°½èÍý¤ò»Ü¤·¤¿¥Õ¥¡¥¤¥ë¤Ï¡¢akaxiso2/osixaka2°Ê²¼¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
Windows¤Î¾ì¹ç(akaxiso2\bin¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Æ)
akaxiso2\bin> osixaka2 ..\osixaka2\XMLSchema.xsd
Linux¤Î¾ì¹ç(akaxiso2/osixaka2¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Æ)
$ ./osixaka2 XMLSchema.xsd
¤³¤ÎÁàºî¤Ë¤è¤ê¡¢element.h/xiso.h/xiso.cpp¤Î»°¤Ä¤Î¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤½¤ì¤¾¤ì¤ÎÆâÍÆ¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡£
¥Õ¥¡¥¤¥ë̾ |
ÆâÍÆ |
element.h | ¥·¥ê¥¢¥é¥¤¥¶¥Ö¥ë¤Ê¥¯¥é¥¹¤ÎÀë¸À ¥·¥ê¥¢¥é¥¤¥º´Ø¿ô¤ÎÀë¸À |
xiso.h | leaf<>¥¯¥é¥¹¤ÎÀë¸À |
xiso.cpp | leaf<>¥¯¥é¥¹¤Î¼ÂÁõ ¥·¥ê¥¢¥é¥¤¥º´Ø¿ô¤Î¼ÂÁõ |
°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤·¡¢ÀÖ»çÁɥ饤¥Ö¥é¥ê¤È¥ê¥ó¥¯¤¹¤ë¤³¤È¤Ç¡¢XML Schema¥É¥¥å¥á¥ó¥È¤Î¥·¥ê¥¢¥é¥¤¥º¡¢¥Ç¥·¥ê¥¢¥é¥¤¥º¤¬²Äǽ¤È¤Ê¤ê¤Þ¤¹¡£¥Ç¥·¥ê¥¢¥é¥¤¥º¡¢¥·¥ê¥¢¥é¥¤¥º¤¹¤ë¤¿¤á¤Î¥µ¥ó¥×¥ë¥³¡¼¥É¤Ï¡¢osixaka2/test_main.cpp¡ÊHTMLÈǡˤò¤´»²¾È¤¯¤À¤µ¤¤¡£
(Linux¤Ç¤¢¤ì¤Ð¡¢osixaka2¥Ç¥£¥ì¥¯¥È¥ê¤Ç¡¢make parser¤ò¹Ô¤¦¤³¤È¤Ç¡¢¥Ó¥ë¥É¤Ç¤¤Þ¤¹¡£)
»ÅÍÍ¡¢À©¸Â¡¢Ì¤¼ÂÁõÉô¤Ê¤É
- XML-SchemaÃæ¤ÎÁȹþ¤ß·¿¤Ï¡¢Ç¦ºä£²¤Ë¤è¤ê¡¢C++¥¯¥é¥¹¤Ë¥Þ¥Ã¥Ô¥ó¥°¤µ¤ì¤Þ¤¹¡£
Âбþɽ(ÀÖ»çÁÉ¡¢Ç¦ºä£²¤Ë¤ª¤±¤ëÁȤ߹þ¤ß·¿)¤ò»²¾È¤¯¤À¤µ¤¤¡£
- XML-Schema¥É¥¥å¥á¥ó¥ÈÃæ¤Ë½ñ¤«¤ì¤ëDTD¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡£¥³¥á¥ó¥È¥¢¥¦¥È¤¹¤ë¤«¡¢ºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£(osixaka2°Ê²¼¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¸ºß¤¹¤ë¡¢XMLSchema.xsd¡¢xml.xsd¥Õ¥¡¥¤¥ë¤Ï¡¢¤¢¤é¤«¤¸¤áDTD¤ò¥³¥á¥ó¥È¥¢¥¦¥È¤·¤Æ¤¢¤ê¤Þ¤¹¡£)
- xs:simpleType¤Ë¤è¤ëñ½ã·¿¤ÎÄêµÁ¤òÍѤ¤¤¿¾ì¹ç¡¢À¸À®¤µ¤ì¤ë·¿¤Ï¡¢std::string¤Îtypedef̾¤È¤Ê¤ê¤Þ¤¹¡£
¤Þ¤¿¡¢Ã±½ã·¿¤ÎÀ©¸Â¡¢³ÈÄ¥¤ÎÄêµÁ¤Ë¤Ä¤¤¤Æ¡¢ÂÅÅöÀ¸¡¾Ú¥í¥¸¥Ã¥¯¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó¡£
- °Ê²¼¤Î¥¿¥°¡¢Â°À¤Ï¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
- xs:keybase¡¢xs:keyref¡¢xs:substitutionGroup¡¢mixed°À¡¢
- xs:keybase¡¢xs:keyref¡¢xs:substitutionGroup¡¢mixed°À¡¢
- °Ê²¼¤Î¥¿¥°¡¢Â°À¤Ï¡¢Ì¤¼ÂÁõ¤Ç¤¹¡£
- xs:redefine¡¢abstract°À¡¢final°À¡¢block°À¡¢blockDefault°À
- xs:redefine¡¢abstract°À¡¢final°À¡¢block°À¡¢blockDefault°À
- complexContent°Ê²¼¤Ë¤ª¤±¤ërestriction¤ÎÄêµÁ¤Ë´Ø¤·¤Æ¡¢À©Ìó¤Î¥Á¥§¥Ã¥¯¤Ï¡¢Ì¤¼ÂÁõ¤Ç¤¹¡£
- ÀÖ»çÁɤǤϡ¢XMLSchema¤Çµ½Ò¤µ¤ì¤ë¥É¥¥å¥á¥ó¥È¹½Â¤¤ò¡¢¤è¤ê¾¯¤Ê¤¤¿ô¤Î¥¯¥é¥¹¤Çɽ¸½¤Ç¤¤ë¤è¤¦¤Ë¤·¤Æ¤¢¤ê¤Þ¤¹¡£
¤³¤Î¤¿¤á¡¢XML Schema¤ÇÄêµÁ¤µ¤ì¤ëʸ½ñ¤ò¤½¤Î¤Þ¤Þ¡¢C++¤Î¥¯¥é¥¹¤Ø¤ÈÊÑ´¹¤¹¤ë¤È¾éŤÊÀë¸À¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢Ç¦ºä£²¤Ç¤Ï¡¢ÆâÉô¤Ç¥É¥¥å¥á¥ó¥È¹½Â¤¤Îñ½ã²½¡¢ºÇŬ²½¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥í¥¸¥Ã¥¯¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤è¤ê¡¢¾ÜºÙ¤Ê¼ÂÁõ¤ò¹Ô¤¦Í½Äê¤Ç¤¹¡£
- xs:include¡¢xs:import¤Î½èÍý»þ¤Ë»ØÄꤵ¤ì¤ëschemaLocation°À¤Ï¡¢½èÍýÂоݤΥ¹¥¡¼¥Þ¥Õ¥¡¥¤¥ë¤«¤é¤ÎÁêÂХѥ¹¤Çµ½Ò¤µ¤ì¤ë¤â¤Î¤È¤·¤Þ¤¹¡£