�i�X�i�аO�y���]XML�^1.0�]�ĤG���^ (original) (raw)

W3C ��ij 2000�~10��6��

�@

������:

http://www.w3.org/TR/2000/REC-xml-20001006 �]XHTML �榡�AXML �榡�APDF �榡�A�Τ��P�C��ХܼW�R�諸 XHTML �f�\���^

�̷s����:

http://www.w3.org/TR/REC-xml

�H�e����:

http://www.w3.org/TR/2000/WD-xml-2e-20000814

http://www.w3.org/TR/PR-xml-971208

�s��:

Tim Bray�ATextuality and Netscape mailto:tbray@textuality.com

Jean Paoli�AMicrosoft mailto:jeanpa@microsoft.com

C. M. Sperberg-McQueen�AUniversity of Illinois at Chicago and Text Encoding Initiative mailto:cmsmcq@uic.edu

Eve Maler, Sun Microsystems, Inc. mailto:elm@east.sun.com - �ĤG��

�K�n

�����ɧ���a�y�z�F�i�X�i�аO�y���]Extensible Markup Language�AXML�^�A���O�Э�q�μаO�y���]Standard Generic Markup Language�ASGML�^���@�Ӥl���C��ت��b�_�ϱo�b Web �W��H�{���W�奻�аO�y���]Hypertext Markup Language�AHTML�^���ϥΤ覡���ѡA�����M�B�z�q�Ϊ� SGML �����i��CXML ���]�p�J�Ҽ{�F��{����K�ʡA�P�ɤ]�U�ΤF�O SGML �M HTML �����ާ@�ʡC

�����ɪ����A

�����ɤw�� W3C ��´�����M��L�����U��f�\�A�}�w�Q��´�z�Ƨ�㬰 W3C ��ij�C�o�O�@��í�w�����ɡA�i�H�Χ@�Ѧҧ��ơA�]�i�H�@����L���ɪ������ѦҤ��m�CW3C �b��ij��w�L�{�����@�άO�l�޹糧��ij���`�N�}�P�i�����s�x�ϥΡC�o��W�jWeb���\��M���ާ@�ʡC

�����ɳW�w�F�@���Τ_ World Wide Web ���y�k�A���y�k�O�q�L���@�ӷ~�w�s�b�}�w�s�x�ϥΪ��奻�B�z��ڼЭ�]�Э�q�μаO�y���A�g�W�ɩM�󥿪� ISO 8879:1986(E)�^���l���ӳЫت��C���O W3C XML ��ʲա]XML Activity�^���u�@���G�A���_ XML ��ʲժ��ԲӫH���i�H�b http://www.w3.org/XML ���C�^�媩�O�ߤ@���������C�����ɪ�½Ķ�� http://www.w3.org/XML/#trans�C�b http://www.w3.org/TR �i�H���{�� W3C ��ij�M��L�޳N���ɪ��@�ӦC���C

XML 1.0 �ĤG�����O XML ���@�ӷs�����]1998 �~ 2 �� 10 �魺���o���^�F���u�O���F��KŪ�̡A�}�J�F�Ĥ@���ɻ~�������X�����~�M�ק�]�b http://www.w3.org/XML/xml-19980210-errata�^�C ���ĤG�����ɻ~���b http://www.w3.org/XML/xml-V10-2e-errata�C

�бN�����ɤ������~���i�� xml-editor@w3.org�C�i�H�b�����������s�ɡC

�`�G

C. M. Sperberg-McQueen �b�Ĥ@���o�����Z��¾���B�w���ܤơC�L�{�b��¾�_ W3C�A�i�H�q�L cmsmcq@w3.org �M�L�p�t�C


1. ����

�i�X�i�аO�y���A�Y�g�� XML�A�y�z�F�@���٬� XML ��������u��H�A�P�ɤ]�����a�y�z�F�B�z�o�Ǽ��u��H���p����{�Ǫ��ʧ@�CXML �O SGML�]�Э�q�μаO�y�� [ISO 8879]�^�w��S�w���λ�쪺�@�Ӥl���A�Ϊ̻��O SGML ���@�������Φ��C���u�w�q�AXML ���O�X�G�W�S�� SGML ���C

XML ���Ѻ٬����^���s�x�椸�զ��A���^�i�H�]�t�w�R�]parsed�^���u�Υ��R�]unparsed�^���u�C�w�R���u���r���զ��A�䤤�@�Ǧr�Ųզ��r�ż��u�A�t�@�Ǧr�Ųզ��аO�C�аO���]�t�F����s�x�榡�]storage layout�^�M�޿赲�۪��y�z�CXML ���ѤF�@�����Τ_�����s�x�榡�M�޿赲�ۡC

[�w�q�G�٬� XML �B�z�����n��Ҷ��Τ_Ū�� XML ���A�s���䤤�����e�M���ۡC] [�w�q�GXML �B�z���Q�]�Q���O���t�@�Ӻ٬��������Ҷ��@�B�z�C] ���W�S�q XML �B�z�����p��Ū�� XML ���u�H�����V���δ��ѭ��ǫH�����o��Ӥ譱�A�y�z�F�n�D XML �B�z���@�X���ʧ@�C

1.1 �}�o�̩M�}�o�ؼ�

XML �� XML �u�@�ա]����� SGML �s��f�d�e���|�^�}�o�A���u�@�ե� World Wide Web Consortium (W3C) �b 1996 �~�D�����ߡC�u�@�ե� Sun Microsystems �� Jon Bosak �t�d�A�P�˥� W3C ��´�� XML SIG (Special Interest Group)�]����� SGML �u�@�ա^�n����O�F XML �u�@�ժ��u�@�CXML �u�@�ժ������b���������X�C�u�@���O W3C ���p�t�H�O Dan Connolly�C

XML ���]�p�ؼЦp�U�G

  1. XML ���ӥi�H�����b�]�S�I�]Internet�^�W�ϥΡC
  2. XML ���Ӥ���j�q���P�����ΡC
  3. XML �����O SGML �ݮe�C
  4. �B�z XML ��󪺵{�����Ӯe���s�g�C
  5. XML �����i�ﶵ���L����a�O���̤֡A�z�Q���p�U���Ӭ� 0 �ӡC
  6. XML ������ӯ�����H�����\Ū�A�ӥB���Ӧ��������iŪ�ʡC
  7. XML ���]�p���ֳt�����C
  8. XML ���]�p���ӬO�Φ��ƪ��A²ϡ���C
  9. XML ��������_�ЫءC
  10. XML �аO��²ϡ�ʬO�̤����n���]�p�ؼСC

���W�S�O��L�������Э�@�_�]Unicode �M ISO/IEC 10646 �w�q�F�r�Ŷ��AInternet RFC1766 �w�q�F�y���ѧO�X�AISO 639 �w�q�F�y���W�٥N�X�AISO 3166 �w�q�F��a�W�٥N�X�^�A���ѤF�z�� XML ���� 1.0 �M�۫ج����p����B�z�{�ǩһݪ��Ҧ��H���C

�b����O�d�Ҧ��奻�M�k�ߪ`�N�ƶ����e���U�A�������� XML �W�S�i�H�ۥѤ��o�C

1.2 �N�y

�Τ_�y�z XML ��󪺳N�y�b���W�S�����夤�w�q�C�b�o�ǩw�q���H�δy�z�@�� XML �B�z�����ʧ@�ɡA�ϥΤF�U�������N�y�G

�i�H�]may�^

[�w�q�G���\�X�G�W�S�����M XML �B�z�����Ҵy�z���覡�u�@�A�����n�D�����p���C]

�����]must�^

[�w�q�G�n�D�X�G�W�S�����M XML �B�z�����Ҵy�z���覡�u�@; �_�h���̥X�{���~�C]

���~�]error�^

[�w�q�G�糧�W�S�����W�h���H�ϡF�䵲�G���̩w�C�X�G�W�S���n��i�H�˴��M���i���~�A�}�i�H�q�����`�C]

�Y�����~�]fatal error�^

[�w�q�G�X�G�W�S�� XML �B�z�������˴���A�}�V���γ��i���@�����~�C�b�J���Y�����~���Z�A�B�z���i�H�~��B�z���u�H�o�{��h�����~�}�i�H�V���γ��i�o�ǿ��~�C���F������~���󥿡A�B�z���i�H�V���δ��Ѥ�󤤥��g�B�z�����u�]�r�ż��u�M�аO���V�X�^�^�C���O�A�@���˴���@���Y�����~�A�B�z����������`���B�z�]�]�N�O���A����������H���`���覡�V���δ����O����޿赲�ۦ��������u�M�H���^�C]

�ѨϥΪ̿�ܡ]at user option�^

[�w�q�G�X�G�W�S���n��i�H�Ϊ̥����]���M�_�y�l�������A�ʵ��^���Ҵy�z���覡�u�@; �p�G�������o�ӱ���A�������P�ɴ��ѨϥΪ̤@����q�A�ϱo�ϥΪ̯���ҥΩM�T�ΩҴy�z���u�@�覡�C]

���ĩʬ����]validity constraint�^

[�w�q�G��Τ_�Ҧ����Ī� XML ��󪺤@���W�h�C�H�Ϧ��ĩʬ����ݤ_���~�F�i������� XML �B�z�������A�ѨϥΪ̿�ܡA���i�o�ǿ��~�C]

�榡���̩ʬ����]well-formedness constraint�^

[�w�q�G��Τ_�Ҧ��榡���̪� XML ��󪺤@���W�h�C�H�Ϯ榡���̩ʬ����ݤ_�Y�����~�C]

�ǰt�]match�^

[�w�q�G�]��_�r�Ŧ�M�W�r�G�^�Q�������Ӧr�Ŧ�ΦW�r���������ۦP�C�b ISO/IEC 10646 �����h���i����ܤ覡���r�š]�Ҧp�A�J���w�w�q (precomposed�^ �Φ��M��r�� (base�^ + �ܭ��ŧΦ����r�š^�u�b��Ӧr�Ŧꤤ�����ܤ覡�ۦP�ɤ~�ǰt�C���i��r�Ū��j�p�g�ഫ�C�]��_��k�����r�Ŧ�M�W�h�G�^�p�G�@�Ӧr�Ŧ��ݤ_�@�Ӥ�k���ͦ����ͪ��y���A�h���ǰt�o�Ӳ��ͦ��C�]��_���e�M���e�ҫ��G�^���@�Ӥ����ŦX "�������ĩ�"���������y�z�ɡA���ǰt���n���C]

�X�_�ݮe�ʦҼ{�]for compatibility�^

[�w�q�G���X���y�y�z�� XML �S�ʧ����u�O���F�M SGML �O���ݮe �C]

�X�_���ާ@�ʦҼ{�]for interoperability�^

[�w�q�G���X���y�O�@�Ӥ�������ʪ���ij�A�ت��O�W�[ XML ����Q�b ISO 8879 �� WebSGML ��s���󤧫e�w���� SGML �B�z���B�z���i��ʡC]

2. ���

[�w�q�G�p�G�@�Ӽ��u��H�������W�S���榡���̪����w�q�ɡA���O�@�� XML ����C�@�Ӯ榡���̪� XML ���i�H��i�@�B�O���Ī��A�p�G�������Y�Ƕi�@�B���������ܡC]

�C�@�� XML ��󳣦��޿�M���z���ۡC���z�W�Ө��A���Ѻ٬����^���椸�զ��C�@�ӹ��^�i�H�ޥΡ]refer�^��L���^�A�N���̥]�t�b��󤤡C���}�l�_"�ڡ]root�^"�������^�C�޿�W�Ө��A�����n���A�����A�`���A�r�ŤޥΩM�B�z���O�զ��A�Ҧ��o�dz��b��󤤥��㦡�аO�����C�޿�M���z���ۥ����p"4.3.2 �榡���̪��w�R���^"���Ҵy�z�������Y��a�O�M�C

2.1 �榡���̪� XML ���]Well-Formed XML Documents�^

<ame="dt-wellformed"></ame="dt-wellformed">[�w�q�G�@�Ӥ奻��H�O�@�Ӯ榡���̪� XML ���p�G�������G]

  1. �@���@�Ӿ��^�A���ǰt document ���ͦ��C
  2. ���������W�S���w�q���Ҧ��榡���̩ʬ����C
  3. ����󤤪����ζ����ޥΪ��C�@���w�R���^���O�榡���̪��C
���

�ǰt document���ͦ��N���ۡG

  1. ���]�t�@�өΦh�������C
  2. [�w�q�G���B�Ȧ��@�Ӻ٬��ڡ]root�^�Τ�󤸯��������A�����X�{�b��L���󤸯������e�]content�^���C] ��_��L�Ҧ������A�p�G�_�l��ñ�b�t�@�Ӥ��������e���A�h�䵲����ñ�]�b�P�@���������e���C���@�ӧ�²�檺���k�A�H�_�l��ñ�M������ñ���ɪ��U�Ӥ����A�����Y��a�O�M�C

[�w�q�G�o�˰������G�O�A��_�C�@�ӫD�ڪ����� C�A��󤤥t���@�Ӥ��� P�AC �b P �����e���A�Ӥ��b��L����Q P�ҥ]�t�����������e���CP �Q�٬� C ���������]parent�^�A�� C �Q�٬� P ���l�����]child�^�C]

2.2 �r��

[�w�q�G�@�Ӥw�R���^�]�t�奻�]text�^�A�奻�O�@���r�š]character�^�ǦC�A�i�H���ܼаO�Φr�ż��u�C] [�w�q�G�@���r���O ISO/IEC 10646 [ISO/IEC 10646]�]�� [ISO/IEC 10646-2000]�^���w�q���奻�̤p�椸�C�X�k���r�ť]�A����šA�^���A����H�� Unicode �M ISO/IEC 10646 ���w�q���X�k�r�šC�b��w�����ɮɡA�b���� A.1 �����ѦҤ��m���ޥΪ��Э㳣�O���ɪ��̷s�����A�b�o�ǼЭ㪺�W�ɪ��ηs�����i��|�[�J�s���r�šC�]���AXML �B�z�������౵�����ͦ� Char���ҩw�q�S�򤺪����N�r�šC�����Ҩϥ� [Unicode] 6.8 �`�]�� [Unicode3] 3.6 �` D21 �^���w�q��"�ݮe�r�š]compatibility characters�^"�C]

�r�ŭS��
[2] Char ::= #x9 | #xA #xD [#x20-#xD7FF] [#xE000-#xFFFD] [#x10000-#x10FFFF] /* ���F�N�ζ��]surrogate block�^�AFFFE �M FFFF �H�~�����N Unicode �r�šC*/

�N�r�ťN�X�s�X����Ҧ������U�ӹ��^���i��|���Ҥ��P�C�Ҧ��� XML �B�z���������� 10646 ���� UTF-8 �M UTF-16 �s�X�F�Τ_���X�ҥνs�X�Ϋ��w�ϥΨ�L�s�X�����b�Z����"4.3.3 ���^�����r�Žs�X"���Q�סC

2.3 �q�λy�k����

���`���w�q�F�@�Ǧb��k���s�x�ϥΪ��Ÿ��C

S�]�ťա^�]�A�@�өΦh�ӪŮ�r�š]#x20�^�A�^���A����M����šC

