반응형

사용자 삽입 이미지
대부분의 브라우저는 내부적으로 XML 파서(Parser)를 가지고 있어 XML 을 읽고 쓰기가 가능하다.
파서는 XML 을 JavaScript 에서 접근 가능한 객체로 만들어준다.
아래 있는 예제는 플렛폼이나 브라우저의 상관없이 최근나온 브라우저에서 모두 작동한다.

예제)
XML 파일을 로드(Load)하고 분석(Parse) 하기 : http://www.w3schools.com/xml/tryit.asp?filename=tryxml_parsertest
XML String 을 로드하고 분석하기 : http://www.w3schools.com/xml/tryit.asp?filename=tryxml_parsertest2

1) XML 파싱(Parsing)

파서(Parser) 는 XML 을 메모리로 읽어들여 자바스크핍트(java Script) 로 접근가능한 XML DOM 객체(Object) 로 변환시킨다. XML DOM 관련해서는 9번에서 다룰 예정이므로 여기선 패수~

Microsoft 사의 XML 파서와 다른 브라우저들의 파서와 다른점이 있다면 Microsoft 사의 파서는 XML 파일과 XML String(텍스트: text) 둘다 로드 시킬 수 있도록 지원이 되지만 다른 브라우저에서는 각각의 다른 파서를 사용한다. 하지만, 모든 파서들은 XML 의 Tree, 접근, 삽입 그리고 삭제 노드들(node: Element) 와 attribute 오갈수 있는 함수를 가지고 있다. (ㅡ,.ㅡ 써놓고도 뭔소리인지 원..)

참고로 XML 파싱을 이야기 할때는 XML Element 보다는 "노드(Node)" 라는 표현을 많이 쓴다.

2) Microsoft 사의 XML 파서로 XML 로드 하기

Internet Explorer 5.0 이상되는 브라우저에 기본적으로 탑재되어 있으며 다음 Javascript  부분에서 XML 문서("note.xml") 을 파서로 로드 시킨다.

var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("note.xml");

예제설명:
    a) 첫줄을 보면 비어있는 Microsoft XML 문서 객체를 만들어낸다.
    b) 그담은 전체적으로 문서가 읽어드리기전에 파서가 스크립트 실행을 하지 않도록 비동기로딩을 꺼버린다.
    c) 마지막은 "note.xml" 이라는 XML 문서를 로드하라고 파서에게 전달하는 부분이다.

var parser=new DOMParser();
var doc=parser.parseFromString(txt,"text/xml");

예제설명:
    a) 첫줄은 비어있는 XML 문서 객체를 만들어낸다.
    b) txt 라는 string 을 로드하도록 파서에게 전달한다.

인터넷탐색기(Internet explorer) 는 loadXML() 메서드를 사용하여 XML 스트링을 분석(Parse) 한다. 다른 브라우저들은 DOMParser 객체를 사용한다. (ㅡ,.ㅡa 뭔소린지 정말 모르겠지만 이해가 되겠징..)

3) 도메인 간 접근
보안의 이유로 요즘 나오는 브라우저들은 도메인간의 접근을 막고 있다. 이 말은 만약 웹페이지와 XML 파일이 모두 읽어져야 한다면 하나의 서버에서 둘다 있어야 한다는 뜻. (글쿤)

4) XML DOM

9번에서 아마 접하게 될듯 싶다. XML 문서 객체(XML DOM) 에 접근하여 데이터를 읽어 드리는 방법을 알아보도록 하겠다.

<잡다>
XML 공부를 하면서 느낀점.. 뭐 봐도 html 과 다른건 잘 모르겠지만, asp.net 강좌를 보면 web.config 파일이 XML 로 되어 있는듯.. 싶다.. 뭐 정확한건 나중에 보면 알겠지 모... asp 강좌는 6개 봤다. 이궁.. 눈아프고 머리아프당.

반응형

'초짜 IT보이 서바이벌 스토리 > XML' 카테고리의 다른 글

7. XML - 기타등등 (기초부분의 마지막)  (0) 2008.07.10
6. XML Attributes  (0) 2008.07.09
5. XML ELEMENT  (0) 2008.07.06
4. XML 문법  (0) 2008.07.06
3. XML Tree  (0) 2008.07.06
반응형
사용자 삽입 이미지
이번엔 나머지 부분들을 통합해서 보기로 했다. Javascript 쪽과 그 외 부분들이 궁금해 죽겠어서 그런거라..
러쉬러쉬.. :) 하지만 내용 부분중 빼먹은 부분은 없슴다.
모든 내용의 출처는 http://www.w3schools.com/ 이다.

