ÀÖ»çÁÉ£²¡¥¥ê¥Õ¥¡¥ì¥ó¥¹

ÁȤ߹þ¤ß·¿

akaxiso2.0-beta1


C++¤ÎÁȤ߹þ¤ß·¿¤ä¡¢¥Ç¡¼¥¿¥â¥Ç¥ëµ­½Ò¤ËɬÍפȤʤëÆÃ¼ì¤Ê¥¯¥é¥¹(xs:anyType¤Ê¤É)¤Ë¤Ä¤¤¤Æ¡¢(¥Ç)¥·¥ê¥¢¥é¥¤¥º¤¬²Äǽ¤Ê¤è¤¦¤Ë¡¢ÀÖ»çÁÉ£²¤Ï¡¢leaf¥¯¥é¥¹¤Î¼ÂÁõ¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢XML Schema¤Î¡¢Schema DataTypes¤Ë¤ª¤¤¤ÆÄêµÁ¤µ¤ì¤ëñ½ã·¿¤Ë¤Ä¤¤¤Æ¤â¡¢ÄêµÁ¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤Ë¤Ä¤¤¤Æ¡¢ÀâÌÀ¤·¤Þ¤¹¡£

ÀÖ»çÁɤÎÁȤ߹þ¤ß·¿

ÀÖ»çÁɤϥ饤¥Ö¥é¥êËÜÂΤε¡Ç½¤È¤·¤Æ¡¢°Ê²¼¤ÎC++ÁȤ߹þ¤ß·¿¡¢Ê¸»úÎ󷿤Υ·¥ê¥¢¥é¥¤¥º¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£leaf¥¯¥é¥¹¤Ï¡¢xiso::leaf<ñ½ã·¿>¤È¤·¤Æ»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

À°¿ô ºÇ¾®ÃÍ ºÇÂçÃÍ XML SchemaÁȤ߹þ¤ß·¿¤È¤ÎÂбþ
char -128 127 xs:byte
unsigned char 0 255 xs:unsignedByte
short -32768 32767 xs:short
unsigned short 0 65535 xs:unsigned short
long -2^31 2^31 - 1 xs:int, xs:integer
unsinged long 0 2^32 - 1 xs:unsignedInt
LONGLONG
(long long)
-2^63 2^63 - 1 xs:long
ULONGLONG
(unsigned long long)
0 2^64 - 1 xs:unsignedLong
int *1 *1 Âбþ¤¹¤ë·¿¤Ï¤Ê¤·
*1 ½èÍý·Ï°Í¸