�ť�
[3] S ::= (#x20 | #x9 #xD #xA)+

����K�_���A�r�ųQ�����r���A�Ʀr�M��L�r�ŤT���C�r���i�H�O�r���������r���A�άO�@�ӭ��`��r�š]syllabic base character�^�A�]�i�H�O�@�Ӫ��N�r�šC�b"B. �r�Ū�����"�����X�F�C�@���r�Ū�����w�q�C

[�w�q�G�W�r�]name�^�O�H�r���άY�Ǽ��I�Ÿ��}�Y���O���A�Z��r���A�Ʀr�A�s�r�šA�U�E�u�A�_���Υy���A�o�DzŸ��κ٬��R�W�r�š]name character�^�C] �H "xml" �Ψ�L����ǰt (('X'|'x') ('M'|'m') ('L'|'l')) ���r�Ŧ�}�Y���W�r�A�Q�O�d�Τ_���W�S���������ΦZ�򪩥����Э�ơC

�`�G

XML ��ij�����W�� [XML Names] �ᤩ�F�]�t�_�����W�r�Y���t�q�C�]�����D�Τ_�W��AXML ���@�̤����Ӧb XML �W�r���ϥΫ_���A�� XML �B�z�����ӱ����_���@���@�өR�W�r�šC

Nmtoken�]�W�r�O���Aname token�^�O����R�W�r�Ū��V�X�^�C

�W�r�M�O��
[4] NameChar ::= Letter | Digit '.' '-' '_' ':' CombiningChar Extender
[5] Name ::= (Letter | '_' ':') (NameChar)*
[6] Names ::= Name (S Name)*
[7] Nmtoken ::= (NameChar)+
[8] Nmtokens ::= Nmtoken (S Nmtoken)*

�`�q���u�O����Τ޸��A�_���r�Ŧ�A���]�A�Χ@�w�ɲŪ��޸��C�`�q�Τ_�����������^�����e�]EntityValue�^�A�ݩʭȡ]AttValue�^�A�H�Υ~�����Ѳš]SystemLiteral�^�C�`�N�A�� SystemLiteral���y�k���R�i�H�����y�аO�C

�`�q
[9] EntityValue ::= '"' ([^%&"] | PEReference Reference)* '"'
| "'" ([^%&'] PEReference Reference)* "'"
[10] AttValue ::= '"' ([^<&"] | Reference)* '"'
| "'" ([^<&'] Reference)* "'"
[11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'")
[12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'"
[13] PubidChar ::= #x20 | #xD #xA [a-zA-Z0-9] [-'()+,./:=?;!*#@$_%]

�`�G

���M���ͦ� EntityValue���\�w�q�u�]�t��� < �����^�]�p�A<!ENTITY mylt "<">�^�A���O�j�P��ij�קK�o���Ϊk�A�]���惡���^������ޥγ��|�ް_�@�Ӯ榡���̩ʿ��~�C

2.4 �r�ż��u�M�аO

�奻���r�ż��u�M�аO�V�X�ۦ��C[�w�q�G�аO�]�A�_�l��ñ�A������ñ�A�Ť�����ñ�A���^�ޥ��A�r�Ťޥ��A�`���ACDATA �q�w�ɲšA��������n���A�B�z���O�AXML �n���A�奻�n���A�H�Υ���b�����^���h���ťա]�Y�A�b��󤸯����~�B���b�����L���аO���^�C]

[�w�q�G��L�Ҧ��D�аO���奻�զ�����r�ż��u�C]

"and"���]&�^�M���y�A���]<�^_�u��_�@���аO�w�ɲšA�Φb�`���A�B�z���O�A�� CDATA �q���ɤ~��H�`�q�Φ��X�{�C�p�G�b��L�a��ݭn�Ψ�o��Ӧr�šA���̥������ƭȦ��r�Ťޥ�����q�Τ��O�Φr�Ŧ�"&amp;"�M"&lt;"���ܡC�k�y�A��(>�^�i�H��"&gt;"���ܡA�ӷ����b���e�����r�Ŧ�"]]>"���X�{�A�����r�Ŧꤣ���ܤ@�� CDATA �q�������ɡA�X�_�ݮe�ʦҼ{�A������"&gt;"�Τ@�Ӧr�Ťޥ���q�o��C

�b�@�Ӥ��������e���A�r�ż��u�i�H�O���]�A����аO���_�l�w�ɲŪ����N�r�Ŧ�C�b�@�� CDATA �q���A�r�ż��u�i�H�O���]�A CDATA �q�����w�ɲ�"]]>"�����N�r�Ŧ�C

���F���\�b�ݩʭȤ��]�t��޸��M���޸��A�ٲ��ũκٳ�޸��]'�^�i�H�Q���ܬ�"&apos;"�A�����޸��]"�^�i�H�Q���ܬ�"&quot;"�C

�r�ż��u
[14] CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*)

2.5 �`��

[�w�q�G**�`��**�i�H�b��L�аO���~����󤤪������m�X�{�C�t�~�A���̥i�H�b��������n������k���\���a��X�{�C���̤��O����r�ż��u���@�����AXML �B�z���i�H�A�����O�����A���\�@�������˯��`�����奻�C�X�_�ݮe�ʦҼ{�A�r�Ŧ�"--"�]���s�r�š^����b�`�����X�{�C] �`�������Ѽƹ��^���Q�ѧO�C

�`��
[15] Comment ::= ''

�`�����@�ӨҤl�G

<!-- declarations for <head> & <body> -->

�`�N�A����k�����\�`���H ---> �����C�U�����Ҥl_���O_�榡���̪��C

2.6 �B�z���O

[�w�q�G�B�z���O�]PI�^���\��󤤥]�t�����ΨӳB�z�����O�C]

�B�z���O
[16] PI ::= '' Char*)))? '?>'
[17] PITarget ::= Name - (('X' | 'x') ('M' 'm') ('L' 'l'))

PI ���O����r�ż��u���@�����A�������ǻ������ΡCPI �H�Τ_���ܶǻ����������Ϊ��ؼС]PITarget�^�}�Y�C�ؼЦW�r "XML"�A"xml"�A�����A�O�d�Τ_���W�S���������ΦZ�򪩥����Э�ơCXML �O�k���i�H�Τ_ PI �ؼЪ��Φ����n���C�Ѽƹ��^�b�B�z���O�����Q�ѧO�C

2.7 CDATA �q

[�w�q�GCDATA �q�i�H�X�{�b�r�ż��u�i�H�X�{������a��A���̥Τ_��q�]�t�|�Q�ѧO���аO���r�Ŧꪺ�奻���CCDATA �q�H�r�Ŧ� "<![CDATA[" �}�l�A�H�r�Ŧ� "]]>" �����G]

CDATA �q
[18] CDSect ::= CDStart CData CDEnd
[19] CDStart ::= '<![CDATA['
[20] CData ::= (Char* - (Char* ']]>' Char*))
[21] CDEnd ::= ']]>'

�b�@�� CDATA �q���A�u�� CDEnd�r�Ŧ�Q�ѧO���аO�A�]�����y�A���M"&"�i�H�H���̪��`�q�Φ��X�{�A���ݭn�]�]����^�Q���X��"&lt;"�M"&amp;"�CCDATA �q����O�M�C

�@�� CDATA �q���Ҥl�A�䤤"<greeting>"�M"</greeting>"�Q�ѧO���r�ż��u�A�Ӥ��O�аO�G

<![CDATA[<greeting>Hello, world!</greeting>]]>

2.8 �Ǩ��]prolog�^�M��������n��

[�w�q�GXML ������ӥH�@�� XML �n���}�l�A�䤤�����F�ҥ� XML �������C] �Ҧp�A�H�U�O�@�ӧ��㪺 XML ���A���O�榡���̪��A�����O���Ī��G

<?xml version="1.0"?> <greeting>Hello, world!</greeting>

�U���o�Ӥ]�P�ˡG

<greeting>Hello, world!</greeting>

������ "1.0" ���ӥΤ_�����O���W�S���������ۤ@�P�A�p�G�ϥΤF�� "1.0" ���S�O���W�S�����������@�P�A���\�o�O��󪺤@�ӿ��~�CXML �u�@�ե���ᤩ���W�S���Z�򪩥����P�_ "1.0" ���ƭȡA���o�}���N���}�o�Z�򪩥����ӿաA�]���N���p�G���Z�򪩥��A�|�ϥΥ���S�����R�W��ת��ӿաC�]�����ư����Z�򪩥����i��ʡA���ѤF���۳y�]construct�^�@���@���ݭn�ɶi��۰ʪ����ѧO����q�C���B�z�����쪺���Ц����̤�����������ɡA�i�H���X�@�ӿ��~�C

XML ��󤤼аO���\��O�y�z��󪺦s�x�榡�M�޿赲�ۡA�}�N�ݩ�-�ȹ�M�޿赲�����p�_�ӡCXML ���Ѥ@���٬���������n�������A�Τ_�w�q���޿赲�۪������A����w�w�q�s�x�椸���ϥΡC[�w�q�G�p�G�@�� XML ��󦳬�������������n���}�B�����`�䤤�������A�h�٥��O���Ī��]valid�^�C]

��������n��������_���Ĥ@���������e�C

�Ǩ�
[22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?
[23] XMLDecl ::= ''
[24] VersionInfo ::= S 'version' Eq ("'" VersionNum "'" | '"' VersionNum '"')/* */
[25] Eq ::= S? '=' S?
[26] VersionNum ::= ([a-zA-Z0-9_.:] | '-')+
[27] Misc ::= Comment | PI S

[�w�q�GXML ��������n���]�t�Ϋ��V�аO�n���A�аO�n�����ѬY�@����󪺤�k�C�o����k�Q�٬���������w�q�]document type difinition�ADTD�^�C��������w�q�i�H���V�@�ӥ~���l���]�@���S���������~�����^�^�A�Ϊ̥i�H�b�@�Ӥ����l���������]�t�аO�n���A�Ϊ̨�̭ݥΡC�@�Ӥ�󪺤�������w�q�ѳo��Ӥl���X�b�@�_�զ��C]

[�w�q�G**�аO�n��**�i�H�O���������n���A�ݩʪ��n���A���^�n���A�άO�O�k�n���C] �o���n���i�H�p�U���榡���̩ʩM���ĩʬ������ҭz�A�����γ����a�]�t�b�Ѽƹ��^���A"4. ���z����"������h���H���C

��������w�q
[28] doctypedecl ::= '<!DOCTYPE' S Name (S ExternalID)? S? ('[' (markupdecl | DeclSep)* ']' S?)? '>' [VC: �ڤ�������]
[WFC: �~���l��]
/* */
[28a] DeclSep ::= PEReference | S [WFC: �n�������Ѽƹ��^]
/* */
[29] markupdecl ::= elementdecl | AttlistDecl EntityDecl NotationDecl PI Comment [VC: �Y�檺�n��/�Ѽƹ��^�O�M]
[WFC: �����l�������Ѽƹ��^]

�`�N�A�n�۫إ]�t�F�@�ӬJ�����V�~���l���]���]�t�����l���� doctypedecl�Ӯ榡���̪����O�i�઺�C

�аO�n���i�H�����γ����a���Ѽƹ��^���m���奻�զ��C���W�S�Z�����U�ӫD�׵��š]elementdecl�AAttlistDecl�A�����^���ͦ��y�z���O�b�Ҧ����Ѽƹ��^�Q�]�t�]include�^_���Z_���n���C

���F�b�`�q�A�B�z���O�A�`���M�Q����������q�����e���X�{���Ѽƹ��^�ޥΥH�~�ADTD ������L����a��]�����Υ~���l���H�Υ~���Ѽƹ��^�^���Ѽƹ��^�ޥγ��Q�ѧO�]�� 3.4 ����q�^�C�b���^�ȱ`�q�����Ѽƹ��^�ޥΤ]�Q�ѧO�C�����l�����Ѽƹ��^�ޥΪ��ϥέ���p�U�ҭz�C

���ĩʬ���: �ڤ��������]Root Element Type�^
��������n������ Name�����ǰt�ڤ����������C

���ĩʬ���: �Y�檺�n��/�Ѽƹ��^�O�M
�Ѽƹ��^���m���奻�����μаO�n���Y��O�M�C�Y�A�p�G�@�ӼаO�n���]�W���� markupdecl�^���Ĥ@�өγ̦Z�@�Ӧr�ųQ�]�t�_�@���Ѽƹ��^�ޥ����m���奻���A��̥������b���m���奻���C

�榡���̩ʬ���: �����l�������Ѽƹ��^

�b���� DTD �l�����A�Ѽƹ��^�ޥ��u��X�{�b�аO�n���i�H�X�{���a��A�Ӥ���b�аO�n�������X�{�C�]�o�Ӭ�������Τ_�X�{�b�~���Ѽƹ��^�����ޥΡA�]����Τ_�~���l���C�^

�榡���̩ʬ���: �~���l��

�~���l���]�p�G�����ܡ^�����ǰt���ͦ� extSubset�C

�P�����l���@�ˡA�~���l���M���� DeclSep���ޥΪ��~���Ѽƹ��^�A�����Ѥ@�t�C�Q�D�׵��� markupdecl�Ҥ��\�����㪺�аO�n���զ��A�䤤�i�H�����ťզr�ũ��Ѽƹ��^�ޥ��C���O�A�~���l���M�~���Ѽƹ��^���������e�i�H�q�L�ϥ�����q�]conditional section�^�Q������a�����A�b�����l�����h�����\�o�\���C

�~���l��
[30] extSubset ::= TextDecl? extSubsetDecl
[31] extSubsetDecl ::= ( markupdecl | conditionalSect DeclSep)* /* */

�~���l���M�~���Ѽƹ��^�O�������^���P���B�٦b�_�G�b���̤��A�Ѽƹ��^�ޥ����ȥi�H�X�{�b�аO�n��_��_�A�٥i�H�X�{�b�аO�n��_��_�C

����������n���� XML ��󪺨Ҥl�G

<?xml version="1.0"?> <!DOCTYPE greeting SYSTEM "hello.dtd"> <greeting>Hello, world!</greeting>

�t�μ��Ѳ�"hello.dtd" ���X�F����� DTD ���a�}�]�@�� URI �ޥΡ^�C

�n���]�i�H�p�P�U���o�ӨҤl�@�˪����]locally�^���X�G

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE greeting [ <!ELEMENT greeting (#PCDATA)> ]> <greeting>Hello, world!</greeting>

�p�G�P�ɨϥΥ~���M�����l���A�l���l���Q�ݦ��X�{�b�~���l�����e�A�o�N���ۤ����l���������^�M�ݩʪ��n����ɬ���ŭn��b�~���l���������C

2.9 �W�ߤ���n��

�����q XML �B�z���������ήɡA�аO�n���i�H�v�T�������e�A�ݩʯʬ٭ȩM���^�n���O�䤤���Ҥl�C�i�H�@�� XML �n���@�Ӧ������W�ߤ���n���A�����F�O�_�s�b�ۦb�����^�~�Φb�Ѽƹ��^�����n���C[�w�q�G�~���аO�n���Q�w�q���X�{�b�~���l���ΰѼƹ��^�]�~���Τ����A�]�A�����Ѽƹ��^�O�]���}���j��i��������B�z��Ū���䤤���аO�n���^�����аO�n���C]

�W�ߤ���n��
[32] SDDecl ::= S 'standalone' Eq (("'" ('yes' | 'no') "'") ('"' ('yes' 'no') '"')) [VC: �W�ߤ���n��]

�b�@�ӿW�ߤ���n�����A�� "yes" ���ܹ�_�����^�S���~���аO�n���]���׬O�b DTD �~���l�����A�٬O�b�Ѥ������^�ޥΪ��~���Ѽƹ��^���^�|�v�T�q XML �B�z���ǻ������Ϊ��H���C�� "no" ���ܦ��Υi�঳�o�˪��~���аO�n���C�`�N�A�W�ߤ���n���u�O���ܥ~��_�n��_���s�b�A�p�G��󤤦s�b��~��_���^_���ޥΡA�ӳo�ǹ��^�w�b�����n���ɡA���v�T�����W�ߪ��A�C

