λͺ©μ°¨
βΆ XML Study
1. XML DTD(Document Type Definition) .txt
β κ°μ
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
β κ°μ
λ§ν¬μ μ΄λ λ¬Έμ λ΄μ© μ΄μΈμ λ¬Έμ ꡬ쑰λ₯Ό μ μνκ±°λ νννκΈ° μν΄ μ μν
λΆκ°μ μΈ μ λ³΄λΌ ν μ μμΌλ©°, λ§ν¬μ μ ννμ κ° μ΄ν리μΌμ΄μ μμ μ μν
κ³ μ ν λ°©μμΌλ‘ μ΄λ£¨μ΄μ§λ€.
μ¦, λ¬Έμ νΈμ§κΈ°λ§λ€ λ§ν¬μ μ νννλ λ°©λ²μ΄ μλ‘ λ€λ₯΄λ€λ μλ―Έμ΄λ€.
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 μμλ₯Ό μ ννλ€.