1. Validation (유효성 점검)
모든 문법에 맞는 XML 과 그렇지 않는 XML 을 살펴보기로 한다. 그전에 지난번에 봤던 문법을 요약해 보면
   a) Root Element 가 있어야 한다.
   b) 끝부분 태그가 있어야 한다.
   c) 소대문자를 가린다
   d) 태그 순서와 배열을 지켜야 한다.
   d) Attribute 의 값은 따옴표 안에 들어 있어야 한다.
이다.

정확하게 맞는 XML 을 보면 이제껏 보아온 XML 예제이다. 그 Note 예제..
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

자 그럼 위의 XML 이 유효한 XML 이란 무엇일까? DTD (Documnet Type Definition: 문서형 정의) 법에 맞는 XML 이다.
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note> 

DOCTYPE 선언이 위의 샘플에 들어있다. 외부 DTD 파일을 참조한다는 뜻.

2) XML DTD
여기선 DTD 가 무엇인지 그리고 예제만 보고 넘어간다. 이후에 XML DTD 관련해서 따로 올릴 예정이다.
DTD 의 목적은 XML 문서의 구조에 대한 정의에 따라 만들어진 Element 들의 사용을 관리하기 위해 사용된다.

<!DOCTYPE note [
  <!ELEMENT note (to,from,heading,body)>
  <!ELEMENT to      (#PCDATA)>
  <!ELEMENT from    (#PCDATA)>
  <!ELEMENT heading (#PCDATA)>
  <!ELEMENT body    (#PCDATA)>
]>

3) XML Schema
DTD 대신 사용할 수 있는건 W3C 를 기반으로 한 Schema 이다. 여기서도 예제만 보고 넘어간다.

<xs:element name="note">
<xs:complexType>
  <xs:sequence>
    <xs:element name="to"      type="xs:string"/>
    <xs:element name="from"    type="xs:string"/>
    <xs:element name="heading" type="xs:string"/>
    <xs:element name="body"    type="xs:string"/>
  </xs:sequence>
</xs:complexType>

</xs:element>

4) 유효성 검사기(Validator)
XML 문서에 에러가 있으면 XML 어플리케이션은 멈추게 된다. XML 소프트웨어는 작고 빠르고 호환성이 있어야 하기 때문이다. HTML 브라우저는 마지막 태그가 없다던가 하는 에러가 있더라도 만들어진 문서를 사용자에게 보여준다. 하지만 XML 에서는 에러가 허용되지 않는다.
모 국내에도 있겠지만서도 W3School.com 에 가면 XML Validator 기능이 있다. DTD 의 유효성 체크는 인터넷탐색기에서는 되지만 Firefox, Mozilla, Netwcape 그리고 Opera 에서는 지원을 안한다.

5) XML 문서보기
XML 문서에는 Data 를 보여주기 위한 정보가 포함되어 있지 않다. 그렇기 때문에 문서를 열게 되면 아래와 같이 열리게 된다. 문서의 내용을 보고 싶다면 CSS, XSLT 그리고 JavaScript 를 사용해야 한다.

그럼 CSS (Cascading Style Sheets) 를 사용하여 XML 문서를 보는 법을 알아보겠다.
CSS 파일 - http://www.w3schools.com/xml/cd_catalog.txt
XML 파일 - http://www.w3schools.com/xml/cd_catalog.xml
그리고 CSS 가 적용된 XML 파일 - http://www.w3schools.com/xml/cd_catalog_with_css.xml

맨 마지막 파일을 보면 원하는데로 XML 데이터들이 CSS 정의대로 보여지고 있다. XML 문서에 아래의 예제와 같이 CSS 선언이 되어 있다.

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/css" href="cd_catalog.css"?>
<CATALOG>
  <CD>
    <TITLE>Empire Burlesque</TITLE>
    <ARTIST>Bob Dylan</ARTIST>
    <COUNTRY>USA</COUNTRY>
    <COMPANY>Columbia</COMPANY>
    <PRICE>10.90</PRICE>
    <YEAR>1985</YEAR>
  </CD>
  <CD>
    <TITLE>Hide your heart</TITLE>
    <ARTIST>Bonnie Tyler</ARTIST>
    <COUNTRY>UK</COUNTRY>
    <COMPANY>CBS Records</COMPANY>
    <PRICE>9.90</PRICE>
    <YEAR>1988</YEAR>
  </CD>
.
.
.
.
</CATALOG>   

CSS 를 사용하는 방법은 많이 사용되고 있는 방법이 아니며, W3C 에서는 XLST 사용을 권하고 있다.
그렇다면 XSLT (eXtensible StyleSheet Language Transformations) 을 살펴보기로 하자. XSLT 는 CSS 보다 좀더 복잡하다. XSLT 를 XML 에 사용하는 방법중 하나는 브라우저에 보여지기 전에 HTML 로 변환하는 방법이다.

XML 예제파일 - http://www.w3schools.com/xml/simple.xml
XSLT 예제파일 - http://www.w3schools.com/xml/simple.xsl
XSLT 가 적용된 XML 보기 - http://www.w3schools.com/xml/simplexsl.xml

역시 마지막 파일에서도 위의 CSS 선언과 마찬가지로 <?xml-stylesheet type="text/xsl" href="simple.xsl"?>
부분이 선언되어 있다. XSLT 관련되어서는 나중에 좀더 알아보기로 하겠다.

XSLT 변환은 브라우저에서 XML 을 읽으면서 시행이 된다. 다른 버전의 브라우저에서 XSLT 를 선언한 XML 이 다르게 보이는 경우가 있기 때문에 서버측에서 XSLT 가 처리되도록 하면 문제 해결이 된다.

서버측에서 처리된 XSLT http://www.w3schools.com/xml/simple.asp
웹서버에서 처리가 되었든 브라우저에서 되었든 변환된 결과는 같다.

다음은 XML Javascript 관련해서 읽어보도록 하겠다.

반응형

'초짜 IT보이 서바이벌 스토리 > XML' 카테고리의 다른 글

8. XML Parser(파서)  (0) 2008.07.16
6. XML Attributes  (0) 2008.07.09
5. XML ELEMENT  (0) 2008.07.06
4. XML 문법  (0) 2008.07.06
3. XML Tree  (0) 2008.07.06
반응형

사용자 삽입 이미지
잠깐 짜투리 시간이 남아 XML Attributes(어트리뷰트) 관련해 올려본다.

올리는 모든 글은 http://www.w3schools.com 에서 읽은 내용이다. 읽다 보면 알겠지만, 처음 몇개는 읽으나 마나한 사항들인듯.. 왜냐하면.. 나중에 나온다. ^^a 읽으면서 몇줄 안되지만 그래도 허무했다눈~



1. XML Attribute 란?
HTML 과 동일하게 시작하는 태그에서 Attribute 를 지정할 수 있다. Attribute 는 Element 의 정보를 좀더 더해주는 기능을 한다.
HTML 의 예로
<img src = "computer.gif">
<a href = "demo.asp">
여기서 img 라는 Element 의 src 라는 Attribute 정보가 더해진것을 볼 수 있다.
Attribute 는 데이터와 상관없는 정보를 보여주기도 하는데, 아래의 예처럼 file type 은 데이터와 무관한 정보이지만 element 를 사용하려는 소프트웨어에겐 중요한 역활을 한다.
<file type = "gif"> computer.gif </file>

2. XML Attribute 는 따옴표를 사용해야 한다.
작은 따옴표든, 큰 따옴표든 반드시 사용해야 한다. 아래의 예를 보자
<person sex="female">

<person sex='female'>

만약 attribute 이름 자체적으로 따옴표가 있다면 작은 따옴표를 사용한다.

<gangster name='George "Shotgun" Ziegler'>
<gangster name="George &quot;Shotgun&quot; Ziegler">

3. Element vs. Attributes
다음 2개의 예를 살펴보자
<person sex="female">
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

<person>
  <sex>female</sex>
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

첫번째 예에서는 sex 는 Attribute 이다. 그리고 두번째 예에서는 Element 이다. 둘다 같은 정보를 보여준다.
둘 중 하나를 언제 어떻게 사용해야 하는지에 대한 규칙은 없지만 글쓴이의 조언에 의하면 Element 를 사용하는것이 더 좋다고 하며 Attribute 는 왠만하면 사용하지 말라고 한다. 다음 3개의 예중 맨 마지막이 가장 element로는 최적화 되어 있는듯..
<note date="10/01/2008">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

(Date 를 Element 로 빼면 아래와 같다)

<note>
<date>10/01/2008</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

(아래는 Element 최적화된 코드)

<note>
<date>
  <day>10</day>
  <month>01</month>
  <year>2008</year>
</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note> 

4. 왜 Attribute 의 사용을 절제해야 할까?
Attribute 를 사용하면 다음과 같은 문제가 발생한다.
   a) Element 에서는 가능하지만 Attribute 에서는 하나 이상의 값을 가질 수 없다.
   b) Element 에서는 가능하지만 ATtribute 에서는 Tree 구조를 가질 수 없다
   c) 그리고 Attribute 는 이후를 위한 확장성이 떨어진다.