�p�G���s�b�~���аO�n���A�W�ߤ���n���S���N�q�C�p�G�s�b�~���аO�n���A���S���W�ߤ���n���A�N���w���� "no"�C

�Y���I���ǿ����Τ]�\�ݭn�W�ߪ����A���󺡨� standalone="no" �� XML ���i�H�q�L�@�w����k�ഫ���W�ߤ��C

���ĩʬ���: �W�ߤ���n��
�W�ߤ���n���������Ȭ� "no"�A�p�G����~���аO�n�����]�t�G

�㦳�W�ߤ���n���� XML �n�����Ҥl�G

<?xml version="1.0" standalone='yes'?>

2.10 �ťճB�z

�b�s�� XML ���ɡA�ϥ�"�ť�"�]�Ů�A����šA�Ŧ�^�Ӥ��}�аO�H��o��n���iŪ�ʬO�ܤ�K���C�q�`�b��󪺥�I���������Q�]�t�o�ǪťաC�t�@�譱�A�����O�d�b��I�����������N�q���ťլO�ܱ`�����A�p�b�ֺq�M���X�����ťաC

XML �B�z�������l�ק⤣�O�аO���Ҧ��r�Ŷǻ������ΡC�@���i������� XML �B�z�������P�ɳq�����γo�Ǧr�Ť������@�Dzզ��F�X�{�b���������e�����ťաC

�i�H�b���������[�@�ӦW�� xml:space ���S���ݩ��A�H�q���������ӫO�d�����������ťաC�b���Ī���󤤡A���ݩʩM��L�ݩʤ@�ˡA�ϥήɥ����n���C�������Q�n�����T�|�����A�i�H���� "default" �M "preserve" ��̤��@�A�]�i�H��ӳ����C�Ҧp�G

"default" ���ܥi�H�惡�����ϥ����Ϊ��ʬ٪ťճB�z�Ҧ��A"preserve" �����������ӫO�d�Ҧ����ťաC�o��Τ_��ҳB���������e�����Ҧ������A���D�Q�t�@�� xml:space �ݩʪ���ҩ��л\�C

�������ڤ����Q�{�������Ϊ��ťճB�z�覡���@�n�D�A���D�������ݩʽ�F�ȩαN���ݩ��n�����a�ʬ٭ȡC

2.11 ����B�z

���s�誺��K�_���A�s�x XML �w�R���^���p������g�`�Φ�Ӳ�´�C�q�`�o�Ǧ�Φ^���š]#xD�^�M����š]#xA�^���@�DzզX�Ӥ��j�C

���F�����Ϊ��u�@²��ơAXML �B�z�����b�N�r�Ŷǵ����Ϋe�A�N�~���w�R���^�]�]�A�����^�^������r�ŧǦC "#xD#xA" �ΨS�����H #xA �� #xD �b�i��y�k���R�e�ഫ����� #xA �r�šC

2.12 �y������

�b�i����B�z�ɡA���ѥX�䤺�e�ҨϥΪ��۵M�ΧΦ��ƻy���g�`�O�ܦ��Ϊ��C�i�H�b��󤤴��J�@�ӦW�� xml:lang ���S���ݩ��Τ_���X XML ��󤤥��󤸯������e�M�ݩʩҨϥΪ��y���C�b���Ī���󤤡A���ݩʩM��L�ݩʤ@�ˡA�ϥήɥ����n���C���ݩʪ��ȬO [IETF RFC 1766]�ATags for the Identification of Languages �Ψ�Z�� ITEF �Э㤤�w�q���y�����ѲšC

�]���ͦ� 33 �� 38 �w�Q�R���C�^

�|�Ҧp�U�G

`

The quick brown fox jumps over the lazy dog.

What colour is it?

What color is it?

Habe nun, ach! Philosophie, Juristerei, und Medizin und leider auch Theologie durchaus studiert mit hei�em Bem�h'n. `

xml:lang �Ҫ��ܪ��y�������Τ_���ҳB�������Ҧ��ݩʩM���e�A���D�Q�����e�������������t�@�� xml:lang ����ҩ��л\�C

xml:lang ���@��²���n���i�H���Φp�U�Φ��G

xml:lang NMTOKEN #IMPLIED

���O�p�G�X�쪺�ܡA�]�i�H���X�S�w���ʬ٭ȡC�b�@���ѭ^��ǥͨϥΪ��k��ֺq�����A���`�M�`�Ѩϥέ^�y�Axml:lang �ݩʥi�H�o���n���G

<!ATTLIST poem xml:lang NMTOKEN 'fr'> <!ATTLIST gloss xml:lang NMTOKEN 'en'> <!ATTLIST note xml:lang NMTOKEN 'en'>

3. �޿赲��

[�w�q�G�C�� XML ����]�t�@�өΦh�������A���̪���ɥ��_�l��ñ�M������ñ���j�A�Ϊ̡A��_�������A�Τ@���Ť�����ñ���j�C�C�@�Ӥ������@�ӥΦW�r���Ѫ������A���ɺ٤�������"�q�μ��Ѳš]generic identifier�^"�]GI�^�A�P�ɥ��i�H���@���ݩʭȻ����]attribute specification�^���C] �C�@���ݩʭȻ������@���W�r�M�@�����C

����
[39] element ::= EmptyElemTag
| STag content ETag [WFC: ���������ǰt]
[VC: �������ĩ�]

���F���Ƕ}�Y�ǰt(('X'|'x')('M'|'m')('L'|'l'))���W�r�O�d�Τ_���W�S���������M�Z�~�������Э�ƥ~�A���W�S���露�������M�ݩʪ��y�q�A�Ϊk�M�W�r�]�y�k���~�^�@�X����C

�榡���̩ʬ���: ���������ǰt
����������ñ���� Name�����M�_�l��ñ�������������ۤǰt�C

���ĩʬ���: �������ĩ�
�p�G���@���O elementdecl�ۤǰt���n���� Name�O���������ۤǰt�A�B�U�z���@���߮ɡA�٦������O���Ī��G

  1. ���n���O EMPTY �ۤǰt�A�P�ɦ������S�����e�C
  2. ���n���O children �ۤǰt�A�P���l�������ǦC�ݤ_���e�ҫ��������h���F���Ҳ��ͪ��y���A�b�_�l��ñ�M�Ĥ@�Ӥl���������A�l���������H�γ̦Z�@�Ӥl�����M������ñ�������\���ťա]�ǰt�D�׵��� S ���r�š^�C�`�N�A�ȥ]�A�ťժ� CDATA �q���ǰt�D�׵��� S�A�]������b�o�Ǧ�m�X�{�C
  3. ���n���O Mixed �ۤǰt�A�P�ɤ��e�Ѩ������ǰt���e�ҫ������W�r���r�ż��u�M�l�����զ��C
  4. ���n���O ANY �ۤǰt�A�P�ɨC���l�������������w�n���C

3.1 �_�l��ñ�A������ñ�M�Ť�����ñ

[�w�q�G�C�@�ӫD�� XML �����H�@���_�l��ñ�@���}�l���аO�C]

�_�l��ñ
[40] STag ::= '<' Name (S Attribute)* S? '>' [WFC: �ߤ@���ݩʭȻ���]
[41] Attribute ::= Name Eq AttValue [VC: �ݩʭ�����]
[WFC: �L�~�����^�ޥ�]
[WFC: �b�ݩʭȤ��S��<]

�_�l��ñ�M������ñ���� Name���X�F�����������C[�w�q�GName-AttValue��Q�κ٬��������ݩʭȻ���]�A[�w�q�G�䤤�C�@�襤�� Name�Q�٬��ݩʦW]�A[�w�q�GAttValue�����e�]�b'��"�w�ɲŶ����奻�^�Q�٬��ݩʭ�]�C�`�N�A�b�_�l��ñ�M�Ť�����ñ���U���ݩʭ��n�������ǨS���N�q�C

�榡���̩ʬ���: �ߤ@���ݩʭȻ���
�@���ݩʦW�u��b�P�@�Ӱ_�l��ñ�ΪŤ�����ñ���X�{�@���C

���ĩʬ���: �ݩʭ�����
�ݩʥ����Q�n���A��ȥ����㦳���n���������C�]�ݩ������Ѩ�"3.3 �ݩʪ��n��"�C�^

�榡���̩ʬ���: �L�~�����^�ޥ�
�ݩʭȤ���]�t��~�����^�����ζ��������^�ޥΡC

�榡���̩ʬ���: �b�ݩʭȤ��S�� **<**
�b�@���ݩʭȤ������ζ����ޥΪ����^���m���奻����]�t < �C

�_�l��ñ���@�ӨҤl�G

<termdef id="dt-dog" term="dog">

[�w�q�G�Ѥ@�Ӱ_�l��ñ�}�l���C�@�Ӥ��������Τ@��������ñ�аO�䵲���A������ñ�����W�r�����O�_�l��ñ�����X�����������ۦP�G]

������ñ
[42] ETag ::= '</' Name S? '>'

������ñ���@�ӨҤl�G

[�w�q�G�b�_�l��ñ�M������ñ�����奻�Q�٬����������e�G] ���������e

[43] content ::= CharData? ((element | Reference CDSect PI Comment) CharData?)* /* */

[�w�q�G�٨S�����e�������䤺�e�����C] �Ť����i�H�Τ@�Ӱ_�l��ñ���@�ӵ�����ñ���覡�ΪŤ�����ñ�Ӫ��ܡC[�w�q�G�Ť�����ñ���@���S�����Φ��G]

�Ť�����ñ
[44] EmptyElemTag ::= '<' Name (S Attribute)* S? '/>' [WFC: �ߤ@���ݩʭȻ���]

���פ����O�_������r EMPTY �n���A�Ť�����ñ���i�H�Τ_����S�����e�������C�X�_���ާ@�ʦҼ{�A�Ť������ӥΤ_�A�B�u���Τ_�n���� EMPTY �������C

�Ť������Ҥl�G

<IMG align="left" src="http://www.w3.org/Icons/WWW/w3c_home" /> <br></br> <br/>

3.2 ���������n��

�X�_������ت��A�i�H�Τ��������M�ݩʪ��n������ XML ��������������ۡC���������n������F���������e�C

���������n���q�`����F�l�����������C�ѨϥΪ̿�ܡA���n�����쪺���������S���������n���ɡAXML �B�z���i�H���Xĵ�i�A���o���O�@�ӿ��~�C

[�w�q�G���������n�������p�U�G]

���������n��
[45] elementdecl ::= '<!ELEMENT' S Name S contentspec S? '>' [VC: �ߤ@�����������n��]
[46] contentspec ::= 'EMPTY' | 'ANY' Mixed children

�䤤 Name���X�F���n�������������C

���ĩʬ���: �ߤ@�����������n��
���������u���n���@���C

���������n�����Ҥl�G

<!ELEMENT br EMPTY> <!ELEMENT p (#PCDATA|emph)* > <!ELEMENT %name.para; %content.para; > <!ELEMENT container ANY>

3.2.1 ���������e

[�w�q�G���Y�@�����������u��]�t�Υi��ťա]�ǰt�D�׵��� S�^���j���l�����]�L�r�ż��u�^�ɡA�٦����������㦳���������e�C] [�w�q�G�b�o�����p�U�A�����e�ҫ��@����������@�A���e�ҫ��O�M�w�l���������M�l�����X�{���Ǫ��@��²���k�C] ����k�Τ��e�ɤl�] cp�^�۫ءA���e�ɤl�ѦW�r�A���e�ɤl����ܪ��]choice list�^�Τ��e�ɤl���ǦC���]sequence list�^�զ��G

���������e���ҫ�
[47] children ::= (choice | seq) ('?' '*' '+')?
[48] cp ::= (Name | choice seq) ('?' '*' '+')?
[49] choice ::= '(' S? cp ( S? '|' S? cp )+ S? ')' /* */
/* */
[VC: �Y�檺��/�Ѽƹ��^�O�M]
[50] seq ::= '(' S? cp ( S? ',' S? cp )* S? ')' /* */
[VC: �Y�檺��/�Ѽƹ��^�O�M]

�䤤�C�@�� Name�O�i�H�@���l�����������������C��ܪ����X�{�����N���e�ɤl�b���������e�����\�X�{����m�����_��ܪ��b��k������m�C�ǦC�����X�{���Ҧ����e�ɤl�����H�ۦP�����ǥX�{�b���������e���C�b�W�r�Ϊ����Z���i��r�š]optional character�^�M�w�F���������Τ��e�ɤl�i�H�X�{�@���Φh���]+�^�A�٬O�s���Φh���]*�^�A�άO�s���Τ@���]?�^�C�S���o�ˤ@�Ӿާ@�ŷN���ۤ����Τ��e�ɤl������n�X�{�@���C�o���y�k�M�N�q�M���W�S�������ͦ����ҨϥΪ��ۦP�C

���B�ȷ��@�Ӥ��������e�i�H�q�L�������e�ҫ�������ܡA�ǦC�M���`�ާ@�űo��A�}�B���e�����C�@�Ӥ����O���e�ҫ������@�����������ۤǰt�ɡA�٦����������e�O�Ӥ��e�ҫ��ۤǰt�C�X�_�ݮe�ʦҼ{�A �p�G��󪺬Y�Ӥ����i�H�M���e�ҫ������@�����������h���ǰt�A�o�O�@�ӿ��~�C ��ԲӪ��H���Ѩ�"E. �̩w�����e�ҫ�".

���ĩʬ���: �Y�檺��/�Ѽƹ��^�O�M
�Ѽƹ��^���m���奻�����ѬA���A�_�����Y��O�M�C�Y�A�p�G choice�Aseq �� Mixed�y�k�������}�l�ε����A���X�{�b�Y���Ѽƹ��^���m���奻���A��̥����P�b���m���奻���C

�X�_���ާ@�ʦҼ{�A�p�G�@�ӰѼƹ��^�ޥΥX�{�bchoice�Aseq��Mixed�y�k�������ɡA�����m���奻�ܤ����ӥ]�t�@�ӫD�Ŧr�šA�P�ɨ�m���奻���Ĥ@�өM�̦Z�@�ӫD�Ŧr�ų��������@�ӳs���š]|�� ,�^�C

���������e���ҫ��|�ҡG

<!ELEMENT spec (front, body, back?)> <!ELEMENT div1 (head, (p | list | note)*, div2*)> <!ELEMENT dictionary-body (%div.mix; | %dict.mix;)*>

3.2.2 �V�X�����e�]Mixed Content�^

