XPath

¢£XSLT
eXtensible Stylesheet Language Transformations
XML¥Æ¥­¥¹¥È¤òɽ¼¨¡¦°õºþÍѤËÊÑ´¹¤¹¤ë¤¿¤á¤Î¤â¤Î¡£
XSL¤Î°ìÉô¡£
XMLʸ½ñ¤ò¾¤ÎXMLʸ½ñ¤äHTMLʸ½ñ¤ËÊÑ´¹¤Ç¤­¤ë¡£

ÊÑ´¹Á°XMLʸ½ñ¡½¢ªXSLT¥×¥í¥»¥Ã¥µ¢ªÊÑ´¹¸åXMLʸ½ñ
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¢¬
¡¡¡¡¡¡¡¡¡¡¡¡¡¡XSLT¥¹¥¿¥¤¥ë¥·¡¼¥È

¢£XPath
XML Path Language
XMLʸ½ñ¤Î°ìÉôʬ¤ò¥¢¥É¥ì¥Ã¥·¥ó¥°¤¹¤ë¤¿¤á¤Î¸À¸ì¡£
¢ªXSL¤Ç»È¤ï¤ì¤Æ¤¤¤ë¡¢XML¥Æ¥­¥¹¥È¤Î¹½Â¤¤òé¤Ã¤Æ¡¢Í×ÁǤä°À­¡¢Ê¸»úÎó¤ò»Ø¤·¼¨¤¹°Ù¤Î¸À¸ì¡£

XSLT¤ÇXML¥Ç¡¼¥¿¤Î¹½Â¤ÊÑ´¹¤òµ­½Ò¤¹¤ë°Ù¤Ë¤Ï¡¢
XML¥Ç¡¼¥¿Ãæ¤ÎÆÃÄê¤ÎÍ×ÁǤä°À­¤ò»ØÄꤹ¤ë¤¿¤á¤Î¸À¸ì¡Ê¡áXPath¡Ë¤¬É¬Íס£

XSLT¤Î¥¹¥¿¥¤¥ë¥·¡¼¥È¤òºîÀ®¤¹¤ë¤Î¤Ë»ÈÍÑ¡£


¢£XPath¤Î½ñ¤­Êý
¡½XML¥Ç¡¼¥¿¡½
<'?xml version="1.0"?>
<'publications>
<'book>HogeBook<'/book>
<'book>HogeBook<'/book>
<'magazine>HogeMagazine<'/magazine>
<'/publications>
¢­
¡½XPath¤Î¥Ç¡¼¥¿¥â¥Ç¥ë¤Ë¤è¤ë¥Ä¥ê¡¼¹½Â¤¡½
¥ë¡¼¥È¥Î¡¼¥É
¡Ã
¡Ã¡½Í×ÁǥΡ¼¥É/publication
¡¡¡¡¡Ã
¡¡¡¡¡Ã¡½Í×ÁǥΡ¼¥É/book
¡¡¡¡¡Ã¡¡¡Ã¡½¥Æ¥­¥¹¥È¥Î¡¼¥É/HogeBook
¡¡¡¡¡Ã
¡¡¡¡¡Ã¡½Í×ÁǥΡ¼¥É/book
¡¡¡¡¡Ã¡¡¡Ã¡½¥Æ¥­¥¹¥È¥Î¡¼¥É/HogeBook
¡¡¡¡¡Ã
¡¡¡¡¡Ã¡½Í×ÁǥΡ¼¥É/magazine
¡¡¡¡ ¡¡¡Ã¡½¥Æ¥­¥¹¥È¥Î¡¼¥É/HogeMagazine

¢¢XPathʸˡ/¥ë¡¼¥È¥Î¡¼¥É¤Ï¡¢µ­¹æ[/]¤Ç»ØÄꤹ¤ë¡£
<'xsl:template match="/">
¡Ä¡Ä
<'/template>
¢ª¥ë¡¼¥È¥Î¡¼¥É¤Ë¥Æ¥ó¥×¥ì¡¼¥È¤òŬÍѤµ¤»¤ë¡¢¤æ¤¦°ÕÌ£¡£

¢¢XPathʸˡ/¿Æ»Ò´Ø·¸¤Ï¡¢[/]¤Çɽ¤¹¡£
¥Î¡¼¥ÉƱ»Î¤Î¿Æ»Ò´Ø·¸(³¬Áع½Â¤)¤Ï¡¢µ­¹æ[/]¤Ç¿ÆÍ×ÁÇ¡¦»ÒÍ×ÁǤòÏ¢·ë¤·¤Æ¤¤É½¸½¤¹¤ë¡£
<'xsl:template match="publications/book">
¡Ä¡Ä
<'/xsl:template>
¢ªpublicationÍ×ÁǤλÒÍ×ÁÇbook¤Ë¥Æ¥ó¥×¥ì¡¼¥È¤òŬÍѤµ¤»¤ë¡¢¤æ¤¦°ÕÌ£¡£