이 외에도 읽기 어렵고 유지하기도 어렵다. 그럼 완전히 배제해야 할까? 아니다.. 이왕 사용하는거 데이터와 관련된 부분은 Element 로 그리고 데이터와 관계없는 정보들은 Attribute 를 사용하는게 바람직 하다.

5. MetaData 의 XML Attribute
Element 에 ID 참조를 지정할 때가 있따. 이 ID 들은 HTML 의 ID 과 마찬가지로 XML element 을 표식하기 위해서이다.

예에서 사용된 ID들은 각각의 NOTE 를 구분하는 표식 역활을 하며 Note 내용의 일부분이 아니다.
Metadata(데이터의 데이터)는 Attribute 로 저장되어야 하고 데이터 그 자체는 Element 로 저장되어야 한다는게 글쓴이의 뜻이라네..

다음에 올리는 글이 XML 초급 첫단계가 끝나는 마지막이다. 에효 이제 초급이 끝나는구먼..
유효성(Validation), 코드보기(Viewing), CSS, XSLT 를 묶어서 설명될 예정이다.  ㅡ,.ㅡ 좀 졸립네.. 아웅.
반응형

'초짜 IT보이 서바이벌 스토리 > XML' 카테고리의 다른 글

8. XML Parser(파서)  (0) 2008.07.16
7. XML - 기타등등 (기초부분의 마지막)  (0) 2008.07.10
5. XML ELEMENT  (0) 2008.07.06
4. XML 문법  (0) 2008.07.06
3. XML Tree  (0) 2008.07.06
반응형

