實(shí)體
有五種預(yù)定義的XML實(shí)體,HTML編碼者應(yīng)該熟悉。XML文檔中的字符、、>、"和'被分別表示為、@lt;、>、"和apos;。
XML很大程度上擴(kuò)展了實(shí)體的功能 - 允許在DTD中定義實(shí)體以便在文檔的其余部分使用。例如,我在XML文檔中需要頻繁使用詞組"Wired Digital",可以在DTD中這樣表示:
!ENTITY wd "Wired Digital">
這樣當(dāng)我使用這個詞組時,可以敲入wd;。于是可以避免拼錯和重復(fù)敲入相同的信息。實(shí)體可以起到字處理器中宏的作用。
被替換的文本可以任意長,但是如果真是很長,可能要把信息存儲在另一個文件中。可以通過外部實(shí)體參考來實(shí)現(xiàn) - 在實(shí)體名和文件的URL中使用關(guān)鍵字SYSTEM:
!ENTITY text SYSTEM "http://my.url.here">
這些特征功能強(qiáng)大,但有一個缺點(diǎn):在一個DTD內(nèi)不能被擴(kuò)展。為了實(shí)現(xiàn)擴(kuò)展功能,需要一個稱為參數(shù)實(shí)體的特殊工具。它在實(shí)體定義中通過在實(shí)體名前插入"%"實(shí)現(xiàn)。一旦被定義,參數(shù)定義可以通過用百分號和分號包圍參數(shù)名來實(shí)現(xiàn)。
為什么這么做?看看下面的代碼:
!ELEMENT vCard (%prop.man;, (%prop.id; | %prop.del; |
%prop.tel; | %prop.geo; | %prop.org; |
%prop.exp; | %prop.sec;)*)>
這段代碼來自一個公用的XML名片草稿。當(dāng)定義根元素時,作者發(fā)現(xiàn)更容易把信息分離到不同的參數(shù)實(shí)體中。如果看看其中的一個實(shí)體表現(xiàn),我們就會知道為什么了??纯聪旅娴膒rop.id實(shí)體:
!ENTITY % prop.id "
(nickname | photo | bday)">
如果每個實(shí)體都用這么長的字符串表示,元素定義將很難閱讀。
現(xiàn)在可以讀一些DTD了。
Jay Greenspan ISO-8859-1 Entities
Named
Entity Numeric
Entity Glyph Description
#00;-
unused
horizontaltab
linefeed
unused
space
! ! exclamationmark
" " " doublequotationmark
# # numbersign
$ $ dollarsign
% % percentsign
amperstand
' ' apostrophe
( ( leftparenthesis
) ) rightparenthesis
* * asterisk
+ + plussign
, , comma
- - hyphen
. . period(fullstop)
Named
Entity Numeric
Entity Glyph Description
/ / solidus(slash)
0-
9 digits0-9
: : colon
; ; semicolon
less-thansign
= = equalssign
> > > greater-thansign
? ? questionmark
@ @ commercialat
A-
Z letters A-Z
[ ][ leftsquarebracket
\ \ reversesolidus(backslash)
] ] rightsquarebracket
^ ^ caret
_ _ horizontalbar(underscore)
` ` acuteaccent
a-
z letters a-z
{ { leftcurlybrace
| | verticalbar
Named
Entity Numeric
Entity Glyph Description
} } rightcurlybrace
~ ~ tilde
-
Ÿ unused
non-breakingspace
¡ ¡ invertedexclamation
¢ ¢ centsign
£ £ poundsterling
¤ ¤ generalcurrencysign
¥ ¥ yensign
¦ ¦ brokenverticalbar
§ § sectionsign
¨ ¨ umlaut(dieresis)
© © © copyright
ª ª feminineordinal
« « leftanglequote, guillemotleft
¬ ¬ notsign
softhyphen
® ® registeredtrademark
¯ ¯ macronaccent
Named
Entity Numeric
Entity Glyph Description
° ° degreesign
± ± plusorminus
² ² superscripttwo
³ ³ superscriptthree
´ ´ acuteaccent
µ µ microsign
¶ ¶ paragraphsign
· · middledot
¸ ¸ cedilla
¹ ¹ superscriptone
º º masculineordinal
» » rightanglequote, guillemotright
¼ ¼ one-fourth
½ ½ one-half
¾ ¾ three-fourths
¿ ¿ invertedquestionmark
À À À uppercaseA, graveaccent
Á Á Á uppercaseA, acuteaccent
   uppercaseA, circumflexaccent