¢¢XPathʸˡ/ÁÄÀè¤È»Ò¹¤Ï[//]¤ÇÏ¢·ë¤¹¤ë¡£
¤¢¤ëÍ×ÁǤλÒ¹Í×ÁǤ˥ƥó¥×¥ì¡¼¥È¥ë¡¼¥ë¤òŬÍѤ·¤¿¤¤¾ì¹ç¡¢
µ­¹æ[//]¤ÇÁÄÀèÍ×ÁǤȻÒ¹Í×ÁǤòÏ¢·ë¤·¤ÆÉ½¸½¤¹¤ë¡£
<'xsl:template match="publications//price">
¡Ä¡Ä
<'/xsl:template>
¢ªpublicationÍ×ÁǤλÒÍ×ÁÇ{book}¤Î»ÒÍ×ÁÇprice¤Ë¥Æ¥ó¥×¥ì¡¼¥È¥ë¡¼¥ë¤òŬÍѤµ¤»¤ë¡¢¤æ¤¦°ÕÌ£¡£

¢¢XPathʸˡ/test()¤Ç¥Æ¥­¥¹¥È¥Î¡¼¥É¤ò¼è¤ê½Ð¤¹¡£
XML1.0ʸˡ¤Ç¤Ï¡¢³«»Ï¥¿¥°¤È½ªÎ»¥¿¥°¤Ç°Ï¤Þ¤ì¤¿Éôʬ¤òÍ×ÁÇ¤ÎÆâÍÆ¤È¤¤¤¦¡£
<'book>HogeBook<'/book>
XPath¤Ç¤Ï¡¢Í×ÁÇ¤ÎÆâÍÆ¤Ï¡¢¤½¤ÎÍ×ÁǥΡ¼¥É¤Ë·Ò¤¬¤ë¥Æ¥­¥¹¥È¥Î¡¼¥É¤Ç¤¢¤ë¤È¹Í¤¨¤ë¡£
XPath¤Ç¡¢¤¢¤ëÍ×ÁǤλҥƥ­¥¹¥È¥Î¡¼¥É¤òÌÀ¼¨Åª¤ËÁªÂò¤¹¤ë¤Ë¤Ï¡¢text()¤òÍѤ¤¤ë¡£
<'xsl:value-of select="book/text()"/>
cf.
<'xsl:valu-of select="book"/>¤È½ñ¤¤¤Æ¤â¡¢XSLT¥×¥í¥»¥Ã¥µ¤Ï¡¢
bookÍ×ÁǤÎÃͤȤ·¤Æ»Ò¥Æ¥­¥¹¥È¥Î¡¼¥É¤Îʸ»úÎó¤òÊÖ¤¹¤Î¤Ç¡¢·ë²Ì¤ÏƱ¤¸¡£

¢¢XPathʸˡ/¥«¥ì¥ó¥È¥Î¡¼¥É¤Ï[.]¤Çɽ¤¹¡£
XSLT¥×¥í¥»¥Ã¥µ¤¬¸½ºß½èÍý¤·¤Æ¤¤¤ë¥Î¡¼¥É¤ò¥«¥ì¥ó¥È¥Î¡¼¥É¤È¤¤¤¦¡£
XPath¤Ç¤Ï¡¢[.]¤Çɽ¸½¤¹¤ë¡£
<'xsl:value-of select".">
¢ª¥«¥ì¥ó¥È¥Î¡¼¥É¤Î»Ò¥Æ¥­¥¹¥È¥Î¡¼¥É¤ò¼è¤ê½Ð¤¹¡¢¤æ¤¦°ÕÌ£¡£

XPath¤Î¥Ç¡¼¥¿¥â¥Ç¥ë¤Ç¤Ï¡¢Í×ÁÇÆâ¤Ç»ØÄꤵ¤ì¤¿Â°À­¤ò¥Î¡¼¥É¤Î°ì¼ï¤È¹Í¤¨¡¢Â°À­¥Î¡¼¥É¤È¸Æ¤Ö¡£
°À­¥Î¡¼¥É¤È¤½¤Î°À­¤ò»ý¤ÄÍ×ÁǥΡ¼¥É¤Î´Ø·¸¤Ï¡¢½¾Â°´Ø·¸¤Ë¤¢¤ê¡¢Í×ÁǥΡ¼¥É¤Î¿Æ»Ò´Ø·¸¤È¤ÏÊÌ¡£

°À­¥Î¡¼¥É¤Î¾¤Ë¤â¡¢
̾Á°¶õ´Ö¥Î¡¼¥É¡¢½èÍýÌ¿Îá¥Î¡¼¥É¡¢¥³¥á¥ó¥È¥Î¡¼¥É¤¬¤¢¤ë¡£

¢£XPath¤Î±é»»»Ò
Èæ³Ó±é»»»Ò¡§ =, !=, <', >, <'=, >=
»»½Ñ±é»»»Ò¡§ +, -, *, div, mod
ÏÀÍý±é»»»Ò¡§ and, or

¢¨Èæ³Ó±é»»»Ò[<']¤È[>]¤Ï¡¢XML¤Ç¤Ï¥¿¥°¤Î³«»Ï¤È½ªÎ»¤ò¼¨¤¹¤¿¤á¡¢
¡¡XPath¤Ç»ÈÍѤ¹¤ëºÝ¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£»²¾È(¼ÂÂÖ»²¾È)¤Î[<]¤È[>]¤ò»ÈÍѤ·¤ÆÃÖ´¹¤¹¤ë¤³¤È¡£

¢£XPath¤Î¥Î¡¼¥É½¸¹ç´Ø¿ô
XPath¤Ë¤Ï¡¢¥Î¡¼¥É½¸¹ç´Ø¿ô¡¢Ê¸»úÎó´Ø¿ô¡¢¥Ö¡¼¥ë´Ø¿ô¡¢¿ôÃÍ´Ø¿ô¤¬ÍѰդµ¤ì¤Æ¤¤¤ë¡£
ex
¡¦position() ¢ª»ØÄꤵ¤ì¤¿¥Î¡¼¥É½¸¹ç¤ÎÃæ¤Î¤½¤ì¤¾¤ì¤Î°ÌÃÖ¤òÊÖ¤¹¡£
¡¦last() ¢ª»ØÄꤵ¤ì¤¿¥Î¡¼¥É½¸¹ç¤ÎºÇ¸å¤Î¥Î¡¼¥É¤Î°ÌÃÖ¤òÊÖ¤¹¡£
¡¦count() ¢ª»ØÄꤵ¤ì¤¿¥Î¡¼¥É½¸¹ç¤Î¥µ¥¤¥º¤òÊÖ¤¹¡£
¾åµ­¤Î´Ø¿ô¤Ç¡¢Æ±°ì³¬ÁØ¤ÇÆ±°ìÍ×ÁÇ̾¤ò»ý¤Ä¤â¤Î¤ÎÃæ¤«¤éÆÃÄê¤ÎÍ×ÁǤÀ¤±¤ò»ØÄê¤Ç¤­¤ë¡£
<'xsl:template match="book[position()=2]"/>
¢ªÊ£¿ôÍåÎ󤷤Ƥ¤¤ëbookÍ×ÁǤÎÃæ¤«¤é2ÈÖÌܤÎbookÍ×ÁǤÀ¤±¤ò½èÍý¤¹¤ë¡¢¤æ¤¦°ÕÌ£¡£

¢£XPath¤Ç¤ÎÆÃÄê°À­¤ÎÁªÂò
Í×ÁǤ¬»ý¤Ä°À­¤ËÃíÌܤ·¡¢ÆÃÄê¤Î°À­Ãͤò»ý¤Ä¥Î¡¼¥É¤À¤±¤òÁªÂò¤Ç¤­¤ë¡£
<'?xml version="1.0" encoding="shift_jis"?>
<'publications>
<'book att="XML">¤Û¤²<'/book>
<'book att="SGML">¥Û¥²<'/book>
<'book att="DTP">Êâ²Æ<'/book>
<'/publications>
°À­Ì¾¤ÎÁ°¤Ë[@]¤òÉÕ¤±¤ë»ö¤Ç¡¢Â°À­ÃͤòXPath¤ÎÃæ¤Ç»²¾È¤Ç¤­¤ë¡£
<'xsl:template match="book[@att='SGML']"/>
¢ªatt°À­¤¬"SGML"¤ÎÍ×ÁÇ(2ÈÖÌܤÎbookÍ×ÁǤΤß)¤òÁªÂò¤¹¤ë¡¢¤æ¤¦°ÕÌ£¡£


ref:
XPath¤Î½ñ¤­Êý¤Î´ðËÜ
http://www.atmarkit.co.jp/fxml/tanpatsu/10xslt/xslt02.html
W3C/XSLT
http://www.infoteria.com/jp/contents/xml-data/REC-xslt-19991116-jpn.htm
W3C/XPath
http://www.doraneko.org/xml/xpath10/19991116/Overview.html

SQL LOG

¡½log4j.properties¡½
1 # Global logging configuration
2 log4j.rootLogger=ERROR, stdout
3
4 # SqlMap logging configuration...
5 #log4j.logger.com.ibatis=DEBUG
6 #log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
7 #log4j.logger.com.ibatis.sqlmap.engine.cache.CacheModel=DEBUG
8 #log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientImpl=DEBUG
9 #log4j.logger.com.ibatis.sqlmap.engine.builder.xml.SqlMapParser=DEBUG
10#log4j.logger.com.ibatis.common.util.StopWatch=DEBUG
11#log4j.logger.java.sql.Connection=DEBUG
12#log4j.logger.java.sql.Statement=DEBUG
13#log4j.logger.java.sql.PreparedStatement=DEBUG
14#log4j.logger.java.sql.ResultSet=DEBUG
15
16# Console output...
17log4j.appender.stdout=org.apache.log4j.ConsoleAppender
18log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
19log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n


ref:
Japanese translation of iBATIS Developer's Guide.

ONWEB_EN
http://ibatisnet.sourceforge.net/DevGuide.html
ONWEB_EN_PDF
http://ibatis.apache.org/docs/java/pdf/iBATIS-SqlMaps-2_en.pdf
ONWEB_JP_PDF
https://issues.apache.org/jira/secure/attachment/12359316/iBATIS-SqlMaps-2_ja.pdf
DOWNLOAD_JP_PDF
http://svn.apache.org/repos/asf/ibatis/trunk/java/ibatis-2/ibatis-2-docs/ja/iBATIS-SqlMaps-2_ja.pdf

TNS

¡½tnsname.ora¡½
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1522))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)

orcl_hoge =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = yyy.yyy.yyy)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL1)
)
)

orcl_piyo = (DESCRIPTION=(ENABLE=BROKEN)(ADDRESS=(PROTOCOL=TCP)(HOST=yyy.yyy.yyy.yyy)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=zzz.zzz.zzz.zzz)(PORT=1521))(FAILOVER=ON)(LOAD_BALANCE=OFF)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)))

¡½/tnsname.ora¡½

¡½cmd¡½
C:> sqlplus user/password@orcl
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
¤ËÀܳ¤µ¤ì¤Þ¤·¤¿¡£
SQL>exit
C:> sqlplus hoge/hoge@orcl_hoge
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
¤ËÀܳ¤µ¤ì¤Þ¤·¤¿¡£
SQL>exit
¡½/cmd¡½

¡½eclipse,ws¡½
jdbc:oracle:thin:@yyy.yyy.yyy.yyy:1521:orcl1
¡½/eclipse,ws¡½

sqlplus¤«¤é¤Ï¡¢orcl¡¢orcl_hoge¡¢orcl_piyo¤Ç¡¢
eclipse¤äws¤Ç¤Ï¡¢SERVICE_NAME¤ÎÊý¤ò»ØÄꤹ¤ë¡£

XSLT

XML´ØÏ¢¤ÎW3C´«¹ðµ¬³Ê
°Û¤Ê¤ë¥Ç¡¼¥¿¥Õ¥©¡¼¥Þ¥Ã¥È(¥¹¥­¡¼¥Þ)¤ò»È¤Ã¤¿¥Ç¡¼¥¿´Ö¤Ç
¥Ç¡¼¥¿¸ò´¹¤¹¤ë¾ì¹ç¤ËXSLT¤ÇXML¥Ç¡¼¥¿¤Î¹½Â¤ÊÑ´¹¤·¤ÆÂбþ

XML¤Ï¥Ç¡¼¥¿¤ÎÏÀÍýŪ¤Ê¹½Â¤¤òµ­½Ò¤¹¤ë¤¿¤á¤Î¸À¸ì
¤è¤Ã¤Æ¡¢XMLʸ½ñ¤Ë¤Ï¡¢Web¥Ö¥é¥¦¥¶¤ä»æÌ̤Ëɽ¼¨¤¹¤ëÂÎÀª¤ò¼¨¤¹¥ì¥¤¥¢¥¦¥È¾ðÊó(¥¹¥¿¥¤¥ë¾ðÊó)¤¬¤Ê¤¤¡£

¤À¤«¤é¡¢XML¥Ç¡¼¥¿¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î½èÍý¤¬É¬Íפˤʤ롣
¡¡­¡XML¥Ç¡¼¥¿¤Î¹½Â¤¤ò¡¢(Web¥Ö¥é¥¦¥¶Åù¤Î)¥Õ¥©¡¼¥Þ¥Ã¥¿¤¬¼õ¤±ÉÕ¤±¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤È¡¢¹½Â¤ÊÑ´¹¤¹¤ë½èÍý
¡¡­¢(ʸ»ú¤ÎÂç¾®¤ä¿§Åù)¥¹¥¿¥¤¥ëÉÕ¤±¤¹¤ë½èÍý

­¡¤ÎXML¥Ç¡¼¥¿¤Î¹½Â¤ÊÑ´¹¤ò»ØÄꤹ¤ëÉôʬ¤ò¡¢ÆÈΩ¤·¤¿µ¬³Ê¤È¤·¤Æ¼è¤ê½Ð¤·¤¿¤Î¤¬XSLT¡£
XSLT¤Ë¤Ï¡¢ÊÑ¿ô¤ä´Ø¿ô¡¢·«¤êÊÖ¤·¤ä¾ò·ïÉÕ½èÍýÅù¤Î¥×¥í¥°¥é¥ß¥ó¥°µ¡Ç½¤¬À¹¤ê¹þ¤Þ¤ì¤ª¤ê¡¢
Ê£»¨¤Ê¥Ç¡¼¥¿ÊÑ´¹½èÍý¤âÂбþ¤Ç¤­¤ë¡£

XML¥Ç¡¼¥¿¤«¤é°Ê²¼¤Ø¤Î¥Ç¡¼¥¿¹½Â¤ÊÑ´¹¤¬²Äǽ
¡¦XML¥Ç¡¼¥¿
¡¦HTML¥Ç¡¼¥¿
¡¦ÈóXML¥Ç¡¼¥¿¡Ê¥Æ¥­¥¹¥È¡¢CSV¡Ë


