欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

XML简易教程之四

程序员文章站 2022-03-07 20:03:44
实体有五种预定义的xml实体,html编码者应该熟悉。xml文档中的字符&、<、>、"和'被分别表示为&、@lt;、>、"和'。xml很大程度上...

实体

有五种预定义的xml实体,html编码者应该熟悉。xml文档中的字符&、<、>、"和'被分别表示为&、@lt;、>、"和'。

xml很大程度上扩展了实体的功能 - 允许在dtd中定义实体以便在文档的其余部分使用。例如,我在xml文档中需要频繁使用词组"wired digital",可以在dtd中这样表示:

<!entity wd "wired digital">

这样当我使用这个词组时,可以敲入&wd;。于是可以避免拼错和重复敲入相同的信息。实体可以起到字处理器中宏的作用。

被替换的文本可以任意长,但是如果真是很长,可能要把信息存储在另一个文件中。可以通过外部实体参考来实现 - 在实体名和文件的url中使用关键字system:

<!entity text system "http://my.url.here">

这些特征功能强大,但有一个缺点:在一个dtd内不能被扩展。为了实现扩展功能,需要一个称为参数实体的特殊工具。它在实体定义中通过在实体名前插入"%"实现。一旦被定义,参数定义可以通过用百分号和分号包围参数名来实现。

为什么这么做?看看下面的代码:


<!element vcard (%prop.man;, (%prop.id; | %prop.del; |

%prop.tel; | %prop.geo; | %prop.org; |

%prop.exp; | %prop.sec;)*)>


这段代码来自一个公用的xml名片草稿。当定义根元素时,作者发现更容易把信息分离到不同的参数实体中。如果看看其中的一个实体表现,我们就会知道为什么了。看看下面的prop.id实体:


<!entity % prop.id "

(nickname | photo | bday)">


如果每个实体都用这么长的字符串表示,元素定义将很难阅读。

现在可以读一些dtd了。

jay greenspan iso-8859-1 entities
named
entity numeric
entity glyph description
-
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