Maps

{01} document (no enclosing structures – describes logical document structure):

         {01.1}
----- Prolog ... {22}
       | {01.2}
      element ... {39}
       | {01.3}
      Misc * ... {27}

<?XML version="1.0"?>
					<!-- start document type -->
					<!DOCTYPE mybook SYSTEM "mybook.dtd">
					<!-- start actual document -->
					<mybook> ... </mybook>
					<!-- end document -->
					<?END my end of file processing instruction ?>
				

{02} Char (Character) {15.1} {16.3} {20.1} {65.1} {S37.1} (also a general description of the characters allowed in a document):

----- #x0009 (tab)
  |
  --- #x000a (line-feed)
  |
  --- #x000d (carriage return)
  |
  --- #x0020 > #xD7FF
  |
  --- #xE000 > #xFFFD
  |
  --- #x10000 > #x10FFFF

{03} S (Space) {16.2} {23.4} {24.1} {25.1 .2} {27.3} {28.1 .3 .5 .8 .9} {31.4} {32.1} {40.2 .4} {42.2} {44.2 .4} {45.1 .3 .5} {49.1 .3 .4 .6} {50.1 .3 .4 .6} {51.1 .2 .3 .4 .5 .7} {52.1 .3 .5} {53.1 .3 .5} {58.1 .2 .4 .5 .7} {60.1} {62.1 .2} {63.1 .2} {71.1 .3 .5} {72.1 .2 .4 .6} {75.1 .3 .5} {76.1 .2} {77.3} {80.1} {82.1 .3 .6} {83.1}:

-----
    |
(repeatable)
    |
    --- #x0020 (space)
    |
    --- #x000a (line-feed)
    |
    --- #x000d (carriage return)
    |
    --- #x0009 (tab)

{04} NameChar (Name Character) {05.2 .3 .4} {07.1}:

       {04.1}
----- Letter ... {84}
  |    {04.2}
  --- Digit ... {88}
  |    (04.3}
  --- CombiningChar ... {87}
  |    (04.4}
  --- Extender ... {89}
  |
  --- '.'
  |
  --- '-'
  |
  --- '_'
  |
  --- ':'

{05} Name {06.1 .3} {17.1} {28.2} {40.1} {41.1} {42.1} {44.1} {45.2} {48.1} {51.6} {52.2} {53.2} {58.3 .6} {59.1 .3 .4 .6} {68.1} {69.1} {71.2} {72.3} {76.3} {82.2}:

          {05.1}
----- Letter ... {84}
  |    |  {05.2}
  |   Namechar * ... {04}
  |
  --- "_"
  |    |  (05.3}
  |   NameChar * ... {04}
  |
  --- ":"
       |  (05.4}
      NameChar * ... {04}

1. My•Name
2. _MyName
3. :SPECIAL
				

{06} Names (not part of any other rule – however, TokenizedType{56} refers to 'IDREFS' content, which is of type Names):

          {06.1}
----- Name ... {05}
       |
   (optional)
					(repeatable)
       |
    (space character)
       |  {06.3}
      Name ... {05}

Note

This was removed in the second edition of XML to allow only space characters between names, instead of any whitespace character.


1. MyName
2. My_Name Another_Name
				

{07} Nmtoken (Name Token) {08.1 .3} {59.2 .5}:

          {07.1}
----- NameChar + ... {04}

66_Token
				

{08} Nmtokens (Name Tokens) (not part of any other rule – however, TokenizedType{56} refers to 'NMTOKENS' content):

          {08.1}
----- Nmtoken ... {07}
       |
  (optional)
					(repeatable)
       |
     (Space character)
       |  {08.3}
      Nmtoken ... {07}

Note

This was removed in the second edition of XML to allow only space characters between tokens, instead of any whitespace character.


1. 66_Token
2. 66_Token Another_Token
				

{09} EntityValue {73.1} {74.1}:

