Intel의 초기에 Andy Grove는 회사에 칩 기반 개인용 컴퓨터를 개발할 것을 제안한 직원을 만났습니다. 앤디
"개인용 컴퓨터는 무엇을 할 수 있나요?" Grove가 물었습니다. 예를 들어 직원은 처방전을 저장할 수 있다고 말했습니다. 그로브는 전체 연구, 개발, 마케팅 비용이 수백만 달러에 달할 것이라고 판단했고, 결국 신호등용 칩 제공부터 시작하기로 결정했습니다.
모두가 뒤늦게 생각합니다. Andy Grove는 어떻게 보든 일반적으로 매우 똑똑한 사람으로 간주됩니다. 회사를 성장시키기 위해 중요한 결정을 내릴 수 있습니다. 그러나 1970년대라면 그에게 개인용 컴퓨터의 잠재력을 예견하도록 강요하는 것은 불가능했을 것이다. 그가 Excel, Quark, Photoshop, Oracle 또는 웹을 본 적이 있었다면 데스크탑에 강력한 프로세서를 탑재하면 소프트웨어가 무엇이든 할 수 있다는 것을 이해했을 것입니다.
하지만 직접 눈으로 보지 않았다면 누가 생각이나 했겠는가. 타자기, 계산기, 연필이 계산의 도구였던 시대에 PC와 그 목적을 설명할 수 있습니까?
이 예는 eXtensible Markup Language(XML - eXtensible Markup)를 설명하는 데 사용될 수 있습니다.
언어)가 켜져 있습니다. 아직은 비슷한게 없어서 비교가 어렵네요. XML이 HTML을 대체하거나 자신만의 태그를 정의할 수 있다는 점에서 XML이 HTML과 유사하다는 말을 들어보셨을 것입니다. PC가 처방전을 저장하는 기계라는 말처럼 이 두 진술 모두 완전히 옳은 것은 아닙니다.
우리 엄마는 숙련된 요리사이시므로 내가 어머니의 요리법을 사용한다면 우리 가족은 많은 돈을 절약할 수 있을 것입니다.
저는 간단하게 시작했어요. 그래서 텍스트 편집기를 열고 HTML을 작성하기 시작했습니다.
코드:
<HTML>
<H1 ALIGN=CENTER>레시피</H1>
<FONT FACE size=2>초콜릿 칩 바</FONT>
위의 내용을 작성한 후 어머니의 훌륭한 요리법에 대해 계속해서 쓰고 싶습니다. 그럼 어떻게 해야 할까요? 구식 웹 페이지입니다. 다음은 무엇입니까? 레시피에 관심이 있는 사람들에게 내 페이지의 URL을 제공하고 <P>와 <FONT>를 제거하도록 요청하세요.
얼굴 크기=2>? 시간이 좀 걸릴 것 같습니다. 실제 콘텐츠를 가져오고 싶습니다.
다음과 같은 가능한 XML 태그를 살펴보십시오.
<author>Carol Schmidt</author>
<recipe_name>초콜릿 칩 바</recipe_name>
XML에서 콘텐츠는 태그로 가장 잘 설명됩니다. 이렇게 하면 "초콜릿 칩"에 대한 검색이 <recipe_name> 태그에 표시되는지 확인할 수 있습니다.
Mom_의 레시피는 누구나 이용할 수 있습니다. 게다가 내 정보가 의미 있는 태그와 같은 태그로 둘러싸여 있으면 다른 프로그램에 이를 사용하는 방법을 알려줄 수 있습니다. 또한 <recipe_name> 태그의 내용을 데이터베이스의 필드로 인코딩한 다음 이를 책의 하드 카피로 출력할 수도 있습니다.
또한 XML 지원 워드 프로세서를 사용하여 웹 페이지를 쉽게 게시할 수 있습니다.
이것이 XML의 핵심입니다. 마크업을 인간과 기계가 읽을 수 있게 만드는 것입니다. 그러나 이 목표를 달성하기 전에 XML을 사용한 인코딩과 관련된 내용을 이해해야 합니다.
문서는 잘 구성되어 있어야 합니다. XML 파일은 잘 구성되어 있고 효과적이어야 합니다. 잘 정리된 문서부터 시작하겠습니다.
나는 레시피를 설명하기 위한 몇 가지 표기법을 고안하고 이를 합리적이고 읽기 쉬운 방식으로 구성했습니다. 최상의 마크업은 아닐 수도 있지만 아래 예에서는 잘 작동합니다.
<?xml 버전="1.0"?>
<목록>
<레시피>
<저자>캐롤 슈미트</저자>
<recipe_name>초콜릿칩바</recipe_name>
<식사>저녁
<course>디저트</course>
</식사>
<성분>
<item>버터 2/3C</item>
<item>황설탕 2C</item>
<item>바닐라 1티스푼</item>
<item>체로 치지 않은 다용도 밀가루 1 3/4 C</item>
<item>베이킹파우더 1 1/2티스푼</item>
<item>소금 1/2티스푼</item>
<item>계란 3개</item>
<item>다진 견과류 1/2C</item>
<item>달콤한 초콜렛 칩 2컵(12온스 포장)</item>
</재료>
<방향>
오븐을 350도로 예열하세요. 버터를 녹입니다.
큰 믹싱볼에 흑설탕과 바닐라를 넣고 섞으세요.
밀가루, 베이킹파우더, 소금을 섞어 식혀주세요.
따로 보관하십시오. 식힌 설탕 혼합물에 계란을 추가하십시오.
예약된 건조 재료, 견과류, 칩을 넣고 저어주세요.
기름칠된 13x9인치 팬에 펼칩니다.
황금빛 갈색이 될 때까지 25~30분간 굽습니다.
멋지다. 사각형으로 자른다.
</방향>
</레시피>
</list>
이것은 허용되는 XML 문서입니다. XML이 무엇인지, 즉 의미 있는 방식으로 데이터를 구성하는 방법을 알려줍니다.
이러한 태그는 HTML과 약간 비슷해 보이지만 큰 차이점이 있습니다. 파일에는 데이터가 표시되는 방식을 나타내는 정보가 없습니다. 레이아웃 지침이 준비되면
다른 곳에서 나타날 것입니다. 이는 워드 프로세서에서 생성된 목록이 아닌 데이터베이스 필드 및 레코드에 주소록 정보를 배치하는 것과 같습니다. 데이터베이스를 사용하면 주소록의 정보를 레이블, 봉투, 편지 또는 기타 원하는 매체에 결합할 수 있습니다. 마지막으로 레시피 파일은 HTML이나 CSS와 같은 프레젠테이션 언어로 합성됩니다.
앞서 언급했듯이 XML 문서는 잘 구성되어 있어야 합니다. 이는 파일이 다음 세 가지 기본 규칙을 충족해야 함을 의미합니다.
문서는 XML 정의 <?xml version="1.0"?>으로 시작합니다.
위 예의 <list>와 같이 다른 모든 콘텐츠를 포함하는 루트 요소가 있습니다.
및 </list> 태그.
모든 요소는 합리적으로 중첩되어야 하며 교차 중첩은 허용되지 않습니다.
위의 예에서 여러 <item> 요소는 <ingredients> 내에 적절하게 중첩되어 있으며
</ingredients> 태그. 그러나 다음 마크업에는 심각한 문제가 있습니다.
<ingredients><item></ingredients>chocolatechip</item>
따라서 "초콜릿 칩"은 성분 목록에 포함되지 않습니다. 따라서 문서가 잘 정리되어 있지 않습니다. 브라우저는 이미 이를 처리하도록 설계되어 있으므로 이는 HTML에서는 큰 문제가 아닐 수 있습니다.
그러나 XML에서는 이는 치명적입니다. 응용 프로그램은 정리되지 않은 파일의 처리를 거부합니다.
이제 우리는 잘 정리하는 것이 중요하다는 것을 알고 있지만, 그 이상입니다.