사용자 삽입 이미지

1) 자 그럼.. Element 란 무엇일까에 대해 요소요소 알아보기로 하자.. ㅡ,.ㅡa

XML Element 는 태그의 시작점 부터 끝까지의 모든것이라 할 수 있다고 씌여 있는데 뭔말이래.. ㅡ,.ㅡ
이해가 안가 다시 한번 읽어봤다. 그래도 이해가 안가는군.. 패수~

Element 는 다른 Element 를 가질 수 있고, 그냥 텍스트 형으로도 가질 수 있고 또한 모두 가질 수 있다.
아.. 번역이 안되기 시작한다.. 눈이 감긴다... 넘 오래 영얼 봤다.. 전에도 이야기 했지만 여기 있는 내용들은 http://www.w3schools.com 을 읽으며 나름대로 정리한 것으로 싸이트 가보면 알겠지만 몽창 영어다.. 젠장.
편하게 한글로 되어 있는거 봐도 좋겠지만.. 한글로 읽으면.. 퍼올 필요가 없자네.. ㅡ,.ㅡ 즉 점수용이다 이거쥐.. 글올리는 재미? 나만의 XML 정리? 뭐 그정도? 이해가 안가니 또 딴소리 한다..

자 예제를 보며 이해를 해보도록 하자.

<bookstore>
<book category="CHILDREN">
  <title>Harry Potter</title> 
  <author>J K. Rowling</author> 
  <year>2005</year> 
  <price>29.99</price> 
</book>
<book category="WEB">
  <title>Learning XML</title> 
  <author>Erik T. Ray</author> 
  <year>2003</year> 
  <price>39.95</price> 
</book>
</bookstore>

문법을 일단 읽고나니 예제 보기 쉽구먼.. 위에서 언급한 "Element 는 다른 Element 를 가질 수 있고, 그냥 텍스트 형으로도 가질 수 있고 또한 모두 가질 수 있다." 라는 부분이 자연스레 이해가 된다.
즉 <book> element 는 Category 라는 Attribute 를 가지고 있고 <bookstore> 와 <book> 은 <title><author><year><price>라는 element 를 가지고 있다. 대충 난 이해가 되는뎀..
읽는사람들은 이해가 내가 쓴 글만 보고 이해가 될지 의문이넴.. ^^ 일단 패수~

2) 다음은 XML 의 이름 붙히기(네이밍:Naming) 규칙이다.
여기서 네이밍이란 태그 이름인거 같은뎀.. 아마 그럴꺼다.. ㅋㅋ
    a) 모든 태그의 이름은 글자, 숫자 그리고 다른 문자를 포함한다.
    b) 모든 태그의 이름은 숫자나 구두문자로 시작해서는 안된다.
    c) 모든 태그의 이름은 xml, XML, 또는 Xml 로 시작하면 안된다.
    d) 그리고 스페이스가 있어서는 안된다.