----- " " "
   |    |
   |    ----
   |        |
   |   (optional)
   |  (repeatable)
   |        |
   |        ---(text except for '%', '&' and '"')
   |        |       {09.1}
   |        --- PEReference ... {69}
   |        |       {09.2}
   |        --- Reference ... {67}
   |        |
   |        ----
   |            |
   |          " " "
 " ' "
   |
    ----
        |
   (optional)
					(repeatable)
        |
        ---(text except for '%', '&' and ' ' ')
        |       {09.3}
        --- PEReference ... {69}
        |       {09.4}
        --- Reference ... {67}
        |
        ----
            |
          " ' "

1. "An entity value"
2. 'an entity value with %paramRef; and &reference; in it'
				

{10} AttValue (Attribute Value) {41.3} {60.2}:

----- " " "
   |    |
   |    ----
   |        |
   |   (optional)
   |  (repeatable)
   |        |
   |        ---(text except for '<', '&' and '"')
   |        |       {10.1}
   |         --- Reference ... {67}
   |        |
   |        ----
   |            |
   |          " " "
 " ' "
   |
    ----
        |
    (optional)
					(repeatable)
        |
        ---(text except for '<', '&' and '"')
        |       {10.2}
        --- Reference ... {67}
        |
        ----
            |
          " ' "

1. "An attribute value"
2. 'the % is not significant'
				

{11} SystemLiteral {75.2 .6}:

----- " " "
   |    |
   | (chars except for " " ")
   |    |
   |  " " "
 " ' "
   |
(chars except for " ' ")
   |
 " ' "

1. "C:DTDSMyDoc.DTD"
2. 'C:DTDSMyDoc.DTD'
				

{12} PubidLiteral (Public Identifier Literal) {75.4} {83.2}:

----- " " "
   |    |  {12.1}
   |  PubidChar * ... {13}
   |    |
   |  " " "
 " ' "
   | {12.2}
 PubidChar * (except for " ' ") ... {13}
   |
 " ' "

1. "The Big DTD"
2. 'Another DTD Version 1.4'
3. '-//MyCorp/ENTITIES My Entities/EN'
				

{13} PubidChar (Public Identifier Character) {12.1 .2}:

----- #x000a (line-feed)
  |
  --- #x000d (carriage return)
  |
  --- #x0020 (space)
  |
  --- "a - z" "A - Z" "0 - 9"
  |
  --- " -'()+,./:=?;!*#@$_% "

{14} CharData (Character Data) {43.1 .3 .5 .7 .9 .11}:

----- (not '<', '&' or ']]>')
					This is character data
				

{15} Comment {27.1} {29.6} {43.10}:

----- "<!--"
       | {15.1}
      Char * (except "--") ... {02}
       |
      "-->"

<!--A Comment, characters < & % are all ignored-->
				

{16} PI (Processing Instruction) {27.1} {29.5} {43.8}:

----- "<?"
       | {16.1}
      PITarget ? ... {17}
       | {16.2}
      S ... {03}
       | {16.3}
      Char * (not including "?>") ... {02}
       |
      "?>"
<?MyInstruct AVOID ? BEFORE > IN PI ?>
				

{17} PITarget (Processing Instruction Target) {16.1}:

       {17.1}
----- Name (not including "xml" or "XML") ... {05}

MyInstruct
				

{18} CDSect (Character Data Section) {43.6}:

         {18.1}
----- CDStart ... {19}
       | {18.2}
      CData ... {20}
       | {18.3}
      CDEnd ... {21}

<![CDATA[This is <normal> text]]>
				

{19} CDStart (Character Data Start) {18.1}:

----- "<![CDATA["

<![CDATA[
				

{20} CData (Character Data) {18.2}:

       {20.1}
----- Char * (excluding "]]>") ... {02}

This is <normal> text
				

{21} CDEnd (Character Data End) {18.3}:

----- "]]>"

]]>
				

{22} Prolog {01.1}:

         {22.1}
----- XMLDecl ? ... {23}
       | {22.2}
      Misc * ... {27}
       |
  (optional)
       | {22.3}
      doctypedecl ? ... {28}
       | {22.4}
      Misc * ... {27}

<?XML version="1.0"?>
					<!-- start document type -->
					<!DOCTYPE mybook SYSTEM "mybook.dtd">
					^^^<!-- start actual document -->^^<?SHOW Show this message?>^
				

{23} XMLDecl (XML Declaration) {22.1}:

----- "<?xml"
         | {23.1}
        VersionInfo ... {24}
         | {23.2}
        EncodingDecl ? ... {80}
         | {23.3}
        SDDecl ? ... {32}
         | {23.4}
        S (Space) ? ... {03}
         |
       "?>"

1. <?XML version="1.0"?>
2. <?XML version='1.0' encoding="UTF-8" ?>
3. <?XML version='1.0' encoding="UTF-8" standalone="yes" ?>
				

{24} VersionInfo {23.1}:

         {24.1}
----- S (Space) ... {03}
       |
     "version"
       | {24.2}
      Eq (Equals) ... {25}
       |
       ----- " " "
       |       | {24.3}
       |     VersionNum ... {26}
       |       |
       |     " " "
       |
     " ' "
       | {24.4}
      VersionNum ... {26}
       |
     " ' "

Note

This was changed in the second edition of XML to make it clearer.


1. VERSION="1.0"
2. version = '1.0'
				

{25} Eq (Equals) {24.2} {32.2} {41.2} {80.2}:

          {25.1}
----- S (Space) ? ... {03}
       |
      "="
       |  {25.2}
      S (Space) ? ... {03}

{26} VersionNum {24.3 .4}:

-----
      |
 (repeatable)
      |
      --- "a - z" "A - Z" "0 - 9"
      |
      --- " - "

1. 1.0
2. 1.1
3. version X99
				

{27} Misc (Miscellaneous) {01.3} {22.2 .4}:

       {27.1}
----- Comment ... {15}
  |    {27.2}
  --- PI (Processing Instruction) ... {16}
  |    {27.3}
  --- S (Space) ... {03}

1. <!-- end document -->
2. <?MY-PROC my processing instruction ?>
3. ^^^
				

{28} doctypedecl (document type declaration) {22.3}:

----- "<!DOCTYPE"
       |  {28.1}
      S (Space) ... {03}
       |  {28.2}
      Name ... {05}
       |
       |-----
       |     | {28.3}
       |    S (Space) ... {03}
       |     | {28.4}
       |    ExternalID ... {75}
       |     |
        -----|
             | {28.5}
            S ? (Space) ... {03}
             |
             |-----
             |     |
             |    "["
             |     |
             | (repeatable)
             |     |         {28.6}
             |     --- markupdecl ... {29}
             |     |         {28.7}
             |     --- PEreference ... {69}
             |     |         {28.8}
             |     --- S (Space) ... {03}
             |     |
             |      -----
             |           |
             |          "]"
             |           | {28.9}
             |          S ? (Space) ... {03}
             |           |
              ----------------
                              |
                             ">"

1. <!DOCTYPE mybook>
2. <!DOCTYPE mybook SYSTEM "mybook.dtd">
3. <!DOCTYPE mybook SYSTEM "mybook.dtd" [ ... ] >
4. <!DOCTYPE mybook [ ... ] >
5. <!DOCTYPE mybook PUBLIC "MyPublicId" "mybook.dtd" [ ... ]>
6. <!DOCTYPE mybook PUBLIC "-//MyCorp//DTD My Book//EN" "mybook.dtd">
				

{29} markupdecl (Markup Declaration) {28.6} {31.1}:

-----
     |
 (optional)
					(repeatable)
     |    {29.1)
     --- elementdecl ... {45}
     |    {29.2}
     --- AttlistDecl ... {52}
     |    {29.3}
     --- EntityDecl ... {70}
     |    {29.4}
     --- NotationDecl ... {82}
     |    {29.5}
     --- PI ... {16}
     |    {29.6}
     --- Comment ... {15}

<?SHOW formatted?>
					<!NOTATION ......>
					^^^<!-- DTD fragment -->
					%OtherDecs;
					<!ENTITY ...>
<!ELEMENT ...>
					<!ATTLIST ...>
				

{30} extSubset (External Subset) (no enclosing structures – the DTD file) :

         {30.1}
--- TextDecl ? ... {77}
      |  {30.2}
    extSubsetDecl ... {31}

<!xml version="1.0" encoding="ISO-8859-1">
					<!NOTATION ......>
					<!ELEMENT ...>
					%elementSet;<!ATTLIST ...>
					<![IGNORE[
					<!ELEMENT ...>]
					]]>
				

{31} extSubsetDecl (External Subset Declaration) {30.2} {62.3} {79.2}:

------
       |
   (optional)
					(repeatable)
       |     {31.1}
       --- MarkupDecl  ... {29}
       |     {31.2}
       --- conditionalSect ... {61}
       |     {31.3}
       --- PEReference ... {69}
       |     {31.4}
       --- S (Space) ... {03}

<!NOTATION ......>
					<!ELEMENT ...>
					%elementSet;
					<!ATTLIST ...>
					<![IGNORE[
					<!ELEMENT ...>
					]]>
				

{32} SDDecl (Standalone Document Declaration) {23.3}:

          {32.1}
----- S (Space) ... {03}
       |
     "standalone"
       |  {32.2}
      Eq (Equals) ... {25}
       |
       |----------------------
       |                      |
     " " "                  " ' "
       |                      |
       --- "yes" -----        --- "yes" -----
       |               |      |               |
       --- "no" -------|      --- "no" -------|
                       |                      |
                     " " "                  " ' "

1. standalone="no"
2. ^^^standalone = 'yes'
				

{33} LanguageID (Language Identifier) (no enclosing structures – the value of the 'xml:lang' attribute, as described in RFC 1766):

           {33.1}
----- Langcode ... {34}
        |
     (optional)
					(repeatable)
        |
       "-"
        |  {33.2}
       Subcode ... {38}

Note

This was removed in the second edition of XML. The standards IETF RFC 1766 and ISO 639 are referenced instead.


1. en
2. en-GB
3. i-Yiddish
4. x-MyCode
				

{34} Langcode (Language Code) {33.1}:

           {34.1}
------ ISO639Code ... {35}
   |       {34.2}
   --- IanaCode ... {36}
   |       {34.3}
   --- UserCode ... {37}

Note

This was removed in the second edition of XML. The standards IETF RFC 1766 and ISO 639 are referenced instead.


1. en
2. i-Yiddish
3. x-Cardassian
				

{35} ISO639Code {34.1}:

-----  "a - z" "A - Z"
          |
       "a - z" "A - Z"

Note

This was removed in the second edition of XML. The standards IETF RFC 1766 and ISO 639 are referenced instead.


1. en
2. fr
				

{36} IanaCode {34.2}:

-----  "i"
   |     |
  "I"    |
   |     |
    -----|
         |
        "-"
         |
        "a - z" "A - Z"

Note

This was removed in the second edition of XML. The standards IETF RFC 1766 and ISO 639 are referenced instead.


1. i-Yiddish
2. I-Yiddish
				

{37} UserCode {34.3}:

-----  "x"
   |     |
  "X"    |
   |     |
    -----|
         |
        "-"
         |
        "a - z" "A - Z" +

Note

This was removed in the second edition of XML. The standards IETF RFC 1766 and ISO 639 are referenced instead.


1. x-Cardassian
2. X-Cardassian
				

{38} Subcode {33.2}:

----- "a - z" "A - Z" +

Note

This was removed in the second edition of XML. The standards IETF RFC 1766 and ISO 639 are referenced instead.


					GB
				

{39} element {01.2} {43.2}:

         {39.1}
----- EmptyElemTag ... {44}
  |      {39.2}
  --- STag ... {40}
       | {39.3}
      content ... {43}
       | {39.4}
      ETag ... {42}

1. <image name="image13"/>
2. <para>Some content</para>
3. <para></para>
4. <para/>
				

{40} STag (Start Tag) {39.2}:

----- "<"
       |  {40.1}
     Name ... {05}
       |
       -----
       |    |
       | (repeatable)
       |    |  {40.2}
       |   S (Space) ... {03}
       |    |  {40.3}
       |   Attribute ... {41}
       |    |
        -------
               |  {40.4}
              S (Space) ? ... {03}
               |
              ">"

1. <emph>
2. <emph type="2">
3. <emph type = "2" style = "bold" >
				

{41} Attribute {40.3} {44.3}:

         {41.1}
----- Name ... {05}
       | {41.2}
      Eq (Equals) ... {25}
       | {41.3}
      AttValue ... {10}

1. type="2"
1. border = '5mm 10mm 2" 3"'
				

{42} ETag (End Tag) {39.4}:

----- "</"
        | {42.1}
       Name ... {05}
        | {42.2}
       S ? (Space) ... {03}
        |
       ">"

1. </emph>
2. </emph >
				

{43} content {39.3} {78.2}:

-----
     |    {43.1}
     --- CharData ? ... {14}
     |
 (optional)
					(repeatable)
     |    {43.2}
     --- element ... {39}
     |      |     {43.3}
     |      --- CharData ? ... {14}
     |    {43.4}
     --- Reference ... {67}
     |      |     {43.5}
     |      --- CharData ? ... {14}
     |    {43.6}
     --- CDSect ... {18}
     |      |     {43.7}
     |      --- CharData ? ... {14}
     |    {43.8}
     --- PI ... {16}
     |      |     {43.9}
     |      --- CharData ? ... {14}
     |    {43.10}
     --- Comment ... {15}
     |      |     {43.11}
     |      --- CharData ? ... {14}

Note

This was edited in the second edition of XML. The position of character data is made clearer now.


					<!-- Some Content -->
					<?ACME-WP  new_page ?>
					<para>
					An entity reference, such as &ref;, is not recognised in
when <![CDATA[appearing in here]]>.
					</para>
				

{44} EmptyElemTag {39.1}:

----- "<"
       |  {44.1}
     Name ... {05}
       |
       -----
       |    |
       | (repeatable)
       |    |  {44.2}
       |   S (Space) ... {03}
       |    |  {44.3}
       |   Attribute ... {41}
       |    |
        -------
               |  {44.4}
              S (Space) ? ... {03}
               |
              "/>"

1. <revisionStart/>
2. <image name="image13" />
				

{45} elementdecl (element declaration) {29.1}:

----- "<!ELEMENT"
        |  {45.1}
       S (Space) ... {03}
        |  {45.2}
       Name ... {05}
        |  {45.3}
       S (Space) ... {03}
        |  {45.4}
       contentspec ... {46}
        |  {45.5}
       S ? (Space) ... {03}
        |
       ">"]

