| <?xml version="1.0" encoding="shift_jis"?> |
| <!DOCTYPE spec SYSTEM "spec.dtd" [ |
| |
| <!-- ú{êó̽ßÌðÍÎÛÀÌi±±©çj --> |
| |
| <!ENTITY TR-or-Rec "dl"> |
| <!-- <!ENTITY TR-or-Rec "Wîñ(TR)"> --> |
| <!ENTITY eTR-or-Rec "specification"> |
| <!-- <!ENTITY eTR-or-Rec "technical report(TR)"> --> |
| <!ENTITY application "AvP[V"> |
| <!ENTITY error "G["> |
| <!ENTITY fatal-error "v½IG["> |
| <!ENTITY parsed-data "ðͳêéf[^"> |
| <!ENTITY unparsed-data "ðͳêÈ¢f[^"> |
| <!ENTITY parsed-entity "ðÍÎÛÀÌ"> |
| <!ENTITY parser "p[T"> |
| <!ENTITY unparsed-entity "ðÍÎÛOÀÌ"> |
| <!ENTITY well-formed "®`®"> |
| <!ENTITY valid "Ã"> |
| <!ENTITY validity "ë"> |
| <!ENTITY escape "浢"> |
| <!ENTITY prolog "«"> |
| <!ENTITY surrogate-blocks "TQ[gubN"> |
| <!ENTITY letter ""> |
| <!ENTITY ideographic "¿"> |
| <!ENTITY markup "}[Nt¯"> |
| <!ENTITY left-angle-bracket "s(¬Èè)"> |
| <!ENTITY right-angle-bracket "s(åÈè)"> |
| <!ENTITY string "¶ñ"> |
| <!ENTITY char-string "¶ñ"><!-- string of chararacters, |
| character strings, strings, |
| characters Í·×ĶñÆ·é --> |
| <!ENTITY replacement-text "u·eLXg"> |
| <!ENTITY single-quote "êdøp"> |
| <!ENTITY double-quote "ñdøp"> |
| <!ENTITY adaptations-annex "Kp®"> |
| <!ENTITY root "[g"> |
| <!ENTITY base-character "îê¶"> |
| <!ENTITY diacritical-mark "¹"><!--(_CANeBJ}[N)ðoÌÆ«â¤--> |
| <!ENTITY composed-form "¬`®"> |
| <!ENTITY standalone "X^hA"> |
| <!ENTITY double-hyphen "ñAnCt"> |
| <!--<!ENTITY case-fold "嶩¬¶ÖÌê">--> |
| <!-- <!ENTITY case-fold "ärÌÆ«Cå¶Æ¬¶Ì¯ê">--> |
| <!ENTITY parameter "p^"> |
| <!ENTITY stream "Xg["> |
| <!ENTITY validating "ëðØ·é"> |
| <!ENTITY non-validating "ëðصȢ"> |
| <!ENTITY user "[U"> |
| <!--<!ENTITY at-user-option "[UªIvVðw赽ƫ">--> |
| <!ENTITY at-user-option "[UÌIvVwèÉæÁÄÍ"> |
| <!ENTITY content-particle "àefq"> |
| <!ENTITY processor "vZT"> |
| <!ENTITY default "ftHg"> |
| <!ENTITY default-value "ftHgl"> |
| <!ENTITY header "wb_"> |
| <!ENTITY target "^[Qbg"> |
| <!ENTITY mixed-content "ˆe"> |
| <!ENTITY country-code "R[h"> |
| <!ENTITY language-code "¾êR[h"> |
| <!ENTITY version "Å"> <!-- version 1.0Íæ1.0Å --> |
| <!ENTITY match "}b`"> |
| <!ENTITY character-value "¶Ô"> |
| <!ENTITY byte-order-mark "oCg}[N"> |
| <!ENTITY bypass "µÈ¢"> |
| <!ENTITY identifier "¯Êq"> |
| <!-- <!ENTITY identify "¯Ê·é"> --> |
| <!ENTITY identify "Áè·é"> |
| <!-- <!ENTITY identified "¯Ê³êé"> --> |
| <!ENTITY identified "Áè³êé"> |
| <!ENTITY combining-character "¶"> |
| <!ENTITY subset "TuZbg"> |
| <!ENTITY token "g[N"> |
| <!ENTITY literal "e"> |
| |
| <!ENTITY parenthesis "©Á±"> |
| <!ENTITY left-parenthesis "J«©Á±"> |
| <!ENTITY right-parenthesis "¶©Á±"> |
| |
| <!-- ÆÅCªÂ¢½àÌ JIS X0221ð©éKv è --> |
| |
| <!ENTITY extender "GNXe_"> |
| <!ENTITY property "vpeB"> |
| <!ENTITY property-list "vpeBXg"> |
| <!ENTITY property-file "vpeBt@C"> |
| <!ENTITY font-decomposition "tHgªð"> |
| <!ENTITY compatibility-decomposition "Ý·«ªð"> |
| <!ENTITY compatibility-area "Ý·«Ìæ"> |
| |
| <!ENTITY language-identification "¾ê¯Ê"> |
| |
| <!ENTITY space-character "Xy[X¶"> |
| <!ENTITY space "Xy[X"> |
| <!ENTITY code-value "R[hl"> |
| <!ENTITY normative "KèÌ"> |
| <!ENTITY hueristics "q
[XeBbN"> |
| <!ENTITY informative ""> |
| |
| <!ENTITY WebSGML 'ISO 8879ÖÌWebSGML&adaptations-annex;'> |
| <!ENTITY XML.version "1.0"> |
| <!ENTITY doc.date "1997N128ú"> |
| <!ENTITY iso6.doc.date "971208"> |
| <!ENTITY w3c.doc.date "97N123ú"> |
| <!ENTITY draft.day '8ú'> |
| <!ENTITY draft.month '12'> |
| <!ENTITY draft.year '1997N'> |
| |
| <!-- ú{êó̽ßÌðÍÎÛÀÌi±±ÜÅj --> |
| |
| <!-- LAST TOUCHED BY: Tim Bray, 3 Dec 1997 --> |
| |
| <!-- The words 'FINAL EDIT' in comments mark places where changes |
| need to be made after approval of the document by the ERB, before |
| publication. --> |
| |
| <!ENTITY XML.version "1.0"> |
| <!ENTITY doc.date "8 December 1997"> |
| <!ENTITY iso6.doc.date "971208"> |
| <!ENTITY w3c.doc.date "03-Dec-97"> |
| <!ENTITY draft.day '8'> |
| <!ENTITY draft.month 'December'> |
| <!ENTITY draft.year '1997'> |
| |
| <!ENTITY WebSGML |
| 'WebSGML Adaptations Annex to ISO 8879'> |
| |
| <!ENTITY newline " "> |
| <!-- old: <!ENTITY newline "
"> --> |
| <!ENTITY lt "<"> |
| <!ENTITY gt ">"> |
| <!--<!ENTITY amp "&"> --> |
| <!ENTITY xmlpio "'<?xml'"> |
| <!ENTITY pic "'?>'"> |
| <!ENTITY br "\n"> |
| <!ENTITY cellback '#c0d9c0'> |
| <!ENTITY mdash "--"> <!-- was: <!ENTITY mdash "&#151;"> --> |
| <!ENTITY com "--"> |
| <!ENTITY como "--"> |
| <!ENTITY comc "--"> |
| <!ENTITY hcro "&#x"> |
| <!-- <!ENTITY nbsp ""> --> |
| <!ENTITY nbsp " "> |
| <!ENTITY magicents "<code>amp</code>, |
| <code>lt</code>, |
| <code>gt</code>, |
| <code>apos</code>, |
| <code>quot</code>"> |
| |
| <!--ú{êóÉ¢Ä: RgÍ|óÎÛ©çOµÜµ½BéØav --> |
| <!-- audience and distribution status: for use at publication time --> |
| <!-- --> |
| <!ENTITY doc.audience "öJr
[yÑc_"> |
| <!ENTITY doc.distribution "eLXgyÑ@¥ãÌÓðüϵȢÀèC |
| ©RÉzzµÄàæ¢"> |
| |
| ]> |
| |
| <!-- for Panorama *--> |
| <?VERBATIM "eg" ?> |
| |
| <spec> |
| <header> |
| <title>g£Â\È&markup;¾ê (XML)</title> |
| <version>æ1.0&version;</version> |
| <w3c-designation>PR-xml-&iso6.doc.date;</w3c-designation> |
| <w3c-doctype>World Wide Web Consortium</w3c-doctype> |
| <pubdate><day>&draft.day;</day><month>&draft.month;</month><year>&draft.year;</year></pubdate> |
| <notice><p>±ÌÄÍCXML WGyѼÌÖWÒÉæér
[̽ßÌàÌÅ ÁÄCöJÌc_̽ßÌàÌÅÍÈ¢B |
| <!-- FINAL EDIT: FIX --></p></notice> |
| <publoc> |
| <loc href="http://www.w3.org/TR/PR-xml-&iso6.doc.date;"> |
| http://www.w3.org/TR/PR-xml-&iso6.doc.date;</loc></publoc> |
| <prevlocs> |
| <loc href='http://www.w3.org/TR/WD-xml-961114'> |
| http://www.w3.org/TR/WD-xml-961114</loc> |
| <loc href='http://www.w3.org/TR/WD-xml-lang-970331'> |
| http://www.w3.org/TR/WD-xml-lang-970331</loc> |
| <loc href='http://www.w3.org/TR/WD-xml-lang-970630'> |
| http://www.w3.org/TR/WD-xml-lang-970630</loc> |
| <loc href='http://www.w3.org/TR/WD-xml-970807'> |
| http://www.w3.org/TR/WD-xml-970807</loc> |
| <loc href='http://www.w3.org/TR/WD-xml-971117'> |
| http://www.w3.org/TR/WD-xml-971117</loc> |
| </prevlocs> |
| <authlist> |
| <author><name>Tim Bray</name> |
| <affiliation>Textuality and Netscape</affiliation> |
| <email |
| href="mailto:tbray@textuality.com">tbray@textuality.com</email></author> |
| <author><name>Jean Paoli</name> |
| <affiliation>Microsoft</affiliation> |
| <email href="mailto:jeanpa@microsoft.com">jeanpa@microsoft.com</email></author> |
| <author><name>C. M. Sperberg-McQueen</name> |
| <affiliation>University of Illinois at Chicago</affiliation> |
| <email href="mailto:cmsmcq@uic.edu">cmsmcq@uic.edu</email></author> |
| </authlist> |
| <status> |
| <p>±Ì&TR-or-Rec;Í, 1997N12ÉWorld Wide Web Consortium©ç |
| ö\³ê½©ÄExtensible Markup Language versionæ1.0Åð|óµ, Z |
| pIàeðÏX·é±ÆÈ쬵½&TR-or-Rec;Å éBThis &eTR-or-Rec; |
| is a translation of the XML proposed recommendation 1.0 |
| published by the World Wide Web Consortium in December 1997. It is |
| intended that &eTR-or-Rec; is technically identical to the original.</p> |
| |
| <p>´¶É éAì ÉÖµÄÌLqðɦ·BThe |
| original copyright notice is shown below:</p> |
| |
| <p>±ÌÅÌXMLÌKèÍCöJr
[yÑc_ð |
| ÚIÆ·éBeLXgyÑ@¥ãÌÓðüϵȢÀèC©RÉ |
| zzµÄàæ¢BThis version of the XML specification is for |
| public review and discussion. It may be distributed freely, |
| as long as all text and legal notices remain intact.</p> |
| |
| <p>±Ì&TR-or-Rec;̳ÆÈÁ½XML©ÄÍC1998N2ÉWorld |
| Wide Web Consortium©çö\³ê½XML©ÉæÁÄ·ÅÉu«· |
| ¦çêÄ¢éB±ÌWîñÍCXML©É]ÁÄù³·é±Æð |
| \èµÄ¢éBThe XML Proposed Recommendation is superseded |
| by the XML Recommendation which was published by the World |
| Wide Web Consortium in February 1998. It is intended that |
| this &eTR-or-Rec; be revised accordingly in the near future.</p> |
| |
| <p>±Ì&TR-or-Rec;ÍCÀèµ½àÌÅ ÁÄCðNÌ<loc |
| href='http://www.w3.org/XML'>XML®</loc>ðʶÄ쬳ê½CêAÌì |
| ÆÄð³Æ·éB»ÝCLÍÍÉgp³êÄ¢éÛIÈeLXgÌW |
| (WêÊ»&markup;¾êCStandard Generalized Markup Language, ISO |
| 8879:1986ÉÇÁyÑù³ðÁ¦½àÌ)ÌCWWWãÅÌgp̽ßÉ⊂ |
| »µ½¾êðC±Ì&TR-or-Rec;ÍCKè·éBISO 8879ÌÇÌ@\ð±Ì |
| ⊂Éc·©CÆ¢¤èÉ¢ÄÌÚ×ÍC<loc |
| href='http://www.w3.org/XML/#WG-decisions'>ÊrpÓ·é</loc>BXMLÍC |
| ùɢ©̤iÅT|[g³êCXMLðT|[g·é<loc |
| href='http://www.w3.org/XML/#software'>t[EFA</loc>Ìà¦Ä |
| ¢éBXMLÉÖ·éöJÌ_càCICÅ<loc |
| href='http://www.w3.org/XML/#discussion'>üèÅ«é</loc>BIt is a |
| stable document derived from a series of working drafts produced over |
| the last year as deliverables of the <loc |
| href='http://www.w3.org/XML'>XML activity</loc>. It specifies a |
| language created by subsetting an existing, widely used international |
| text processing standard (Standard Generalized Markup Language, ISO |
| 8879:1986 as amended and corrected) for use on the World Wide Web. |
| Details of the decisions regarding which features of ISO 8879 to |
| retain in the subset <loc |
| href='http://www.w3.org/XML/#WG-decisions'>are available |
| separately</loc>. XML is already supported by some commercial |
| products, and there are a growing number of <loc |
| href='http://www.w3.org/XML/#software'>free implementations</loc>. |
| Public discussions of XML <loc |
| href='http://www.w3.org/XML/#discussion'>are accessible |
| online</loc>.</p> |
| |
| <p>±Ì&TR-or-Rec;ÅÍC<bibref ref="Berners-Lee"/>Éè`·é |
| URI(Uniform Resource Identifier)ðgp·éBURI̧èìÆÍisÅ Á |
| ÄC<bibref ref="RFC1738"/>yÑ<bibref ref="RFC1808"/>ðXV·é\èÆ |
| ÈÁÄ¢éB±ÌìƪRFCƵÄó¯üêçêÈ¢êÍC±ÌKöàÌURI |
| ÖÌQÆÍCURL(Uniform Resource Locator)ÖÌQÆÉãíéBThis |
| specification uses the term URI, which is defined by <bibref |
| ref="Berners-Lee"/>, a work in progress expected to update <bibref |
| ref="RFC1738"/> and <bibref ref="RFC1808"/>. Should the work not be |
| accepted as an RFC, the references to uniform resource identifiers |
| (URIs) in this specification will become references to uniform |
| resource locators (URLs).</p> |
| |
| <p>XMLÌdlɵĢé©Ç¤©ÌîÆÈéÍW3CÌTCgÉ |
| 鴶ŠéBThe normative version of the specification is |
| the English version found at the W3C site.</p> |
| |
| <p>±ÌWîñÍ´dlÆZpIɯêÅ é±ÆðÓ}µÄ¢éªA |
| |óãÌëèÍ è¾éBAlthough this technical report is |
| intended to be technically identical to the original, it may |
| contain errors from the translation.</p> |
| |
| <p>õl: ´KèÆÌKèÓÌÎÖWð¾ç©É·é½ßA±Ì |
| &TR-or-Rec;Ìß\¬yÑßÔÍA´KèÌ»êçðū龯۶µÄ¢ |
| éB±Ì&TR-or-Rec;ÌWebÅÍA´KèÌHTML^Oð»ÌÜÜÛ¶µÄ¢éB |
| </p> |
| </status> |
| <!-- out of date |
| <statusp>This is a W3C Working Draft for review by W3C members and other |
| interested parties. It is a draft document and may be updated, |
| replaced, or obsoleted by other documents at any time. It is |
| inappropriate to use W3C Working Drafts as reference material or to |
| cite them as other than "work in progress". A list of current W3C |
| working drafts can be found at |
| <loc href="http://www.w3.org/TR">http://www.w3.org/TR</loc>.</statusp> |
| <statusp><emph>Note:</emph> Since working drafts are subject to frequent |
| change, you are advised to reference the above URL, rather than the |
| URLs for working drafts themselves.</statusp> |
| <statusp>This work is part of the W3C SGML Activity (for current |
| status, see <loc href="http://www.w3.org/MarkUp/SGML/Activity" |
| >http://www.w3.org/MarkUp/SGML/Activity</loc>).</statusp> |
| <p>The current |
| draft of this specification |
| presupposes the successful completion of the current |
| work on the &WebSGML;, being prepared by ISO/IEC JTC1 |
| at the time this draft specification was drafted. |
| If it is not |
| adopted in the expected form, some clauses of this specification |
| may change, and some |
| recommendations now labeled "<termref def="dt-interop">for |
| interoperability</termref>" will become requirements labeled |
| "<termref def="dt-compat">for compatibility</termref>". |
| </p> |
| <p>The current draft of this specification uses the term |
| URI, which is defined by |
| <bibref ref="Berners-Lee"/>, |
| which is work in progress expected to update |
| <bibref ref="RFC1738"/> and <bibref ref="RFC1808"/>. |
| Should the work in this draft not be accepted as an RFC, the |
| references to uniform resource identifiers (URIs) in this |
| specification will become references to uniform resource |
| locators (URLs).</p> |
| </status> --> |
| <abstract> |
| <p>g£Â\È&markup;¾ê(XML)ÍSGMLÌÈPÈû¾Å ÁÄC±Ì&TR-or-Rec;ÅC»Ì·×ÄðKè·éBXMLÌÚWÍC»ÝÌHTMLƯlÉCêÊ«Ì éSGMLðEFuãÅzzCóMyÑÅ«é±ÆÆ·éBXMLÍÀªeÕÅ ÁÄCSGMLyÑHTMLÌÇ¿çÉεÄàÝ^p«ðÛÂÝvªÈ³êÄ¢éB</p> |
| </abstract> |
| <pubstmt> |
| <p>Chicago, Vancouver, Mountain View, et al.: |
| World-Wide Web Consortium, XMLìÆO[v, 1996, 1997.</p> |
| </pubstmt> |
| <sourcedesc> |
| <p>Created in electronic form.</p> |
| </sourcedesc> |
| <langusage> |
| <language id='EN'>English</language> |
| <language id='ebnf'>Extended Backus-Naur Form (formal grammar)</language> |
| </langusage> |
| <revisiondesc> |
| <slist> |
| <sitem>1997-12-03 : CMSMcQ : yet further changes</sitem> |
| <sitem>1997-12-02 : TB : further changes (see TB to XML WG, |
| 2 December 1997)</sitem> |
| <sitem>1997-12-02 : CMSMcQ : deal with as many corrections and |
| comments from the proofreaders as possible: |
| entify hard-coded document date in pubdate element, |
| change expansion of entity WebSGML, |
| update status description as per Dan Connolly (am not sure |
| about refernece to Berners-Lee et al.), |
| add 'The' to abstract as per WG decision, |
| move Relationship to Existing Standards to back matter and |
| combine with References, |
| re-order back matter so normative appendices come first, |
| re-tag back matter so informative appendices are tagged informdiv1, |
| remove XXX XXX from list of 'normative' specs in prose, |
| move some references from Other References to Normative References, |
| add RFC 1738, 1808, and 2141 to Other References (they are not |
| normative since we do not require the processor to enforce any |
| rules based on them), |
| add reference to 'Fielding draft' (Berners-Lee et al.), |
| move notation section to end of body, |
| drop URIchar non-terminal and use SkipLit instead, |
| lose stray reference to defunct nonterminal 'markupdecls', |
| move reference to Aho et al. into appendix (Tim's right), |
| add prose note saying that hash marks and fragment identifiers are |
| NOT part of the URI formally speaking, and are NOT legal in |
| system identifiers (processor 'may' signal an error). |
| Work through: |
| Tim Bray reacting to James Clark, |
| Tim Bray on his own, |
| Eve Maler, |
| |
| NOT DONE YET: |
| change binary / text to unparsed / parsed. |
| handle James's suggestion about < in attriubte values |
| uppercase hex characters, |
| namechar list, |
| </sitem> |
| <sitem>1997-12-01 : JB : add some column-width parameters</sitem> |
| <sitem>1997-12-01 : CMSMcQ : begin round of changes to incorporate |
| recent WG decisions and other corrections: |
| binding sources of character encoding info (27 Aug / 3 Sept), |
| correct wording of Faust quotation (restore dropped line), |
| drop SDD from EncodingDecl, |
| change text at version number 1.0, |
| drop misleading (wrong!) sentence about ignorables and extenders, |
| modify definition of PCData to make bar on msc grammatical, |
| change grammar's handling of internal subset (drop non-terminal markupdecls), |
| change definition of includeSect to allow conditional sections, |
| add integral-declaration constraint on internal subset, |
| drop misleading / dangerous sentence about relationship of |
| entities with system storage objects, |
| change table body tag to htbody as per EM change to DTD, |
| add rule about space normalization in public identifiers, |
| add description of how to generate our name-space rules from |
| Unicode character database (needs further work!). |
| </sitem> |
| <sitem>1997-10-08 : TB : Removed %-constructs again, new rules |
| for PE appearance.</sitem> |
| <sitem>1997-10-01 : TB : Case-sensitive markup; cleaned up |
| element-type defs, lotsa little edits for style</sitem> |
| <sitem>1997-09-25 : TB : Change to elm's new DTD, with |
| substantial detail cleanup as a side-effect</sitem> |
| <sitem>1997-07-24 : CMSMcQ : correct error (lost *) in definition |
| of ignoreSectContents (thanks to Makoto Murata)</sitem> |
| <sitem>Allow all empty elements to have end-tags, consistent with |
| SGML TC (as per JJC).</sitem> |
| <sitem>1997-07-23 : CMSMcQ : pre-emptive strike on pending corrections: |
| introduce the term 'empty-element tag', note that all empty elements |
| may use it, and elements declared EMPTY must use it. |
| Add WFC requiring encoding decl to come first in an entity. |
| Redefine notations to point to PIs as well as binary entities. |
| Change autodetection table by removing bytes 3 and 4 from |
| examples with Byte Order Mark. |
| Add content model as a term and clarify that it applies to both |
| mixed and element content. |
| </sitem> |
| <sitem>1997-06-30 : CMSMcQ : change date, some cosmetic changes, |
| changes to productions for choice, seq, Mixed, NotationType, |
| Enumeration. Follow James Clark's suggestion and prohibit |
| conditional sections in internal subset. TO DO: simplify |
| production for ignored sections as a result, since we don't |
| need to worry about parsers which don't expand PErefs finding |
| a conditional section.</sitem> |
| <sitem>1997-06-29 : TB : various edits</sitem> |
| <sitem>1997-06-29 : CMSMcQ : further changes: |
| Suppress old FINAL EDIT comments and some dead material. |
| Revise occurrences of % in grammar to exploit Henry Thompson's pun, |
| especially markupdecl and attdef. |
| Remove RMD requirement relating to element content (?). |
| </sitem> |
| <sitem>1997-06-28 : CMSMcQ : Various changes for 1 July draft: |
| Add text for draconian error handling (introduce |
| the term Fatal Error). |
| RE deleta est (changing wording from |
| original announcement to restrict the requirement to validating |
| parsers). |
| Tag definition of validating processor and link to it. |
| Add colon as name character. |
| Change def of %operator. |
| Change standard definitions of lt, gt, amp. |
| Strip leading zeros from #x00nn forms.</sitem> |
| <sitem>1997-04-02 : CMSMcQ : final corrections of editorial errors |
| found in last night's proofreading. Reverse course once more on |
| well-formed: Webster's Second hyphenates it, and that's enough |
| for me.</sitem> |
| <sitem>1997-04-01 : CMSMcQ : corrections from JJC, EM, HT, and self</sitem> |
| <sitem>1997-03-31 : Tim Bray : many changes</sitem> |
| <sitem>1997-03-29 : CMSMcQ : some Henry Thompson (on entity handling), |
| some Charles Goldfarb, some ERB decisions (PE handling in miscellaneous |
| declarations. Changed Ident element to accept def attribute. |
| Allow normalization of Unicode characters. move def of systemliteral |
| into section on literals.</sitem> |
| <sitem>1997-03-28 : CMSMcQ : make as many corrections as possible, from |
| Terry Allen, Norbert Mikula, James Clark, Jon Bosak, Henry Thompson, |
| Paul Grosso, and self. Among other things: give in on "well formed" |
| (Terry is right), tentatively rename QuotedCData as AttValue |
| and Literal as EntityValue to be more informative, since attribute |
| values are the <emph>only</emph> place QuotedCData was used, and |
| vice versa for entity text and Literal. (I'd call it Entity Text, |
| but 8879 uses that name for both internal and external entities.)</sitem> |
| <sitem>1997-03-26 : CMSMcQ : resynch the two forks of this draft, reapply |
| my changes dated 03-20 and 03-21. Normalize old 'may not' to 'must not' |
| except in the one case where it meant 'may or may not'.</sitem> |
| <sitem>1997-03-21 : TB : massive changes on plane flight from Chicago |
| to Vancouver</sitem> |
| <sitem>1997-03-21 : CMSMcQ : correct as many reported errors as possible. |
| </sitem> |
| <sitem>1997-03-20 : CMSMcQ : correct typos listed in CMSMcQ hand copy of spec.</sitem> |
| <sitem>1997-03-20 : CMSMcQ : cosmetic changes preparatory to revision for |
| WWW conference April 1997: restore some of the internal entity |
| references (e.g. to docdate, etc.), change character xA0 to &nbsp; |
| and define nbsp as &#160;, and refill a lot of paragraphs for |
| legibility.</sitem> |
| <sitem>1996-11-12 : CMSMcQ : revise using Tim's edits: |
| Add list type of NUMBERED and change most lists either to |
| BULLETS or to NUMBERED. |
| Suppress QuotedNames, Names (not used). |
| Correct trivial-grammar doc type decl. |
| Rename 'marked section' as 'CDATA section' passim. |
| Also edits from James Clark: |
| Define the set of characters from which [^abc] subtracts. |
| Charref should use just [0-9] not Digit. |
| Location info needs cleaner treatment: remove? (ERB |
| question). |
| One example of a PI has wrong pic. |
| Clarify discussion of encoding names. |
| Encoding failure should lead to unspecified results; don't |
| prescribe error recovery. |
| Don't require exposure of entity boundaries. |
| Ignore white space in element content. |
| Reserve entity names of the form u-NNNN. |
| Clarify relative URLs. |
| And some of my own: |
| Correct productions for content model: model cannot |
| consist of a name, so "elements ::= cp" is no good. |
| </sitem> |
| <sitem>1996-11-11 : CMSMcQ : revise for style. |
| Add new rhs to entity declaration, for parameter entities.</sitem> |
| <sitem>1996-11-10 : CMSMcQ : revise for style. |
| Fix / complete section on names, characters. |
| Add sections on parameter entities, conditional sections. |
| Still to do: Add compatibility note on deterministic content models. |
| Finish stylistic revision.</sitem> |
| <sitem>1996-10-31 : TB : Add Entity Handling section</sitem> |
| <sitem>1996-10-30 : TB : Clean up term & termdef. Slip in |
| ERB decision re EMPTY.</sitem> |
| <sitem>1996-10-28 : TB : Change DTD. Implement some of Michael's |
| suggestions. Change comments back to //. Introduce language for |
| XML namespace reservation. Add section on white-space handling. |
| Lots more cleanup.</sitem> |
| <sitem>1996-10-24 : CMSMcQ : quick tweaks, implement some ERB |
| decisions. Characters are not integers. Comments are /* */ not //. |
| Add bibliographic refs to 10646, HyTime, Unicode. |
| Rename old Cdata as MsData since it's <emph>only</emph> seen |
| in marked sections. Call them attribute-value pairs not |
| name-value pairs, except once. Internal subset is optional, needs |
| '?'. Implied attributes should be signaled to the app, not |
| have values supplied by processor.</sitem> |
| <sitem>1996-10-16 : TB : track down & excise all DSD references; |
| introduce some EBNF for entity declarations.</sitem> |
| <sitem>1996-10-?? : TB : consistency check, fix up scraps so |
| they all parse, get formatter working, correct a few productions.</sitem> |
| <sitem>1996-10-10/11 : CMSMcQ : various maintenance, stylistic, and |
| organizational changes: |
| Replace a few literals with xmlpio and |
| pic entities, to make them consistent and ensure we can change pic |
| reliably when the ERB votes. |
| Drop paragraph on recognizers from notation section. |
| Add match, exact match to terminology. |
| Move old 2.2 XML Processors and Apps into intro. |
| Mention comments, PIs, and marked sections in discussion of |
| delimiter escaping. |
| Streamline discussion of doctype decl syntax. |
| Drop old section of 'PI syntax' for doctype decl, and add |
| section on partial-DTD summary PIs to end of Logical Structures |
| section. |
| Revise DSD syntax section to use Tim's subset-in-a-PI |
| mechanism.</sitem> |
| <sitem>1996-10-10 : TB : eliminate name recognizers (and more?)</sitem> |
| <sitem>1996-10-09 : CMSMcQ : revise for style, consistency through 2.3 |
| (Characters)</sitem> |
| <sitem>1996-10-09 : CMSMcQ : re-unite everything for convenience, |
| at least temporarily, and revise quickly</sitem> |
| <sitem>1996-10-08 : TB : first major homogenization pass</sitem> |
| <sitem>1996-10-08 : TB : turn "current" attribute on div type into |
| CDATA</sitem> |
| <sitem>1996-10-02 : TB : remould into skeleton + entities</sitem> |
| <sitem>1996-09-30 : CMSMcQ : add a few more sections prior to exchange |
| with Tim.</sitem> |
| <sitem>1996-09-20 : CMSMcQ : finish transcribing notes.</sitem> |
| <sitem>1996-09-19 : CMSMcQ : begin transcribing notes for draft.</sitem> |
| <sitem>1996-09-13 : CMSMcQ : made outline from notes of 09-06, |
| do some housekeeping</sitem> |
| </slist> |
| </revisiondesc> |
| </header> |
| <body> |
| <div1 id='sec-intro'> |
| <head>êÊ</head> |
| <!-- <div2 id='sec-scope'> |
| <head>KpÍÍ</head> --> |
| <p>g£Â\È&markup;¾êXML(eXtensible Markup Language)ÍC<termref def="dt-xml-doc">XML¶</termref>Æ¢¤f[^IuWFNgÌNXðKèµCXML¶ð·évOÌ®ìÌêðKè·éBXMLÍCSGML(WêÊ»&markup;¾êCStandard Generalized Markup Language)<bibref ref='ISO8879'/>̧Àµ½⊂Æ·éB\¢ãCXML¶ÍC©Èç¸SGMLKiÉK·éB</p> |
| <p>XML¶ÍC<termref def="dt-entity">ÀÌ</termref>Æ¢¤L¯PÊ©çÈèCÀÌÍC&parsed-data;Í&unparsed-data;©çÈéB&parsed-data;ÍC<termref def="dt-character">¶</termref>©çÈèC»ÌêÍC¶Ì<termref def="dt-chardata">¶f[^</termref>ð\¬µCêÍC<termref def="dt-markup">&markup;</termref>ð\¬·éB&markup;ÍC¶ÌL¯CAEgyÑ_\¢É¢ÄÌLqð\·Æ·éBXMLÍCL¯CAEgyÑ_\¢É¢Ä̧ñððLq·é@\ðñ·éB</p> |
| <p><termdef id="dt-xml-proc" term="XML&processor;"><term>XML&processor;</term>Æ¢¤\tgEFAW
[ÍCXML¶ðÇÝÝC»ÌàeyÑ\¢ÖÌANZXðñ·é½ßÉp¢éB </termdef> <termdef id="dt-app" term="&application;">XML&processor;ÍC¼ÌW
[̽ßÉ®ì·é±ÆðOñƵC»ÌW
[ð<term>&application;</term>Æ¢¤B</termdef>±Ì&TR-or-Rec;ÍCXML&processor;ªsíȯêÎÈçÈ¢U¢ðKè·éBÂÜèCXMLf[^ÌÇÝû@ðKèµC&application;Éñ·éîñðKè·éB</p> |
| <!-- </div2> --> |
| <div2 id='sec-origin-goals'> |
| <head>oÜyÑÚW</head> |
| <p>1996NÉWorld Wide Web Consortium(W3C)ÌÉݧµ½XMLìÆO[v(ÈOÍC SGMLÒWr
[ÏõïÆÄÎê½)ªCXMLðJµ½B±ÌìÆO[vÌc·ðCSun MicrosystemsÌJon BosakªÎßéBW3CªgDµCÈOÍSGMLìÆO[vÆÄÎê½XML SIG(Special Interest Group)àCXMĻèÉñíÉÉQæµ½B |
| <!--JISÅÍ? XMLìÆO[vÌoðt^ɦ·B-->Dan ConnollyÍCìÆO[vÌW3Cɨ¯éAWð±ß½B</p> |
| <p>XMLÌÝvÚWðCɦ·B<ulist> |
| <item><p>a) XMLÍCInternetãÅ»ÌÜÜgpÅ«éB</p></item> |
| <item><p>b) XMLÍCLÍÍÌ&application;ðx·éB</p></item> |
| <item><p>c) XMLÍCSGMLÆÝ·«ðàÂB</p></item> |
| <item><p>d) XML¶ð·évOð±ÆÍCeÕÅȯêÎÈçÈ¢B</p></item> |
| <item><p>e) XMLÅÍCIvVÌ@\Íū龯ȵCêÂà¶ÝµÈ¢±ÆðÚw·B</p></item> |
| <item><p>f) XML¶ÍClÔÉÆÁÄÇÝâ·C\ªÉðµâ·¢B</p></item> |
| <item><p>g) XMLÌÝvÍC·Ýâ©És¦È¯êÎÈçÈ¢B</p></item> |
| <item><p>h) XMLÌÝvÍCµ§yÑÈÅȯêÎÈçÈ¢B</p></item> |
| <item><p>i) XML¶ÍCeÕÉì¬Å«éB</p></item> |
| <item><p>j) XMLÅÍC&markup;Ìð¸ç·±ÆÍCdvÅÍÈ¢B</p></item></ulist> |
| </p> |
| <p>XMLæ&XML.version;&version;ððµC»êð·évZ@vOð½ßÉ\ªÈîñÍC±Ì&TR-or-Rec;yÑÖA·éKi(¶pƵÄCUnicodeyÑISO/IEC 10646C<!--* XXX for Uniform Resource Identifiers, *-->&language-identification;^OpƵÄCC^lbg RFC 1766C&language-code;pƵÄCISO 639CÀÑÉ&country-code;pƵÄCISO 3166)ÅC·×Ħ·B</p> |
| <p>±Ì&version;ÌXMLÌKè<!-- (&doc.date;) -->ÍCöJr
[yÑc_ðÚIÆ·éBeLXgyÑ@¥ãÌÓðüϵȢÀèC©RÉzzµÄàæ¢B</p> |
| </div2> |
| <div2 id='sec-terminology'> |
| <head>è`</head> |
| <p>XML¶ÌKè̽ßÉgp·épêÍC±Ì&TR-or-Rec;àÅè`·éBɦ·êåÍC»êçÌpêðè`·é½ßCyÑXML&processor;Ì®«ðKè·é½ßÉgp·éB |
| <glist> |
| <gitem> |
| <label>1.2.1 µÄàæ¢(may)</label> |
| <def><p><termdef id="dt-may" term="µÄàæ¢">K·é¶ÍXML&processor;ÍCLq³ê½Æ¨èÉ®ìµÄà梪C»ÌƨèÉ·éKvÍÈ¢B</termdef></p></def> |
| </gitem> |
| <gitem> |
| <label>1.2.2 µÈ¯êÎÈçÈ¢(must)</label> |
| <def><p>K·é¶ÍXML&processor;ÍCLq³ê½Æ¨èÉ®ì·é±Æªv³êéB»¤ÅȯêÎC&error;Æ·éB<!-- do NOT change this! this is what defines a violation ofa 'must' clause as 'an error'. -MSM --> |
| </p></def> |
| </gitem> |
| <gitem> |
| <label>1.2.3 &error;(error)</label> |
| <def><p><termdef id="dt-error" term="&error;">±Ì&TR-or-Rec;ªèßéK¥Éηéá½BÊÍè`µÈ¢BK·é\tgEFAÍC&error;ðoµÄñµÄàæC&error;©çñµÄàæ¢B</termdef></p></def> |
| </gitem> |
| <gitem> |
| <label>1.2.4 &fatal-error;(fatal error)</label> |
| <def><p><termdef id="dt-fatal" term="&fatal-error;">K·é<termref def="dt-xml-proc">XML&processor;</termref>ªoµÈ¯êÎÈç¸C&application;ÉñµÈ¯êÎÈçÈ¢&error;B&fatal-error;𩵽 ÆC&processor;ÍC»êÈ~Ì&error;ðT·½ßÉf[^ð±sµÄàæC&error;𩵽êÍC»Ì&error;ð&application;ÉñµÄàæ¢B&error;ù³ðT|[g·é½ßÉC&processor;ÍC¢f[^(¶f[^yÑ&markup;̬ݵ½àÌ)ð¶©çæèoµC&application;ÉnµÄàæ¢Bµ©µCêxC&fatal-error;ðoµ½çC&processor;ÍCÊíÌð±sµÄÍÈçÈ¢BÂÜèC&processor;ÍC¶f[^yѶÌ_\¢É¢ÄÌîñðCÊíÌû@Å&application;Énµ±¯ÄÍÈçÈ¢B</termdef></p></def> |
| </gitem> |
| <gitem> |
| <label>1.2.5 &at-user-option;(at user option)</label> |
| <def><p>K·é\tgEGAÍCLq³ê½Æ¨èÉUéÁÄàæ¢(may)CÍUéíÈÄÍÈçÈ¢(must)(¶ÍÌ®ÉæéB)B»ÌƨèÉUé¤êÍCLq³ê½U¢ðIðÍÛ·éèið&user;ÉñµÈ¯êÎÈçÈ¢B</p></def> |
| </gitem> |
| <gitem> |
| <label>1.2.6 &validity;§ñ(validity constraint)</label> |
| <def><p>·×ÄÌ<termref def="dt-valid">&valid;È</termref>XML¶ÉKp·éK¥B&validity;§ñÌá½ÍC&error;Æ·éB&at-user-option;C<termref def="dt-validating">Øðs¤XML&processor;</termref>ÍC±Ì&error;ðñµÈ¯êÎÈçÈ¢B</p></def> |
| </gitem> |
| <gitem> |
| <label>1.2.7 &well-formed;§ñ(well-formedness constraint)</label> |
| <def><p>·×ÄÌ<termref def="dt-wellformed">&well-formed;</termref>ÌXML¶ÉKp·éK¥B&well-formed;§ñÌá½ÍC<termref def="dt-fatal">&fatal-error;</termref>Æ·éB</p></def> |
| </gitem> |
| <gitem> |
| <label>1.2.8 &match;(match)</label> |
| <def><p>a) <termdef id="dt-match" term="&match;">&string;ͼOÌ&match;@är·éñÂÌ&string;ͼOÍC¯êÅȯêÎÈçÈ¢BISO/IEC 10646ɨ¢ÄC¡Ì\»ªÂ\ȶmá¦ÎC&composed-form;yÑîê+&diacritical-mark;(_CANeBJ}[N)`®nÍCÇ¿çÌ&string;௶\»ÌÆ«ÉÀèC&match;·éB&at-user-option;C&processor;ÍC»Ì¶ðW`ɳK»µÄàæ¢BärÌÆ«Aå¶Æ¬¶ÆÌæÊð·éB<!-- Note that no processing of characters with respect to case is part of the matching process. --><BR>b) &string;ƶ@ÌK¥ÆÌ&match;@ 鶬K¥©ç¶¬·é¾êÉC é&string;ª®·éÆ«C±Ì&string;ÍC±Ì¶¬K¥É&match;·éÆ¢¤B<BR>c) àeÆàefÆÌ&match;@ évfªC<titleref href='elementvalid'>vfÌ&validity;</titleref>̧ñɦ·Ó¡ÅK·éÆ«C±ÌvfÍC»Ìé¾É&match;·éÆ¢¤B</termdef></p></def> |
| </gitem> |
| <gitem> |
| <label>1.2.9 Ý·«Ì½ß(for compatibility)</label> |
| <def><p><termdef id="dt-compat" term="Ý·«Ì½ß">XMLÌ@\Å ÁÄCXMLªSGMLÆÝ·Å é±ÆðÛØ·é½ß¾¯É±ü³êéàÌB</termdef></p></def> |
| </gitem> |
| <gitem> |
| <label>1.2.10 Ý^p«Ì½ß(for interoperability)</label> |
| <def><p><termdef id="dt-interop" term="Ý^p«Ì½ß">S©ÍÍà½È¢§B&WebSGML;ÈO©ç¶Ý·éSGML&processor;ªCXML¶ðÅ«éÂ\«ðßé½ßÉæèüêéàÌB</termdef></p></def> |
| </gitem> |
| </glist> |
| </p> |
| </div2> |
| </div1> |
| <!-- &Docs; --> |
| <div1 id='sec-documents'> |
| <head>¶</head> |
| <p><termdef id="dt-xml-doc" term="XML¶"> |
| <!-- A textual object --> |
| ±Ì&TR-or-Rec;Åè`·éÓ¡ÅC<termref def="dt-wellformed">&well-formed;</termref>Æ·éf[^IuWFNgðC<term>XML¶</term>Æ¢¤B&well-formed;ÌXML¶ªC³çÉC é§ñðð«·êÎC<termref def="dt-valid">&valid;</termref>ÈXML¶Æ·éB |
| </termdef></p> |
| |
| <!-- why this div? -TB |
| <div2 id='sec-log-phys'> |
| <head>Logical and Physical Structure</head> --> |
| |
| <p>¢¸êÌXML¶àC_\¢yѨ\¢ðàÂB¨IÉÍC¶ÍC<termref def="dt-entity">ÀÌ</termref>ÆÄÔPÊ©çÈéB éÀÌÍC¶àɼÌÀÌðÜÞ½ßÉC»Ì¼ÌÀÌð<termref def="dt-entref">QÆ</termref>µÄàæ¢B¶ÍCg[gh·Èí¿<termref def="dt-docent">¶ÀÌ</termref>©çnÜéB_IÉÍC¶ÍCé¾CvfCRgC¶QÆyѽßðÜÝC±êç·×ÄÍC¶àž¦IÈ&markup;ÉæÁĦ·B_\¢yѨ\¢ÍC<titleref href="wf-entities">È~</titleref>ɦ·Æ¨èÉCµ§ÉüêqÉÈÁĢȯêÎÈçÈ¢B</p> |
| |
| <!-- |
| </div2> --> |
| |
| <div2 id='sec-well-formed'> |
| <head>&well-formed;ÌXML¶</head> |
| <p><termdef id="dt-wellformed" term="&well-formed;"> éeLXgIuWFNgªCÌ¢¸ê©ÌÆ«C»ÌeLXgIuWFNgð&well-formed;ÌXML¶ÆÄÔB</termdef> |
| <ulist> |
| <item><p>a) SÌƵÄC<nt def='NT-document'>document</nt>Æ¢¤xðඬK¥É&match;·éB</p></item> |
| <item><p>b) ±Ì&TR-or-Rec;Åè`·éC·×ÄÌ&well-formed;§ñÉ]¤B</p> |
| </item> |
| <item><p>c) »ê¼êÌ<termref def='dt-parsedent'>&parsed-entity;</termref>ªC<titleref href='wf-entities'>&well-formed;</titleref>ÆÈéB</p></item> |
| </ulist></p> |
| <p> |
| <scrap lang='ebnf' id='document'> |
| <head>¶</head> |
| <prod id='NT-document'><lhs>document</lhs> |
| <rhs><nt def='NT-prolog'>prolog</nt> |
| <nt def='NT-element'>element</nt> |
| <nt def='NT-Misc'>Misc</nt>*</rhs></prod> |
| </scrap> |
| </p> |
| <p><nt def="NT-document">document</nt>¶¬K¥É&match;·éÆÍCðÓ¡·éB |
| <ulist> |
| <item><p>a) êÂÈãÌ<termref def="dt-element">vf</termref>ðÜÞB</p> |
| </item> |
| |
| <!--* N.B. some readers (notably JC) find the following |
| paragraph awkward and redundant. I agree it's logically redundant: |
| it *says* it is summarizing the logical implications of |
| matching the grammar, and that means by definition it's |
| logically redundant. I don't think it's rhetorically |
| redundant or unnecessary, though, so I'm keeping it. It |
| could however use some recasting when the editors are feeling |
| stronger. -MSM *--> |
| |
| <item><p>b) <termdef id="dt-root" term="[gvf"><term>[g</term>ͶvfÆ¢¤vfªê¾¯¶ÝµC±êÍC¼ÌvfÌ<termref def="dt-content">àe</termref>ÉÜÜêÈ¢B</termdef>±êÈOÌ·×ÄÌvfÍC»ÌJn^Oª¼ÌvfÌàeÉÜÜêêÎCηéI¹^O௶vfÌàeÉÜÜêéBÂÜèCvfÍCJn^OyÑI¹^OÉæÁÄæØçêCüêq\¢ðÈ·B |
| </p></item> |
| </ulist> |
| </p> |
| <p><termdef id="dt-parentchild" term="evf/qvf">±êçÌÊƵÄC¶àÌÇÌñ[gvf<code>C</code>ÉεÄàC é¼Ìvf<code>P</code>ª¶ÝµC<code>C</code>ÍC<code>P</code>ÌàeÉÜÜêéªC<code>P</code>ÌàeÉÜÜêé¼ÌvfÉÜÜêé±ÆÍÈ¢B±ÌÆ«C<code>P</code>ð<code>C</code>Ì<code>e</code>Æ¢¢C<code>C</code>ð<code>P</code>Ì<code>q</code>Æ¢¤B</termdef></p> |
| </div2> |
| <div2 id="charsets"> |
| <head>¶</head> |
| <p> |
| |
| <!--The data stored in an XML <termref def="dt-entity">entity</termref> is |
| either <termref def="dt-text">parsed</termref> or <termref |
| def="dt-unparsed">unparsed</termref>. --> |
| |
| <termdef id="dt-text" term="eLXg">&parsed-entity;ÍC<term>eLXg</term>(<termref def="dt-character">¶</termref>ÌÀÑÅ ÁÄC&markup;Ͷf[^ð\µÄàæ¢B)ðÜÞB</termdef><termdef id="dt-character" term="¶"><term>¶</term>ÍCeLXgÌŬPÊÅ ÁÄCISO/IEC 10646<bibref ref="ISO10646"/>ÉKè³êéB<!--Users may extend the ISO/IEC 10646 character repertoire by exploiting the private use areas. -->e·é¶ÍC^uCüsCAÀÑÉUnicodeyÑISO/IEC 10646ªe·é}`¶Æ·éB</termdef> |
| <scrap lang="ebnf" id="char32"> |
| <head>¶ÌÍÍ</head> |
| <prodgroup pcw2="4" pcw4="17.5" pcw5="11"> |
| <prod id="NT-Char"><lhs>Char</lhs> |
| <rhs>#x9 | #xA | #xD | [#x20-#D7FF] | [#xE000-#xFFFD] |
| | [#x10000-#x10FFFF]</rhs> |
| <com>CÓÌUnicode¶B½¾µC&surrogate-blocks;CFFFEyÑFFFFÍB</com> |
| </prod> |
| </prodgroup> |
| </scrap> |
| </p> |
| <p>&character-value;ðrbgp^É»·é@\ÍCÀ̲ÆÉáÁÄàæ¢B·×ÄÌXML&processor;ÍCISO/IEC 10646ÌUTF-8»yÑUTF-16»ðó¯t¯È¯êÎÈçÈ¢BñÂÌÇ¿çªp¢çêÄ¢é©ð¾¦·é½ßÌ@\CyѼ̻û@ðp·é½ßÌ@\ÍC<titleref href='charencoding'>¶Ì»</titleref>ÉLq·éB</p> |
| <p>ÇÌ»û@ðp¢é©ÉÖWÈCISO/IEC 10646̶WÉ é·×Ä̶ÍC»ÌUCS-4&code-value;<!-- bit string. -->Æ¿È10iÍ16iÉæÁÄCQÆÅ«éB</p> |
| </div2> |
| |
| <div2 id='sec-common-syn'> |
| <head>¤ÊÌ\¶\¬q</head> |
| |
| <p>2.3ÅÍC¶@àÅLgp·é¢Â©ÌLðè`·éB</p> |
| <p><nt def="NT-S">S</nt> (ó)ÍCêÂáµÍ¡Ì&space-character;(#x20)CACüsÍ^u©ç¬éB |
| |
| <scrap lang="ebnf" id='white'> |
| <head>ó</head> |
| <prodgroup pcw2="4" pcw4="17.5" pcw5="11"> |
| <prod id='NT-S'><lhs>S</lhs> |
| <rhs>(#x20 | #x9 | #xD | #xA)+</rhs> |
| </prod> |
| </prodgroup> |
| </scrap></p> |
| <p>ÖXãC¶ðC&letter;Cͼ̶ɪ޷éB&letter;ÍCAt@xbgIÍ\¹IÅ éî{¶(êÂÍ¡Ì&combining-character;ªCãɱ±Æà éB)C&ideographic;©ç¬éB |
| <!-- |
| Certain layout and format-control characters defined by ISO/IEC 10646 |
| should be ignored when recognizing identifiers; these are defined by the |
| classes <nt def='NT-Ignorable'>Ignorable</nt> and <nt def='NT- |
| Extender'>Extender</nt>. |
| --> |
| eNXɨ¯éÀÛ̶É¢ÄÌ®SÈè`ÍC<titleref href='CharClasses'>¶NX</titleref>ÉÖ·ét^ÉKè·éB</p> |
| <p><termdef id="dt-name" term="Name"><term>Name</term>ÍC&letter;͢©ÌæØè¶ÌêÂÅnÜèC»ÌãÉ&letter;CCnCtCºüCRÍsIhª±(±êçð¼O¶Æ¢¤B)B</termdef>&string;"<code>xml</code>"Í<code>(('X'|'x') ('M'|'m') ('L'|'l'))</code>É&match;·éCÓÌ&string;ÅnÜé¼OÍC±Ì&TR-or-Rec;Ì»ÝÌÅÍ«ÌÅÅÌW»Ì½ßÉ\ñ·éB |
| </p> |
| <note> |
| <p>XML̼OÌÌRÍC¼OóÔÅÌÀ±Ì½ßÉ\ñ·éBRÌÓ¡ÍC«Ì é_ÅW»·éàÌƵC»ÌÆ«ÉÍCÀ±IÈÚIÅRðgp·é¶ðXV·éKvª¶¶éÂ\«ª éBXMLÅÌp·é¼OóÔÌ@\ªCæØèqƵÄÀÛÉRðgp·éÆ¢¤ÛØÍÈ¢BÀãC±êÍC¼OóÔÌÀ±ÌêÂƵÄÈOÉÍCXML̼OÌÅRðgpµÈ¢Ù¤ªæ¢±ÆðÓ¡·éBµ©µCXML&processor;ÍC¼O¶ÆµÄRðó¯t¯é±Æª]ܵ¢B |
| </p> |
| </note> |
| <p> |
| <nt def='NT-Nmtoken'>Nmtoken</nt> (¼O&token;)ÍC¼O¶Å\¬·éñÆ·éB |
| <scrap lang='ebnf'> |
| <head>¼OyÑ&token;</head> |
| <!-- |
| <prod id='NT-MiscName'><lhs>MiscName</lhs> |
| <rhs></rhs> |
| </prod>--> |
| <prod id='NT-NameChar'><lhs>NameChar</lhs> |
| <rhs><nt def="NT-Letter">Letter</nt> |
| | <nt def='NT-Digit'>Digit</nt> |
| <!--| <nt def='NT-MiscName'>MiscName</nt>--> |
| | '.' | '-' | '_' | ':' |
| | <nt def='NT-CombiningChar'>CombiningChar</nt> |
| <!-- | <nt def='NT-Ignorable'>Ignorable</nt> --> |
| | <nt def='NT-Extender'>Extender</nt></rhs> |
| </prod> |
| <prod id='NT-Name'><lhs>Name</lhs> |
| <rhs>(<nt def='NT-Letter'>Letter</nt> | '_' | ':') |
| (<nt def='NT-NameChar'>NameChar</nt>)*</rhs></prod> |
| <prod id='NT-Names'><lhs>Names</lhs> |
| <rhs><nt def='NT-Name'>Name</nt> |
| (<nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>)*</rhs></prod> |
| <prod id='NT-Nmtoken'><lhs>Nmtoken</lhs> |
| <rhs>(<nt def='NT-NameChar'>NameChar</nt>)+</rhs></prod> |
| <prod id='NT-Nmtokens'><lhs>Nmtokens</lhs> |
| <rhs><nt def='NT-Nmtoken'>Nmtoken</nt> (<nt def='NT-S'>S</nt> <nt |
| def='NT-Nmtoken'>Nmtoken</nt>)*</rhs></prod> |
| </scrap> |
| </p> |
| <p>&literal;f[^ÍCøpÅÍÜê½&string;ƵC»ÌñÌæØèqƵÄgp·éøpÍÜÜÈ¢B&literal;ÍCàÀÌ(<nt def='NT-EntityValue'>EntityValue</nt>)C®«l(<nt def='NT-AttValue'>AttValue</nt>)CO&identifier;(<nt def="NT-SystemLiteral">SystemLiteral</nt>)ÌàeÌwèÉgp·éBÚIÉæÁÄÍC&literal;SÌðC»ÌÌ&markup;̸ðsÈí¸ÉCXLbv·é±Æª é(<nt def='NT-SkipLit'>SkipLit</nt>B)B |
| <scrap lang='ebnf'> |
| <head>&literal;</head> |
| <!-- is marked section end legal in entity values etc.? |
| James says yes. Handbook page 392, sec. 10.4 seems to me to say no. |
| If James is right, leave as is. Otherwise, uncomment |
| the next comment and ... |
| --> |
| <!-- |
| <prod id='NT-EntityValue'><lhs>EntityValue</lhs> |
| <rhs>' " ' |
| (([^%&"] |
| | <nt def='NT-PEReference'>PEReference</nt> |
| | <nt def='NT-Reference'>Reference</nt>)* |
| - (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-char'>Char</nt>*)) |
| ' " ' |
| </rhs> |
| <rhs>| |
| " ' " |
| (([^%&'] |
| | <nt def='NT-PEReference'>PEReference</nt> |
| | <nt def='NT-Reference'>Reference</nt>)* |
| - (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-char'>Char</nt>*)) |
| " ' "</rhs> |
| </prod> |
| <prod id='NT-AttValue'><lhs>AttValue</lhs> |
| <rhs>'"' |
| (([^<&"] |
| | <nt def='NT-Reference'>Reference</nt>)* |
| - (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-char'>Char</nt>*)) |
| ' " ' |
| </rhs> |
| <rhs>| |
| " ' " |
| (([^<&'] |
| | <nt def='NT-Reference'>Reference</nt>)* |
| - (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-char'>Char</nt>*)) |
| " ' "</rhs> |
| <wfc def="CleanAttrVals"/> |
| </prod> |
| --> |
| <!-- ... and comment out the following, down to ... --> |
| <prod id='NT-EntityValue'><lhs>EntityValue</lhs> |
| <rhs>' " ' |
| ([^%&"] |
| | <nt def='NT-PEReference'>PEReference</nt> |
| | <nt def='NT-Reference'>Reference</nt>)* |
| ' " ' |
| </rhs> |
| <rhs>| |
| " ' " |
| ([^%&'] |
| | <nt def='NT-PEReference'>PEReference</nt> |
| | <nt def='NT-Reference'>Reference</nt>)* |
| " ' "</rhs> |
| </prod> |
| <prod id='NT-AttValue'><lhs>AttValue</lhs> |
| <rhs>' " ' |
| ([^<&"] |
| | <nt def='NT-Reference'>Reference</nt>)* |
| ' " ' |
| </rhs> |
| <rhs>| |
| " ' " |
| ([^<&'] |
| | <nt def='NT-Reference'>Reference</nt>)* |
| " ' "</rhs> |
| <!--<wfc def="WF-Attvaldelim"/>--> |
| </prod> |
| <!-- ... down to here. --> |
| <prod id="NT-SystemLiteral"><lhs>SystemLiteral</lhs> |
| <rhs><nt def='NT-SkipLit'>SkipLit</nt></rhs> |
| </prod> |
| <!-- <prod id="NT-URIchar"><lhs>URIchar</lhs> |
| <rhs><com>See <loc href="http://www.w3.org/XXX">XXX</loc></com> |
| </rhs></prod> |
| --> |
| <prod id="NT-PubidLiteral"><lhs>PubidLiteral</lhs> |
| <rhs>' " ' <nt def='NT-PubidChar'>PubidChar</nt>* |
| ' " ' |
| | " ' " (<nt def='NT-PubidChar'>PubidChar</nt> - " ' ")* " ' "</rhs> |
| </prod> |
| <prod id="NT-PubidChar"><lhs>PubidChar</lhs> |
| <rhs>#x20 | #xD | #xA |
| | [a-zA-Z0-9] |
| | [-'()+,./:=?]</rhs> |
| </prod> |
| <prod id="NT-SkipLit"><lhs>SkipLit</lhs> |
| <rhs>(' " ' [^"]* ' " ') |
| | (" ' " [^']* " ' ")</rhs> |
| </prod> |
| <!-- alternate form, making ms end illegal: --> |
| <!-- |
| <prod id="NT-SkipLit"><lhs>SkipLit</lhs> |
| <rhs>(' " ' ([^"]* - ([^"]* ']]>' [^"]*)) ' " ') |
| | (" ' " ([^']* - ([^']* ']]>' [^']*)) " ' ")</rhs> |
| </prod> |
| --> |
| </scrap> |
| </p> |
| <!-- |
| <wfcnote id="WF-Attvaldelim"> |
| <head>Delimiters in Attribute Values</head> |
| <p>After the expansion of character and entity references, |
| an attribute value must not contain a "<code><</code>" |
| or "<code>&</code>" character unless that character was |
| introduced by the expansion of a character reference |
| or one of the entities &magicents;.</p> |
| </wfcnote>--> |
| <!-- |
| This is not quite right: < should be legal, should it not? |
| Suppress this WFC until we get it right. |
| --> |
| <!-- Henry Thompson suggests (in substance, not form: the wording needs |
| to be clarified): |
| "Cooked Attribute values must not contain < & or the |
| quote which closed their uncooked literal, |
| unless arising from the expansion of a character reference or |
| magic reference |
| directly contained in their uncooked literal." |
| I'm not sure I agree with this rule, but it's at least coherent, |
| which is more than I can say for my attempt. |
| --> |
| </div2> |
| |
| <div2 id='syntax'> |
| <head>¶f[^yÑ&markup;</head> |
| <p><termref def='dt-text'>eLXg</termref>ÍC<termref def="dt-chardata">¶f[^</termref>yÑ&markup;ª¬Ý·éàÌƵÄ\¬·éB<termdef id="dt-markup" term="Markup"><term>&markup;</term>ÍC<termref def="dt-stag">Jn^O</termref>C<termref def="dt-etag">I¹^O</termref>C<termref def="dt-empty">óvf</termref>C<termref def="dt-entref">ÀÌQÆ</termref>C<termref def="dt-charref">¶QÆ</termref>C<termref def="dt-comment">Rg</termref>C<termref def="dt-cdsection">CDATAZNV</termref> ÌæØèqC<termref def="dt-doctype">¶^é¾</termref>yÑ<termref def="dt-pi">½ß</termref>Ì`ðæéB |
| </termdef> |
| </p> |
| <p><termdef id="dt-chardata" term="Character Data">&markup;ÅÍÈ¢·×ÄÌeLXgÍC¶Ì<term>¶f[^</term>ð\¬·éB</termdef></p> |
| <p>ApTh¶ (&)yÑ&left-angle-bracket; (<)ÍC&markup;ÌæØèqƵÄCÍ<termref def="dt-comment">Rg</termref>C<termref def="dt-pi">½ß</termref>áµÍ<termref def="dt-cdsection">CDATAZNV</termref>àÅgp·éêÉ<emph>¾¯</emph>C»ÌÜÜÌ`Åo»µÄæ¢B±êç̶ÍCàÀÌé¾Ì<termref def='dt-litentval'>&literal;ÀÌl</termref>àÉLqµÄàæ¢B ÚµÍC<titleref href='wf-entities'>&well-formed;ÌÀÌ</titleref>ÉÖ·éKèðQÆB<!-- FINAL EDIT: restore internal entity decl or leave it out. -->±êç̶ª¼ÌªÅKvÈêClÉæé¶QÆÍ&string;"<code>&amp;</code>"yÑ&string;"<code>&lt;</code>"ðgpµC<termref def="dt-escape">&escape;</termref>µÈ¯êÎÈçÈ¢B&right-angle-bracket; (>) ÍC&string;"<code>&gt;</code>"ðgpµÄ\»µÄàæ¢BàeÌÅñ"<code>]]></code>"ðgp·éÆ«ÍC»êªC<termref def="dt-cdsection">CDATAZNV</termref>ÌI¹ð&markup;µÈ¢ÀèC<termref def='dt-compat'>Ý·«Ì½ß</termref>C"<code>&gt;</code>"ͶQÆðgpµC&escape;µÈ¯êÎÈçÈ¢B</p> |
| |
| <p>vfÌàeÅÍC¶f[^ÍC¢©Èé&markup;ÌJnæØèqðÜÜÈ¢CÓÌ&char-string;Æ·éBCDATAZNVÅÍC¶f[^ÆÍCCDATAZNVÌI¹æØèq"<code>]]></code>"ðÜÜÈ¢CÓÌ&char-string;Æ·éB |
| </p> |
| <p> |
| ®«lÉ&single-quote;yÑ&double-quote;ðÜÞ½ßÉÍCA|XgtBÍ&single-quote;(') ÍC"<code>&apos;</code>"ƵÄ\»µC&double-quote;(")ÍC"<code>&quot;</code>"ƵÄ\»·éB |
| <scrap lang="ebnf"> |
| <head>¶f[^</head> |
| <prod id='NT-CharData'> |
| <lhs>CharData</lhs> |
| <rhs>[^<&]* - ([^<&]* ']]>' [^<&]*)</rhs> |
| </prod> |
| </scrap> |
| </p> |
| </div2> |
| |
| <div2 id='sec-comments'> |
| <head>Rg</head> |
| |
| <p><termdef id="dt-comment" term="Comment"><term>Rg</term>ÍC¼Ì<termref def='dt-markup'>&markup;</termref>ÌOÈçÎC¶ÌDZɻêÄàæ¢B³çÉC¶^é¾àÅC¶@ª·êÉ»êÄàæ¢B |
| <!-- TB |
| except in a <termref def="dt-cdsection">CDATA section</termref>, i.e. within |
| <termref def="dt-elemcontent">element content</termref>, in |
| <termref def="dt-mixed">mixed content</termref>, or in the prolog. They must |
| not occur within declarations or tags. --> |
| RgÍC¶Ì<termref def="dt-chardata">¶f[^</termref>ÌêÅÍÈ¢BXML&processor;ÍC&application;ªRgÌeLXgðæèo·±ÆðÂ\ƵÄà梪C»¤µÈÆàæ¢B |
| <termref def="dt-compat">Ý·«Ì½ß</termref>C&string;"<code>--</code>" i&double-hyphen;jÍCRgàÅ»êÄÍÈçÈ¢B |
| <scrap lang="ebnf"> |
| <head>Rg</head> |
| <prod id='NT-Comment'><lhs>Comment</lhs> |
| <rhs>'<!--' |
| ((<nt def='NT-Char'>Char</nt> - '-') |
| | ('-' (<nt def='NT-Char'>Char</nt> - '-')))* |
| '-->'</rhs> |
| <!-- |
| <rhs>'<!&como;' |
| (<nt def='NT-Char'>Char</nt>* - |
| (<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*)) |
| '&comc;>'</rhs> --> |
| </prod> |
| </scrap> |
| </termdef></p> |
| <p>RgÌáðɦ·B |
| <eg><!&como; declarations for <head> & <body> &comc;></eg> |
| </p> |
| </div2> |
| |
| <div2 id='sec-pi'> |
| <head>½ß</head> |
| |
| <p><termdef id="dt-pi" term="Processing instruction"><term>½ß</term>(PI)ÉæÁÄC&application;̽ß̽ßð¶Éüêé±ÆªÅ«éB |
| |
| <scrap lang="ebnf"> |
| <head>½ß</head> |
| <prod id='NT-PI'><lhs>PI</lhs> |
| <rhs>'<?' <nt def='NT-PITarget'>PITarget</nt> |
| (<nt def='NT-S'>S</nt> |
| (<nt def='NT-Char'>Char</nt>* - |
| (<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*)))? |
| &pic;</rhs></prod> |
| <prod id='NT-PITarget'><lhs>PITarget</lhs> |
| <rhs><nt def='NT-Name'>Name</nt> - |
| (('X' | 'x') ('M' | 'm') ('L' | 'l'))</rhs> |
| </prod> |
| </scrap></termdef> |
| PIÍC¶Ì<termref def="dt-chardata">¶f[^</termref>ÌêÅÍÈ¢ªC&application;Én³êȯêÎÈçÈ¢BPIÍC½ßªn³êé&application;ð&identify;½ßÉgp·é⌖ (<nt def='NT-PITarget'>PITarget</nt>) ÅnÜéB⌖¼ "<code>XML</code>"C"<code>xml</code>"ÈÇÍC±Ì&TR-or-Rec;Ì»ÝÌÅÍ«ÌÅÌKi»pÉ\ñ·éBXMLÌ<termref def='dt-notation'>L@</termref>@\ðCPIÌ⌖ðé¾·é½ßÉgpµÄàæ¢B |
| </p> |
| </div2> |
| |
| <div2 id='sec-cdata-sect'> |
| <head>CDATAZNV</head> |
| |
| <p><termdef id="dt-cdsection" term="CDATA Section"><term>CDATAZNV</term>ÍC¶f[^ªo»·éƱëÅ êÎCDZÉo»µÄàæ¢B±êÍC»¤ÅȯêÎC&markup;ƵÄF¯·é¶ðÜÞCeLXgÌææð&escape;·éÌÉgp·éBCDATAZNVÍC&string;"<code><![CDATA[</code>"ÅnÜèC&string; |
| "<code>]]></code>"ÅIíéB |
| <scrap lang="ebnf"> |
| <head>CDATAZNV</head> |
| <prod id='NT-CDSect'><lhs>CDSect</lhs> |
| <rhs><nt def='NT-CDStart'>CDStart</nt> |
| <nt def='NT-CData'>CData</nt> |
| <nt def='NT-CDEnd'>CDEnd</nt></rhs></prod> |
| <prod id='NT-CDStart'><lhs>CDStart</lhs> |
| <rhs>'<![CDATA['</rhs> |
| </prod> |
| <prod id='NT-CData'><lhs>CData</lhs> |
| |
| <rhs>(<nt def='NT-Char'>Char</nt>* - |
| (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-Char'>Char</nt>*)) |
| </rhs> |
| </prod> |
| <prod id='NT-CDEnd'><lhs>CDEnd</lhs> |
| <rhs>']]>'</rhs> |
| </prod> |
| </scrap> |
| |
| CDATAZNVàÅÍCñ<nt def='NT-CDEnd'>CDEnd</nt>¾¯ð&markup;ƵÄF¯·éÌÅC&left-angle-bracket;yÑApThÍC»Ì&literal;`®Åo»µÄæ¢B»êçÍC"<code>&lt;</code>"yÑ"<code>&amp;</code>"ðgpµÄ&escape;·éKvÍÈ¢BCDATAZNVÍCüêqÉÍÅ«È¢B |
| </termdef> |
| </p> |
| |
| <p>"<code><greeting></code>"yÑ"<code></greeting></code>"ðC<termref def='dt-markup'>&markup;</termref>ÅÍÈC<termref def='dt-chardata'>¶f[^</termref>ƵÄF¯·éCDATAZNVÌáðCɦ·B |
| <eg><![CDATA[<greeting>Hello, world!</greeting>]]></eg> |
| </p> |
| </div2> |
| |
| <div2 id='sec-prolog-dtd'> |
| <head>&prolog;yѶ^é¾</head> |
| |
| <p><termdef id='dt-xmldecl' term='XML Declaration'>XML¶ÍCgp·éXMLÌ&version;ðwè·é<term>XMLé¾</term>ÅnßÄàæC»¤·é̪]ܵ¢B |
| </termdef> |
| </p> |
| <p>±Ì&TR-or-Rec;̱Ì&version;ÉK·é±Æ𦷽ßÉÍC&version;Ô "<code>1.0</code>" ðgpµÈ¯êÎÈçÈ¢B 鶪C±Ì&TR-or-Rec;̱Ì&version;ÉKµÈ¢Æ«Cl"<code>1.0</code>"ðgp·éÌÍC&error;Æ·éB±Ì&TR-or-Rec;Ì¡ãÌ&version;É"<code>1.0</code>"ÈOÌlðt^·é±ÆªCXMLìÆO[vÌÓ}¾ªCXMLÌ«Ì&version;ð쬷é±ÆÌmñð¦·í¯ÅÍÈC쬵½ÆµÄàCÔt¯É¢ÄCÁèÌû@ðgp·é±ÆÌmñð¦·í¯ÅàÈ¢B«Ì&version;ÌÂ\«ðOµÈ¢ÌÅCKvÈêC©®IÈ&version;ÌF¯ðÂ\Æ·éèiƵÄC±Ì\¬qðñ·éB&processor;ÍCT|[gµÄ¢È¢&version;Åxt¯µ½¶ðó¯æÁ½Æ«C&error;ðÊmµÄàæ¢B |
| </p> |
| <p>XML¶àÌ&markup;Ì@\ÍCL¯\¢yÑ_\¢ðLq·é±ÆCÀÑÉ®«yÑ®«lÌÎð_\¢ÉÖAïé±ÆÉ éBXMLÍC_\¢É¢Ä̧ñððè`·é½ßCyÑ ç©¶ßè`³ê½L¯PÊðgpÅ«é½ßÌ@\ƵÄC<termref def="dt-doctype">¶^é¾</termref>ðñ·éB<!-- old |
| The function of the markup in an XML document is to describe its |
| storage and logical structures, and associate attribute-value pairs with the |
| logical structure. |
| XML provides a |
| mechanism, the <termref def="dt-doctype">document type declaration</termref>, |
| to |
| define constraints on that logical structure and to support the use of |
| predefined storage units. --><termdef id="dt-valid" term="Validity">XML¶ª<term>&valid;</term>ÆÍC¶^é¾ðà¿C»Ì¶^é¾É¦·§ñðð½·±ÆÆ·éB |
| </termdef></p> |
| <p>¶^é¾ÍC¶ÌÅÌ<termref def="dt-element">vf</termref>ÌOÉ»êȯêÎÈçÈ¢B |
| <scrap lang="ebnf" id='xmldoc'> |
| <head>&prolog;</head> |
| <prodgroup pcw2="6" pcw4="17.5" pcw5="9"> |
| <prod id='NT-prolog'><lhs>prolog</lhs> |
| <rhs><nt def='NT-XMLDecl'>XMLDecl</nt>? |
| <nt def='NT-Misc'>Misc</nt>* |
| (<nt def='NT-doctypedecl'>doctypedecl</nt> |
| <nt def='NT-Misc'>Misc</nt>*)?</rhs></prod> |
| <prod id='NT-XMLDecl'><lhs>XMLDecl</lhs> |
| <rhs>&xmlpio; |
| <nt def='NT-VersionInfo'>VersionInfo</nt> |
| <nt def='NT-EncodingDecl'>EncodingDecl</nt>? |
| <nt def='NT-SDDecl'>SDDecl</nt>? |
| <nt def="NT-S">S</nt>? |
| &pic;</rhs> |
| </prod> |
| <prod id='NT-VersionInfo'><lhs>VersionInfo</lhs> |
| <rhs><nt def="NT-S">S</nt> 'version' <nt def='NT-Eq'>Eq</nt> |
| ('"<nt def="NT-VersionNum">VersionNum</nt>"' |
| | "'<nt def="NT-VersionNum">VersionNum</nt>'")</rhs> |
| </prod> |
| <prod id='NT-Eq'><lhs>Eq</lhs> |
| <rhs><nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>?</rhs></prod> |
| <prod id="NT-VersionNum"> |
| <lhs>VersionNum</lhs> |
| <rhs>([a-zA-Z0-9_.:] | '-')+</rhs> |
| </prod> |
| <prod id='NT-Misc'><lhs>Misc</lhs> |
| <rhs><nt def='NT-Comment'>Comment</nt> | <nt def='NT-PI'>PI</nt> | |
| <nt def='NT-S'>S</nt></rhs></prod> |
| </prodgroup> |
| </scrap></p> |
| |
| <p> |
| á¦ÎCɦ·®SÈXML¶ÍC<termref def="dt-wellformed">&well-formed;</termref>Å éª<termref def="dt-valid">&valid;</termref>ÅÍÈ¢B |
| <eg><![CDATA[<?xml version="1.0"?> |
| <greeting>Hello, world!</greeting> |
| ]]></eg> |
| ̶à¯lÆ·éB |
| <eg><![CDATA[<greeting>Hello, world!</greeting> |
| ]]></eg> |
| </p> |
| <p><termdef id="dt-doctype" term="Document Type Declaration"> |
| XMLÌ<term>¶^é¾</term>ÍC é¶NX̽ß̶@ðñ·é<termref def='dt-markupdecl'>&markup;é¾</termref>ðÜÞ©CÍQÆ·éB±Ì¶@ðC¶^è`Í<term>DTD</term>Æ¢¤B¶^é¾ÍC&markup;é¾ðÜñ¾O⊂(ÁÊÈíÞÌ<termref def='dt-extent'>OÀÌ</termref>)ðQÆÅ«CÍà⊂ɼÚ&markup;é¾ðÜÞ±ÆàÅ«éB³çÉC»Ì¼ûàÂ\Æ·éB é¶ÌDTDÍC¼ûÌ⊂ðÜÆß½àÌƵÄ\¬·éB</termdef> |
| </p> |
| <p><termdef id="dt-markupdecl" term="markup declaration"> |
| <term>&markup;é¾</term>ÍC<termref def="dt-eldecl">vf^é¾</termref>C <termref def="dt-attdecl">®«Xgé¾</termref>C<termref def="dt-entdecl">ÀÌé¾</termref>Í<termref def="dt-notdecl">L@é¾</termref>Æ·éB</termdef>ɦ·&well-formed;§ñyÑ&validity;§ñÉKè·éªC±êçÌé¾ÍC<termref def='dt-PE'>¶meter;ÀÌ</termref>àÉSÌÍêªÜÜêÄàæ¢BÚµ¢KèÍC<titleref xml-link="simple" href="sec-physical-struct">¨\¢</titleref>ÉÖ·éKèðQÆ̱ÆB</p> |
| <scrap lang="ebnf" id='dtd'> |
| <head>¶^è`</head> |
| <prodgroup pcw2="6" pcw4="17.5" pcw5="9"> |
| <prod id='NT-doctypedecl'><lhs>doctypedecl</lhs> |
| <rhs>'<!DOCTYPE' <nt def='NT-S'>S</nt> |
| <nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt> |
| <nt def='NT-ExternalID'>ExternalID</nt>)? |
| <nt def='NT-S'>S</nt>? ('[' |
| (<nt def='NT-markupdecl'>markupdecl</nt> |
| | <nt def='NT-PEReference'>PEReference</nt> |
| | <nt def='NT-S'>S</nt>)* |
| ']' |
| <nt def='NT-S'>S</nt>?)? '>'</rhs> |
| <vc def="vc-roottype"/> |
| <!--<vc def="vc-nonnullDTD"/>--> |
| </prod> |
| <!-- |
| <prod id='NT-markupdecls'><lhs>markupdecls</lhs> |
| <rhs> |
| (<nt def='NT-S'>S</nt>? |
| <nt def='NT-markupdecl'>markupdecl</nt> |
| <nt def='NT-S'>S</nt>?)* |
| </rhs></prod> |
| --> |
| <prod id='NT-markupdecl'><lhs>markupdecl</lhs> |
| <rhs><nt def='NT-elementdecl'>elementdecl</nt> |
| | <nt def='NT-AttlistDecl'>AttlistDecl</nt> |
| | <nt def='NT-EntityDecl'>EntityDecl</nt> |
| | <nt def='NT-NotationDecl'>NotationDecl</nt> |
| | <nt def='NT-PI'>PI</nt> |
| | <nt def='NT-Comment'>Comment</nt> |
| <!--| <nt def='NT-InternalPERef'>InternalPERef</nt> --></rhs> |
| <vc def='vc-PEinMarkupDecl'/> |
| <wfc def="wfc-PEinInternalSubset"/> |
| </prod> |
| <!-- |
| <prod id="NT-InternalPERef"><lhs>InternalPERef</lhs> |
| <rhs><nt def="NT-PEReference">PEReference</nt></rhs> |
| <wfc def="wfc-integraldec"/> |
| </prod> |
| --> |
| </prodgroup> |
| </scrap> |
| <vcnote id="vc-roottype"> |
| <head>&root;vf^</head> |
| <p> |
| ¶^é¾É¨¯é<nt def='NT-Name'>Name</nt>ÍC&root;vfÌ^Æ&match;µÈ¯êÎÈçÈ¢B |
| </p> |
| </vcnote> |
| <!-- |
| <vcnote id="vc-nonnullDTD"> |
| <head>Non-null DTD</head> |
| <p> |
| The internal and external subsets of the DTD must not both |
| be empty. |
| </p> |
| </vcnote> |
| --> |
| <vcnote id='vc-PEinMarkupDecl'> |
| <head>é¾yѶmeter;À̪µ§ÉüêqðÈ·±Æ</head> |
| <p>¶meter;ÀÌ<termref def='dt-repltext'>Ì&replacement-text;</termref>ÍC&markup;é¾àɨ¢ÄCµ§ÉüêqÉÈÁĢȯêÎÈçÈ¢BÂÜèC&markup;é¾(<nt def='NT-markupdecl'>markupdecl</nt>)ÌÅÍÅã̶ªC<termref def='dt-PERef'>¶meter;ÀÌQÆ</termref>ÌÎÛÆÈé&replacement-text;ÉÜÜêêÎC¼ûÆ௶&replacement-text;ÉÜÜêȯêÎÈçÈ¢B</p> |
| </vcnote> |
| <wfcnote id="wfc-PEinInternalSubset"> |
| <head>à⊂à̶meter;ÀÌ</head> |
| <p>DTDÌà⊂ÅÍC<termref def='dt-PERef'>¶meter;ÀÌQÆ</termref>ÍC&markup;龪o»Â\È꾯Éo»Å«éB&markup;é¾àÉÍo»Å«È¢(±Ì§ñÍCO¶meter;ÀÌÍO⊂ÅÌQÆÉÍKpµÈ¢B)B |
| </p> |
| </wfcnote> |
| <p> |
| à⊂ÌƫƯlÉCO⊂yÑDTDɨ¢ÄQÆ·éCÓÌO¶meter;ÀÌÍCñI[L<nt def="NT-markupdecl">markupdecl</nt>ÉæÁijêé^ÌCêAÌ®SÈ&markup;é¾Å\¬³êȯêÎÈçÈ¢B&markup;é¾ÌÔÉÍCóÍ<termref def="dt-PERef">¶meter;ÀÌQÆ</termref>ðu¢Äàæ¢Bµ©µCO⊂ÍO¶meter;ÀÌÌàeÌêÍC<termref def="dt-cond-section">ðt«ZNV</termref>ðgpµÄ³µÄàæ¢BàTuZbgÅÍC±êͳêÈ¢B |
| <!--In the external subset, however, parameter-entity references can |
| be used to replace constructs prefixed by "<code>%</code>" in a production of |
| the grammar, and <termref def="dt-cond-section">conditional sections</termref> |
| may occur. |
| In the internal subset, by contrast, conditional sections may not |
| occur and the only parameter-entity references |
| allowed are those which match the non-terminal |
| <nt def="NT-InternalPERef">InternalPERef</nt> |
| within the rule for <nt def="NT-doctypedecl">markupdecl</nt>. |
| --> |
| <scrap id="ext-Subset"> |
| <head>O⊂</head> |
| <prodgroup pcw2="6" pcw4="17.5" pcw5="9"> |
| <prod id='NT-extSubset'><lhs>extSubset</lhs> |
| <rhs>( |
| <nt def='NT-markupdecl'>markupdecl</nt> |
| | <nt def='NT-conditionalSect'>conditionalSect</nt> |
| | <nt def='NT-PEReference'>PEReference</nt> |
| | <nt def='NT-S'>S</nt> |
| )*</rhs> |
| </prod> |
| </prodgroup> |
| </scrap></p> |
| <p>O⊂yÑO¶meter;ÀÌÍC»ÌàÅÍC¶meter;À̪&markup;é¾Ì<emph>Ô</emph>¾¯ÅÈC&markup;é¾Ì<emph>à</emph>ÅàF¯³êéCÆ¢¤_Åàà⊂ÆÍÙÈéB |
| </p> |
| <p>¶^é¾t«ÌXML¶ÌáðCɦ·B |
| <eg><![CDATA[<?xml version="1.0"?> |
| <!DOCTYPE greeting SYSTEM "hello.dtd"> |
| <greeting>Hello, world!</greeting> |
| ]]></eg> |
| <termref def="dt-sysid">VXe&identifier;</termref> "<code>hello.dtd</code>"ªC¶ÌDTDÌURIÆÈéB</p> |
| <p>ÌáÌƨèCé¾ðÇIÉ^¦é±ÆàÅ«éB |
| <eg><![CDATA[<?xml version="1.0" encoding="UTF-8" ?> |
| <!DOCTYPE greeting [ |
| <!ELEMENT greeting (#PCDATA)> |
| ]> |
| <greeting>Hello, world!</greeting> |
| ]]></eg> |
| O⊂yÑà⊂̼ûðgp·éÆ«ÍCà⊂ªO⊂æèæÉo»µ½Æ©È·B<!--* 'is considered to'? boo. whazzat mean? -->±êÍCà⊂ÌÀÌyÑ®«Xg龪CO⊂ÌÀÌyÑ®«Xgé¾æèDæ·éÆ¢¤øÊðà½ç·B |
| </p> |
| </div2> |
| |
| <div2 id='sec-rmd'> |
| <head>&standalone;¶é¾</head> |
| <p><termref def="dt-xml-proc">XML&processor;</termref>ÍC&application;ɶÌàeðn·ªC&markup;é¾ÍC±ÌàeÉe¿ð^¦é±Æª éB®«Ì&default-value;yÑÀÌé¾ð»ÌáÆ·éBXMLé¾ÌêªÆµÄo»Å«é&standalone;¶é¾ÍC¶ªC»Ì&markup;é¾Ì¶ÝÉæÁÄe¿³êÈ¢±Æðwµ¦·iÊC»Ì&markup;龪¶ÝµÈ¢½ßÉC±êª¢¦éBjB |
| <scrap lang="ebnf" id='fulldtd'> |
| <head>&standalone;¶é¾</head> |
| <prodgroup pcw2="4" pcw4="19.5" pcw5="9"> |
| <prod id='NT-SDDecl'><lhs>SDDecl</lhs> |
| <rhs> |
| <nt def="NT-S">S</nt> |
| 'standalone' <nt def='NT-Eq'>Eq</nt> "'" ('yes' | 'no') "'" |
| </rhs> |
| <rhs> |
| | <nt def="NT-S">S</nt> |
| 'standalone' <nt def='NT-Eq'>Eq</nt> '"' ('yes' | 'no') '"' |
| </rhs><vc def='vc-check-rmd'/></prod> |
| </prodgroup> |
| </scrap></p> |
| <p>&standalone;¶é¾É¨¢ÄÍ, "<code>yes</code>"ÌlÍC<termref def='dt-docent'>¶ÀÌ</termref>ÌOÉiDTDÌO⊂àÉCÍà⊂©çQƳêéOp^ÀÌàÉjCXML&processor;©ç&application;ÖÆn³êéîñÉe¿·é&markup;龪¶ÝµÈ¢±ÆðÓ¡·éB"<code>no</code>"ÌlÍC»ÌO&markup;龪¶Ý·é©CͶݷéÂ\«ª é±ÆðÓ¡·éB&standalone;¶é¾ÍC»Ì<emph>é¾</emph>ª¶Oɶݷé©Ç¤©ð¦·¾¯ÉÓ·é±ÆBOÀÌÖÌQƪ¶àɶݵĢÄàC»ÌÀ̪àIÉé¾³êÄ¢éÆ«ÍC¶Ì&standalone;ÌóÔÉÍe¿ð^¦È¢B</p> |
| |
| <p>OÉ&markup;龪¶ÝµÈ¯êÎC&standalone;¶é¾ÍÓ¡ðà½È¢BOÉ&markup;龪¶ÝµC&standalone;¶é¾ª¶ÝµÈ¢êÍC<code>"no"</code> ÌlÌÝèð¼è·éB</p> |
| <p>XML¶Å <code>standalone="no"</code> ªÝè³êÄ¢éàÌÍC éASYÅ&standalone;¶ÉÏ·Å«C±Ì¶ÍClbg[NzM&application;ÉÆÁÄ]ܵ¢©àµêÈ¢B</p> |
| <vcnote id='vc-check-rmd'> |
| <head>&standalone;¶é¾</head> |
| <p>&standalone;¶é¾ÍC½ç©ÌO&markup;龪̢¸ê©ð龵ĢéÆ«ÍCl "<code>no</code>" ðæçȯêÎÈçÈ¢B |
| <ulist> |
| <item><p>a) <termref def="dt-default">&default;</termref>lt«Ì®«Å ÁÄC±Ì®«ªKp³êévfªC®«lðw蹸ɶàÉ»êéàÌB</p></item> |
| <item><p>b) &magicents;ÈOÌÀÌÅ ÁÄC»ÌÀÌÉηé<termref def="dt-entref">QÆ</termref>ª¶àÉo»·éàÌB</p> |
| </item> |
| <item><p>c) lª<titleref href='AVNormalize'>³K»</titleref>ÌÎÛÆÈ鮫ŠÁÄC³K»ÌÊƵÄÏ»·élª¶àÅ®«Éwè³êéàÌB</p></item> |
| <item> |
| <p>d) <termref def="dt-elemcontent">vfàe</termref>ðàÂvf^Å ÁÄCóª»Ìvf^Ì¢¸ê©ÌCX^XàɼڻêéàÌB |
| </p></item> |
| </ulist> |
| </p> |
| </vcnote> |
| <p>&standalone;¶é¾t«ÌXMLé¾ÌáðCɦ·B |
| <eg><?xml version="&XML.version;" standalone='yes'?></eg></p> |
| </div2> |
| <div2 id='sec-white-space'> |
| <head>óÌæµ¢</head> |
| <p>XML¶ðÒW·éÆ«ÍC&markup;ðÚ§½¹ÇÝâ··é½ßÉCgóh(&space;C^uyÑósB±Ì&TR-or-Rec;ÅÍCñI[LÌ<nt def='NT-S'>S</nt>Å\·)ðg¤ÆÖȱƪ½¢B»ÌóÍCzz·é&version;̶ÌêƵÄÜßé±ÆðÓ}µÈ¢ÌðÊÆ·éBµ©µCgÓ¡Ì éhóÅ ÁÄCzz·é&version;Éc³È¯êÎÈçÈ¢àÌརBá¦ÎCyÑ\[XR[hɨ¯éóª éB</p> |
| <p><termref def='dt-xml-proc'>XML&processor;</termref>ÍC¶àÌ&markup;ÈOÌ·×Ä̶ðC»ÌÜÜÏX¹¸É&application;Én³È¯êÎÈçÈ¢B<termref def='dt-validating'>&validating;XML&processor;</termref>ÍC<termref def="dt-elemcontent">vfàe</termref>ÌÌóð¼Ìñ&markup;¶©çæʵC&application;¤ÉvfàeÌÌóªdvÅȢƢ¤±Æð`¦È¯êÎÈçÈ¢B</p> |
| <p> |
| "<code>xml:space</code>"Æ¢¤ÁÊÈ<termref def='dt-attr'>®«</termref>ð¶É}ü·é±ÆÉæÁÄCóðdvÆ·éÓ}ð¦µÄàæ¢B±Ì®«ðKp·évfÉ»êéóðCAvP[VªdvÈàÌƵĵ¤±Æðv·éCÆ¢¤Ó}ð¦·B</p> |
| <p>&valid;ȶÅÍC±Ì®«ðgp·éêÍC¼Ì®«Æ¯¶æ¤É<termref def="dt-attdecl">é¾</termref>µÈ¯êÎÈçÈ¢Bé¾·éÆ«ÍCæè¾élð"<code>default</code>"yÑ "<code>preserve</code>"¾¯Æ·é<termref def='dt-enumerated'>ñ^</termref>ÅȯêÎÈçÈ¢B |
| </p> |
| <p>l"<code>default</code>"ÍC&application;Ì&default;Ìó[hðC»ÌvfÉKpÂ\Æ·é±ÆðÓ¡·éBl"<code>preserve</code>"ÍC&application;ª·×ÄÌóðÛ¶·é±ÆðÓ¡·éB±Ìé¾ÌÓ}ÍC"<code>xml:space</code>" ®«ÌÊÌwèÅ㫵ȢÀèCvfÌàeÉ»êé·×ÄÌvfÉKp·éÆðß·éB</p> |
| <p>¶Ì<termref def='dt-root'>&root;vf</termref>É¢ÄÍC±Ì®«Ìlðwè·é©Cͱ̮«Ì&default-value;ª éêð¢ÄÍC&application;ÉæéóÌ浢ɢÄC¢©ÈéÓ}঳ȢÆðß·éB</p> |
| <p>áðɦ·B |
| <eg><![CDATA[ <!ATTLIST poem xml:space (default|preserve) 'preserve'>]]></eg> |
| </p> |
| </div2> |
| <div2 id='sec-line-ends'> |
| <head>sÌæµ¢</head> |
| <p>XMLÌ<termref def='dt-parsedent'>\¶&parsed-entity;</termref>ÍCÊíRs
[^Ìt@CàÉÛ¶³êCÒWÌÖX̽ßÉ¡Ìsɪ¯é±Æª½¢B±êçÌsÍCÊÍC<code>CR</code> (#xD)R[hyÑ <code>LF</code> (#xA)R[h̽ç©Ìg¹ÉæÁĪ¯çêéB</p> |
| <p><termref def='dt-app'>&application;</termref>ÌðÈPÉ·é½ßCO&parsed-entity;Íà&parsed-entity;Ì&literal;ÀÌlªC"<code>#xD#xA</code>" ÌQ¶ÌA±Æ·é&literal;Í<code>#xD</code>ÌPÆÌ&literal;ðÜÞêÉC<termref def='dt-xml-proc'>XML&processor;</termref>ÍC&application;ÉPê̶<code>#xA</code>¾¯ðn³È¯êÎÈçÈ¢(±ÌÍCüÍàɶݷéüsR[hð\¶ðÍÌOɳK»·é±ÆÉæÁÄCeÕÉÀ»Å«éB)B</p> |
| </div2> |
| <div2 id='sec-lang-tag'> |
| <head>&language-identification;</head> |
| <p>¶É¨¢ÄÍC»Ì¶ÌgªÇñÈ©R¾êÍ`®¾êÅ©êĢ驾¦·é±ÆªCðɧ±ƪ½¢B<!--±±Ågp·ég¾êhÆ¢¤¾tÌÓ¡ÍC"Español" yÑ"EBNF"ÌoûÅᦳêéÓ¡Æ·éB--><!-- x00F1: spanish's small ntilde--></p> |
| <!--; ±ÌîñÍiáð °êÎj¶Ì¶Ì\¦CÀÑÉîño̽ßÌê²E`ÔfðÍyÑeLXgubNÌ®`Ée¿ðyÚ·Â\«ª éB--> |
| <p>XML¶àÌvfÌàÂàeÍ®«lɨ¢Ägp·é<!--©RÍ`®-->¾êðwè·é½ßÉC"<code>xml:lang</code>" Æ¢¤¼OÌÁÊÈ<termref def="dt-attr">®«</termref>ðC¶àÉ}üµÄàæ¢B |
| <!--; ±Ì®«ÍXMLKèÌêƵÄC¡ÌXML&application;ÌÝ^p«ðßé½ßÉè`·éB--> |
| ®«ÌlÍC<bibref ref="RFC1766"/>gRFC1766F&language-identification;̽ßÌ^OhÉæÁÄKè³êé&language-identification;R[hÉ]¤B |
| <scrap lang='ebnf'> |
| <head>&language-identification;</head> |
| <prod id='NT-LanguageID'><lhs>LanguageID</lhs> |
| <rhs><nt def='NT-Langcode'>Langcode</nt> |
| ('-' <nt def='NT-Subcode'>Subcode</nt>)*</rhs></prod> |
| <prod id='NT-Langcode'><lhs>Langcode</lhs> |
| <rhs><nt def='NT-ISO639Code'>ISO639Code</nt> | |
| <nt def='NT-IanaCode'>IanaCode</nt> | |
| <nt def='NT-UserCode'>UserCode</nt></rhs> |
| </prod> |
| <prod id='NT-ISO639Code'><lhs>ISO639Code</lhs> |
| <rhs>([a-z] | [A-Z]) ([a-z] | [A-Z])</rhs></prod> |
| <prod id='NT-IanaCode'><lhs>IanaCode</lhs> |
| <rhs>('i' | 'I') '-' ([a-z] | [A-Z])+</rhs></prod> |
| <prod id='NT-UserCode'><lhs>UserCode</lhs> |
| <rhs>('x' | 'X') '-' ([a-z] | [A-Z])+</rhs></prod> |
| <prod id='NT-Subcode'><lhs>Subcode</lhs> |
| <rhs>([a-z] | [A-Z])+</rhs></prod> |
| </scrap> |
| <nt def='NT-Langcode'>Langcode</nt>ÍCÌÇêÅàæ¢B |
| <ulist> |
| <item><p>a) <bibref ref="ISO639"/>g¾ê̼O\»Ì½ßÌR[hhÅKè³êé2¶Ì&language-code;</p></item> |
| <item><p>b) Internet Assigned Numbers Authority (IANA)Åo^³êÄ¢é&language-code;B±êÍC檪 "<code>i-</code>" (Í"<code>I-</code>")ÅnÜéB</p></item> |
| <item><p>c) &user;ÉæÁÄèßçê½&language-code;CÍIÈgp̽ßÉ¡ÌcÌÔªæèß½R[hB±êçÍC¡ãIANAɨ¢ÄW»Ío^³êéR[hÆÌ£ðð¯é½ßÉCæªð"<code>x-</code>" Í "<code>X-</code>" ÅnßéB</p></item> |
| </ulist></p> |
| <p><nt def='NT-Subcode'>Subcode</nt>ÍC¡ñgÁÄàæ¢BÅÌTuR[hª¶ÝµC»ÌàeªñÂ̶©ç¬éÆ«ÍC<bibref ref="ISO3166"/>ISO3166Ìg¼ð\·R[h(R[h)hÅȯêÎÈçÈ¢BÅÌTuR[hª3¶Èã©ç¬éÆ«ÍC<nt def='NT-Langcode'>Langcode</nt>Ì檪C"<code>x-</code>" Í "<code>X-</code>"ÅnÜçÈ¢ÀèCwèµ½¾êÉηéTuR[hƵCIANAÉo^³ê½àÌÅȯêÎÈçÈ¢B</p> |
| <p>&language-code;ÍC¬¶ÅÌ\LðC&country-code;ÍC(¶Ý·éÈçÎ)å¶ÅÌ\LðµsÆ·éBµ©µCXML¶àɨ¯é¼Ì¼OÆÍÙÈèC±êçÌlÉ¢ÄÍCå¶yѬ¶ÌæÊðµÈ¢±ÆÉÓ·é±ÆB</p> |
| <p>áðɦ·B |
| <eg><![CDATA[<p xml:lang="en">The quick brown fox jumps over the lazy dog.</p> |
| <p xml:lang="en-GB">What colour is it?</p> |
| <p xml:lang="en-US">What color is it?</p> |
| <sp who="Faust" desc='leise' xml:lang="de"> |
| <l>Habe nun, ach! Philosophie,</l> |
| <l>Juristerei, und Medizin</l> |
| <l>und leider auch Theologie</l> |
| <l>]]><!-- x00DF german's es-zet; x00FC german's u-umlaut -->durchaus studiert mit heißem Bemüh'n.<![CDATA[</l> |
| </sp>]]></eg></p> |
| <!--<p>xml:lang ÌlÍCvfÌàeyÑ(®«Ì&default-value;ÅèßÈ¢Àè)t[eLXg(CDATA)Ìlðà»ÌvfÖÌ·×ÄÌ®«ÌlÉ¢ÄC»Ì¼ûÉKp·éB--> |
| <p><code>xml:lang</code>Åé¾·éÓ}ÍC<code>xml:lang</code>ÌÊÌwèÅãµÈ¢ÀèCwèµ½vfÌàeÉÜÞ·×ÄÌvfÉKp·éB</p> |
| <!-- évfɨ¯é xml:lang ®«ÌlªèßçêĨç¸CDTDɨ¢Ä»Ì&default-value;ªèßçêĢȢêC»ÌvfÌxml:lang ®«ÌlÍCevfÅÌlª¶Ý·éêÍC»êðø«p®B Ìáɨ¯éñÂÌ<term>Æ¢¤¼OÌêåpêð\·vfÍCxml:langÌlÉÖµÄÍCÀÛãC¯¶lðàÂB |
| |
| <p xml:lang="en">Here the keywords are |
| <term xml:lang="en">shift</term> and |
| <term>reduce</term>. ...</p> |
| |
| XML&processor;ÅÍÈ&application;ªC±Ì®«lÌp³É¢ÄÓCðàÂB |
| --> |
| <p> |
| &valid;ȶɨ¢ÄÍC±Ì&TR-or-Rec;̼ÌêÅKè·éƨèC±Ì®«ðK¸é¾µÈ¯êÎÈçÈ¢BÊíCé¾ÍCÌ`Æ·éB |
| <eg>xml:lang NMTOKEN #IMPLIED</eg> |
| KvÈçÎCÁèÌ&default-value;ð^¦Äàæ¢BpêðêêÆ·éw¶pÌtXêÌWÅÍCà¾yÑðpêÅLq·êÎCxml:lang ®«ðÌƨèÉé¾·é±ÆÆÈéB |
| <eg><![CDATA[ <!ATTLIST poem xml:lang NMTOKEN 'fr'> |
| <!ATTLIST gloss xml:lang NMTOKEN 'en'> |
| <!ATTLIST note xml:lang NMTOKEN 'en'>]]></eg> |
| </p> |
| <!-- |
| DTDÌÝvÒÍCXNvgð¾ê(yÑ»Ìh¶Ì)Éï۵ĵ¤ÌÅÍÈCXNvgyѾêð¯³Åµ¤ÌªKÈêC¾ê®«Æ¯lÉXNvg®«ª¶Ý·êÎLp¾Æv¤©àµêÈ¢BNvfɨ¢ÄCQƳê½ÍN³ê½\[Xɨ¯é(åvÈ)¾ê(êÉæÁÄÍ¡)ð\·vfðè`·éÌà]ܵ¢Bµ©µC±êçÌ&application;ÍC±Ì&TR-or-Rec;ªKè·éÍÍOÆ·éB--> |
| </div2> |
| </div1> |
| <!-- &Elements; --> |
| |
| <div1 id='sec-logical-struct'> |
| <head>_\¢</head> |
| |
| <p><termdef id="dt-element" term="Element">¢©Èé<termref def="dt-xml-doc">XML¶</termref>àCêÂÈãÌ<term>vf</term>ðÜÞBvfÌ«EÍ, <termref def="dt-stag">Jn^O</termref>yÑ<termref def="dt-etag">I¹^O</termref>ÉæÁÄæØéBvfª<termref def="dt-empty">ó</termref>vfÌÆ«ÍC<termref def="dt-eetag">óvf^O</termref>Ŧ·BeXÌvfÍC^ðàÂBvf^ͼO(¤Ê&identifier;(generic identifier)ÍGIÆÄԱƪ éB)ÉæÁÄ&identified;BvfÍC¢Â©Ì®«ðà±ƪūéB</termdef>®«ÍC<termref def="dt-attrname">¼O</termref>yÑ<termref def="dt-attrval">l</termref>ðàÂB</p> |
| |
| <scrap lang='ebnf'><head>vf</head> |
| <prod id='NT-element'><lhs>element</lhs> |
| <rhs><nt def='NT-EmptyElemTag'>EmptyElemTag</nt></rhs> |
| <rhs>| <nt def='NT-STag'>STag</nt> <nt def='NT-content'>content</nt> |
| <nt def='NT-ETag'>ETag</nt></rhs><wfc def='GIMatch'/></prod> |
| </scrap> |
| <p>±Ì&TR-or-Rec;ÍCvf^yÑ®«ÌÓ¡Cgpû@CÍ(\¶ÉÖ·é±Æð«)¼Oɧñð^¦È¢B½¾µC檪<code>(('X'|'x')('M'|'m')('L'|'l'))</code>É&match;·é¼OÍC±ÌÅÍ¡ãÌÅ̱Ì&TR-or-Rec;ÅÌW»Ì½ßÉ\ñ·éB</p> |
| |
| <wfcnote id='GIMatch'><head>vf^Ì&match;</head> |
| <p>vfÌI¹^OÌ<nt def='NT-Name'>¼O</nt>ÍC»ÌvfÌJn^Oɨ¯é^Æ&match;µÈ¯êÎÈçÈ¢B</p> |
| </wfcnote> |
| |
| <div2 id='sec-starttags'> |
| <head>Jn^OCI¹^OyÑóvf^O</head> |
| <p><termdef id="dt-stag" term="Start-Tag">óÅÈ¢CÓÌXMLvfÌnÜèÍC<term>Jn^O</term>ÉæÁÄ&markup;·éB |
| <scrap lang='ebnf'><head>Jn^O</head> |
| <prodgroup pcw2="6" pcw4="15" pcw5="11.5"> |
| <prod id='NT-STag'><lhs>STag</lhs><rhs>'<' <nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt> <nt def='NT-Attribute'>Attribute</nt>)* <nt def='NT-S'>S</nt>? '>'</rhs><wfc def="uniqattspec"/></prod> |
| <prod id='NT-Attribute'><lhs>Attribute</lhs><rhs><nt def='NT-Name'>Name</nt> <nt def='NT-Eq'>Eq</nt> <nt def='NT-AttValue'>AttValue</nt></rhs><vc def='ValueType'/><wfc def='NoExternalRefs'/><wfc def='CleanAttrVals'/></prod> |
| </prodgroup> |
| </scrap> |
| Jn^OyÑI¹^OàÌ<nt def='NT-Name'>Name</nt>ÍCvfÌ<term>^</term>ð\í·B</termdef><termdef id="dt-attr" term="Attribute"><nt def='NT-Name'>Name</nt>yÑ<nt def='NT-AttValue'>AttValue</nt>ÌÎðvfÌ<term>®«wè</term>Æ¢¢</termdef>C<termdef id="dt-attrname" term="Attribute Name">ÂXÌÎɨ¯é<nt def='NT-Name'>Name</nt>ÍC<term>®«¼</term></termdef>yÑ<termdef id="dt-attrval" term="Attribute Value"><nt def='NT-AttValue'>AttValue</nt>Ìàe(æØèq<code>'</code>Í<code>"</code>ÌÔÌ&string;)ð<term>®«l</term>Æ¢¤B</termdef></p> |
| |
| <wfcnote id='uniqattspec'><head>®«wèÌêÓ«</head> |
| <p>Jn^OÍóvf^OÅÍC¯êÌ®«¼ªQxÈão»µÄÍÈçÈ¢B</p></wfcnote> |
| <vcnote id='ValueType'><head>®«lÌ^</head> |
| <p>®«Íé¾³êĢȯêÎÈçÈ¢B®«lÌ^ÍC»Ì®«ÉεÄé¾µ½^ÅȯêÎÈçÈ¢(®«Ì^É¢ÄÍC<titleref href='AttDecls'>®«Xgé¾</titleref>É¢ÄÌKèðQÆB)B</p></vcnote> |
| <wfcnote id='NoExternalRefs'><head>OÀÌÖÌQƪȢ±Æ</head> |
| <p>®«lÉÍCOÀÌÖ̼ÚIÍÔÚIÈQÆðÜÞ±ÆÍÅ«È¢B</p></wfcnote> |
| <wfcnote id='CleanAttrVals'><head>®«lÉ<code><</code>ðÜÜÈ¢±Æ</head> |
| <p>®«làżÚIÍÔÚIÉQÆ·éÀÌ(<code>&lt;</code>ðB)Ì<termref def='dt-repltext'>&replacement-text;</termref>ÉÍC<code><</code>ðÜñÅÍÈçÈ¢B</p></wfcnote> |
| |
| <p>Jn^OÌáðCɦ·B |
| <eg><termdef id="dt-dog" term="dog"></eg></p> |
| <p><termdef id="dt-etag" term="End Tag">Jn^OÅnÜévfÌIíèÍC<term>I¹^O</term>Å&markup;µÈ¯êÎÈçÈ¢B±ÌI¹^OÍCηéJn^OÌvf^Ư¶¼OðàÂB |
| <scrap lang='ebnf'><head>I¹^O</head><prodgroup pcw2="6" pcw4="15" pcw5="11.5"><prod id='NT-ETag'><lhs>ETag</lhs><rhs>'</' <nt def='NT-Name'>Name</nt> <nt def='NT-S'>S</nt>? '>'</rhs></prod></prodgroup></scrap></termdef></p> |
| <p>I¹^OÌáðCɦ·B |
| <eg></termdef></eg></p> |
| |
| <p><termdef id="dt-content" term="Content">vfÌJn^OÆI¹^OÆÌÔÌ<termref def='dt-text'>eLXg</termref>ðC»ÌvfÌ<term>àe</term>Æ¢¤B |
| <scrap lang='ebnf'><head>vfÌàe</head> |
| <prodgroup pcw2="6" pcw4="15" pcw5="11.5"><prod id='NT-content'><lhs>content</lhs><rhs>(<nt def='NT-element'>element</nt> | <nt def='NT-CharData'>CharData</nt> | <nt def='NT-Reference'>Reference</nt> | <nt def='NT-CDSect'>CDSect</nt> | <nt def='NT-PI'>PI</nt> | <nt def='NT-Comment'>Comment</nt>)*</rhs></prod></prodgroup></scrap></termdef></p> |
| |
| <p><termdef id="dt-empty" term="Empty">vfª<term>ó</term>ÌÆ«C»ÌvfÍC¼ãÉI¹^OðàÂJn^OÍóvf^OÅ\»µÈ¯êÎÈçÈ¢B</termdef><termdef id="dt-eetag" term="empty-element tag"><term>óvf^O</term>ÍCÌÁÊÈ`®ðÆéB |
| <scrap lang='ebnf'><head>óvf̽ßÌ^O</head><prodgroup pcw2="6" pcw4="15" pcw5="11.5"><prod id='NT-EmptyElemTag'><lhs>EmptyElemTag</lhs><rhs>'<' <nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt> <nt def='NT-Attribute'>Attribute</nt>)* <nt def='NT-S'>S</nt>? '/>'</rhs><wfc def="uniqattspec"/></prod></prodgroup></scrap></termdef></p> |
| |
| <!-- ånFãÌgóvf̽ßÌ^O(tags for empty elements)hÍgóvf^O(empty-element tag)hƷ׫¾Æv¢Ü·ªC¢©ªÅµå¤© --> |
| |
| <p>óvf^OÍCàeðà½È¢CÓÌvfÌ\»ÉpÅ«éBóvf^OÅ\»·évfðCL[[h<kw>EMPTY</kw>ðp¢Äé¾µÈÆàæ¢B</p> |
| <p>óvfÌáðCɦ·B |
| <eg><IMG align="left" src="http://www.w3.org/Icons/WWW/w3c_home" /><br></br><br/></eg></p> |
| </div2> |
| |
| <div2 id='elemdecls'><head>vfé¾</head> |
| <p><termref def="dt-valid">&validity;</termref>ðÛØ·é½ßCvfé¾yÑ®«Xgé¾ðp¢Ä<termref def="dt-xml-doc">XML¶</termref>Ì<termref def="dt-element">vf</termref>Ì\¢ÉC§ñðÁ¦é±ÆªÅ«éB</p> |
| <p>vfé¾ÍCvfÌ<termref def="dt-content">àe</termref>É¢Ä̧ñÆ·éB</p> |
| <p>vfé¾ÍCvfÌ<termref def="dt-parentchild">q</termref>ƵÄo»Â\Èvf^É¢ÄC§ñðÁ¦é±Æª½¢B&at-user-option;Cvfé¾ðà½È¢vf^ª¼Ìvfé¾ÉæÁÄQƳêêÎCXML&processor;ÍCxðoµÄàæ¢Bµ©µC±êÍ&error;Æ͵ȢB</p> |
| |
| <p><termdef id="dt-eldecl" term="Element Type declaration"><term>vf^é¾</term>ÍCÌ`®ðÆéB |
| <scrap lang='ebnf'><head>vf^é¾</head><prodgroup pcw2="5.5" pcw4="18" pcw5="9"> |
| <prod id='NT-elementdecl'><lhs>elementdecl</lhs> |
| <rhs>'<!ELEMENT' <nt def='NT-S'>S</nt> |
| <nt def='NT-Name'>Name</nt> |
| <nt def='NT-S'>S</nt> |
| <nt def='NT-contentspec'>contentspec</nt> |
| <nt def='NT-S'>S</nt>? '>'</rhs> |
| <vc def='EDUnique'/></prod> |
| <prod id='NT-contentspec'><lhs>contentspec</lhs> |
| <rhs>'EMPTY' |
| | 'ANY' |
| | <nt def='NT-Mixed'>Mixed</nt> |
| | <nt def='NT-children'>children</nt> |
| </rhs> |
| <vc def='elementvalid'/> |
| </prod> |
| </prodgroup> |
| </scrap> |
| ±±ÅC<nt def='NT-Name'>Name</nt>ÍCé¾³êÄ¢évfÌ^Æ·éB</termdef></p> |
| |
| <vcnote id='EDUnique'><head>vfé¾ÌêÓ«</head> |
| <p>vf^ðQxÈãé¾Å«È¢B</p></vcnote> |
| |
| <vcnote id='elementvalid'><head>vfÌ&validity;</head> |
| <p>vfª<!-- said to be -->&valid;ÆÍC<nt def='NT-elementdecl'>elementdecl</nt>É&match;·éé¾Å ÁÄC»Ì<nt def='NT-Name'>Name</nt>ª»Ìvf^Æ&match;µCÌ¢¸ê©Ìðð½·êÆ·éB<ulist> |
| <item><p>a) 龪<kw>EMPTY</kw>É&match;µCvfª<termref def='dt-content'>àe</termref>ðà½È¢B</p></item> |
| <item><p>b) 龪<nt def='NT-children'>children</nt>É&match;µCvfÌ<termref def="dt-parentchild">qvf</termref>ÌÀѪCàef̳K\»ÉæÁĶ¬³êé¾êÉ®·éB</p></item> |
| <item><p>c) 龪<nt def='NT-Mixed'>mixed</nt>É&match;µCvfÌàeª<termref def='dt-chardata'>¶f[^</termref>yÑ<termref def='dt-parentchild'>qvf</termref>©çÈéBqvfÌvf^ÍCvfÌàefÉo»·é¼OÉ&match;·éB</p></item> |
| <item><p>d) 龪<kw>ANY</kw>É&match;µCÇÌ<termref def='dt-parentchild'>qvf</termref>Ìvf^àé¾³êÄ¢éB</p></item></ulist> |
| |
| </p></vcnote> |
| <!-- with the new VC, I don't think the next few paras add anything -TWB |
| <p><termdef id="dt-model" term="content model">An element can declared using a <term>content model</term>, in which case its content can be categorized as <termref def="dt-elemcontent">element content</termref> or <termref def='dt-mixed'>mixed content</termref>, as explained below.</termdef></p> |
| <p>An element whose type declared using the keyword <kw>EMPTY</kw> must be <termref def="dt-empty">empty</termref> and may be tagged using an <termref def="dt-eetag">empty-element tag</termref> when it appears in the document.</p> |
| <p>If an element type is declared using the keyword <kw>ANY</kw>, then there are no validity constraints on its content: it may contain <termref def='dt-parentchild'>child elements</termref> of any type and number, interspersed with character data.</p> --> |
| |
| <p>vfé¾ÌáðCɦ·B |
| <eg> |
| <!ELEMENT br EMPTY> |
| <!ELEMENT p (#PCDATA|emph)* > |
| <!ELEMENT %name.para; %content.para; > |
| <!ELEMENT container ANY> |
| </eg></p> |
| |
| <div3 id='sec-element-content'><head>vfàe</head> |
| |
| <p><termdef id='dt-elemcontent' term='Element content'> é^Ìvfª<termref def='dt-parentchild'>q</termref>vf¾¯ðÜÞ(¶f[^ðÜÜÈ¢B)Æ«C»Ìvf<termref def="dt-stag">^</termref>ÍC<term>vfàe</term>ðàÂCÆ¢¤B</termdef>±ÌêC§ñÍCàefðÜÞBàefÍCqvfÌ^yÑqvfÌo»ð§ä·éÈPȶ@Æ·éB±Ì¶@ÍC&content-particle;(<nt def='NT-cp'>cp</nt>s)©çÈéB&content-particle;ÍC¼OC&content-particle;ÌIðXgÍ&content-particle;ÌñXg©ç\¬³êéB |
| <scrap lang='ebnf'><head>vfàef</head><prodgroup pcw2="5.5" pcw4="16" pcw5="11"> |
| <prod id='NT-children'><lhs>children</lhs><rhs>(<nt def='NT-choice'>choice</nt> | <nt def='NT-seq'>seq</nt>) ('?' | '*' | '+')?</rhs></prod><prod id='NT-cp'><lhs>cp</lhs><rhs>(<nt def='NT-Name'>Name</nt> | <nt def='NT-choice'>choice</nt> | <nt def='NT-seq'>seq</nt>) ('?' | '*' | '+')?</rhs></prod> |
| <prod id='NT-choice'><lhs>choice</lhs><rhs>'(' <nt def='NT-S'>S</nt>? cp ( <nt def='NT-S'>S</nt>? '|' <nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> )*<nt def='NT-S'>S</nt>? ')'</rhs><vc def='vc-PEinGroup'/></prod> |
| <prod id='NT-seq'><lhs>seq</lhs><rhs>'(' <nt def='NT-S'>S</nt>? cp ( <nt def='NT-S'>S</nt>? ',' <nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> )*<nt def='NT-S'>S</nt>? ')'</rhs><vc def='vc-PEinGroup'/></prod> |
| <!-- <prod id='NT-cps'><lhs>cps</lhs><rhs><nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> <nt def='NT-S'>S</nt>?</rhs></prod> |
| <prod id='NT-choice'><lhs>choice</lhs><rhs>'(' <nt def='NT-S'>S</nt>? <nt def='NT-ctokplus'>ctokplus</nt> (<nt def='NT-S'>S</nt>? '|' <nt def='NT-S'>S</nt>? <nt def='NT-ctoks'>ctoks</nt>)* <nt def='NT-S'>S</nt>? ')'</rhs></prod> |
| <prod id="NT-ctokplus"><lhs>ctokplus</lhs><rhs><nt def="NT-cps">cps</nt>('|' <nt def="NT-cps">cps</nt>)+</rhs></prod> |
| <prod id="NT-ctoks"><lhs>ctoks</lhs><rhs><nt def="NT-cps">cps</nt>('|' <nt def="NT-cps">cps</nt>)*</rhs></prod> |
| <prod id='NT-seq'><lhs>seq</lhs><rhs>'(' <nt def='NT-S'>S</nt>?<nt def='NT-stoks'>stoks</nt> (<nt def='NT-S'>S</nt>? ',' <nt def='NT-S'>S</nt>? <nt def='NT-stoks'>stoks</nt>)*<nt def='NT-S'>S</nt>? ')'</rhs></prod> |
| <prod id="NT-stoks"><lhs>stoks</lhs><rhs><nt def="NT-cps">cps</nt>(',' <nt def="NT-cps">cps</nt>)*</rhs></prod> |
| --> |
| </prodgroup></scrap> |
| ±±ÅC<nt def='NT-Name'>Name</nt>ÍC<termref def="dt-parentchild">q</termref>ƵÄo»µÄæ¢vfÌ^ð¦·B±Ì¶@ÅIðXgª»êéÊuÅÍCIðXgàÌ¢¸êÌ&content-particle;à<termref def="dt-elemcontent">vfàe</termref>ÌÉ»êÄæ¢BñXgÉ»êé&content-particle;ÍCXgÅwè·éÔÌƨèÉC<termref def="dt-elemcontent">vfàe</termref>É»êȯêÎÈçÈ¢B¼OÍXgÌãÉo»·éIvV̶<!-- ånFcharacterð¶ÆóµÜµ½ -->ÍCXgàÌvfÍ&content-particle;ªC1ñÈãCÓÌñ(<code>+</code>)C0ñÈãCÓÌñ(<code>*</code>)Í0ñáµÍ1ñ(<code>?</code>)o»Â\ȱÆðKè·éB±±Å¦·\¶yÑÓ¡ÍC±Ì&TR-or-Rec;ɨ¯é¶¬K¥Åp¢éàÌƯêÆ·éB</p> |
| |
| <!-- ånFã̶ÅÍCgnameÍlistÌãɱ¶hªglistÌo»ðKè·éhÆ ÁÄCnameÌo»ðKè·éÆꢀ èܹñBC³ªKvÆl¦Ü·B --> |
| |
| <p>vfÌàeªàefÉ&match;·éÌÍCñCIðyÑJÔµZqɵ½ªÁÄCàeÌÌvfÆàefàÌvf^Æð&match;³¹ÈªçCàefàÌêÂÌpXð½ÇêéÆ«ÉÀéB<termref def='dt-compat'>Ý·«Ì½ß</termref>C¶àÌvfªCàefɨ¯évf^Ì¡Ìo»ÊuÆ&match;·é±ÆÍC&error;Æ·éBÚ×ÈKèÉ¢ÄÍC®Ì<titleref xml-link="simple" href="determinism">èIàef</titleref>ÌðQÆB |
| <!-- appendix <specref ref="determinism"/>. --> |
| <!-- appendix on deterministic content models. --> |
| </p> |
| |
| <vcnote id='vc-PEinGroup'> |
| <head>O[vyÑp^À̪µ§ÈüêqðȵĢé±Æ</head> |
| <p>p^ÀÌÌ<termref def='dt-repltext'>&replacement-text;</termref>ÍC&parenthesis;ÅÍÜê½O[vÉæÁÄCµ§Èüêqð\¬µÈ¯êÎÈçÈ¢BÂÜèC<nt def='NT-choice'>Ið</nt>C<nt def='NT-seq'>ñ</nt>Í<nt def='NT-Mixed'>¬Ý</nt>iÉC&left-parenthesis;Í&right-parenthesis;Ì¢¸ê©êûª<termref def='dt-PERef'>p^ÀÌ</termref>Ì&replacement-text;ÉÜêêÎC¼û௶&replacement-text;ÉÜÜêȯêÎÈçÈ¢B</p> |
| <p><termref def='dt-interop'>Ý^p«Ì½ß</termref>Cp^ÀÌQƪ<nt def='NT-choice'>Ið</nt>C<nt def='NT-seq'>ñ</nt>Í<nt def='NT-Mixed'>¬Ý</nt>àeÉÜÜêêÎC»Ì&replacement-text;ÍóÅÈ¢±Æª]ܵC&replacement-text;ÌæªyÑöÌóÅÈ¢¶ÍCRlN^(<code>|</code>Í<code>,</code>)ÅÈ¢ûªæ¢B |
| </p> |
| </vcnote> |
| <p>vfàef̢©ÌáðCɦ·B |
| <eg><!ELEMENT spec (front, body, back?)> |
| <!ELEMENT div1 (head, (p | list | note)*, div2*)> |
| <!ELEMENT dictionary-body (%div.mix; | %dict.mix;)*></eg></p> |
| </div3> |
| |
| <div3 id='sec-mixed-content'> |
| <head>&mixed-content;</head> |
| |
| <p><termdef id='dt-mixed' term='Mixed Content'> évf^ÌvfàÉC<termref def="dt-parentchild">q</termref>vfɬݵĶf[^ªÜÜêéÂ\«ª éÆ«C»Ìvf<termref def='dt-stag'>^</termref>ÍC<term>&mixed-content;</term>ðàÂÆ¢¤B</termdef>±ÌêCqvfÌ^É¢Ä̧ñª¶ÝµÄàæ¢<!-- ånFgmay be constrainedhðPÉu§ñ³êévÆóµÜµ½B -->ªCqvfÌÍo»ñÉ¢Ä̧ñÍȢƷéB |
| <scrap lang='ebnf'> |
| <head>&mixed-content;é¾</head> |
| <prodgroup pcw2="5.5" pcw4="16" pcw5="11"> |
| <prod id='NT-Mixed'><lhs>Mixed</lhs> |
| <rhs>'(' <nt def='NT-S'>S</nt>? |
| '#PCDATA' |
| (<nt def='NT-S'>S</nt>? |
| '|' |
| <nt def='NT-S'>S</nt>? |
| <nt def='NT-Name'>Name</nt>)* |
| <nt def='NT-S'>S</nt>? |
| ')*' </rhs> |
| <rhs>| '(' <nt def='NT-S'>S</nt>? '#PCDATA' <nt def='NT-S'>S</nt>? ')' |
| </rhs><vc def='vc-PEinGroup'/> |
| <vc def='vc-MixedChildrenUnique'/> |
| </prod> |
| <!-- |
| <prod id="NT-Mtoks"><lhs>Mtoks</lhs> |
| <rhs><nt def="NT-Name">Name</nt> |
| (<nt def='NT-S'>S</nt>? |
| '|' |
| <nt def='NT-S'>S</nt>? |
| <nt def="NT-Name">Name</nt>)* |
| </rhs> |
| </prod> |
| --> |
| </prodgroup> |
| </scrap> |
| ±±ÅC<nt def='NT-Name'>Name</nt>ÍCqƵÄo»µÄàæ¢vfÌ^ð¦·B |
| </p> |
| |
| <vcnote id='vc-MixedChildrenUnique'> |
| <head>vf^Ìd¡ÌÖ~</head> |
| <p>êÂÌ&mixed-content;é¾àÉC¯¶¼Oª¡ño»µÄÍÈçÈ¢B |
| </p></vcnote> |
| <p>&mixed-content;é¾ÌáðCɦ·B |
| <eg><!ELEMENT p (#PCDATA|a|ul|b|i|em)*> |
| <!ELEMENT p (#PCDATA | %font; | %phrase; | %special; | %form;)* > |
| <!ELEMENT b (#PCDATA)></eg></p> |
| </div3> |
| </div2> |
| |
| |
| <div2 id='attdecls'> |
| <head>®«Xgé¾</head> |
| <p> |
| <termref def="dt-attr">®«</termref>ÍC¼OyÑlÌÎð<termref def="dt-element">vf</termref>ÉÖAt¯é½ßÉp¢éB®«wèÍC<termref def="dt-stag">Jn^O</termref>Í<termref def="dt-eetag">óvf</termref>^Oàž¯Â\Æ·éBµ½ªÁÄC®«ðF¯·é½ß̶¬K¥ÍC<titleref href='sec-starttags'>Jn^O</titleref>É¢ÄÌKèŦ·B®«Xgé¾ÍCÌÚIÅp¢éB |
| <ulist> |
| <item><p>a) évf^ÉKp·é®«ÌWðKè·éB</p></item> |
| <item><p>b) ®«ÖÌ^§ñðÝè·éB</p></item> |
| <item><p>c) ®«Ì<termref def="dt-default">&default-value;</termref>ðKè·éB</p></item> |
| </ulist> |
| </p> |
| <p> |
| <termdef id="dt-attdecl" term="Attribute-List Declaration"> |
| <term>®«Xgé¾</term>ÍC évf^ÆÖAt¯çê½e®«ÉεC¼OCf[^^yÑ(¶Ý·êÎ)&default-value;ðKè·éB |
| <scrap lang='ebnf'> |
| <head>®«Xgé¾</head> |
| <prod id='NT-AttlistDecl'><lhs>AttlistDecl</lhs> |
| <rhs>'<!ATTLIST' <nt def='NT-S'>S</nt> |
| <nt def='NT-Name'>Name</nt> |
| <nt def='NT-AttDef'>AttDef</nt>* |
| <nt def='NT-S'>S</nt>? '>'</rhs> |
| </prod> |
| <prod id='NT-AttDef'><lhs>AttDef</lhs> |
| <rhs><nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt> |
| <nt def='NT-S'>S</nt> <nt def='NT-AttType'>AttType</nt> |
| <nt def='NT-S'>S</nt> <nt def='NT-Default'>Default</nt></rhs> |
| </prod> |
| </scrap> |
| |
| <nt def='NT-AttlistDecl'>AttlistDecl</nt>K¥É¶Ý·é<nt def="NT-Name">Name</nt>ÍCvf^̼OÆ·éB&at-user-option;C龵ĢȢvf^Éε®«ðé¾µ½ÈçÎCXML&processor;ÍCxðoµÄàæ¢Bµ©µC±êÍ&error;Æ͵ȢB |
| <nt def='NT-AttDef'>AttDef</nt>K¥É¨¯é<nt def='NT-Name'>Name</nt>ÍC®«Ì¼OÆ·éB |
| </termdef> |
| </p> |
| <p> |
| évfÉεÄC¡Ì<nt def='NT-AttlistDecl'>AttlistDecl</nt>ð^¦éêC±êç·×ÄÌàeÍ}[W·éB évf^̯¶®«ÉC¡Ìè`ð^¦éêÉÍCÅÌé¾ðLøƵC¼Ìé¾Í³·éB<termref def='dt-interop'>Ý^p«Ì½ßÉ</termref>CDTDÌì¬ÒÍC évf^ÉÍXêÂÌ®«Xgé¾µ©^¦È¢C 鮫¼ÉÍXêÂÌ®«è`µ©^¦È¢CyÑ·×ÄÌ®«Xgé¾ÉÍÈÆàêÂÌ®«è`ð^¦éCÆ¢¤IððµÄàæ¢BÝ^p«Ì½ßÉCXML&processor;ÍC&at-user-option;C évf^É¡Ì®«Xgé¾ð^¦½èC 鮫ɡ̮«è`ð^¦½èµ½Æ«ÉCxðoµÄàæ¢Bµ©µC±êÍC&error;Æ͵ȢB |
| </p> |
| |
| <div3 id='sec-attribute-types'> |
| <head>®«Ì^</head> |
| <p> |
| XMLÌ®«Ì^ÍCRíÞÆ·éB±êçÍC&string;^C&token;»^yÑñ^Æ·éB&string;^ÍClƵÄCÓÌ&string;ðÆéB&token;»^ÍCɦ·åyÑÓ¡ÉÖ·élXȧñðàÂB |
| |
| <scrap lang='ebnf'> |
| <head>Attribute Types</head> |
| <prodgroup pcw4="14" pcw5="11.5"> |
| <prod id='NT-AttType'><lhs>AttType</lhs> |
| <rhs><nt def='NT-StringType'>StringType</nt> |
| | <nt def='NT-TokenizedType'>TokenizedType</nt> |
| | <nt def='NT-EnumeratedType'>EnumeratedType</nt> |
| </rhs> |
| </prod> |
| <prod id='NT-StringType'><lhs>StringType</lhs> |
| <rhs>'CDATA'</rhs> |
| </prod> |
| <prod id='NT-TokenizedType'><lhs>TokenizedType</lhs> |
| <rhs>'ID'</rhs> |
| <vc def='id'/> |
| <vc def='one-id-per-el'/> |
| <vc def='id-default'/> |
| <rhs>| 'IDREF'</rhs> |
| <vc def='idref'/> |
| <rhs>| 'IDREFS'</rhs> |
| <vc def='idref'/> |
| <rhs>| 'ENTITY'</rhs> |
| <vc def='entname'/> |
| <rhs>| 'ENTITIES'</rhs> |
| <vc def='entname'/> |
| <rhs>| 'NMTOKEN'</rhs> |
| <vc def='nmtok'/> |
| <rhs>| 'NMTOKENS'</rhs> |
| <vc def='nmtok'/></prod> |
| </prodgroup> |
| </scrap> |
| </p> |
| |
| <vcnote id='id' > |
| <head>ID</head> |
| <p> |
| ±Ì^ÌlÍC¶¬K¥<code>Name</code>É&match;µÈ¯êÎÈçÈ¢BêÂÌXML¶àÅÍCêÂ̼OªC±Ì^ÌlƵġñ»êÄÍÈçÈ¢BÂÜèCIDÌlÍCvfðêÓÉ&identify;µÈ¯êÎÈçÈ¢B |
| </p> |
| </vcnote> |
| <vcnote id='one-id-per-el'> |
| <head>1vf²ÆÉ1ID</head> |
| <p> |
| vf^ÍC¡ÌID®«lðàÁÄÍÈçÈ¢B |
| </p> |
| </vcnote> |
| <vcnote id='id-default'> |
| <head>ID®«Ì&default;</head> |
| <p> |
| ID®«ÍC&default;ƵÄC<code>#IMPLIED</code>Í<code>#REQUIRED</code>ð龵ȯêÎÈçÈ¢B |
| </p> |
| </vcnote> |
| <vcnote id='idref'> |
| <head>IDREF</head> |
| <p> |
| <kw>IDREF</kw>^ÌlÍC¶¬K¥<nt def="NT-Name">Name</nt>É&match;µÈ¯êÎÈçÈ¢B<kw>IDREFS</kw>^ÌlÍC¶¬K¥<nt def="NT-Names">Names</nt>É&match;µÈ¯êÎÈçÈ¢BeXÌ<nt def='NT-Name'>Name</nt>ÍCXML¶àɶݷévfÌID®«ÌlÆ&match;µÈ¯êÎÈçÈ¢BÂÜèC<kw>IDREF</kw>ÌlÍC éID®«ÌlÆ&match;µÈ¯êÎÈçÈ¢B |
| </p> |
| </vcnote> |
| <vcnote id='entname'> |
| <head>À̼</head> |
| <p> |
| <kw>ENTITY</kw>^ÌlÍC¶¬K¥<nt def="NT-Name">Name</nt>É&match;µÈ¯êÎÈçÈ¢B<kw>ENTITIES</kw>^ÌlÍC¶¬K¥<nt def="NT-Names">Names</nt>É&match;µÈ¯êÎÈçÈ¢BeXÌ<nt def="NT-Name">Name</nt>ÍC<termref def="dt-doctype">DTD</termref>Åé¾·é<termref def="dt-unparsed">&unparsed-entity;</termref>Æ&match;µÈ¯êÎÈçÈ¢B |
| </p> |
| </vcnote> |
| <vcnote id='nmtok'> |
| <head>¼O&token;</head> |
| <p> |
| <kw>NMTOKEN</kw>^ÌlÍCñI[L<termref def="NT-Nmtoken">Nmtoken</termref>Æ&match;·é&string;©ç\¬³êȯêÎÈçÈ¢B<kw>NMTOKENS</kw>^ÌlÍCñI[L<termref def="NT-Nmtokens">Nmtokens</termref>Æ&match;·é&string;©ç\¬³êȯêÎÈçÈ¢B |
| </p> |
| </vcnote> |
| <p> |
| XML&processor;ÍC&application;É®«lðn·OÉC<titleref href="AVNormalize">®«l̳K»</titleref>ÅKè·éƨèÉC®«lð³K»µÈ¯êÎÈçÈ¢B |
| </p> |
| <p> |
| <termdef id='dt-enumerated' term='Enumerated Attribute Values'><term>ñ^Ì®«</term>ÍCé¾µ½lÌêÂðæé±ÆªÅ«éB</termdef>ñ^ÉÍC2íÞ éB |
| |
| <scrap lang='ebnf'> |
| <head>ñ®«Ì^</head> |
| <prod id='NT-EnumeratedType'><lhs>EnumeratedType</lhs> |
| <rhs><nt def='NT-NotationType'>NotationType</nt> |
| | <nt def='NT-Enumeration'>Enumeration</nt> |
| </rhs></prod> |
| <prod id='NT-NotationType'><lhs>NotationType</lhs> |
| <rhs>'NOTATION' |
| <nt def='NT-S'>S</nt> |
| '(' |
| <nt def='NT-S'>S</nt>? |
| <nt def='NT-Name'>Name</nt> |
| (<nt def='NT-S'>S</nt>? '|' <nt def='NT-Name'>Name</nt>)* |
| <nt def='NT-S'>S</nt>? ')' |
| </rhs> |
| <vc def='notatn' /></prod> |
| <prod id='NT-Enumeration'><lhs>Enumeration</lhs> |
| <rhs>'(' <nt def='NT-S'>S</nt>? |
| <nt def='NT-Nmtoken'>Nmtoken</nt> |
| (<nt def='NT-S'>S</nt>? '|' |
| <nt def='NT-S'>S</nt>? |
| <nt def='NT-Nmtoken'>Nmtoken</nt>)* |
| <nt def='NT-S'>S</nt>? |
| ')'</rhs> |
| <vc def='enum'/></prod> |
| </scrap> |
| </p> |
| |
| <vcnote id='notatn'> |
| <head>L@®«</head> |
| <p>±Ì^ÌlÍC龵Ģé<titleref href='Notations'>L@</titleref>̼OÌêÂÆ&match;µÈ¯êÎÈçÈ¢BÂÜèCé¾É¶Ý·éL@¼ÍC·×Äé¾³êĢȯêÎÈçÈ¢B |
| </p> |
| </vcnote> |
| <vcnote id='enum'> |
| <head>ñ</head> |
| <p> |
| ±Ì^ÌlÍCé¾É¶Ý·é<nt def='NT-Nmtoken'>Nmtoken</nt>&token;ÌêÂÆ&match;µÈ¯êÎÈçÈ¢B |
| </p> |
| </vcnote> |
| <p> |
| <termref def='dt-interop'>Ý^p«Ì½ß</termref>C¯¶<nt def='NT-Nmtoken'>Nmtoken</nt>ÍCPêvf^Ìñ^Ì®«ÆµÄC¡ñ»êÈ¢ûªæ¢B |
| </p> |
| </div3> |
| |
| <div3 id='sec-attr-defaults'> |
| <head>®«Ì&default;</head> |
| |
| <p> |
| <termref def="dt-attdecl">®«é¾</termref>ÍC®«ÌwèªK{©Ç¤©É¢ÄÌîñð^¦éBK{ÅÈ¢êÉÍC¶àÅ®«ðwèµÈ¢Æ«CXML&processor;Ìû@Ìîñà^¦éB |
| |
| <scrap lang='ebnf'> |
| <head>®«Ì&default;</head> |
| <prodgroup pcw4="14" pcw5="11.5"> |
| <prod id='NT-Default'><lhs>Default</lhs> |
| <rhs>'#REQUIRED' |
| | '#IMPLIED' </rhs> |
| <rhs>| (('#FIXED' S)? <nt def='NT-AttValue'>AttValue</nt>)</rhs> |
| <vc def='defattrvalid'/> |
| <wfc def="CleanAttrVals"/> |
| </prod> |
| </prodgroup> |
| </scrap> |
| <!-- improved by bosak |
| <scrap lang='ebnf'> |
| <head>Attribute Defaults</head> |
| <prod id='NT-Default'><lhs>Default</lhs> |
| <rhs>'#REQUIRED' |
| | '#IMPLIED' </rhs> |
| <vc def='defattrvalid'/> |
| <wfc def="CleanAttrVals"/> |
| <rhs>| (('#FIXED' S)? <nt def='NT-AttValue'>AttValue</nt>)</rhs> |
| </prod> |
| </scrap>--> |
| </p> |
| |
| <vcnote id='defattrvalid'> |
| <head>®«&default;̳µ³</head> |
| <p> |
| é¾µ½&default-value;ÍCé¾µ½®«^Ìå§ñð½³È¯êÎÈçÈ¢B |
| </p> |
| </vcnote> |
| <p> |
| <kw>#REQUIRED</kw>ðw赽ƫC±Ìvf^Ì<termref def="dt-stag">Jn^O</termref>Å ÁÄC±Ì®«Élð^¦È¢àÌðXML&processor;ª©Â¯½ÈçÎC»Ì¶Í<termref def="dt-valid">&valid;</termref>Æ͵ȢB<kw>#IMPLIED</kw>ðw赽ƫC±Ì®«ðȪµ½çCXML&processor;ÍC®«lðwèµÈ¢±ÆðAvP[VÉ`¦È¯êÎÈçÈ¢B±ÌÆ«C&application;ÌU¢É¢Ä̧ñÍÈ¢B |
| </p> |
| <p> |
| <termdef id="dt-default" term="Attribute Default"> |
| ®«ª<kw>#REQUIRED</kw>Åà<kw>#IMPLIED</kw>ÅàȢƫÉÍC<nt def='NT-AttValue'>AttValue</nt>ÌlªC<term>&default-value;</term>ÆÈéB<kw>#FIXED</kw>ÌêC&default-value;ÆÙÈélªwè³êêÎC»Ì¶ÍC<termref def="dt-valid">&valid;</termref>ƵȢB&default-value;ð龵ĢéêC±Ì®«ÌȪð©Â¯½çCé¾µ½&default-value;ð®«lÉwèµÄ¢éƵÄCXML&processor;ÍU餱ƪ]ܵ¢B |
| </termdef></p> |
| |
| <p>®«Xgé¾ÌáðCɦ·B |
| |
| <eg><!ATTLIST termdef |
| id ID #REQUIRED |
| name CDATA #IMPLIED> |
| <!ATTLIST list |
| type (bullets|ordered|glossary) "ordered"> |
| <!ATTLIST form |
| method CDATA #FIXED "POST"></eg></p> |
| </div3> |
| |
| <div3 id='AVNormalize'> |
| <head>®«l̳K»</head> |
| <p> |
| XML&processor;ÍC®«lð&application;Én·OÉCÌƨèɳK»µÈ¯êÎÈçÈ¢B |
| |
| <ulist> |
| <item> |
| <p>a) ܸC®«lyÑ»ÌÌÀÌàÅCsÍs«E(ÍVXeÉæÁÄÍR[h«E)ƵÄgíêé&string;ðC&space-character;(#x20)êÂÉu«·¦È¯êÎÈçÈ¢(u<titleref xml-link="simple" href="sec-line-ends">s̵¢</titleref>vàQÆ̱ÆB)B |
| </p></item> |
| <item> |
| <p>b) ÉC¶QÆyÑà&parsed-entity;ÖÌQÆÍCWJµÈ¯êÎÈçÈ¢BOÀÌÖÌQÆÍC&error;Æ·éB |
| </p></item> |
| <item> |
| <p>c) ÅãÉC®«Ì^ª<kw>CDATA</kw>ÅȯêÎCó&string;ÍC·×Ä&space-character;(#x20)êÂɳK»µCcèÌó¶ÍCíµÈ¯êÎÈçÈ¢B |
| </p></item> |
| </ulist> |
| |
| &non-validating;&parser;ÍC龪©Â©çÈ¢®«ÍC·×ÄC<kw>CDATA</kw>ð龵ĢéƵĵ¤±Æª]ܵ¢B</p> |
| </div3> |
| </div2> |
| |
| <div2 id='sec-condition-sect'> |
| <head>ðt«ZNV</head> |
| <p> |
| <termdef id='dt-cond-section' term='conditional section'> |
| <term>ðt«ZNV</term>ÆÍC<termref def='dt-doctype'>¶^é¾ÌO⊂</termref>ÌêƵC§äL[[hÌwèÉæÁÄCDTDÌ_\¢ÉÜß½èC¢½è·éªÆ·éB |
| </termdef> |
| |
| <scrap lang='ebnf'> |
| <head>ðt«ZNV</head> |
| <prodgroup pcw2="9" pcw4="14.5"> |
| <prod id='NT-conditionalSect'><lhs>conditionalSect</lhs> |
| <rhs><nt def='NT-includeSect'>includeSect</nt> |
| | <nt def='NT-ignoreSect'>ignoreSect</nt> |
| </rhs> |
| </prod> |
| <prod id='NT-includeSect'><lhs>includeSect</lhs> |
| <rhs>'<![' S? 'INCLUDE' S? '[' |
| <!-- (<nt def='NT-markupdecl'>markupdecl</nt> |
| | <nt def="NT-conditionalSect">conditionalSect</nt> |
| | <nt def="NT-S">S</nt>)* |
| --> |
| <nt def="NT-extSubset">extSubset</nt> |
| ']]>' |
| </rhs> |
| </prod> |
| <prod id='NT-ignoreSect'><lhs>ignoreSect</lhs> |
| <rhs>'<![' S? 'IGNORE' S? '[' |
| <nt def="NT-ignoreSectContents">ignoreSectContents</nt>* |
| ']]>'</rhs> |
| </prod> |
| <prod id='NT-ignoreSectContents'><lhs>ignoreSectContents</lhs> |
| <rhs><nt def='NT-Ignore'>Ignore</nt> |
| ('<![' <nt def='NT-ignoreSectContents'>ignoreSectContents</nt> |
| ']]>' |
| <nt def='NT-Ignore'>Ignore</nt>)*</rhs></prod> |
| <prod id='NT-Ignore'><lhs>Ignore</lhs> |
| <rhs><nt def='NT-Char'>Char</nt>* - |
| (<nt def='NT-Char'>Char</nt>* ('<![' | ']]>') |
| <nt def='NT-Char'>Char</nt>*) |
| </rhs></prod> |
| <!--<rhs> |
| ((<nt def='NT-SkipLit'>SkipLit</nt> |
| | <nt def='NT-Comment'>Comment</nt> |
| | <nt def='NT-PI'>PI</nt>) - |
| (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-Char'>Char</nt>*)) |
| | ('<![' <nt def='NT-ignoreSectContents'>ignoreSectContents</nt>* |
| ']]>') |
| </rhs> |
| <rhs> |
| | (<nt def='NT-Char'>Char</nt> - (']' | [<'"])) |
| </rhs> |
| <rhs> |
| | ('<!' (<nt def='NT-Char'>Char</nt> - ('-' | '['))) |
| </rhs>--> |
| </prodgroup> |
| </scrap> |
| </p> |
| |
| <p>ðt«ZNVÍCDTDÌà⊂yÑO⊂ƯlÉC®SÈé¾CRgÍüêqÉÈÁ½ðt«ZNVðC¢Â©ÜñÅæ¢B±êçÌÔÉCóª»êÄàæ¢B |
| </p> |
| <p> |
| ðt«ZNVÌL[[hª<code>INCLUDE</code>ÈçÎCXML&processor;ÍC±Ìðt«ZNVÌàeðC¶ÌêƵĵíȯêÎÈçÈ¢Bðt«ZNVÌL[[hª<code>IGNORE</code>ÈçÎC»Ìðt«ZNVÌàeÍC¶ÌêƵĵíÈ¢B\¶ðÍð³µs¤½ßÉÍC³·éðt«ZNV(IGNORE)ÉÖµÄàCàeðÇÜȯêÎÈçÈ¢±ÆÉÓ·é±ÆB±êÍCüêqÉÈÁ½ðt«ZNVð©Â¯C(³·é)ÅàO¤Ìðt«ZNVð³µo·é½ßÆ·éBL[[hð<code>INCLUDE</code>Ʒ鬳Èðt«ZNVªCL[[hð<code>IGNORE</code>Æ·éæèå«Èðt«ZNVÉÜÜêéÈçÎCO¤yÑà¤Ìðt«ZNV̼ûÆà³·éB |
| </p> |
| <p> |
| ðt«ZNVÌL[[hªp^ÀÌQÆÈçÎCXML&processor;Íðt«ZNV̵¢ð»f·éOÉC±Ìp^ÀÌðWJµÈ¯êÎÈçÈ¢B |
| </p> |
| |
| <p>áðɦ·B |
| |
| <eg><!ENTITY % draft 'INCLUDE' > |
| <!ENTITY % final 'IGNORE' > |
| |
| <![%draft;[ |
| <!ELEMENT book (comments*, title, body, supplements?)> |
| ]]> |
| <![%final;[ |
| <!ELEMENT book (title, body, supplements?)> |
| ]]> |
| </eg> |
| </p> |
| </div2> |
| <!-- |
| <div2 id='sec-pass-to-app'> |
| <head>XML Processor Treatment of Logical Structure</head> |
| <p>When an XML processor encounters a start-tag, it must make |
| at least the following information available to the application: |
| <ulist> |
| <item> |
| <p>the element type's generic identifier</p> |
| </item> |
| <item> |
| <p>the names of attributes known to apply to this element type |
| (validating processors must make available names of all attributes |
| declared for the element type; non-validating processors must |
| make available at least the names of the attributes for which |
| values are specified. |
| </p> |
| </item> |
| </ulist> |
| </p> |
| </div2> |
| --> |
| |
| </div1> |
| <!-- &Entities; --> |
| |
| <div1 id='sec-physical-struct'> |
| <head>¨\¢</head> |
| |
| <p> |
| <termdef id="dt-entity" term="Entity"> |
| XML¶ÍCêÂÈãÌL¯PÊ©ç\¬·éB±ÌL¯PÊðC<term>ÀÌ</term>Æ¢¤BÀÌÍC<term>àe</term>ðà¿C¶ÀÌ(È~QÆ)yÑ<termref def='dt-doctype'>ODTD⊂</termref>ð¢ÄC<term>¼O</term>Å&identified;B |
| </termdef> |
| |
| <!-- Added for CFG --> |
| <!-- obscurity amputated by TWB --> |
| <!-- entire sentence amputated by CMSMcQ: no one but NO ONE is |
| ready for entities declared as |
| <!ENTITY foo "http://www.foo.com/bar.xml#id"> |
| and it's pointless to suggest that it's possible |
| under current circumstances. --> |
| <!-- An entity may be stored in, --> |
| <!--but need not be coterminous with, --> |
| <!-- but need not comprise the whole of, --> |
| <!-- a single physical storage object such as a file or --> |
| <!-- database field. --> |
| <!-- End sentence added for CFG -->eXML¶ÍC<termref def="dt-docent">¶ÀÌ</termref>ÆÄÔÀÌðêÂàÂB<termref def="dt-xml-proc">XML&processor;</termref>ÍC±Ì¶ÀÌ©çðJn·éB¶À̪C¶Ì·×ÄðÜñÅàæ¢B</p> |
| |
| <p>ÀÌÍC&parsed-entity;Í&unparsed-entity;Æ·éB<termdef id="dt-parsedent" term="Text Entity"><term>&parsed-entity;</term>ÌàeÍC&parsed-entity;Ì<termref def='dt-repltext'>&replacement-text;</termref>ÆÄÔB±Ì<termref def="dt-text">eLXg</termref>ÍC¶Ì{ÌÌêƵÄðß·éB |
| </termdef> |
| </p> |
| |
| <p> |
| <termdef id="dt-unparsed" term="Unparsed Entity"> |
| <term>&unparsed-entity;</term>ÍCàeª<termref def='dt-text'>eLXg</termref>Å໤ÅÈÆàæ¢\[XÆ·éBeLXgÌêCXMLÅÈÆàæ¢Be&unparsed-entity;ÉÍC<termref def="dt-notation">L@</termref>ªÖAt¯çêC±ÌL@ÍC¼OÅ&identified;BL@̼OyÑÖAt¯çê½&identifier;ðCXML&processor;ª&application;Én·Æ¢¤vÈOÍCXMLÍC&unparsed-entity;Ìàeð§ÀµÈ¢B |
| </termdef> |
| </p> |
| |
| <p>&parsed-entity;ÍCÀÌQÆÉæÁļOÅÄÑo·B&unparsed-entity;ÍC<kw>ENTITY</kw>^Í<kw>ENTITIES</kw>^Ì®«ÌlƵÄC¼OÅQÆ·éB</p> |
| |
| <p> |
| <termdef id='gen-entity' term='general entity'><term>êÊÀÌ</term>ÍC¶àeÌÅgp·é&parsed-entity;Æ·éB ¢Ü¢ÉÈçÈ¢ÀèC±Ì&TR-or-Rec;ÅÍCêÊÀÌðPÉ<emph>ÀÌ</emph>ÆÄÔB</termdef><termdef id='dt-PE' term='Parameter entity'>p^ÀÌÍCDTDàÅgp·é&parsed-entity;Æ·éB</termdef>±êçÌQíÞÌÀÌÍCÙÈé®ÅQƵCÙÈ鶬ÅF¯·éB</p> |
| |
| <!-- |
| <div2 id='sec-synchro'> |
| <head>Logical and Physical Structures</head> |
| <p>The logical and physical structures (elements and entities) |
| in an XML document must |
| be properly nested. |
| <termref def='dt-stag'>Tags</termref> and <termref def='dt-element'>elements</termref> must |
| each begin and end in the same <termref def='dt-entity'>entity</termref>, but may |
| refer to other |
| entities internally; <termref def='dt-comment'>comments</termref>, |
| <termref def='dt-pi'>processing instructions</termref>, |
| <termref def='dt-charref'>character |
| references</termref>, and |
| <termref def='dt-entref'>entity references</termref> must each be contained entirely |
| within a single entity. Entities must each contain an integral number |
| of elements, comments, processing instructions, and references, |
| possibly together with character data not contained within any element |
| in the entity, or else they must contain non-textual data, which by |
| definition contains no elements.</p></div2> |
| --> |
| |
| <div2 id='sec-references'> |
| <head>¶QÆyÑÀÌQÆ</head> |
| <p> |
| <termdef id="dt-charref" term="Character Reference"> |
| <term>¶QÆ</term>ÍCISO/IEC 10646¶WÌÁè̶Cá¦ÎCüÍ@í©ç¼ÚüÍsÂ\ȶðQÆ·éB |
| |
| <scrap lang='ebnf'> |
| <head>¶QÆ</head> |
| <prod id='NT-CharRef'><lhs>CharRef</lhs> |
| <rhs>'&#' [0-9]+ ';' </rhs> |
| <rhs>| '&hcro;' [0-9a-fA-F]+ ';'</rhs> |
| <wfc def="wf-Legalchar"/> |
| </prod> |
| </scrap> |
| <wfcnote id="wf-Legalchar"> |
| <head>³È¶</head> |
| <p>¶QÆÅQÆ·é¶ÍCñI[L<termref def="NT-Char">Char</termref>É]íȯêÎÈçÈ¢B</p> |
| </wfcnote> |
| ¶ª "<code>&#x</code>" ÅnÜêÎCI[Ì "<code>;</code>" ÜÅÌyÑAt@xbgÍCISO/IEC 10646 ̶R[hÌ16i\»Æ·éB |
| <!--ú{êóÉ¢Ä: letterÍAt@xbgÆóµ½B OD --> |
| ¶ª "<code>&#</code>" ÅnÜêÎCI[Ì "<code>;</code>" ÜÅÌÍC¶R[hÌ10i\»Æ·éB |
| </termdef> |
| </p> |
| |
| <p> |
| <termdef id="dt-entref" term="Entity Reference"> |
| <term>ÀÌQÆ</term>ÍC¼OÌt¢½ÀÌÌàeðQÆ·éB</termdef><termdef id='dt-GERef' term='General Entity Reference'>êÊÀÌÖÌQÆÍCApTh(<code>&</code>)yÑZ~R(<code>;</code>)ðæØèqƵÄp¢éB</termdef><termdef id='dt-PERef' term='Parameter-entity reference'><term>p^ÀÌ</term>ÖÌQÆÍCp[ZgL(<code>%</code>)yÑZ~R(<code>;</code>)ðæØèqƵÄp¢éB |
| </termdef> |
| </p> |
| |
| <scrap lang="ebnf"> |
| <head>ÀÌQÆ</head> |
| <prod id='NT-Reference'><lhs>Reference</lhs> |
| <rhs><nt def='NT-EntityRef'>EntityRef</nt> |
| | <nt def='NT-CharRef'>CharRef</nt></rhs></prod> |
| <prod id='NT-EntityRef'><lhs>EntityRef</lhs> |
| <rhs>'&' <nt def='NT-Name'>Name</nt> ';'</rhs> |
| <wfc def='wf-entdeclared'/> |
| <vc def='vc-entdeclared'/> |
| <wfc def='textent'/> |
| <wfc def='norecursion'/> |
| </prod> |
| <prod id='NT-PEReference'><lhs>PEReference</lhs> |
| <rhs>'%' <nt def='NT-Name'>Name</nt> ';'</rhs> |
| <wfc def='wf-entdeclared'/> |
| <vc def='vc-entdeclared'/> |
| <wfc def='textent'/> |
| <wfc def='norecursion'/> |
| <wfc def='indtd'/> |
| </prod> |
| </scrap> |
| |
| <wfcnote id='wf-entdeclared'> |
| <head>À̪龳êÄ¢é±Æ</head> |
| <p>DTDðà½È¢¶Cp^ÀÌQÆðÜÜÈ¢àDTD⊂¾¯ðà¶CÍ "<code>standalone='yes'</code>" ðà¶ɨ¢ÄCÀÌQÆÅp¢é <nt def='NT-Name'>Name</nt> ÍC»ÌÀÌÌé¾Å^¦é¼OÆC<termref def="dt-match">&match;</termref>µÈ¯êÎÈçÈ¢B½¾µC&well-formed;̶ÍCÀÌ&magicents; ðé¾·éKvÍÈ¢Bp^ÀÌÌêÍCé¾ÍCQÆÉæsµÈ¯êÎÈçÈ¢B¯lÉCêÊÀÌÌêÍC®«Xgé¾Ì&default-value;àÅÌQÆæèæÉC龪»êȯêÎÈçÈ¢B</p> |
| |
| <p>O⊂ÍOp^ÀÌÅÀÌðé¾·éÆ«C&non-validating;&processor;ªCé¾ðÇÝC·é±Æð<titleref href='include-if-valid'>`±Ã¯È¢</titleref>B»êç̶ÅÍCÀÌÍé¾³êȯêÎÈçȢƢ¤K¥ÍC&well-formed;§ñÅÍÈ¢B |
| </p> |
| </wfcnote> |
| |
| <vcnote id="vc-entdeclared"> |
| <head>À̪龳êÄ¢é±Æ</head> |
| <p> |
| O⊂ÍOp^ÀÌðàÁÄ¢ÄC"<code>standalone='no'</code>"ðà¶ɨ¢ÄCÀÌQÆÅp¢é <nt def='NT-Name'>Name</nt> ÍC»ÌÀÌÌé¾Å^¦é¼OÆ<termref def="dt-match">&match;</termref>µÈ¯êÎÈçÈ¢BÝ^p«Ì½ßC&valid;ȶÍ<titleref href="sec-escapes"> 究ßè`µ½ÀÌÌKè</titleref>Åwèµ½®ÉæÁÄCÀÌ &magicents;ðé¾·é±Æª]ܵ¢Bp^ÀÌÌêÍCé¾ÍCQÆÉæsµÈ¯êÎÈçÈ¢B¯lÉCêÊÀÌÌêÍC®«Xgé¾Ì&default-value;àÅÌQÆæèàæÉC龪»êȯêÎÈçÈ¢B |
| </p> |
| </vcnote> |
| |
| <!-- FINAL EDIT: is this duplication too clumsy? --> |
| |
| <wfcnote id='textent'> |
| <head>&parsed-entity;</head> |
| <p> |
| ÀÌQÆÍC<termref def="dt-unparsed">&unparsed-entity;</termref>̼OðÜñÅ¢ÄÍÈçÈ¢B&unparsed-entity;ÍC<kw>ENTITY</kw>^Í<kw>ENTITIES</kw> ^ƵÄé¾µ½<termref def="dt-attrval">®«l</termref>Ƶľ¯QÆÅ«éB |
| </p> |
| </wfcnote> |
| |
| <wfcnote id='norecursion'> |
| <head>ÄAȵ</head> |
| <p>&parsed-entity;ÍC»ê©ÌÖÌQÆðC¼ÚÉàÔÚÉàÜñÅÍÈçÈ¢B</p> |
| </wfcnote> |
| |
| <wfcnote id='indtd'> |
| <head>DTDÌ</head> |
| <p> |
| p^ÀÌQÆÍC<termref def='dt-doctype'>DTD</termref>àɾ¯Co»µÄæ¢B |
| <!-- |
| In the external DTD subset, a parameter-entity reference is |
| recognized only at the locations where |
| the nonterminal <nt def="NT-PEReference">PEReference</nt> or the |
| special operator <code>%</code> appears in a production of the |
| grammar. In the internal subset, parameter-entity references |
| are recognized only when they match |
| the <nt def="NT-InternalPERef">InternalPERef</nt> non-terminal |
| in the production for <nt def="NT-markupdecl">markupdecl</nt>. |
| --> |
| </p> |
| </wfcnote> |
| |
| <p> |
| ¶QÆyÑÀÌQÆÌáðCɦ·B |
| <eg>Type <key>less-than</key> (&hcro;3C;) to save options. |
| This document was prepared on &docdate; and |
| is classified &security-level;.</eg> |
| </p> |
| |
| <p> |
| p^ÀÌQÆÌáðCɦ·B |
| <eg><!ENTITY % ISOLat2 |
| SYSTEM "http://www.xml.com/iso/isolat2-xml.entities" > |
| %ISOLat2; |
| </eg> |
| </p> |
| </div2> |
| |
| <div2 id='sec-entity-decl'> |
| <head>ÀÌé¾</head> |
| |
| <p> |
| <termdef id="dt-entdecl" term="entity declaration"> |
| ÀÌÍCÌƨèÉé¾·éB |
| <scrap lang='ebnf'> |
| <head>ÀÌé¾</head> |
| <prodgroup pcw2="5" pcw4="18.5"> |
| <prod id='NT-EntityDecl'><lhs>EntityDecl</lhs> |
| <rhs><nt def="NT-GEDecl">GEDecl</nt></rhs><com>êÊÀÌ</com> |
| <rhs>| <nt def="NT-PEDecl">PEDecl</nt></rhs><com>p^ÀÌ</com> |
| </prod> |
| <prod id='NT-GEDecl'><lhs>GEDecl</lhs> |
| <rhs>'<!ENTITY' <nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt> |
| <nt def='NT-S'>S</nt> <nt def='NT-EntityDef'>EntityDef</nt> |
| <nt def='NT-S'>S</nt>? '>'</rhs> |
| </prod> |
| <prod id='NT-PEDecl'><lhs>PEDecl</lhs> |
| <rhs>| '<!ENTITY' <nt def='NT-S'>S</nt> '%' <nt def='NT-S'>S</nt> |
| <nt def='NT-Name'>Name</nt> <nt def='NT-S'>S</nt> |
| <nt def='NT-PEDef'>PEDef</nt> <nt def='NT-S'>S</nt>? '>'</rhs> |
| <com>p^ÀÌ</com> |
| </prod> |
| <prod id='NT-EntityDef'><lhs>EntityDef</lhs> |
| <rhs><nt def='NT-EntityValue'>EntityValue</nt> |
| </rhs> |
| <!--<wfc def="WF-EntityValue"/>--> |
| <rhs>| <nt def='NT-ExternalDef'>ExternalDef</nt></rhs> |
| <!--<wfc def="WF-External"/>--> |
| </prod> |
| <!-- FINAL EDIT: what happened to WFs here? --> |
| <prod id='NT-PEDef'><lhs>PEDef</lhs> |
| <rhs><nt def='NT-EntityValue'>EntityValue</nt> |
| | <nt def='NT-ExternalID'>ExternalID</nt></rhs></prod> |
| </prodgroup> |
| </scrap> |
| |
| <nt def='NT-Name'>Name</nt> ÍC<termref def="dt-entref">ÀÌQÆ</termref>ɨ¢ÄÀÌð&identify;B&unparsed-entity;ÈçÎC<kw>ENTITY</kw> ^Í<kw>ENTITIES</kw>^Ì®«làÅCÀÌð&identify;B¯êÌÀ̪êñÈãé¾³êêÎCÅÌé¾ðp¢éB&at-user-option;C¡ñé¾³êéÀÌÉÖµCXML&processor;ÍCxðoµÄàæ¢B |
| </termdef> |
| </p> |
| |
| <!-- |
| <wfcnote id="WF-Entityvalue"> |
| <head>Well-Formed Internal Entity</head> |
| <p>General entities defined by an <nt |
| def="NT-EntityValue">EntityValue</nt> must be well-formed, as defined |
| in section <specref ref="wf-entities"/>. |
| </p> |
| </wfcnote> |
| <wfcnote id="WF-External"> |
| <head>Well-Formed External Entity</head> |
| <p>General text entities defined by an <nt |
| def="NT-ExternalDef">ExternalDef</nt>, must be well-formed, as defined |
| in the section on <titleref xml-link="simple" |
| href="wf-entities">well-formed entities.</titleref>.</p> |
| </wfcnote> |
| --> |
| |
| <div3 id='sec-internal-ent'> |
| <head>àÀÌ</head> |
| <p> |
| <termdef id='dt-internent' term="Internal Entity Replacement Text"> |
| ÀÌÌè`ª <nt def='NT-EntityValue'>EntityValue</nt>ÌÆ«C±êð<term>àÀÌ</term>Æ¢¤B±êÍCÊĄ̂IL¯PÊðླྀCÀÌÌàeÍCé¾àÅ^¦éB</termdef>³µ<termref def='dt-repltext'>&replacement-text;</termref>𶬷éÉÍC<termref def='dt-litentval'>&literal;ÀÌl</termref>àÅÌÀÌQÆyѶQÆ̪CKvÆÈé©àµêÈ¢±ÆÉÓ·éBÚ×ÍC<titleref href='intern-replacement'>àÀÌÌ&replacement-text;Ì\z</titleref>ðQÆB |
| |
| <!-- redundant -TWB |
| Within the <nt def="NT-EntityValue">EntityValue</nt>, |
| parameter-entity references and character references are recognized |
| and expanded immediately. |
| General-entity references within the |
| replacement text are not recognized |
| at the time the entity declaration is parsed, though they may be |
| recognized when the entity itself is referred to. |
| --> |
| |
| </p> |
| |
| <p> |
| àÀÌÍC<termref def="dt-parsedent">&parsed-entity;</termref>Æ·éB |
| </p> |
| |
| <p>àÀÌé¾ÌáðCɦ·B |
| <eg><!ENTITY Pub-Status "This is a pre-release of the specification."></eg></p> |
| </div3> |
| |
| <div3 id='sec-external-ent'> |
| <head>OÀÌ</head> |
| <p> |
| <termdef id="dt-extent" term="External Entity"> |
| À̪àÀÌÅȯêÎC<term>OÀÌ</term>ƵCÌƨèÉé¾·éB |
| |
| <scrap lang='ebnf'> |
| <head>OÀÌé¾</head> |
| <prod id='NT-ExternalDef'><lhs>ExternalDef</lhs> |
| <rhs><nt def='NT-ExternalID'>ExternalID</nt> |
| <nt def='NT-NDataDecl'>NDataDecl</nt>?</rhs></prod> |
| <prod id='NT-ExternalID'><lhs>ExternalID</lhs> |
| <rhs>'SYSTEM' <nt def='NT-S'>S</nt> |
| <nt def='NT-SystemLiteral'>SystemLiteral</nt></rhs> |
| <rhs>| 'PUBLIC' <nt def='NT-S'>S</nt> |
| <nt def='NT-PubidLiteral'>PubidLiteral</nt> |
| <nt def='NT-S'>S</nt> |
| <nt def='NT-SystemLiteral'>SystemLiteral</nt> |
| </rhs> |
| </prod> |
| <prod id='NT-NDataDecl'><lhs>NDataDecl</lhs> |
| <rhs><nt def='NT-S'>S</nt> 'NDATA' <nt def='NT-S'>S</nt> |
| <nt def='NT-Name'>Name</nt></rhs> |
| <vc def='not-declared'/></prod> |
| </scrap> |
| |
| <nt def='NT-NDataDecl'>NDataDecl</nt> ª¶Ý·êÎC±ÌÀÌÍC<termref def="dt-unparsed">&unparsed-entity;</termref>ƵC»¤ÅȯêÎC&parsed-entity;Æ·éB</termdef> |
| </p> |
| |
| <vcnote id='not-declared'> |
| <head>L@ªé¾³êÄ¢é±Æ</head> |
| <p> |
| <nt def='NT-Name'>Name</nt> ÍCé¾µ½<termref def="dt-notation">L@</termref>̼OÆ&match;µÈ¯êÎÈçÈ¢B |
| </p> |
| </vcnote> |
| |
| <p> |
| <termdef id="dt-sysid" term="System Identifier"> |
| L[[h <kw>SYSTEM</kw> ÌãÌ <nt def='NT-SystemLiteral'>SystemLiteral</nt> ðCÀÌÌ<term>VXe&identifier;</term>ÆÄÔB±êÍURIƵC»ÌÀÌÌàeðæèo·ÌÉp¢Äàæ¢B</termdef>URIƤÉg¤±Æ̽¢nbV
("<code>#</code>")yÑtOg&identifier;ÍC³®ÉÍCURI©ÌÌêÆ͵ȢBtOg&identifier;ªCVXe&identifier;̪ƵÄ^¦çêÄ¢éêCXML&processor;ÍC&error;ðoµÄàæ¢B±Ì&TR-or-Rec;ÌÍÍOÌîñ(á¦ÎC éÁèÌDTDÌÁÊÈXMLvfÍÁèÌ&application;ÌdlÉæÁÄè`³ê½½ß)ÉæÁÄ㫳êÈ¢ÀèCÎIÈURIÍC»ÌÀÌÌÊuC·Èí¿C»ÌÀÌÌ龪 ét@CÉÎIÆ·éBµ½ªÁÄCDTDÌà⊂É éÀÌé¾ÅÌÎIÈURIÍC¶ÌÊuÉ¢ÄÎIÆ·éBO⊂É éÀÌé¾ÅÌÎIÈURIÍC»ÌO⊂ðÜÞt@CÌÊuÉÎIÆ·éB |
| </p> |
| |
| <p> |
| <termdef id="dt-pubid" term="Public identifier"> |
| VXe&identifier;ÈOÉCOÀÌÍC<term>öJ&identifier;</term>ðÜñÅàæ¢B |
| </termdef> |
| ÀÌÌàeðæèo·XML&processor;ÍC±ÌöJ&identifier;ðp¢ÄCãíèÌURI̶¬ðÝÄàæ¢BXML&processor;ª±êɸsµ½êÍCVXe&literal;ƵÄwèµ½URIðp¢È¯êÎÈçÈ¢B&match;·éOÉCöJ&identifier;àÉ éó¶©çÈé&string;ÍC·×ÄPêÌ&space-character;(#x20)ɳK»µÈ¯êÎÈç¸COãÌó¶ÍíµÈ¯êÎÈçÈ¢B |
| </p> |
| |
| <p>OÀÌé¾ÌáðCɦ·B |
| <eg><!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 ></eg></p> |
| </div3> |
| |
| </div2> |
| |
| <div2 id='TextEntities'> |
| <head>&parsed-entity;</head> |
| <div3 id='sec-TextDecl'> |
| <head>eLXgé¾</head> |
| <p>O&parsed-entity;ÍC<term>eLXgé¾</term>ÅnÜÁÄàæ¢B |
| <scrap lang='ebnf'> |
| <head>eLXgé¾</head> |
| <prodgroup pcw4="12.5" pcw5="13"> |
| <prod id='NT-TextDecl'><lhs>TextDecl</lhs> |
| <rhs>&xmlpio; |
| <nt def='NT-VersionInfo'>VersionInfo</nt>? |
| <nt def='NT-EncodingDecl'>EncodingDecl</nt> |
| <nt def='NT-S'>S</nt>? &pic;</rhs> |
| <!-- <wfc def='wfc-xmldecliteral'/> --> |
| <!-- <wfc def='wfc-no-nonleading-encdec'/> --> |
| </prod> |
| </prodgroup> |
| </scrap> |
| </p> |
| <p>eLXgé¾ÍC»ÌÜÜÌ`Å»êȯêÎÈç¸C&parsed-entity;ÖÌQÆðoRµÄÍÈçÈ¢±ÆÉÓ·éB</p> |
| <p>O&parsed-entity;ɨ¢ÄCeLXgé¾ÍCæªÈOÌ¢©ÈéÊuÉào»µÈ¢B</p> |
| </div3> |
| <div3 id='wf-entities'> |
| <head>&well-formed;Ì&parsed-entity;</head> |
| <p>x<nt def='NT-document'>document</nt>ðඬK¥É&match;·êÎC¶ÀÌÍC&well-formed;Æ·éBx<nt def='NT-ExtParsedEnt'>ExtParsedEnt</nt>ðඬK¥É&match;·êÎCOÌêÊ&parsed-entity;ÍC&well-formed;Æ·éBx<nt def='NT-ExtPE'>ExtPE</nt>ðඬK¥É&match;·êÎCOp^ÀÌÍC&well-formed;Æ·éB |
| |
| <scrap lang='ebnf'> |
| <head>&well-formed;Ì&parsed-entity;</head> |
| <prod id='NT-ExtParsedEnt'><lhs>ExtParsedEnt</lhs> |
| <rhs><nt def='NT-TextDecl'>TextDecl</nt>? |
| <nt def='NT-content'>content</nt></rhs> |
| </prod> |
| <prod id='NT-ExtPE'><lhs>ExtPE</lhs> |
| <rhs><nt def='NT-TextDecl'>TextDecl</nt>? |
| <nt def='NT-extSubset'>extSubset</nt></rhs> |
| </prod> |
| </scrap> |
| &replacement-text;ªCx<nt def='NT-content'>content</nt>ðඬK¥É&match;·êÎCàÌêÊ&parsed-entity;ÍC&well-formed;Æ·éBDTDðÅãÜÅÇÝÜÈ¢ÆCmÀɱêð»èÅ«È¢±ÆÉÓB·×ÄÌàÌp^ÀÌÍCè`ÉæÁÄ&well-formed;Æ·éB |
| </p> |
| <p>À̪&well-formed;ÈÊƵÄCXML¶Ì_IyѨI\¢ÍC³µüêqÆÈéB<termref def='dt-stag'>Jn^O</termref>C<termref def='dt-etag'>I¹^O</termref>C<termref def="dt-empty">óvf^O</termref>C<termref def='dt-element'>vf</termref>C<termref def='dt-comment'>Rg</termref>C<termref def='dt-pi'>½ß</termref>C<termref def='dt-charref'>¶QÆ</termref>yÑ<termref def='dt-entref'>ÀÌQÆ</termref>ªCêÂÌÀÌÅJnµCÊÌÀÌÅI¹·é±ÆÍÈ¢B</p> |
| </div3> |
| <div3 id='charencoding'> |
| <head>ÀÌɨ¯é¶»</head> |
| |
| <p>XML¶àÌO&parsed-entity;ÍCeXCÊ̶»û®ðp¢Äàæ¢B·×ÄÌXML&processor;ÍCUTF-8Å»µ½ÀÌCUTF-16Å»µ½ÀÌðūȯêÎÈçÈ¢B |
| <!-- |
| It is recognized that for some purposes, the use of additional |
| ISO/IEC 10646 planes other than the Basic Multilingual Plane |
| may be required. |
| A facility for handling characters in these planes is therefore a |
| desirable characteristic in XML processors and applications. |
| --> |
| </p> |
| <p>UTF-16Å»µ½ÀÌÍCISO/IEC 10646Ìt^EyÑUnicodeÌt^BÅKè·é&byte-order-mark;(ZERO WIDTH NO-BREAK SPACE¶C#xFEFF)ÅnÜçȯêÎÈçÈ¢B±êÍC»ÌW¯Å ÁÄCXML¶Ì&markup;ÌêÅàC¶f[^ÌêÅàÈ¢BXML&processor;ÍCUTF-8Å»µ½¶ÆUTF-16Å»µ½¶ÆÌæÊðs¤½ßÉC±Ì¶ðgpÂ\ÅȯêÎÈçÈ¢B</p> |
| <p>XML&processor;ÍCUTF-8yÑUTF-16Å»µ½À̾¯ðÇÞ±ÆðK{Æ·éªC¼Ì»ð¢EÅÍp¢Ä¨èC»êçÌ»ðp¢éÀÌðXML&processor;ªÅ«é±Æª]ܵ¢BUTF-8ÍUTF-16ÈOÌ»û®ðp¢Äi[·é&parsed-entity;ÍC»é¾ðÜÞ<titleref href='TextDecl'>eLXgé¾</titleref>ÅnßȯêÎÈçÈ¢B |
| <scrap lang='ebnf'> |
| <head>»é¾</head> |
| <prod id='NT-EncodingDecl'><lhs>EncodingDecl</lhs> |
| <rhs><nt def="NT-S">S</nt> |
| 'encoding' <nt def='NT-Eq'>Eq</nt> |
| '"' <nt def='NT-EncName'>EncName</nt> '"' | "'" |
| <nt def='NT-EncName'>EncName</nt> "'" |
| </rhs> |
| </prod> |
| <prod id='NT-EncName'><lhs>EncName</lhs> |
| <rhs>[A-Za-z] ([A-Za-z0-9._] | '-')*</rhs> |
| <com>e¶¾¯ðÜÞ»¼</com> |
| </prod> |
| </scrap> |
| <termref def='dt-docent'>¶ÀÌ</termref>ÅÍC»é¾ÍC<termref def="dt-xmldecl">XMLé¾</termref>ÌêÆ·éB<nt def="NT-EncName">EncName</nt>ÍCgp·é»û®Ì¼OÆ·éB |
| </p> |
| <!-- FINAL EDIT: check name of IANA and charset names --> |
| <p>»é¾ÅÍCl<code>UTF-8</code>C<code>UTF-16</code>C<code>ISO-10646-UCS-2</code>yÑ<code>ISO-10646-UCS-4</code>ÍCUnicodeyÑISO/IEC 10646Ìeí»Ì½ßÉp¢éBl<code>ISO-8859-1</code>©ç<code>ISO-8859-9</code>ÜÅÍCISO 8859Ìηép[g̽ßÉp¢éBl<code>ISO-2022-JP</code>C<code>Shift_JIS</code>yÑ<code>EUC-JP</code>ÍCJIS X-0208-1997Ìeí»Ì½ßÉp¢éBXML&processor;ÍC»êÈOÌ»û®ðF¯µÄàæ¢BInternet Assigned Numbers Authority (IANA)ÉC(<emph>charset</emph>sƵÄ)o^³ê½¶»û®É¢ÄÍC±êçÈOÉ¢ÄàCo^³ê½¼OÅQÆ·é±Æª]ܵ¢B±êçÌo^³ê½¼OÍCå¶E¬¶ÌæÊð¹¸Éè`³êÄ¢éÌÅC±êçÉηéärðÝé&processor;ÍCå¶E¬¶ÌæÊðµÈ¢û@ðÆé̪]ܵ¢±ÆÉÓ·éB</p> |
| <p>XMLnÉn³ê½À̪C»é¾ðÜÞÉà©©íç¸Cé¾Å¦µ½àÌÈOÌû®Å»³êÄ¢½èC»é¾ªCOÀÌÌÅÈOÌÊuÉo»·êÎC<termref def="dt-error">&error;</termref>Æ·éB |
| </p> |
| <p>&byte-order-mark;Åà»é¾ÅànÜçÈ¢ÀÌÍCUTF-8»ÅȯêÎÈçÈ¢B</p> |
| |
| <p><!-- XML processors should make an effort to use all available |
| information, internal and external, to aid in detecting an entity's correct |
| encoding. Such information may include, but is not limited to: |
| <ulist><item><p>An HTTP header</p></item> |
| <item><p>A MIME header obtained other than through HTTP</p></item> |
| <item><p>Metadata provided by the native OS file system or by document |
| management software</p></item> |
| <item><p>The bit patterns at the front of an entity, which may |
| be analyzed to determine if |
| the application of any known encoding yields a valid encoding |
| declaration. See <titleref href='sec-guessing'>the appendix on |
| autodetection of character sets</titleref> |
| for a fuller description.</p></item></ulist> --> |
| Å«È¢»ðàÁ½ÀÌðXML&processor;ª©µ½Æ«ÍC&application;É»ÌÀðÊmµC<termref def='dt-fatal'>&fatal-error;</termref>ƵÄCðI¹µÈ¯êÎÈçÈ¢B |
| <!-- |
| inform the application of this fact and |
| may |
| allow the application to |
| request either that the entity should be treated as an <termref |
| def="dt-unparsed">unparsed entity</termref>, or that processing should |
| cease.--> |
| </p> |
| <p>»é¾ÌáðCɦ·B |
| <eg><?xml encoding='UTF-8'?> |
| <?xml encoding='EUC-JP'?></eg></p> |
| </div3> |
| </div2> |
| <div2 id='entproc'> |
| <head>XML&processor;ÉæéÀÌyÑQÆ̵¢</head> |
| <p>Ì\ÍC¶QÆCÀÌQÆyÑ&unparsed-entity;ÌÄoµª»ê鶬yÑeXÌêɨ¯é<termref def='dt-xml-proc'>XML&processor;</termref>Év·éU¢ðvñ·éBêÔ¶ÌñÌxÍCF¯Ì¶¬ð¦·B |
| <glist> |
| <gitem><label>àeɨ¯éQÆ</label> |
| <def><p>vfÌ<termref def='dt-stag'>Jn^O</termref>yÑ<termref def='dt-etag'>I¹^O</termref>ÌÔÌCÓÌêÅÌQÆBñI[L<nt def='NT-content'>content</nt>ÉηéB</p></def> |
| </gitem> |
| <gitem> |
| <label>®«lɨ¯éQÆ</label> |
| <def><p><termref def='dt-stag'>Jn^O</termref>Ì®«ÌlCÍ<termref def='dt-attdecl'>®«é¾</termref>ɨ¯é&default-value;Ì¢¸ê©ÅÌQÆBñI[L<nt def='NT-AttValue'>AttValue</nt>ÉηéB</p></def></gitem> |
| <gitem> |
| <label>®«lƵÄo»</label> |
| <def><p>QÆÅÍÈC<nt def='NT-Name'>Name</nt>ƵÄo»B<code>ENTITY</code>^ƵÄé¾µ½®«ÌlCÍ<code>ENTITIES</code>^ƵÄé¾µ½®«Ìlɨ¯é&space;ÅæØé&token;ÌêÂƵÄo»·éB</p> |
| </def></gitem> |
| <gitem><label>ÀÌlɨ¯éQÆ</label> |
| <def><p>ÀÌÌé¾É¨¯éCp^ÍàÀÌÌ<termref def='dt-litentval'>&literal;ÀÌl</termref>àÌQÆBñI[L<nt def='NT-EntityValue'>EntityValue</nt>ÉηéB</p></def></gitem> |
| <gitem><label>DTDɨ¯éQÆ</label> |
| <def><p><termref def='dt-doctype'>DTD</termref>Ìà⊂ÍO⊂ÅÌQÆB½¾µC<nt def='NT-EntityValue'>EntityValue</nt>Í<nt def="NT-AttValue">AttValue</nt>ÌO¤Æ·éB</p></def> |
| </gitem> |
| </glist></p> |
| <!-- border value changed by bosak --> |
| <htable border='1' cellpadding='7' align='center'> |
| <!-- tbody wrapper added by bosak --> |
| <htbody> |
| <tr><td bgcolor='&cellback;' rowspan='2' colspan='1'></td> |
| <td bgcolor='&cellback;' align='center' valign='bottom' colspan='4'>ÀÌÌ^</td> |
| <td bgcolor='&cellback;' rowspan='2' align='center'>¶</td> |
| </tr> |
| <tr align='center' valign='bottom'> |
| <td bgcolor='&cellback;'>p^</td> |
| <td bgcolor='&cellback;'>à&newline;êÊ</td> |
| <td bgcolor='&cellback;'>O&newline;&parsed-entity;&newline;êÊ</td> |
| <td bgcolor='&cellback;'>&unparsed-entity;</td> |
| </tr> |
| <tr align='center' valign='middle'> |
| <!--<td bgcolor='&cellback;' rowspan='4'>Recognition |
| Context</td>--> |
| <td bgcolor='&cellback;' align='right'>àeÅÌ&newline;QÆ</td> |
| <td bgcolor='&cellback;'><titleref href='not-recognized'>F¯&newline;µÈ¢</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='included'>æÝ</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='include-if-valid'>Ø̽ßÉæÝ</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='forbidden'>Ö~</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='included'>æÝ</titleref></td> |
| </tr> |
| <tr align='center' valign='middle'> |
| <td bgcolor='&cellback;' align='right'>®«lÅÌ&newline;QÆ</td> |
| <td bgcolor='&cellback;'><titleref href='not-recognized'>F¯&newline;µÈ¢</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='included'>æÝ</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='forbidden'>Ö~</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='forbidden'>Ö~</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='included'>æÝ</titleref></td> |
| </tr> |
| <tr align='center' valign='middle'> |
| <td bgcolor='&cellback;' align='right'>®«lƵÄ&newline;o»</td> |
| <td bgcolor='&cellback;'><titleref href='not-recognized'>F¯&newline;µÈ¢</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='not-recognized'>Ö~</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='not-recognized'>Ö~</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='notify'>Êm</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='not recognized'>F¯&newline;µÈ¢</titleref></td> |
| </tr> |
| <tr align='center' valign='middle'> |
| <td bgcolor='&cellback;' align='right'>ÀÌlÅÌ&newline;QÆ</td> |
| <td bgcolor='&cellback;'><titleref href='included'>æÝ</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='bypass'>&bypass;</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='bypass'>&bypass;</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='forbidden'>Ö~</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='included'>æÝ</titleref></td> |
| </tr> |
| <tr align='center' valign='middle'> |
| <td bgcolor='&cellback;' align='right'>DTDÅÌ&newline;QÆ</td> |
| <td bgcolor='&cellback;'><titleref href='as-PE'>PEƵÄ&newline;æÝ</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='forbidden'>Ö~</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='forbidden'>Ö~</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='forbidden'>Ö~</titleref></td> |
| <td bgcolor='&cellback;'><titleref href='forbidden'>Ö~</titleref></td> |
| </tr> |
| </htbody> |
| </htable> |
| <div3 id='not-recognized'> |
| <head>gF¯µÈ¢h</head> |
| <p>DTDÌOÅÍC<code>%</code>¶ÍC¢©ÈéÁèÌÓ¡àCà½È¢Bµ½ªÁÄCDTDÅÍp^ÀÌQÆƵÄF¯·éàÌÅ ÁÄàC<nt def='NT-content'>content</nt>àÅÍ&markup;ƵÄÍF¯µÈ¢B¯lÉCKØÉé¾µ½®«ÌlÌÉ»êéêð«C&unparsed-entity;̼OÍCF¯µÈ¢B |
| </p> |
| </div3> |
| <div3 id='included'> |
| <head>gæÝh</head> |
| <p><termdef id="dt-include" term="Include">ÀÌÍC»Ì<termref def='dt-repltext'>&replacement-text;</termref>ðæèoµC·éÆCQÆ©ÌÌãíèÉCQƪ Á½ÊuÅC¶ÌêƵÄÜÜêé©Ìæ¤É<term>æèÜêé</term>B&replacement-text;ÍC<termref def='dt-chardata'>¶f[^</termref>yÑ(p^ÀÌðB)<termref def="dt-markup">&markup;</termref>Ì¢¸êðÜñÅàæC±êçÍCÊíÌû@ÅF¯³êȯêÎÈçÈ¢B½¾µC&markup;ÌæØèqð&escape;·é½ßÉp¢éÀÌ(&magicents;)Ì&replacement-text;ÍCíÉf[^Ƶĵ¤(&string;"<code>AT&amp;T;</code>"ÍC"<code>AT&T;</code>"ÉWJ³êCc³ê½ApThÍCÀÌQÆÌæØèqƵÄÍF¯µÈ¢B)B¶QÆÍC¦µ½¶ðQÆ©ÌÌãíèÉ·éÆ«C<term>æèÜêé</term>B |
| </termdef></p> |
| </div3> |
| <div3 id='include-if-valid'> |
| <head>gØ̽ßÉæÝh</head> |
| <p>¶Ì&validity;ð<termref def="dt-valid">Ø</termref>·éÉÍCXML&processor;ª&parsed-entity;ÖÌQÆðF¯µ½Æ«C»Ì&replacement-text;ð<termref def="dt-include">æèÜ</termref>ȯêÎÈçÈ¢BÀ̪OÀÌÅ ÁÄCXML¶Ì&validity;ðصȯêÎCÀÌÌ&replacement-text;ðæèñÅà<termref def="dt-may">æ¢</termref>ªC»¤µÈÆàæ¢B</p> |
| <p>±ÌæßÍCSGMLyÑXMLÌÀÌÌ@\ªñ·é©®æÝ@\ªC¶ì¬ÌW
[»ðåÈÚIƵÄÝv³êĨèC»Ì¼Ì&application;(ÁÉC¶ÌuEY)ÉÍCK¸µàKØÅÍÈ¢CÆ¢¤F¯ÉæéBá¦ÎCuEUÍO&parsed-entity;ÖÌQÆð©Â¯éÆC»ÌÀ̪¶Ý·éÆ¢¤\¦¾¯ðs¢C\¦ðv³ê½Æ«É¾¯Càeðæèo·©àµêÈ¢B |
| </p> |
| </div3> |
| <div3 id='forbidden'> |
| <head>gÖ~h</head> |
| <p>ÍÖ~³êĨèC<termref def='dt-fatal'>&fatal-error;</termref>Æ·éB |
| <ulist> |
| <item><p>a) <termref def='dt-unparsed'>&unparsed-entity;</termref>ÖÌQÆÌo»B |
| </p></item> |
| <item><p>b) DTDÌ<nt def='NT-EntityValue'>EntityValue</nt>Í<nt def="NT-AttValue">AttValue</nt>ÈO̪ɨ¯éC¶QÆÍêÊÀÌÖÌQÆÌo»B</p></item> |
| <item><p>c) ®«làÌOÀÌÖÌQÆB</p> |
| </item> |
| </ulist> |
| </p> |
| </div3> |
| <div3 id='notify'> |
| <head>gÊmh</head> |
| <p><termref def='dt-unparsed'>&unparsed-entity;</termref>̼OªC<kw>ENTITY</kw>Í<kw>ENTITIES</kw>Ì®«Ìlɨ¢Ä&token;ƵĻê½Æ«C&processor;ÍC&application;ÉεÄCÖAt¯çê½<termref def="dt-notation">L@</termref>¼CL@Éηé<termref def='dt-sysid'>VXe</termref>&identifier;yÑ(¶Ý·êÎ)<termref def='dt-pubid'>öJ</termref>&identifier;ðÊmµÈ¯êÎÈçÈ¢B</p> |
| </div3> |
| <div3 id='bypass'> |
| <head>g&bypass;h</head> |
| <p>êÊÀÌQƪCÀÌé¾É¨¯é<nt def='NT-EntityValue'>EntityValue</nt>àÉ»êéÆ«C»êͳ³êC»ÌÜÜcéB</p> |
| </div3> |
| <div3 id='as-PE'> |
| <head>gPEƵÄæÝh</head> |
| <p>O&parsed-entity;ÌêƯlÉCp^ÀÌÍC&validity;ð<titleref href='include-if-valid'>Ø·éÆ«¾¯æèÜêé</titleref>Kvª éBp^ÀÌQÆðDTDàÉF¯µÄæèÞÆ«C»Ì<termref def='dt-repltext'>&replacement-text;</termref>ÍC»ÌOãÉêÂÌ&space-character;(#x20)ÌtÁÉæÁÄø«LγêéB±ÌÓ}ÍCp^ÀÌÌ&replacement-text;ªCDTDà̢©̶@I&token;ð®SÉÜÞÆC§ñ·é±ÆÉ éB |
| </p> |
| </div3> |
| <!-- |
| <div3 id='gen-char-entproc'> |
| <head>General and Character Entity Processing</head> |
| <p>General-entity and character references are recognized in three |
| contexts: wherever the nonterminal <nt def='NT-content'>content</nt> may |
| appear, at any point within the nonterminal |
| <nt def='NT-AttValue'>AttValue</nt>, |
| and within the |
| <termref def='dt-litentval'>literal entity value</termref> |
| (<nt def='NT-EntityValue'>EntityValue</nt>) |
| of an internal entity declaration. |
| This section discusses the first two cases; the third |
| is discussed <titleref href='intern-replacement'>below</titleref>. |
| When an <termref def="dt-xml-proc">XML processor</termref> encounters |
| such a reference, or the name of an unparsed entity as the value |
| of an <kw>ENTITY</kw> or <kw>ENTITIES</kw> attribute, then: |
| <olist> |
| |
| <item><p>In all cases, the XML processor may |
| inform the application of the reference's occurrence and its identifier |
| (for an entity reference, the name; for a character |
| reference, |
| the character number in decimal, hexadecimal, or binary form).</p></item> |
| |
| <item><p>For both character and entity references, the processor must |
| remove the reference itself from the <termref def="dt-text">text</termref> data |
| before passing the data to the application. |
| </p></item> |
| |
| <item><p>For character references, the processor must |
| pass the character indicated |
| to the application in |
| place of the reference. |
| </p></item> |
| |
| <item><p>For an external entity, the processor must inform the |
| application of the entity's <termref def="dt-sysid">system |
| identifier</termref>, and <termref def="dt-pubid">public identifier</termref> |
| if any. |
| All strings |
| of white space in the public identifier must be normalized to single space characters (#x20), |
| and leading and trailing white space must be removed.</p></item> |
| |
| <item><p>If the external entity is binary, the processor must inform the |
| application of the associated <termref def="dt-notation">notation</termref> |
| name, and the notation's associated <termref def='dt-sysid'>system</termref> |
| and <termref def='dt-pubid'>public</termref> (if any) |
| identifiers.</p></item> |
| |
| <item><p><termdef id="dt-include" term="Include">For an internal |
| (parsed) entity, the processor must <term>include</term> the |
| entity; that is, retrieve its replacement text |
| and process it as a part of the document |
| (i.e. as <nt def="NT-content">content</nt> or <nt |
| def="NT-AttValue">AttValue</nt>, whichever was being processed when |
| the reference was recognized), passing the result to the application |
| in place of the reference. The replacement text may contain both |
| <termref def='dt-chardata'>character data</termref> |
| and <termref def="dt-markup">markup</termref>, which must be recognized in |
| the usual way, except that the replacement text of entities used to escape |
| markup delimiters (the entities &magicents;) is always treated as |
| data. (The string "<code>AT&amp;T;</code>" expands to |
| "<code>AT&T;</code>" since the ampersand replacing "<code>&amp;</code>" |
| is not recognized |
| as an entity-reference delimiter.) </termdef></p> |
| <p>Since the entity may contain other entity references, |
| an XML processor may have to repeat the inclusion process recursively.</p> |
| </item> |
| <item><p>If the entity is an external parsed entity, then in order to |
| <termref def="dt-valid">validate</termref> the XML document, the processor must |
| <termref def="dt-include">include</termref> the content of the |
| entity.</p></item> |
| |
| <item><p>If the entity is an external parsed entity, and the processor is not |
| attempting to <termref def="dt-valid">validate</termref> the XML document, the |
| processor <termref def="dt-may">may</termref>, but need not, <termref |
| def="dt-include">include</termref> the entity's content.</p> |
| <p>This rule is based on the recognition that the automatic inclusion |
| provided by the SGML and XML entity mechanism, primarily designed |
| to support modularity in authoring, is not necessarily |
| appropriate for other applications, in particular document browsing. |
| Browsers, for example, when encountering an external parsed entity reference, |
| might choose to provide a visual indication of the entity's |
| presence and retrieve it for display only on demand. |
| </p></item> |
| </olist> |
| </p> |
| <p><termdef id="dt-escape" term="escape">Entity and character |
| references can both be used to <term>escape</term> the left angle bracket, |
| ampersand, and other delimiters. A set of general entities |
| (&magicents;) is specified for this purpose. |
| Numeric character references may also be used; they are |
| expanded immediately when recognized, and must be treated as |
| character data, so the numeric character references |
| "<code>&#60;</code>" and "<code>&#38;</code>" may be used to |
| escape <code><</code> and <code>&</code> when they occur |
| in character data.</termdef></p> |
| </div3> |
| <div3 id='PE-proc'> |
| <head>Parameter Entity Processing</head> |
| <p>Parameter-entity references are only recognized in the |
| <termref def='dt-doctype'>DTD</termref>. |
| Their processing, when they appear |
| within the |
| <termref def='dt-litentval'>literal entity value</termref> |
| (<nt def='NT-EntityValue'>EntityValue</nt>) |
| of an internal entity declaration, |
| is discussed <titleref href='intern-replacement'>below</titleref>. |
| They have these intended uses: |
| <olist> |
| <item><p>as a replacement for one or more complete markup declarations</p></item> |
| <item><p>as a replacement for one or more complete "groups" in |
| element declarations</p></item> |
| <item><p>as a replacement for one or more complete "tokens" in |
| markup declarations</p></item> |
| </olist> |
| </p> |
| <p>The constraints requiring that PE replacement texts be properly nested |
| with <titleref href='vc-PEinMarkupDecl'>markup declarations</titleref> |
| and <titleref href='vc-PEinGroup'>content groups</titleref> |
| govern the first two usages.</p> |
| <p>To support the third intended usage, |
| when an XML processor encounters a parameter-entity reference |
| (outside of the |
| <termref def='dt-litentval'>literal entity value</termref> in an entity |
| declaration), |
| it must <termref def="dt-include">include</termref> |
| the named entity, but first expand its |
| <termref def='dt-repltext'>replacement text</termref> by attaching |
| space (#x20) characters to its beginning and the end, before |
| processing it.</p> |
| <p>The DTD text must match the relevant |
| rules of this specification's grammar after all parameter-entity |
| references have been expanded. |
| <!-In addition, parameter entities referred to in specific |
| contexts are required to satisfy certain constraints in their |
| replacement text; for example, a parameter entity referred to within |
| the internal DTD subset must match the rule for <nt |
| def="NT-markupdecl">markupdecl</nt>. -> |
| </p> |
| </div3> |
| --> |
| </div2> |
| <div2 id='intern-replacement'> |
| <head>àÀÌ&replacement-text;Ì\z</head> |
| <p>àÀÌÌæµ¢ÌKèÅCÀÌlðñÂÌ`®ÉæÊ·é±ÆÍðɧÂB<termdef id="dt-litentval" term='Literal Entity Value'><term>&literal;ÀÌl</term>ÍCÀÌé¾àÉÀÛɶݷéCøpÅÍÞ&string;Æ·éB±êÍCñI[L<nt def='NT-EntityValue'>EntityValue</nt>É&match;·éB</termdef><termdef id='dt-repltext' term='Replacement Text'><term>&replacement-text;</term>ÍC¶QÆyѶmeter;ÀÌQÆÌu·¦ãɨ¯éCÀÌÌàeÆ·éB</termdef></p> |
| |
| <p>àÀÌé¾àÅ^¦é&literal;ÀÌl<!-- replacement text -->(<nt def='NT-EntityValue'>EntityValue</nt>)ÍC¶QÆC¶meter;ÀÌQÆyÑêÊÀÌQÆðÜñÅæ¢B±êçÌQÆÍC<!-- replacement text. -->&literal;ÀÌlàÉ®SÉÜÜêĢȯêÎÈçÈ¢B<termref def='dt-include'>WJ·é</termref>ÀÛÌ&replacement-text;(æɦµ½àÌ)ÍCQÆ·é¶meter;ÀÌÌ<emph>&replacement-text;</emph>ðÜÜȯêÎÈç¸C&literal;ÀÌlàÅ̶QÆÌãíèÉQƵ½¶ðÜÜȯêÎÈçÈ¢Bµ©µCêÊÀÌQÆÍC»ÌÜÜcµ, WJµÄÍÈçÈ¢B |
| <!-- in the replacement text that is to be included. --> |
| á¦ÎCÌé¾ð^¦½Æ·éB |
| |
| <eg><![CDATA[<!ENTITY % pub "Éditions Gallimard" > |
| <!ENTITY rights "All rights reserved" > |
| <!ENTITY book "La Peste: Albert Camus, |
| © 1947 %pub;. &rights;" >]]></eg> |
| ÀÌÌ&replacement-text;"<code>book</code>"ÍCÌƨèÆÈéB |
| <eg>La Peste: Albert Camus, |
| © 1947 Éditions Gallimard. &rights;</eg> |
| QÆ"<code>&book;</code>"ªC¶ÌàeÍ®«làÉo»µÄ¢êÎCêÊÀÌQÆ"<code>&rights;</code>"ÍCWJ³êÄ¢éB</p> |
| <p>±êçÌPÈK¥ÍC¡ÝìpðàÂB |
| <!-- ú{êóÉ¢ÄF interaction = Ýìpià{j--> |
| ïµ¢áÉ¢ÄÌÚ×ÍC<titleref href='sec-entexpand'>ÀÌQÆÌWJÌt^</titleref>ðQÆ̱ÆB |
| </p> |
| <!-- Replaced by the above -TB |
| <p>Implementors of XML processors need to know the rules for |
| expansion of references in more detail. These rules only come into |
| play when the replacement text for an internal entity itself contains |
| other references. |
| <olist> |
| <item><p>In the replacement text of an internal entity, parameter-entity |
| references and character references in the replacement text |
| are recognized and resolved |
| when the entity declaration is parsed, |
| before the replacement text is stored in |
| the processor's symbol table. |
| General-entity references in the replacement text are not |
| resolved when the entity declaration is parsed.</p></item> |
| <item><p>In the document, when a general-entity reference is |
| resolved, its replacement text is parsed. Character references |
| encountered in the replacement text are |
| resolved immediately; general-entity references encountered in the |
| replacement text may be resolved or left unresolved, as described |
| <titleref href="entproc">above</titleref>. |
| Character and general-entity references must be |
| contained entirely within the entity's replacement text. |
| </p></item> |
| </olist> |
| </p> |
| |
| <p>Simple character references do not suffice to escape delimiters |
| within the replacement text of an internal entity: they will be |
| expanded when the entity declaration is parsed, before the replacement |
| text is stored in the symbol table. When the entity itself is |
| referred to, the replacement text will be parsed again, and the |
| delimiters (no longer character references) |
| will be recognized as delimiters. To escape the |
| characters &magicents; in an entity replacement text, use |
| a general-entity reference or a doubly-escaped character reference. |
| See <titleref href='sec-entexpand'>the appendix on expansion |
| of entity references</titleref> |
| for detailed examples.</p> |
| --> |
| |
| |
| </div2> |
| <div2 id='sec-predefined-ent'> |
| <head>è`ÏÝÀÌ</head> |
| <p><termdef id="dt-escape" term="escape"> |
| ÀÌQÆyѶQÆÌ¢¸êàC&left-angle-bracket;CAoThyѼÌæØèqð<term>&escape;</term>·é½ßÉgpÅ«éB¢Â©ÌêÊÀÌi&magicents;jðC±ÌÚI̽ßÉwè·éBlÉæé¶QÆàC¯lÌÚI̽ßÉgpÅ«éB¶QÆÍCF¯³êéƼ¿ÉWJ³êC¶f[^ƵĵíêéÌÅClÉæé¶QÆ"<code>&#60;</code>"yÑ"<code>&#38;</code>"ÍC¶f[^àÉo»·é<code><</code>yÑ<code>&</code>ð&escape;·é½ßÉgpÅ«éB</termdef></p> |
| <p>·×ÄÌXML&processor;ÍCé¾³êÄ¢é©Ç¤©ÉÖWÈC±êçÌÀÌðF¯µÈÄÍÈçÈ¢B<termref def='dt-interop'>Ý^p«Ì½ß</termref>C&valid;ÈXML¶ÍC±êçÌÀÌðgp·éOÉC¼ÌÀÌƯlÉCé¾·é±Æª]ܵ¢BÀÌðé¾·éêÍC&replacement-text;ð&escape;·éê¶Æ·éàÀÌƵÄCÌƨèÉ龵ȯêÎÈçÈ¢B |
| <eg><![CDATA[<!ENTITY lt "&#60;"> |
| <!ENTITY gt ">"> |
| <!ENTITY amp "&#38;"> |
| <!ENTITY apos "'"> |
| <!ENTITY quot """> |
| ]]></eg> |
| "<code>lt</code>"yÑ"<code>amp</code>"é¾àÌ"<code><</code>"yÑ"<code>&</code>"¶ÍCÀÌÌu·eLXgªC&well-formed;ÆÈéæ¤ÉñdÉ&escape;³êé±ÆÉÓB |
| </p> |
| </div2> |
| |
| |
| <div2 id='Notations'> |
| <head>L@é¾</head> |
| |
| |
| <p> |
| <termdef id="dt-notation" term="Notation"> |
| <term>L@</term>ÍC<termref def="dt-extent">&unparsed-entity;</termref>Ì`®ð&identify;¼O©CÍ<termref def="dt-pi">½ß</termref>ÌÎÛÆ·é&application;ð&identify;¼OÆ·éB</termdef></p> |
| <p><termdef id="dt-notdecl" term="Notation Declaration"> |
| <term>L@é¾</term>ÍCL@̼OyÑO&identifier;ðñ·éB±Ì¼OÍCÀÌyÑ®«Xgé¾ÀÑÉ®«wèÉp¢éBO&identifier;ÍC^¦çê½L@Ìf[^ðÅ«éwp&application;ðCXML&processor;ÍNCAgAvP[VªT·½ßÉCpÅ«éB |
| <scrap lang='ebnf'> |
| <head>L@é¾</head> |
| <prod id='NT-NotationDecl'><lhs>NotationDecl</lhs> |
| <rhs>'<!NOTATION' <nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt> |
| <nt def='NT-S'>S</nt> |
| (<nt def='NT-ExternalID'>ExternalID</nt> | |
| <nt def='NT-PublicID'>PublicID</nt>) |
| <nt def='NT-S'>S</nt>? '>'</rhs></prod> |
| <prod id='NT-PublicID'><lhs>PublicID</lhs> |
| <rhs>'PUBLIC' <nt def='NT-S'>S</nt> |
| <nt def='NT-PubidLiteral'>PubidLiteral</nt> |
| </rhs></prod> |
| </scrap> |
| </termdef></p> |
| <p>é¾µC®«lC®«è`ÍÀÌé¾ÅQÆ·é·×ÄÌL@É¢ÄCXML&processor;ÍCL@̼OyÑO&identifier;ð&application;ÉñµÈ¯êÎÈçÈ¢B³çÉCO&identifier;ðC<termref def="dt-sysid">VXe&identifier;</termref>Ct@C¼Í»Ì¼ÌîñÉWJµÄàæC±êçðp¢ÄC&application;ÍC»ÌL@Ìf[^ð·é&processor;ðN®·éB(µ©µCXML&processor;Í&application;ª®ì·éVXeÅÍpÅ«È¢L@ðCXML¶ªé¾µQƵÄàC±êÍC&error;Æ͵ȢBj</p> |
| </div2> |
| |
| |
| <div2 id='sec-doc-entity'> |
| <head>¶ÀÌ</head> |
| |
| <p><termdef id="dt-docent" term="Document Entity"><term>¶ÀÌ</term>ÍCÀÌÌ`¬·éØ\¢Ì&root;Å ÁÄC<termref def="dt-xml-proc">XML&processor;</termref>ªCðJn·én_Æ·éB</termdef>±Ì&TR-or-Rec;ÍCXML&processor;ªC¶ÀÌ̶ݷéêðÇÌæ¤É©Â¯é©ÍCKèµÈ¢B¼ÌÀÌÆÙÈèC¶ÀÌͼOðླྀC¢©Èé¯ÊàȵÉ&processor;ÖÌüÍ&stream;Éo»µÄàæ¢B</p> |
| </div2> |
| |
| |
| </div1> |
| <!-- &Conformance; --> |
| <div1 id='sec-conformance'> |
| <head>K«</head> |
| |
| <p>K·é<termref def="dt-xml-proc">XML&processor;</termref>ÍC&validating;àÌyÑ&non-validating;àÌÌCñÂɪ޳êéB</p> |
| <p>&validating;VXeyÑ&non-validating;VXeÍC±Ì&TR-or-Rec;ªKè·é&well-formed;§ñÖÌá½ðñµÈ¯êÎÈçÈ¢B</p> |
| <p><termdef id="dt-validating" term="Validating Processor"><term>&validating;&processor;</term>ÍC<termref def="dt-doctype">DTD</termref>àÌé¾ÉæÁĦ³ê½C§ñÖÌá½ðñµÈ¯êÎÈçÈ¢B³çÉC±Ì&TR-or-Rec;ªKè·é&validity;§ñÖÌá½ðC·×ÄñµÈ¯êÎÈçÈ¢B |
| </termdef> |
| </p> |
| </div1> |
| |
| <div1 id='sec-notation'> |
| <head>L@</head> |
| |
| <p>XMLÌ`®Iȶ@ÍCÈPÈg£Backus-Naur Form(EBNF)L@ÉæÁÄ^¦éB¶@ÌeK¥ÍCÌ`®ÅCLðêÂè`·éB |
| <eg>symbol ::= expression</eg></p> |
| <p>LÍC³K\»Åè`·éÆ«Íå¶ÅnßC»¤ÅȯêÎC¬¶ÅnßéB&string;&literal;ÍCøpÅÍÞB |
| <!--* The distinction between symbols which can and cannot be |
| recognized using simple regular expressions may be used to set the |
| boundary between an implementation's lexical scanner and its parser, |
| but this specification neither constrains the placement of that |
| boundary nor presupposes that all implementations will have one. *--> |
| </p> |
| |
| <p>K¥ÌE¤Ì®àÅÍCêÂ̶͡©çÈé&string;Æ&match;·é½ßÉCÌ®ðgp·éB |
| <glist> |
| <gitem> |
| <label><code>#xN</code></label> |
| <def><p>±±ÅC<code>N</code>Í16i̮ƷéBISO/IEC 10646̶ŠÁÄC³K`(UCS-4)Ì&code-value;ðȵ2iƵÄðßµ½Æ«Cwèµ½lƵ¢àÌÆ&match;·éB<code>#xN</code>`®ÌæªÉ[ª¢Â©»êé©ÍCÓ¡ðà½È¢B&code-value;<!-- bit string -->ɨ¯éæªÌ[ÌÍC¶Ì»ÉæÁÄè³êéÌÅCXMLÉÆÁÄÍÓ¡ªÈ¢B |
| </p></def> |
| </gitem> |
| <gitem> |
| <label><code>[a-zA-Z]</code>, <code>[#xN-#xN]</code></label> |
| <def><p>wèµ½ÍÍÌl(¼[ÌlðÜÞBjðàÂCÓÌ<termref def='dt-character'>¶</termref>Æ&match;·éB</p></def> |
| </gitem> |
| <gitem> |
| <label><code>[^a-z]</code>, <code>[^#xN-#xN]</code></label> |
| <def><p>wèµ½ÍÍ<emph>O</emph>ÌlðàÂCÓÌ<termref def='dt-character'>¶</termref>Æ&match;·éB</p></def> |
| </gitem> |
| <gitem> |
| <label><code>[^abc]</code>, <code>[^#xN#xN#xN]</code></label> |
| <def><p>wèµ½¶ÈOÌlðàÂCÓÌ<termref def='dt-character'>¶</termref>Æ&match;·éB</p></def> |
| </gitem> |
| <gitem> |
| <label><code>"string"</code></label> |
| <def><p>&double-quote;ÅÍÞ&string;&literal;Æ<termref def="dt-match">&match;µÄ¢é</termref>&string;&literal;Æ&match;·éB</p></def> |
| </gitem> |
| <gitem> |
| <label><code>'string'</code></label> |
| <def><p>&single-quote;ÅÍÞ&string;&literal;Æ<termref def="dt-match">&match;µÄ¢é</termref>&string;&literal;Æ&match;·éB</p></def> |
| </gitem> |
| </glist> |
| ±êçÌLÍCÌ`®Ìg¹Ågp·éB±±ÅC<code>A</code>yÑ<code>B</code>ÍCPȮƷéB |
| <glist> |
| <gitem> |
| <label>(<code>expression</code>)</label> |
| <def><p><code>expression</code>ÍCêÂÌÜÆÜèƵĵ¢C±±É¦·g¹ÅgÁÄàæ¢B</p></def> |
| </gitem> |
| <gitem> |
| <label><code>A?</code></label> |
| <def><p><code>A</code>ͽàȵÆ&match;·é(IvVÌ<code>A</code>)B</p></def> |
| </gitem> |
| <gitem> |
| <label><code>A B</code></label> |
| <def><p><code>A</code>ÌÉ<code>B</code>ªo»·éàÌÆ&match;·éB |
| </p></def> |
| </gitem> |
| <gitem> |
| <label><code>A | B</code></label> |
| <def><p><code>A</code>Í<code>B</code>C½¾µC¼ûÅÍÈ¢CÆ&match;·éB |
| </p></def> |
| </gitem> |
| <gitem> |
| <label><code>A - B</code></label> |
| <def><p><code>A</code>Æ&match;·éªC<code>B</code>ÆÍ&match;µÈ¢CCÓÌ&string;Æ&match;·éB</p></def> |
| </gitem> |
| <gitem> |
| <label><code>A+</code></label> |
| <def><p><code>A</code>Ì1ñÈãÌJÔµÆ&match;·éB</p></def> |
| </gitem> |
| <gitem> |
| <label><code>A*</code></label> |
| <def><p><code>A</code>Ì0ñÈãÌJÔµÆ&match;·éB</p></def> |
| </gitem> |
| <!-- DEATH TO %'s |
| <gitem> |
| <label><code>%a</code></label> |
| <def><p>specifies that <emph>in the external DTD subset</emph> a |
| <termref def='dt-param-entity'>parameter entity</termref> may occur in the |
| text at the position where <code>a</code> may occur; if so, its |
| replacement text must match <code>S? a S?</code>. If |
| the expression <code>a</code> is governed by a suffix operator, then |
| the suffix operator determines both the maximum number of parameter-entity |
| references allowed and the number of occurrences of <code>a</code> |
| in the replacement text of the parameter entities: <code>%a*</code> |
| means that <code>a</code> must occur zero or more times, and |
| that some of its occurrences may be replaced by references to |
| parameter entities whose replacement text must contain zero or |
| more occurrences of <code>a</code>; it is thus a more compact way |
| of writing <code>%(a*)*</code>. |
| Similarly, <code>%a+</code> means that <code>a</code> |
| must occur one or more times, and may be replaced by |
| parameter entities with replacement text matching |
| <code>S? (a S?)+</code>. |
| The recognition of parameter entities in the internal subset is much more |
| highly constrained. |
| </p></def> |
| </gitem> |
| --> |
| </glist> |
| ¶¬K¥àÅgp·é¼ÌL@ðCɦ·B |
| <glist> |
| <gitem> |
| <label><code>/* ... */</code></label> |
| <def><p>RgB</p></def> |
| </gitem> |
| <gitem> |
| <label><code>[ wfc: ... ]</code></label> |
| <def><p>&well-formed;§ñB¶¬K¥Ét^µ½C<termref def="dt-wellformed">&well-formed;</termref>̶ÉÖ·é§ñðC¼OÉæÁÄ&identify;B</p></def> |
| </gitem> |
| <gitem> |
| <label><code>[ vc: ... ]</code></label> |
| <def><p>&validity;§ñB¶¬K¥Ét^µ½C<termref def="dt-valid">&valid;</termref>ȶÉÖ·é§ñðC¼OÉæÁÄ&identify;B |
| </p></def> |
| </gitem> |
| </glist> |
| </p></div1> |
| |
| </body> |
| <back> |
| <!-- &SGML; --> |
| |
| <!-- &Biblio; --> |
| <div1 id='sec-bibliography'> |
| |
| <head>Ql¶£</head> |
| <div2 id='sec-existing-stds'> |
| <head>&normative;Ql¶£</head> |
| <!--* <ulist><item> |
| <p>Unicode and ISO/IEC 10646. This specification depends on the |
| international standard ISO/IEC 10646 (with amendments AM 1 through AM 7) |
| and the Unicode Standard, Version 2.0 <bibref ref='Unicode'/>, |
| which define the encodings and meanings of |
| the <termref def="dt-character">characters</termref> which |
| make up XML <termref def="dt-text">text</termref>. |
| All the characters in ISO/IEC 10646 are present, at the same code points, |
| in Unicode.</p></item> |
| <item><p>XXX XXX defines the syntax and semantics of |
| Uniform Resource Identifiers, or URIs.</p></item> |
| <item><p>IETF RFC 1766, with ISO 639 and 3166, |
| describe the codes that may be used in the |
| special <titleref href='sec-lang-tag'>xml:lang</titleref> attribute.</p> |
| </item></ulist> |
| *--> |
| |
| <blist> |
| |
| <bibl id='RFC1766' key='IETF RFC 1766'> |
| IETF (Internet Engineering Task Force). |
| <emph>RFC 1766: Tags for the Identification of Languages</emph>, |
| ed. H. Alvestrand. |
| 1995. |
| </bibl> |
| |
| <bibl id='ISO639' key='ISO 639'> |
| (International Organization for Standardization). |
| <emph>ISO 8879:1988 (E). |
| Code for the representation of names of languages.</emph> |
| [Geneva]: International Organization for |
| Standardization, 1988.</bibl> |
| |
| <bibl id='ISO3166' key='ISO 3166'> |
| (International Organization for Standardization). |
| <emph>ISO 3166-1:1997 (E). |
| Codes for the representation of names of countries and their subdivisions |
| — Part 1: Country codes</emph> |
| [Geneva]: International Organization for |
| Standardization, 1997.</bibl> |
| |
| <bibl id='ISO10646' key='ISO/IEC 10646'>ISO |
| (International Organization for Standardization). |
| <emph>ISO/IEC 10646-1993 (E). Information technology — Universal |
| Multiple-Octet Coded Character Set (UCS) — Part 1: |
| Architecture and Basic Multilingual Plane.</emph> |
| [Geneva]: International Organization for |
| Standardization, 1993 (plus amendments AM 1 through AM 7). |
| </bibl> |
| |
| <bibl id='Unicode' key='Unicode'>The Unicode Consortium. |
| <emph>The Unicode Standard, Version 2.0.</emph> |
| Reading, Mass.: Addison-Wesley Developers Press, 1996.</bibl> |
| |
| </blist> |
| |
| </div2> |
| |
| <div2><head>¼ÌQl¶£</head> |
| |
| <blist> |
| |
| <bibl id='Aho' key='Aho/Ullman'>Aho, Alfred V., |
| Ravi Sethi, and Jeffrey D. Ullman. |
| <emph>Compilers: Principles, Techniques, and Tools</emph>. |
| Reading: Addison-Wesley, 1986, rpt. corr. 1988.</bibl> |
| |
| <bibl id="Berners-Lee" xml-link="simple" key="Berners-Lee et al."> |
| Berners-Lee, T., R. Fielding, and L. Masinter. |
| <emph>Uniform Resource Identifiers (URI): Generic Syntax and |
| Semantics</emph>. |
| 1997. |
| (Work in progress; see updates to RFC1738.)</bibl> |
| |
| <bibl id='ABK' key='Brüggemann-Klein'>Brüggemann-Klein, Anne. |
| <emph>Regular Expressions into Finite Automata</emph>. |
| Extended abstract in I. Simon, Hrsg., LATIN 1992, |
| S. 97-98. Springer-Verlag, Berlin 1992. |
| Full Version in Theoretical Computer Science 120: 197-213, 1993. |
| <!-- |
| Universitat Freiburg, Institut fur Informatik, |
| Bericht 33, Juli 1991.--> |
| </bibl> |
| |
| <bibl id='ABKDW' key='Brüggemann-Klein and Wood'>Brüggemann-Klein, Anne, |
| and Derick Wood. |
| <emph>Deterministic Regular Languages</emph>. |
| Universität Freiburg, Institut für Informatik, |
| Bericht 38, Oktober 1991. |
| </bibl> |
| |
| <bibl id="RFC1738" xml-link="simple" key="IETF RFC1738"> |
| IETF (Internet Engineering Task Force). |
| <emph>RFC 1738: Uniform Resource Locators (URL)</emph>, |
| ed. T. Berners-Lee, L. Masinter, M. McCahill. |
| 1994. |
| </bibl> |
| |
| <bibl id="RFC1808" xml-link="simple" key="IETF RFC1808"> |
| IETF (Internet Engineering Task Force). |
| <emph>RFC 1808: Relative Uniform Resource Locators</emph>, |
| ed. R. Fielding. |
| 1995. |
| </bibl> |
| |
| <bibl id="RFC2141" xml-link="simple" key="IETF RFC2141"> |
| IETF (Internet Engineering Task Force). |
| <emph>RFC 2141: URN Syntax</emph>, |
| ed. R. Moats. |
| 1997. |
| </bibl> |
| |
| <bibl id='ISO8879' key='ISO/IEC 8879'>ISO |
| (International Organization for Standardization). |
| <emph>ISO/IEC 8879-1986 (E). Information processing — Text and Office |
| Systems — Standard Generalized Markup Language (SGML).</emph> First |
| edition — 1986-10-15. [Geneva]: International Organization for |
| Standardization, 1986. |
| </bibl> |
| |
| |
| <bibl id='ISO10744' key='ISO/IEC 10744'>ISO |
| (International Organization for Standardization). |
| <emph>ISO/IEC 10744-1992 (E). Information technology — |
| Hypermedia/Time-based Structuring Language (HyTime). |
| </emph> |
| [Geneva]: International Organization for |
| Standardization, 1992. |
| <emph>Extended Facilities Annexe.</emph> |
| [Geneva]: International Organization for |
| Standardization, 1996. |
| </bibl> |
| |
| |
| |
| </blist> |
| </div2> |
| </div1> |
| <div1 id='CharClasses'> |
| <head>¶NX</head> |
| |
| <p>UnicodeWÉè`·é&property;ɵ½ªÁÄC¶ÍC&base-character;(BaseChar)(±êçÍC&diacritical-mark;ðeAt@xbgÌAt@xbg¶ðÜÞ)C&ideographic;(ideographic)yÑ&combining-character;(CombiningChar)(±ÌNXÍCÙÆñÇÌ&diacritical-mark;ðÜÞ)ÉNXª¯·éB±êçÌNXÍCµC&letter;(Letter)ÌNXÆÈéB10il(Digit)yÑ&extender;(Extender)àæÊ·éB |
| <scrap lang="ebnf" id="CHARACTERS"> |
| <head>¶</head> |
| <prodgroup pcw3="3" pcw4="15"> |
| <prod id="NT-Letter"><lhs>Letter</lhs> |
| <rhs><nt def="NT-BaseChar">BaseChar</nt> |
| | <nt def="NT-Ideographic">Ideographic</nt></rhs> </prod> |
| <prod id='NT-BaseChar'><lhs>BaseChar</lhs> |
| <rhs>[#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] |
| </rhs></prod> |
| <prod id='NT-Ideographic'><lhs>Ideographic</lhs> |
| <rhs>[#x4E00-#x9FA5] |
| | #x3007 |
| | [#x3021-#x3029] |
| </rhs></prod> |
| <prod id='NT-CombiningChar'><lhs>CombiningChar</lhs> |
| <rhs>[#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 |
| </rhs></prod> |
| <prod id='NT-Digit'><lhs>Digit</lhs> |
| <rhs>[#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] |
| </rhs></prod> |
| <prod id='NT-Extender'><lhs>Extender</lhs> |
| <rhs>#x00B7 |
| | #x02D0 |
| | #x02D1 |
| | #x0387 |
| | #x0640 |
| | #x0E46 |
| | #x0EC6 |
| | #x3005 |
| | [#x3031-#x3035] |
| | [#x309D-#x309E] |
| | [#x30FC-#x30FE] |
| </rhs></prod> |
| |
| </prodgroup> |
| </scrap> |
| </p> |
| <p>±±Åè`·é¶NXÍCUnicode¶f[^x[X©çCÌƨèɾé±ÆªÅ«éB |
| <ulist> |
| <item> |
| <p>a) ¼OJn¶ÍCLl, Lu, Lo, Lt, NlJeSàÌêÂÅȯêÎÈçÈ¢B</p> |
| </item> |
| <item> |
| <p>b) ¼OJn¶ÈO̼O¶ÍCMc, Me, Mn, Lm, NdJeSàÌêÂÅȯêÎÈçÈ¢B</p> |
| </item> |
| <item> |
| <p>c) &compatibility-area;É é¶(¶Å#xF900æèå«#xFFFEæ謳¢¶)ÍCXMLɨ¯é¼OƵÄÍC³êÈ¢B</p> |
| </item> |
| <item> |
| <p>d) &font-decomposition;©&compatibility-decomposition;ðà¶(ÂÜèCf[^x[XàÌTÔÚÌtB[hÉ"compatibility formatting tag"ª éàÌB±êÍCTÔÚÌtB[hªC"<"ÅnÜé±ÆÉæÁÄ}[Nt¯³êéB)ÍC³êÈ¢B</p> |
| </item> |
| <item> |
| <p>e) ̶ÍC¼OJn¶ÆµÄµ¤B±êÍC&property-file;ªC±êç̶ðAt@xbgÉÞ·éÆ©È·±ÆÉæéB»êçÍ |
| [#x02BB-#x02C1], #x0559, #x06E5, #x06E6Æ·éB</p> |
| </item> |
| <item> |
| <p>f) ¶ª#x20DD-#x20E0̶ÍC(Unicode Ì5.14ɵ½ªÁÄ)O·éB</p> |
| </item> |
| <item> |
| <p>g) ¶ª#x00B7̶ÍC&property-list;ɵ½ªÁÄC&extender;(extender)ɪ޷éB</p> |
| </item> |
| <item> |
| <p>h) ¶#x0387ÍC±êÉ·é³K`ª#x00B7ÈÌÅC¼O¶ÉÇÁ·éB</p> |
| </item> |
| <item> |
| <p>i) ¶':'yÑ'_'ÍC¼OJn¶ÆµÄ·B</p> |
| </item> |
| <item> |
| <p>j) ¶'-'yÑ'.'ÍC¼O¶ÆµÄ·B</p> |
| </item> |
| </ulist> |
| </p> |
| </div1> |
| <inform-div1 id="sec-xml-and-sgml"> |
| <head>XMLyÑSGML</head> |
| |
| <p>XMLÍCSGMLÌ⊂ƵÄÝv³êÄ¢éB·Èí¿C·×ÄÌ<termref def="dt-valid">&valid;</termref>ÈXML¶ÍCKiÉK·éSGML¶ÉàÈéBSGMLª¶ÉÛ·§ÀÈOÉCXMLª¢©Èé§ÀðÛ·©ÉÖ·éÚ×ÍCÊÌ<loc href='http://www.w3.org/TR/NOTE-sgml-xml'>Kö</loc>ðQÆ̱ÆB±ÌKöÍCXMĻñðð¦·SGMLé¾ðÜÝC±êÍCSGML&parser;ÉgpÅ«éB |
| </p> |
| </inform-div1> |
| <inform-div1 id="sec-entexpand"> |
| <head>ÀÌQÆyѶQÆÌWJ</head> |
| <p>±Ìt^ÍCÀÌQÆyѶQÆðF¯µCWJ·éCêA̬êðCáÉgÁĦ·B</p> |
| <p> |
| DTDªCÌé¾ðÜÞêðl¦éB |
| <eg><![CDATA[<!ENTITY example "<p>An ampersand (&#38;) may be escaped |
| numerically (&#38;#38;) or with a general entity |
| (&amp;).</p>" > |
| ]]></eg> |
| XML&processor;ÍCÀÌÌé¾ð\¶ð͵½_ŶQÆðF¯µC±êðð·éBÀÌ"<code>example</code>"ÌlƵÄCÌ&string;ðÛ¶·éB |
| <eg><![CDATA[<p>An ampersand (&) may be escaped |
| numerically (&#38;) or with a general entity |
| (&amp;).</p> |
| ]]></eg> |
| ¶àÅ"<code>&example;</code>"ðQÆ·éÆC±ÌeLXgÍCÄÑ\¶ðͳêéB±ÌÆ«Cvf"<code>p</code>"ÌJn^OyÑI¹^OðF¯µCOÂÌQÆðF¯µWJ·éB»ÌÊCvf"<code>p</code>"ÍCÌàeðàÂ(·×Äf[^ƵCæØèqÍ&markup;ͶݵȢB)B |
| <eg><![CDATA[An ampersand (&) may be escaped |
| numerically (&) or with a general entity |
| (&). |
| ]]></eg> |
| </p> |
| <p>K¥yÑ»ÌøÊðæèÚ×ɦ·½ßC³çÉ¡GÈáð¦·BÌáÅCsÔÍCQÆÌÖX̽߾¯Ét¯éB |
| <eg><![CDATA[1 <?xml version='1.0'?> |
| 2 <!DOCTYPE test [ |
| 3 <!ELEMENT test (#PCDATA) > |
| 4 <!ENTITY % xx '%zz;'> |
| 5 <!ENTITY % zz '<!ENTITY tricky "error-prone" >' > |
| 6 %xx; |
| 7 ]> |
| 8 <test>This sample shows a &tricky; method.</test> |
| ]]></eg> |
| ±êð·éÆCÌƨèÆÈéB |
| <ulist spacing="compact"> |
| <item><p>a) 4sÚÅC37ÔÚ̶ÖÌQÆð¼¿ÉWJµCp^ÀÌ"<code>xx</code>"ðCV{e[uÉ"<code>%zz;</code>"Æ¢¤lÆÆàÉÛ¶·éB&replacement-text;ðÄѸ·é±ÆÍÈ¢ÌÅCp^ÀÌ"<code>zz</code>"ÖÌQÆÍF¯µÈ¢("<code>zz</code>"ÍCܾ龳êĢȢÌÅC¸³êêÎC&error;ÆÈéB)B</p></item> |
| <item><p>b) 5sÚÅC¶QÆ"<code>&#60;</code>"ð¼¿ÉWJµCp^ÀÌ"<code>zz</code>"ð"<code><!ENTITY tricky "error-prone" ></code>"Æ¢¤&replacement-text;ÆÆàÉÛ¶·éB±êÍC&well-formed;ÌÀÌé¾Æ·éB</p></item> |
| <item><p>c) 6sÚÅC"<code>xx</code>"ÖÌQÆðF¯µC"<code>xx</code>"Ì&replacement-text;(·Èí¿C"<code>%zz;</code>")ð\¶ðÍ·éB"<code>zz</code>"ÖÌQÆð±¢ÄF¯µC&replacement-text;("<code><!ENTITY tricky "error-prone" ></code>")ð\¶ðÍ·éBêÊÀÌ"<code>tricky</code>"ÍC±Ì_ÅÍCé¾³êĨèC»Ì&replacement-text;ÍC"<code>error-prone</code>"Æ·éB </p></item> |
| <item><p>d) 8sÚÅCêÊÀÌ"<code>tricky</code>"ÖÌQÆðF¯µCWJ·éBvf"<code>test</code>"Ì®SÈàeÍCÌ(àeð»ê©Ì\»·éB)&string;ÆÈéBÂÜèC<emph>This sample shows a error-prone method.</emph> |
| </p></item> |
| </ulist> |
| </p> |
| </inform-div1> |
| <inform-div1 id="determinism"> |
| <head>èIàef</head> |
| <p><termref def='dt-compat'>Ý·«Ì½ß</termref>Cvfé¾É¨¯éàefÍCèIÆ·éKvª éB |
| </p> |
| <!-- FINAL EDIT: WebSGML allows ambiguity? --> |
| <p>SGMLÍCèIàef(SGMLÅÍCñ ¢Ü¢ÆÄÔB)ðv·éBSGMLVXeðp¢Ä쬵½XML&processor;ÍCñèIàefð&error;ƵÄàæ¢B</p> |
| <p>á¦ÎCàef<code>((b, c) | (b, d))</code>ÍñèIÆÈéB±êÍCÅÉ<code>b</code>ð^¦½Æ«CfàÌ¢¸êÌ<code>b</code>Æ&match;·é̪]ܵ¢©C»ÌÌvfðæÇÝ·é±ÆȵÉÍC&parser;Ímé±ÆªÅ«È¢±ÆÉæéB±ÌêÍC<code>b</code>ÖÌñÂÌQÆÍCêÂÌQÆÉÜÆßé±ÆªÅ«CfÍC<code>(b, (c | d))</code>ÆÈéB±êÅCÅÌ<code>b</code>ªCàefàÌêÂ̼Oƾ¯&match;·é±Æ;ç©ÆÈéB&parser;ÍCæÇݵÄCÉéàÌðméKvªÈ¢B<code>c</code>à<code>d</code>àCó³êéB</p> |
| <p>`®Iɦ·BAho, Sethi, and Ullman <bibref ref='Aho'/>Ì3.9ÌASY3.5ÌWIÈASYðp¢ÄCàef©çLÀI[g}gð\¬·é±ÆªÅ«éB±Ìí̽ÌASYÅÍC³K\»É¨¯éeXÌÊu(ÂÜèC³K\»Ì\¶Øɨ¯éeXÌ[m[h)ÉεÄCfollow set(ÉÇÌÊuÉÚ®Â\©ð\·àÌ)ð\¬·éB éÊuÉηéfollow setɨ¢ÄC¡ÌÊuª¯¶vf^¼Åxt¯³êÄ¢êÎC»ÌàefÍ&error;ÆÈèC&error;ðÔ·êà éB |
| </p> |
| <p>·×ÄÌñèIàefð¿ÈèIàefÉÏ··é±ÆÍÅ«È¢ªC½ÌñèIàefðÏ··éASYª¶Ý·éBBrüggemann-Klein 1991 <bibref ref='ABK'/>ðQÆ̱ÆB</p> |
| </inform-div1> |
| <inform-div1 id="sec-guessing"> |
| <head>¶»Ì©®o</head> |
| <p> |
| XMLÌ»é¾ÍCeÀÌÌàxƵÄ@\µCÇ̶»ðgp·é©ð¦·Bµ©µCXML&processor;ÍCàxðÇÞOÉCÇ̶»ðgp·é©ðméKvª èC±êªCàxª¦»¤Æ·é±ÆÉÈéBêÊIÉÍC±êÍCâ]IÈóÔÆÈéBµ©µCXMLɨ¢ÄÍC®SÉÍâ]IÅÍÈ¢B±êÍCXMLªCÌñÂÌ_ÅêÊIÈêÉηé§ÀðÁ¦é±ÆÉæéBêÂ̧ÀÍCÇÌÀàLÀÂ̶»¾¯ÌT|[gðzè·é±ÆÆ·éB¼ÌêÂ̧ÀÍCeÀÌÅgp·é¶»ð©®oÂ\Æ·éCXMLÌ»é¾ÌÊuyÑàeÉÖ·é§ÀÆ·éB½ÌêÉCXMLÌf[^Xg[ÉÁ¦C¼ÌîñªpÅ«éB±±ÅÍCXMLÌÀ̪&processor;Én³êéÆ«C(O)îñ𺤩Ǥ©ÉæÁÄCñÂÌêɪ¯éBܸÅÌêð¦·B</p> |
| <p> |
| UTF-8`®ÍUTF-16`®ÅÍÈ¢XMLÀÌÍCÅ̶ðe<code><?xml</code>'Æ·éXML»é¾ÅnÜç<emph>ȯêÎÈçÈ¢</emph>ÌÅCÇÌKµ½&processor;àCüÍÉ é2INebgÍ4INebgð²×êÎCÌÇÌêª ÄÍÜé©ðoÅ«éB±ÌXgðÇÞÛÉÍCUCS-4Ì'<'ª"<code>#x0000003C</code>"C'?'ª"<code>#x0000003F</code>"CyÑUTF-16Ìf[^&stream;ÌKvÆ·é&byte-order-mark;ª"<code>#xFEFF</code>"Æ¢¤±ÆðmÁĨÆð§Â©àµêÈ¢B</p> |
| <p> |
| <ulist> |
| <item> |
| <p>a) <code>00 00 00 3C</code>: UCS-4, big-endian }V (1234)</p> |
| </item> |
| <item> |
| <p>b) <code>3C 00 00 00</code>: UCS-4, little-endian }V (4321)</p> |
| </item> |
| <item> |
| <p>c) <code>00 00 3C 00</code>: UCS-4, ÊÅÍÈ¢INebg (2143)</p> |
| </item> |
| <item> |
| <p>d) <code>00 3C 00 00</code>: UCS-4, ÊÅÍÈ¢INebg (3412)</p> |
| </item> |
| <item> |
| <p>e) <code>FE FF</code>: UTF-16, big-endian</p> |
| </item> |
| <item> |
| <p>f) <code>FF FE</code>: UTF-16, little-endian</p> |
| </item> |
| <item> |
| <p>g) <code>00 3C 00 3F</code>: UTF-16, big-endian, &byte-order-mark;ȵ(µ½ªÁÄCµ§É¢¦ÎC&error;Æ·éB)B</p> |
| </item> |
| <item> |
| <p>h) <code>3C 00 3F 00</code>: UTF-16, little-endian, &byte-order-mark;ȵ(µ½ªÁÄCµ§É¢¦ÎC&error;Æ·éB)B</p> |
| </item> |
| <item> |
| <p>i) <code>3C 3F 78 6D</code>: UTF-8, ISO 646, ASCII, ISO 8859Ìep[gCShift-JISCEUCCÀÑÉCÓ̼Ì7rbgC8rbgͬÝ̻ŠÁÄCASCII¶ðÊíÌÊuCyÑlÆ·é±ÆðÛØ·éàÌB±êçÌÇêÉηé©ðo·é½ßÉÍCÀÛÌ»é¾ðÇÝÜȯêÎÈçÈ¢Bµ©µC±êç·×ÄÌ»ÍCASCII¶Éεį¶rbgp^[ðgp·éÌÅC»é¾©ÌÍC³mÉÇÝÂ\Æ·éB |
| </p> |
| </item> |
| <item> |
| <p>j) <code>4C 6F A7 94</code>: EBCDIC (Í»ÌÏíBÇÌR[hy[Wðgp·é©ðmé½ßÉÍC»é¾SÌðÇÝÜêȯêÎÈçÈ¢B)</p> |
| </item> |
| <item> |
| <p>k) »Ì¼: »é¾ÈµÌUTF-8B»¤ÅȢƫÉÍCf[^&stream;ªóêÄ¢é©CfÐIÉÈÁÄ¢é©C½ç©Ì`®Éµ½ªÁÄßÜêÄ¢éB</p> |
| </item> |
| </ulist> |
| </p> |
| <p> |
| ±ÌöxÌ©®»ÊÅàCXMLÌ»é¾ðÇÝÝC¶»Ì&identifier;ððÍ·éÉÍ\ªÆ·éB&identifier;ÌðÍÍCÞ·éeXÌ»ÌêÂêÂðæÊ·é½ßÉKvÆ·é(á¦ÎCUTF-8yÑ8859ðæÊ·é½ßC8859Ìep[gðæÊ·é½ßCgpµÄ¢éÁèÌEBCDICR[hy[WðæÊ·é½ßCÈÇB)B |
| </p> |
| <p> |
| »é¾ÌàeðASCII¶ÉÀèµÄ¢éÌÅCÇ̪ÞÌ»ðgp·é©ðo·êÎC&processor;ÍC»é¾SÌð³mÉÇÝޱƪūéB»ÀâèƵÄCLgp³êĢ鶻ÍCã̪ÞÌ¢¸ê©É ÄÍÜéÌÅCIy[eBOVXeÍ`vgRª^¦éOîñðMsÂ\Èƫų¦àCàxŶ»ð©Èè³mɦ·±ÆªCXML»é¾ÉæÁÄÂ\ÆÈéB |
| </p> |
| <p> |
| &processor;ªgp·é¶»ðoµ³¦·êÎC»ê¼êÌêÉεÄÊÂÌüÍ[`ðÄÑo·CÍüÍ·ée¶ÉεKØÈÏ·ÖðÄÑo·±ÆÉæÁÄCKØÈ®ìªÂ\ÆÈéB</p> |
| <p> |
| ©ª©ÌÉxt¯ð·é¢©ÈéVXeÅà¯l¾ªC\tgEFAªC»é¾ðXV¹¸ÉÀÌ̶WÍ»ðϦ½ÈçÎCXMLÌ»é¾ÍC@\µÈ¢B¶»[`ÌÀÒÍCÀÌÌxt¯Égp·éàyÑOÌîñ̳m³ÌÛØÉÓ·é̪]ܵ¢B |
| </p> |
| <p>QÔÚÌêÍCXMLÌÀÌ̼ÉC»îñª¶Ý·éÆ«Å ÁÄC¢Â©Ìt@CVXeyÑlbg[NvgRÅÍC»Ì»îñª¶Ý·éB¡ÌîñªpÅ«éÆ«C<!-- (e.g. both the |
| internal encoding declaration and an external label), -->»êçÌÎIÈDæxyÑ»ê窵µ½Æ«Ì]ܵ¢û@ÍCXMLÌzÉgp·éCæè
ÌvgRÌêƵÄKö·é̪æ¢Bá¦ÎCàxyÑO&header;ɶݷéMIME`®ÌxÌÎIÈDæxÉηéK¥ÍCtext/xmlyÑapplication/xmlÌMIME^ðè`·éRFC¶ÌêÆÈéûªæ¢Bµ©µCÝ^p«Ì½ßÉCÌK¥É]¤±Æª]ܵ¢B |
| <ulist> |
| <item><p>a) XMLÌÀ̪t@CɶݷêÎC&byte-order-mark;yÑ»é¾PIÍC(¶Ý·êÎ)¶»ðè·é½ßÉgp·éB¼Ì·×ÄÌ&hueristics;yÑîñÍC&error;ñ̽߾¯Ép¢éB |
| </p></item> |
| <item><p>b) XMLÌÀÌðMIME^text/xmlÅz·éÆ«ÍC±ÌMIME^ÌàÂcharsetp^ª¶»û@ðè·éB¼Ì·×ÄÌ&hueristics;yÑîñÍC&error;ñ̽߾¯Ép¢éB |
| </p></item> |
| <item><p>c) XMLÌÀÌð <!-- via the HTTP protocol -->MIME^application/xmlÅz·éÆ«ÍC&byte-order-mark;yÑ»é¾PIð(¶Ý·êÎ)¶»Ìè̽ßÉgp·éB¼Ì·×ÄÌ&hueristics;yÑîñÍ&error;ñ̽߾¯Ép¢éB |
| </p></item> |
| </ulist> |
| ±êçÌK¥ÍCvgRÉ¢ÄÌ¿ªÈ¢Æ«É¾¯p¢éBÁÉCMIME^text/xmlyÑapplication/xmlðè`µ½çC±êçðKè·éRFCɶݷéKèªC±êçÌK¥ÉæÁÄãíéB |
| </p> |
| </inform-div1> |
| <!-- |
| <div1 id='sec-trival-grammar'> |
| <head>A Trivial Grammar for XML Documents</head> |
| <p>The grammar given in the body of this specification is relatively |
| simple, but for some purposes it is convenient to have an even simpler |
| one. |
| A very simple, though non-conforming, <termref def="dt-xml-proc">XML |
| processor</termref> could parse a <termref |
| def="dt-wellformed">well-formed</termref> XML document using the |
| following simplified grammar, recognizing all element boundaries |
| correctly, though not expanding entity references and not detecting |
| all errors: |
| |
| <scrap lang="ebnf"> |
| <head>Trivial text grammar</head> |
| <prodgroup pcw2="5.5" pcw4="17" pcw5="10"> |
| <prod id='NT-simpleDoc'><lhs>simpleDoc</lhs> |
| <rhs>(<nt def='NT-SimpleData'>SimpleData</nt> |
| | <nt def='NT-Markup'>Markup</nt>)*</rhs></prod> |
| <prod id="NT-SimpleData"><lhs>SimpleData</lhs> |
| <rhs>[^<&]*</rhs> |
| <com>cf. PCData</com> |
| </prod> |
| <prod id="NT-SimpleLit"><lhs>SimpleLit</lhs> |
| <rhs>('"' [^"]* '"')</rhs> |
| <rhs>| ("'" [^']* "'")</rhs> |
| <com>cf. SkipLit</com> |
| </prod> |
| <prod id='NT-Markup'><lhs>Markup</lhs> |
| <rhs>'<' <nt def='NT-Name'>Name</nt> |
| (<nt def='NT-S'>S</nt> |
| <nt def='NT-Name'>Name</nt> |
| <nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>? |
| <nt def='NT-SimpleLit'>SimpleLit</nt>)* |
| <nt def='NT-S'>S</nt>? '>'</rhs><com>start-tags </com> |
| <rhs>| '<' <nt def='NT-Name'>Name</nt> |
| (<nt def='NT-S'>S</nt> |
| <nt def='NT-Name'>Name</nt> |
| <nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>? |
| <nt def='NT-SimpleLit'>SimpleLit</nt>)* |
| <nt def='NT-S'>S</nt>? '/>'</rhs><com>empty elements</com> |
| <rhs>| '</' |
| <nt def='NT-Name'>Name</nt> |
| <nt def='NT-S'>S</nt>? '>'</rhs> |
| <com>end-tags </com> |
| <rhs>| '&' <nt def='NT-Name'>Name</nt> ';'</rhs> |
| <com>entity references </com> |
| <rhs>| '&#' [0-9]+ ';'</rhs> |
| <com>decimal character references </com> |
| <rhs>| '&hcro;' [0-9a-fA-F]+ ';'</rhs> |
| <com>hexadecimal character references </com> |
| <rhs>| '<!&como;' |
| (<nt def='NT-Char'>Char</nt>* - |
| (<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*)) |
| '&comc;>'</rhs> |
| <com>comments </com> |
| <rhs>| '<?' |
| (<nt def='NT-Char'>Char</nt>* - |
| (<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*)) |
| '&pic;'</rhs> |
| <com>processing instructions </com> |
| <rhs>| '<![CDATA[' |
| (<nt def='NT-Char'>Char</nt>* - |
| (<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-Char'>Char</nt>*)) |
| ']]>'</rhs> |
| <com>CDATA sections</com> |
| <rhs>| '<!DOCTYPE' |
| (<nt def="NT-Char">Char</nt> - ('[' | ']'))+ |
| ('[' |
| <nt def="NT-simpleDTD">simpleDTD</nt>* |
| ']')? '>'</rhs> |
| <com>doc type declaration</com> |
| </prod> |
| <prod id="NT-simpleDTD"><lhs>simpleDTD</lhs> |
| <rhs>'<!&como;' |
| (<nt def='NT-Char'>Char</nt>* - |
| (<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*)) |
| '&comc;>'</rhs> |
| <com>comment </com> |
| <rhs>| '<?' |
| (<nt def='NT-Char'>Char</nt>* - |
| (<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*)) |
| '&pic;'</rhs> |
| <com>processing instruction </com> |
| <rhs><nt def="NT-SimpleLit">SimpleLit</nt></rhs> |
| <rhs>(<nt def="NT-Char">Char</nt> - (']' | '<' | '"' | "'"))+ |
| </rhs> |
| |
| <rhs>'<!' (<nt def="NT-Char">Char</nt> - ('-'))+</rhs> |
| <com>declarations other than comment</com> |
| </prod> |
| </prodgroup> |
| </scrap> |
| Most processors will require the more complex |
| grammar given in the body of this specification. |
| |
| </p> |
| </div1> |
| --> |
| |
| <inform-div1 id="sec-xml-wg"> |
| <head>&informative;W3C XML [LOO[v</head> |
| |
| <p>±Ì&TR-or-Rec;ÍCW3C XML [LOO[v(WG)ªõµCöJð³Fµ½BWGª±Ì&TR-or-Rec;ð³F·éÆ¢¤±ÆÍCWGÌ·×ÄÌÏõª³F[ðsÁ½Æ¢¤±ÆðK¸µàÓ¡µÈ¢BXML WGÌ»ÝÌÏõyÑÈOÌÏõðɦ·B</p> |
| |
| <!-- parens and spaces removed from role elements by bosak 1997.11.07 --> |
| <orglist> |
| <member><name>Jon Bosak, Sun</name><role>Chair</role></member> |
| <member><name>James Clark</name><role>Technical Lead</role></member> |
| <member><name>Tim Bray, Textuality and Netscape</name><role>XML Co-editor</role></member> |
| <member><name>Jean Paoli, Microsoft</name><role>XML Co-editor</role></member> |
| <member><name>C. M. Sperberg-McQueen, U. of Ill.</name><role>XML Co-editor</role></member> |
| <member><name>Dan Connolly, W3C</name></member> |
| <member><name>Steve DeRose, INSO</name></member> |
| <member><name>Dave Hollander, HP</name></member> |
| <member><name>Eliot Kimber, Highland</name></member> |
| <member><name>Eve Maler, ArborText</name></member> |
| <member><name>Tom Magliery, NCSA</name></member> |
| <member><name>Murray Maloney, Muzmo and Grif</name></member> |
| <member><name>ºc@^Cxm[bNXîñVXe()</name></member> |
| <member><name>Joel Nava, Adobe</name></member> |
| <member><name>Peter Sharpe, SoftQuad</name></member> |
| <member><name>John Tigue, DataChannel</name></member> |
| </orglist> |
| |
| </inform-div1> |
| </back> |
| </spec> |
| <!-- Keep this comment at the end of the file |
| Local variables: |
| mode: sgml |
| sgml-omittag:t |
| sgml-shorttag:t |
| End: |
| --> |
| |
| |