까다롭지 않고 단순한 규칙이다. 모든 이름들이 사용될 수 있고 사용할 수 c) 의 XML 외엔 보존(reserve)되어 있는 글자나 이름은 없다.

그외에 알아 두면 좋은 내용은 태그 이름을 붙일때
언더바(_) 를 사용하면 이해하기 쉽고, 길면 좀 그럴꺼 같고.. 그리고
"-" 의 사용은 프로그램이 빼기로 이해할 수 있기때문에 사용을 좀 안했음 좋겠고
"."는 객체의 특성으로 이해할지도 모르니 배제하고
":" 의 사용은 음.. namespace 라는거로 사용되어야 함으로 쓰지 않는게 좋단다.

XML 은 주로 데이터베이스와 대응하기 때문에 데이터베이스의 element 들을 바로 사용하는게 좋을듯 싶다.
아..
그리고 영어가 아닌 다른 글자들은 안된다고 하는데.. 이유는 소프트웨어에거 지원을 안할지도 모르기 때문이라고..  (이부분은 솔직히 안써봐서 모르겠다. 나중에 선배들에게 물어봐야 겠다)

3) XML Element 는 신장성(Extensible)이 있다.
커헐.. 내가 적어보니 말이 되는지 모르겠다.. 쭉쭉 늘어나나? extensible 의 사전적 의미는  " 있는, 늘일 있는, 신장성있는" 이라고 네이놈딕셔너리에 적혀있다. 하지만 여기서 사용되는 의미와는 조금 다른듯 싶다. 작성자가 왜 extensible 이라는 단어를 사용했을까? 글자만 보지말고 좀더 읽어보기로 했다
뭐 여하튼 내용은 다음과 같다.

<note>
<to>Tove</to>
<from>Jani</from>
<body>Don't forget me this weekend!</body>
</note>

자 위의 XML 을 읽어 들여 보여줄 수 있는 어플리케이션이 있다고 치자. 이 어플리케이션에서는 <to><from><body> 만을 읽어들여 다음과 같이 표현해 낸다.

MESSAGE

To: Tove
From: Jani

Don't forget me this weekend!

하지만 만약 아래와 같이 썼다면.. 같은 어플리케이션에서는 어떻게 될까?

<note>
<date>2008-01-10</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

<date> 태그와 <heading> 태그가 들어가 있는뎀... 하지만 어플리케이션은 여전히 자기가 읽을 수 있는 부분인 <to><from><body> 만을 읽어 같은 결과를 보여준다.

위의 extensible 이라는 표현은 이때문에 사용된듯 싶다. XML 의 Element 사용은 어플리케이션을 방해하지 않는다. 달라는것만 주고 말라는건 걍 가지고 있는다. extensible.. 으음.. :)
역시 우리는 설명도 설명이지만 코드로 이해하는게 더 편한거 같다. ㅋㅋ

이로써 Element 관련해서는 끝이다.  다음은 Attribute 에 대해 알아보겠다.

반응형

'초짜 IT보이 서바이벌 스토리 > XML' 카테고리의 다른 글

7. XML - 기타등등 (기초부분의 마지막)  (0) 2008.07.10
6. XML Attributes  (0) 2008.07.09
4. XML 문법  (0) 2008.07.06
3. XML Tree  (0) 2008.07.06
2. XML 편 - 소개(2)  (0) 2008.07.03
반응형


사용자 삽입 이미지

아.. XML 러쉬다 러쉬..
이렇게 러쉬 하는건 XML 은 ASP.NET 을 공부하기 위한 준비단계이며 대충 뭔지만 알면 된다고 하지만 그래도 일단 시작한거 제대로 알고 싶다. 하지만 시간이 없어서 가장 기초적인 부분들을 중점적으로 다루고 있는 http://www.w3schools.com 에서 읽은 내용들을 예제와 함께 올리고 있는 것이다. 읽으면서 풀이를 하면 나도 이해가 되고, 모.. 나중에 다시 읽을 일이 있을때 쉽게 찾을 수 있을듯 싶어서 이기도 하다.


자 그럼 XML 의 문법을 살펴보도록 하자.

XML 의 문법은 굉장히 쉽고 직관적으로 되어 있어 배우기도 쉬워 바로 사용할 수 있다.
내가 가장 좋아라 하는 부분은 문법도 몇개 안된다는 것  => 9개다 9개.. 음트트 9개만 알면 XML 문법은 끝
*^^* 하지만 문제는 어디에 사용하냐는 거겠지만.. ^^