Note

An entity reference that contains nothing may appear after the name (because it is then just part of the space). It is included to allow the entity to contain SGML tag omission indicators, '- O', in an SGML variant of the same DTD.


1. <!ELEMENT image EMPTY>
2. <!ELEMENT para (#PCDATA | sub | super)* >
3. <!ELEMENT %para; (#PCDATA | sub | super)* >
4. <!ELEMENT para %paraContent;>
				

{46} contentspec (content specification) {45.4}:

-------- "EMPTY"
      |
      --- "ANY"
      |     {46.1}
      --- Mixed ... {51}
      |     {46.2}
      --- children ... {47}

1. EMPTY
2. ANY
3. (#PCDATA | sub | super)*
4. (title, para*)
				

{47} children {46.2}:

         {47.1}
----- choice ... {49}
  |     |
  |      --47-------------------
  |      {47.2}                 |
  |-- seq (sequence) ... {50}   |
       |                        |
        ------------------------|
                                |
                                --- "?"
                                |
                                --- "*"
                                |
                                --- "+"
                                |
                                *

1. (name, address, telphone)
2. (para | list)*
				

{48} cp (content particle) {49.2 .5} {50.2 .5}:

         {48.1}
----- Name ... {05}
  |     |
  |      -----------------------
  |      {48.2}                 |
  --- choice ... {49}           |
  |     |                       |
  |      -----------------------|
  |      {48.3}                 |
  --- seq (sequence) ... {50}   |
        |                       |
         -----------------------|
                                |
                                --- "?"
                                |
                                --- "*"
                                |
                                --- "+"
                                |
                                *

1. address
2. address+
1. (..., ..., ...)
2. (... | ...)*
				

{49} choice {47.1} {48.2}:

----- "("
       | {49.1}
      S ?(Space) ... {03}
       | {49.2}
      cp ... {48}
       |
       -------
       |      |
       | (repeatable)
       |      | {49.3}
       |     S ? (Space) ... {03}
       |      |
       |     "|"
       |      | {49.4}
       |     S ? (Space) ... {03}
       |      | {49.5}
       |     cp ... {48}
       |      |
        ---------
                 | {49.6}
                S ? (Space) ... {03}
                 |
                ")"

Note

This was improved in the second edition of XML.


1. (para|list)
2. ( para | Nlist | Alist )
3. ( para | %listTypes; )
4. ( company | (firstname, secondname) )
				

{50} seq (sequence) {47.2} {48.3}:

----- "("
       | {50.1}
      S ?(Space) ... {03}
       | {50.2}
      cp ... {48}
       |
       -------
       |      |
       | (repeatable)
       |      | {50.3}
       |     S ? (Space) ... {03}
       |      |
       |     ","
       |      | {50.4}
       |     S ? (Space) ... {03}
       |      | {50.5}
       |     cp ... {48}
       |      |
        ---------
                 | {50.6}
                S ? (Space) ... {03}
                 |
                ")"

Note

This model was improved in the second edition of XML.


1. (para)
2. ( %paraType; )
3. ( name, address, tel )
4. (name, %addrType;, tel)
5. (title, (para | note)* )
				

{51} Mixed (mixed content) {46.1}:

------ "("
   |    | {51.1}
   |   S ? (Space) ... {03}
   |    |
   |   "#PCDATA"
   |    | {51.2}
   |   S ? (Space) ... {03}
   |    |
   |   ")"
   |
  "("
   | {51.3}
  S ? (Space) ... {03}
   |
  "#PCDATA"
   |
   |-----
   |     |
   | (repeatable)
   |     | {51.4}
   |    S ? (Space) ... {03}
   |     |
   |    "|"
   |     | {51.5}
   |    S ? (Space) ... {03}
   |     | {51.6}
   |    Name ?  ... {05}
   |     | 
    -----------
               | {51.7}
              S ? (Space) ... {03}
               |
              ")*"

1. (#PCDATA)
2. ( #PCDATA )
3. ( %someMixedContent; )*
4. (#PCDATA|emph)*
5. (#PCDATA | emph | code | name)*
6. (#PCDATA | emph | %other; | name)*
				

{52} AttlistDecl (Attribute list Declaration) {29.2}:

----- "<!ATTLIST"
       | {52.1}
      S (Space) ... {03}
       | {52.2}
      Name ... {05}
       | {52.3}
      S ? (Space) ... {03}
       | {52.4}
      AttDef * ... {53}
       | {52.5}
      S ? (Space) ... {03}
       |
      ">"

1. <!ATTLIST report date   NMTOKEN       #REQUIRED
					author CDATA         #IMPLIED
					status (draft|final) "draft"  >
2. <!ATTLIST %para  type   CDATA         "normal"
					%otherAttrib;                 >
				

{53} AttDef (Attribute Definition) {52.4}:

         {53.1}
----- S (Space) ... {03}
       | {53.2}
      Name ... {05}
       | {53.3}
      S (Space) ... {03}
       | {53.4}
      AttType ... {54}
       | {53.5}
      S (Space) ... {03}
       | {53.6}
      DefaultDecl ... {60}

1. date NMTOKEN #REQUIRED
2. author CDATA #IMPLIED
3. status (draft|final) "draft" >
4. %colourAttName; %colourGroup; %colourDefault; >
				

{54} AttType (Attribute Type) {53.4}:

         {54.1}
----- StringType ... {55}
  |      {54.2}
  --- TokenizedType ... {56}
  |      {54.3}
  --- EnumeratedType ... {57}

1. CDATA
2. NMTOKEN
3. (draft|final)
4. NOTATION (Tex|TROFF)
				

{55} StringType {54.1}:

----- "CDATA"

{56} TokenizedType {54.2}:

----- "ID"
  |
  --- "IDREF"
  |
  --- "IDREFS"
  |
  --- "ENTITY"
  |
  --- "ENTITIES"
  |
  --- "NMTOKEN"
  |
  --- "NMTOKENS"

NMTOKEN
				

{57} EnumeratedType {54.3}:

          {57.1}
----- NotationType ... {58}
  |       {57.2}
  --- Enumeration ... {59}

1. NOTATION (Tex|TROFF)
2. (draft|final)
				

{58} NotationType {57.1}:

----- "NOTATION"
       | {58.1}
      S (Space) ... {03}
       |
      "("
       | {58.2}
      S ? (Space) ... {03}
       | {58.3}
      Name  ... {05}
       |
       -----
       |    |
       | (repeatable)
       |    | {58.4}
       |   S ? (Space) ... {03}
       |    |
       |   "|"
       |    | {58.5}
       |   S ? (Space) ... {03}
       |    | {58.6}
       |   Name  ... {05}
       |    |
        -------
               | {58.7}
              S ? (Space) ... {03}
               |
              ")"

1.NOTATION (Tex|TROFF)
2.NOTATION ( Tex | TROFF )
3.%NOTA; ( %imageFormats; | PostScript | %mathFormats; )
				

{59} Enumeration {57.2}:

----- "("
       | {59.1}
      S ? (Space) ... {03}
       | {59.2}
      Nmtoken ... {07}
       |
       -----
       |    |
       | (repeatable)
       |    | {59.3}
       |   S ? (Space) ... {03}
       |    |
       |   "|"
       |    | {59.4}
       |   S ? (Space) ... {03}
       |    | {59.5}
       |   Nmtoken ... {07}
       |    |
        -------
               | {59.6}
              S ? (Space) ... {03}
               |
              ")"

1.(Activate)
2.(yes|no)
3.( red | amber | green )
4.( %colours; )
				

{60} DefaultDecl {53.6}:

------ "#REQUIRED"
   |
   --- "#IMPLIED"
   |
   --------- "#FIXED"
      |        | {60.1}
      |       S (Space) ... {03}
      |        |
       --------|
               | {60.2}
              AttValue ... {10}

1. #REQUIRED
2. #IMPLIED
3. "giraffe"
4. %defaultAnimal;
5. #FIXED "giraffe"
				

{61} conditionalSect {31.2}:

       {61.1}
------ includeSect ... {62}
   |    {61.2}
   --- ignoreSect ... {63}

1. <![INCLUDE[ ... ]]>
2. <![ IGNORE  [ ... ]]>
				

{62} includeSect (included Section) {61.1}:

----- "<!["
       | {62.1}
      S ? (Space) ... {03}
       |
      "INCLUDE"
       | {62.2}
      S ? (Space) ... {03}
       |
      "["
       | {62.3}
      extSubsetDecl ... {31}
       |
      "]]>"

1. <![INCLUDE[ ...%decl1;...%decl2;... ]]>
2. <![%Switch;[ ... ]]> <!-- when entity value is "INCLUDE" -->
				

{63} ignoreSect (ignored Section) {61.2}:

----- "<!["
       | {63.1}
      S ? (Space) ... {03}
       |
      "IGNORE"
       | {63.2}
      S ? (Space) ... {03}
       |
      "["
       | {63.3}
      ignoreSectContents * ... {64}
       |
      "]]>"

1. <![IGNORE[ ...%decl1;...%decl2;... ]]>
2. <![ %Switch; [ ... ]]> <!-- when entity value is "IGNORE" -->
				

{64} ignoreSectContents (ignored Section Contents) {63.3} {64.2 (recursive)}:

         {64.1}
----- ignore ... {65}
       |
 (repeatable)
       |
     "<!["
       | {64.2}
      ignoreSectContents ... {64} (RECURSIVE)
       |
     "]]>"
       | {64.3}
      ignore ... {65}

Note

This rule calls itself, allowing nesting of ignored sections.


1. "ignore contents of this string"
2. ...<!-- a comment-->...
3. ...<?CODE new-page?>...
4. ...<![IGNORE[ ... <![IGNORE[...]]> ... ]]>...
				

{65} Ignore {64.1 .3}:

       {65.1}
----- Char * (but not '<![' or ']]>') ... {02}

This text must not contain consecutive "< ! [" or "]] >".
				

{66} CharRef (Character Reference) {67.2}:

----- "&#"
  |    |
  |   "0"-"9" +
  |    |
  |   ";"
  |
  --- "&#x"
       |
      "0"-"9" "a"-"f" "A"-"F" +
       |
      ";"

1. &#123;
2. &#xE2;
3. &#x7FFF;
				

{67} Reference {09.2 .4} {10.1 .2} {43.4}:

         {67.1}
----- EntityRef ... {68}
  |      {67.2}
  --- CharRef ... {66}

1. &myent;
2. &#123;
3. &#x7FFF;
				

{68} EntityRef (Entity Reference) {67.1}:

----- "&"
       |  {68.1}
      Name ... {05}
       |
      ";"

&myref;
				

{69} PEReference (Parameter Entity Reference) {09.1 .3} {28.7} {31.3}:

----- "%"
       |  {69.1}
      Name ... {05}
       |
      ";"

%myref;
				

{70} EntityDecl {29.3}:

         {70.1}
----- GEDecl ... {71}
  |      {70.2}
  --- PEDecl ... {72}

1. <!ENTITY myent     "a general entity" >
2. <!ENTITY myent     %someGeneralContent>
3. <!ENTITY %EntName; "a general entity">
4. <!ENTITY % myent     "a parameter entity" >
5. <!ENTITY % %otherEnt; "a parameter entity">
6. <!ENTITY % %otherEnt; %someParameterContent; >
				

{71} GEDecl (General Entity Declaration) {70.1}:

----- "<!ENTITY"
       | {71.1}
      S (Space) ... {03}
       | {71.2}
      Name ... {05}
       | {71.3}
      S (Space) ... {03}
       | {71.4}
      EntityDef ... {73}
       | {71.5}
      S (Space) ? ... {03}
       |
      ">"

1. <!ENTITY myent     "a general entity" >
2. <!ENTITY myent     %someGeneralContent;>
3. <!ENTITY %EntName; "a general entity" >
				

{72} PEDecl (Parameter Entity Declaration) {70.2}:

----- "<!ENTITY"
       | {72.1}
      S (Space) ... {03}
       |
      "%"
       | {72.2}
      S (Space) ... {03}
       | {72.3}
      Name ... {05}
       | {72.4}
      S (Space) ... {03}
       | {72.5}
      PEDef ... {74}
       | {72.6}
      S (Space) ? ... {03}
       |
      ">"

1. <!ENTITY % myent     "a parameter entity" >
2. <!ENTITY % %otherEnt; "a parameter entity">
3. <!ENTITY % %otherEnt; %someParameterContent; >
				

{73} EntityDef (Entity Definition) {71.4}:

         {73.1}
----- EntityValue... {09}
  |      {73.2}
  --- ExternalID ... {75}
       | {73.3}
      NDataDecl ? ... {76}

1. "this is my entity"
2. PUBLIC "-//MyCorp/TEXT My entity/EN" "/ents/myent.ent"
3. SYSTEM "file:///ents/myent.ent" NDATA cgm
				

{74} PEDef (Parameter Entity Definition) {72.5}:

         {74.1}
----- EntityValue... {09}
  |      {74.2}
  --- ExternalID ... {75}

1. "this is my entity"
2. PUBLIC "-//MyCorp/TEXT My entity/EN" "/ents/myent.ent"
3. SYSTEM "file:///ents/myent.ent"
				

{75} ExternalID {28.4} {73.2} {74.2} {82.4}:

----- "SYSTEM"
   |   | {75.1}
   |  S (Space) ... {03}
   |   | {75.2}
   |  SystemLiteral ... {11}
   |
   --- "PUBLIC"
        | {75.3}
       S (Space) ... {03}
        | {75.4}
       PubidLiteral ... {12}
        | {75.5}
       S (Space) ... {03}
        | {75.6}
       SystemLiteral ... {11}

1. SYSTEM "/ents/myent.ent"
2. PUBLIC "-//MyCorp/TEXT My entity/EN" "/ents/myent.ent"
				

{76} NDataDecl (Notational Data Declaration) {73.3}:

         {76.1}
----- S (Space) ... {03}
       |
      "NDATA"
       | {76.2}
      S (Space) ... {03}
       | {76.3}
      Name ... {05}

^^^NDATA TeX
				

{77} TextDecl (Text Declaration) {30.1} {78.1} {79.1}:

----- "<?xml"
       | {77.1}
      VersionInfo ? ... {24}
       | {77.2}
      EncodingDecl ... {80}
       | {77.3}
      S ? (Space) ... {03}
       |
      "?>"

Note

Describes optional information appearing at the top of each external XML format entity file.


1. <?XML encoding = "UTF-8"?>
2. <?XML VERSION="1.0" encoding = "UTF-8"?>
				

{78} extParsedEnt (external Parsed Entity) (no enclosing structures – well-formed entity containing a document fragment):

         {78.1}
----- TextDecl ? ... {77}
       | {78.2}
      content ... {43}

<?XML encoding = "UTF-8"?>
					<chapter>...</chapter>
				

{79} extPE (external Parameter Entity) (no enclosing structures – the external DTD or fragment of the DTD):

         {79.1}
----- TextDecl ? ... {77}
       | {79.2}
      extSubsetDecl ... {31}

<?XML version="1.0" encoding = "UTF-8"?>
					<!ELEMENT book ...>
					<!ATTLIST book ...>
					<!ELEMENT chapter ...>
				

{80} EncodingDecl (Encoding Declaration) {23.2} {77.2}:

         {80.1}
----- S (Space) ... {03}
       |
      "encoding"
       | {80.2}
      Eq (Equals) ... {25}
       |
       |--- " " "
       |      | {80.3}
       |     EncName ... {81}
       |      |
       |    " " "
       |      |
        ------|
              |
            " ' "
              | {80.4}
             EncName ... {81}
              |
            " ' "

1. encoding="UTF-8"
2. ^^^encoding = 'UTF-8'
				

{81} EncName {80.3 .4}:

----- "A"-"Z" "a"-"z"
       |
   (optional)
					(repeatable)
       |
       --- "A"-"Z" "a"-"z" "0"-"9"
       |
       --- "-"
       |
       --- "_"
       |
       --- "."

UTF-8
				

{82} NotationDecl (Notation Declaration) {29.4}:

----- "<!NOTATION"
       | {82.1}
      S (Space) ... {03}
       | {82.2}
      Name ... {05}
       | {82.3}
      S (Space) ... {03}
       | {82.4}
       |----- ExternalID ... {75}
       |          |
       | {82.5}    -------------
      PublicID ... {83}         |
       |                        |
        ------------------------|
                                |  {82.6}
                               S ? (Space) ... {03}
                                |
                               ">"

1. <!NOTATION  mynota  SYSTEM  "/nota/mynota.not"  >
2. <!NOTATION mynota PUBLIC "MY NOTATION" "/nota/mynota.not">
3. <!NOTATION mynota SYSTEM "">
4. <!NOTATION %aNotatName; SYSTEM "/nota/mynota.not">
5. <!NOTATION mynota &aNotatID;>
6. <!NOTATION %aNotatName; %aNotatID>
				

{83} PublicID (Public Identifier) {82.5}:

----- "PUBLIC"
       | {83.1}
      S (Space) ... {03}
       | {83.2}
      PubidLiteral ... {12}

Note

Describes optional information appearing at the top of each external XML format entity file.


1. <?XML encoding = "UTF-8"?>
2. <?XML VERSION="1.0" encoding = "UTF-8"?>
				

{84} Letter {04.1} {05.1}:

          {84.1}
----- BaseChar ... {85}
  |       {84.2}
  --- Ideographic ... {86}

Note

This rule is too large to illustrate in chart form – refer to the standard.


1. e
2. 
				

{85} BaseChar (Base Character) {84.1}:

----- (a large range of letters from many languages)

Note

This rule is too large to illustrate in chart form – refer to the standard.


{86} Ideographic {84.2}:

----- (various unicode character ranges)

Note

This rule is too large to illustrate in chart form – refer to the standard.


{87} CombiningChar (Combining Character) {04.3}:

----- (various unicode character accents, such as "´")

Note

This rule is too large to illustrate in chart form – refer to the standard.


{88} Digit {04.2}:

----- "0"-"9"
  |
  --- (various Unicode non-Arabic digits)

Note

This rule is too large to illustrate in chart form – refer to the standard.


{89} Extender {04.4}:

----- "•" (middle dot)
  |
  --- (various Unicode characters)

Note

This rule is too large to illustrate in chart form – refer to the standard.


..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.119.111.9