[�w�q�G���Y���������i�H�]�t�r�ż��u�A�䶡�i�H�H�N�ﴡ�l�����ɡA�٦����������㦳�V�X�����e�C] �b�o�����p�U�A��l�����������i�঳�ҭ���A���復�̪����ǩM�X�{���ƨS������G

�V�X�����e�n��
[51] Mixed ::= '(' S? '#PCDATA' (S? '|' S? Name)* S? ')*'
| '(' S? '#PCDATA' S? ')' [VC: �Y�檺��/�Ѽƹ��^�O�M]
[VC: �L���`����]

�䤤 Name���X�F�l�����������������C����r #PCDATA �Ӧ۳N�y"�w�R�r�ż��u�]parsed character data�^"�Ө�

���ĩʬ���: �L���`����
�P�@�W�r�b��ӲV�X�����e�n�����u��X�{�@���C

�V�X���e�n�����Ҥl�G

<!ELEMENT p (#PCDATA|a|ul|b|i|em)*> <!ELEMENT p (#PCDATA | %font; | %phrase; | %special; | %form;)* > <!ELEMENT b (#PCDATA)>

3.3 �ݩʪ��n��

�ݩ��Τ_���p�W�r-�ȹ�M�����C�ݩʭȻ����u��b�_�l��ñ�M�Ť�����ñ���X�{; �]���A�Τ_�ѧO���̪����ͦ��X�{�b"3.1 �_�l��ñ�A������ñ�M�Ť�����ñ"���C�ݩʪ��n���i�H�Τ_�G

[�w�q�G�ݩʪ��n���Բӻ����F�O���w�������������p���C�@���ݩʪ��W�r�A���u�����M�ʬ٭ȡ]�p�G�����ܡ^�G]

�ݩʪ��n��

AttlistDecl�W�h�� Name�O�����������C�ѨϥΪ̿�ܡA���ݩ��n�����������������S���Q�n���ɡAXML �B�z���i�H���X�@��ĵ�i�A���o���O�@�ӿ��~�CAttDef�W�h���� Name�O�ݩʪ��W�r�C

���O�Y�ӵ��w�������������� AttlistDecl�W�L�@�ӮɡA�o���n���������e�Q�X�}�b�@�_�C�����w�����������Y���ݩʪ��w�q�W�L�@�ӮɡA�j�w�Ĥ@�өw�q�A��E�w�q�Q�����C�X�_���ާ@�ʦҼ{�ADTD ���@�̥i�H�o�˰��G�@�ӵ��w�����������ܦh���@���ݩʪ��n���A�@���ݩʪ����@�ӵ��w���ݩʦW�ܦh���@���ݩʩw�q�A�C���ݩʪ��n���ܤ֦��@���ݩʩw�q�C�X�_���ާ@�ʦҼ{�A���@�ӵ��w�������W�L�@�Ӫ��ݩʪ��n���Τ@�ӵ��w�ݩʦ��W�L�@�Ӫ��ݩʩw�q�ɡAXML �B�z���i�H�A�ѨϥΪ̿�ܡA���Xĵ�i�A���o���O�@�ӿ��~�C

3.3.1 �ݩ�����

XML �ݩʦ��T�������G�r�Ŧ������A�@�հO���������M�T�|�����C�r�Ŧ������i�H�H���N�`�q�r�Ŧꬰ��; �U�ӰO�������������P�����k�M�y�q�����C��k�����X�����ĩʬ�����Τ_�ݩʭȤw�� 3.3 �` 3.3 �ݩʪ��n�����ҭz�W�S�ƤF���Z�����p�C

�ݩ�����
[54] AttType ::= StringType | TokenizedType EnumeratedType
[55] StringType ::= 'CDATA'
[56] TokenizedType ::= 'ID' [VC: ID]
[VC: �C�����������@�� ID]
[VC: ID �ݩʪ��ʬ٭�]
| 'IDREF' [VC: IDREF]
| 'IDREFS' [VC: IDREF]
| 'ENTITY' [VC: ���^�W]
| 'ENTITIES' [VC: ���^�W]
| 'NMTOKEN' [VC: �W�r�O��]
| 'NMTOKENS' [VC: �W�r�O��]

���ĩʬ���: ID
ID �������ȥ����ǰt Name���ͦ��C�@���������Ȫ��W�r�u��b XML ��󤤥X�{�@���F�Y�AID �������ȥ�����ߤ@���Ѥ����C

���ĩʬ���: �C���ݩ������@��ID
�C���ݩ������u�঳�@�� ID �ݩʡC

���ĩʬ���: ID �ݩʪ��ʬ٭�
ID �ݩʥ������@���n���� #IMPLIED �� #REQUIRED���ʬ٭ȡC

���ĩʬ���: IDREF
IDREF �������ȥ����ǰt Name���ͦ��AIDREFS �������ȥ����ǰt Names���ͦ��F�C�@�� Name�����ǰt XML ��󤤬Y�Ǥ��� ID �ݩʪ��ȡF�]�N�O���AIDREF �������ȥ����ǰt�Y�� ID �ݩʪ��ȡC

���ĩʬ���: ���^�W
ENTITY �������ȥ����ǰt Name���ͦ��AENTITIES �������ȥ����ǰt Names���ͦ��F�C�@�� Name�����ǰt ���R���^���W�r�C

���ĩʬ���: �W�r�O��
NMTOKEN �������ȥ����ǰt Nmtoken���ͦ��FNMTOKENS �������ȥ����ǰt Nmtokens���ͦ��C

[�w�q�G�T�|�������ݩ��i�H�b�n�������Ѫ����Ȫ������ȡC] �������T�|�����G

�T�|�ݩ�����
[57] EnumeratedType ::= NotationType | Enumeration
[58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')' [VC: �O�k�ݩ�]
[VC: �C���ݩ������@���O�k]
[VC: �Ť����S���O�k]
[59] Enumeration ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')' [VC: �T�|]

�@�� NOTATION �������ݩʼ��ѤF�@���Τ_�����O���ݩʬ������������O�k�A���O�k���Ψt�ΩΤ��@���ѲŦb DTD ���n���C

���ĩʬ���: �O�k�ݩ�
���������ȥ����O�n�����ҥ]�t���O�k�W���@�ۤǰt;�n�������Ҧ��O�k�W�������n���C

���ĩʬ���: �C���ݩ������@���O�k

�C������������ NOTATION �ݩʤ���h�_�@�ӡC

���ĩʬ���: �Ť����S���O�k

�X�_�ݮe�ʦҼ{�A�n���� EMPTY �����������n�������� NOTATION ���ݩʡC

���ĩʬ���: �T�|
���������ȥ����O�n�����ҥ]�t�� Nmtoken�O�����@�ۤǰt�C

�X�_���ާ@�ʦҼ{�A�P�@ Nmtoken�u��b��Ӥ����������T�|�ݩ��������X�{�@���C

3.3.2 �ݩʯʬ٭�

�ݩ��n�����Ѫ��H�������F�Y�ݩʬO�_�����X�{�A�P�ɫ����F�b�Q�n�����ݩʤ��O�����X�{�Ӥ�󤤨S���X�{���ݩʪ����p�U�AXML �B�z�����p��B�z�C

�ݩʯʬ٭�
[60] DefaultDecl ::= '#REQUIRED' | '#IMPLIED'
| (('#FIXED' S)? AttValue) [VC: �������ݩ�]
[VC: �X�k���ݩʯʬ٭�]
[WFC: �b�ݩʭȤ��L < ]
[VC: �T�w���ݩʯʬ٭�]

�b�@���ݩ��n�����A**#REQUIRED** ���ܥ����`�O���Ѧ��ݩʡA**#IMPLIED** ���ܤ����ѯʬ٭ȡC�p�G�n���J���O **#REQUIRED**�A�]���O **#IMPLIED**�A���\ AttValue�ȥ]�t�F���n����**�ʬ�**��;����r **#FIXED** �W�w���ݩʥ����`�O���ʬ٭ȡC�p�G�n���F�@�ӯʬ٭ȡA�� XML �B�z���J��@�ӳQ�ٲ����ݩʮɡA���N�������ݩʥH�ʬ٭ȥX�{

���ĩʬ���: �������ݩ�
�p�G�ʬ٭��n���O����r #REQUIRED�A���\�ݩʪ��n���ҫ������������������������ݩʡC

���ĩʬ���: �X�k���ݩʯʬ٭�
�Q�n�����ݩʯʬ٭ȥ��������Q�n�����ݩ����������k�����C

���ĩʬ���: �T�w���ݩʯʬ٭�
�p�G�Y�ݩʪ��ʬ٭ȥ�����r #FIXED�n���A���ݩʪ��Ҧ���ҥ����ǰt�ӯʬ٭ȡC

�ݩʪ��n�����Ҥl�G

<!ATTLIST termdef id ID #REQUIRED name CDATA #IMPLIED> <!ATTLIST list type (bullets|ordered|glossary) "ordered"> <!ATTLIST form method CDATA #FIXED "POST">

3.3.3 �ݩ�-�ȹ諸�W�S�ơ]Attribute-Value Normalization�^

�b�N�ݩʪ��ȶǵ����Ω�����䦳�ĩʤ��e�AXML �B�z�������ϥΤU������k�]�ΨϥΨ�L��϶ǵ����Ϊ����O�Φ���k�o�쪺�ȬۦP����k�^�N��W�S�ơC

  1. �Ҧ�����������b��J�ɦp 2.11 ����B�z���ҭz�W�S�� #xA�A����k����E�����@�Τ_�H����k�W�S�Ƥ��Z���奻�C
  2. �}�l�ɳW�S�Ƥ��Z���ȥ]�t�Ŧr�Ŧ�C
  3. ��_���g�W�S�ƪ��ݩʭȤ����C�Ӧr�šA���^�ޥΩΦr�ŤޥΡA�q�Ĥ@�Ӷ}�l�A����̦Z�@�ӡA���p�U�ާ@�G
    • ��_�@�Ӧr�ŤޥΡA�N��ҤޥΪ��r�ť[�b�W�S�Ƥ��Z���Ȫ������C
    • ��_�@�ӹ��^�ޥΡA�惡���^���m���奻���k�a�ϥΥ���k���� 3 �B�C
    • ��_�@�Ӫťզr�š]#x20, #xD, #xA, #x9�^�A�b�W�S�Ƥ��Z���Ȫ������[�@�ӪŮ�r�š]#x20�^�C
    • ��_��L�r�šA�N��[�b�W�S�Ƥ��Z���Ȫ������C

�p�G�ݩʭȪ��������O CDATA�A���\ XML �B�z�������~��B�z�W�S�Ƥ��Z���ȡA�h����e�ɩM���H�Ů�]#x20�^�r�šA�}�N�Ů�]#x20�^�r�ŧǦC��������ӪŮ�]#x20�^�r�šC

�`�N�A�p�G���g�W�S�ƪ��ݩʭȤ��]�t��Ů�r�š]#x20�^�H�~���ťզr�Ū��ޥΡA���\�W�S�Ƥ��Z���ȥ]�t�Q�ޥΪ��r�ť����]#xD, #xA or #x9�^�A�Ӥ��O�Ů�]#x20�^�C�o�O���g�W�S�ƪ��ݩʭȤ��]�t�ťզr�š]���O�ޥΡ^�����p���P�A�b�������p�U�ťզr�ųQ�m�����Ů�r�š]#x20�^�C�P�ɳo�]�O���g�W�S�ƪ��ݩʭȤ��ҥ]�t�����^�ޥΪ��m���奻���]�t�ťզr�Ū������p���P�A�b�������p�U�A���^�ޥΪ��m���奻�Q���k�B�z�A�ťզr�ųQ�m�����Ů�r�š]#x20�^�C

���i��������B�z�����ӱN�Ҧ��|��Ū����n�����ݩʷ����n���� CDATA �B�z�C

�H�U�O�ݩʳW�S�ƪ��Ҥl�C���p�U�n���G

�U��������@�C�����ݩʭȻ����b a �n���� NMTOKENS �����p�U�W�S�Ƭ������@�C���r�ŧǦC�A�b a �n���� CDATA �����p�U�W�S�Ƭ��k��@�C�����r�ŧǦC�C

���R���^TH>�ݩʭȻ���

a �n���� NMTOKENS a �n���� CDATA
a=" xyz" x y z #x20 #x20 x y z
a="&d;&d;A&a;&a;B&da;" A #x20 B #x20 #x20 A #x20 #x20 B #x20 #x20
a= " A B " #xD #xD A #xA #xA B #xD #xA #xD #xD A #xA #xA B #xD #xD

�`�N�A�b a �n���� NMTOKENS���������p�U�A�̦Z�@�ӨҤl���O���Ī��]���O�O�榡���̪��^�C

3.4 ����q�]Conditional Sections�^

[�w�q�G**����q**�O��������n���~���l�����@�����A���M�_����������r�A���̩γQ�]�t�b DTD �޿赲�ۤ����A�γQ�ư��b DTD �޿赲�ۤ��~�C]

����q
[61] conditionalSect ::= includeSect | ignoreSect
[62] includeSect ::= '<![' S? 'INCLUDE' S? '[' extSubsetDecl ']]>' /* */
[VC: �Y�檺����q/�Ѽƹ��^�O�M]
[63] ignoreSect ::= '<![' S? 'IGNORE' S? '[' ignoreSectContents* ']]>' /* */
[VC: �Y�檺����q/�Ѽƹ��^�O�M]
[64] ignoreSectContents ::= Ignore ('<![' ignoreSectContents ']]>' Ignore)*
[65] Ignore ::= Char* - (Char* ('<![' | ']]>') Char*)

���ĩʬ���: �Y�檺����q/�Ѽƹ��^�O�M

�p�G�@�ӱ���q�� "<!["�A"[" �� "]]>" �������N�@�ӥ]�t�b�@�ӰѼƹ��^�����m���奻���A���̥��������b���P�@�m���奻���C

�P�����Υ~�� DTD �l���@�ˡA����q�i�H�]�t�@�өΦh�ӧ��㪺�n���A�`���A�B�z���O�A�δO�M������q�A�䶡�i�H�����ťաC

�p�G����q������r�O INCLUDE�A���\����q�����e�O DTD ���@�����A�p�G����q������r�O IGNORE�A���\����q�����e�޿�W���O DTD ���@�����C�p�G�@������r�� INCLUDE ������q�X�{�b��j������r�� IGNORE ������q���A���~��ӱ���q���Q�����C�b��Q����������q�����e�i��y�k���R�ɡA�q���H����r�� "[" ���Z�}�l�A���F����q���}�l "<![" �M���� "]]>" �H�~���Ҧ��r�ų��Q�����A������ۤǰt������q�����C�b���L�{���Ѽƹ��^���Q�ѧO�C

�p�G����q������r�O�@�ӰѼƹ��^�ޥΡA�B�z���b�M�w�O�_�]�t�Ω���������q�e�A�������N�ӰѼƹ��^�m�����䤺�e�C

�@�ӨҤl�G

`

<![%draft;[

]]>
<![%final;[

]]>