1) 모든 XML 의 Element 는 시작과 끝이 있다.
HTML 에서도 시작태그와 끝부분 태그가 있긴 하지만 안쓴다고 해서 Explorer 에서 무시하고 지나가진 않다.

<p> 안녕하세요 문단의 시작입니다.

하지만 XML 에서는 꼭 끝부분의 태그가 필요하다.

<p> 안녕하세요 문단의 시작입니다. </p>

맨 처음의 예처럼 끝부분의 태그가 없다면 XML 은 에러 처리를 하는것이 아니라 XML 자체에서 빼버린다고 하는데, 이건 해보지 않아서 잘 모르겠다. 나중에 알게 되겠지.

2) XML 태그들은 대소문자를 가린다.
말 그대로 <letter> 태그와 <Letter> 태그는 다르다는 것. 시작을 대문자로 했다면 끝도 대문자로 해야 한다는 것이다.
<Message> 틀린 문법 </message>
<Message> 올바른 문법 </Message>

3)  모든 XML 의 Element 들은 순서(Nest) 가 잘 되어 있어야 한다.
HTML 에서는 열고 닫는 태그들이 순서를 올바르지 않게 사용되는 경우가 종종 있다.
즉 아래의 예제와 같이
<b><i> 순서로 태그가 열렸다면 닫히는 순서는 </i></b> 순이다.

4) XML 은 Root Element 가 꼭 있어야 한다.
XML 에는 모든 element의 부모 Element 즉 Root Element 가 있어야 한다. 이전의 예제를 보면 될 듯 싶어 예는 따로 쓰지 않겠다.

5) 모든 XML 의 Attribute 의 값들은 따옴표 사용을 해야 한다.
<note date="12/11/2007">
<to>Tove</to>
<from>Jani</from>
</note>
위의 예제에서처럼 Note Element 에 있는 date의 어트리뷰트(Attribute) 값에 따옴표가 없다면 에러가 난다..
보진 않아서.. 말아쥐.. ㅡ,.ㅡ 뭐 여하튼 에러가 난단다.

6) Entity 참조
몇몇의 글자들은 XML 에서는 중요하게 사용되고 있다. 말도 안되게 보이지만서도.. 의미가 있는 글자들이기 때문에 기억해 놔야 할듯 싶다.
만약 <Message> if Salary < 1000 then </Message> 라고 쓴다면 에러가 난다.
에러가 안나게 하려면 <Message> if Salary &lt; 1000 then </Message> 라고 써야 한다.
저런걸 언제 다 외워? 하겠지만 5개밖에 없다고 하는데.. 그래도 외우기 힘들게 생겨먹었다. ㅋㅋ

&lt; < less than (보다 작다)
&gt; > greater than(보다크다)
&amp; & ampersand (그리고)
&apos; ' apostrophe(작은따옴표)
&quot; " quotation mark(따옴표)

재미있는건 "<" 랑 "&" 의 사용만이 XML 에서 안된단다. 즉 ">" 의 사용은 허용이 된다는데.. 뭐 대충 귀찮기 때문에 시작부터 걍 쓰라는데로 쓰는게 나중을 위해 편할듯 싶다.

7) XML 에서의 Comments
모든 언어엔 Comment 를 달 수 있게 되어있다는건 프로그램을 하는 사람이라면 누구나 알고 있는 사항이다.
나처럼 초보이면서 Comment 를 안달면 선배들에게 꽤 혼날듯 싶네.. 음트트

XML 에서는 <!-- this is a comment --> 이렇게 단다. HTML 과 같음.

8) 스페이스 바 사용되는 족족 XML 에서는 그대로 표현한다.
이부분을 어떻게 설명해야 할지 좀 그랬지만 걍 쉽게 설명하면 HTML 에서는 Hello            world.. 라고 치면..
보여지는건 중간에 내가 집어 넣은 스페이스가 다 지워지고 Hello World 라고 나오는데 XML 에서는 내가 사용한 스페이스 바 만큼 나온다는 뜻이라 생각해 두면 될듯 싶네..

9) XML 에서 LF = New Line
윈도우 어플리케이션들은 새로운 라인 즉 New Line 을 2 글자로 저장한다. CR(Carriage Return) 과 LF(Line Feed) 유닉스에서는 LF 로 그리고 맥킨토시에서는 CR 로만 표현이 된다네..

자 이렇게 해서 문법은 끝이 났다. 뭐 별 다른 질문들이 생각나지도 않고.. 모.. 아직까지는..
여하튼 다음은 Element 와 Attribute 들에 대해 알아보겠다.