XSLT¤Ë¤è¤ëÊÑ´¹½èÍý¤Îµ­½Ò¤Ï¡¢¥¹¥¿¥¤¥ë¥·¡¼¥È¤È¸Æ¤Ð¤ì¤Æ¤¤¤ë¡£
XSLT¥¹¥¿¥¤¥ë¥·¡¼¥È¤Îµ­½Ò¤Ë½¾¤¤¡¢XSLT¥×¥í¥»¥Ã¥µ¤¬XML¥Ç¡¼¥¿¤Î¹½Â¤ÊÑ´¹¤ò¤¹¤ë

¢¨CSS(cascading style sheet) ¡â XSLT

¢£´ðËÜŪ½ñ¤­Êý
¡¦XSLT¥¹¥¿¥¤¥ë¥·¡¼¥È¼«ÂΤÏXML¥¿¥°¤Ç½ñ¤¯¡£
¡¦XSLT¤Î̾Á°¶õ´Ö¤Ë°¤¹¤ëÍ×ÁǤò¡¢XSLT¤ÎÌ¿Îá¤È¤·¤Æ»ÈÍѤ¹¤ë¡£

¢¢XSLT¤Î̾Á°¶õ´Ö
¡¡¡¦xsl:stylesheet
¡¡¡¦xsl:template
¡¡¡¦xsl:value-of
¡¡¡¦xsl:apply-tempates

¢¢XMLÀë¸À
¡¡¥¹¥¿¥¤¥ë¥·¡¼¥È¤ÎËÁƬ¤ËXMLÀë¸À¤ò½ñ¤¯¡£
¡¡<'?xml version="1.0" encoding="shift_jis"?>

¢¢XSLTÀë¸À[xsl:stylesheet]
¡¡¥¹¥¿¥¤¥ë¥·¡¼¥ÈÁ´ÂΤò°Ï¤à¥¿¥°¡£
¡¡¤³¤ÎÌ¿Îá¤Ç¡¢XSLT¤Î¥Ð¡¼¥¸¥ç¥ó¤ÈXSLT¤Î̾Á°¶õ´Ö¤ÎÀë¸À¤ò¤¹¤ë¡£
¡¡
¡¡<'xsl:stylesheet version="1.0"
¡¡¡¡¡¡xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
¡¡¡¡¡Ä¡Ä
¡¡<'/xsl:stylesheet>
¡¡version°À­¤Ç¥Ð¡¼¥¸¥ç¥ó»ØÄê¡£
¡¡xmlns:xsl°À­¤Ç̾Á°¶õ´Ö»ØÄê¡£

¢¢¥Æ¥ó¥×¥ì¡¼¥È¤Î»ØÄê[xsl:template]
¡¡XML¥Ç¡¼¥¿¤Î¹½Â¤ÊÑ´¹¤Îµ­½Ò¤È¤Ï¡¢
¡¡¡¡­¡Í¿¤¨¤é¤ì¤¿XML¥Ç¡¼¥¿¤Î¥Î¡¼¥É¤òÊÑ´¹¸µ¤È¤¹¤ë¤Î¤«
¡¡¡¡­¢ÊÑ´¹Àè¤ÎXML¥Ç¡¼¥¿¤Ë¡¢¤É¤ó¤Ê¥Î¡¼¥É¤òÀ¸À®¡¦Éղ乤ë¤Î¤«
¡¡¤ò»ØÄꤹ¤ë¤³¤È¡£
¡¡¤³¤Î»ØÄê¤ò[xsl:template]Í×ÁǤÇɽ¸½¤¹¤ë¡£
¡¡
¡¡<'xsl:template match=ÊÑ´¹¸µ¤ò»ØÄꤹ¤ë¥Ñ¥¿¡¼¥ó >
¡¡¡¡¡Ä¡ÄÊÑ´¹Àè¤ÇÀ¸À®¤µ¤ì¤ëXML¹½Â¤¤Î¥Æ¥ó¥×¥ì¡¼¥È¡Ä¡Ä
¡¡<'/xsl:template>
¡¡­¡¤Î»ØÄê¤Ï¡¢patter¤È¸Æ¤Ð¤ì¡¢match°À­¤Ç»ØÄꤹ¤ë¡£(¥Î¡¼¥É¤Î»ØÄê¤ÏXPahʸˡ¤Ë½¾¤¦)
¡¡­¢¤Î»ØÄê¤Ï¡¢template¤È¸Æ¤Ð¤ì¡¢xsl:template¥¿¥°¤Ç¶´¤Þ¤ì¤¿Éôʬ¤ËXML¹½Â¤¤È¤·¤ÆÉ½¸½¤¹¤ë¡£
¡¡
¡¡<'xsl:template match="paragraph" >
¡¡¡¡<'p><'/p>
¡¡<'/xsl:template>
¡¡ÊÑ´¹¸µ¤ÎXML¥Ç¡¼¥¿¤ÎparagraphÍ×ÁǤËÂФ·¤Æ¡¢HTML¤ÎpÍ×ÁǤòÀ¸À®¤¹¤ë¡¢¤æ¤¦°ÕÌ£¡£

¢¢Ê¸»úÎó¥³¥Ô¡¼[xsl:value-of]
¡¡Ê¸»úÎó¤Î¥³¥Ô¡¼¤Ë[xsl:value-to]Í×ÁǤò»È¤¦¡£
¡¡
¡¡<'xsl:template match="paragraph" >
¡¡¡¡<'p><'xsl:value-of select="." /><'/p>
¡¡<'/xsl:template>
¡¡select°À­¤Î"."¤Ï¡¢¸½ºß¤ÎÍ×ÁǤÎʸ»úÎóÃÍ¡¢¤æ¤¦°ÕÌ£¡£
¡¡
¡¡<'xsl:template match="title" >
¡¡¡¡<'h1><'xsl:value-of select="." /><'/h1>
¡¡<'/xsl:template>
¡¡ÊÑ´¹¸µXML¥Ç¡¼¥¿¤ÎtitleÍ×Áǽи½¤ÇÊÑ´¹Àè¤ÎXML¥Ç¡¼¥¿¤Îh1Í×ÁǤòÀ¸À®¡¦Éղ乤롢¤æ¤¦°ÕÌ£¡£

¢¢¹½Â¤¤Î¥³¥ó¥È¥í¡¼¥ë[xsl:apply-tempates]
¡¡XML¤Ï¡¢Í×ÁǤγ¬Áؤǥǡ¼¥¿¤¬É½¸½¤µ¤ì¤Æ¤¤¤ë¡£
¡¡¥Æ¥ó¥×¥ì¡¼¥È¥ë¡¼¥ë¤Ï¡¢ÊÑ´¹¸µ¤ÎXML¥Ç¡¼¥¿¤ÎÍ×ÁÇËè¤Ë¸ÄÊ̤˻ØÄꤹ¤ë¤¬¡¢
¡¡ÊÑ´¹Àè¤È¤Ê¤ëXML¥Ç¡¼¥¿(HTML¥Ç¡¼¥¿Åù)¤Ë¤â¹½Â¤¤ò»ý¤¿¤»¤ó¤È¤¤¤±¤ó¡£
¡¡ÊÑ´¹Àè¤Î¹½Â¤¤ò´ÉÍý¤¹¤ë¤Î¤¬¡¢[xsl:apply-templates]Í×ÁÇ¡£
¡¡
¡¡<'xsl:template match="article" >
¡¡¡¡<'html><'xsl:apply-templates /><'/html>
¡¡<'/xsl:template>
¡¡articleÍ×ÁǤËÂФ·¤ÆhtmlÍ×ÁǤòÀ¸À®¤µ¤»¤ë¡£
¡¡xsl:apply-templates¤Ï¡¢articleÍ×ÁǤλÒÍ×ÁǤǤ¢¤ëtitleÍ×ÁÇ¡¢
¡¡paragraphÍ×ÁǤòÊ̤ξì½ê¤Ë¤¢¤ëxsl:templateÍ×ÁǤÇÊÑ´¹Àè¤Ø¥Þ¥Ã¥Ô¥ó¥°¤µ¤»¤¿·ë²Ì¤ò
¡¡<'html><'/html>´Ö¤ËËä¤á¤³¤È¡¢¤æ¤¦°ÕÌ£¡£
¡¡
¢¢¥ë¡¼¥È¥Î¡¼¥É
¡¡match°À­¤ÎÃͤ˽ñ¤¯"/"¤Ï¥ë¡¼¥È¥Î¡¼¥É¤ò°ÕÌ£¤¹¤ë¡£
¡¡<'xsl:template match="/" >
¡¡¡¡<'xsl:apply-templates />
¡¡<'/xsl:template>

¢¢ex
¡½xml¡½
<'?xml version="1.0" encoding="Shift_JIS" ?>
<'?xml-stylesheet href="article-view.xsl" type="text/xsl" ?>
<'article>
¡¡<'title>XSLT INTRO<'/title>
¡¡<'paragraph>TO UNDERSTAND XSLT<'/paragraph>
<'/article>
¡½xslt¡½
<'?xml version="1.0" encoding="shift_jis" ?>
<'xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
¡¡<'xsl:template match="/">
¡¡¡¡<'xsl:apply-templates/>
¡¡<'/xsl:template>
¡¡<'xsl:template match="article">
¡¡¡¡<'html><'xsl:apply-templates/><'/html>
¡¡<'/xsl:template>
¡¡<'xsl:template match="title">
¡¡¡¡<'h1><'xsl:value-of select="."/><'/h1>
¡¡<'/xsl:template>
¡¡<'xsl:template match="paragraph" >
¡¡¡¡<'p><'xsl:value-of select="."/><'/p>
¡¡<'/xsl:template>
<'/xsl:stylesheet>


ref:
http://www.atmarkit.co.jp/fxml/tanpatsu/10xslt/xslt01.html

