新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> DTD, XML Schema(XMLS), RELAX NG
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 DTD/XML Schema 』 → [转帖]XML属性:XML属性和实体 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 4144 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: [转帖]XML属性:XML属性和实体 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     anchen0617 帅哥哟,离线,有人找我吗?双子座1983-6-17
      
      
      威望:5
      等级:大二(研究C++)
      文章:281
      积分:3413
      门派:XML.ORG.CN
      注册:2004/10/17

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给anchen0617发送一个短消息 把anchen0617加入好友 查看anchen0617的个人资料 搜索anchen0617在『 DTD/XML Schema 』的所有贴子 访问anchen0617的主页 引用回复这个贴子 回复这个贴子 查看anchen0617的博客楼主
    发贴心情 [转帖]XML属性:XML属性和实体

    XML属性:XML属性和实体


    我写这篇文章是因为我真诚地关心你对我的看法。我担心的是:如果你读过我写的XML简介然后准备开始写自己的XML文档。于是你开始寻找一个已经建立的DTD来表示你的信息。你找到一个,如下所示:

    <!ATTLIST fn

    %attr.lang;

    value CDATA #FIXED "TEXT">

    <!ENTITY % attr.img "

    img.type CDATA #REQUIRED

    img.data ENTITY #REQUIRED">


    马上你就会认为Jay一定是一个白痴。他没有说关于ATTLIST和ENTITY的任何事 - 不管它们是什么。

    那么让我们谈谈这件事,先有一点耐心。

    上面这些行可能不好看,但实际上没什么。它们被用在DTD中来定义XML文档中的属性和实体。了解HTML的人会对这很清楚。属性是带有HTML标记符的条目,用来更准确地描述标记符。在经常出现的<img src="my.gif" height="20" width="20">中,有两个属性:height和width。你在后面会看到,在XML文档使用属性与之很相似。

    对实体也没有什么新东西。如果你用过&,你就已经掌握了最基本的东西。一个被&和分号包围起来的字符串用来表示另一个或一套字符。(这里有ISO实体的完整清单。)

    当然,XML中属性和实体还有其它功能。这就不可避免地要引入语法,虽然不太多。一旦知道了这些,就会不费劲地使用XML文档。


       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    xml这门语言太好了,我们共同努力吧!!!!!

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/9/1 1:51:00
     
     anchen0617 帅哥哟,离线,有人找我吗?双子座1983-6-17
      
      
      威望:5
      等级:大二(研究C++)
      文章:281
      积分:3413
      门派:XML.ORG.CN
      注册:2004/10/17

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给anchen0617发送一个短消息 把anchen0617加入好友 查看anchen0617的个人资料 搜索anchen0617在『 DTD/XML Schema 』的所有贴子 访问anchen0617的主页 引用回复这个贴子 回复这个贴子 查看anchen0617的博客2
    发贴心情 
    如果你决定自己写DTD,可能需要一本解释ATTLIST语句中所有组合的XML的书。但是如果借用DTD,或许只知道CDATA和另外三种属性就性了。

    第一个是ID。它要求属性的值在文档中不重复。使用过数据库的人都知道唯一标志符的必要性。DTD ATTLIST语句看起来象这样:

    <!ATTLIST element_name attribute_name ID #REQUIRED>

    很难想象没有#REQUIRED缺省值的ID属性类型。如果那样,任何重复的或空的ID都会迫使处理器返回一个错误。ID必须以字母或下划线开始并且不能包含任何空格。

    NMTOKEN类型也使用上面的命名规则。但是允许重复。它被用做传递数据给应用程序的保障。大多数程序语言,包括Java和JavaScript,在模块名中不能有空格。大多数情况下,最好保证属性符合它们的规则。

    最后是枚举类型,不需要特定的关键字。而是用"|"符号包含在括号内的值,例如:

    <!ATTLIST sibling (brother | sister) #REQUIRED>

    如果有有限的可能的属性值,可以用这种方式。

    不会认为今天的课程无趣吧,那么就接着读吧!

    ----------------------------------------------
    xml这门语言太好了,我们共同努力吧!!!!!

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/9/1 1:52:00
     
     anchen0617 帅哥哟,离线,有人找我吗?双子座1983-6-17
      
      
      威望:5
      等级:大二(研究C++)
      文章:281
      积分:3413
      门派:XML.ORG.CN
      注册:2004/10/17

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给anchen0617发送一个短消息 把anchen0617加入好友 查看anchen0617的个人资料 搜索anchen0617在『 DTD/XML Schema 』的所有贴子 访问anchen0617的主页 引用回复这个贴子 回复这个贴子 查看anchen0617的博客3
    发贴心情 
    实体

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

    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了。

    ----------------------------------------------
    xml这门语言太好了,我们共同努力吧!!!!!

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/9/1 1:53:00
     
     anchen0617 帅哥哟,离线,有人找我吗?双子座1983-6-17
      
      
      威望:5
      等级:大二(研究C++)
      文章:281
      积分:3413
      门派:XML.ORG.CN
      注册:2004/10/17

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给anchen0617发送一个短消息 把anchen0617加入好友 查看anchen0617的个人资料 搜索anchen0617在『 DTD/XML Schema 』的所有贴子 访问anchen0617的主页 引用回复这个贴子 回复这个贴子 查看anchen0617的博客4
    发贴心情 
    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
    &iexcl; &iexcl; invertedexclamation
    &cent; &cent; centsign
    &pound; &pound; poundsterling
    ¤ ¤ generalcurrencysign
    &yen; &yen; yensign
    &brvbar; &brvbar; brokenverticalbar
    § § sectionsign
    ¨ ¨ umlaut(dieresis)
    &copy; &copy; &copy; copyright
    &ordf; &ordf; feminineordinal
    &laquo; &laquo; leftanglequote, guillemotleft
    &not; &not; notsign
    &shy; &shy; softhyphen
    &reg; &reg; registeredtrademark
    &macr; &macr; macronaccent

    Named
    Entity Numeric
    Entity Glyph Description
    ° ° degreesign
    ± ± plusorminus
    &sup2; &sup2; superscripttwo
    &sup3; &sup3; superscriptthree
    &acute; &acute; acuteaccent
    &micro; &micro; microsign
    &para; &para; paragraphsign
    · · middledot
    &cedil; &cedil; cedilla
    &sup1; &sup1; superscriptone
    &ordm; &ordm; masculineordinal
    &raquo; &raquo; rightanglequote, guillemotright
    &frac14; &frac14; one-fourth
    &frac12; &frac12; one-half
    &frac34; &frac34; three-fourths
    &iquest; &iquest; invertedquestionmark
    &Agrave; &Agrave; &Agrave; uppercaseA, graveaccent
    &Aacute; &Aacute; &Aacute; uppercaseA, acuteaccent
    &Acirc; &Acirc; &Acirc; uppercaseA, circumflexaccent

    Named
    Entity Numeric
    Entity Glyph Description
    &Atilde; &Atilde; &Atilde; uppercaseA, tilde
    &Auml; &Auml; &Auml; uppercaseA, dieresisorumlautmark
    &Aring; &Aring; &Aring; uppercaseA, ring
    &AElig; &AElig; &AElig; uppercaseAEdipthong(ligature)
    &Ccedil; &Ccedil; &Ccedil; uppercaseC, cedilla
    &Egrave; &Egrave; &Egrave; uppercaseE, graveaccent
    &Eacute; &Eacute; &Eacute; uppercaseE, acuteaccent
    &Ecirc; &Ecirc; &Ecirc; uppercaseE, circumflexaccent
    &Euml; &Euml; &Euml; uppercaseE, dieresisorumlautmark
    &Igrave; &Igrave; &Igrave; uppercaseI, graveaccent
    &Iacute; &Iacute; &Iacute; uppercaseI, acuteaccent
    &Icirc; &Icirc; &Icirc; uppercaseI, circumflexaccent
    &Iuml; &Iuml; &Iuml; uppercaseI, dieresisorumlautmark
    &ETH; &ETH; &ETH; uppercaseEth, Icelandic
    &Ntilde; &Ntilde; &Ntilde; uppercaseN, tilde
    &Ograve; &Ograve; &Ograve; uppercaseO, graveaccent
    &Oacute; &Oacute; &Oacute; uppercaseO, acuteaccent
    &Ocirc; &Ocirc; &Ocirc; uppercaseO, circumflexaccent
    &Otilde; &Otilde; &Otilde; uppercaseO, tilde

    Named
    Entity Numeric
    Entity Glyph Description
    &Ouml; &Ouml; &Ouml; uppercaseO, dieresisorumlautmark
    × × multiplysign
    &Oslash; &Oslash; &Oslash; uppercaseO, slash
    &Ugrave; &Ugrave; &Ugrave; uppercaseU, graveaccent
    &Uacute; &Uacute; &Uacute; uppercaseU, acuteaccent
    &Ucirc; &Ucirc; &Ucirc; uppercaseU, circumflexaccent
    &Uuml; &Uuml; &Uuml; uppercaseU, dieresisorumlautmark
    &Yacute; &Yacute; &Yacute; uppercaseY, acuteaccent
    &THORN; &THORN; &THORN; uppercaseTHORN, Icelandic
    &szlig; &szlig; &szlig; lowercasesharps, German(szligature)
    à à à lowercasea, graveaccent
    á á á lowercasea, acuteaccent
    &acirc; &acirc; &acirc; lowercasea, circumflexaccent
    &atilde; &atilde; &atilde; lowercasea, tilde
    &auml; &auml; &auml; lowercasea, dieresisorumlautmark
    &aring; &aring; &aring; lowercasea, ring
    &aelig; &aelig; &aelig; lowercaseaedipthong(ligature)
    &ccedil; &ccedil; &ccedil; lowercasec, cedilla
    è è è lowercasee, graveaccent

    Named
    Entity Numeric
    Entity Glyph Description
    é é é lowercasee, acuteaccent
    ê ê ê lowercasee, circumflexaccent
    &euml; &euml; &euml; lowercasee, dieresisorumlautmark
    ì ì ì lowercasei, graveaccent
    í í í lowercasei, acuteaccent
    &icirc; &icirc; &icirc; lowercasei, circumflexaccent
    &iuml; &iuml; &iuml; lowercasei, dieresisorumlautmark
    &eth; &eth; &eth; lowercaseeth, Icelandic
    &ntilde; &ntilde; &ntilde; lowercasen, tilde
    ò ò ò lowercaseo, graveaccent
    ó ó ó lowercaseo, acuteaccent
    &ocirc; &ocirc; &ocirc; lowercaseo, circumflexaccent
    &otilde; &otilde; &otilde; lowercaseo, tilde
    &ouml; &ouml; &ouml; lowercaseo, dieresisorumlautmark
    ÷ ÷ divisionsign
    &oslash; &oslash; &oslash; lowercaseo, slash
    ù ù ù lowercaseu, graveaccent
    ú ú ú lowercaseu, acuteaccent
    &ucirc; &ucirc; &ucirc; lowercaseu, circumflexaccent

    Named
    Entity Numeric
    Entity Glyph Description
    ü ü ü lowercaseu, dieresisorumlautmark
    &yacute; &yacute; &yacute; lowercasey, acuteaccent
    &thorn; &thorn; &thorn; lowercasethorn, Icelandic
    &yuml; &yuml; &yuml; lowercasey, dieresisorumlautmark

    ----------------------------------------------
    xml这门语言太好了,我们共同努力吧!!!!!

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/9/1 1:54:00
     
     GoogleAdSense双子座1983-6-17
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 DTD/XML Schema 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/22 3:32:09

    本主题贴数4,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    1,450.195ms