XML�֘A�K�i�̒��ł��AXSLT�͔�r�I���������i1999�N11��16���j��W3C�����ƂȂ����K�i�ł��B���̗��R�́A�قȂ�f�[�^�t�H�[�}�b�g�i���Ȃ킿�X�L�[�}�j���g����ƊԂŃf�[�^����������ꍇ�ȂǁAXSLT���g����XML�f�[�^�̍\���ϊ�������K�v����������������ł��B�ł́AXSLT�Ƃ͉����Ȃ̂ł��傤���B�܂��AXSLT�́A�ǂ̂悤�ɏ�������悢�̂ł��傤���B���̋L���́AXSLT�̏����������S�҂̕��ɂ����g�݂₷��������܂��B
XML�����R�ɕϊ�����XSLT
�@XML�̓f�[�^�̘_���I�ȍ\�����L�q���邽�߂̌���ł�����AXML�ɂ���ċL�q���ꂽXML�����i�ȉ�XML�f�[�^�j�ɂ́A���ꂪ�ǂ�ȑ̍ق�Web�u���E�U�⎆�Ȃǂɕ\�������ׂ������w�����郌�C�A�E�g���i�X�^�C�����j�͊܂܂�Ă��܂���B���̂��߁A����XML�f�[�^��\�����邽�߂ɂ́A
- XML�f�[�^�̍\�����A�iWeb�u���E�U�Ȃǂ́j�t�H�[�}�b�^���t����I�u�W�F�N�g�ւƁA�\���ϊ����鏈��
- �i�����̑傫����F�Ȃǂ́j�X�^�C���t�������鏈��
��2���K�v�ł��B�����āA1.��XML�f�[�^�̍\���ϊ����w�肷�镔�����A�Ɨ������K�i�Ƃ��Ď��o�����̂�XSLT�iExtensible Stylesheet Language Transformations�j�ł��BXSLT�ɂ́A�ϐ�����A�J��Ԃ�������t�������Ȃǂ��܂��܂ȃv���O���~���O�@�\�����荞�܂�Ă��āA���G�ȃf�[�^�ϊ������ɂ��Ή��ł���悤�v����Ă��܂��B
�@XSLT��������AXML�f�[�^�̃f�[�^�\����ϊ�������@�\�́A����XML�f�[�^����A�ʂ̃t�H�[�}�b�g��XML�f�[�^��HTML�f�[�^�A�����ăe�L�X�g��CSV�Ƃ�������XML�f�[�^�ւ̕ϊ����������Ă��܂��B���̂��߁AXML�f�[�^��Web�\���̂��߂�HTML�֕ϊ�������A�Г��f�[�^�x�[�X��̃f�[�^��d�q������f�[�^�ł���XML�`���ɕϊ����邽�߂́A�ėp�R���o�[�W�����c�[���Ƃ��Ē��ڂ���Ă��܂��B
XML��HTML�ɕϊ����Ă݂悤
�@XSLT�ɂ��ϊ������̋L�q���AXSLT�̐��E�ł́u�X�^�C���V�[�g�v�Ƃ����܂��BXSLT�X�^�C���V�[�g�̋L�q�ɏ]����XML�f�[�^�̍\���ϊ����s��XSLT�̏����v���O�����́A�uXSLT�v���Z�b�T�v�ƌĂт܂��B�ȉ��A�L�����Łu�X�^�C���V�[�g�v�ƋL�q�����ꍇ�́A���ɒf��Ȃ�����XSLT�̃X�^�C���V�[�g���w���܂��B
���F�u�X�^�C���V�[�g�v�Ƃ������̂́AHTML�ł悭���p�����CSS�iCascading Style Sheet�j�̃X�^�C���V�[�g���v�������ׂ�����������낤�B�������AXSLT�̃X�^�C���V�[�g��CSS�̃X�^�C���V�[�g�́A���p�ł��閽�߂╶�@�͂܂������قȂ�ʕ����B
�@���̋L���ł́A���ꂩ��XML�f�[�^��Web�u���E�U�ŕ\�����邽�߂ɁAXML�f�[�^����HTML�f�[�^�ւ̕ϊ����@���Љ�A�X�^�C���V�[�g�̊�{�I�ȏ�������������܂��B����XSLT�X�^�C���V�[�g�̓����́A�}�C�N���\�t�g��Internet Explorer�iIE�j�Ŏ��ۂɎ������Ƃ��ł��܂��B
���F����̃T���v�������ɂ́AXSLT�̍ŐV�d�l���T�|�[�g���郂�W���[���uMSXML3.0�v ���C���X�g�[�����ėL���ɂ���K�v������܂��B�ڍׂ́A�}�C�N���\�t�g�̃T�C�g��MSXML3.0�̃y�[�W���������������B
�@XSLT�ł́A�X�^�C���V�[�g���̂�XML�̃^�O���g���ď����܂��B�܂��AXSLT�̖��O��Ԃɑ�����v�f���AXSLT�̖��߂Ƃ��Ďg�p���܂��B�܂��́AXSLT�̖��O��Ԃɑ�����ȉ���4�̗v�f���g���āAXML��HTML�ɕϊ�����X�^�C���V�[�g�̗���Љ�܂��傤�B
xsl:stylesheet | |
xsl:template | |
xsl:apply-templates | |
xsl:value-of |
�@����̗�ł́A���̂悤��XML�f�[�^��Web�u���E�U�ŕ\�������邱�Ƃ��l���܂��B
<?xml version="1.0" encoding="shift_jis"?> <article> <title>XSLT����</title> <paragraph>���̋L����XSLT�ɂ��ė������Ă����������Ƃ�ړI�Ƃ������̂ł��B</paragraph> </article>
�@���̂��߂ɁA���̂悤��HTML�f�[�^�ɕϊ����܂��B
<html> <h1>XSLT����</h1> <p>���̋L����XSLT�ɂ��ė������Ă����������Ƃ�ړI�Ƃ������̂ł��B</p> </html>
�@���̕ϊ����AXSLT�̃X�^�C���V�[�g�łǂ̂悤�ɋL�q�ł��邩�A����ǂ��Đ������܂��傤�B
�X�^�C���V�[�g�̊�{�I�ȏ�����
���X�^�C���V�[�g�̖`���ɂ�XML�錾������
�@XSLT�̃X�^�C���V�[�g��XML�f�[�^�ł�����AXML�錾��t���܂��BUTF-8��UTF-16�ȊO�̕����R�[�h���g���ꍇ�ɂ́A�����R�[�h��encoding�����Ŏw�肵�Ă����܂��B
<?xml version="1.0" encoding="shift_jis"?>
��xsl:stylesheet�v�f
�@����́A�X�^�C���V�[�g�S�̂��J�n����i�͂ށj���̂ł��B���̖��߂Ŏw�肷��̂́AXSLT�̃o�[�W������XSLT�̖��O��Ԃ̎g�p�錾�ł��B
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > �c�c </xsl:stylesheet>
�@version="1.0"��XSLT�̃o�[�W�������w�肵�������ŁAxmlns:xsl=�`���AXSLT�̖��O��Ԃ��w�肵�������ł��B"http://www.w3.org/1999/XSL/Transform"�́AW3C�ɂ����XSLT�Ɋ��蓖�Ă�ꂽURI�ł���A�����ł͂����\�����O��Ԑړ����Ƃ���xsl���g�����Ƃɂ��Ă��܂��B��ʂɁAXSLT�̖��O��Ԑړ����Ƃ��Ă�xsl���g���܂��̂ŁAxsl:stylesheet�Axsl:template�Axsl:apply-templates�Axsl:value-of�ȂǂƂ������v�f�ɂȂ�܂��B
���e���v���[�g�̎w��
�@XML�f�[�^�̍\���ϊ����L�q����Ƃ������Ƃ́A
- �^����ꂽXML�f�[�^�̂ǂ̃m�[�h���A�ϊ����Ƃ���̂�
- �ϊ����XML�f�[�^�ɁA�ǂ�ȃm�[�h���E�t������̂�
�@����2���w�肷�邱�Ƃł��B�����āA���̎w����s���̂��e���v���[�g���[���itemplate rule�j�ŁAXSLT�ł�xsl:template�v�f�ŕ\�����܂��B
�@1.�̎w��̓p�^�[���ipattern�j�ƌĂ�Amatch�����Ŏw�肵�܂��i�m�[�h�̎w���XPath���@�ɏ]���܂��BXPath�ɂ��Ă͎���������܂��j�B
�@2.�̎w��̓e���v���[�g�itemplate�j�ƌĂ�Axsl:template�^�O�ŋ��܂ꂽ������XML�\���Ƃ��ĕ\�����܂��B���L�̂悤�ɂȂ�킯�ł��B
<xsl:template match=�ϊ������w�肷��p�^�[�� > �c�c�ϊ���Ő��������XML�\���̃e���v���[�g�c�c </xsl:template>
�@�Ⴆ�A����͕ϊ����ɂȂ�XML�f�[�^��paragraph�v�f�ɑ��āAHTML��p�v�f�����܂����A����͎��̂悤�ɏ����܂��B
<xsl:template match="paragraph" > <p></p> </xsl:template>
��������̃R�s�[
�@�����p�v�f�͂ł��܂����A���̂܂܂ł�p�v�f����ƂȂ��Ă��܂��Ӗ�������܂���Bp�v�f�̒��ɂ�paragraph�v�f�̒��̕�������R�s�[����K�v������̂ł��B���̂悤�Ȓl���w�肷�邽�߂�xsl:value-of�v�f���p�ӂ���Ă��܂��B
<xsl:template match="paragraph" > <p><xsl:value-of select="." /></p> </xsl:template>
�@xsl:value-of�v�f��select�����Łg.�h�i�h�b�g�j�Ə�����Ă��܂����A����́u���݂̗v�f�̕�����l�v�Ƃ����Ӗ��ɂȂ�܂��B
�@���l�ɕϊ�����XML�f�[�^��title�v�f���o�������Ƃ��ɕϊ����XML�f�[�^��h1�v�f���E�t������ꍇ�ɂ́A���̂悤�ɋL�q���܂��B
<xsl:template match="title" > <h1><xsl:value-of select="." /></h1> </xsl:template>
���\���̃R���g���[��
�@XML�́A�v�f�̊K�w�Ńf�[�^���\������Ă��܂��B�e���v���[�g���[���́A�ϊ���XML�f�[�^�̗v�f���ƂɌʂɎw�肵�܂����A�ϊ���ƂȂ�XML�f�[�^�i��������HTML�f�[�^�j�ɂ��\�����������Ȃ���Ȃ�܂���B������R���g���[������̂�xsl:apply-templates�v�f�ł��B
<xsl:template match="article" > <html><xsl:apply-templates /></html> </xsl:template>
�@���̃e���v���[�g�ł́Aarticle�v�f�ɑ���html�v�f�������Ă��܂����A���̒���<xsl:apply-templates />�́Aarticle�v�f�̎q�v�f�ł���title�v�f�Aparagraph�v�f��ʂ̏ꏊ�ɂ���xsl:template�v�f���g���ĕϊ���փ}�b�s���O���������ʂ�<html></html>�̊Ԃɖ��ߍ��ނƂ������̂ł��B
�����[�g�m�[�h
�@�Ō��XSLT�����̃X�^�[�g�n�_�ƂȂ���ʂȃm�[�h��������܂��傤�Bmatch�����̒l�Ƃ��āg/�h�i�X���b�V���j�Ə������[�g�m�[�h������ł��BXPath�̐����ŏq�ׂ܂����AXSLT/XPath�̃f�[�^���f���ł́AXML�̍ŏ�ʗv�f�̂���ɏ�Ƀ��[�g�m�[�h������ƍl���A����ɑ���XSLT���������s���邱�Ƃɂ���č\���ϊ����J�n���܂��B����́A�P��article�v�f�ւƏ������Ȃ��悢�̂ŁA���̂悤�ɋL�q���܂��B
<xsl:template match="/" > <xsl:apply-templates /> </xsl:template>
�@<xsl:apply-templates />�̕����ɁA���[�g�m�[�h�̎q�ǂ��ł���article�v�f�̃}�b�s���O���ʂ�����܂��B
�@�������܂Ƃ߂āA����XSLT�X�^�C���V�[�g���o���オ��܂����B
<?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>
IE�ŕ\�������Ă݂悤�I
�@IE 5�ȏ�ł́AXSLT�X�^�C���V�[�g��XML�f�[�^�ɓK�p�����邱�Ƃɂ���ĕϊ����HTML��\�������邱�Ƃ��ł��܂��B��قǍ����XSLT�X�^�C���V�[�g��article-view.xsl�Ƃ����t�@�C���ŕۑ������ꍇ�A�ȉ���xml-stylesheet�������߂��g���Ă��̃t�@�C����href�̐�Ɏw�肵�܂��B
<?xml version="1.0" encoding="Shift_JIS" ?> <?xml-stylesheet href="article-view.xsl" type="text/xsl" ?> <article> <title>XSLT����</title> <paragraph>���̋L����XSLT�ɂ��ė������Ă����������Ƃ�ړI�Ƃ������̂ł��B</paragraph> </article>
�@type�̐�ɂ̓X�^�C���V�[�g�̎�ނ�\��MIME�^�C�v�������܂��B�K�i���XSLT���utext/xml�v�Ƃ���MIME�^�C�v�ŕ\�������̂ł����A�}�C�N���\�t�g��XML�p�[�T�ł���MSXML3.0�ł́A�utext/xsl�v�Ə����Ȃ����XSLT�̃X�^�C���V�[�g��K�p���Ă���܂���B���̓_�ɂ͒��ӂ��K�v�ł��B
�@IE 5�ł̕\�����ʂ��ȉ��Ɏ����܂��B
�@���āA�����Ő��������X�^�C���V�[�g�̊�{�I�ȏ��������܂Ƃ߂�ƁA���̂Ƃ���ɂȂ�܂��B
- �܂��X�^�C���V�[�g�̖`����XML�錾�����܂��B
- �����āA�X�^�C���V�[�g�v�f<xsl:stylesheet >�`</xsl:stylesheet>�őS�̂��݂͂܂��B
- ���[�g�m�[�h���珇�ɕϊ����čs���܂��B�ϊ��̎d���́Axsl:template�v�f�ŕ\�����e���v���[�g���[���Ƃ����A�ϊ����邽�߂̂ЂȌ^���g���Ďw�肵�܂��B
�@XSLT�X�^�C���V�[�g�̑�܂��ȃC���[�W�����߂��ł��傤���H ����́A�ϊ���XML�f�[�^���̏����Ώۃm�[�h���w�肷�邽�߂̌���XPath�ɂ��ĉ�����܂��B
�{�L���́A���{���j�e�b�N���s��XML�e�N�m���W�[������uDigital Xpress�v�Ɍf�ڂ��ꂽ�AXSLT���W�uXSLT�̎��͂�T��I�v��1���3��̓��e�����ƂɁA���M�C���������̂ł��B
Copyright © ITmedia, Inc. All Rights Reserved.