¥¯¥é¥¹¥í¡¼¥À/ ¥Ç¥ê¥²¡¼¥·¥ç¥ó¡¦¥â¥Ç¥ë

¢£¥¯¥é¥¹¥í¡¼¥À
¥¯¥é¥¹¤ò¥í¡¼¥É¤¹¤ë¤â¤Î
¥¯¥é¥¹¤Ï»ÈÍѤµ¤ì¤ëÁ°¤Ëɬ¤º¥¯¥é¥¹¥í¡¼¥À¤Ë¤è¤Ã¤ÆJVM¡ÊJava Virtual Machine¡Ë¤Î¥á¥â¥ê¶õ´Ö¾å¤Ë¥í¡¼¥É¤µ¤ì¤ë¡£

public class SimpleTest {
public static void main(String[] args) {

SimpleTest test = new SimpleTest();//­¡
ClassLoader loader = test.getClass().getClassLoader();
syso("SimpleTest.class is loaded by " + loader);
syso("java/lang/String.class is found at " + loader.getResource("java/lang/String.class"));//­¢

}
}

­¡¥¯¥é¥¹¥í¡¼¥À¤Î¼èÆÀ
¡¡¥¯¥é¥¹¥í¡¼¥À¤Ï¥×¥í¥°¥é¥àÃæ¤«¤é¤Ç¤â¼èÆÀ²Äǽ¡£
¡¡¾åµ­¤Ï¡¢java.lang.Class#getClassLoader¤Ç¼èÆÀ¡£
¡¡syso·ë²Ì¤Ï¡¢
¡¡SimpleTest.class is loaded by sun.misc.Launcher$AppClassLoader@3c6d53c4

­¢¥¯¥é¥¹¥í¡¼¥À¤Ç¥ê¥½¡¼¥¹¸¡º÷
¡¡ClassLoader#getResource(String)¤Ï¡¢¡ö.propertiesÅù¤ÎÆÉ¤ß¹þ¤ß¤Ç¤è¤¦ÍøÍѤµ¤ì¤ë¤¬¡¢¡ö.class¤À¤Ã¤±¤è¸«¹þ¤ß²Äǽ¡£
¡¡¢¨getResource(String)¤Ï¡¢¥ê¥½¡¼¥¹¸¡º÷¤Î¥á¥½¥Ã¥É
¡¡¡¡°ú¿ô¤Ï¡¢"java.lang.String"¤Ç¤Ï¤Ê¤¯¡¢"java/land/String.class"¤È¤¹¤ë¤³¤È¡£
¡¡syso·ë²Ì¤Ï¡¢
¡¡java/lang/String.class is found at jar:file:C:/opt/rad/runtimes/base_v6/java/jre/lib/core.jar!/java/lang/String.class

¼ÂºÝ¤Ë¥¯¥é¥¹¤¬¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Î²¿½è¤«¤é¥í¡¼¥É¤µ¤ì¤¿¤òÃΤë¤Î¤Ë¤â¥¯¥é¥¹¥í¡¼¥À¤ÏÍ­¸ú¡£

¢£¥¯¥é¥¹¥í¡¼¥À¥Ò¥¨¥é¥ë¥­¡¼
£±¤Ä¤ÎJVMÆâ¤ËÊ£¿ô¤Î¥¯¥é¥¹¥í¡¼¥À¤¬ÉáÄÌ¡£
J2EE¥¢¥×¥ê¥±¡¼¥·¥ç¥óŽ¥¥µ¡¼¥Ð¤ÎÀ¤³¦¤âƱ¤¸¡£

