λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
μΉ΄ν…Œκ³ λ¦¬ μ—†μŒ

XmlStudy λ©”λͺ¨

by λ‹‰λ„€μž„μ—†λŠ” λ‹‰λ„€μž„ 2024. 2. 8.
TOP

λͺ©μ°¨

    β–Ά XML Study

    1. XML DTD(Document Type Definition) .txt

    더보기
    β– β– β–  XML DTD(Document Type Definition) β– β– β– 

    β—‹ κ°œμš”
       XML λ¬Έμ„œμ˜ μ—˜λ¦¬λ¨ΌνŠΈ, μ†μ„±μ— λŒ€ν•œ κ΅¬μ‘°(structure)λ₯Ό ν‘œν˜„ν•œ λ¬Έμ„œ.
     
       DTD(Document Type Definition)λŠ” λ¬Έμ„œμ˜ ν˜•νƒœλ₯Ό μ •μ˜ν•˜λŠ” κ²ƒμœΌλ‘œ
       XML λ¬Έμ„œμ˜ κ΅¬μ‘°λ₯Ό λͺ…μ‹œμ μœΌλ‘œ μ„ μ–Έν•˜λŠ” μ—­ν• μ„ ν•˜λ©°
       XML λ¬Έμ„œκ°€ μž˜ λ§Œλ“€μ–΄μ§„ μœ μš”ν•œ(valid) λ¬Έμ„œμΈμ§€λ₯Ό ν™•μΈν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” λ¬Έμ„œμ΄λ‹€.
       λ”°λΌμ„œ DTD λ₯Ό μ‚¬μš©ν•˜μ—¬ μš”μ†Œμ™€ μš”μ†Œμ˜ λ‚΄μš©, μ†μ„±κ³Ό μ†μ„±μ˜ λ‚΄μš©
       κ·Έλ¦¬κ³  μš”μ†Œμ˜ μˆœμ„œλ‚˜ λ°˜λ³΅μ„±, ν•„μˆ˜μ—¬λΆ€ λ“±μ„ λ―Έλ¦¬ μ •ν•΄λ†“κ³  XML λ¬Έμ„œλ₯Ό μž‘μ„±ν•˜λŠ” κ²ƒμ΄λ‹€. 
       μ΄λ ‡κ²Œ λ˜λ©΄ XML  λ¬Έμ„œλ₯Ό μž‘μ„±ν•˜λŠ” κ²½μš°μ— λ―Έλ¦¬ μž˜λͺ»λœ λ¬Έμ„œλ₯Ό μž‘μ„±ν•˜λŠ” μ‹€μˆ˜λ₯Ό
       μ€„일 μˆ˜ μžˆκ²Œ λœλ‹€.

    β€» μœ νš¨ν•œ(valid)XML
       μœ νš¨ν•œ(valid) XML μ€ well-formed XML μ„ λ³΄λ‹€ μ—„κ²©ν•˜κ²Œ κ²€μ¦ν•œ λ¬Έμ„œ
                            ---------------         -------------
     1μ°¨ κ²€μ¦  1μ°¨ κ²€μ¦
       
       κΈ°λ³Έμ μΈ μ‘°κ±΄μœΌλ‘œ λͺ¨λ‘ well-formed μ΄μ–΄μ•Ό ν•˜λ©°,
       μ΄μ— μΆ”κ°€ν•˜μ—¬ DTD λ₯Ό κ°€μ§€κ³  μžˆκ³ , μ΄μ— λ”°λΌ κ²€μ¦λœ λ¬Έμ„œλ₯Ό μ˜λ―Έν•œλ‹€.

    β—‹ DTD  μƒ˜ν”Œ

    <!DOCTYPE λ£¨νŠΈμ—˜λ¦¬λ¨ΌνŠΈ []>

    <!DOCTYPE λ£¨νŠΈ μ—˜λ¦¬λ¨ΌνŠΈ
    [
    <!ELEMENT λ£¨νŠΈμ—˜λ¦¬λ¨ΌνŠΈ (1μ°¨ν•˜μœ„μ—˜λ¦¬λ¨ΌνŠΈ λͺ©λ‘)>
    <!ELEMENT 1μ°¨ν•˜μœ„μ—˜λ¦¬λ¨ΌνŠΈ (2μ°¨ν•˜μœ„μ—˜λ¦¬λ¨ΌνŠΈ λͺ©λ‘)>
    <!ELEMENT 2μ°¨ν•˜μœ„μ—˜λ¦¬λ¨ΌνŠΈ (#PCDATA)>
    <!ATTLIST 2μ°¨ν•˜μœ„μ—˜λ¦¬λ¨ΌνŠΈ
      μ†μ„±μ΄λ¦„ μ†μ„±κ°’ ν•„μˆ˜μ—¬λΆ€
      ...>
    ]>

    ==> XML λ¬Έμ„œμ— λŒ€ν•œ μ„€κ³„ κ³Όμ •

    β—‹ DTD μ™€ XML λ¬Έμ„œμ˜ κ²°ν•©

      - λ³„λ„μ˜ γ€Ž.dtdγ€νŒŒμΌμ„ μž‘μ„±ν•œ ν›„ XML λ¬Έμ„œμ™€ μ—°κ²°

      // note.dtd
      <!DOCTYPE note
      [
      <!ELEMENT note (to,from,heading,body)>
      <!ELEMENT to (#PCDATA)>
      <!ELEMENT from (#PCDATA)>
      <!ELEMENT heading (#PCDATA)>
      <!ELEMENT body (#PCDATA)>
      ]>
      
      // note.xml
      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE note SYSTEM "note.did">
      <note>
          <to>Tove</to>
          <from>Jani</from>
          <heading>Reminder</heading>
          <body>Do not forget me this weekend</body>
      </note>
     
     - XML λ¬Έμ„œ λ‚΄λΆ€μ— μ‚½μž…

     // note.xml
      <?xml version="1.0" encoding="UTF-8"?>
      
      <!DOCTYPE note
      [
      <!ELEMENT note (to,from,heading,body)>
      <!ELEMENT to (#PCDATA)>
      <!ELEMENT from (#PCDATA)>
      <!ELEMENT heading (#PCDATA)>
      <!ELEMENT body (#PCDATA)>
      ]>
      
      <note>
          <to>Tove</to>
          <from>Jani</from>
          <heading>Reminder</heading>
          <body>Do not forget me this weekend</body>
      </note>

    2. XML(eXtensible Markup Language) .txt

    더보기
    β– β– β–  XML(eXtensible Markup Language) β– β– β– 

    β—‹ κ°œμš”
      
       λ§ˆν¬μ—…μ΄λž€ λ¬Έμ„œ λ‚΄μš© μ΄μ™Έμ— λ¬Έμ„œ κ΅¬μ‘°λ₯Ό μ •μ˜ν•˜κ±°λ‚˜ ν‘œν˜„ν•˜κΈ° μœ„ν•΄ μ •μ˜ν•œ
       λΆ€κ°€μ μΈ μ •λ³΄λΌ ν•  μˆ˜ μžˆμœΌλ©°, λ§ˆν¬μ—…μ˜ ν‘œν˜„은 κ° μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ μ •μ˜ν•œ
       κ³ μœ ν•œ λ°©μ‹μœΌλ‘œ μ΄λ£¨μ–΄μ§„λ‹€.
       μ¦‰, λ¬Έμ„œ νŽΈμ§‘κΈ°λ§ˆλ‹€ λ§ˆν¬μ—…을 ν‘œν˜„ν•˜λŠ” λ°©λ²•μ΄ μ„œλ‘œ λ‹€λ₯΄λ‹€λŠ” μ˜λ―Έμ΄λ‹€.

    aflvekdc 45 99443304221
    vleokde  49 99530219432 

    <people>
        <person sid="1">
    <name>aflvekdc</name>
    <age>45</age>
    <tel>99443304221</tel>
        </person>
        <person sid="2">
    <name>vleokde</name>
    <age>49</age>
    <tel>99530219432</tel>
        </person>
    </people>


    β€» μ°Έκ³ 

     1) SGML(Standard Generalized Markup Language)
        SGML μ€ κΈ°μˆ μ  λ¬Έμ„œ λ§ˆν¬μ—…을 μƒμ„±ν•˜λŠ” κΈ°λ²•μ„ μ œκ³΅ν•˜λŠ” ν‘œμ€€ μΌλ°˜ν™”
        λ§ˆν¬μ—… μ–Έμ–΄λ‘œ λ””지털 λ¬Έμ„œλ₯Ό ν”Œλž«νΌμ— μƒκ΄€μ—†μ΄ μ‚¬μš©ν•˜κΈ° μœ„ν•œ λͺ©μ μœΌλ‘œ
        λ§Œλ“€μ–΄μ‘ŒμœΌλ©°, 1986년에  ISO-8897 ν‘œμ€€μœΌλ‘œ μ œμ •λ˜μ—ˆκ³  λ¬Έμ„œμ˜ λ…Όλ¦¬μ 
        κ΅¬μ‘°μ™€ λ‚΄μš©μ„ κΈ°μˆ ν•˜κΈ° μœ„ν•œ λ§ˆν¬μ—…이닀.

        μž₯점 : μ‹œμŠ€ν…œκ³Ό ν”Œλž«νΌμ— λ…립적 / μž¬μ‚¬μš©μ„± / κ³΅κ°œ ν‘œμ€€
        λ‹¨μ  : - μž‘μ„± κ·œμΉ™μ˜ λ³΅μž‘μ„±μœΌλ‘œ μΈν•΄ μ „λ¬Έκ°€λ“€λ§Œμ„ μœ„ν•œ μ–Έμ–΄
               - κ΄€λ ¨ μ—…κ³„μ˜ λ²”μš©μ μΈ μ§€μ› λ―ΈλΉ„
       
        → μ΄μ™€ κ°™μ€ λ‹¨μ μ„ μ–΄λŠμ •λ„ ν•΄κ²°ν•˜κ³ μž λ§Œλ“€μ–΄μ§„ λ§ˆν¬μ—… μ–Έμ–΄κ°€
           λ°”λ‘œ HTML μ΄λ‹€.

     2) HTML (Hyper Text Markup Language)
        HTML μ€ μ›Ήμ—μ„œ μ •λ³΄λ₯Ό ν‘œν˜„ν•  λͺ©μ μœΌλ‘œ μ œμ•ˆν•œ λ§ˆν¬μ—… μ–Έμ–΄λ‘œ
        SGML νƒœκ·Έ μ€‘ μΌλΆ€λ₯Ό λ―Έλ¦¬ μ •μ˜ν•΄μ„œ μ‚¬μš©ν•˜κΈ° μ‰½κ²Œ λ§Œλ“  κ²ƒμ΄ λ°”λ‘œ HTML μ΄λ‹€.
        μ΄λŸ¬ν•œ HTML μ€ μΈν„°λ„·μ˜ λΉ λ₯Έ λ³΄κΈ‰κ³Ό ν™•μž₯으둜 κΈ‰μ„±μž₯ν•˜μ˜€κ³ 
        ν˜„μž¬ κ°€μž₯ λ§Žμ΄ μ‚¬μš©λ˜λŠ” λ§ˆν¬μ—… μ–Έμ–΄μ΄λ‹€.

        μž₯점 : μ›Ή μ •λ³΄λ₯Ό ν‘œν˜„ν•˜λŠ”λ° μžˆμ–΄μ„œ λ§€μš° λ²”μš©μ μ΄λ‹€.
        λ‹¨μ  : - μ‚¬μš©ν•  μˆ˜ μžˆλŠ” νƒœκ·Έκ°€ μ œν•œμ μ΄λ‹€.
          - λ¬Έμ„œμ˜ λ‚΄μš©κ³Ό μ΄λ₯Ό ν™”면에 ν‘œν˜„ν•˜κΈ° μœ„ν•œ μ •λ³΄λ§Œ μ‘΄μž¬ν•œλ‹€.
         λ”°λΌμ„œ νƒœκ·Έ λ‚΄μ˜ λ‚΄μš©μ΄ μ–΄λ–€ μ˜λ―Έμ˜ λ°μ΄ν„°λ₯Ό ν¬ν•¨ν•˜λŠ”지 μ•Œ μˆ˜ μ—†λ‹€.
         - λ¬Έμ„œμ— ν¬ν•¨λœ μ •λ³΄ κ°„에 μ—°κ΄€μ„±μ„ ν‘œν˜„ν•  μˆ˜ μ—†κ³ ,
         κ΄€λ ¨μžˆλŠ” μ •λ³΄λ₯Ό νƒμƒ‰ν•˜κΈ° μ–΄λ ΅λ‹€.
           - λ¬Έμ„œμ˜ μœ νš¨μ„±μ„ κ²€μ¦ν•˜κΈ° μ–΄λ ΅λ‹€.
       - μ „체 λ¬Έμ„œλ§Œ ν‘œν˜„ν•  μˆ˜ μžˆλ‹€.
     
     3) XML (Extensible Markup Language)
        XML μ€ SGML κ³Ό HTML μ˜ λ¬Έμ œμ μ„ ν•΄κ²°ν•  λͺ©μ μœΌλ‘œ κ°œλ°œλœ μ–Έμ–΄λ‘œ
        SGML λ‘œλΆ€ν„° μ •λ³΄μ˜ κ΅¬μ‘°μ  κΈ°μˆ κ³Ό μ •λ³΄ λ‚΄μš©κ³Ό ν‘œμ‹œ μ •λ³΄λ₯Ό λΆ„λ¦¬ν•œ κ΅¬μ‘°λ₯Ό μ΄μ–΄λ°›κ³ 
        HTML λ‘œλΆ€ν„° μΈν„°λ„·μ˜ μ΄μš© ν™˜κ²½μ„ μ΄μ–΄ λ°›μ•˜λ‹€.
        μ¦‰, XML μ€ μ›Ήμ—μ„œ κ΅¬μ‘°ν™”λœ λ¬Έμ„œλ₯Ό ν‘œν˜„ν•˜κ³  μ „솑할 μˆ˜ μžˆλ„둝 μ„€κ³„λœ λ§ˆν¬μ—… μ–Έμ–΄λ‘œ 
        κΈ°μ‘΄ HTML의 ν•œκ³„와  SGML의 λ³΅μž‘함을 ν•΄κ²°ν•˜κΈ° μœ„ν•œ λ°©μ•ˆμœΌλ‘œ μ œμ‹œλœ λ§ˆν¬μ—… μ–Έμ–΄λ‘œ
        λ‹€μ–‘ν•œ ν‘œν˜„이 κ°€λŠ₯ν•˜κ³  ν™•μž₯성이 λ›°μ–΄λ‚˜λ©° κ°„λ‹¨ν•˜λ‹€.
        λ˜ν•œ, ν”Œλž«νΌ λ…립적이며, μ›Ήμ€ λ¬Όλ‘  μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œλ„ μ‚¬μš©μ΄ κ°€λŠ₯ν•˜λ‹€.
     
        HTML은 μ •ν•΄μ§„ νƒœκ·Έλ§Œμ„ μ‚¬μš©ν•˜κ³  νƒœκ·Έμ˜ μˆ«μžλ„ μ œν•œμ„ λ‘μ–΄μ„œ
        μ‚¬μš©μ΄ νŽΈλ¦¬ν•˜κΈ΄ ν•˜μ§€λ§Œ νƒœκ·Έκ°€ λ―Έλ¦¬ μ •ν•΄μ Έμžˆλ‹€λŠ” λ‹¨μ μ΄ μžˆλ‹€.
        μ¦‰, μ‹œμ‹œκ°κ°μœΌλ‘œ λ³€ν•˜λŠ” μΈν„°λ„· μ‚¬μš©μžλ“€μ˜ λ°μ΄ν„° ν‘œν˜„에 λŒ€ν•œ μš”ꡬλ₯Ό μˆ˜μš©ν•˜κΈ° μœ„ν•΄μ„œλŠ”
        νƒœκ·Έλ„ κ·Έμ— λ”°λΌ μƒˆλ‘œμš΄ νƒœκ·Έκ°€ ν•„μš”ν•  λ•Œκ°€ μžˆκΈ° λ§ˆλ ¨μΈλ°
        μƒˆλ‘œμš΄ νƒœκ·Έλ₯Ό λ§Œλ“€ μˆ˜ μ—†λŠ” κ²ƒμ΄λ‹€.

        κ·Έλž˜μ„œ μ •ν•΄μ§„ νƒœκ·Έκ°€ μ•„λ‹ˆλΌ ν•„μš”ν•  λ•Œ λ§ˆλ‹€ νƒœκ·Έλ₯Ό λ§Œλ“€μ–΄μ„œ μ‚¬μš©ν•  μˆ˜ μžˆλŠ” μš”ꡬ가
        μΌμ–΄λ‚˜κΈ° μ‹œμž‘ν–ˆκ³ , μ΄ μš”ꡬ에 λŒ€ν•œ μˆ˜μš©μ΄ λ°”λ‘œ XML μ΄λ‹€.
        κ²°κ΅­ XML은  SGML(ν‘œμ€€ν™”λœ μΌλ°˜ λ§ˆν¬μ—… μ–Έμ–΄)이 κ°€μ§€κ³  μžˆλŠ” μž₯점인
        λ¬Έμ„œμ˜ κ΅¬μ‘°μ™€ μ†μ„±μ„ κ·ΈλŒ€λ‘œ κ°€μ§€κ³  μžˆμœΌλ©°
        HTML의 λ‹¨μ μΈ μ •ν•΄μ§„ νƒœκ·Έλ°–에 μ‚¬μš©ν•  μˆ˜ μ—†λ‹€λŠ” κ²ƒμ„ λ³΄μ™„ν•˜κΈ° μœ„ν•΄μ„œ λ‚˜μ˜€κ²Œ λœ κ²ƒμ΄λ‹€.

    β—‹ XML / HTML / SGML λΉ„ꡐ

      HTML SGML   XML
    ----------------------------------------------------------------------------------------------
     νƒœκ·Έ    λ‚΄μž₯된 DTD μ •μ˜ / μ‚¬μš©μžμ •μ˜ νƒœκ·Έ μ‚¬μš©      μ‚¬μš©μžμ •μ˜ νƒœκ·Έ μ‚¬μš©
             μ‚¬μš©μž μ •μ˜ λΆˆκ°€λŠ₯
    ----------------------------------------------------------------------------------------------
     λ¬Έμ„œ μž¬μ‚¬μš© λΆˆκ°€λŠ₯ κ°€λŠ₯   κ°€λŠ₯
    ----------------------------------------------------------------------------------------------
     μ‘μš© λ‹¨μˆœν•œ λ¬Έμ„œμ˜ λ³΅μž‘ν•œ κ΅¬μ‘°μ˜ λ¬Έμ„œ λ°     SGML κ³Ό λ™μΌ /
      Presentation   λ°©λŒ€ν•œ λ‚΄μš©μ„ μš”κ΅¬ν•˜λŠ”    μ›Ήμ—μ„œ μ •λ³΄ κ΅ν™˜
    λ¬Έμ„œ
    ----------------------------------------------------------------------------------------------
     λ‚œμ΄λ„ 쉬움 λ³΅μž‘ν•˜κ³  μ–΄λ €μ›€   μ€‘κ°„ μ •λ„(SGML의 λ‹¨μˆœν™”)
    ----------------------------------------------------------------------------------------------
     κ²€μƒ‰ 검색 μ–΄λ €μ›€ 자료의 ν‘œν˜„κ³Ό λ‚΄μš©μ΄   SGML κ³Ό λ™μΌ
      (검색 μ—”진 ν•„μš”) λΆ„λ¦¬λ˜μ–΄ μ •ν™•ν•œ κ²€μƒ‰μ΄
    κ°€λŠ₯
    ----------------------------------------------------------------------------------------------
     μΆœλ ₯ λ°©μ‹      CSS DSSSL   XSL
    ----------------------------------------------------------------------------------------------
     λ°μ΄ν„° κ΅ν™˜   κ΅ν™˜μ‹œ λΆ€κ°€λ˜λŠ” ν‘œν˜„λΆ€μ™€ λ‚΄μš©λΆ€κ°€   SGML κ³Ό λ™μΌ
           μž‘μ—…λŸ‰μ΄ λ°©λŒ€ν•¨ λΆ„λ¦¬λ˜μ–΄ κ΅ν™˜μ΄ μš©μ΄ν•¨
    ----------------------------------------------------------------------------------------------


    β—‹ XML μ‘μš© λΆ„μ•Ό
      
      λΆ„μ•Ό 기술 λ‚΄μš©
    ----------------------------------------------------------------------------------------------
     μ›Ή/인터넷      CDF μ›Ή μΊμŠ€νŒ…(web casting) μ„ μœ„ν•œ λ©”타 λ°μ΄ν„°λ₯Ό κΈ°μˆ ν•˜λŠ” ν˜•μ‹
    λ§ˆμ΄ν¬λ‘œμ†Œν”„νŠΈμ˜ μ•‘ν‹°λΈŒ μ±„널을 μœ„ν•œ μ–Έμ–΄
                    OSD μ†Œν”„νŠΈμ›¨μ–΄ λ°°ν¬μ™€ μ„€μΉ˜λ₯Ό μœ„ν•œ μ •λ³΄λ₯Ό κΈ°μˆ ν•˜κΈ° μœ„ν•œ ν˜•μ‹
    ----------------------------------------------------------------------------------------------
     λ©”타 λ°μ΄ν„°    RDF 메타 λ°μ΄ν„°λ₯Ό κΈ°μˆ ν•˜κΈ° μœ„ν•œ λ²”μš©μ  λ°μ΄ν„° κΈ°μˆ  λ°©λ²•
    기쑴의 λ©”타 λ°μ΄ν„° κΈ°μˆ  λ°©λ²•μ„ λͺ¨λ‘ ν¬ν•¨
    μ΅œκ·Όμ—λŠ” μ‹œλ©˜ν‹± μ›Ήμ„ κ΅¬ν˜„ν•˜κΈ° μœ„ν•œ κΈ°μˆ  μ–Έμ–΄λ‘œ μ‚¬μš©
    MCF λ„·μŠ€μΌ€μ΄ν”„μ—μ„œ μ œμ•ˆν•œ λ©”타 λ°μ΄ν„° κΈ°μˆ  λ°©λ²•
    ----------------------------------------------------------------------------------------------
     λ©€ν‹°λ―Έλ””μ–΄     SML λ©€ν‹°λ―Έλ””μ–΄ λ°μ΄ν„°μ˜ λ™κΈ°ν™”λ₯Ό μœ„ν•œ μ–Έμ–΄
     / κ·Έλž˜ν”½ PGML 2D κ·Έλž˜ν”½ λ°μ΄ν„°λ₯Ό ν…μŠ€νŠΈ ν˜•νƒœλ‘œ ν‘œν˜„ν•˜λŠ” μ–Έμ–΄
     / μŠ€ν”ΌμΉ˜ MusicML μŒμ•… μ•…보λ₯Ό μœ„ν•œ μ–Έμ–΄
    악보에 μ“°μ΄λŠ” λ‹€μ–‘ν•œ κΈ°ν˜Έλ₯Ό ν‘œμ‹œν•˜κΈ° μœ„ν•œ μ–Έμ–΄
    JSML λ¬Έμ„œν™”ν•œ μ •λ³΄λ₯Ό μŠ€ν”Όμ»€λ‘œ λ“£κΈ° μœ„ν•΄μ„œ SUN μ—μ„œ λ°œν‘œν–ˆλ˜
    XML μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ μ–Έμ–΄
    ----------------------------------------------------------------------------------------------
     λΉ„μ¦ˆλ‹ˆμŠ€ OFX 금육 μ •λ³΄(화폐 μ •λ³΄)λ₯Ό κ΅ν™˜ν•˜κΈ° μœ„ν•œ μ–Έμ–΄
     / κΈˆμœ΅ ML/EDI         μ„œλ‘œ λ‹€λ₯Έ ν™˜κ²½μ—μ„œ λ°μ΄ν„°λ₯Ό μ£Όκ³ λ°›κΈ° μœ„ν•œ ν”„λ ˆμž„μ›Œν¬λ₯Ό
    μ œκ³΅ν•˜κΈ° μœ„ν•΄ μ œμ•ˆλœ μ–Έμ–΄
    OTP κ±°λž˜μ™€ κ΄€λ ¨ν•œ ν”„λ‘œν† μ½œ μ •μ˜
    ICE λΉ„μ¦ˆλ‹ˆμŠ€ μ—…κ³„μ˜ μ •λ³΄λ₯Ό μ£Όκ³ λ°›κΈ° μœ„ν•œ ν‘œμ€€
    ----------------------------------------------------------------------------------------------
      κ³Όν•™ MathML μˆ˜ν•™ κΈ°ν˜Έλ₯Ό ν‘œμ‹œν•˜κΈ° μœ„ν•œ μ–Έμ–΄
    CML 화학식 ν‘œκΈ°λ₯Ό μœ„ν•œ μ–Έμ–΄
    BSML DNA κ΅¬μ‘°μ™€ κ°™μ€ μ •λ³΄λ₯Ό μΈμ½”λ”©ν•˜κ³  λ””μŠ€ν”Œλ ˆμ΄ν•˜κΈ° μœ„ν•œ μ–Έμ–΄
    ----------------------------------------------------------------------------------------------

    β—‹ λ§ˆν¬μ—… μ–Έμ–΄
        - νƒœκ·Έλ₯Ό κ°€μ§€κ³  λ°μ΄ν„°λ₯Ό ν‘œν˜„ν•˜λŠ” μ–Έμ–΄
        - <μ‹œμž‘νƒœκ·Έ>데이터</λνƒœκ·Έ> → μ—˜λ¦¬λ¨ΌνŠΈ

        - HTML μ€ λ°μ΄ν„°λ₯Ό ν‘œν˜„ν•˜λŠ” νƒœκ·Έμ˜ μ’…λ₯˜κ°€ λ―Έλ¦¬ μ§€μ •λ˜μ–΄ μžˆλŠ” μƒνƒœμ΄λ‹€.
          <div>, <table>, <br> νƒœκ·Έ λ“±μ΄ μ‘΄μž¬ν•œλ‹€.

        - XML μ€ λ°μ΄ν„° ν˜•μ‹μ„ ν‘œν˜„ν•˜λŠ” μ–Έμ–΄μ΄λ‹€.
          νƒœκ·Έμ˜ μ’…λ₯˜λ₯Ό μ‚¬μš©μž μŠ€μŠ€λ‘œ μ„ νƒ, κ²°μ •ν•œλ‹€.
          <이름>λ…Έμ€ν•˜</이름>
          <μ „ν™”>010-1212-3434</μ „ν™”λ²ˆν˜Έ>

    β—‹ HTML κ³Ό XML λ¬Έμ„œμ˜ λ‚΄μš© λΉ„ꡐ

      - μ΄λ¦„, μ „ν™”λ²ˆν˜Έ, μ΄λ©”일 λ“±μ˜ λ°μ΄ν„°λ₯Ό λ‹€λ£¨λŠ” κ³Όμ •μ„
        HTML λ°©μ‹μœΌλ‘œ λ³΄λ©΄ λ‹€μŒκ³Ό κ°™λ‹€.

       <table>
    <tr>
       <td>μ΄μ£Όν˜•</td>
               <td>010-1212-3434</td>
               <td>ljh@test.com</td>
            </tr>
       </table>

     - XML λ°©μ‹μœΌλ‘œ λ³΄λ©΄ λ‹€μŒκ³Ό κ°™λ‹€.

      <memberInfo mid="1">
       <name>μ΄μ£Όν˜•</name>
            <tel>010-1212-3434</tel>  
            <email>ljh@test.com</email>
      </memberInfo>

    β—‹ XML λ¬Έμ„œ μž‘μ„±μ˜ κΈ°λ³Έ κ·œμΉ™
      
      - XML λ¬Έμ„œ μƒλ‹¨μ—μ„œ μ„ μ–ΈλΆ€ μž‘μ„±
        <?xml version="1.0"?>
        <?xml version="1.0" encoding="UTF-8"?>

      - λ£¨νŠΈ μ—˜λ¦¬λ¨ΌνŠΈ μ§€μ •
        λ£¨νŠΈ μ—˜λ¦¬λ¨ΌνŠΈμ˜ μ΄λ¦„은 μ‚¬μš©μž μŠ€μŠ€λ‘œ κ²°μ •
        λ‚˜λ¨Έμ§€ λͺ¨λ“  μ—˜λ¦¬λ¨ΌνŠΈλŠ” λ£¨νŠΈ μ—˜λ¦¬λ¨ΌνŠΈ ν•˜μœ„μ—λ§Œ μ‘΄μž¬ν•  μˆ˜ μžˆλ‹€.
        <?xml version="1.0" encoding="UTF-8"?>
        <루트>
        </루트>

      - λ¬Όλ¦¬μ μœΌλ‘œ μ €μž₯ν•  λ•Œ ν™•μž₯자 γ€Ž.xmlγ€μ‚¬μš©.
      
      - μ‹œμž‘ νƒœκ·Έμ™€ λ νƒœκ·Έλ₯Ό μ§μ„ λ§žμΆ”μ–΄ μ‚¬μš©.

      - νƒœκ·Έ κ°„μ˜ ν¬ν•¨ κ΄€κ³„λ₯Ό μ΄λ£¨μ–΄μ•Ό ν•œλ‹€.
        (즉, λΆ€λͺ¨ μžμ‹ κ΄€κ³„ μ„±λ¦½)

      - νƒœκ·Έμ—λŠ” μ†μ„± ν‘œν˜„이 κ°€λŠ₯ν•˜λ‹€.
        (γ€Žμ†μ„±="κ°’"γ€ν˜•νƒœλ‘œ ν‘œκΈ°ν•œλ‹€.)



     

    3. XPath(XML Path Language) .txt

    더보기

    β– β– β–  XPath(XML Path Language) β– β– β– 

    β—‹ XPath κ°œμš”
    - XPathλŠ” XSLT ν‘œμ€€μ˜ μ£Όμš” μš”μ†Œμ΄λ‹€.
    - XPath λ₯Ό μ‚¬μš©ν•˜μ—¬ XML λ¬Έμ„œμ˜ μš”μ†Œ λ° μ†μ„±μ„ νƒμƒ‰ν•  μˆ˜ μžˆλ‹€.
    - XPathλŠ” κ²½λ‘œ ν‘œν˜„식을 ν™œμš©ν•˜μ—¬ XML λ¬Έμ„œμ—μ„œ λ…Έλ“œλ₯Ό μ‹λ³„ν•˜κ³  νƒμƒ‰ν•œλ‹€.
    - XPathλŠ” W3C κΆŒμž₯ μ‚¬ν•­μ΄λ‹€.

    β—‹ XPath의 κ²½λ‘œ ν‘œν˜„식(XPath Path Expression)
     - XPath λŠ” κ²½λ‘œ ν‘œν˜„식을 μ‚¬μš©ν•˜μ—¬
       XML λ¬Έμ„œμ—μ„œ Node λ˜λŠ” NodeSet μ„ μ„ νƒν•œλ‹€.
     - μ΄λŸ¬ν•œ κ²½λ‘œ ν‘œν˜„식은 κΈ°μ‘΄ νŒŒμΌμ‹œμŠ€ν…œμ—μ„œ μ‚¬μš©ν•˜λŠ”
       κ²½λ‘œ ν‘œν˜„식과 λ§€μš° μœ μ‚¬ν•˜λ‹€.

    β—‹ XPath μ˜ ν‘œμ€€ κΈ°λŠ₯(XPath Standard Functions)
     - XPath μ—λŠ” 200개 μ΄μƒμ˜ λ‚΄μž₯ κΈ°λŠ₯이 ν¬ν•¨λ˜μ–΄ μžˆλ‹€.
     - λ¬Έμžμ—΄ κ°’(string value), μˆ«μžκ°’(numeric value)
       , λΆ€μšΈ(booleans), λ‚ μ§œ λ° μ‹œκ°„ λΉ„ꡐ(date and time comparison)
       , λ…Έλ“œ μ‘°μž‘(node manipulataion), μ‹œν€€μŠ€μ‘°μž‘(sequence manipulation)
       λ“±μ„ μœ„ν•œ κΈ°λŠ₯이 μžˆλ‹€.
     - ν˜„μž¬ XPath ν‘œν˜„식은 Javascript, Java, XMLμŠ€ν‚€λ§ˆ, PHP, Python, C, C++ λ°
       κΈ°νƒ€ μ—¬λŸ¬ μ–Έμ–΄μ—μ„œλ„ μ‚¬μš©ν•  μˆ˜ μžˆλ‹€.

    β—‹ XPath μ£Όμš” μš©μ–΄
      - λ…Έλ“œ(Nodes)
        ·Xpath μ—λŠ” μš”μ†Œ, μ†μ„±, ν…μŠ€νŠΈ, λ„€μž„μŠ€νŽ˜μ΄μŠ€, μ²˜λ¦¬λͺ…λ Ή, μ£Όμ„, λ¬Έμ„œ
          μ΄λ ‡κ²Œ μ΄ 7 κ°€μ§€ λ…Έλ“œκ°€ μžˆλ‹€.
        ·XML λ¬Έμ„œλŠ” λ…Έλ“œ νŠΈλ¦¬λ‘œ λ‹€λ£¨μ–΄μ§€λ©° 
          νŠΈλ¦¬μ˜ μ΅œμƒμœ„ μš”μ†Œλ₯Ό λ£¨νŠΈ μš”μ†ŒλΌκ³  ν•œλ‹€.
      - μ›μž κ°’(Atomic values)
        ·μ›μžκ°’은 μžμ‹μ΄λ‚˜ λΆ€λͺ¨κ°€ μ—†λŠ” λ…Έλ“œμ΄λ‹€.
      - μ•„μ΄ν…œ(itme)
        ·μ•„μ΄ν…œ(items)은 μ›μžκ°’ λ˜λŠ” λ…Έλ“œμ΄λ‹€.

    <bookstore> → <bookstore> → Node (root element node)
       <book> → <book>      → Node (element node)
    <title lang="en">Harry Potter</title>   → <title>     → Node (element node)
    ------- → lang"en"    → Node (attribute node)
    ------- → lang"en"    → μ›μžκ°’ (atomic values)
            <author>J K. Rowling</author>
    ------------ → J K. Rowling → μ›μžκ°’ (atomic values)
            <year>2005</year>
            <price>29.99</price>
       </book>
    </bookstore>

    β—‹ λ…Έλ“œμ˜ κ΄€κ³„ (Relationship of Nodes)
      - λΆ€λͺ¨
      - μžμ‹
      - ν˜•μ œ, μžλ§€
      - μ„ μ‘°, μ‘°μƒ
      - μžμ†

    β—‹ λ…Έλ“œ μ„ νƒ(Selection Nodes)
      - XPath λŠ” κ²½λ‘œ ν‘œν˜„식을 μ‚¬μš©ν•˜λ©° XML λ¬Έμ„œμ—μ„œ Nodes λ₯Ό μ„ νƒν•œλ‹€.
      - κ²½λ‘œ λ˜λŠ” λ‹¨κ³„에 λ”°λΌ Node κ°€ μ„ νƒλœλ‹€.

    -------------    -------------------------------------------------------------
     Expression    Description
    -------------    -------------------------------------------------------------
     nodename     μ΄λ¦„이 "nodename"인 λͺ¨λ“  λ…Έλ“œλ₯Ό μ„ νƒν•œλ‹€.
     /    λ£¨νŠΈ λ…Έλ“œμ—μ„œ μ„ νƒν•œλ‹€.
     //    ν˜„μž¬ λ…Έλ“œμ—μ„œ μ„ νƒν•œ μœ„μΉ˜μ— μƒκ΄€μ—†μ΄ λ¬Έμ„œμ˜ λ…Έλ“œλ₯Ό μ„ νƒν•œλ‹€.
     .    ν˜„μž¬ λ…Έλ“œλ₯Ό μ„ νƒν•œλ‹€.
     ..     ν˜„μž¬ λ…Έλ“œμ˜ λΆ€λͺ¨ λ…Έλ“œλ₯Ό μ„ νƒν•œλ‹€.
     @    μ†μ„±μ„ μ„ νƒν•œλ‹€.
    -------------    --------------------------------------------------------------
        ↓
    -------------    --------------------------------------------------------------
     Expression    Description
    -------------    --------------------------------------------------------------
     bookstore    μ΄λ¦„이 "bookstore"인 λͺ¨λ“  λ…Έλ“œλ₯Ό μ„ νƒν•œλ‹€.
     /bookstore    λ£¨νŠΈ μš”μ†ŒμΈ bookstore λ₯Ό μ„ νƒν•œλ‹€.
       μ΄ λ•Œ, ν‘œν˜„식이 μ‚¬μš©λ˜λŠ” κ²½λ‘œκ°€
       γ€Ž/γ€λ‘œ μ‹œμž‘ν•˜λ©΄ μš”μ†Œμ˜ μ ˆλŒ€ κ²½λ‘œλ₯Ό λ‚˜νƒ€λ‚Έλ‹€.
     bookstore/book    bookstore의 ν•˜μœ„인 λͺ¨λ“  book μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€.
     //book    λ¬Έμ„œμƒ μ–΄λŠ μœ„μΉ˜μ— μ‘΄μž¬ν•˜λ“  λͺ¨λ“  book μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€.
     bookstore//book   bookstore μ˜ ν•˜μœ„ μš”μ†ŒμΈ λͺ¨λ“  book μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€.
     //@lang    lang μ΄λΌλŠ” λͺ¨λ“  μ†μ„±μ„ μ„ νƒν•œλ‹€.
    -------------    --------------------------------------------------------------


    β€» κ²½λ‘œ ν‘œν˜„μ‹μ˜ μΆ”κ°€ μ˜΅μ…˜
      - ν‘œν˜„식 : /bookstore/book[1]
        λ‚΄μš©   : bookstore μš”μ†Œμ˜ ν•˜μœ„ μ²« λ²ˆμ§Έ book μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€.
         λ‹¨, IE 5 ~ 9 λΈŒλΌμš°μ €μ—μ„œ μ²« λ²ˆμ§Έ λ…Έλ“œλŠ” [0]이닀.
               ν•˜μ§€λ§Œ, W3C κ·œμΉ™μ„ μ€€μˆ˜ν•˜λŠ” λ‹€λ₯Έ λΈŒλΌμš°μ €μ—μ„œ μ²« λ²ˆμ§Έ λ…Έλ“œλŠ” [1]이닀.
              λ”°λΌμ„œ, IE μ—μ„œ λ°œμƒν•˜λŠ” μ΄ λ¬Έμ œλ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄μ„œλŠ”
         SelectionLanguage λ₯Ό XPath λ‘œ μ„€μ •ν•΄μ•Ό ν•œλ‹€.

     - ν‘œν˜„식 : /bookstore/book[last()]
       λ‚΄μš©   : bookstore μš”μ†Œμ˜ ν•˜μœ„인 λ§ˆμ§€λ§‰ book μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€.

     - ν‘œν˜„식 : /bookstore/book[position()<3]
       λ‚΄μš©   : bookstore μš”μ†Œμ˜ ν•˜μœ„인 μ²˜μŒ λ‘ κ°œμ˜ book μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€.

     - ν‘œν˜„식 : //title[@lang]
       λ‚΄μš©   : lang μ΄λΌλŠ” μ†μ„±μ„ κ°€μ§„ λͺ¨λ“  titleμš”μ†Œλ₯Ό μ„ νƒν•œλ‹€.

     - ν‘œν˜„식 : //title[@lang="en"]
       λ‚΄μš©   : lang μ†μ„±μ˜ κ°’이 en μΈ λͺ¨λ“  title μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€.

     - ν‘œν˜„식 : /bookstore/book[price>35.00]
       λ‚΄μš©   : price κ°€ 35.00 λ³΄λ‹€ ν° μš”μ†Œκ°€ μžˆλŠ” bookstore μš”μ†Œμ˜
        λͺ¨λ“  book μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€.