`

4. ���z����

[�w�q�G�@�� XML ���i��]�t�@�өΦh�Ӧs�x�椸�C���̳Q�٬����^�]entity�^;���̳��㦳���e�}�B�����W�r�i����ѡ]���F�����^�A���U�A�M�~�� DTD �l�����~�^�C] �C�@�� XML ��󦳤@�Ӻ٬������^�����^�A���@�� XML �B�z���B�z���_�I�}�i��]�t�F��Ӥ��C

���^�i�H�O�w�R���Υ��R���C[�w�q�G�w�R���^�]parsed entity�^�����e�Q�٬������m���奻;���奻�Q�ݦ��O�����^���@�����C]

���R���^�]unparsed entity�^�O�@���귽�A�䤺�e�i�H�O�]�i�H���O�奻�A�}�B�A�p�G�O�奻���ܡA�i�H���O XML �奻�C�C�@�ӥ��R���^���@�Ӭ����p���ΦW�r���Ѫ��O�k�C���F�n�D XML �B�z����V���δ��ѹ��^�M�O�k�����ѲŤ��~�AXML �良�R���^�����e���@���󭭨�C]

�w�R���^�H���^�ޥΪ��覡�ϥΦW�r�ӽե�;���R���^�� ENTITY �� ENTITIES �ݩʤ����X���W�r�եΡC

[�w�q�G���q���^�]general entity�^�O���Ǧb��󤺮e���ϥΪ����^�C�b���W�S���A���q���^���ɥΥ��׹����N�y_entity_�Ӫ��ܡC] [�w�q�G�Ѽƹ��^�O�Τ_ DTD �����w�R���^�C]�o�������^�Τ��P�Φ����ޥΡA�b���P���W�U�夤�ѧO�C�t�~�A���̨ϥΤ��P���W��F�㦳�ۦP�W�r���Ѽƹ��^�M���q���^�O��ӺI�M���P����ӹ��^�C

4.1 �r�ũM���^�ޥΡ]Character and Entity References�^

�@���r�Ťޥ��ޥ� ISO/IEC 10646 �r�Ŷ������@�Ӧr�šC�Ҧp����ο�J�]�ƪ�����J���r�šC

�r�Ťޥ�
[66] CharRef ::= '&#' [0-9]+ ';'
| '&#x' [0-9a-fA-F]+ ';' [WFC: �X�k�r��]

�榡���̩ʬ���: �X�k�r��
�Φr�ŤޥΤޥΪ��r�ť����ǰt Char ���ͦ��C

�p�G�r�ŤޥΥH "&#x" �}�Y�A����׵� ; ���Ʀr�M�r�����ѤF�Y�r�Ŧb ISO/IEC 10646 ���N�X���@�ӤQ���i����ܡC�p�G���ȥH "&#" �}�Y�A����׵� ;���Ʀr���ѤF�Y�r�Ū��N�X���Q�i�Ȫ��ܡC

���^�ޥΡ]entity reference�^�ޥΤ@�өR�W���^�����e�C��w�R���q���^���ޥΨϥ� "and" ���]&�^�M�����];�^�@���w�ɲšC�Ѽƹ��^�ޥ��h�ϥΦʤ����]%�^�M�����];�^�@���w�ɲšC

���^�ޥ�
[67] Reference ::= EntityRef | CharRef
[68] EntityRef ::= '&' Name ';' [WFC: �n�����^]
[VC: �n�����^]
[WFC: �w�R���^]
[WFC: �L���k]
[69] PEReference ::= '%' Name ';' [VC: �n�����^]
[WFC: �L���k]
[WFC: �b DTD ��]

�榡���̩ʬ���: �n�����^
�b�@�ӨS������ DTD �����A�Τ@�ӥu�����]�t�Ѽƹ��^�ޥΪ����� DTD �l�������A�Τ@�� "standalone='yes'" ����󤺡A���b�~���l���ΰѼƹ��^�������^�ޥΤ����X�� Name�����O���b�~���l���ΰѼƹ��^�����^�n�����ҵ��X�����ǰt�A���榡���̪���󤣻ݭn�n���H�U���o�ǹ��^�Gamp�Alt�Agt�Aapos�M quot�C���q���^���n���������_����b�ݩʪ��n�������ʬ٭Ȥ��X�{���復���ޥΡC�`�N�A��_�b�~���l���Υ~���Ѽƹ��^���n�������^�A���i��������B�z�������nŪ���M�B�z���̪��n���F��o�Ǥ��A�ȷ� standalone='yes'�ɡA���^�����Q�n�����W�h�~�O�@�Ӯ榡���̩ʬ����C

���ĩʬ���: �n�����^
�b�@�Ӧ��~���l���Υ~���Ѽƹ��^�B "standalone='no'" �����^���A���^�ޥΤ����X�� Name�����O���^�n�����ҵ��X�����ǰt�C�X�_���ާ@�ʦҼ{�A���Ī�������ӥH"4.6 �w�w�q���^"����²�ƧΦ��n�����^ amp�Alt�Agt�Aapos �M quot�C�Ѽƹ��^���n���������_����復���ޥΡC�����a�A���q���^���n���������_����b�ݩʪ��n�������ʬ٭Ȥ��X�{���復�����ζ������ޥΡC

�榡���̩ʬ���: �w�R���^
���^�ޥΤ���]�t�@�����R���^���W�r�C���R���^�u��b�n���� ENTITY �� ENTITIES ���ݩʭ����ޥΡC

�榡���̩ʬ���: �L���k
�w�R���^���ઽ���ζ����a�]�t��ۨ������k�ޥΡC

�榡���̩ʬ���: �b DTD ��
�Ѽƹ��^�ޥΥu��b DTD ���X�{�C

�r�ŤޥΩM���^�ޥΪ��Ҥl�G

Type <key>less-than</key> (&#x3C;) to save options. This document was prepared on &docdate; and is classified &security-level;.

�Ѽƹ��^�ޥΪ��Ҥl�G

`

%ISOLat2;`

4.2 ���^�n���]Entity Declaration�^

[�w�q�G���^�H�p�U�覡�n���G]

���^�n��
[70] EntityDecl ::= GEDecl | PEDecl
[71] GEDecl ::= '<!ENTITY' S Name S EntityDef S? '>'
[72] PEDecl ::= '<!ENTITY' S '%' S Name S PEDef S? '>'
[73] EntityDef ::= EntityValue | (ExternalID NDataDecl?)
[74] PEDef ::= EntityValue | ExternalID

���^�ޥ����� Name���ѤF�ӹ��^;��_���R���^�AENTITY �� ENTITIES�ݩʪ��ȼ��ѤF�ӹ��^�C�p�G�P�@���^�Q�n���F����@���A�j�w�Ĥ@�ӹJ�쪺�n���C�ѨϥΪ̿�ܡA�p�G���^�Q�h���n���AXML �B�z���i�H���Xĵ�i�C

4.2.1 �������^�]Internal Entities�^

[�w�q�G�p�G���^�w�q�O�@�� EntityValue�A�Q�w�q�����^�Q�٬��������^�C] �������^�S����W�����z�s�x��H�A���^�����e�b�n�������X�C�`�N�`�q���^�����@�ǹ��^�M�r�ŤޥΪ��B�z�i��n�D���ͥ��̪��m���奻�G�Ѩ�"4.5 �����m���奻���۳y"�C

�������^�O�w�R���^�C

�������^�n�����Ҥl�G

<!ENTITY Pub-Status "This is a pre-release of the specification.">

4.2.2 �~�����^�]External Entities�^

[�w�q�G�p�G���^���O�������A���\���O�@���~�����^�A�n���p�U�G]

�~�����^�n��
[75] ExternalID ::= 'SYSTEM' SSystemLiteral
| 'PUBLIC' S PubidLiteral S SystemLiteral
[76] NDataDecl ::= S 'NDATA' S Name [VC: �n���O�k]

�p�G�� NDataDecl�A���\�o�O�@�Ӵ��q���R���^�F�_�h���O�@�Ӥw�R���^�C

���ĩʬ���: �n���O�k
Name�����O�O�k���W�r�ۤǰt�C

[�w�q�GSystemLiteral�Q�٬��ӹ��^���t�μ��Ѳ��C�o�O�@�� URI �ޥΡ]�b [IETF RFC 2396]���w�q�A�b [IETF RFC 2732] ����s�^�A�i�H�Ѧ���o XML �B�z������J�Τ_�۫ئ����^���m���奻�C] ���_���Ѳš]�H #�}�Y�^�X�{�b�t�μ��ѲŤ��O�@�ӿ��~�C�p�G�@�Ӥ��_���Ѳŧ@���t�μ��ѲŪ��������X�AXML �B�z���i�H���X�@�ӿ��~�C���D�b���W�S�S�򤧥~�t�~���X�]�p�A�@�ӯS�� DTD ���w�q���M�� XML ���������A�Τ@�ӯS�����γW�S���w�q���B�z���O�^�A�۹� URI ���۹�_���^�n���Ҧb�귽����m�C�]���A�@�� URI �i��O�۹�_�����^�A�ά۹�_�]�t�~�� DTD �l�������^�A�ά۹�_��L�@���~���Ѽƹ��^�C

URI �ޥλݭn��Y�Ǧr�Ŷi��s�X�M��q�C�����\�X�{���r�ť]�A�Ҧ��D ASCII �r�šA�H�� [IETF RFC 2396] �� 2.4 �`���C�X�����Q���\���r�šA�����]#�^�B�ʤ����]%�^�^ �M [IETF RFC 2732]�����\����A�����~�C���Q���\���r�ť����Φp�U����k��q�G

  1. �C�Ӥ��Q���\���r�ŭ����Q�ഫ���@�өΦh�Ӧr�`�� UTF-8 [IETF RFC 2279] �s�X�C
  2. ��������_�@�Ӥ��Q���\���r�Ū��K��ե� URI ��q�����q�]�Y�A�N���ഫ��%HH�A�䤤 HH �O�r�`�Ȫ��Q���i��O�k�^�C
  3. �αo�쪺�r�ŧǦC�m����Ӫ��r�šC

���F�t�μ��ѲŤ��~�A�~�����Ѳ��٥i�H�]�t���@���Ѳ��C�չϦs�����^���e�� XML �B�z���i�H�Τ��@���ѲŸյ۲��ͤ@�ӥi�� URI �ޥΡC�p�G�B�z���L�k����o�@�I�A�������ϥΨt�α`�q���� URI �ޥΡC�b�յۤǰt���e�A���@���ѲŤ��Ҧ��ťզr�Ŧꥲ���Q�W�S����ӪŮ�r�š]#x20�^�A�P�ɥ����h���e�ɩM���H�ťաC

�~�����^�n�����Ҥl�G

<!ENTITY open-hatch SYSTEM "http://www.textuality.com/boilerplate/OpenHatch.xml"> <!ENTITY open-hatch PUBLIC "-//Textuality//TEXT Standard open-hatch boilerplate//EN" "http://www.textuality.com/boilerplate/OpenHatch.xml"> <!ENTITY hatch-pic SYSTEM "../grafix/OpenHatch.gif" NDATA gif >

4.3 �w�R���^�]Parsed Entities�^

4.3.1 �奻�n���]Text Declaration�^

[�w�q�G�C�ӥ~���w�R���^���ӥH�奻�n���@���}�l�C]

�奻�n��

�奻�n�������H�`�q�Φ����X�A�Ӥ���ϥΤw�R���^���ޥΡC�奻�n���u��b�~���w�R���^���}�Y�X�{�A�����\�b��L����a��X�{�C�b�~���w�R���^�����奻�n�����Q�{���O���m���奻���@����

4.3.2 �榡���̪��w�R���^�]Well-Formed Parsed Entities�^

�p�G�����^�ǰt document���ͦ��A���\���O�榡���̪��C�p�G�~�����q�w�R���^�ǰt extParsedEnt���ͦ��A���\���O�榡���̪��C�p�G�~���Ѽƹ��^�ǰt extPE���ͦ��A���\���O�榡���̪��C���u�w�q�A�~���Ѽƹ��^�O�榡���̪��C

�榡���̪��~���w�R���^

�p�G�������q�w�R���^���m���奻�ǰt content���ͦ��A���\���O�榡���̪��C���u�w�q�A�Ҧ��������Ѽƹ��^���O�榡���̪��C

���^�ŦX�榡���̩ʪ��@�ӵ��G�O XML ����޿�M���z���۬O�Y��O�M���F�_�l��ñ�A������ñ�A�Ť�����ñ�A�����A�`���A�B�z���O�A�r�Ťޥ��A�����^�ޥ�������b�@�ӹ��^���}�l�Ӧb�t�@�ӹ��^�������C

4.3.3 ���^�����r�Žs�X�]Character Encoding in Entities�^

XML ��󤤪��C�ӥ~���w�R���^���i�H���r�Ū��Τ@�����P���s�X��סC�Ҧ� XML �B�z��������Ū���s�X�� UTF-8 �M UTF-16 �����^�C���W�S�����N�y "UTF-8" �M "UTF-16" ����Τ_������Ψ�L���ѡ]label�^���r�Žs�X�A�Y�ϳo���s�X�μ����O UTF-8 �� UTF-16 �D�`�����C

�H UTF-16 �s�X�����^�����H ISO/IEC 10646 �W�� F�A[ISO/IEC 10646-2000] �W�� H�A [Unicode] �� 2.4 �`�M [Unicode3] 2.7 �`�]�s�e�פ����_�Ů�r�šA#xFEFF�^���Ҵy�z���r�`���ǼаO�]Byte Order Mark�^�}�Y�C�o�O�@�ӽs�Xñ�W�A�Y���O XML ��󤤼аO���@�����A�]���O XML ���r�ż��u���@�����CXML �B�z��������Φ��r�ŰϤ� UTF-8 �s�X�M UTF-16 �s�X�����C

���M XML �B�z���u�Q�n�D��Ū�� UTF-8 �M UTF-16 �s�X�����^�A���L��_�@�ɤW�٦���L���s�X��פw���@�ѡC���ɥi��Q�� XML �B�z��Ū���H���ǽs�X��׽s�X�����^�C�b�S���~���r�Žs�X�H���]�p MIME �Y�^�����p�ɡA�H���P�_ UTF-8 �M UTF-16 ���s�X��צs�x�����^�����H�]�t�s�X�n�����奻�n���]�� 4.3.1 �奻�n���^�}�Y�G