¥Ö¡¼¥ë·¿ ÃÍ XML SchemaÁȤ߹þ¤ß·¿¤È¤ÎÂбþ
bool true
false
0
1
(¥·¥ê¥¢¥é¥¤¥º»þ¤Ë¤Ïtrue/false¤¬»È¤ï¤ì¤ë¡£¡Ë
xs:boolean

ÉâÆ°¾®¿ôÅÀ·¿ XML SchemaÁȤ߹þ¤ß·¿¤È¤ÎÂбþ
float xs:float
double xs:double

ʸ»úÎó·¿ XML SchemaÁȤ߹þ¤ß·¿¤È¤ÎÂбþ
std::string xs:string

ÀÖ»çÁɤǤϡ¢¥·¥ê¥¢¥é¥¤¥¶¥Ö¥ë¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤¬XML¥¹¥­¡¼¥Þ¤Ë¤ª¤±¤ë·¿¤òɽ¸½¤Ç¤­¤ë¤è¤¦¤Ë¡¢°Ê²¼¤Î¥¯¥é¥¹¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£
°Ê²¼¤Î¥¯¥é¥¹¤â¥·¥ê¥¢¥é¥¤¥¶¥Ö¥ë¤Ç¤¹¡£

ÀÖ»çÁÉÁȤ߹þ¤ß·¿ XML SchemaÁȤ߹þ¤ß·¿¤È¤ÎÂбþ
aka::nill Âбþ̵¤·¡£¶õÍ×ÁǤòÌÀ¼¨Åª¤Ë»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍÑ
aka::any xs:anyType
aka::any_array xs:anyType¤ÎÇÛÎóÈÇ
aka::item xs:choice¤Î»ÒÍ×ÁǤòɽ¸½¤¹¤ë¤¿¤á¤Ë»ÈÍÑ
aka::deep_ptr<> ¥¹¥Þ¡¼¥È¥Ý¥¤¥ó¥¿¡£
¤¿¤À¤·¡¢¥³¥Ô¡¼»þ¤Ë¤Ï¡¢ÊÝ»ý¤¹¤ë¥Ý¥¤¥ó¥¿¤Î¥³¥Ô¡¼¤âºîÀ®¤¹¤ë¡£
minOccurs=0 maxOccurs=1¤Î¾ì¹ç¤Ë¤Î¤ß¡¢»ÈÍѲġ£

XML Schema¤ÎÁȤ߹þ¤ß·¿

XML Schema¤ÎÁȤ߹þ¤ß·¿¤Ï¡¢xs:QName¤ò½ü¤­¡¢Ã±½ã¤Ë¡¢std::string¤Ë¥Þ¥Ã¥Ô¥ó¥°¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤Þ¤¿¡¢ÆÉ¤ß¹þ¤ß¡¢½ñ¤­½Ð¤·¤Î¥í¥¸¥Ã¥¯¤Ï¡¢Ã±¤Ê¤ëʸ»úÎó¤ËÂФ¹¤ë½èÍý¤òήÍѤ·¤Æ¤¤¤Þ¤¹¡£
ñ½ã·¿¤ËÂФ¹¤ëÂÅÅöÀ­¸¡¾Ú¥í¥¸¥Ã¥¯¤Ï¡¢¤½¤ì¤¾¤ì¤Î¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ¡¢leaf¥¯¥é¥¹¤ò¼ÂÁõ¤¹¤ë¤³¤È¤Ç¡¢²Äǽ¤È¤Ê¤ê¤Þ¤¹¡£
(ÀÖ»çÁÉ£²¤Î°ìÉô¤È¤·¤Æ¡¢ÈÆÍÑŪ¤ÊÂÅÅöÀ­¥í¥¸¥Ã¥¯¤Î¼ÂÁõ¤òÄ󶡤¹¤ëͽÄê¤Ï¡¢¸½ºß¡¢¤¢¤ê¤Þ¤»¤ó¡£)

»ÈÍѤµ¤ì¤ë¥×¥í¥°¥é¥à¤Ë¤ª¤¤¤Æ¡¢ÂÅÅöÀ­¸¡¾Ú¤ä¡¢ÆÃÊ̤Ê(¥Ç)¥·¥ê¥¢¥é¥¤¥º»þ¤Î½èÍý¤Ê¤É¤òɬÍפȤ¹¤ë¾ì¹ç¡¢¥æ¡¼¥¶¤¬¡¢Ê̤ˤ³¤ì¤é¤Îñ½ã·¿¤ËÂбþ¤¹¤ë¥¯¥é¥¹¤ò¼ÂÁõ¤·¡¢»ÈÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£

XML SchemaÁȤ߹þ¤ß·¿ ¥Þ¥Ã¥×¤µ¤ì¤ëC++¥¯¥é¥¹ leaf¥¯¥é¥¹*2
base64Binary std::string
hexBinary std::string
string std::string
normalizedString std::string
token std::string
positiveInteger std::string
negativeInteger std::string
nonPositiveInteger std::string
positiveInteger std::string
nonNegativeInteger std::string
decimal std::string
time std::string
dateTime std::string
duration std::string
time std::string
dateTime std::string
duration std::string
gMonth std::string
gYear std::string
gYearMonth std::string
gDay std::string
gMonthDay std::string
Name std::string
QName aka::qname xs::QNameLeaf,
xs::QNameRefLeaf
NCName std::string
anyURI std::string
language std::string
ID std::string
IDREF std::string
IDREFS std::string
ENTITY std::string
ENTITIES std::string
NOTATION std::string
NMTOKEN std::string
NMTOKENS std::string

*2 : ¶õÍó¤Î¾ì­¡¢xs::leaf<std::string>¤¬ÍѤ¤¤é¤ì¤ë¡£


¥ê¥Õ¥¡¥ì¥ó¥¹¥È¥Ã¥×¤ËÌá¤ë¡¡ÀÖ»çÁÉ¥Û¡¼¥à¥Ú¡¼¥¸¤Ø sourceforge¥×¥í¥¸¥§¥¯¥È¥Ú¡¼¥¸¤Ø