PICSRules Specification�i�a��j (original) (raw)

���̃h�L�������g�� W3C�̃����o�[�₻�̑��̑g�D�ɂ���ă��r���[����A�����ɂ���� W3C�����Ƃ��� �̏��F���󂯂��B����͊m�肵���h�L�������g�ł���A�Q�l�����Ƃ��ė��p���ꂽ��A���̃h�L�������g ����K�͓I�ȎQ�l�Ƃ��Ĉ��p�����ꍇ������B�������쐬�����ł� W3C�̖����́A�d�l�ւ̊֐S���� ���‚��A���ꂪ�L���̗p����邱�Ƃ𑣐i���邱�Ƃł���B����ɂ��A�E�F�u�̋@�\���⑊�݉^�p���� ���������B

�v��

���̃h�L�������g�ł́AURL ���������PICS���x���Ɋ�Â��Ă����� URL�ւ̃A�N�Z�X�̋��‚�u���b �N���s���t�B���^�����O���[���ł���A�v���t�@�C���L�q�̂��߂̌�����`����B���̌���͓`���t�H �[�}�b�g���Ӑ}�������̂ł���B�‚܂�A���ꂼ��̎����ɂ����Ă͂��̌���ł��̎d�l�̓ǂݏ������� �\�łȂ���΂Ȃ�Ȃ����A�����I�ɂ͂��̃t�H�[�}�b�g���g�p����K�v�͂Ȃ��B

�T�_

���ʃv���t�@�C���d�l����̖ړI�́A�ȉ��̒ʂ�ł���B

���̌���́A�Q�‚̊�����PICS�d�l��⑫����B�����́A���C�e�B���O�T�[�r�X�L�q�̂��߂̃}�V���� �ݎ��”\�ȃt�H�[�}�b�g��񋟂��邱�ƂƁA���x���t�H�[�}�b�g�Ƃ����z�z����R�‚̕��@��񋟂� �邱�Ƃł���B����PICSRules ���[���ł́A�g�p����PICS���C�e�B���O�T�[�r�X�A���x����₢���킹�� ���߂�PICS���x���r���[���A�����Ď󂯕t���邩���ۂ��邩�̌�����s�����߂ɕK�v�ȃR���e���c�̃� �x���Ɋւ������`���邱�Ƃ��ł���BPICSRules �ɂ�DSig�f�W�^�������̏ƍ�����������\������ �܂�Ă��Ȃ����APICSRules ���ꂪ�����ƍ��ɓK�����邽�߂ɕK�v�Ȋg�����ǂ̕����ɑg�ݍ��ނ��Ɋւ� �āA�����҂ɑ΂���q���g�͒񋟂���Ă���B

��`

���̎d�l�ł́A�X�̕K�v�����̏d�v�����`���邽�߂ɁARFC1123�kRFC1123�l�Ɠ����P����g�p����B ���̒P��͈ȉ��̒ʂ�ł���B

MUST�i�`���Ȃ���΂Ȃ�Ȃ��j

���̒P��܂��͌`�e���grequired�i�K�{�ł���j�h�́A���̍��ڂ��d�l�ɂƂ��Đ�ΕK�v�����ł��邱�� ���Ӗ�����B

SHOULD�i�`����ׂ��ł���j

���̒P��܂��͌`�e���grecommended(���������j�h�́A����̏󋵂ł͂��̍��ڂ𖳎�����悤�Ȃ��� ���܂ȗ��R�����邩������Ȃ����A���̏ꍇ�ɂ͓��e�����S�ɗ������āA���Ӑ[���������邱�Ƃ��K�v�� ����B

MAY �i�`���Ă��悢�j

���̒P��܂��͌`�e���goptional�i�I�v�V�����ł���j�h�́A���̍��ڂ��S���C�ӂł��邱�Ƃ��Ӗ����� ����B�Ⴆ�΁A�x���_�[�ɂ���Ă͓���̎s�ꂪ���̍��ڂ�K�v�Ƃ��邩��A���邢�͐��i���������邩 ��Ƃ������R�ł�����������邩������Ȃ����A�ʂ̃x���_�[�͓������ڂ��ȗ����邩������Ȃ��B

��������v���g�R����MUST�̕K�v�������ЂƂ‚ł��������Ă��Ȃ��ꍇ�́A���̎����͎d�l�ɑΉ����Ă� ��Ƃ͂����Ȃ��B���ׂĂ�MUST������SHOULD�����𖞂����Ă���ꍇ�́A���̎����́u�������Ɏd�l�ɑ� �����Ă���v�Ƃ�����BMUST�����͂��ׂĖ������Ă��邪�ASHOULD���������ׂĖ������Ă͂��Ȃ����� �́A�u�����t���Ŏd�l�ɑΉ����Ă���v�Ƃ�����BPICSRules ���������郆�[�U�G�[�W�F���g�́AMUST�� ���̂ǂꂩ�𖞂����Ă��Ȃ��\���̂��߂�

�ǂ̉��߂�I�����邩

�͑S�����R�ł���B

���̃h�L�������g�ł́A�ǎ҂�PICS-1.1�̒m���������Ă��邱�Ƃ�O��Ƃ��Ă���B�����ŏq�ׂ��邷 �ׂẴ��x���́APICS-1.1�Ή����x���̂��Ƃł���B�ڍׂɂ‚��ẮA�Q�l�����kPicsService�l�� �kPicsLabels�l���Q�� ���邱�ƁB

PICSRules ����F��

��P�F����URL �ւ̃A�N�Z�X�̋֎~

 1 (PicsRule-1.1  

 2     (

 3     Policy (RejectByURL ("http://@www.grody.com:/*" 

                            "http://@www.gross.net:/*"))

 4     Policy (AcceptIf "otherwise")

 5     )

 6 )

���[�̔ԍ��͎Q�Ƃ̂��߂̍s�ԍ��ł���A���ۂ̃��[���ɂ͊܂܂�Ȃ��B

���̗�́APICS���x�����g�p���邱�ƂȂ������ URL�Z�b�g�ւ̃A�N�Z�X���֎~������̂ł���B�z�X�g www.grody.com �܂���www.gross.net ���w�肷�邷�ׂĂ� URL�́A���[�U���A�|�[�g�ԍ��AURL �Ŏw�肳 �ꂽ����̃t�@�C���p�X�Ɋւ�炸�u���b�N�����B���̑��� URL�ɂ̓A�N�Z�X�”\�ł���B

��Q�FPICS���x���Ɋ�Â����A�N�Z�X�̋֎~

 1 (PicsRule-1.1

 2     (

 3     serviceinfo (

 4         "http://www.coolness.org/ratings/V1.html"

 5         shortname "Cool"

 6         bureauURL "http://labelbureau.coolness.org/Ratings"

 7         UseEmbedded "N"

 8         )

 9     Policy (RejectIf "((Cool.Coolness <= 3) or (Cool.Graphics >= 3))")

10     Policy (AcceptIf "otherwise")

11     ) 

12 )

���̃��[���́A"Cool"���C�e�B���O�T�[�r�X("http://www.coolness.org/ratings/V1.html")�ɂ��������� �h�L�������g�ɗ^����ꂽ���C�e�B���O���`�F�b�N����B���x���̓��x���r���[�� "http://labelbureau.coolness.org/Ratings" ����擾�����B�h�L�������g�̍쐬�҂ɂ��ނ玩�g�� coolness�̕]�����M���ł��Ȃ����߁A�h�L�������g�ɖ��ߍ��܂ꂽ���x���͖��������B�[����cool�ł� ���A���邢�͉摜����������h�L�������g�̓u���b�N�����B���x���t������Ă��Ȃ��h�L�������g���� �ނ��̑��̂��̂͂��ׂăA�N�Z�X�”\�ł���B

��R�FPICS���x���Ɋ�Â����A�N�Z�X�̋��F���̑��̂��̂����ׂău���b�N����

 1 (PicsRule-1.1

 2     (

 3     ServiceInfo (

 4         name "http://www.coolness.org/ratings/V1.html"

 5         shortname "Cool"

 6         bureauURL "http://labelbureau.coolness.org/Ratings"

 7         )

 8     Policy (RejectUnless "(Cool.Coolness)")

 9     Policy (AcceptIf "((Cool.Coolness > 3) and (Cool.Graphics < 3))")

10     Policy (RejectIf "otherwise")

11     ) 

12 )

���̃��[�����܂��A"Cool"���C�e�B���O�T�[�r�X�ɂ��������ăh�L�������g�ɗ^����ꂽ���C�e�B���O�� �`�F�b�N����B���̏ꍇ�́AUseEmbedded���w�肳��Ă��Ȃ����߁A���x���r���[�����炵��Ƃ������� �x�������łȂ����ߍ��܂ꂽ���x�����g�p����B�W�s�ڂ́A"Cool"���C�e�B���O�V�X�e��("http://www.coolness.org")��"Coolness"�X �P�[����̃��C�e�B���O�������Ă��Ȃ���΁A�h�L�������g�̓u���b�N�����Ƃ����Ӗ��ł���B�X�s�� �́A�[����"Cool"�ŁA�摜���������Ȃ��h�L�������g�͒ʉ߂��邱�Ƃ��Ӗ�����B10�s�ڂ́A����ȊO�� �h�L�������g�͂��ׂău���b�N����邱�Ƃ��Ӗ�����B

��S�F��蕡�G�ȗ�

 1 (PicsRule-1.1

 2     (

 3         name    (rulename "Example 4"

 4                  description "Example 4 from PICSRules spec; simply shows 

                                 how PICSRules rules are formed. This rule is 

                                 not actually intended for use by real users.") 

 5         source (sourceURL 

                      "http://www1.raleigh.ibm.com/pics/PICSRulz/Example1.html")

 6         ServiceInfo (name "http://www.coolness.org/ratings/V1.html"

 7                      shortname "Cool"

 8                      bureauURL "http://labelbureau.coolness.org/Ratings")

 9         ServiceInfo ("http://www.kid-protectors.org/ratingsv01.html"

10                      shortname "KP")

11         Policy (RejectByURL ("http://@www.badnews.com:/*" 

                                "http://@www.worsenews.com:/*"

                                "://@18.0.0.0!8:/"))

12         Policy (AcceptByURL "http://rated-g.org/movies")

13         Policy (AcceptIf "(KP.educational = 1)" 

                    Explanation "Always allow educational content.")

14         Policy (RejectIf "(KP.violence >= 3)" 

                    Explanation "Blood's a %22scary%22 thing.")

15         Policy (RejectUnless "(Cool.Graphics < 4)" )

16         Policy (AcceptIf "otherwise")

17     )

18 )

��̐���

�s�ԍ�

����

1

���̍\���� PICSRules���[���Ƃ��Ē�`���A�o�[�W�����ԍ���t����B

3

���̃��[���ɁA�Ȍ��Ől�Ԃɓǂ߂�`���̖��O��t����B���̖��O����ӂł���K�v�͂Ȃ��B����͉� �炩�̃��[�U�C���^�[�t�F�[�X�Ń��[���������ꍇ�ɁA���[�U�̋L����⏕������̂ł���B

4

���̃��[���ɁA��蒷���A�l�Ԃɓǂ߂�`���̐�����������B����͂��̃��[���̈Ӗ���������邽�� �̂��̂ł���A���炩�̃��[�U�C���^�[�t�F�[�X�Ń��[���������ꍇ�ɁA���[�U����������̂ł�����B

5

�u���[���̏o���v����肷��B����URL�́A���[���̍쐬�ҁA�쐬���R�A�X�V�̉”\���ȂǁA���̃��[�� �Ɋւ���������ƒE�F�u�y�[�W���������߂̂��̂ł���B

6-8

���C�e�B���O�T�[�r�X "http://www.coolness.org/ratings/V1.html" �� Cool �Ƃ��� shortname �� ��`���A���x�����擾���邽�߂̃��x���r���[�������ʂ���B

9-10

���C�e�B���O�T�[�r�X "http://www.kid-protectors.org/ratingsb01.html" �� KP �Ƃ���shortname ���`����B���̃T�[�r�X�ɂ̓��x���r���[���͒�`����Ă��炸�A���ߍ��܂ꂽ���x���݂̂��g�p�� ���B

11

www.badnews.com�����www.worsenews.com�z�X�g����̂��ׂĂ� HTTP URL �ƁA�擪��8�r�b�g�� IP�A �h���X 18�����ƒz�X�g�i������ mit.edu �ɑΉ�����A�h���X�ł���j���w�肷�邷�ׂĂ�URL�����ۂ� ��B

12

�h���C������ rated-g.org �ŏI���A�p�X���� "movies" �ł���URL���󂯕t���邪�A����̓��[�U�� ��|�[�g�ԍ����w�肳��Ă��Ȃ��ꍇ�Ɍ�����B�Ⴆ�΁A "http://www.mystuff.rated-g.org/movies/hello"�͎󂯕t�����邪�A "http://joe@www.mystuff.rated-g.org/movies/hello"�� "http://www.mystuff.rated-g.org:8009/movies/hello"�́A���\[�������̂��̎��\_�ł͎󂯕t������ ���B�i����炪��ɑ����|���V�[�X�e�[�g�����g�ɂ���Ď󂯕t������ꍇ�����邩������Ȃ��B�j

13

�i��ɒ�`���ꂽ�jKP���C�e�B���O�T�[�r�X�� educational �̃��C�e�B���O��1�ł���h�L�������g�� ���‚���邱�Ƃ��w�肷��B���̃��C�e�B���O�V�X�e���ł̃��C�e�B���O�������Ȃ��h�L�������g�A���� ���͂P�ȊO�̃��C�e�B���O�����ƒh�L�������g�́A�ȍ~�̃��[���ɏ]���Ē��ׂ���B

14

�i��ɒ�`���ꂽ�j**KP**���C�e�B���O�T�[�r�X�� violence �̃��C�e�B���O��3�ȏ�̃h�L�������g�̓u ���b�N����邱�Ƃ��`����B����ɂ̓��[�U�G�[�W�F���g�����[�U�ɕ\�����邽�߂̐��������‚��Ă� ��B�f�R�[�h����� Blood's a "scary" thing �ƂȂ�B���̃��C�e�B���O�V�X�e���ł̃��C�e�B���O���� ���Ȃ��h�L�������g�A���邢��3�����̃��C�e�B���O�����ƒh�L�������g�́A�ȍ~�̃��[���ɏ]���Ē��ׂ� ���B

15

�i��ɒ�`���ꂽ�j**Cool**���C�e�B���O�T�[�r�X�� Graphics �̃��C�e�B���O��3�ȏ�̃h�L�������g�� �u���b�N����邱�Ƃ��`����BCool�V�X�e���ł̃��C�e�B���O�������Ȃ��h�L�������g�A���邢�̓��C �e�B���O��Graphics�̃J�e�S���[���܂܂�Ȃ��h�L�������g�̓u���b�N�����BGraphics�̃��C�e�B���O ��3�����̃h�L�������g�́A�ȍ~�̃��[���ɏ]���Ē��ׂ���B

16

��L�̃t�B���^�[���[���Ƀp�X���Ȃ������A���邢�̓u���b�N���ꂽ�h�L�������g�̓p�X���邱�Ƃ�� �`����B

���̃��[�����܂Ƃ߂�Ǝ��̂悤�ɂȂ�B

  1. 2�‚̃T�C�g����̂��̂����ۂ���B�����łȂ���΁Arated-g.org�h���C������̂��̑��̓���̂��� �͎󂯕t����B
  2. ����I�ȃy�[�W�́A���̒��ɖ\�͂�D�܂����Ȃ����e���܂܂�Ă��邩�ǂ����Ɋւ�炸���‚����B
  3. �����̖\�͂��������y�[�W�́A����炪����I�łȂ���΃u���b�N�����B
  4. ����I�y�[�W�ȊO�́A�摜����������y�[�W�̓u���b�N�����B
  5. ���̑��̂��̂ɂ̓A�N�Z�X�ł���B

�ڍ׍\��

���̍\���́AMIME�^�C�v�� application/pics-rules �Ƃ��ēo�^�����B

�܂����߂� PICSRules ���[���̊�{�ƂȂ�y����l���A���Ƀ��[���̈�ʃt�H�[�}�b�g�A�����čŌ�Ƀt �B���^�[�߂ɂ�����\���t�H�[�}�b�g�ɂ‚��čl���悤�B

��{�\��

PICSRules ���[���́AS-expression �̌���ꂽ�`���A�‚܂芇�ʂň͂܂ꂽ�����ƒl�̃y�A�Ɋ�Â��Ă� ��B�l�́A�N�H�[�e�[�V�����}�[�N�ň͂܂ꂽ�����񂩁A���ʂň͂܂ꂽ�lj������ƒl�̃y�A�̃��X�g�� �����ꂩ�ł���A�l�X�g���”\�ł���B���鑮���ɑ΂���l������Ƀy�A�̃��X�g�ł���ꍇ�A�u��ꑮ ���v�Ƃ����T�O������B��ꑮ���̖��O�͓ǂ݂₷���̂��߂ɏȗ������ꍇ������̂ŁA��ꑮ���̒l �݂̂��w�肳���BParser�i��͎ҁj�͍\���I�ɑ����ƒl����ʂ��邱�Ƃ��”\�ł���B�i�l�̓N�H�[�e �[�V�����}�[�N�������ʂ̂ǂ��炩�Ŏn�܂�B�j�������Ƒ΂ɂȂ��Ă��Ȃ��l�͎����I�ɑ�ꑮ���̂��� �ł���ƍl������B���鑮���ɑ΂���l���y�A�̃��X�g�̏ꍇ�A���̃��X�g�ɂ͑�ꑮ���Ƃ��̒l�̃y �A�i��ꑮ���̖��O�͂����Ă��Ȃ��Ă��悢�j���K���܂܂�Ă��Ȃ���΂Ȃ�Ȃ��B����ɂ͒lj��̑��� �ƒl�̃y�A���܂܂�Ă��Ă��悢�B�����̌���ꂽS-expression�̈�ʕ��@�͈ȉ��̒ʂ�ł���B

attrvalpair:: attribute whitespace value | value

attribute:: alphanumstr 

value:: quotedstring |'(' attrvalpair+ ')'

quotedstring:: '"'notdoublequotechar'"' | "'"notsinglequotechar"'"

alphanumstr:: (alphanum | '.')+

whitespace:: ' ' | '\t' | '\r' | '\n' 

alphanum:: '0' - '9' | 'A' - 'Z' | 'a' - 'z'

notdoublequotechar :: any Unicode character except "

notsinglequotechar :: any Unicode character except '

���@�ł͕�������N�H�[�e�[�V�����}�[�N�ň͂ޏꍇ�� " ���g�p���邪�A����� ' ���g�p���Ă��� ���B���̏ꍇ�ɂ́A���߂ƏI��肪���������ł��邱�ƁB�‚܂�A
"string"
'string'
�͋�����邪�A
"string'
'string"�ł͂����Ȃ��B

BNF�̎c��̕������Ȍ��ɕ\�L���邽�߂ɁA���ׂẴN�H�[�e�[�V�����}�[�N�ň͂܂ꂽ������ɑ΂��� �u�_�u���N�H�[�e�[�V�����}�[�N�v���g�p���邪�A�V���O���N�H�[�e�[�V�����}�[�N����؂蕶���Ƃ��� �����ɗL���ł��邱�Ƃ𗝉����ꂽ���B�܂��A�������Ȍ��ȕ\�L�̂��߂ɁA_notquotechar_ �͌��݂̕����� �Ŏg�p�������p�̋�؂蕶���i " �܂��� '�j�ȊO�� Unicode�������Ӗ�������̂Ƃ���B

��������ł��̑��̈��p�������g�p�����ꍇ������B��������ŃV���O������у_�u���N�H�[�e�[�V�� ���}�[�N���g�p���邽�߂ɁA�ȉ��̊����K�p����B

  1. "�� %22 �Ƃ��ăR�[�h������
  2. '�� %27 �Ƃ��ăR�[�h������
  3. %�� %25 �Ƃ��ăR�[�h������
  4. % �̌��22,27,25 �ȊO�̂��̂���ɑ������̂́A�\���I�ɖ����ł���

", ', % �́AURL���̓��ꕶ���̂��߂Ɏg�p���� % hex hex �̃R�[�h�����[�����g�p���ăR�[�h������� ���A���̑��� % hex hex �̑g�ݍ��킹�͖����ł���A����炪���̑��̕������R�[�h��������̂Ƃ��Ĉ� ��Ȃ����Ƃɒ��ӂ��邱�ƁB

PICS���[�����̕����� ��͂���f�R�[�h���ꂽ������
"string" string
'string' string
'This is "quoted" text.' This is "quoted" text.
"It's nice to quote." It's nice to quote.
"It%27s nice to %22quote.%22" It's nice to "quote."
"50%25 of test scores are above the median" 50% of test scores are above the median
"50% are below the median" <�\���Ƃ��Ė���>

���ۉ�

HTML�̍��ۉ��Ɋւ���RFC 2070 [RFC2070]�́A�����I�ȕ����R�[�h���ƊO���I�ȕ����R�[�h���̂���� �I��SGML��ʂɂ‚��ċL�q���Ă���B����ɂ��ƁAUnicode��PICSRules���[���̓����I�ȕ����Z�b�g�� ����BUnicode�́A�قƂ�ǂ̌���̕������܂�16�r�b�g�̕����Z�b�g�ł���BPICSRules�̌����ȊO���R �[�h���ɂ� UTF-8���w�肷��BUTF-8 [UTF-8] �ɂ́A���ׂĂ�USASCII���������ꎩ�g�ɂ���łĕ\���ł� ���ƂƁA���̑��̃R�[�h���̈ꕔ�Ƃ��Č���Ȃ��Ƃ����L���Ȑ���������B����́A8-bit�o�C�g�̐擪�r �b�g����菜���Ȃ�����A�قƂ�ǂ̏�����UTF-8�ɂ‚��Ēm��K�v���Ȃ����Ƃ��Ӗ�����B

PICSRules���[���𐳊m�ɉ��߂��邽�߂ɂ́A���[����Unicode�����V�[�P���X�ɕϊ����邽�߂ɍŏ��� UTF-8�̕ϊ����s���邱�Ƃɒ��ӂ��邱�ƁB���ɁA�N�H�[�e�[�V�����}�[�N�ň͂܂ꂽ���ꂼ��̕����� �́A
%22�� " �ɁA%27�� ' �ɁA%25�� % �ɕϊ�����R���o�[�^��ʂ�Ȃ���΂Ȃ�Ȃ��B

���ׂĂ̑������͑啶��/����������ʂ��Ȃ����A�l�� case �͕ۑ�����Ȃ���΂Ȃ�Ȃ��B�������A�X �̐߂��^�܂��͑����́A�����̒l��啶��/����������ʂ��Ȃ��ƒ�`���Ă��悢�B

�R�����g

�ȉ��Ɏ��� PICSRules�\���ɂ́A���[�U�G�[�W�F���g�̓���ɉe�����邳�܂��܂ȃX�e�[�g�����g������ �Ȃ��A���[�U�ɕ\������������̂��߂̋@�\������B�������A�u�\�[�X���x���́v�R�����g�A�‚܂胋�[ ���̍쐬��ҏW�̂��߂̃R�����g�����A�G���h���[�U�ɂ͕\�����Ȃ��R�����g���‚��邱�Ƃ͗L�v�ł� ��B����́A�\�[�X�R�[�h�ɃR�����g��t���邱�ƂƎ��Ă���B���[���̍쐬�҂ɖ��m�ȃ��[���쐬���� �シ�邽�߂ɁA�R�����g��PICSRules���[�����ɕt���邽�߂̋@�\��񋟂���B

�R�����g�̍\���͈ȉ��̒ʂ�ł���B

comment:: '{' comment-text* '}'

comment-text:: any characters except '}'

��L�̍\���̌��ʂƂ��āA�R�����g���l�X�g���邱�Ƃ͂ł��Ȃ����Ƃɒ��ӂ��邱�ƁB

�R�����g�́APICSRules���[���̂ǂ̕����Ɍ���Ă��悢�B���[�U�G�[�W�F���g�́A���[���̌�b���͒��� �R�����g���폜���Ă��悢�B�R�����g���̕��͂́A�����Ȃ���@�ł����[���̉��߂ɉe�����y�ڂ��Ă͂� ��Ȃ��B�܂��APICSRules���[���̐�����G�N�X�|�[�g���s�����[�U�G�[�W�F���g�́A���[���𐶐��A�G�N �X�|�[�g�A�`������O�ɃR�����g����菜���Ă��悢�B

PICSRules ���[��

�C��BNF �ɂ�����PICSRules ���[���̈�ʃt�H�[�}�b�g�͈ȉ��̒ʂ�ł���B"policy-expression" �� "URLpattern" �̂悤�ɁA�G�������g�ɂ���ẮA�����Ŏg�p����Ă��Ă��h�L�������g�̌�̕����Œ�` �������̂�����B

rule:: '(' 'PicsRule-'verMajor'.'verMinor rule-body ')'

verMajor :: integer

verMinor :: integer

rule-body :: '(' rule-clauses ')'

rule-clauses :: rule-clause+

rule-clause :: policy-clause

               name-clause |

               source-clause |

               service-clause |

               opt-extension-clause |

               req-extension-clause |

               extension-aval

policy-clause :: 'Policy' '(' policy-attribute+ ')'

policy-attribute :: ['Explanation'] quotedstring |

                    'RejectByURL' URL-strings |

'AcceptByURL' URL-strings |                    'RejectIf' policy-string |

                    'RejectUnless' policy-string |

                    'AcceptIf' policy-string |

                    'AcceptUnless' policy-string |

                    extension-aval

URL-strings :: URL-string |'(' ['patterns'] URL-string+ ')'

URL-string :: '"'URLpattern'"'

policy-string ::'"'policy-expression'"'

name-clause :: 'name' '(' name-attribute+ ')'

name-attribute :: ['Rulename'] quotedstring |

                  'Description' quotedstring |

                  extension-aval

source-clause :: 'source' '(' source-attribute+ ')'

source-attribute :: ['SourceURL'] quotedURL |

                    'CreationTool' quotedstring |

                    'author' quoted-address |

                    'LastModified' quoted-date |

                    extension-aval

service-clause :: 'serviceinfo' '(' service-attribute+ ')'

service-attribute :: ['Name'] quotedURL |

                     'shortname' quotedstring |

                     'BureauURL' quotedURL |

                     'UseEmbedded' yes-no |

                     'Ratfile' quotedstring |

                     'BureauUnavailable' pass-fail |

                     extension-aval

yes-no :: '"'Y-N'"'

Y-N :: 'Y' | 'N'

pass-fail :: '"'P-F'"'

P-F :: 'PASS' | 'FAIL'

opt-extension-clause :: 'optextension' '(' extension-name+ ')'

extension-name :: ['extension-name'] quotedURL | 'shortname' quotedstring |

                  extension-aval

req-extension-clause :: 'reqextension' '(' extension-name+ ')'

extension-aval :: attrvalpair

quotedURL :: '"'URL'"'

URL :: as defined in RFC-1738 for URLs.

quoted-address :: '"'e-mail-address'"'

e-mail-address :: as defined in RFC-822 for addresses.

quoted-ISO-date :: '"'YYYY'-'MM'-'DD'T'hh':'mmStz'"'

     based on the ISO 8601:1988 date and time standard, restricted

     to the specific form described here:

     YYYY :: four-digit year

     MM :: two-digit month (01=January, etc.)

     DD :: two-digit day of month (01 through 31)

     hh :: two digits of hour (00 through 23) (am/pm NOT allowed)

     mm :: two digits of minute (00 through 59)

     S  :: sign of time zone offset from UTC ('+' or '-')

     tz :: four digit amount of offset from UTC

           (e.g., 1512 means 15 hours and 12 minutes)

     �Ⴆ�΁A"1994-11-05T08:15-0500" �́A1994�N11��5���ߑO8��15��     �i���O�������W�����j��\���L����quoted-ISO-date �ł���B

     **����:**ISO�̕W���ł́A�����Ő����������̂�肩�Ȃ���      �Ȃ��̂��F�߂��Ă���BPICS�ł͂����Ő��������\����_���m��      �K�v�Ƃ���B���Ԃ⎞�ԑт̂ǂ��炪�ȗ�����Ă������Ȃ����A      ��փt�H�[�}�b�g��������Ȃ��B��؂�������Ŏ������ʂ��      �Ȃ���΂Ȃ�Ȃ��B

**Note:**���ӁFPICS-1.1 ���x���t�H�[�}�b�g�̎d�l�ł́A�s���ӂɂ�ISO���t  �t�H�[�}�b�g�Ƃ͂킸���Ɍ݊����̂Ȃ��t�H�[�}�b�g���g�p�����B���ɂ��̎d�l�ł́A  �N�ƌ��⌎�Ɠ��̋�؂�Ɂe�|�f�ł͂Ȃ��e�D�f���g�p����B���̎d�l�ł͂��̌���  �C����������PICS-1.1 ���x���̎d�l�̓��t�t�H�[�}�b�g�Ƃ̌݊����͂Ȃ����AISO���t  �t�H�[�}�b�g�Ƃ͌݊���������B

��ʓI�ȈӖ�

�A�v���P�[�V�����v���O�����́A���[����URL�A������URL�Ɋ֘A����h�L�������g���ɖ��ߍ��܂ꂽ�A�� �邢��URL�Ɋ֘A����h�L�������g�ƂƂ���HTTP�w�b�_�[�œn���ꂽ���x����񋟂��郋�[���]����(rule evaluator)���Ăяo���BYes�i�󗝁j�܂���No�i���ہj�̉񓚂��Ԃ����B���[���]���҂͂܂��A�ŏI�I�� �񓚂����肷��|���V�[�߂Ɋ֘A���������������ꍇ�ɂ́A���̐��������Ԃ��ׂ��ł���B

serviceinfo �߂́A�w�肳�ꂽURL�ɂƂ��Ȃ����x�������‚�����@�i���x���r���[������擾����� ���A�h�L�������g�ɖ��ߍ��܂�Ă���̂��j����肷��BPolicy �߂́A�񓚂��󗝂Ƃ���̂����ۂƂ��� �̂������肷��BExtension�߁i�K�{�܂��̓I�v�V�����j�́A�lj����x���̎��W��p�����s������A���邢 �̓��[���̈Ӗ���ύX����B���[���̈Ӗ��́A�w�肳�ꂽ���ׂẴ\�[�X���烉�x�����擾���邽�߂ɍ� �P��s�����A�擾�������ׂẴ��x����policy�߂̕]���Ɏg�p���郆�[�U�G�[�W�F���g�Ɋ�Â��Ē�`�� ���B���������[�U�G�[�W�F���g�́A�w�肳�ꂽURL�Œ񋟂���郉�x���Ɠ������̂����ƒ��[�J���\�[�X �i�L���b�V����CD-ROM�j�ɖ₢���킹����A���x���ɂ���ă��[���̌��ʂ��ς��Ȃ��ꍇ�ɂ̓��x���� ���W���Ȃ��悤�ȍœK�����s���B

���̃h�L�������g����̕����ŁA�����҂�����̕]���������̗p����悤�Ȓ�Ă��s���B�����҂́A�����]������.�̒�Ă����E����ꍇ�ɂ͂ƂĂ����Ӑ[���s���K�v������B���x���̎�M�ɂ����ĒP���łȂ� ���[�����쐬���邱�Ƃ��”\�ł��邱�Ƃɒ��ӂ��邱�ƁB��葽���̃��x������M����ƁA���ʂ��󗝂� �狑�ۂɂȂ����肻�̋t�ɂȂ����肷��ꍇ������B�������ꍇ�ɂ���ẮA�lj����x�������[���̌��� ��ύX�ł��Ȃ��悤�ɂ��邱�Ƃ��”\�ł���B�Ⴆ�΁A�ŏ���policy�߂ŁA���x���Ɋւ�炸�w�肳�ꂽ URL�����Ɋ�Â��Ă��̓����URL���󗝂���Ǝw�肷��B�œK���Ƃ��āA���[�U�G�[�W�F���g�� serviceinfo�߂Ŏw�肳��邷�ׂẴ\�[�X�Ń��x�����g�p�”\�ɂȂ�O�ɉ񓚂����肷��悤�ɁApolicy �߂��g�p���邩������Ȃ��B�������A�lj����x�����]�����ʂ�ύX�ł��Ȃ��悤�ȏꍇ����������s���� ���ɁA�����҂͒��ӂ��Ȃ���΂Ȃ�Ȃ��B

�X�̐߂̈Ӗ��Əڍ�

Policy

Policy�߂ɂ͒�`���ꂽ�������V�‚���B������ RejectByURL, AcceptByURL, RejectIf, AcceptIf, RejectUnless, AcceptUnless, explanation �ł���B�ŏ���2�‚́AURL�����Ɋ�Â��č��ڂ̎󗝂⋑�� ���s�����̂ł��邪�A���̐����ɂ‚��Ă� URL�t�B���^�����O�̃Z�N�V�������Q�Ƃ��邱�ƁB����4�‚́A ���ڂ�\�����郉�x���Ɋ�Â��Ď󗝂⋑�ۂ��s�����̂ł��邪�A���̐����ɂ‚��Ă����x���t�B���^�� ���O�̃Z�N�V�������Q�Ƃ��邱�ƁB��v�ȑ����� explanation �ł���A����ɂ͊���l���Ȃ��B���ׂĂ� Policy�߂ɂ́oRejectByURL, AcceptByURL, RejectIf, AcceptIf, RejectUnless, AcceptUnless�p�̃Z�b �g����K��1�‚̑������K�v�ł���BPolicy�߂ɂ����̑����������Š܂܂�Ă��Ă͂Ȃ�Ȃ��B�����̑g �ݍ��킹���s�����߂ɂ́A���[������Policy�߂𕡐���J��Ԃ����ƂɂȂ�B

���[�����ŕ�����Policy�߂��w�肳��Ă���ꍇ�́A�����̐߂̓��[�����Ŏw�肳�ꂽ���ɕ]������ ��B�]���͍ŏ��ɐ߂��������ꂽ�ꍇ�ɏI�����A����ɔ����A�N�V���������s�����B���̕\�́A���� �ƁA���ꂪ�������������A���̈Ӗ���\�������̂ł���B

�߂̑��� ������������ �A�N�V����
RejectByURL URL���w�肳�ꂽ�p�^�[���̂����ꂩ�Ɉ�v �h�L�������g���u���b�N����
AcceptByURL URL���w�肳�ꂽ�p�^�[���̂����ꂩ�Ɉ�v �h�L�������g���p�X����
RejectIf expression = true �h�L�������g���u���b�N����
AcceptIf expression = true �h�L�������g���p�X����
RejectUnless expression = false �h�L�������g���u���b�N����
AcceptUnless expression = false �h�L�������g���p�X����

Policy�߂��ǂ����������Ȃ��ꍇ�́A�h�L�������g�̓p�X�����B����́A�Ō��policy�߂� AcceptIf "otherwise" �Ƃ���̂Ɠ����ł���B

name

���̐߂́A�񎦂���Ă��郋�[���ɁA�l�Ԃ��ǂ߂�`���̒Z�����O��^����B�����̖��O�́A���[�h�� ��Ă��郋�[���A���̃A�N�e�B�u�^�C���A�N�e�B�u�Ȃǂ𑀍�҂ɕ\�����邽�߂ɁA���[�U�G�[�W�F���g �̃��[�U�C���^�[�t�F�[�X�Ŏg�p�������̂ł���B

name�߂ł́Arulename ��description �Ƃ���2�‚̑�������`����Ă���BRulename��name**�߂̑�ꑮ�� �ł���A���̒l�͂��̃��[���̐l�Ԃ��ǂ߂�`���̖��O�ł���Bdescription�̒l�� name�����ڍׂɂ� �����̂ł���B����񎦂���Ă��郋�[���ɂ����Ă̐l�Ԃ��ǂ߂�`���̐����ł���B����́A���[���� �쐬�҂₻�̈Ӗ��Ȃǂ𑀍�҂Ɏ������߂ɁA���[�U�G�[�W�F���g�̃��[�U�C���^�[�t�F�[�X�Ŏg�p���� ����̂ł���Bdescription**�̒l�̓��e�́A���[���̍쐬�҂Ɉ�C�����B

���̃��J�j�Y���́A����������T�|�[�g���邽�߂̃g�����X�y�A�����g�ȕ��@��񋟂��Ă��Ȃ����Ƃɒ� �ӂ��K�v�ł���B�����PICSRules�̌��o�[�W�����ł͈Ӑ}�I�ɏq�ׂ��Ă��Ȃ����̂ł���B��������� PicsRules-1.1 ���[�����쐬����ꍇ�ɂ́A���[���𕡐��쐬���āA���ꂼ����e����ŕ\�����Ȃ���� �Ȃ�Ȃ��B

source

���̐߂̓��[���̏o���Ɋւ�������ł���BsourceURL, creationTool, author, lastModified �Ƃ���4�� �̑�������`����Ă���B��ꑮ���� sourceURL �ł���B

sourceURL�����́A�g���[����URL�h�ł���B���̃��[�����g�p����l���A���̃��[����쐬�҂Ɋւ���� ��𓾂邽�߂�URL��񋟂���B���̑����̒l�́A���[�U�����̃��[���Ɋւ���l�Ԃ��ǂ߂�`���̐����� �擾���邽�߂�URL�ł���B

creationTool�����́A���̃��[���̍쐬�Ɏg�p���ꂽ�c�[��������ꍇ�ɁA��������ʂ��邽�߂̂��̂� ����B�����HTTP�ł� User-Agent �Ɠ������̂ł���B���̑����̒l�̓N�H�[�e�[�V�����}�[�N�ň͂܂� ��������ł���B���̕�����́A"Cool-PICS-Rule-Editor/1.04" �̂悤�ɁA_�c�[�����^�o�[�W����(toolname/version)_,�̌`�� �ɂȂ�B

author�����́A���̃��[�����쐬�����l��g�D�̓d�q���[���A�h���X�ł���B���̑����̒l�̓N�H�[�e �[�V�����}�[�N�ň͂܂ꂽ�d�q���[���A�h���X�łȂ���΂Ȃ�Ȃ��B

lastModified�����́A���̃��[���̍ŏI�X�V�̓����ł���B���̒l�́APICS-1.1���x���\���ƒʐM�v���g �R���Œ�`���ꂽ�ʂ�A_quoted-ISO-date_ �łȂ���΂Ȃ�Ȃ��B

serviceinfo

���̐߂́A���C�e�B���O�T�[�r�X(serviceinfo)�Ɋւ�������w�肷��B���̐߂ɂ́Aname, shortname, bureauURL, UseEmbedded, ratfile, , bureauUnavailable �Ƃ���6�‚̑�������`����Ă���B

name�����́A���C�e�B���O�T�[�r�X�� servicename URL �ł���B���̒l�́A�\������Ă���T�[�r�X�̖� �O����肷��B

shortname�����́A���̃��C�e�B���O�T�[�r�X�ɒZ�����O��^����B����́Afilter�߂��L�q����ۂɎg�p ����A���̒l�͕�����ł���B�Ⴆ�΁A"http://coolness.raleigh.ibm.com/ratings/V1.html"�Ƃ������C�e�B���O�T�\[�r�X��**shortname** �� "Cool"�ł���B

bureauURL�����́A���̃��C�e�B���O�T�[�r�X����̃��C�e�B���O�����ƒ��x���r���[����URL���w�肷 ��B���̑����̒l�́A���x���r���[����URL�ł���B���̑����͕�����w�肳��Ă��悢�B���[�U�G�[�W �F���g�́A�w�肳�ꂽ���ׂĂ�URL���烉�x�����擾���A�|���V�[�̕]���ɂ���炷�ׂẴ��x�����g�p�� �Ȃ���΂Ȃ�Ȃ��B

UseEmbedded�����́A�h�L�������g�ƂƂ���HTTP�w�b�_�œ`�����ꂽ���x����META�G�������g���g�p���� HTML�h�L�������g�ɖ��ߍ��܂ꂽ���x�����g�p���邩�ǂ��������肷��B���̑������ȗ�����Ă���ꍇ �́A����l�ł����̃��x�����g�p����B���̑����̒l�� "N" �̏ꍇ�́A�h�L�������g�ɖ��ߍ��܂ꂽ�� �̃T�[�r�X�ɑ΂��郉�x���́AHTTP�w�b�_�œ`�����ꂽ���x���Ɠ��l�ɖ��������B����́A���[���̍� ���҂��h�L�������g�̍쐬�҂��񋟂��郉�x�����M���ł����A���x���r���[���̃��x�������M���ł� ��ꍇ�ɗL���ł���B

bureauUnavailable�����́AbureauURL�����Ŏw�肳�ꂽ�ǂ̃��x���r���[���ɂ��A�N�Z�X�ł��Ȃ��ꍇ �ɂǂ����邩���w�肷��B���̑����ɑ΂���l�� "PASS"��"FAIL"�ł���A���̑��̃��x�������‚���ꂽ ���ǂ����Ɋւ�炸�A���[���͑Ή�����l��Ԃ��B

ratfile�����́A���̃��C�e�B���O�T�[�r�X���g�p����A�}�V���ǂݎ��”\�ȃ��C�e�B���O�V�X�e���̐� ���i"RAT file"�Ƃ��Ēm���Ă�����́j�������B����́A����2�‚̕��@�̂����ǂ��炩�Ŏw�肳���B ����́A�l���}�V���ǂݎ��”\�ȃT�[�r�X�����̂��ׂĂ��N�H�[�e�[�V�����}�[�N�ň͂񂾂��̂Ƃ��� ���A"[_RATFile-URL_]"�̍\���ŁA _RATFile-URL_�̕��������C�e�B���O�V�X�e��������URL�ɂ��邩�̂ǂ��� ���ł���B���[�U�G�[�W�F���g�́A����URL���t�Q�Ƃ���� application/pics-service �̃^�C�v�̃h�L�� �����g�ɂȂ邱�Ƃ�z�肷��ׂ��ł���B**ratfile**�����Ɋ���l�͂Ȃ��B�N�H�[�e�[�V�����}�[�N�ň͂܂� �������񂪃}�V���ǂݎ��”\�ȃT�[�r�X�����ł���ꍇ�́A��̐����̂悤�ɃG�X�P�[�v����Ȃ���� �Ȃ�Ȃ��B

opt-extension-clause

opt-extension-clause �� req-extension-clause �́APICSRules�̊g�����J�j�Y���ł���B�����́A PICS���x���t�H�[�}�b�g�̊g�����J�j�Y���̌�Ń��f�������ꂽ�B�g�����J�j�Y���Ɋւ���ڍׂȏ����ȉ��Ɏ����B

opt-extension-clause �ɂ́Aextension-name��shortname�Ƃ���2�‚̑���������Bextension-name������ �l�́A���̃��[���Ŏg�p�����g���̖��O���w�肷��B�g���̖��O�́A_quotedURL_�ł���B����URL�́A�l �Ԃɓǂ߂�`���ł��̊g���̐������������̂ł���BURL�́Acentral naming body ��K�v�Ƃ��Ȃ��Ŋg�� ���̈�Ӑ����m���ɂ��邽�߂̂��̂ł���B**shortname** �����̒l�̓N�H�[�e�[�V�����}�[�N�ň͂܂ꂽ���� ��ł��邪�A�L���ȑ��������� (a-z, A-Z, 0-9) �݂̂��g�p���Ȃ���΂Ȃ�Ȃ��BShortname�́A���̊g ���Œ�`����鑮�������ʂ��邽�߂ɁA�������̐ړ����Ƃ��Ďg�p�����B

�F���ł��Ȃ� optextension ���܂ރ��[������M�����ꍇ�ɂ́A���[�U�G�[�W�F���g�͔F���ł��Ȃ��߂� ���ׂĖ������ă��[������������ׂ��ł���B����́A�I�v�V�����̊g���͊�����parser�i��͎ҁj���� ���Ȃ��悤�ɁA��L�������|�l�̍\�����g�p���Ȃ���΂Ȃ�Ȃ����Ƃ��Ӗ�����B���[�U�G�[�W�F���g�� �F���ł��Ȃ������ƒl�̑g�ݍ��킹��p�����邽�߁A�I�v�V�����̊g�����g�p����Ƃ����錾�͏璷�ł� ��悤�Ɍ����邱�Ƃɒ��ӂ��K�v�ł���B���[�U�G�[�W�F���g�͂܂��A���[�����g�p����O�Ƀ��[�U���m �F�ł���悤�ɁA���[�����g�p����I�v�V�����̊g���̖��O��\�����Ă��悢�B

req-extension-clause

���̐߂ɂ́Aextension-name ��shortname�Ƃ���2�‚̑���������Bextension-name�����̒l�́A���̃��[ ���Ŏg�p�����g���̖��O���w�肷��B�g���̖��O�́A_quotedURL_�ł���B����URL�́A�l�Ԃɓǂ߂�`�� �ł��̊g���̐������������̂ł���BURL�́Acentral naming body ��K�v�Ƃ��Ȃ��Ŋg�����̈�Ӑ����m ���ɂ��邽�߂̂��̂ł���B**shortname**�����̒l�̓N�H�[�e�[�V�����}�[�N�ň͂܂ꂽ������ł��邪�A�L ���ȑ��������� (a-z, A-Z, 0-9) �݂̂��g�p���Ȃ���΂Ȃ�Ȃ��BShortname�́A���̊g���Œ�`����� ���������ʂ��邽�߂ɁA�������̐ړ����Ƃ��Ďg�p�����B���[�U�G�[�W�F���g���F���ł��Ȃ�

req-extension-clause ���܂ރ��[�����g�p����URL�̎󗝂̉”\���Ɋւ��鏈�������߂�ꂽ�ꍇ�́A���[ �U�G�[�W�F���g�̓G���[��\������ׂ��ł���B

verMajor

���̃��[�����Ή����Ă���PICSRules�̃��W���[�o�[�W�����ԍ��BPICSRules�̌��o�[�W�����̃��W���[�o �[�W�����ԍ��͂P�ł���B

verMinor

���̃��[�����Ή����Ă���PICSRules�̃}�C�i�[�o�[�W�����ԍ��BPICSRules�̌��o�[�W�����̃}�C�i�[�o �[�W�����ԍ��͂P�ł���B

����

�ȉ��̂悤�ȈӖ���̐���������B

  1. name�߂�source�߂́APICSERules���[�����ł�1�x�����g�p���Ă͂Ȃ�Ȃ��B
  2. optextension, reqextension, serviceinfo�̊e�߂� PICSRules���[�����ŕ�����g�p���Ă��悢�B
  3. ���ꂼ���Policy�߂ɂ́A�oAcceptIf, RejectIf, AcceptUnless, RejectUnless, AcceptByURL, RejectByURL�p�̃Z�b�g����K��1�‚̑������K�v�ł���B
  4. ���[���ɂ�Policy�߂������Š܂܂�Ă��Ă��悢�B
  5. Policy �߂ɂ� explanation�����������܂܂�Ă��Ă͂Ȃ�Ȃ��B
  6. Extension�߂��邢�� service�߂�shortname�����́A�l�Ƃ��ăN�H�[�e�[�V�����}�[�N�ň͂܂ꂽ���� ������‚��A���̕����ɂ͑������Ŏg�p�”\�ȕ����ȊO���܂܂�Ă��Ă͂Ȃ�Ȃ��B
  7. PICSRules��parser�i��͎ҁj�́A���[�����Ŏw�肳�ꂽ�����̒l�i���邢�͒l�̈ꗗ�j�̏������ێ� ���Ȃ���΂Ȃ�Ȃ��B

URL�Ɋ�Â����t�B���^�����O

Policy�߂ł́AAcceptByURL���������RejectByURL������URLpattern�G�������g���g�p���邪�A����BNF�� �ȉ��Ɏ����B

URLpattern :: internet-pattern | other-pattern

internet-pattern :: internet-scheme '://' 

                   [user '@'] hostoraddr [':' port] ['/' pathmatch]

internet-scheme :: '*' | 'ftp' | 'http' | 'gopher' | 'nntp' |

                   'irc' | 'prospero' | 'telnet'

user :: ['' | '%'] notquotechar* ['' | '%']

hostoraddr :: ['' | '%'] host | ipwild ['!' bitlength]

ipwild :: ipcomponent '.' ipcomponent '.' ipcomponent '.' ipcomponent

ipcomponent :: integer between '0' and '255' inclusive

bitlength :: integer between '0' and '32' inclusive

host :: substring of a fully qualified domain name as described 

        in Section 3.5 of [RFC1034]

port :: '*' | integerorwild [ '-' integerorwild ]

pathmatch :: ['' | '%'] notquotechar* ['' | '%']

integerorwild :: digit+ | '*'

digit :: '0' - '9'

other-pattern :: scheme : ['' | '%'] notquotechar* ['' | '%']

scheme :: '*' | schemechar+

schemechar :: 'a' - 'z' | 'A' - 'Z' | digit | '+' | '.' | '-' 

              (as specified in [RFC1738])

RejectbyURL policy�߂ɂ��AURL�̈�v�� TRUE �̏ꍇ�Ɂu���ۂ���v�Ƃ������[���ɂȂ�B���l�ɁA AcceptbyURL policy�߂ɂ��AURL�̈�v�� TRUE �̏ꍇ�Ɂu�󗝂���v�Ƃ������[���ɂȂ�B�ǂ���̏� �����Apolicy�߂Ɋ֘A����������Ԃ����BURL�p�^�[���̃��X�g���񋟂���Ă���ꍇ�ɂ́A�p�^�[���� �ǂꂩ����v�����URL�̈�v�� TRUE �ɂȂ�BURL�̈�v�� FALSE �̏ꍇ�ɂ́Apolicy�߂͖�������A�� ���Ď���policy�߂̕]�����s����B

URL�p�^�[����URL�̔�r���s���ꍇ�A���[���̃C���^�[�v���^�[��URL�� unencode ���s���Ă͂Ȃ�Ȃ� �i�‚܂� %2F �� / �ɕϊ����Ă͂Ȃ�Ȃ��j�B�p�^�[�����C���^�[�l�b�g�p�^�[���Ƃ��ĉ��߂ł���ꍇ �ɂ́A�p�^�[���̓R���|�[�l���g�����ɕ�������A�p�^�[���Ɋ܂܂�邷�ׂẴR���|�[�l���g����v�� ��ꍇ�ɁAURL�̓p�^�[���Ɉ�v���邱�ƂɂȂ�B

scheme

�p�^�[���� '*' �͂��ׂẴX�L�[���Ɉ�v����B�����łȂ���΁A���S�ȕ�����̈�v���K�v�����A���� ��r�͑啶��/����������ʂ��Ȃ��B�X�L�[���̃R���|�[�l���g�̓p�^�[������ȗ�����Ă͂Ȃ�Ȃ��B

user

�p�^�[���̐擪��Ō�� '*' �́AURL������̉������Ƃł���v����B�p�^�[���̐擪��Ō�� '%*' �́AURL������� '*' �Ƃ����P�����Ɉ�v����B�p�^�[���̒��̕�����URL������̕����Ɗ��S�Ɉ�v���� ����΂Ȃ�Ȃ��B���̔�r�͑啶��/����������ʂ���B�p�^�[������ '*' �Ƃ���user�R���|�[�l���g���� ���Auser�R���|�[�l���g���ȗ�����URL�ƈ�v����B�p�^�[����user�R���|�[�l���g���ȗ�����Ă���ꍇ �́Auser�R���|�[�l���g��URL������ȗ�����Ă���ꍇ�Ɍ����v����B

password

PICSRules�p�^�[���ł�password���w�肵�Ȃ��B�p�^�[���͂ǂ�ȃp�X���[�h���w�肷��URL�Ƃ���v���� ���Apassword�R���|�[�l���g���ȗ����ꂽURL�Ƃ���v����B

ipwild

�p�^�[������ hostoradress ��IP�A�h���X�ł���ꍇ�AURL�̑Ή�����host�R���|�[�l���g���ŏ���IP�A�h ���X�̃Z�b�g�ɕ��������BIP�A�h���X�̂ǂꂩ�Ɉ�v����΃p�^�[���͈�v����B!��bitlength���w�� ����Ă���ꍇ�A�p�^�[����URL�̗�����10�i�\�L����2�i�\�L�ɕϊ�����A������̍ŏ���bitlength�r�b �g����r�����B���������āA'!'�́A�T�u�l�b�g��CIDR�u���b�N���w�肷��ꍇ�ɁA�ʏ��'/'�������� ����̂Ɠ����Ӗ������B!���g���̂́A/ ������ċ�؂蕶���Ɖ��߂���ꍇ�����邩��ł���B��r�� �ŏ���16�r�b�g�݂̂ōs����̂ŁA18.23.7.22!16 �� 18.23.0.0!16 �Ɠ����ł���B

host

�p�^�[���̐擪�� '*' �́AURL������̉������Ƃł���v����B�p�^�[���̐擪�� '%*' �́AURL������� '*' �Ƃ����P�����Ɉ�v����B�p�^�[���Ō�ɑ��������́AURL������̎c��̕����Ɗ��S�Ɉ�v���Ȃ��� �΂Ȃ�Ȃ��B���̔�r�͑啶��/����������ʂ��Ȃ��B�p�^�[�����z�X�g���i�܂��̓��C���h�J�[�h���܂ރz �X�g���j���w�肷��ꍇ�́A�p�^�[�����̃z�X�g����URL����IP�A�h���X�ɕ��������Ƃ��Ă��A�����IP �A�h���X���w�肷��URL�Ƃ͈�v���Ȃ����Ƃɒ��ӂ��邱�ƁB����ɂ��AURL����IP�A�h���X�Ɋ�Â��� DNS���t�ɒT����Ƃ��킴�킴�s���K�v���Ȃ��Ȃ�BURL�p�^�[���ł́Ahost �܂��� ipwild�̃R���|�[�l ���g�̂ǂ��炩���K���w�肳��Ă��Ȃ���΂Ȃ�Ȃ��B

port

�p�^�[����2�‚̔ԍ����w�肳��Ă���ꍇ�A���͈͓̔��̂��ׂẴ|�[�g�ԍ��ƈ�v����B�Ⴆ�΁A�p�^ �[����port�R���|�[�l���g�� "80-82" �̏ꍇ�A����̓|�[�g�ԍ��� 80, 81, 82 �ł���URL�ƈ�v����B �͈͂̈ꕔ�Ƃ��ă��C���h�J�[�h * ���w�肳��Ă���ꍇ�́A�Ɍ��l��\���Ă���B�‚܂�A�p�^�[���� port�R���|�[�l���g�� "*-82" �̏ꍇ��82�ȉ��̂��ׂẴ|�[�g�ԍ��ƈ�v���A"80-*" �̏ꍇ�́A80�ȏ� �̂��ׂẴ|�[�g�ԍ��ƈ�v����B�p�^�[����port�R���|�[�l���g���P�� "*" �̏ꍇ�́Aport�R���|�[�l ���g���ȗ�����URL���܂߂āA���ׂẴ|�[�g�ԍ�������URL�ƈ�v����B�p�^�[����port�R���|�[�l���g ���ȗ�����Ă���ꍇ�́A�|�[�g�ԍ����ȗ�����URL�Ƃ݈̂�v����B

path

�p�^�[���̐擪��Ō�� '*' �́AURL������̉������Ƃł���v����B�p�^�[���̐擪��Ō�� '%*' �́AURL������� '*' �Ƃ����P�����Ɉ�v����B�p�^�[���̒��̕�����URL������̕����Ɗ��S�Ɉ�v���� ����΂Ȃ�Ȃ��B��r�͑啶��/����������ʂ���B�p�^�[������ '*' �Ƃ���path�R���|�[�l���g���܂��A path�R���|�[�l���g���ȗ�����URL�ƈ�v����B�p�^�[����path�R���|�[�l���g���ȗ�����Ă���ꍇ�́A path�R���|�[�l���g��URL������ȗ�����Ă���ꍇ�Ɍ����v����B

�x���F�p�^�[�����ŃR���|�[�l���g���w�肳��Ă��Ȃ��ꍇ�́A�p�^�[�����ȗ����ꂽURL�Ƃ݈̂�v�� ��BURL�̂���R���|�[�l���g�𖳎�����ꍇ�ɂ́A���̃p�^�[���R���|�[�l���g�� "*" ���w�肷��K�v ������B�Ⴆ�΁Apathname �� "buy" �Ƃ�����������܂ނ��ׂĂ�URL�ւ̃A�N�Z�X���u���b�N���邽�߂� �́A�������p�^�[���� "*://*@*:*/*buy*" �ƂȂ�B�p�^�[���� "*://*/*buy*" ���邢�� "*buy*" �Ƃ��� �̂����R�Ȃ悤�Ɏv���邪�A�O�҂̏ꍇ�Ausername�ƃ|�[�g�ԍ����ȗ�����URL�Ƃ݈̂�v���邵�A��҂� �L���ȃp�^�[���Ƃ͂����Ȃ��B

�p�^�[�����C���^�[�l�b�g�X�L�[���Ƃ��ĉ��ߕs�”\�ȏꍇ�ɂ́A����̓X�L�[�����ƃX�L�[���ɌŗL�� �����Ƃɕ��������B�X�L�[�����ł� "*" �́A���ׂĂ�URL�̃X�L�[���ƈ�v����B����ȊO�́A���S�� ������̈�v���K�v�ł���B���̔�r�͑啶��/����������ʂ��Ȃ��B�X�L�[���ɌŗL�ȕ����̐擪��Ō�� "*" �́AURL������̉������Ƃł���v����B�p�^�[���̐擪��Ō�� '%*' �́AURL������� '*' �Ƃ��� �P�����Ɉ�v����B�p�^�[���̒��̕�����URL������̕����Ɗ��S�Ɉ�v���Ȃ���΂Ȃ�Ȃ��B���̔�r�� �啶��/����������ʂ��Ȃ��B

���ӁFURL������̕��� '%*' �Ɋ��S�Ɉ�v����URLpattern ���L�q����͕̂s�”\�ł���B����������� �p�^�[���}�b�`���O����̐����ł͂Ȃ��B�Ȃ��Ȃ�A�L����URL�ɂ����āA'%'�����ɂ�2�‚�16�i�������� �Ȃ���΂Ȃ�Ȃ�����ł���B�‚܂�A'%*' �Ƃ�����������܂�URL�͑��݂��Ȃ��B

���m�̐���

URL�� %���g�p���ăR�[�h�����ꂽ�����͔�r�̑O�� unencode ����Ȃ��̂ŁAPICS���[���̕]���҂͂��� ����V�m�j���Ƃ��Ĉ���Ȃ����A�T�[�o�͂Q�‚�URL���V�m�j���Ƃ��Ĉ�����������Ȃ��B�‚܂�A�T�[�o ��URL�p�X��unencoding���[���ɏ]���ƁAhttp://www.student1.mit.edu/sex, http://www.student1.mit.edu/%73%65%78
http://www.student1.mit.edu/se%78 �ɑ΂��āA�T�[�o�͓����y�[�W��Ԃ��̂ł���i%73��'s'�A%65�� 'e'�A%78��'x'�ɂȂ�j�B

�����ɂ��A�p�^�[�����r���s���O�ɏ��URL��unencoding �����ւ̃}�b�`���O���[���́A�B�������� ���炷�B�Ⴆ��HTTP�ł́A�ʏ�� ? �͖₢���킹������̋�؂蕶���Ƃ��Ĉ����A? �� %3F �Ƃ��ăR �[�h�������BUnencoding��́A�ʏ�� ? �Ɩ₢���킹������̋�؂蕶�������ʂ��邱�Ƃ͕s�”\�ɂ� ��B�V�m�j�����]���ɂ��Ă��A�p�^�[���}�b�`���O�𐳊m�ɂ�������悢�Ǝv����B

���̑��ɂ��AURL����IP�A�h���X�����[���p�^�[���̔�r�̂��߂Ƀz�X�g���ɕϊ�����Ȃ��Ƃ������l�̐� ��������B����́A�z�X�g���Ɋ�Â����p�^�[����IP�A�h���X�Ɋ�Â�URL�̓���̃V�m�j���ƈ�v���Ȃ� �Ȃ邱�Ƃ��Ӗ�����Bhttp://*.mit.edu �Ƃ����p�^�[���́Ahttp://18.0.0.0!8 �Ƃ����p�^�[�������� �v����URL�����Ȃ��Ȃ�B��҂̃p�^�[���́Amit.edu �ŏI���E�F�u�T�C�g�i������IP�A�h���X��18�� �n�܂���ɂȂ�j�ƈ�v����BIP�A�h���X���܂�URL���h���C�������w�肷��p�^�[���ƈ�v���Ȃ����R �́AURL��IP�A�h���X���t�ɒT�����Ƃ̓��[�`���Ƃ��Ď��s����ɂ̓R�X�g�̑傫�����삾����ł���B�� �������āA������s�����Ƃ����ʓI�ł���ꍇ�ɂ́A���[���ł̓z�X�g���̈�v����IP�A�h���X�̈�v ���w�肷�邾�낤�B�������A����ɂ̓z�X�g�����ʂ�IP�A�h���X�ɕύX����邽�тɃ��[�����X�V����K �v�����邱�Ƃɒ��ӂ��Ȃ���΂Ȃ�Ȃ��B

���x���Ɋ�Â��t�B���^�����O

Policy�߂�AcceptIf, RejectIf, AcceptUnless, RejectUnless�̂��ꂼ��̑����͂��ׂāA�����Ƃ��� policy-expression ���Ƃ�B����͂��܂��܂ȃ��x���œ��삷��\���ł���B���̃Z�N�V�����ł͂���� �̕\���̍\���ƈӖ����`����B

policy-expression :: simple-expression

or-expression

and-expression

degenerate-expression

simple-expression :: '(' service ['.' category [op constant ] ] ')'

service :: any shortname defined in a serviceinfo clause within this rule

category :: transmit-name-char+ ['/' category]

    ���ӁF[PicsLabels]�̎d�l�̂悤�ɁA���C�e�B���O�T�[�r�X���K�w�I�� 

    �l�X�g���ꂽ�J�e�S���[���`���Ă���ꍇ�́A��ԊO���̃J�e�S���[���� 

    ���ɗ��āA�X���b�V���������A���̃J�e�S���[���������悤�ɂȂ�B

transmit-name-char :: alphanumpm | '.' | '$' | ',' | ';' | ':' 

                | '&' | '=' | '?' | '!' | '*' | '~' | '@'

                | '#' | '_' | '%' hex hex

alphanumpm :: 'A' | ... | 'Z' | 'a' | ... | 'z' | '0' | ... | '9' | '+' | '-'

hex :: '0' | ... | '9' | 'A' | ... | 'F' | 'a' | .... | 'f'

op :: '>' | '<' | '=' | '>=' | '<='

constant :: [sign] alphanum* ['.' alphanum*]

or-expression :: '(' policy-expression [or policy-expression]+ ')'

or :: 'or' 

and-expression :: '(' policy-expression [and policy-expression]+ ')'

and :: 'and' 

sign :: '-'

degenerate-expression :: 'otherwise'

�߂̕]�����s���ꍇ�A���[�U�G�[�W�F���g�͎w�肳�ꂽ���C�e�B���O�T�[�r�X�̃��x�����A�g�p���Ȃ��A1 �Žg�p����A�����Žg�p����ꍇ������i�ڍׂɂ‚��ẮA�R���g���[���t���[�̃Z�N�V�������Q�Ƃ��� ���Ɓj�B�P���ȕ\���ł́A�w�肳�ꂽ�T�[�r�X�̃��x����_�ЂƂ‚ł�_�\���̏����𖞂����΁Atrue�ƕ]�� �����B�����I�ɁA���[���̕]���҂͎g�p�”\�Ȃ��ׂẴ��x���Ɋ�Â��āA�\������������Ă��邱�� ���ؖ����悤�Ƃ���B

�P���ȕ\�������x������l���Ăяo���Ƃ��ɁA���x�����g�p�ł��Ȃ��ꍇ��A�w�肳�ꂽ�J�e�S���[�ɂ� ���Ďg�p�”\�ȃ��x�����l�������Ȃ��ꍇ���l�����Ȃ���΂Ȃ�Ȃ��B���̂悤�ȏꍇ�ɂ́A�P���ȕ\�� ��**false**�ƕ]�������B����͒����I�ȈӖ��ɂȂ�B�‚܂�A�P���ȕ\���Ɋ֘A���郉�x�����Ȃ��ꍇ�� �́A���̕\���͕\���ɂ���ėv�����ؖ����邽�߂̏؋��ɂ͂Ȃ蓾�Ȃ��Ƃ������Ƃł���B

��̒�`�̂悤�ɁA�P���ȕ\���͂ǂ�ȃ^�C�v�̃f�[�^�ɑ΂��Ă����ׂẲ��Z�q���g�p���邱�Ƃ��ł� ��B��薾�m�ɂ́A�\���̕]���̈Ӗ��͎��̂悤�ɂȂ�B

PICSRules-1.0 �̏����̃h���t�g�ɂ́A�����I�ɗL���Ǝv���鉉�Z�q

!=

���܂܂�Ă����B����́A�l ���Ȃ��ꍇ��l����������ꍇ�ɂ��A

!=

�̒����I�ȈӖ��͂��̑��̉��Z�q�̈Ӗ��Ɩ������邽�߁A���̉� �Z�q�͍폜���ꂽ�B�Ⴆ�΁As �Ƃ��� dimension �� 2 �� 3�̒l�����A

(s (2 3))

���܂ރ��x�����l���� �݂�B3�����̒l�����݂���̂ŁA���̃��x���̓|���V�[�\��

(Service.s < 3

�𖞂����B�������A

!=

�� �����I�ȈӖ��́A���ׂĂ̒l��3�ȊO�ł��邱�Ƃ�K�v�Ƃ���B�o���I�Ȓ�ʉ��i3�����̒l�����݂����j �ƕ��ՓI�Ȓ�ʉ��i���ׂĂ��l��3�ȊO�ł���j�����݂���ƁA�����������邱�Ƃ����������B����ɁA"x != 3"�͒ʏ�A"((x < 3) or (x > 3))"" �Ɠ����Ӗ��ł���B�����������̒l�����݂���ꍇ�ɂ́A�� �̊֌W�͕ێ�����Ȃ��B�񒼊��I�ȈӖ������‰��Z�q�����邱�Ƃ͂悭�Ȃ��ƍl���APICSRules-1.1 ���� �͍폜���ꂽ�B

���Ӑ[���ǂ�ł��������΁Amax, min, , forall�̂悤�ȕ��ՓI�Ȓ�ʉ��̉��Z�q�����@���Ă��邾���ł� ���A�u�[�����Z�q not ���Ȃ����ƂɋC�t�����ł��낤�B�����̏ȗ��́A!= �̏ȗ����R�Ɠ��l�ɁA�n �l���ꂽ���̂ł���B����̃J�e�S���[�ɑ΂��ă��x�����l�������Ȃ��A���邢�͕����̒l�����ꍇ�� �́A���̂悤�ȉ��Z�q���������Ɏg�p�����ƃ��[���𗝉����邱�Ƃ��ƂĂ�����Ȃ�B�����ŁA���L �̂悤�ɁAAcceptIf, AcceptUnless, RejectIf, RefectUnless �Ƃ����������g�p���āA�ے�╁�ՓI��� ���̉��Z�q�̓g�b�v���x���ł̂ݎg�p����Ƃ���������݂����B�������A�������ꂽ����ł͂��邪�A "forall x, g(x) holds" �����w�I�Ɂug(x)���ێ�����Ȃ��悤�� x �͑��݂��Ȃ��v�Ƃ����Ӗ������‚� ���������𗘗p���邱�ƂŁA�\���͖͂L���ł���B�Ⴆ�΁A���ׂẴ��x���� s-value �̒l��3�ł���URL �����ׂĎ󗝂������ꍇ���l���Ă݂�B���̎���policy�߂� Policy (AcceptUnless "(Service.s < 3) or (Service.s > 3)" ) �ƂȂ�B

## C�R���g���[���t���[

��L�̃��[���̍\���ƈӖ��́A���[���ɉ�������̂����`���A�����̍\���̈Ӗ����`���Ă���B �����̃��[�����������邽�߁A���[�U�G�[�W�F���g�͂����Ő�����������I�ȃf�[�^�t���[���̗p���� �ׂ��ł���B����ɂ��APICSRules�������Ȃ��̂ɂȂ����Ƃ��ɁA����ɑ΂��ĕK�v�Ȋg�����������邱 �Ƃ��e�ՂɂȂ�B

PICSRules���[������������W���I�ȃ��[�U�G�[�W�F���g�́Arule parser, label source, label validators, rule evaluator �Ƃ����A4�‚̏d�v�ȃR���|�[�l���g������Ă���ׂ��ł���B�����̖� ���͈ȉ��̒ʂ�ł���B

Rule parser�i���[����́j

PICSRules���[������͂���B�ۑ����ꂽ�\������l�b�g���[�N����ă��[�h�����ꍇ������B�v�� �L�V�T�[�o�̂悤�ȕ����̃��[����ۑ����郆�[�U�G�[�W�F���g�ł́A���̃R���|�[�l���g�͂��ꂼ��� �v���ɑ΂��Ăǂ̃��[�����g�p���邩�̌�����s���B�ȍ~�̃��W���[���ł́A���[����1�‚����K�p����� ���Ƃ��O��ł���B

Label sourse�i���x���\�[�X�j

���̃R���|�[�l���g�̓��x����T���B����͕]���̑ΏۂƂȂ��Ă��郋�[��������͏����󂯎��B�� �x����T���ă��x���r���[���ƘA������邽�߂ɁA���̏����g�p���Ă��悢�B�܂��AHTML�h�L������ �g�ɖ��ߍ��܂ꂽ���x����A���x���`�����T�|�[�g����f�[�^�X�g���[���iHTTP, NNTP�j�œ`�����ꂽ�� �x�������‚��Ă��悢�B���̃R���|�[�l���g�ɂ��o�͂́A���̃h�L�������g�ɓK�p����郉�x���̃Z �b�g�ł���B���x���\�[�X�͕������邽�߁A���x���\�[�X�R���|�[�l���g�͂���h�L�������g�ɑ΂��Ă� ��T�[�r�X���畡���̃��x���𐶐�����ꍇ������B�������A���x���\�[�X�R���|�[�l���g�́u�œK�ȁv ���x����I��������̂ł���B�i��ʓI�ȃ��x�����疾�m�ȃ��x����I�сA��ʓI�ȃ��x������������� ���ɂ͂����Ƃ����m�Ȃ��̂�I�Ԃ̂ł���B�j���x���\�[�X�́A���x�����̂��̂����łȂ��A���x������ �̂悤�Ɏ擾���ꂽ���i�R���e���c�ɖ��ߍ��܂ꂽ���́A���x���r���[�����瓾�����̂Ȃǁj�ɂ‚� �āA���̑��̃R���|�[�l���g�ɖ�������K�v������B

Label validators�i���x���F�؁j

���x���F�؂́A�ǂ̃��x�����󂯓���邱�Ƃ��ł��邩�����肷��BPICSRules����ł͔F�؂͒�`����� ���Ȃ����A���̊g���ɂ����Ē�`����邾�낤�B�Ⴆ�΁A�f�W�^�������������Ȃ����x�������ۂ���悤 �ȃ��x���F�؂���`����邩������Ȃ��B�ʂ̔F�؂̉”\���Ƃ��ẮA�M���̂������O�҂ɂ���ă��x ���̍�҂��ۏ؂���Ă��邩�ǂ����𒲂ׂ邱�Ƃ��ł�����̂��l������B

Rule evaluator�i���[���]���j

���[���]���́A�F�؂�ʉ߂������x���ƁA���[����͂����[�����Ō��‚���Policy�߂���͂Ƃ��Ď󂯎� ��B����́A���‚�֎~�̕\����]�����A���i�^�s���i�̌�����s���B

## �g�����J�j�Y��

���܂��݌v���ꂽ�l�b�g���[�N�v���g�R���ł́A�g�����J�j�Y�����񋟂���Ă���B�����ł́APICSRules �Œ񋟂���Ă���g�����J�j�Y���������B

### �w�i

PICSRules�́A�����ƒl�̑g�ݍ��킹���l�X�g�\���ɂȂ������̂ł���B�F���ł��Ȃ������L�[���[�h�̓� �[�U�G�[�W�F���g�ɂ���Ė�������A����ɔ����l��PICSRules��͂ɂ���Ĕp�������BPICSRules���g �������{���J�j�Y���́A�V�����߂⑮���ƒl�̑g�ݍ��킹�ƁA���̕�����Ӗ����`���邱�Ƃł���B �V���������ƒl�̑g�ݍ��킹�ɂ́A�w�肳�ꂽ�g���������B�g���̖��O�� URL�Ȃ̂ŁA���E�I�Ɏ��ʂ��� ���Ƃ��ł���BPICSRule�Ŏg�p�����Ƃ��ɂ́A�������̐��ݓI�Ȗ���������邽�߂ɁA�g���������̑O �ɂ� ���̑������`����g����shortname ���‚��B

### �ڍ�

�V�����g�����`����ɂ́A�ȉ��̂悤�ɂ���B_ _1. ���̊g�����I�v�V�������K�{�������肷��B�I�v�V�����̊g���́A�g����F�����Ȃ����[�U�G�[�W�F�� �g�ɂ���Ė�������Ă��悢�B�g�����u�I�v�V�����v�Ƃ��邽�߂ɂ́A�g�����������ꂽ�ꍇ�ł����̊g �����g�p���郋�[���̈Ӗ����ύX����Ă��Ȃ�Ȃ��B_ _2. �g���ɖ��O��t����B�g���ɂ͈�ӂ�URL���w�肳��Ȃ�����Ȃ�Ȃ�**�BURL�ł́A���̊g�����ڍׂɐ� ������l�Ԃɓǂ߂�`���̃h�L�������g���w������ׂ��ł����B�g�����̈�Ӑ���ۏ؂��邽�߁AURL�͂� �̊g���̍쐬�҂����䂷��h���C�����ɂȂ�����Ȃ�Ȃ�**�B 3. �g���ŐV�����߂̖��O���K�v�ȏꍇ�́Anew-clause-name�������g�p���āA���̊g���Œ�`����邻�� ����̐V�����߂Ɏg�p����� extension-clause-name���`����B 4. ���̊g������`����V���������ƒl�̑g�ݍ��킹���`���A���̑g�ݍ��킹���ǂ̐߂Ŏg�p�����̂� ���`����B_ _5. ���̊g���Œ�`�����V���������ƒl�̑g�ݍ��킹�̈Ӗ����`����B���ɁA�g����PICSRules�̊��� �����𖳌��ɂ���ꍇ�́A���̓���͐��m�ɋL�q����Ȃ���΂Ȃ�Ȃ��B�g����PICSRules�̊����̈Ӗ��� �����ɂ���ꍇ�ɂ́A����͕K�{�̊g���ƂȂ�ioptextension �ł͂Ȃ� reqextension ���g�p����j�B

---

�I�v�V�����̊g�����g�p����PICSRules���[���̗�͎��̂悤�ɂȂ�B

 1 (PicsRule-1.1

 2     (

 3         ServiceInfo (

 4             "http://www.coolness.org/ratings/V1.html"

 5             shortname "Cool" 

 6             bureauURL "http://labelbureau.coolness.org/Ratings"

 7             )

 8         Policy (AcceptIf "((Cool.Coolness < 3) or (Cool.Graphics < 3))" )

 9         Policy (RejectIf "otherwise")

10         optextension (

"http://www.si.umich.edu/~presnick/pics/extensions/PRsample.htm" 

11             shortname "extension1")

12         extension1.SampleAttribute (

13             UseExpired "YES" 

14             GroupFile "/etc/ics.grp"

15             )

16     )

17 )

���̗�ł́Ahttp://www.si.umich.edu/\~oresbucj/pics/extensions/Prsample.htm�Ƃ������O�̕t����� ���I�v�V�����̊g���𗘗p����B���̊g���ł́ASampleAttribute �Ƃ����L�[���[�h���`���Ă���B���� �g���𗝉��ł��Ȃ����[�U�G�[�W�F���g�́A�P�� extension1.SampleAttribute�߂Ƃ��̑����ƒl�̑g�ݍ� �킹�i12����14�s�ځj�𖳎����邱�Ƃ��ł���B

�g�����錾�����̂͂P�‚́u���x���v���������A�g���Œ�`���ꂽ�����ƒl�̑g�ݍ��킹��PICSRules���[ ���̂ǂ̏ꏊ�ł��g�p�ł���B�‚܂�A���ׂĂ̊g���͂��� **rule-clause**�� **optextension** �܂���**reqextension**�߂Ő錾���s���ׂ������A�g���Œ�`���ꂽ�����ƒl�̑g�ݍ��킹�̓��[�����̃l�X�g���� �������̑w�Ŏg�p���Ă��悢�B

## �Q�l����

[PicsLabels]

Jim Miller, editor. "PICS Label Distribution Label Syntax and Communication Protocols". http://www.w3.org/PICS/labels.html.

[PicsServices]

Jim Miller, editor. "Rating Services and Rating Systems (and Their Machine Readable Descriptions)". http://www.w3.org/PICS/services.html.

[RFC1034]

Mockapetris, P., "Domain Names - Concepts and Facilities", STD 13, RFC 1034, USC/Information Sciences Institute, November 1987. http://ds.internic.net/rfc/rfc1034.txt

[RFC1123]

R. Braden, editor. "Requirements for Internet Hosts -- Application and Support". http://ds.internic.net/rfc/rfc1123.txt.

[RFC1738]

Tim Berners-Lee et al, "Uniform Resource Locators". http://ds.internic.net/rfc/rfc1738.txt.

[RFC2070]

F. Yergeau, G. Nicol, G. Adams, and M. Duerst. "Internationalization of the Hypertext Markup Language". http://ds.internic.net/rfc/rfc2070.txt.

[RFC822]

David H. Crocker, editor. "Standard for the Format of ARPA Internet Text Messages". http://ds.internic.net/rfc/rfc822.txt.

[UNICODE]

The Unicode Consortium, "The Unicode Standard -- Worldwide Character Encoding -- Version 1.0", Addison- Wesley, Volume 1, 1991, Volume 2, 1992, and Technical Report #4, 1993.

[UTF-8]

ISO/IEC 10646-1:1993 AMENDMENT 2 (1996). UCS Transformation Format 8 (UTF-8).

## �ӎ�

���̃h�L�������g�̍쐬�ɓ������āA�ȉ��̊e���̂����͂Ɋ��ӂ��܂��B�ނ�̏����Ȃ����Ă͂���� �������邱�Ƃ͂ł��܂���ł����B�\���̕ύX���̃e�X�g���”\�ɂ�����̓R�[�h ���쐬����David Shapiro ���ɂ́A���Ɋ��ӂ��Ă���܂��B

Scott Berkun, Microsoft

Jonathan Brezin, IBM

Yang-hua Chu, MIT

Lorrie Cranor, AT&T

Jon Doyle, MIT

Ghirardelli Chocolate Co.

Brian LaMacchia, AT&T

Breen Liblong, NetShepherd

Jim Miller, W3C

Mary Ellen Rosen, IBM

Rick Schenk, IBM

Bob Schloss, IBM

David Shapiro, MIT

Ray Soular, SafeSurf