¢¢WebSphereApplicationServerÆâ¤Î¥¯¥é¥¹¥í¡¼¥À¹½À®
Java´ðËÜ¥¯¥é¥¹¥í¡¼¥À/¥Ö¡¼¥¹¥È¥È¥é¥Ã¥×¥¯¥é¥¹¥í¡¼¥À
¡¡(loads /lib/*.jar)
¡Ã
¡Ã¡½Java´ðËÜ¥¯¥é¥¹¥í¡¼¥À/¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¥¯¥é¥¹¥í¡¼¥À
¡¡¡¡¡¡(loads /lib/ext/*.jar)
¡Ã
¡Ã¡½Java´ðËÜ¥¯¥é¥¹¥í¡¼¥À/¥·¥¹¥Æ¥à¥¯¥é¥¹¥í¡¼¥À
¡¡¡¡¡¡(loads CLASSPATH)
¡¡¡¡¡Ã
¡¡¡¡¡Ã¡½WebSphere/EXT¥¯¥é¥¹¥í¡¼¥À
¡¡¡¡¡¡¡¡¡¡(loads /lib/*.jar)
¡¡¡¡¡¡¡¡¡Ã
¡¡¡¡¡¡¡¡¡Ã¡½banking.ear/¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¯¥é¥¹¥í¡¼¥À
¡¡¡¡¡¡¡¡¡¡¡¡¡¡(loads banking-ejb.jar, utility.jar)
¡¡¡¡¡¡¡¡¡Ã¡¡¡Ã
¡¡¡¡¡¡¡¡¡Ã¡¡¡Ã¡½customer.war/WAR¥¯¥é¥¹¥í¡¼¥À
¡¡¡¡¡¡¡¡¡Ã¡¡¡Ã
¡¡¡¡¡¡¡¡¡Ã¡¡¡Ã¡½admin.war/WAR¥¯¥é¥¹¥í¡¼¥À
¡¡¡¡¡¡¡¡¡Ã
¡¡¡¡¡¡¡¡¡Ã¡½trading.ear/¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¯¥é¥¹¥í¡¼¥À
¡¡¡¡¡¡¡¡¡¡¡¡¡¡(loads trading-ejb.jar, utility.jar)
¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¡½company.war/WAR¥¯¥é¥¹¥í¡¼¥À

¡½¥Ö¡¼¥¹¥È¥È¥é¥Ã¥×¥¯¥é¥¹¥í¡¼¥À
¡¡°ìÈ֤οơ£
¡¡Java¤Î¥³¥¢API¤Ë´Ø¤¹¤ë¥¯¥é¥¹(java.lang.*Åù)¤ò¥í¡¼¥É¡£

¡½¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¥¯¥é¥¹¥í¡¼¥À
¡¡¥Ö¡¼¥¹¥È¥È¥é¥Ã¥×¥¯¥é¥¹¥í¡¼¥À¤Î»Ò¶¡¡£
¡¡¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥óŽ¥¥Ç¥£¥ì¥¯¥È¥ê(/lib/ext/*.jar)Æâ¤Î¥¯¥é¥¹¤ò¥í¡¼¥É¡£

¡½EXT¥¯¥é¥¹¥í¡¼¥À
¡¡¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥ó¥¯¥é¥¹¥í¡¼¥À¤Î»Ò¶¡¡£
¡¡WebSphereApplicationServerÆÃÍ­¤Î¥¯¥é¥¹¥í¡¼¥À¡£
¡¡WebSphereApplicationServerËÜÂΤΥ¯¥é¥¹¤ò¥í¡¼¥É¡£
¡¡/lib/*.jarÅù¤¬¥í¡¼¥ÉÂоݡ£

¡½¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¯¥é¥¹¥í¡¼¥À
¡¡EXT¥¯¥é¥¹¥í¡¼¥À¤Î»Ò¶¡¡£
¡¡¥¢¥×¥ê¥±¡¼¥·¥ç¥óŽ¥¥µ¡¼¥Ð¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¥¨¥ó¥¿¡¼¥×¥é¥¤¥ºŽ¥¥¢¥×¥ê¥±¡¼¥·¥ç¥ó(EAR)¤´¤È¤Ë£±¤Ä¤º¤ÄÀìÍѤ˳ä¤ê¿¶¤é¤ì¤ë¥¯¥é¥¹¥í¡¼¥À¡£
¡¡³ÆEARÆâ¤Ë´Þ¤Þ¤ì¤ëejb-jar¤ä¥æ¡¼¥Æ¥£¥ê¥Æ¥£-jarÆâ¤Î¥¯¥é¥¹¤¬¥í¡¼¥ÉÂоݡ£

¡½WAR¥¯¥é¥¹¥í¡¼¥À
¡¡¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë´Þ¤Þ¤ì¤ëWAR¥â¥¸¥å¡¼¥ë¡Ê¡áWeb¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡ËËè¤Ë£±¤Ä¤º¤Ä³ä¤êÅö¤Æ¤é¤ì¤ë¡£
¡¡³ÆWAR¥â¥¸¥å¡¼¥ëÆâ¤ÎWEB-INF/classes°Ê²¼¤äWEB-INF/lib/*.jarÆâ¤Î¥¯¥é¥¹¤¬¥í¡¼¥ÉÂоݡ£

¢£¥¯¥é¥¹¥í¡¼¥ÀŽ¥¥Ç¥ê¥²¡¼¥·¥ç¥óŽ¥¥â¥Ç¥ë
¡¡¥¯¥é¥¹¥í¡¼¥À¤Ï¡¢É¬Íפ˱þ¤¸¤Æ¡¢¼«Ê¬¼«¿È¤Ç¥í¡¼¥É¤»¤º¤Ë¡¢¿Æ¥¯¥é¥¹¥í¡¼¥À¤Ë¥¯¥é¥¹¤Î¥í¡¼¥É¤ò°Ñ¾ù(¥Ç¥ê¥²¡¼¥È)¤¹¤ë¡£
¡¡Î㤨¤Ð¡¢
¡¡¥·¥¹¥Æ¥àŽ¥¥¯¥é¥¹¥í¡¼¥À¤¬¤¢¤ë¥¯¥é¥¹¤ò¥í¡¼¥É¤¹¤ëɬÍפ¬¤¢¤Ã¤¿¤È¤¹¤ë¡£
¡¡¤³¤Î»þ¡¢
¡¡¥·¥¹¥Æ¥àŽ¥¥¯¥é¥¹¥í¡¼¥À¤Ï¡¢¼«Ê¬¤Î¥í¡¼¥«¥ë¥¯¥é¥¹¥Ñ¥¹Æâ¡¢¤¹¤Ê¤ï¤Á´Ä¶­ÊÑ¿ôCLASSPATHÆâ¤òõ¤¹Á°¤Ë¡¢ºÇ½é¤Ë¿Æ¤Ç¤¢¤ë¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥óŽ¥¥¯¥é¥¹¥í¡¼¥À¤Ë¥¯¥é¥¹¤ò¥í¡¼¥É¤ò°ÍÍꤹ¤ë¡£
¡¡Æ±¤¸¤è¤¦¤Ë¡¢
¡¡¥¨¥¯¥¹¥Æ¥ó¥·¥ç¥óŽ¥¥¯¥é¥¹¥í¡¼¥À¤â¡¢¤Þ¤º¿Æ¤Ç¤¢¤ë¥Ö¡¼¥ÈŽ¥¥¹¥È¥é¥Ã¥×Ž¥¥¯¥é¥¹¥í¡¼¥À¤Ë¥¯¥é¥¹¤Î¥í¡¼¥É¤ò¥Ç¥ê¥²¡¼¥È¤¹¤ë¡£
¡¡¿Æ¥¯¥é¥¹¥í¡¼¥À¤Ç¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¤½¤³¤Ç½ªÎ»¡£
¡¡¿Æ¥¯¥é¥¹¥í¡¼¥À¤Ç¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ê¤Ã¤Æ¡¢½é¤á¤Æ»Ò¶¡¤Ï¼«Ê¬¤Î¥í¡¼¥«¥ë¥¯¥é¥¹¥Ñ¥¹Æâ¤òõ¤·¤Ë¤¤¤­¡¢¥¯¥é¥¹¤ò¥í¡¼¥É¤·¤è¤¦¤È¤¹¤ë¡£
¡¡
¡¡¢¨Ãí¡§¥Ç¥ê¥²¡¼¥È¥â¥Ç¥ë¤Ï¡¢»Ò¶¡¤¬¿Æ¤Ë°ÍÍꤷ¤Æ¤â¡¢¿Æ¤¬»Ò¶¡¤Ë°ÍÍꤹ¤ë¤³¤È¤Ï¤Ê¤¤¡£

¢£¥¯¥é¥¹¤È¥¯¥é¥¹¥í¡¼¥À¤Î´Ø·¸¤Ë´Ø¤¹¤ë¥ë¡¼¥ë

¢¢¥ë¡¼¥ë­¡ ¥¯¥é¥¹¥í¡¼¥É¤ÎºÝ¡¢»ÈÍѤµ¤ì¤ë¥¯¥é¥¹¥í¡¼¥À¤Î·èÄêÊýË¡
¡¡¥¯¥é¥¹A¤ÎÆâÉô¤Ç¥¯¥é¥¹B¤ò»ÈÍѤ¹¤ë¥±¡¼¥¹¡£
¡¡¥¯¥é¥¹A¤ò¥í¡¼¥É¤·¤¿¥¯¥é¥¹¥í¡¼¥À[CL-A]¤¬µ¯ÅÀ¤È¤Ê¤ê¡¢¥¯¥é¥¹B¤ò¥í¡¼¥É¤¹¤ë¡£
¡¡¤³¤Î»þ¡¢¥Ç¥ê¥²¡¼¥·¥ç¥ó¥â¥Ç¥ë¤Ç¡¢CL-A¤Î¿Æ¥¯¥é¥¹¥í¡¼¥À¤Ë¤Ï¥Ç¥ê¥²¡¼¥·¥ç¥ó¤¹¤ë¤¬¡¢
¡¡CL-A¤Î»Ò¶¡¤Ë¤Ï¥Ç¥ê¥²¡¼¥·¥ç¥ó¤·¤Ê¤¤¡£
¡¡
¡¡------------------------------
¡¡package com.example.web;
¡¡public class InWeb {//»Ò³¬ÁؤΥ¯¥é¥¹
¡¡}
¡¡------------------------------
¡¡package com.example.ejb;
¡¡...
¡¡public class InEJB {//¿Æ³¬ÁؤΥ¯¥é¥¹
¡¡¡¡private InWeb inWeb = new InWeb();//»Ò³¬ÁؤΥ¯¥é¥¹¤Î¸Æ¤Ó½Ð¤·
¡¡}
¡¡------------------------------
¡¡package com.example.web;
¡¡...¡Êά¡Ë...
¡¡import com.example.ejb.InEJB;
¡¡
¡¡public class ClassLoaderTestServlet extends HttpServlet {
¡¡
¡¡ protected void service(HttpServletRequest req, HttpServletResponse res)
¡¡ ¡¡¡¡throws ServletException, IOException {
¡¡
¡¡¡¡System.out.println("inWeb : " + new InWeb()); // (1)
¡¡¡¡System.out.println("inEJB : " + new InEJB()); // (2)
¡¡¡¡}
¡¡}
¡¡------------------------------
¡¡¤ò¼Â¹Ô¤¹¤ë¤È
¡¡------------------------------
¡¡inWeb: com.example.web.InWeb@3e25a5
¡¡¥µ¡¼¥Ö¥ì¥Ã¥È ClassLoaderTestServlet ¤Ç service() ¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤»¤Þ¤»¤ó¤Ç¤·¤¿¡£
¡¡¥¹¥í¡¼¤µ¤ì¤¿Îã³°: java.lang.NoClassDefFoundError: com/example/web/InWeb
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ at com.example.ejb.InEJB.(InEJB.java:10)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ at com.example.web.ClassLoaderTestServlet.service(ClassLoaderTestServlet.java:20)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ...¡Êά¡Ë
¡¡------------------------------
¡¡ClassLoaderTestServlet¤Î(2)¤ÇÍî¤Á¤Æ¤¤¤ë¡£
¡¡¥¯¥é¥¹InWeb¤Ï¸«¤ì¤Æ¤ë¤¬¡¢¥¯¥é¥¹InEjb¤Ï¸«¤ì¤Æ¤Ê¤¤¡£
¡¡
¡¡¥¯¥é¥¹ClassLoaderTestServlet¤¬¥¯¥é¥¹InWeb¤ò»ÈÍѤ¹¤ë¤È¤­¤Ï¡¢
¡¡¥¯¥é¥¹ClassLoaderTestServlet¤ò¥í¡¼¥É¤·¤¿¥¯¥é¥¹¥í¡¼¥À¡¢
¡¡¤¹¤Ê¤ï¤ÁWAR¥¯¥é¥¹¥í¡¼¥À(»Ò¥¯¥é¥¹¥í¡¼¥À)¤¬¡¢¥¯¥é¥¹InWeb¤òõ¤·¤Ë¹Ô¤¯¡£
¡¡ÌäÂê¤Ê¤·¡£
¡¡
¡¡¥¯¥é¥¹ClassLoaderTestServlet¤¬¥¯¥é¥¹InEjb¤ò»ÈÍѤ¹¤ë¤È¤­¤Ï¡¢
¡¡¥¯¥é¥¹ClassLoaderTestServlet¤ò¥í¡¼¥É¤·¤¿¥¯¥é¥¹¥í¡¼¥À¡¢
¡¡¤¹¤Ê¤ï¤ÁWAR¥¯¥é¥¹¥í¡¼¥À¤¬¡¢¥¯¥é¥¹InEjb¤òõ¤·¤Ë¹Ô¤¯¡£
¡¡¤¬¡¢¼ÂºÝ¤Ï¡¢
¡¡¥Ç¥ê¥²¡¼¥·¥ç¥ó¥â¥Ç¥ë¤Ç¡¢¥¯¥é¥¹InEjb¤ò¥í¡¼¥É¤¹¤ë¤Î¤Ï
¡¡¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥í¡¼¥À(¿Æ¥¯¥é¥¹¥í¡¼¥À)¡£
¡¡¢¨µ¯ÅÀ¥¯¥é¥¹¥í¡¼¥À¤¬WAR¥¯¥é¥¹¥í¡¼¥À(»Ò)¤«¤éAP¥¯¥é¥¹¥í¡¼¥À(¿Æ)¤ËÊѤï¤Ã¤Æ¤¤¤ë¡£
¡¡ÌäÂê¤Ê¤·¡£
¡¡
¡¡¤µ¤Æ¡¢InEjb¤ÎÃæ¿È¡£
¡¡¥¯¥é¥¹InEjb¤¬¥¯¥é¥¹InWeb¤ò»ÈÍѤ¹¤ë»þ¤Ï¡¢¥¯¥é¥¹InEjb¤ò¥í¡¼¥É¤·¤¿
¡¡¥¯¥é¥¹¥í¡¼¥À(µ¯ÅÀ¥¯¥é¥¹¥í¡¼¥À)¡¢¤¹¤Ê¤ï¤Á¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¯¥é¥¹¥í¡¼¥À(¿Æ)¤¬¡¢
¡¡¥¯¥é¥¹InWeb(»Ò³¬ÁؤΥ¯¥é¥¹)¤òõ¤·¤Ë¹Ô¤¯¡£
¡¡¤¬¡¢
¡¡¥¯¥é¥¹InWeb¤ÏWAR¥¯¥é¥¹¥í¡¼¥À(»Ò)¤Ë¤¤¤ë¤Î¤Ç¡¢¿Æ¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¯¥é¥¹¥í¡¼¥À¤Ï
¡¡¸«¤Ä¤±¤é¤ì¤º¤Ë¡¢NoClassDefFoundError¤È¤Ê¤Ã¤Æ¤Þ¤¦¡£
¡¡
¡¡¤¢¤ë¥¯¥é¥¹¤¬¡¢²¼°Ì¥¯¥é¥¹¥í¡¼¥ÀÇÛ²¼¤·¤«Â¸ºß¤·¤Ê¤¤¥¯¥é¥¹¤Ë°Í¸¤·¤Æ¤¤¤ë¹½À®¤¬£Î£Ç¡ª
¡¡


ref:
http://www-06.ibm.com/jp/software/websphere/developer/j2ee/strategy/1.html

XSD:ÆÈ¼«¥Ç¡¼¥¿·¿

¢¢¥´¡¼¥ë
<'order>
<'orderItem>
<'id>4-8443-1780-6<'/id>
<'quantity>3<'/quantity>
<'/orderItem>
<'/order>
¡¡¡ÝidÍ×ÁÇ¡§
¡¡¡¡¡¡[¿ô»ú1¸Ä]+[-]+[¿ô»ú4¸Ä]+[-]+[¿ô»ú4¸Ä]+[-][¿ô»ú1¸Ä]·Á¼°¤ÎɽÉÊÈÖ¹æ

¢¢ºîÀ®
<'xsd:simpleType name="idType">¡Ý­¡
<'xsd:restriction base="xsd:string">¡Ý­¢
<'xsd:pattern value="d{1}-d{4}-d{4}-d{1}"/>¡Ý­£
<'/xsd:restriction>¡Ý­¤
<'/xsd:simpleType>¡Ý­¥

¡¡­¡¡§¿·µ¬¥Ç¡¼¥¿·¿¤ÎÀë¸À[xsd:simpleType]
¡¡¡¡ ´û¸¤Î¥Ç¡¼¥¿·¿(simpleType)¤Ë°ìÄê¤ÎÀ©¸Â¤ò²Ã¤¨¤Æ¿·¤·¤¤¥Ç¡¼¥¿·¿¤òºîÀ®¤¹¤ë¡£
¡¡­¢¡§À©¸Â»ØÄê[xsd:restriction]
¡¡¡¡¡¡¥Ù¡¼¥¹¤È¤Ê¤ë¥Ç¡¼¥¿·¿¤ò»ØÄꤹ¤ë¡£
¡¡­£¡§·Á¼°»ØÄê(patternÍ×ÁÇ)
¡¡¡¡¡¡·Á¼°¤òÀµµ¬É½¸½¤Ç»ØÄꤹ¤ë¡£
¡¡­¤¡§½ªÎ»¥¿¥°
¡¡­¥¡§½ªÎ»¥¿¥°
¡¡
¢¢»ÈÍÑ
1 :<'?xml version="1.0"?>
2 :<'xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3 :
4 : <'xsd:element name="order">
5 : <'xsd:complexType>
6 : <'xsd:sequence>
7 : <'xsd:element ref="orderItem" maxOccurs="10"/>
8 : <'/xsd:sequence>
9 : <'/xsd:complexType>
10: <'/xsd:element>
11:
12: <'xsd:element name="orderItem">
13: <'xsd:complexType>
14: <'xsd:sequence>
15: <'xsd:element name="id" type="idType"/>
16: <'xsd:element name="quantity" type="xsd:integer"/>
17: <'/xsd:sequence>
18: <'/xsd:complexType>
19: <'/xsd:element>
20:
21: <'xsd:simpleType name="idType">
22: <'xsd:restriction base="xsd:string">
23: <'xsd:pattern value="d{1}-d{4}-d{4}-d{1}"/>
24: <'/xsd:restriction>
25: <'/xsd:simpleType>
26:
27:<'/xsd:schema>

¢¢ºîÀ®£²
¡¡¥»¥ì¥¯¥È¥Ü¥Ã¥¯¥¹Åª¤Ê¤ä¤Ä
¡¡
<'xsd:simpleType name="idType">¡Ý­¡
<'xsd:restriction base="xsd:string">¡Ý­¢
<'xsd:enumeration value="4-8443-1780-6"/>¡Ý­£
<'xsd:enumeration value="4-7741-1751-1"/>
<'xsd:enumeration value="4-7741-1684-1"/>
<'/xsd:restriction>
<'/xsd:simpleType>

¡¡­¢[xsd:enumeration]¡§»ØÄê²Äǽ¤ÊÍ×ÁǤλØÄê

¢¢ºîÀ®£³
¡¡ÈϰÏÉÕ¤­¿ôÃÍ

<'xsd:simpleType name="quantityType">
<'xsd:restriction base="xsd:integer">
<'xsd:minInclusive value="1"/>
<'xsd:maxInclusive value="10"/>
<'/xsd:restriction>
<'/xsd:simpleType>

¢¢ÈϰϻØÄê¤Î°À­
¡¡¡Ýmin/maxInclusive¡§
¡¡¡¡¶­³¦ÃÍ´Þ¤à²Ã¸º/¾å¸Â¡Êmin<'=x<'=max¡Ë
¡¡¡Ýmin/maxExclusive¡§
¡¡¡¡¶­³¦Ãʹޤޤʤ¤²Ã¸º/¾å¸Â¡Êmin<'x<'max¡Ë

¢£¥¨¥È¥»¥È¥é¤Ê¥ª¥×¥·¥ç¥ó
¡Ý[use°À­]ɬ¿ÜÀ­
¡¡¡¦required¡§É¬¿Ü°À­
¡¡¡¦optional¡§Ç¤°Õ°À­
¡¡¡¦prohibited¡§¶Ø»ß°À­
¡¡¡Ýex
¡¡¡¡<'xsd:attribute name="id" type="idType" use="required"/>

¡Ý[default°À­]¥Ç¥Õ¥©¥ë¥ÈÃÍ
¡¡¡Ýex
¡¡¡¡<'xsd:attribute name="quantity" type="xsd:integer" default="1"/>

¡Ý[xsd:attributeGroupÍ×ÁÇ]°À­¤Î¥°¥ë¡¼¥×²½

1 : <'xsd:element name="orderItem">
2 : <'xsd:complexType>
3 : <'xsd:sequence><'/xsd:sequence>
4 : <'xsd:attributeGroup ref="orderItemAttributes"/>
5 : <'/xsd:complexType>
6 : <'/xsd:element>
7 :
8 : <'xsd:attributeGroup name="orderItemAttributes">
9 : <'xsd:attribute name="id" type="idType" use="required"/>
10: <'xsd:attribute name="quantity" type="xsd:integer" default="1"/>
11: <'/xsd:attributeGroup>

ref:
http://www.atmarkit.co.jp/fxml/rensai2/schema06/schema06_1.html

XSD:´ðËܥǡ¼¥¿·¿

boolean¡§¿¿µ¶
¡¡¡¡¡¡¡¡ true¡¢false¡¢1¡¢0
base64Binary¡§Base64¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥Ð¥¤¥Ê¥êÃÍ
¡¡¡¡¡¡¡¡¡¡¡¡¡¡GpM7
hexBinary¡§16¿Ê¿ô
¡¡¡¡¡¡¡¡¡¡ 0FB7
float¡§Ã±ÀºÅÙ32¥Ó¥Ã¥ÈÉâÆ°¾®¿ô
¡¡¡¡¡¡ -INF¡¢-1E4¡¢-0¡¢0¡¢12.78E-2¡¢12¡¢INF¡¢NaN
double¡§ÇÜÀºÅÙ64¥Ó¥Ã¥ÈÉâÆ°¾®¿ô
¡¡¡¡¡¡¡¡-INF¡¢-1E4¡¢-0¡¢0¡¢12.78E-2¡¢12¡¢INF¡¢NaN
decimal¡§10¿Ê¿ô
¡¡¡¡¡¡¡¡ -1.23¡¢0¡¢123.4¡¢1000.00
integer¡§À°¿ô
¡¡¡¡¡¡¡¡ -126789¡¢-1¡¢0¡¢1¡¢126789
nonPositiveInteger¡§0°Ê²¼¤ÎÀ°¿ô
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡-126789¡¢-1¡¢0
negativeInteger¡§0̤Ëþ¤ÎÀ°¿ô
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ -126789¡¢-1
long¡§-9223372036854775808¤«¤é9223372036854775807¤Þ¤Ç¤ÎÀ°¿ô
¡¡¡¡¡¡-1¡¢12678967543233
int¡§-2147483648¤«¤é2147483647¤Þ¤Ç¤ÎÀ°¿ô
¡¡¡¡ -1¡¢126789675
short¡§-32768¤«¤é32767¤Þ¤Ç¤ÎÀ°¿ô
¡¡¡¡¡¡ -1¡¢12678
byte¡§-128¤«¤é127¤Þ¤Ç¤ÎÀ°¿ô
¡¡¡¡¡¡-1¡¢126
nonNegativeInteger¡§0°Ê¾å¤ÎÀ°¿ô
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡0¡¢1¡¢126789
unsignedLong¡§0¤«¤é18446744073709551615¤Þ¤Ç¤ÎÀ°¿ô
¡¡¡¡¡¡¡¡¡¡¡¡¡¡0¡¢12678967543233
unsignedInt¡§0¤«¤é4294967295¤Þ¤Ç¤ÎÀ°¿ô
¡¡¡¡¡¡¡¡¡¡¡¡ 0¡¢1267896754
unsignedShort¡§0¤«¤é65535¤Þ¤Ç¤ÎÀ°¿ô
¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 0¡¢12678
unsignedByte¡§0¤«¤é255¤Þ¤Ç¤ÎÀ°¿ô
¡¡¡¡¡¡¡¡¡¡¡¡¡¡0¡¢126
positiveInteger¡§1°Ê¾å¤ÎÀ°¿ô
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 1¡¢126789

duration¡§¤¢¤ë°ìÄê¤Î´ü´Ö
¡¡¡¡¡¡¡¡¡¡P1Y2M3DT10H30M12.3S¡Ê1ǯ2¥«·î3Æü10»þ´Ö30ʬ12.3ÉáË
dateTime¡§ÆÃÄê¤ÎÆü»þ
¡¡¡¡¡¡¡¡¡¡1999-05-31T13:20:00.000-05:00¡ÊÀ¤³¦»þ´Ö¡ÊUTC¡Ë¤«¤é5»þ´ÖÃÙ¤ì¤ÎÅìÉôɸ½à»þ¤Ë¤ª¤±¤ë1999ǯ5·î31Æü¸á¸å1»þ20ʬ¡Ë
time¡§»þ¹ï
¡¡¡¡¡¡13:20:00.000-05:00¡ÊÀ¤³¦»þ´Ö¡ÊUTC¡Ë¤«¤é5»þ´ÖÃÙ¤ì¤ÎÅìÉôɸ½à»þ¤Ë¤ª¤±¤ë¸á¸å1»þ20ʬ¡Ë
date¡§ÆüÉÕ
¡¡¡¡¡¡1999-05-31¡Ê1999ǯ5·î31Æü¡Ë
gYearMonth¡§¥°¥ì¥´¥ê¥¢¥óÎñ¤Îǯ·î
¡¡¡¡¡¡¡¡¡¡¡¡1999-02¡Ê1999ǯ2·î¡Ë
gYear¡§¥°¥ì¥´¥ê¥¢¥óÎñ¤Îǯ
¡¡¡¡¡¡ 1999¡Ê1999ǯ¡Ë
gMonthDay¡§¥°¥ì¥´¥ê¥¢¥óÎñ¤Î·îÆü
¡¡¡¡¡¡¡¡¡¡ --05-31¡Ê5·î31Æü¡Ë
gMonth¡§¥°¥ì¥´¥ê¥¢¥óÎñ¤Î·î
¡¡¡¡¡¡¡¡--05--¡Ê5·î¡Ë
gDay¡§¥°¥ì¥´¥ê¥¢¥óÎñ¤ÎÆü
¡¡¡¡¡¡---31¡Ê31Æü¡Ë

string¡§Ê¸»úÎó
¡¡¡¡¡¡¡¡Confirm this is electric.Again ,confirm it.
normalizedString¡§²þ¹Ôʸ»ú¡¢¥¿¥Öʸ»ú¤ò´Þ¤Þ¤Ê¤¤Ê¸»úÎó
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Confirm this is electric
token¡§²þ¹Ô¡¢ÀèÆ¬¡¦ËöÈø¤Î¶õÇò¡¢¤ª¤è¤Ó2¤Ä°Ê¾åϢ³¤·¤¿¶õÇò¤ò´Þ¤Þ¤Ê¤¤Ê¸»úÎó
¡¡¡¡¡¡ Confirm this is electric
language¡§xml:lang°À­¤ÎÃͤȤ·¤ÆÍ­¸ú¤Ê¤â¤Î¡ÊXML 1.0¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡Ë
¡¡¡¡¡¡¡¡¡¡en-GB¡¢en-US¡¢fr
Name¡§XML 1.0 Name·¿¡£Í×ÁǤä°À­¤Î̾Á°¤Ë»ÈÍѲÄǽ¤Ê·Á¼°¤Îʸ»úÎó¤Ç¡¢ÀèÆ¬¤È2ʸ»úÌܰʹߤ˻ÈÍѤǤ­¤ëʸ»ú¤¬µ¬Äꤵ¤ì¤¿Ê¸»úÎó¡£
¡¡¡¡¡¡shipTo
QName¡§XML Namespace ¤ÎQName¡£Ì¾Á°¶õ´ÖURI¤È¥í¡¼¥«¥ë̾¤ÎÁȤ«¤é¤Ê¤ë¡£
¡¡¡¡¡¡ po:USAddress
NCName¡§XML Namespace¤Î NCName¡£QName¤è¤êÀÜÆ¬¼­¤È¥³¥í¥ó¤ò¼è¤ê½ü¤¤¤¿¤â¤Î¡£
¡¡¡¡¡¡¡¡USAddress
anyURI¡§URI¤Î·Á¼°¤ò¤·¤¿Ê¸»úÎó
¡¡¡¡¡¡¡¡http ://www.example.com/doc.html#ID5

ID¡§DTD¤ÎID·¿
IDREF¡§DTD¤ÎIDREF·¿
IDREFS¡§DTD¤ÎIDREFS·¿
ENTITY¡§DTD¤ÎENTITY·¿
ENTITIES¡§DTD¤ÎENTITIES·¿
NMTOKEN¡§DTD¤ÎNMTOKEN·¿
NMTOKENS¡§DTD¤ÎNMTOKENS·¿
NOTATION¡§DTD¤ÎNOTATION·¿

ref:
http://www.atmarkit.co.jp/fxml/rensai2/schema04/schema04.html
http://www.w3.org/TR/xmlschema-2/#built-in-datatypes

INTRO TO XSD

¢£XML Schema
¡¡¥¹¥­¡¼¥Þ¸À¸ì
¡¡¤É¤ÎÍ×ÁǤ¬¤É¤Î°À­¤ò»ý¤Æ¤ë¤« Åù¤ÎXML¤ÎÌÚ¹½Â¤¤Î¥ë¡¼¥ëÄêµÁ
¡¡¤ò¤¹¤ë¸À¸ì
¡¡
¡¡XMLʸ½ñ¤ò²òÀϤ·¥Ç¡¼¥¿¤òÆÉ¤ß¼è¤ë¥×¥í¥°¥é¥à¤¬XML¥Ñ¡¼¥µ
¡¡É¬Íפʥǡ¼¥¿¤¬XMLʸ½ñ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¤«³Îǧ¤¹¤ë¤Î¤âXML¥Ñ¡¼¥µ
¡¡
¡¡DTD(Document Type Definition)¤âXML¤Î¥¹¥­¡¼¥Þ¸À¸ì
¡¡¸Å¤¯¤Æ¥·¥ó¥×¥ë
¡¡µ¡Ç½ÉÔ­¤È¤Ê¤Ã¤¿DTD¤ËÂå¤ï¤Ã¤ÆÅо줷¤¿¤Î¤¬XML Schema
¡¡
¡¡Í×ÁÇ¤ÎÆâÍÆ¤ò»ØÄê¤Îʸ»úÎó¤Ë¸ÂÄê
¡¡Í×ÁÇ¿ô¤Î¸ÂÄê
¡¡ÅùºÙÉô¤Þ¤Ç»ØÄê²Äǽ

¢£Ã±½ãSchema
<'greeting>Hello World!!<'/greeting>
¡¡¡Ý¥ë¡¼¥ÈÍ×ÁÇ¤Ï greeting
¡¡¡ÝgreetingÍ×ÁǤϰÀ­¤ò»ý¤¿¤Ê¤¤
¡¡¡ÝgreetingÍ×ÁÇ¤ÎÆâÍÆ¤Ïʸ»úÎó
¡¡¡ÝgreetingÍ×ÁǤϻÒÍ×ÁǤò»ý¤¿¤Ê¤¤
¡¡¢­
<'?xml version="1.0"?>¡Ý­¡
<'xsd:schema xmlns:xsd=""http ://www.w3.org/2001/XMLSchema">¡Ý­¢
¡¡<'xsd:element name="greeting" type="xsd:string"/>¡Ý­£
<'/xsd:schema>¡Ý­¤
¡¡­¡¡§XMLÀë¸À
¡¡­¢¡§¥ë¡¼¥ÈÍ×ÁÇ[xsd:schema]
¡¡¡¡¡¡xsd¡§XML Schema¤Î̾Á°¶õ´Ö¡Ê̾Á°¶õ´ÖÀèÆ¬¼­¡Ë
¡¡¡¡¡¡xsd:schema: XML Schema¤ÎschemaÍ×ÁÇ
¡¡¡¡¡¡xmlns: ̾Á°¶õ´ÖÀë¸À¤Î³«»Ï
¡¡¡¡¡¡http...: ¼±ÊÌ»Ò(̾Á°¶õ´ÖURI)
¡¡¡¡¡¡xmlns:xsd="..": ̾Á°¶õ´ÖÀë¸À
¡¡¡¡¡¡Í×ÁÇ̾¤ÎÀèÆ¬¤Ëxsd:¤È¤¢¤Ã¤¿¤é http...XMLSchema¤ÇÄêµÁ¤µ¤ì¤¿Í×ÁǤǤ¢¤ë¤³¤È¤ò¼¨¤¹¡£
¡¡­£¡§Í×ÁÇÍ×ÁÇ[element]
¡¡¡¡¡¡xsd: ̾Á°¶õ´ÖÀÜÆ¬¼­
¡¡¡¡¡¡name: Í×ÁÇ̾¤ò»ØÄꤹ¤ë°À­
¡¡¡¡¡¡greeting: Í×ÁÇ̾
¡¡¡¡¡¡type: Í×ÁǤι½Â¤¤ò»ØÄꤹ¤ë°À­
¡¡¡¡¡¡xsd:string: »Ò¶¡Í×ÁÇ¡¦Â°À­¤Ê¤·¤ÇÆâÍÆ¤ÏXMLSchema¤ÇÄêµÁ¤·¤Æ¤¤¤ëstring·¿(ʸ»úÎó)
¡¡­¤¡§schemaÍ×ÁǤνªÎ»¥¿¥°

¢£Æþ¤ì»ÒSchema
<'customer>
<'name>¤Û¤²»Ò<'/name>
<'address>ÅìµþÅÔ<'/address>
<'/customer>
¡¡¡ÝcustomerÍ×ÁÇ¡§
¡¡¡¡¡¡¡¦¥ë¡¼¥ÈÍ×ÁÇ
¡¡¡¡¡¡¡¦Â°À­Ìµ¤·
¡¡¡¡¡¡¡¦»ÒÍ×ÁǤÏname¤Èaddress
¡¡¡¡¡¡¡¦»ÒÍ×Áǽи½½ç½ø¤Ïname¤Î¸å¤Ëaddress
¡¡¡Ýname/addressÍ×ÁÇ¡§
¡¡¡¡¡¡¡¦»ÒÍ×ÁǤʤ·
¡¡¡¡¡¡¡¦Â°À­¤Ê¤·
¡¡¡¡¡¡¡¦ÆâÍÆ¤Ïʸ»úÎó

1 : <'?xml version="1.0"?>
2 : <'xsd:schema xmlns:xsd=""http ://www.w3.org/2001/XMLSchema">
3 : <'xsd:element name="customer">
4 : <'xsd:complexType>
5 : <'xsd:sequence>
6 : <'xsd:element name="name" type="xsd:string"/><'!--»ÒÍ×ÁÇ­¡-->
7 : <'xsd:element name="address" type="xsd:string" /><'!--»ÒÍ×ÁÇ­¢-->
8 : <'/xsd:sequence>
9 : <'/xsd:complexType>
10: <'/xsd:element>
11: <'/xsd:schema>

¢£Ã±½ã·¿¡õÊ£»¨·¿
¡¡Í×ÁǤ¬»ÒÍ×ÁÇ¡¦Â°À­¤ò»ý¤Ä¤«¤òȽÄꤹ¤ë¥Ç¡¼¥¿·¿¡£
¡¡¡ÝÊ£»¨·¿¡§
¡¡¡¡»ÒÍ×ÁǤޤ¿¤Ï°À­¤ò»ý¤ÄÍ×ÁǤΥǡ¼¥¿·¿
¡¡¡Ýñ½ã·¿¡§
¡¡¡¡»ÒÍ×ÁǤª¤è¤Ó°À­¤ò»ý¤¿¤Ê¤¤Í×ÁǤΥǡ¼¥¿·¿
¡¡¡¡¤¢¤ë¤¤¤Ï°À­ÃͤΥǡ¼¥¿·¿

¡¡Í×ÁǤÏÊ£»¨·¿¤«Ã±½ã·¿¤«¤Ë¤è¤Ã¤Æ¡¢Àë¸ÀÊýË¡¤¬°Û¤Ê¤ë¡£

¢¢Ê£»¨·¿
¡¡L3: name°À­¤ÎÃÍ¤Ë¤Ï Í×ÁÇ̾¡Öcustomer¡×¤ò»ØÄê¡£
¡¡L4: Ê£»¨·¿¤ÎÍ×ÁǤòÀë¸À¤¹¤ëºÝ¤Î¥Ç¡¼¥¿·¿[xsd:complexType]
¡¡L5: »ÒÍ×ÁǤνи½½ç½ø¤Î»ØÄê[xsd:sequence]
¡¡¡¡¡¡name¡¢address¤Î½çÈÖ¤ÇÀë¸À¤¹¤ë¤³¤È¤ò»ØÄê¡£
¡¡L6: »ÒÍ×ÁǤÎÀë¸À[xsd:element]
¡¡ ñ½ã·¿¤Ê¤Î¤Ç ÉáÄ̤Ëtype°À­»ØÄꤷ¤Æ½ª¤ï¤ê¡£
¡¡ Ê£»¨·¿¤Î¾ì¹ç¤Ï ²¼ÁؤË[xsd:complexType]¤Ç³¤±¤ë¡£
¡¡
¢£ref°À­¤ÇÍ×ÁÇ»²¾È
¡¡[xsd:element ref="Í×ÁÇ̾"]¤Ç»²¾È²Äǽ¡£
1 : <'?xml version="1.0"?>
2 : <'xsd:schema xmlns:xsd=""http ://www.w3.org/2001/XMLSchema">
3 :
4 : <'xsd:element name="customer">
5 : <'xsd:complexType>
6 : <'xsd:sequence>
7 : <'xsd:element name="name" type="xsd:string"/>
8 : <'!-- address Í×ÁǤ˻ÒÍ×ÁǤòÄɲ乤롡-->
9 : <'xsd:element name="address">
10: <'xsd:complexType>
11: <'xsd:sequence>
12: <'xsd:element name="prefecture" type="xsd:string"/>
13: <'xsd:element name="city" type="xsd:string" />
14: <'xsd:element name="street" type="xsd:string" />
15: <'/xsd:sequence>
16: <'/xsd:complexType>
17: <'/xsd:element>
18: <'!-- ¤³¤³¤Þ¤Ç -->
19: <'/xsd:sequence>
20: <'/xsd:complexType>
21: <'/xsd:element>
22:
23:<'/xsd:schema>

¾å¤È²¼¤ÏƱ¤¸¤³¤È¡£

1 : <'?xml version="1.0"?>
2 : <'xsd:schema xmlns:xsd=""http ://www.w3.org/2001/XMLSchema">
3 :
4 : <'xsd:element name="customer">
5 : <'xsd:complexType>
6 : <'xsd:sequence>
7 : <'xsd:element name="name" type="xsd:string"/>
8 : <'xsd:element ref="address"/>
9 : <'/xsd:sequence>
10: <'/xsd:complexType>
11: <'/xsd:element>
12:
13: <'xsd:element name="address">
14: <'xsd:complexType>
15: <'xsd:sequence>
16: <'xsd:element name="prefecture" type="xsd:string"/>
17: <'xsd:element name="city" type="xsd:string" />
18: <'xsd:element name="street" type="xsd:string" />
19: <'/xsd:sequence>
20: <'/xsd:complexType>
21: <'/xsd:element>
22:
23: <'/xsd:schema>

¢£Í×ÁǰÀ­¤ÎÀë¸À
¡¡[xsd:attribute]¤ÇÍ×ÁǰÀ­¤ò»ØÄê¡£

<'customer hoge="hogege" piyo="piyoyo">
<'name>¤Û¤²»Ò<'/name>
<'address>ÅìµþÅÔ<'/address>
<'/customer>
¡¡¡ÝcustomerÍ×ÁÇ
¡¡¡¡¡¡¡¦¥ë¡¼¥ÈÍ×ÁÇ
¡¡¡¡¡¡¡¦hoge°À­¡¢piyo°À­¤¢¤ê
¡¡¡¡¡¡¡¦»ÒÍ×ÁǤÏname¤Èaddress
¡¡¡¡¡¡¡¦»ÒÍ×Áǽи½½ç½ø¤Ïname¤Î¸å¤Ëaddress
¡¡¢­
1: <'?xml version="1.0"?>
2: <'xsd:schema xmlns:xsd=""http ://www.w3.org/2001/XMLSchema">
3:
4: <'xsd:element name="customer">
5: <'xsd:complexType>
6: <'xsd:sequence>
7: <'xsd:element name="name" type="xsd:string"/>
8: <'xsd:element name="address" type="xsd:string" />
9: <'/xsd:sequence>
10: <'!-- °À­¤òÄɲ乤ë -->
11: <'xsd:attribute name="hoge" type="xsd:string"/>
12: <'xsd:attribute name="piyo" type="xsd:string"/>
13: <'/xsd:complexType>
14: <'/xsd:element>
15:
16: <'/xsd:schema>

¢£maxOccurs°À­
¡¡·«¤êÊÖ¤·½Ð¸½¤¹¤ëÍ×ÁǤκÇ¿½Ð¸½¿ô¤ò»ØÄꤹ¤ë°À­
<'order>
<'orderItem>¤³¤É¤â­¡<'/orderItem>
<'orderItem>¤³¤É¤â­¢<'/orderItem>
<'/order>
¡¡¡ÝorderÍ×ÁÇ¡§
¡¡¡¡¡¡¡¦Ê£»¨·¿
¡¡¡¡¡¡¡¦¥ë¡¼¥ÈÍ×ÁÇ
¡¡¡¡¡¡¡¦Ê£¿ô½Ð¸½¤¹¤ë»ÒÍ×ÁǤ¢¤ê¡Ê10¸Ä°Ê²¼¡Ë
¡¡¡ÝorderItemÍ×ÁÇ¡§
¡¡¡¡¡¡¡¦Ã±½ã·¿
¡¡¡¡¡¡¡¦ÆâÍÆ¤Ïʸ»úÎó
¡¡¢­
1 :<'?xml version="1.0"?>
2 :<'xsd:schema xmlns:xsd="http ://www.w3.org/2001/XMLSchema">
3 :
4 : <'xsd:element name="order">
5 : <'xsd:complexType>
6 : <'xsd:sequence>
7 : <'xsd:element name="orderItem" type="xsd:string" maxOccurs="10"/>
8 : <'/xsd:sequence>
9 : <'/xsd:complexType>
10: <'/xsd:element>
11:
12:<'/xsd:schema>

¡¡¢¨[maxOccurs="unbounded"]¡á£±¸Ä°Ê¾å¤Î¾å¸Â̵¤·

¢£minOccurs°À­
¡¡·«¤êÊÖ¤·½Ð¸½¤¹¤ëÍ×ÁǤκǾ¯½Ð¸½¿ô¤ò»ØÄꤹ¤ë°À­
¡¡0°Ê¾å¤ò»ØÄê²Äǽ

¢£choiceÍ×ÁÇ
¡¡¤¤¤º¤ì¤«¤òÁªÂò¤µ¤»¤ë°À­

1 :<'?xml version="1.0"?>
2 :<'xsd:schema xmlns:xsd="http ://www.w3.org/2001/XMLSchema">
3 :
4 : <'xsd:element name="order">
5 : <'xsd:complexType>
6 : <'xsd:sequence>
7 : <'xsd:element ref="orderItem" maxOccurs="10"/>
8 : <'/xsd:sequence>
9 : <'/xsd:complexType>
10: <'/xsd:element>
11:
12: <'xsd:element name="orderItem">
13: <'xsd:complexType>
14: <'xsd:sequence>
15: <'xsd:choice>
16: <'xsd:element name="name" type="xsd:string"/>
17: <'xsd:element name="id" type="xsd:string"/>
18: <'/xsd:choice>
19: <'xsd:element name="quantity" type="xsd:string" minOccurs="0"/>
20: <'/xsd:sequence>
21: <'/xsd:complexType>
22: <'/xsd:element>
23:
24:<'/xsd:schema>

ref:
http ://www.atmarkit.co.jp/fxml/rensai2/schema01/schema01.html

Top|Next »

HOME

07 | 2008/08 | 09
Æü ·î ²Ð ¿å ÌÚ ¶â ÅÚ
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 - - - - - -

QR

name:
mail:
title:
body:

N/A