�s�X�n��
[80] EncodingDecl ::= S 'encoding' Eq ('"' EncName '"' | "'" EncName "'" )
[81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')* /* �s�X��ת��W�٥u�]�t�ԤB�r�� */

�b�����^���A�s�X�n���O XML �n�����@�����CEncName�O�ҥνs�X��ת��W�١C

�b�@�ӽs�X�n�����A�� "UTF-8"�A"UTF-16"�A"ISO-10646-UCS-2" �M "ISO-10646-UCS-4" ���ӥΤ_���� Unicode �� ISO/IEC 10646 �����U�����P�s�X�M�ܴ���סA�� "ISO-8859-1"�A"ISO-8859-2"�A... "ISO-8859-n" �]�䤤 n �O�϶����^���ӥΤ_���� ISO 8859 ���U�ӳ����A�ӭ� "ISO-2022-JP"�A"Shift_JIS" �M "EUC-JP" ���ӥΤ_���� JIS X-0208-1997 ���U���s�X�C��ij��_�b Internet Assigned Numbers Authority [IANA]�`�U���r�Žs�X��ס]�H_�r�Ŷ��]charset�^_���覡�^�A���F�H�W�ҦC���~���s�X��סA���ӥΥ��̪��`�U�W�ޥΡC��L���s�X���Өϥαa "x-" �e�󪺦W�١C���O���ǰt�� XML �B�z�����ӥH�j�p�g�ӷP���覡��r�Žs�X���W�ٶi��ǰt�C�ӥB XML �B�z���B�z�r�Žs�X���W�ٮɡA���ӱN�b IANA �`�U���s�X�W�ٸ������b IANA �`�U�������s�X�A���M�N���ӷ����������s�X�]���M�A���n�D�B�z������Ҧ��b IANA �`�U���s�X�^�C

�b�ʤ֥~���ǿ��ij�]�p HTTP �� MIME�^�Ҵ��Ѫ��H���ɡA�H�U���p���O���~�GXML �B�z�������쪺���^���s�X����O���^�ҧt�s�X�n�������X���s�X��פ��P�A�J���H�r�`���ǼаO�}�Y�]���H�s�X�n���}�Y�����^�ϥΤF���P�_ UTF-8 ���s�X�C�`�N�A�]�� ASCII �O UTF-8 ���@�Ӥl���A�Y�满�Ӵ��q ASCII �r�Ť��ݭn�s�X�n���C

TextDecl�X�{�b�~�����^�}�Y�H�~���a��O�@���Y�����~�C

�� XML �B�z���J�쪺���^�ϥΤF������B�z���s�X�ɡA�O�@���Y�����~�C�p�G�@�� XML ���^�Q�̻{���ϥΤF�Y���s�X�]���q�{�ȡA�s�X�n���ΰ��h��ij�̩w�^�A���O���]�t�F�b���s�X���D�k���K��էǦC���ܡA�O�@���Y�����~�C�p�G�@�� XML ���^�S���s�X�n���ӥ������e���O�X�k�� UTF-8 �� UTF-16 �s�X���ܡA�]�O�@���Y�����~�C

�]�t�s�X�n�����奻�n�����Ҥl�G

<?xml encoding='UTF-8'?> <?xml encoding='EUC-JP'?>

4.4 XML �B�z������^�M�ޥΪ��B�z

�U�����`�F�r�ŤޥΡA���^�ޥΡA�M�良�R���^���եΥi�H�X�{���W�U��A�H�ΨC�����p�U XML �B�z�����ʧ@�C�̥���@�C�����ѫ����F�ѧO�ɪ��W�U��G

���e�����ޥ�

�i�H�b�������_�l��ñ���Z�A������ñ���e������a��H�ޥΧΦ��X�{�A�����_�D�׵��� content�C

�ݩʭȤ����ޥ�

�i�H�b�_�l��ñ�����ݩʭȤ��A���ݩ��n�������ʬ٭Ȥ��H�ޥΧΦ��X�{;�����_�D�׵��� AttValue�C

�@���ݩʭ�

�i�H�H Name �Ӥ��O�H�ޥΪ��Φ��X�{�A�@���n���� ENTITY �������ݩʪ��ȡA�Υi�H�@���n���� ENTITIES �������ݩʭȤ����H�ťդ��j���O�����@�C

���^�Ȥ����ޥ�

�i�H�b�ѼƤ��Τ������^�����^�n�������`�q���^�����H�ޥΧΦ��X�{�F�����_�D�׵��� EntityValue�C

DTD �����ޥ�

�b DTD �������Υ~���l�������ޥΡA���b EntityValue�AAttValue�API�AComment�ASystemLiteral�APubidLiteral �γQ����������q�����e�]�� 3.4 ����q�^���~�C

���^���� �r��
�Ѽ� �������q �~���w�R���q ���R
���e�����ޥ� ���Q�ѧO �Q�]�t �i������ɳQ�]�t �Q�T�� �Q�]�t
�ݩʭȤ����ޥ� ���Q�ѧO �@���`�q�Q�]�t �Q�T�� �Q�T�� �Q�]�t
�@���ݩʭ� ���Q�ѧO �Q�T�� �Q�T�� �q�� ���Q�ѧO
���^�Ȥ����ޥ� �@���`�q�Q�]�t ���B�z ���B�z �Q�T�� �Q�]�t
DTD �����ޥ� �@���Ѽƹ��^�Q�]�t �Q�T�� �Q�T�� �Q�T�� �Q�T��

4.4.1 ���Q�ѧO�]Not Recognized�^

�b DTD ���~�A�ʤ����r�� % �S���S���t�q�F�]���b DTD �����Ѽƹ��^�ޥΦb content�����Q�����аO�ѧO�C�����a�A���D���R���^���W�r�X�{�b�w����n�����ݩʪ��Ȥ��A�_�h���̤��Q�ѧO�C

4.4.2 �Q�]�t�]Included�^

[�w�q�G���@�ӹ��^���m���奻�Q�����X�{�b�ޥΩҦb��m����󪺤@�����@�˳Q�s���M�B�z�ɡA�٦����^�Q�]�t�C] ��m���奻�i�H�]�t�r�ż��u�M�аO�]���]�A�Ѽƹ��^�^�A�䤤�аO�����H�q�`���覡�ѧO�C�]�r�Ŧ� "AT&amp;T;" �i�}�� "AT&T;"�A�|�s�� "and" �� & ���Q�ѧO�����^�ޥΪ��w�ɲšC�^���Q���ܪ��r�ųQ�����X�{�b�ޥΩҦb��m�@�˳Q�B�z�ɡA�٦��r�Ťޥ��Q�]�t�C

4.4.3 �i������ɳQ�]�t�]Included If Validating�^

�� XML �B�z���ѧO�X�@�ӹ�w�R���^���ޥΡA���F����Ӥ��A�B�z�������]�t�����^���m���奻�C�p�G���^�O�~�����A�ӳB�z�����չ������ XML ���A���\�B�z���i�H�A�����O�����A�]�t�����^���m���奻�C�p�G�@�Ӥ��i��������B�z�����]�t���m���奻�A�������q�����Υ��ѧO�X���S��Ū�������^�C

�o���W�h��_�o�ˤ@�Ӧ@�ѡG�� SGML �M XML �����^���Ѫ��_��]�p�Τ_����Ҷ��ƳЧ@���۰ʥ]�t���@�w��X�_��L���ΡA�ר�O����s���C�Ҧp�A���s�����J��@�ӥ~���w�R���^�ޥήɡA�i���ܥΥi���覡���ܨ�s�b���u�b�Q�ШD�ɤ~Ū�����i����ܡC

4.4.4 �Q�T��]Forbidden�^

�H�U���p�Q�T��A�}�ۦ��@���Y�����~�G

4.4.5 �@���`�q�Q�]�t�]Included in Literal�^

�����^�ޥ��X�{�b�ݩʭȤ��ΰѼƹ��^�ޥΥX�{�b�`�q���^�Ȥ��ɡA���̪��m���奻�Q�����X�{�b�ޥΩҦb��m����󪺤@�����@�˳Q�s���M�B�z�A�m���奻���������޸��`�O�Q�������`�����u�r�ŦӤ��|�������`�q�C�Ҧp�A�U�����Ҥl�O�榡���̪��G

�ӳo�ӨҤl���O�G

<element attribute='a-&EndAttr;>

4.4.6 �q���]Notify�^

�����R���^�W�r�@���O���b�n���� ENTITY �� ENTITIES �������ݩʪ��Ȥ��X�{�ɡA�i��������B�z�������N�����^�M���������O�k���t���M���@�]�p�G�����ܡ^���Ѳųq�������ΡC

4.4.7 ���B�z�]Bypassed�^

�����^�n�����@�Ӵ��q���^�ޥΥX�{�b EntityValue���ɡA�����Q�B�z�A�O�����ܡC

4.4.8 �@���Ѽƹ��^�Q�]�t�]Included as PE�^

�M�~���w�R���^�@�ˡA�Ѽƹ��^�u�ݦb�i������ɳQ�]�t�C���Ѽƹ��^�ޥΦb DTD ���Q�ѧO�}�Q�]�t�ɡA�����m���奻�Q�e�Z�U�[�W�@�ӪŮ�r�šF��ت��b�_�j��Ѽƹ��^���m���奻�]�t��ƭ� DTD �����y�k�O���C�o����Τ_���^�Ȥ����Ѽƹ��^�F�復�̪��B�z�� 4.4.5 �@���`�q�Q�]�t

4.5 �������^�m���奻���۫ء]Construction of Internal Entity�^

�b�Q�פ������^���B�z�ɡA�Ϥ������Φ������^�ȬO�����U���C[�w�q�G�`�q���^�ȡ]literal entity value�^�O��ڥX�{�b���^�n�����Τ޸��X�_���r�Ŧ�C] �����_�D�׵��� EntityValue�C�m���奻�]replacement text�^�O�m���F�r�ŤޥΩM�Ѽƹ��^�ޥΦZ�����^���e�C

�b�������^�n���]EntityValue�^�����X���`�q���^�ȥi�H�]�A�r�ŤޥΡA�Ѽƹ��^�ޥΩM���q���^�ޥΡC�o�ǤޥΥ����Q��ӥ]�t�_�`�q���^�Ȥ��C�p�e�z�覡�Q�]�t����ڸm���奻�����]�t�Ҧ��Q�ޥΪ��Ѽƹ��^��_�m���奻_�A�P�ɩҦ��Q�ޥΪ��r�ť����b�`�q���^�Ȥ��r�ŤޥΩҦb��m�Q�]�t�C�����q���^���ޥΥ����O�����ܡA���Q�i�}�C�Ҧp�A�p�G���H�U���n���G

<!ENTITY % pub "&#xc9;ditions Gallimard" > <!ENTITY rights "All rights reserved" > <!ENTITY book "La Peste: Albert Camus, &#xA9; 1947 %pub;. &rights;" >

���\���^ "book" ���m���奻���G

La Peste: Albert Camus, ?nbsp;1947 �ditions Gallimard. &rights;

�@���ޥ� "&book;" �X�{�b��󪺤��e���ݩʭȤ��ɡA���q���^�ޥ� "&rights;" ���ӳQ�i�}�C

�o��²�檺�W�h�N�i��|���`�����ۤ��@��;�Ѩ� "D. ���^�M�r�ŤޥΪ��i�}" ����@�������Ҥl���ԲӰQ�סC

4.6 �w�w�q���^�]Predefined Entities�^

[�w�q�G���^�M�r�Ťޥγ��i�H�Τ_��q���y�A���A"and" ���]&�^�M��L�w�ɲšC���q���^���X�]amp�Alt�Agt�Aapos�Aquot�^�M���Τ_���ت��C�]�i�H�ϥμƭȦr�ŤޥΡF�@���Q�ѧO�A���̥ߧY�Q�i�}�A�P�ɥ��̥����Q�����r�ż��u�A�]���ƭȦr�Ťޥ� "&#60;" �M "&#38;" �i�H�Τ_��q�X�{�b�r�ż��u���� < �M &�C]

���޳o�ǹ��^�O�_�Q�n���A�Ҧ��� XML �B�z���������ѧO���̡C�X�_���ާ@�ʦҼ{�A���Ī� XML ������Ӧp��L���^�@�ˡA�b�ϥγo�ǹ��^�e���n�����̡C�p�G���^ lt �� amp�Q�n���A���̥����Q�n�����m���奻�������Q��q�r�Ū��r�ŤޥΡ]�p�_���� "and" ���^���������^�F��o�ǹ��^�ݭn��q�⦸�H�Ϲ復�̪��ޥί�o��榡���̪����G�C�p�G���^ gt�Aapos �� quot�Q�n���A���̥����Q�n�����m���奻�������Q��q����Ӧr�Ū��������^�]�Ϋ��V�Q��q�r�Ū��r�ŤޥΡF�o����q�⦸�O�����n���A���]�O�L�`���^�C�Ҧp�G

<!ENTITY lt "&#38;#60;"> <!ENTITY gt "&#62;"> <!ENTITY amp "&#38;#38;"> <!ENTITY apos "&#39;"> <!ENTITY quot "&#34;">

4.7 �O�k�n���]Notation Declarations�^

[�w�q�G**�O�k**�ΦW�r���ѤF���R���^���榡�A�㦳�O�k�ݩʪ��������榡�H���B�z���O�Ұw�諸���Ϊ��榡�C]

[�w�q�G�O�k�n���ᤩ�O�k�@�ӦW�r�Τ_���^���A�ݩʪ��n�����M�ݩʭȻ������A�P�ɤ]���X�F�@�ӰO�k���~�����ѲŨϱo XML �B�z���Υ����Ȥ����Υi�H�w���H���w�O�k���榡�B�z���u���U�z���ΡC]

�O�k�n��
[82] NotationDecl ::= '<!NOTATION' S Name S (ExternalID | PublicID) S? '>' [VC: �ߤ@���O�k�W�r]
[83] PublicID ::= 'PUBLIC' S PubidLiteral

���ĩʬ����G�ߤ@���O�k�W�r

�@�ӵ��w�� Name�u��Q�@�ӰO�k�n�����n��.

XML �B�z�������V���δ��ѥ���b�ݩʭȤ��A�ݩʩw�q���ι��^�n�����w�q�ΤޥΪ��O�k���W�r�M�~�����ѲšC�����٥i�H�N�~�����ѲŸѪR���t�μ��Ѳ��A���W�A�άO���νեά����B�z���B�z���w�O�k�榡�����u���һݪ���L�H���C�]���p�G XML �B�z�������ΩҹB�檺�t�Τ��S���B�z XML ����n���M�ޥΪ��O�k���������Ϊ����p�A���O�@�ӿ��~�C�^

4.8 �����^�]Document Entity�^

[�w�q�G�����^�]document entity�^�O���^�𪺮کM XML �B�z�����B�z�_�I�C] ���W�S�S���W�w XML �p��w������^�F�O��L���^���P�A�����^�S���W�r�A�ӥB�i�H�������a������Ѧa�X�{�b�B�z������J�y���C

5. �@�P�ʡ]Conformance�^

5.1 �i������M���i��������B�z���]Validating and Non-Validating Processors�^

�X�G�W�S�� XML �B�z���i�H���������G�i��������M���i��������C

�i������M���i��������B�z�����������i�b�����^�����e���M�����L����Ū�쪺�w�R���^����榡���̩ʬ������H�ϡC

[�w�q�G**�i��������B�z��**�����A�ѨϥΪ̿�ܡA���i�H�� DTD�n�����ҭz���������p�H�Τ��������W�S�����X�����ĩʬ��������p�C] �n�����o�@�I�A�i������� XML �B�z������Ū���M�B�z��� DTD �M�Ҧ��b��󤤤ޥΪ��~���w�R���^�C

���i��������B�z���u�Q�n�D�ˬd�����^�M��Ӥ��� DTD �l�����榡���̩ʡC[�w�q�G���M���̤��Q�n�D�ˬd��󪺦��ĩʡA�����̥����B�z����Ū�����Ҧ����� DTD �l�������n���M�Ҧ��Ѽƹ��^�A����J��Ĥ@�ӹ復��_�S��_Ū�����Ѽƹ��^���ޥΡF�]�N�O���A���̥������u�o���n�������H���W�S���ݩʭȡA�]�t�������^���m���奻�A�}�����ʬ��ݩʭ��C] ���F standalone="yes" �����p�A���̦b�J��Ĥ@�ӹ復��_�S��_Ū�����Ѽƹ��^���ޥΦZ�A�����B�z��Z�����^�n�����ݩʪ��n���A�]�������^���]�t���n���i���л\�e�����n���C

5.2 �ϥ� XML �B�z��

�i��������B�z�����欰�O���ץi�w����;������Ū����󪺩Ҧ������A���i�Ҧ���榡���̩ʩM���ĩʪ��H�ϡC��@�Ӥ��i��������B�z�����n�D�n�C�@�I�F�����ݭnŪ�������^�H�~�������󳡤��C�o�� XML ���B�z�����ϥΪ̦Ө��i��|����ӭ��n���v�T�G

���F�Ϥ��P XML �B�z���������ާ@���̤j���i�a�ʡA�ϥΤ��i��������B�z�������Τ����̿�_���n�D�o�dzB�z����ƪ��ʧ@�C���ǭn�D�ϥΦp�ʬ٭ȩΦb�~�����^���n���������^���\�઺�������Өϥζi������� XML �B�z���C

6. �O�k�]Notation�^