반응형

'초짜 IT보이 서바이벌 스토리 > XML' 카테고리의 다른 글

6. XML Attributes  (0) 2008.07.09
5. XML ELEMENT  (0) 2008.07.06
3. XML Tree  (0) 2008.07.06
2. XML 편 - 소개(2)  (0) 2008.07.03
1. XML 편 - 소개  (0) 2008.07.03
반응형

사용자 삽입 이미지


이제 대충 XML 의 사용 용도를 알게 된듯 하다..
좀더 알아보고 싶네..

XML 2편에서의 예제를 다시 들여다 보면..

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

이렇게 되어 있다.
자체적으로 설명이 될 수 있는 (Self-Describing) 쉬운 문법을 가지고 있는건 분명하다.
그럼 첫번째 라인은 무슨 뜨일까?

XML 의 선언이다. 버전은 (1.0) 이며 인코딩은 (ISO-8859-1 = Latin-1/West European character set) 를 사용한다.
그 다음 라인은 Root element 이다. 즉 이 문서는 Note 이다.. 라고 이야기 해주는거 같네..
<Note>.. :)
그 다음 4줄은 Child Element 로써 <to, from, heading 그리고 body> 내용을 보여주며 마지막으로.. root element의 끝을 선언하는 </note> 가 보인다.

위에 쓰여진 XML 은 Note 로써 Jani 가 Tove 에서 보내는 알림 노트정도로 보이는데, 정말 자체적으로 설명이 다 되어있다.

여기서 알수 있는건 XML 은 Root Element 를 꼭 가지고 있어야 한다는 것이다. 별거 아닌듯 보이지만 위의 Tree 방식만 기억하고 있다면 아무리 복잡한(?) XML 이라도 쉽게 다가갈 수 잇을듯.. 싶네..

<root>
  <child>
    <subchild>.....</subchild>
  </child>
</root>

HTML 처럼 root 이든 child element 이든 모든 elemtent 들은 내용과 Attribute 를 가질 수 있다.
예를 보면..

<bookstore>
<book category="COOKING">
  <title lang="en">Everyday Italian</title>
  <author>Giada De Laurentiis</author>
  <year>2005</year>
  <price>30.00</price>
</book>
<book category="CHILDREN">
  <title lang="en">Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>
<book category="WEB">
  <title lang="en">Learning XML</title>
  <author>Erik T. Ray</author>
  <year>2003</year>
  <price>39.95</price>
</book>
</bookstore>

예제는 BookStore(root element) 책방이며 각각의 book 책(child element)들은 4개의 Sub Child Element를 가지고 있다. title 제목, author 지은이, year 년도, 그리고 price 가격이다.

대충 Tree 에 대해선 모두 알아본 셈이군.. 다음은 문법에 관련해서 알아보겠다.

반응형

'초짜 IT보이 서바이벌 스토리 > XML' 카테고리의 다른 글

6. XML Attributes  (0) 2008.07.09
5. XML ELEMENT  (0) 2008.07.06
4. XML 문법  (0) 2008.07.06
2. XML 편 - 소개(2)  (0) 2008.07.03
1. XML 편 - 소개  (0) 2008.07.03
반응형
사용자 삽입 이미지

자 할일이 없는 관계로.. XML 계속 읽어 볼까낭..

XML 은 HTML 에서 데이터를 분리시킨다..
뭔 소리래..
읽어보니 이런 소리군..

동적인 데이터들을 HTML 문서에서 구현하려면? 음... 데이터가 바뀔때마다 HTML 구문들도 바뀌어야 하는데..
XML 에서는 따로 XML 파일로 데이터들을 저장시켜버린단다. 이렇게 하면 HTML 은 레이아웃을 잡고 데이터 디스플레이에만 사용할 수 있고 자바스크립트를 사용하여 외부에 저장되어 있는 XML 파일의 데이터를 읽고 업데이트까지 할 수 있다넴.. 나중에 함 보지 모..

XML 은 데이터 공유를 쉽게 하게 해준다.
XML 은 (다른 플렛폼간의) 데이터 전송을 간단하게 해준다.
헐 그러냥.. 실제로 컴퓨터 시스템 과 데이터베이스 는 상호호환 안되는 프렛폼이거나, 혹은 서로 다른 포멧의 데이터들을 가지고 있다.
XML 데이터는 텍스트파일로 저장이 되어 있어 데이터를 저장하는데 있어 소프트웨어든 하드웨어든 성향을 타지 않기 때문에 다른 어플리케이션끼리 데이터를 공유하고 만드는 작업을 XML 을 통해 쉽게 할 수 있단다.

