淺談XML簡易教程_Xml教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:輕松使用 DOM 的技巧和訣竅
      Dethe Elza (delza@livingcode.org), 高級技術架構師, Blast Radius 文檔對象模型(Document Object Model,DOM)是用于操縱 XML 和 HTML 數據的最常用工具之一,然而它的潛力卻很少被充分

      實體

      有五種預定義的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了。

      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

      分享:分析利用XML實現通用WEB報表打印實際使用中的例子
      最近做的一個B/S項目,在打印時采用了在IE中嵌入.net winform控件和XML結合的方式(參見http://www.yesky.com/20030214/1652186.shtml),在實際應用過程中,有一些心得,和大家分享。 (一)

      來源:模板無憂//所屬分類:Xml教程/更新時間:2009-08-01
      相關Xml教程