���W�S�� XML ���Φ��Ƥ�k�Τ@��²�檺�X�i�ڬ촵�S���]Extended Backus-Naur Form�AEBNF�^���X�C��k�����C�@���W�h�w�q�F�@�ӲŸ��A�Φ��p�U�G

�p�G�Ÿ��O���h�y�����_�l�Ÿ��A�h���H�j�g�r���}�Y�A�_�h�H�p�g�r���}�Y�C�r�Ŧ�`�q�]literal strings�^�Τ޸��A�_�C

�b�W�h�k�䪺���F�����A�H�U���F���Τ_�ǰt�@�өΦh�Ӧr�Ū��r�Ŧ�G

**#xN**

N �O�@�ӤQ���i���ơA�� ISO/IEC 10646 ���Y�Ӧr�Ū��W�S�]UCS-4�^�N�X�ȧ@���L�Ÿ��G�i����O N �۵��ɡA�����F���ǰt�o�Ӧr�šC#xN �����e�� 0 �S���N�q�A�b�������N�X�Ȥ����e�� 0 ���Ӽƫh�ѩҥΦr�Žs�X��רM�w�A�� XML �S���N�q�C

**[a-zA-Z]**�A **[#xN-#xN]**

�O��Ȧb���w�S�򤺪����� Char �ۤǰt�]�t�ɡAinclusive�^�C

[abc], [#xN#xN#xN]

�O��Ȭ��ҪT�|���Ȥ��@�� Char �ۤǰt�C�b�@���A�����T�|�M�S��i�H�V�ΡC

**[^a-z]**�A **[^#xN-#xN]**

�O��Ȧb���w�S��_���~_������ Char �ۤǰt�C

**[^abc]**�A **[^#xN#xN#xN]**

�O���󤣦b���w�r�Ŷ����� Char �ۤǰt�C�b�@���A�����Q�T�Ȫ��T�|�M�S��i�H�V�ΡC

**"string"**

�O�ǰt���޸����ҵ��r�Ŧꪺ�`�q�r�Ŧ�ۤǰt�C

**'string'**

�O�ǰt��޸����ҵ��r�Ŧꪺ�`�q�r�Ŧ�ۤǰt�C

�o�DzŸ��i�H���U�C�覡�զX�A�H�ǰt���`�����Ҧ��A�䤤A�MB����²����F���G

( **expression**)

expression �Q�����@�ӳ椸�A�i�H�V�����y�z�����˶i��զX�C

**A?**

�O�s�өΤ@�� A �ۤǰt�A�Y A �i��C

**A B**

�O A �Z�� B ���Ҧ��ۤǰt�C�o�Ӿާ@�Ū�ɬ���Ű��_ |�A�]�� A B | C D �۷��_ (A B) | (C D)�C

**A | B**

�O A �� B ���@�ۤǰt�A�����P�ɤǰt�C

**A - B**

�O����ǰt A �����ǰt B ���r�Ŧ�ۤǰt�C

**A+**

�O�@�өΦh�� A �ۤǰt�C�s���ާ@��ɬ���Ű��_ |�A�]�� A+ | B+ �۷��_ (A+) | (B+)�C

**A***

�O�s�өΦh�� A �ۤǰt�C�s���ާ@��ɬ���Ű��_ |�A�]�� A* | B* �۷��_ (A*) | (B*)�C

��L�b���ͦ����ϥΪ��O�k���G

**/* ... */**

�`��

**[ wfc: ... ]**

�榡���̩ʬ����F�ΦW�r���Ѥ@�ӹ��O�Y�Ӳ��ͦ������p���榡���̪���󪺬����C

**[ vc: ... ]**

���ĩʬ���;�ΦW�r���Ѥ@�ӹ��O�Y�Ӳ��ͦ������p�����Ī���󪺬����C


����

A. �ѦҤ��m

A.1 �����ѦҤ��m

IANA-CHARSETS

(Internet Assigned Numbers Authority) Official Names for Character Sets, ed. Keld Simonsen et al. See ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets.

IETF RFC 1766

IETF (Internet Engineering Task Force). _RFC 1766: Tags for the Identification of Languages_�A ed. H. Alvestrand. 1995.

ISO/IEC 10646

ISO (International Organization for Standardization). ISO/IEC 10646-1993 (E). Information technology -- Universal Multiple-Octet Coded Character Set (UCS) -- Part 1: Architecture and Basic Multilingual Plane. [Geneva]: International Organization for Standardization�A 1993 (plus amendments AM 1 through AM 7).

ISO/IEC 10646-2000

ISO (International Organization for Standardization). ISO/IEC 10646-1:2000. Information technology -- Universal Multiple-Octet Coded Character Set (UCS) -- Part 1: Architecture and Basic Multilingual Plane. [Geneva]: International Organization for Standardization, 2000.

Unicode

The Unicode Consortium. The Unicode Standard�A Version 2.0. Reading�A Mass.: Addison-Wesley Developers Press�A 1996.

Unicode3

The Unicode Consortium. The Unicode Standard, Version 3.0. Reading, Mass.: Addison-Wesley Developers Press, 2000. ISBN 0-201-61633-5.

A.2 ��L�ѦҤ��m

Aho/Ullman

Aho�A Alfred V., Ravi Sethi�A and Jeffrey D. Ullman. Compilers: Principles, Techniques, and Tools. Reading: Addison-Wesley, 1986, rpt. corr. 1988.

Berners-Lee et al.

Berners-Lee, T., R. Fielding, and L. Masinter. Uniform Resource Identifiers (URI): Generic Syntax and Semantics. 1997. (Work in progress; see updates to RFC1738.)

Brüggemann-Klein

Brüggemann-Klein, Anne. Formal Models in Document Processing. Habilitationsschrift. Faculty of Mathematics at the University of Freiburg, 1993. (See ftp://ftp.informatik.uni-freiburg.de/documents/papers/brueggem/habil.ps.)

Brüggemann-Klein and Wood

Brüggemann-Klein, Anne, and Derick Wood. Deterministic Regular Languages. Universität Freiburg, Institut für Informatik, Bericht 38, Oktober 1991. Extended abstract in A. Finkel, M. Jantzen, Hrsg., STACS 1992, S. 173-184. Springer-Verlag, Berlin 1992. Lecture Notes in Computer Science 577. Full version titled One-Unambiguous Regular Languages in Information and Computation 140 (2): 229-253, February 1998.

Clark

James Clark. Comparison of SGML and XML. See http://www.w3.org/TR/NOTE-sgml-xml-971215.

IANA-LANGCODES

(Internet Assigned Numbers Authority) Registry of Language Tags, ed. Keld Simonsen et al. (See http://www.isi.edu/in-notes/iana/assignments/languages/.)

IETF RFC2141

IETF (Internet Engineering Task Force). RFC 2141: URN Syntax, ed. R. Moats. 1997.

IETF RFC 2279

IETF (Internet Engineering Task Force). RFC 2279: UTF-8, a transformation format of ISO 10646, ed. F. Yergeau, 1998. (See http://www.ietf.org/rfc/rfc2279.txt.)

IETF RFC 2376

IETF (Internet Engineering Task Force). RFC 2376: XML Media Types. ed. E. Whitehead, M. Murata. 1998. (See http://www.ietf.org/rfc/rfc2376.txt.)

IETF RFC 2396

IETF (Internet Engineering Task Force). RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax. T. Berners-Lee, R. Fielding, L. Masinter. 1998. (See http://www.ietf.org/rfc/rfc2396.txt.)

IETF RFC 2732

IETF (Internet Engineering Task Force). RFC 2732: Format for Literal IPv6 Addresses in URL's. R. Hinden, B. Carpenter, L. Masinter. 1999. (See http://www.ietf.org/rfc/rfc2732.txt.)

IETF RFC 2781

IETF (Internet Engineering Task Force). RFC 2781: UTF-16, an encoding of ISO 10646, ed. P. Hoffman, F. Yergeau. 2000. (See http://www.ietf.org/rfc/rfc2781.txt.)

ISO 639

(International Organization for Standardization). ISO 639:1988 (E). Code for the representation of names of languages. [Geneva]: International Organization for Standardization, 1988.

ISO 3166

(International Organization for Standardization). ISO 3166-1:1997 (E). Codes for the representation of names of countries and their subdivisions -- Part 1: Country codes [Geneva]: International Organization for Standardization, 1997.

ISO 8879

ISO (International Organization for Standardization). ISO 8879:1986(E). Information processing -- Text and Office Systems -- Standard Generalized Markup Language (SGML). First edition -- 1986-10-15. [Geneva]: International Organization for Standardization, 1986.

ISO/IEC 10744

ISO (International Organization for Standardization). ISO/IEC 10744-1992 (E). Information technology -- Hypermedia/Time-based Structuring Language (HyTime). [Geneva]: International Organization for Standardization, 1992. Extended Facilities Annexe. [Geneva]: International Organization for Standardization, 1996.

WEBSGML

ISO (International Organization for Standardization). ISO 8879:1986 TC2. Information technology -- Document Description and Processing Languages. [Geneva]: International Organization for Standardization, 1998. (See http://www.sgmlsource.com/8879rev/n0029.htm.)

XML Names

Tim Bray, Dave Hollander, and Andrew Layman, editors. Namespaces in XML. Textuality, Hewlett-Packard, and Microsoft. World Wide Web Consortium, 1999. (See http://www.w3.org/TR/REC-xml-names/.)

B. �r�Ū�����(Character Classes)

���u Unicode �Э㤤�w�q���S���A�r�ųQ������r�š]�䤤�]�t�F�ԤB�r���^�A���N�r�ũM�զX�r�š]�䤤�]�t�F�j�h�ƪ��ܭ��š^�C�Ʀr�M�X�i��(extender)�]�U�۳Q�������C

�r��
[84] Letter ::= BaseChar | Ideographic
[85] BaseChar ::= [#x0041-#x005A] | [#x0061-#x007A] [#x00C0-#x00D6] [#x00D8-#x00F6] [#x00F8-#x00FF] [#x0100-#x0131] [#x0134-#x013E] [#x0141-#x0148] [#x014A-#x017E] [#x0180-#x01C3] [#x01CD-#x01F0] [#x01F4-#x01F5] [#x01FA-#x0217] [#x0250-#x02A8] [#x02BB-#x02C1] #x0386 [#x0388-#x038A] #x038C [#x038E-#x03A1] [#x03A3-#x03CE] [#x03D0-#x03D6] #x03DA #x03DC #x03DE #x03E0 [#x03E2-#x03F3] [#x0401-#x040C] [#x040E-#x044F] [#x0451-#x045C] [#x045E-#x0481] [#x0490-#x04C4] [#x04C7-#x04C8] [#x04CB-#x04CC] [#x04D0-#x04EB] [#x04EE-#x04F5] [#x04F8-#x04F9] [#x0531-#x0556] #x0559 [#x0561-#x0586] [#x05D0-#x05EA] [#x05F0-#x05F2] [#x0621-#x063A] [#x0641-#x064A] [#x0671-#x06B7] [#x06BA-#x06BE] [#x06C0-#x06CE] [#x06D0-#x06D3] #x06D5 [#x06E5-#x06E6] [#x0905-#x0939] #x093D [#x0958-#x0961] [#x0985-#x098C] [#x098F-#x0990] [#x0993-#x09A8] [#x09AA-#x09B0] #x09B2 [#x09B6-#x09B9] [#x09DC-#x09DD] [#x09DF-#x09E1] [#x09F0-#x09F1] [#x0A05-#x0A0A] [#x0A0F-#x0A10] [#x0A13-#x0A28] [#x0A2A-#x0A30] [#x0A32-#x0A33] [#x0A35-#x0A36] [#x0A38-#x0A39] [#x0A59-#x0A5C] #x0A5E [#x0A72-#x0A74] [#x0A85-#x0A8B] #x0A8D [#x0A8F-#x0A91] [#x0A93-#x0AA8] [#x0AAA-#x0AB0] [#x0AB2-#x0AB3] [#x0AB5-#x0AB9] #x0ABD #x0AE0 [#x0B05-#x0B0C] [#x0B0F-#x0B10] [#x0B13-#x0B28] [#x0B2A-#x0B30] [#x0B32-#x0B33] [#x0B36-#x0B39] #x0B3D [#x0B5C-#x0B5D] [#x0B5F-#x0B61] [#x0B85-#x0B8A] [#x0B8E-#x0B90] [#x0B92-#x0B95] [#x0B99-#x0B9A] #x0B9C [#x0B9E-#x0B9F] [#x0BA3-#x0BA4] [#x0BA8-#x0BAA] [#x0BAE-#x0BB5] [#x0BB7-#x0BB9] [#x0C05-#x0C0C] [#x0C0E-#x0C10] [#x0C12-#x0C28] [#x0C2A-#x0C33] [#x0C35-#x0C39] [#x0C60-#x0C61] [#x0C85-#x0C8C] [#x0C8E-#x0C90] [#x0C92-#x0CA8] [#x0CAA-#x0CB3] [#x0CB5-#x0CB9] #x0CDE [#x0CE0-#x0CE1] [#x0D05-#x0D0C] [#x0D0E-#x0D10] [#x0D12-#x0D28] [#x0D2A-#x0D39] [#x0D60-#x0D61] [#x0E01-#x0E2E] #x0E30 [#x0E32-#x0E33] [#x0E40-#x0E45] [#x0E81-#x0E82] #x0E84 [#x0E87-#x0E88] #x0E8A #x0E8D [#x0E94-#x0E97] [#x0E99-#x0E9F] [#x0EA1-#x0EA3] #x0EA5 #x0EA7 [#x0EAA-#x0EAB] [#x0EAD-#x0EAE] #x0EB0 [#x0EB2-#x0EB3] #x0EBD [#x0EC0-#x0EC4] [#x0F40-#x0F47] [#x0F49-#x0F69] [#x10A0-#x10C5] [#x10D0-#x10F6] #x1100 [#x1102-#x1103] [#x1105-#x1107] #x1109 [#x110B-#x110C] [#x110E-#x1112] #x113C #x113E #x1140 #x114C #x114E #x1150 [#x1154-#x1155] #x1159 [#x115F-#x1161] #x1163 #x1165 #x1167 #x1169 [#x116D-#x116E] [#x1172-#x1173] #x1175 #x119E #x11A8 #x11AB [#x11AE-#x11AF] [#x11B7-#x11B8] #x11BA [#x11BC-#x11C2] #x11EB #x11F0 #x11F9 [#x1E00-#x1E9B] [#x1EA0-#x1EF9] [#x1F00-#x1F15] [#x1F18-#x1F1D] [#x1F20-#x1F45] [#x1F48-#x1F4D] [#x1F50-#x1F57] #x1F59 #x1F5B #x1F5D [#x1F5F-#x1F7D] [#x1F80-#x1FB4] [#x1FB6-#x1FBC] #x1FBE [#x1FC2-#x1FC4] [#x1FC6-#x1FCC] [#x1FD0-#x1FD3] [#x1FD6-#x1FDB] [#x1FE0-#x1FEC] [#x1FF2-#x1FF4] [#x1FF6-#x1FFC] #x2126 [#x212A-#x212B] #x212E [#x2180-#x2182] [#x3041-#x3094] [#x30A1-#x30FA] [#x3105-#x312C] [#xAC00-#xD7A3]
[86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 [#x3021-#x3029]
[87] CombiningChar ::= [#x0300-#x0345] | [#x0360-#x0361] [#x0483-#x0486] [#x0591-#x05A1] [#x05A3-#x05B9] [#x05BB-#x05BD] #x05BF [#x05C1-#x05C2] #x05C4 [#x064B-#x0652] #x0670 [#x06D6-#x06DC] [#x06DD-#x06DF] [#x06E0-#x06E4] [#x06E7-#x06E8] [#x06EA-#x06ED] [#x0901-#x0903] #x093C [#x093E-#x094C] #x094D [#x0951-#x0954] [#x0962-#x0963] [#x0981-#x0983] #x09BC #x09BE #x09BF [#x09C0-#x09C4] [#x09C7-#x09C8] [#x09CB-#x09CD] #x09D7 [#x09E2-#x09E3] #x0A02 #x0A3C #x0A3E #x0A3F [#x0A40-#x0A42] [#x0A47-#x0A48] [#x0A4B-#x0A4D] [#x0A70-#x0A71] [#x0A81-#x0A83] #x0ABC [#x0ABE-#x0AC5] [#x0AC7-#x0AC9] [#x0ACB-#x0ACD] [#x0B01-#x0B03] #x0B3C [#x0B3E-#x0B43] [#x0B47-#x0B48] [#x0B4B-#x0B4D] [#x0B56-#x0B57] [#x0B82-#x0B83] [#x0BBE-#x0BC2] [#x0BC6-#x0BC8] [#x0BCA-#x0BCD] #x0BD7 [#x0C01-#x0C03] [#x0C3E-#x0C44] [#x0C46-#x0C48] [#x0C4A-#x0C4D] [#x0C55-#x0C56] [#x0C82-#x0C83] [#x0CBE-#x0CC4] [#x0CC6-#x0CC8] [#x0CCA-#x0CCD] [#x0CD5-#x0CD6] [#x0D02-#x0D03] [#x0D3E-#x0D43] [#x0D46-#x0D48] [#x0D4A-#x0D4D] #x0D57 #x0E31 [#x0E34-#x0E3A] [#x0E47-#x0E4E] #x0EB1 [#x0EB4-#x0EB9] [#x0EBB-#x0EBC] [#x0EC8-#x0ECD] [#x0F18-#x0F19] #x0F35 #x0F37 #x0F39 #x0F3E #x0F3F [#x0F71-#x0F84] [#x0F86-#x0F8B] [#x0F90-#x0F95] #x0F97 [#x0F99-#x0FAD] [#x0FB1-#x0FB7] #x0FB9 [#x20D0-#x20DC] #x20E1 [#x302A-#x302F] #x3099 #x309A
[88] Digit ::= [#x0030-#x0039] | [#x0660-#x0669] [#x06F0-#x06F9] [#x0966-#x096F] [#x09E6-#x09EF] [#x0A66-#x0A6F] [#x0AE6-#x0AEF] [#x0B66-#x0B6F] [#x0BE7-#x0BEF] [#x0C66-#x0C6F] [#x0CE6-#x0CEF] [#x0D66-#x0D6F] [#x0E50-#x0E59] [#x0ED0-#x0ED9] [#x0F20-#x0F29]
[89] Extender ::= #x00B7 | #x02D0 #x02D1 #x0387 #x0640 #x0E46 #x0EC6 #x3005 [#x3031-#x3035] [#x309D-#x309E] [#x30FC-#x30FE]

�b���w�q���r�����i�H�q Unicode 2.0 �r�Ůw���p�U�ɥX�G

C. XML �M SGML�]�D�����^

XML �Q�]�p�� SGML ���@�Ӥl���A���{�b�C�@�����Ī� XML ���]���ӬO�@�ӦX�G�W�S�� SGML ���C�� XML �b SGML ���~����ҥ[������ԲӰQ�װѨ�[Clark]�C

D. ���^�M�r�ŤޥΪ��i�}�]�D�����^

���������|�һ����F�b "4.4 XML �B�z������^�M�ޥΪ��B�z"�@�`���W�w�����^�M�r�ŤޥΪ��ѧO�M�i�}�����ǡC