음 생각해 보니 여기 티스토리 데이터 백업도 XML 파일이던뎀.. 또 한번 받아봐야징 ㅋㅋ

새로운 인터넷 언어들도 XML 을 사용하여 만들어지고 있다
XHTML(
HTML 의 최신버전),WSDL,WAP&WML,RSS(news feed), RDF & OWL,SMIL(Multimedia) 등

음.. 읽어보니 좋네.. XML :) 더 알아봐야겠다..
반응형

'초짜 IT보이 서바이벌 스토리 > XML' 카테고리의 다른 글

6. XML Attributes  (0) 2008.07.09
5. XML ELEMENT  (0) 2008.07.06
4. XML 문법  (0) 2008.07.06
3. XML Tree  (0) 2008.07.06
1. XML 편 - 소개  (0) 2008.07.03
반응형

사용자 삽입 이미지


소켓 공부와 함께 병행하게 된 ASP.NET

먼저 여기 올리는 내용들은 모두 http://www.w3schools.com 에서 가지고 온 내용들임. 100프로는 아니지만.. 일단 시작전에 알아야 할 사항들..이란다..

1) WWW, HTML, XML 과 웹페이지를 만들수 있는 기본적인 지식
2) 스크립팅 언어.. 예) 자바스크립트, VBScript
3) 서버측 스크립팅 예) ASP 또는 PHP

일단 XML 빼고는 위 사항들에 어느정도 대충 알고 있다 치고 XML 을 함 봐볼까낭.. 하면서..
XML 인트로만 쓰려고 했는데, 읽어보니 넘 많군..
그래서 간단명료하게 정리만 해서 소개글 형식으로 하고.. ASP.NET 공부해야 하니깐.. 대충 훑어보고 넘어가야겠당.. 음트트

자 XML 을 이해하기 위해서는 HTML 과 자바 스크립트를 알고 있어야 한다는데, 모 대충 안다고 치고..

그럼.. XML 이란?
EXtensible Markup Language ㅡ,.ㅡ 그런가?
XML 은 간단하게 데이터를 옮기고 저장하기 위해 디자인된 언어이란다. 흠.. 그렇군..
보여주는것(Display) 이 아닌 옮기는.. (중요)
그리고 XML 태그들은 선언을 해줘야 한다네.. 나머지는 공부하면서 차차 알아가도록 하고..

XML 과 HTML의 차이.. 알아야 하낭? 뭐 여하튼..
일단 만들어진 배경이 다르다고 한다. XML 은 위에서 언급한데로 데이터를 옮기고 저장을 위해 만들어진 언어이고 HTML 은 데이터를 보여주기(Display) 위해 만들어진 언어이다.
들고 다니는(Carrying) 것과 보여주는(Display) 의 차이라 함..

XML 이 하는일 이 뭘까낭.. 하고 살펴보면.. 참 이해하기 힘드넴.. 아무것도 안한다. 이유는?
XML 은 정보의 구조를 짜고, 저장하고 들고 다니기 때문이다.

<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

위의 XML 예를 보면 Jani 라는 사람이 Tove 라는 분에게 메세지를 보낸것이다. 이 태그들만 봐도 대충 어떤건지 알수 있다. 헤더도 있고 바디도 있고, 하지만 이 태그로 둘러싸인 정보를 보내고 받고 보여주기 위해선 다른 언어가 수고해 줘야 한다는.. 희안한 언어이넴..

XML 에서는 사용자가 태그를 만들 수도 있다고 한다. 일단 텍스트로만 이루어진 언어라 어떤 텍스트 에디터로도 열고 만들고 할 수 있다고 하며 위의 예에서도 볼 수 있지만, <to> 라든지 <from> 이라든지는 XML 의 태그가 아닌 만들어진 태그라 한다. 즉 선언을 하여 어떤 태그든 만들어 사용하면 된다는.. ^^a 좋은건지.. 뭔지는 아직 잘 모르겠다.

뭐 여하튼 지금으로써는 XML이 뭐 그리 대단한건지는 모르겠지만, 어디에서든지 볼 수 있기 떄문에 알아두고 싶다.

반응형

'초짜 IT보이 서바이벌 스토리 > XML' 카테고리의 다른 글

6. XML Attributes  (0) 2008.07.09
5. XML ELEMENT  (0) 2008.07.06
4. XML 문법  (0) 2008.07.06
3. XML Tree  (0) 2008.07.06
2. XML 편 - 소개(2)  (0) 2008.07.03

+ Recent posts