EMF�́uEclipse Modeling Framework�v�Ƃ������Ă��āA�Ȃ�
�ߊ�肪�������݂ł�����܂��B
�Ȃ̂ŁA�����Ɛe���݂₷�����O�����������Ǝv���܂��B
EMF�Ƃ�
�u���r���[��XML�G�f�B�^��������������d�g�݁v
�Ȃ̂ł��B
EMF�ł�Modeling�̖��̒ʂ�A���f���𑀍�Ώۂɂ��Ă��܂��B
EMF�ɂ����郂�f���Ƃ́AEcore�Ƃ���Eclipse��MOF�����d�l�ɏ]������`�t�@�C��
�ŋL�q���ꂽ���f����`�ɏ]�����u�����v�ł��B
�����������ƁAEMF�I���W�i����XML�t�@�C���ɂȂ�܂��B
EMF�ł�Ecore���`���邽�߂̕��@�Ƃ���5�̕��@����Ă��܂��B
�EEcore�G�f�B�^�ŃS���S������ (�����Ȃ����@�ł�)
�EJava�C���^�t�F�[�X�ŏ��� (�����x�X�g�̕��@�ł�)
�EOmondo Eclipse UML�v���O�C���ŏ��� (�l�I�ɂ͍D���łȂ����@�ł�)
�EXMLSchema�ŏ��� (�قڂ�������Ɩ�����ŗǂ��킩��܂���)
�ERational Rose�ŏ��� (�����Ď肪�o�܂���)
Ecore�G�f�B�^�������Ƀo�O���Ă�̂��ƂĂ������ڂł���
�܂��AEcore�G�f�B�^��Java�ŃS���S�������̂��Ó��Ȃ����ł��傤�B
Ecore��`��p�̋L�q������IBM Alphaworks�ōl�����Ă����肵�܂��B
�����́A���̒���XMLSchema�Œ�`����Ƃ����_�ɒ��ڂ��܂��B
XMLSchema�Œ�`�����X�L�[�}�̃C���X�^���X�́A���RXML�C���X�^���X�ɂȂ�܂��B
(EMF�ł�Ecore�𒆌p���Ă���̂������C�ɂȂ�܂����AEMF���t�@�C���ɗ��Ƃ����i�K��
XMI(XML)�ɂȂ�̂ŁA����������Ƒf���ɂ�����������܂���B)
�ł́A�����̃e�[�}��
�Estruts-config�G�f�B�^��������������
�Ƃ������ƂŁB
1.struts-config��XMLSchema�����
�����Ȃ���܋C���������̂́Astruts-config��DTD�Œ�`����Ă��邱�Ƃł����B
�Ȃ̂ŁATrang���g����DTD -> XMLSchema�ƕϊ����܂��B
Struts DTD�t�@�C��
http://struts.apache.org/dtds/struts-config_1_3.dtd
Trang
http://thaiopensource.com/relaxng/trang.html
2.XMLSchema����Ecore�����
������t�@�C����struts-config_1_3.xsd�Ƃ��ēK���ȂƂ���ɕۑ����Ă����܂��B
Eclipse���N�����A
New -> Eclipse Modeling Framework -> EMF Project
��I�����܂��B
(�v���W�F�N�g���͓K���ɁB)
�����
�ELoad from an XML Schema
�ELoad from an EMF core model
�ELoad from an Rose class model
�ECreate Empty Project
��I�ׁA�ƌ�����̂ŁA�������ƂȂ�XMLSchema��I�����܂��B
�����āABrowse File System���N���b�N���A�쐬����Struts�̃X�L�[�}��I�����܂��B
�ȏ��Ecore���f���쐬�͊����ł��B
�����I�Ƀv���W�F�N�g���쐬����A�v���W�F�N�g�̒���
�EStrutsConfig13.ecore
�EStrutsConfig13.genmodel
����������Ă��܂��B
3.�G�f�B�^��������������
�������ꂽStrutsConfig13.genmodel���J���܂��B
�c���[�\���Ő����������f�������邱�Ƃ��o���܂��B
�܂��A���g�͌��Ȃ��Ă�OK�ł��B
�G�f�B�^�̐�����
�E�N���b�N->Generate All �ȏ�!
�����
xxx.edit
xxx.editor
�v���W�F�N�g���o���܂��B
���̓�́AEclipse�v���O�C���Ƃ��ē��삵�܂��B
4.����m�F
�����^�C�����[�N�x���`���N�������������B
�N�����
New -> Example EMF Creation Wizard -> StrutsConfig13 Model
��I�����܂��B
�t�@�C�����͓K����(�������A�g���q��strutsconfig13�łȂ��Ɠ{���܂�)
���[�g���f����I�ׂƌ�����̂�
strutsconfig
��I�����āA�����R�[�h�͓K���ɑI���OK�������܂��B
�Ȃ��c���[�`���̃G�f�B�^���J�������Ǝv���܂��B
����ŁAstruts-config�G�f�B�^�̊����ł��B
5.�g���Ă݂�
�c���[���������āA�K���ɕҏW���Č��܂��B
�K���Ɏq�G�������g��lj����܂��傤�B
���̏�Ԃŕۑ�����ƁA�ۑ������t�@�C���̒��g�͂ǂ��Ȃ��Ă���ł��傤�B
����Ȋ����̃t�@�C���ɂȂ��Ă��܂����B
�Ȃ�struts-config�`�b�N�ł��B
���̃G�f�B�^�̂�����Ƃ��ꂵ���Ƃ���́A�E�N���b�NValidation��
�쐬����XML�̃o���f�[�V�������o����Ƃ���ł��B
���߂��ɓK���ɍ�������f�����`�F�b�N���Č��܂��B
�Ȃ��F�X�{���܂����B���炵���B
���āA���̃G�f�B�^�[�͊����̃t�@�C����ҏW���邱�Ƃ��o���܂��B
���߂���
http://www.h7.dion.ne.jp/~matsu/feature/struts/basic/struts-config.html
�ɏ�����Ă���struts-config��ǂݍ��܂��Č��܂����B
�Ȃ����܂����ƕ\�����Ă���ۂ��I�I
6.�I����
struts-config�̃X�L�[�}����G�f�B�^�������������邱�Ƃ��o���܂����B
���������G�f�B�^�͕��ʂ�XML�Ƃ��ċL�q�����t�@�C�����ǂݍ���/�ҏW�\�ł��B
�������A�A�A�������̖����c���Ă��܂��B�c���Ă���̂ł��I
�������̃v���p�e�B��������ƁA�ˑR�u�G���[�ł��v�ƌ���
�t�@�C������strutsconfig13�Ƃ����̂͂����ĂȂ�
CodeZine�ɓ��e���悤�Ƃ����̂ɁA�\�[�X����s�������Ă��Ȃ�
���������A�l��Struts�Ȃ�ĐG�������Ƃ��Ȃ�
�����������ꂽ�G�f�B�^������������
�܂��A�ڂ��Ԃ��Ă��������A�Ƃ������ƂŁB
����͗�Ƃ���Struts���ނɂ��܂������A�v���W�F�N�g�����ŗ��p����
XML�t�@�C���Ƃ��ł�����g�����炢���̂���Ȃ����ƁB
XML�C���X�^���X����XMLSchema�����c�[�����������C������̂�
�܂��ɃG�f�B�^���������Ƃ��������ɂȂ�܂��B
���Ƃ́AEMF���f���̓v���O�����ł̑���ɗD��Ă���̂�
����XML�o�C���f�B���O�c�[���Ƃ��ėD�G�Ȃ�Ȃ����Ǝv���܂��B
XML->EMF�I�u�W�F�N�g->�F�XJava�ő���->XML�݂����Ȃ��Ƃ��]�T�ł��B
�y�֘A����L���z