�p�G�n���]�t�b DTD ��

<!ENTITY example "<p>An ampersand (&#38;#38;) may be escaped numerically (&#38;#38;#38;) or with a general entity (&amp;amp;).</p>" >

���\ XML �B�z���N�b����^�n���i��y�k���R���ѧO�X�r�ŤޥΡA�}�b�N�U�����r�Ŧ�s�����^"example"���ȫe�ѪR�o�Ǧr�Ťޥ�:

<p>An ampersand (&#38;) may be escaped numerically (&#38;#38;) or with a general entity (&amp;amp;).</p>

��󤤹� "&example;" ���ޥη|�ɭP��奻�����s���R�A���ɤ��� "p" ���_�l�M������ñ�Q�ѧO�A�T�ӤޥγQ�ѧO�M�i�}�A�䵲�G�O�@�ӥ]�t�U�����e�]�Ҧ����u�A�L�w�ɲũμаO�^"p" �����G

An ampersand (&) may be escaped numerically (&#38;) or with a general entity (&amp;).

�@�ӧ��`�����Ҥl�i�H����a�����o�dzW�h�M���̪��@�ΡC�b�U�����Ҥl���A�渹�ȶȬO���F��K�����C

1 <?xml version='1.0'?> 2 <!DOCTYPE test [ 3 <!ELEMENT test (#PCDATA) > 4 <!ENTITY % xx '&#37;zz;'> 5 <!ENTITY % zz '&#60;!ENTITY tricky "error-prone" >' > 6 %xx; 7 ]> 8 <test>This sample shows a &tricky; method.</test>

�o�ӨҤl�|�ɭP�U�C�ʧ@�G

E. �̩w�����e�ҫ�(�D����)

�p 3.2.1 ���������e���ҭz�A���������n���������e�ҫ��n�D�O�̩w�����C�o�ӭn�D�O�X�_�M SGML ���ݮe�ʦҼ{�]SGML �٬�"�L�[�q��"�^�F�� SGML �t�Υͦ��� XML �B�z���i��|��D�̩w�����e�ҫ��Ь����~�C

�Ҧp�A���e�ҫ�((b, c) | (b, d))�O�D�̩w�����A�]�����w�@�Ӫ�l b�AXML �B�z���S���b�V�e�ݥH���D b �Z�O���\�������e�A�L�k���D�ǰt�ҫ��������� b�C�b�o�����p�U�A��ӹ� b ���ޥΥi�H²�Ʀ���Ӫ��ޥΡA�ϱo�ҫ�����(b,(c | d))�C���ɪ�l�� b�u�M���e�ҫ������@�ӦW�r���̤ǰt�C�B�z�����ݭn�V�e�ݨ�Z�����e�Cc �� d ����Q�����C

��Φ��ƪ����k�G�ϥ� Aho�ASethi �M Ullman �ҵ� [Aho/Ullman] 3.9 �`�����Э��k 3.5�A�i�H�q���e�ҫ��۳y�X�@�Ӧ������A�۰���C�b�ܦh�o�˪���k���A�������h���F�������C�@�Ӧ�m(�Y���h���F�����y�k�𤤪��C�Ӹ��l�`�I)�A���۳y�@���H���]follow set�^�F�p�G���@��m���H��������@�ӦZ�~��m�Q�Ь��P�@���������ɡA���\�����e�ҫ��X���A�}�B�i�H�Q�������~�C

�s�b�N�\�h�����O�Ҧ��D�̩w�����e�ҫ��۰ʳW������ɲ���̩w���ҫ�����k�F�Ѩ� Br�ggemann-Klein 1991 [Br�ggemann-Klein].

F. �r�Žs�X���۰��˴�(�D����)

XML �s�X�n���b���^���H������ñ���覡�u�@�A�Τ_���X�ϥΤF�����r�Žs�X�C�M�ӡA�b XML �B�z����Ū���o�Ӥ�����ñ�e�A��M���������D���e�ϥΪ��O�����r�Žs�X�Цӳo���O��������ñ�n�չϫ��X���C�q�`���p�U�A�o�O�@���L�k�ѨM�����p�C���b XML ���}�D�p���A�]�� XML �b��Ӥ譱��o�����Χ@�X�F����G���w�C�@����{�u����@�Ӧ������r�Žs�X���A�}�B�A���F�ϱo���`���p�U�۰��˴��C�ӹ��^���ҥΦr�Žs�X�����i��A����F XML �s�X�n������m�M���e�C�P�ɡA�ܦh���p�U���F XML ���u�y�������~�A�t�~�٦��i�Ϊ��H�����C���u XML ���^�浹�B�z���ɨS���Φ����󪺪��a(�~��)�H���A�i�H�Ϥ��X�������p�C�ڭ̥��Ҽ{�Ĥ@�����p�C

F.1 �L�~���s�X�H���ɪ��˴�

�]���C�@�ӨS���~���s�X�H���B�D UTF-8 �� UTF-16 �s�X�� XML ���^_����_�H XML �s�X�n���}�Y�A��}�l���L�Ӧr�ť����� '<?xml'�A����X�G�W�S���B�z���i�H�b���|�ӤK��ժ���J�Z�A�˴��X��Τ_�U�C�������p�C�bŪ�o�i���ɡA���D�o�ǬO�����U���G�b UCS-4 ���A'<' �O "#x0000003C"�A'?' �O "#x0000003F"�AUTF-16 ���u�y���r�`���ǼаO�n�D�� "#xFEFF"�C�O�k ## �Τ_���ܥ��N���r�`�ȡA����ӳs�� ## ����P�ɬ� 00�C

���r�`���ǼаO�G

00 00 FE FF UCS-4�Abig-endian �s�X���p����(1234����)
FF FE 00 00 UCS-4�Alittle-endian �s�X���p����(4321����)
00 00 FF FE UCS-4�A�ݱ`���K��զ���(2143)
FE FF 00 00 UCS-4�A�ݱ`���K��զ���(3412)
FE FF ## ## UTF-16, big-endian
FF FE ## ## UTF-16, little-endian
EF BB BF UTF-8

�L�r�`���ǼаO�G

00 00 00 3C UCS-4 �Ψ�L 32 ��X�����s�X�A�P�� ASCII �r�Ū��X�ȴN�O ASCII �ȡA���Ǥ��O�� big-endian�]1234�^�Alittle-endian�]4321�^�M�����ݱ`���r�`���ǡ]2143 �M 3412�^�C����Ū���s�X�n���H�̩w�ϥΪ��O �Ψ�L�Q����� 32 ��s�X�C
3C 00 00 00
00 00 3C 00
00 3C 00 00
00 3C 00 3F UTF-16BE�Abig-endian �� ISO-10646-UCS-2 �Ψ�L 16 ��X���� big-endian ���s�X�A�䤤 ASCII �r�Ū��X�ȴN�O ASCII �]����Ū���s�X�n���H�̩w�ϥΪ��O���@���^
3C 00 3F 00 UTF-16LE�Alittle-endian �� ISO-10646-UCS-2 �Ψ�L 16 ��X���� little-endian ���s�X�A�䤤 ASCII �r�Ū��X�ȴN�O ASCII �]����Ū���s�X�n���H�̩w�ϥΪ��O���@���^
3C 3F 78 6D UTF-8�AISO 646�AASCII�AISO 8859 ���Y�dz����AShift-JIS�AEUC�A�Υ����L 7 ��A8 ��βV�X�e�ת��s�X�A�o�ǽs�X�����O�� ASCII �r�Ŧ����̥��`����m�A�e�שM���ȡF���^�䤤���@����λ�Ū����ڪ��s�X�n�����˴��̩w�A���O�]���Ҧ��o�ǽs�X���� ASCII �r�ŨϥΤF�ۦP����Ҧ��A�ҥH����i�a�aŪ���s�X�n������
4C 6F A7 94 EBCDIC �]�䤤���Y�DZ��p�F����Ū�����㪺�s�X�n���H�̩w�ϥΪ��O���@�ӥN�X���^
��L �S���s�X�n���h�� UTF-8�A�_�h���O���u�y�Q�п��F�]�S���һݪ��s�X�n���^�A�Q�l���F�A�O�����㪺�A�N�O�Q�]�t�b�Y���~�h���u��

�`�G

�b�W�z���ݭnŪ���s�X�n�����̩w�ҥνs�X�����p�U�A4.3.3 �`���M�n�DŪ���i��X�{���s�X�n���A�}�ˬd�䤤���s�X�W�٬O�_�O���^��ڪ��s�X�ۤ@�P�C�P�ɡA�{�b���n�D���s�X�n�������p���i��|�]���s���r�Žs�X��ת��o�����ܱo�����ϥνs�X�n���Τ_�̩w�ҥΪ��s�X�C

�o���h�����۰��˴����H�Τ_Ū�� XML �s�X�n���M���R�r�Žs�X���ѲšC�r�Žs�X���ѲŤ��M�O�������A���Τ_�Ϥ��s�X��׶�������Ӧ����]�Ҧp�q 8859 ���Ϥ��X UTF-8�A8859 �U�ӳ��������ۤ��Ϥ��A�H�ΰϤ��ҥΪ��S�w EBCDIC �N�X���A����)�C

�]���s�X�n�������e���_ ASCII �r�Ŷ������r�š]���ޫ�˽s�X�^�A�@���B�z���˴���ϥΪ��O���@�ӽs�X��׶��A������i�a�aŪ����ӽs�X�n���C�]���b��ڤ��A�Ҧ��s�x�ϥΪ��r�Žs�X���i�H�k�_�W�z�������AXML �s�X�n���O���F�i�a�����O�]in-band�^�r�Žs�X�Ъ`�A�Y�ϬO�b�ާ@�t�Ωζǿ��ij�Ū��~���H�����}���i�a�����p�U�C�H UTF-7 ���˭��ΤF ASCII �s�X�Ȫ��r�Žs�X��צ��i��L�k�i�a�a�Q�˴��C

�@���B�z���˴���ҥΪ��r�Žs�X�A���N�i�H�@�X�X�쪺�ʧ@�A�άO�w��C�����p�եγ�W����J�ҵ{�A�άO��C�ӿ�J���r�ŽեΪ����X�쪺�ഫ��ơC

�M����ۼЪ`�]self-labeling�^���t�Τ@�ˡA�@������n����ܤF���^���r�Ŷ��Ψ�s�X�ӨS�������ק�s�X�n�����ܡAXML���s�X�n���N�L�k�u�@�C�r�Žs�X��ת���{�̥����p�ߥJ�ӡA�H�O���Τ_�Ъ`���^�������M�~���H�������̩ʡC

F.2 �~���s�X�H����ɬ����

�ĤG���i�઺���p�O XML ���^�����a���H���A�p�b�@�Ǥ��t�ΩM�I����ij���C���㦳�h�ӫH�����ɡA���̶����۹�ɬ���ũM����Ĭ�B�z��k�����b�ǿ� XML �����h��ij�����X�C���^�аѦ� [IETF RFC 2376] �Ψ�Z��Э�A�䤤�w�q�F text/xml �M application/xmlMIME �����}�B���ѤF�@�Ǧ��Ϊ����ɡC�M�ӥX�_���ާ@�ʦҼ{�A��ij�ϥΤU�C�W�h�C

G. W3C XML �u�@��(�D����)

���W�S�� W3C XML �u�@�ա]WG�^�����}���o���C�u�@�է�㥻�W�S�}�����ܩҦ����u�@�զ������@�P�P�N���W�S�C�{���M�H�e�� XML �u�@�զ����]�A�G

H W3C XML �֤ߤu�@�ա]�D�����^

���W�S���ĤG���� W3C XML �֤ߤu�@�է����C�b�������o���ɦ��u�@�ժ������]�A�G

�@