Named
Entity Numeric
Entity Glyph Description
à à à uppercaseA, tilde
Ä Ä Ä uppercaseA, dieresisorumlautmark
Å Å Å uppercaseA, ring
Æ Æ Æ uppercaseAEdipthong(ligature)
Ç Ç Ç uppercaseC, cedilla
È È È uppercaseE, graveaccent
É É É uppercaseE, acuteaccent
Ê Ê Ê uppercaseE, circumflexaccent
Ë Ë Ë uppercaseE, dieresisorumlautmark
Ì Ì Ì uppercaseI, graveaccent
Í Í Í uppercaseI, acuteaccent
Î Î Î uppercaseI, circumflexaccent
Ï Ï Ï uppercaseI, dieresisorumlautmark
Ð Ð Ð uppercaseEth, Icelandic
Ñ Ñ Ñ uppercaseN, tilde
Ò Ò Ò uppercaseO, graveaccent
Ó Ó Ó uppercaseO, acuteaccent
Ô Ô Ô uppercaseO, circumflexaccent
Õ Õ Õ uppercaseO, tilde
Named
Entity Numeric
Entity Glyph Description
Ö Ö Ö uppercaseO, dieresisorumlautmark
× × multiplysign
Ø Ø Ø uppercaseO, slash
Ù Ù Ù uppercaseU, graveaccent
Ú Ú Ú uppercaseU, acuteaccent
Û Û Û uppercaseU, circumflexaccent
Ü Ü Ü uppercaseU, dieresisorumlautmark
Ý Ý Ý uppercaseY, acuteaccent
Þ Þ Þ uppercaseTHORN, Icelandic
ß ß ß lowercasesharps, German(szligature)
à à à lowercasea, graveaccent
á á á lowercasea, acuteaccent
â â â lowercasea, circumflexaccent
ã ã ã lowercasea, tilde
ä ä ä lowercasea, dieresisorumlautmark
å å å lowercasea, ring
æ æ æ lowercaseaedipthong(ligature)
ç ç ç lowercasec, cedilla
è è è lowercasee, graveaccent
Named
Entity Numeric
Entity Glyph Description
é é é lowercasee, acuteaccent
ê ê ê lowercasee, circumflexaccent
ë ë ë lowercasee, dieresisorumlautmark
ì ì ì lowercasei, graveaccent
í í í lowercasei, acuteaccent
î î î lowercasei, circumflexaccent
ï ï ï lowercasei, dieresisorumlautmark
ð ð ð lowercaseeth, Icelandic
ñ ñ ñ lowercasen, tilde
ò ò ò lowercaseo, graveaccent
ó ó ó lowercaseo, acuteaccent
ô ô ô lowercaseo, circumflexaccent
õ õ õ lowercaseo, tilde
ö ö ö lowercaseo, dieresisorumlautmark
÷ ÷ divisionsign
ø ø ø lowercaseo, slash
ù ù ù lowercaseu, graveaccent
ú ú ú lowercaseu, acuteaccent
û û û lowercaseu, circumflexaccent
Named
Entity Numeric
Entity Glyph Description
ü ü ü lowercaseu, dieresisorumlautmark
ý ý ý lowercasey, acuteaccent
þ þ þ lowercasethorn, Icelandic
ÿ ÿ ÿ lowercasey, dieresisorumlautmark