KR20080045703A - 스크립트 마크업 - Google Patents

스크립트 마크업 Download PDF

Info

Publication number
KR20080045703A
KR20080045703A KR1020087005893A KR20087005893A KR20080045703A KR 20080045703 A KR20080045703 A KR 20080045703A KR 1020087005893 A KR1020087005893 A KR 1020087005893A KR 20087005893 A KR20087005893 A KR 20087005893A KR 20080045703 A KR20080045703 A KR 20080045703A
Authority
KR
South Korea
Prior art keywords
script
markup
document
attribute
objects
Prior art date
Application number
KR1020087005893A
Other languages
English (en)
Inventor
닉힐 코타리
버트랜드 르 로이
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20080045703A publication Critical patent/KR20080045703A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Document Processing Apparatus (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

스크립트 마크업 언어는 문서와 연관된 스크립트 기반의 대화형 동작 및 어플리케이션 로직을 정의하기 위한 선언 메카니즘을 제공한다. 상기 대화형 동작 및 어플리케이션 로직을 정의하는 스크립트 마크업은 문서에 대한 마크업의 독립된부으로 표현되고, 문서의 컨텐츠 및 표현에 관한 임의의 마크업과 분리된다.
마크업, 마크업 언어, 마크업 문서, 스크립트 마크업 언어, 스크립트, 문서 동작 정의

Description

스크립트 마크업{SCRIPT MARKUP}
본 발명은 문서의 포맷 지정 방법에 관한 것이며, 보다 구체적으로는 스크립트 마크업 언어를 사용한 문서의 포맷 지정 방법에 관한 것이다.
역사적으로, 마크업은 조판을 위한 원고 사본에 글자체 크기 및 글꼴의 사용, 여백, 들여쓰기 등과 같은 포맷 지정에 대한 지시를 마킹하는 프로세스를 지칭하는 것으로 사용되었다. 오늘날의 디지털 시대에는, 마크업이 전자 마크업, 즉 문서의 포맷 지정을 기술하고, 전자 문서에 내재되며 때때로 보이지 않는 코드를 지칭한다. 일반적으로, 사용자는 전자 문서를 디스플레이하는 브라우저로 그 문서의 소스 코드를 봄으로써 전자 문서의 마크업을 열람할 수 있다. 문서의 전자 마크업은 일반적으로 텍스트의 인코딩뿐만 아니라, 문서의 텍스트 및 컨텐츠의 구조, 외양 및 표현에 대한 세부사항도 제공한다.
전자 문서의 마크업은 주로 마크업 언어를 사용하여 프로그래밍된다. 마크업 언어는 웹 브라우저와 같은 특수 어플리케이션을 통해 문서가 보여지는 경우 텍스트의 포맷 지정을 제어하는 태그를 문서에 끼워넣기(embed) 위한 구문 및 절차를 제공한다. 일반적으로 사용되는 전자 마크업 언어는 HTML, XML 및 ASP.NET을 포함한다. 종래로, 마크업 언어는 정적 문서(static document)의 컨텐츠 및 외양을 설 계하기 위하여 사용되고 있다.
하지만, 웹 어플리케이션과 같은 대화형 어플리케이션의 경우, 웹 페이지와 같은 문서의 컨텐츠 및/또는 표현이, 예컨대 사용자 입력에 기반하여 변경될 수 있다. 따라서, 문서의 마크업은 문서 동작을 결정하는 정보를 수반해야 한다. 종래에는, 문서 동작이 스크립트에 절차적으로 구현되어 왔다. 동적인 문서 동작을 제공하기 위하여, 문서의 마크업은 적절한 시점에 스크립트의 메쏘드를 호출할 수 있다. 이에 따라 스크립트 메쏘드에 대한 호출 및 마크업이 뒤섞이면, 문서의 마크업을 독립적으로 설계하는 것을 어렵게 만든다. 한편, 종래에는 스크립트 언어가 절차적이고 강제적이었기 때문에, 일반적으로 문서 사용자는 문서에 대한 특정 동작을 설계하기 위하여 스크립트 언어를 사용할 수 없었다.
이 배경기술 부분에서 현존하는 시스템의 특정 단점이 기술 및 설명되었지만, 당업자라면 본 명세서에서 청구되는 기술적 사상이 기술된 단점 중 임의의 것 또는 전부를 해결하기 위한 임의의 특정 구현으로 한정되지 않음을 인정할 것이다.
본 설명은 이하의 실시예에서 더 설명되는 기술적 사상의 선택을 간략화된 형태로 소개하기 위하여 제공된다. 본 설명은 청구되는 기술적 사상의 중요 특징을 식별하기 위한 것으로 의도된 것이 아니며, 청구되는 기술적 사상의 범위를 결정하는데 도움이 되도록 사용되는 것으로 의도된 것도 아니다.
본 발명의 양태를 통하여, 문서와 연관된 어플리케이션 로직 및 스크립트 기반 대화형 동작을 정의하기 위한 선언 메카니즘을 제공하는 스크립트 마크업 언어를 이용가능할 수 있게 된다. 또한, 본 발명의 양태에 의하여, 문서와 연관된 대화형 동작 및 어플리케이션 로직이, 문서의 컨텐츠 및 표현에 관한 마크업("일반 마크업")과 분리된 문서의 독립 레이어("스크립트 마크업")로서 정의되는 것이 가능해진다.
본 발명의 일 양태는 스크립트 마크업 언어를 채용하여, 문서의 동작을 정의하기 위해 문서에 대한 스크립트 마크업을 프로그래밍하는 것이다. 스크립트 마크업은 문서를 디스플레이하기 위한 마크업 정보를 포함하는 마크업 문서에 포함되거나 참조될 수 있다. 마크업 문서는 디스플레이되는 문서의 컨텐츠 및/또는 외양을 정의하는 하나 이상의 일반 마크업 요소를 포함하는 일반 마크업부를 더 포함할 수 있다. 스크립트 마크업부가 일반 마크업부의 일반 마크업 요소의 동작을 정의할 수 있지만, 일반 마크업부 및 스크립트 마크업부는 마크업 문서에서 상호 분리된다.
본 발명의 다른 양태에 따르면, 스크립트 마크업부는 하나 이상의 스크립트 마크업 요소를 포함한다. 예컨대, 스크립트 마크업 요소는 참조 요소 및 컴포넌트 요소를 포함하는 스크립트 요소를 포함할 수 있다. 참조 요소는 스크립트 마크업부에 의하여 사용되는 스크립트 파일에 대한 하나 이상의 참조를 포함할 수 있다. 컴포넌트 요소는 디스플레이되는 문서의 동작을 제어하기 위한 하나 이상의 스크립트 객체를 정의할 수 있다.
본 발명의 또 다른 양태에 따르면, 스크립트 객체는 속성 어트리뷰트(property attribute), 메쏘드 어트리뷰트(method attribute), 이벤트 어트리뷰트(attribute) 또는 마크업 문서의 또 다른 요소에 대한 참조와 같은 하나 이상의 어트리뷰트를 포함할 수 있다. 예컨대, 스크립트 객체는 일반 마크업부의 일반 마크업 요소를 참조하여 일반 마크업 요소의 동작을 제어할 수 있다. 또한, 스크립트 객체는 스크립트 마크업부에 의하여 정의 또는 참조되는 또 다른 스크립트 객체를 참조할 수 있다. 나아가, 스크립트 객체는 이벤트 객체, 결합 객체 및 액션 객체와 같은 하나 이상의 하위 스크립트 객체를 포함할 수 있다. 이벤트 객체에 대하여 이벤트 핸들러가 제공된다. 이벤트 핸들러는 스크립트 마크업과 개발자 정의 코드를 결합할 수 있다.
본 발명의 또 다른 양태에 따르면, 스크립트 객체는 또 다른 스크립트 객체와 통신할 수 있다. 예컨대, 스크립트 객체와 연관된 결합 객체(binding object)는 그 스크립트 객체의 속성을 또 다른 스크립트 객체의 속성과 결합할 수 있다. 또한, 스크립트 객체와 연관된 액션 객체는 특정 이벤트가 발생하면 특정 액션을 수행할 수 있다. 이 특정 액션은 또 다른 스크립트 객체와 연관된 메쏘드를 실행하는 것이거나, 또 다른 스크립트 객체와 연관된 속성을 설정하는 것일 수 있다.
첨부된 도면과 함께 이하의 실시예를 참조하여, 본 발명의 부수하는 이점 중 다수 및 이하의 양태가 보다 용이하고 양호하게 이해될 것이다.
도 1은 본 발명의 양태를 구현하기 위한 예시적인 연산 시스템을 도시하는 블록도.
도 2는 본 발명의 일 양태에 따른 마크업 문서의 예시적인 구획을 도시하는 블록도.
도 3은 본 발명의 양태를 구현하는 예시적인 마크업 문서를 도시하는 도면.
이하의 내용은 본 발명의 예시적인 실시예를 설명 및 기술하는 것이다. 그러나, 당업자라면 본 발명의 기술적 사상 및 범위로부터 벗어나지 않고 다양한 변경이 이루어질 수 있음을 인정할 것이다.
도 1은 본 발명의 양태를 구현하기 위한 예시적인 연산 시스템(100)을 도시한다. 연산 시스템(100)은 서버 컴포넌트(102) 및 클라이언트 컴포넌트(104)를 포함한다. 일반적으로, 브라우저(106)는 웹 페이지와 같은 문서를 디스플레이하기 위하여 클라이언트(104)와 연관된다. 일반적인 경우, 브라우저(106)가 웹 페이지와 같은 문서를 디스플레이할 것을 요청하면, 클라이언트(104)는 문서 요청을 서버로(102) 전송한다. 그러면, 서버(102)는 요청된 문서를 디스플레이하기 위한 마크업 정보를 포함하는 마크업 문서(108)를 클라이언트(104)로 전송한다. 마크업 문서(108)는 서버(102)와 연관된 데이터베이스(110)에 존재할 수 있다. 주로, 서버(102) 및 클라이언트(104)는 동일한 컴퓨터 시스템 상에 존재한다. 또는, 그것들이 상이한 컴퓨터 시스템 상에 존재하여 (도시되지 않은) 네트워크를 통해 통신할 수도 있다.
본 발명의 실시예에서, 브라우저(106)가 마크업 문서(108)를 수신하면, 마크업 문서(108)를 분석하고(parse) 해석하여(interpret) 마크업 문서(108)에서 제공되는 정의에 따라 요청된 문서를 디스플레이한다.
본 발명의 예시적인 실시예에서, 웹 페이지와 같은 문서에 대한 마크업 문서(108)는 문서의 컨텐츠 및/또는 표현을 정의하는 일반 마크업을 제공한다. 마크업 문서(108)는 문서의 동작을 정의하는 스크립트 마크업을 더 포함하거나, 참조한다. 도 2는 마크업 문서(108)에 나타난 예시적인 정보 블록을 도시한다. 도 2에 도시된 바처럼, 마크업 문서(108)는 일반 마크업부(202) 및 스크립트 마크업부(204)를 포함한다.
일반 마크업부(202)는 디스플레이되는 문서의 컨텐츠 및/또는 전체 외양에 대한 포맷 지정을 정의한다. 일반 마크업부(202)는 하나 이상의 일반 마크업 요소를 정의할 수 있다. 예컨대, 도 2는 일반 마크업부(202)가 일반 마크업 요소 A(206), 일반 마크업 요소 B(208) 및 일반 마크업 요소 Z(210)와 같은 다수의 일반 마크업 요소를 포함하는 것을 도시한다.
반면, 스크립트 마크업부(204)의 컨텐츠는 디스플레이되는 문서와 연관된 대화형 동작 및 어플리케이션 로직을 정의한다. 본 발명의 실시예에서, 스크립트 마크업부(204)의 컨텐츠는 하나 이상의 스크립트 객체를 정의하거나 참조하여, 스크립트 객체의 속성 값 및 상태를 정의하는 어트리뷰트에 따라 스크립트 객체를 인스턴스화한다. 도 2에 도시된 바처럼, 본 발명의 실시예에서, 스크립트 마크업부(204)는 일반 마크업부(202)와 분리되어 있는, 마크업 문서(108)의 독립적인 부분이다. 또한, 본 발명의 일부 실시예에서, 마크업 문서(108)에 의하여 참조되는 별도 파일에 스크립트 마크업부(204)가 포함될 수 있다. 도 2에 도시된 바처럼, 스크립트 마크업부(204)의 컨텐츠는 스크립트 요소(210), 참조 요소(212) 및 컴포 넌트 요소(214)와 같은 다수의 스크립트 마크업 요소를 포함한다. 일반 마크업 요소 및 스크립트 마크업 요소 모두가 마크업 요소로 지칭된다.
본 발명의 예시적인 실시예에서, 스크립트 요소(210)는 스크립트 마크업부(204)의 전체 범위를 정의한다. 참조 요소(212) 및 컴포넌트 요소(214)와 같은, 스크립트 마크업부(204)의 다른 모든 요소는 스크립트 요소(210) 내에 포함된다. 도 1을 다시 참조하면, 스크립트 마크업부(204)를 해석하는 동안, 브라우저(106)는 스크립트 요소(210) 전체를 검색하여 포함된 정의를 해석하고, 그에 따라 디스플레이되는 문서의 동작을 결정한다.
본 발명의 실시예에서, 참조 요소(212)는 마크업 문서(108)의 마크업 요소에 의하여 사용되는 마크업 문서(108) 외부의 스크립트 파일을 참조한다. 외부 스크립트 파일은 그 마크업 요소가 사용할 수 있는 의존성 정보를 상술할 수 있다. 바람직하게, 외부 스크립트 파일은 스크립트 마크업부(204)에 정의 또는 참조된 스크립트 마크업 요소의 구현 세부사항을 제공할 수 있다.
컴포넌트 요소(214)는 디스플레이되는 문서의 동작을 실제로 정의하는 하나 이상의 스크립트 객체 정의를 포함한다. 본 발명의 예시적인 실시예에서, 컴포넌트 요소(214)에 정의된 하나 이상의 스크립트 객체는 일반 마크업부(202)에 포함된 일반 마크업 요소 중 하나 이상의 동작을 참조하고, 나아가 정의할 수 있다.
도 3은 도 2에 도시된 예시적인 마크업 요소를 구현하는 예시적인 마크업 문서(108)를 도시한다. 도 3에 도시된 바와 같이, 예시적인 마크업 문서(108)는 한 마크업 요소가 또 다른 마크업 요소에 포함될 수 있는 계층 구조를 포함한다. 각 마크업 요소는, 예컨대 <> 심볼로 표시된 것과 같은 태그 및 그 태그들 사이에 상술되는 실제 요소를 포함한다. 각 마크업 요소는 시작 태그 및 종료 태그를 포함하는데, 시작 태그는 마크업 요소를 시작시키며 종료 태그는 대응하는 마크업 요소를 종료시킨다. 예컨대, 도 3에 도시된 바처럼, 스크립트 요소(210)는 3행의 시작 태그 <>로 시작되어 34행의 종료 태그 </>로 종료된다. 이하에 상세히 기술되는 바처럼, 마크업 문서(108)의 마크업 요소는 할당된 값을 갖는 하나 이상의 어트리뷰트를 더 포함한다.
도 3에 도시된 예시적인 마크업 문서(108)는 2개의 카운터의 스크립트 정의 동작을 도시한다. 도 3에 도시된 바와 같이, 1, 2행은 예시적인 일반 마크업부(202)를 도시한다. 여기에 2개의 일반 마크업 요소(Counter#1 및 Counter#2)가 정의되는데, Counter#1은 "counter Label1"이란 값을 갖는 "id" 어트리뷰트를 포함하고, Counter#2은 "counter Label2"란 값을 갖는 "id" 어트리뷰트를 포함한다.
3 내지 34행은 1, 2행에 정의된 2개의 카운터의 동작을 지정하는 예시적인 스크립트 마크업부(204)를 도시한다. 구체적으로, 3행은 예시적인 스크립트 요소(210)에 대한 정의의 시작을 알리고, 34행은 그 정의의 종료를 알린다. 예시적인 스크립트 요소(210)는 2개의 자바스크립트 파일(AtlasUI.js 및 AtlasControls.js)로 연결되는 예시적인 참조 요소(212)(5 내지 8행)를 포함한다. 9 내지 32행은 복수의 스크립트 객체를 정의하는 예시적인 컴포넌트 요소(214)를 도시한다. 예컨대, 10행은 "counter1"로 식별되는 스크립트 객체인 Counter(302)를 정의하고, 11행은 "counter2"로 식별되며 "10000"이란 값을 갖는 스크립트 객체 인 Counter(304)를 정의한다. 12 내지 16행 사이 및 17 내지 21행 사이의 코드 각각은 주기적으로, 예컨대 500초마다 이벤트 객체인 Tick(308, 318)을 동작시키는 스크립트 객체인 Timer(306, 316)를 정의한다. 본 발명의 실시예에서, 스크립트 객체는 하나 이상의 하위 스크립트 객체를 포함할 수 있다. 예컨대, 스크립트 객체 Timer(306)는 이벤트 객체 Tick(308)을 포함하고, Tick(308)은 액션 객체인 invokeMethod(310)를 더 포함한다. 또 다른 예로서, 22 내지 26행에 정의된 스크립트 객체인 Label(312)은 결합 객체(314)를 포함한다.
본 발명의 예시적인 실시예에서, 그 값이 스크립트 객체의 동작을 정의하는데 사용되는 하나 이상의 어트리뷰트와 스크립트 객체가 연관될 수 있다. 어트리뷰트는 스크립트 객체와 연관된, 예컨대 속성, 메쏘드 또는 이벤트일 수 있다. 또한, 어트리뷰트는 또 다른 마크업 요소에 대한 참조일 수 있다. 예컨대, 11행에 정의된 스크립트 객체 Counter(304)는 속성 어트리뷰트인 "id" 및 속성 어트리뷰트인 "value"를 포함한다. 14행에 정의된 액션 객체 invokeMethod(310)는 예시적인 "증가" 메쏘드로 설정된 메쏘드 어트리뷰트인 "Method"를 포함한다. 예컨대, 이벤트 객체 Tick(308)을 사용하는 대신에, 스크립트 객체 Timer(306)는 이벤트 어트리뷰트 "Tick"을 포함할 수 있다. 22행에 정의된 스크립트 객체인 Label(312)은 1행에 "counterLabel1"로 식별된 일반 마크업 요소 Counter#1을 참조하는 어트리뷰트인 "targetElement"를 포함한다.
본 발명의 예시적인 실시예에서, 스크립트 객체는 마크업 문서(108)의 일반 마크업부(202)에 정의된 일반 마크업 요소를 참조하여, 그 참조된 일반 마크업 요 소와 연관된 문서 동작을 정의할 수 있다. 예컨대, 22 내지 26행의 코드는 1행에 정의된 일반 마크업 요소 Counter#1을 참조하는 스크립트 객체 Label(312)을 정의한다. 27 내지 31행의 코드는 2행에 정의된 일반 마크업 요소 Counter#2를 참조하는 스크립트 객체 Label(320)을 정의한다. 그 결과, 스크립트 객체 Label(312) 및 Label(320)은 일반 마크업부(202)의 일반 마크업 요소 Counter#1 및 Counter#2의 동작을 지정할 수 있다.
본 발명의 실시예에서, 스크립트 객체는 특정 이벤트가 발생하면 특정 액션을 수행함으로써 또 다른 스크립트 객체와 통신할 수 있다. 예컨대, 본 발명의 실시예에서, 스크립트 객체는 이벤트와 연관될 수 있는데, 그 이벤트가 발생하면 대응하는 이벤트 핸들러가 개시되고, 이는 마크업 문서(108)의 마크업 요소에 대한 개발자 정의 코드로 연결될 수 있다. 본 발명의 예시적인 실시예에서 이벤트 핸들러는 컴포넌트 요소(214)의 하나 이상의 스크립트 객체 상에서 수행되는 하나 이상의 특정 액션을 포함할 수 있다. 예시적인 액션은 또 다른 스크립트 객체와 연관된 메쏘드를 호출하는(invoke) 것일 수 있다. 또 다른 예시적인 액션은 또 다른 스크립트 객체와 연관된 속성을 설정하는 것일 수 있다. 본 발명의 일반적인 실시예에서, 이벤트 및 액션 모두가 하나 이상의 어트리뷰트를 포함하는 스크립트 객체이다. 예컨대, 스크립트 객체 Timer(306)는 이벤트 객체 Tick(308)를 포함하고, Tick(308)을 동작시키면 액션 객체 invokeMethod(310)가 개시된다. 액션 객체 invokeMethod(310)는 대상 스크립트 객체(예컨대, "counter1")를 지정하는 어트리뷰트인 "target" 및 대상 스크립트 객체 상에서 수행되는 함수를 지정하는 어트리 뷰트인 "method"를 포함한다.
스크립트 객체가 또 다른 스크립트 객체와 통신하기 위한 또 다른 예시적인 메카니즘은 한 스크립트 객체의 속성을 또 다른 스크립트 객체의 속성과 연결시키는 결합 메카니즘이다. 따라서, 속성 하나의 변경은 나머지 속성에 반영된다. 예컨대, 도 3에 도시된 바처럼, 스크립트 객체 Label(312)은 결합 객체(314)를 포함한다. 결합 객체(314)는 스크립트 객체를 지정하는 어트리뷰트인 "dataContext", 및 스크립트 객체 Label(312)이 그것의 속성 "text"와 결합시킬, 그 스크립트 객체의 속성 중의 하나를 지정하는 어트리뷰트인 "dataPath"를 포함한다. 결합의 결과로, 10행에 정의된 스크립트 객체 Counter(302)의 값이 스크립트 객체 Label(312)과 연관된 "text" 속성에 반영되어, 1행에 정의된 일반 마크업 요소 Counter#1에 디스플레이된다. 본 발명의 예시적인 실시예에서, 결합 객체는 데이터를 제공하는 속성 유형을 그 데이터를 수신하는 속성 유형으로 변형하는 변형 함수를 제공한다. 예컨대, 결합 객체(314)를 위한 변형 함수를 통해 "dataPath"로 지정된 속성 유형을 "text"로 지정된 속성 유형으로 변환할 수 있다.
도 3은 본 발명의 양태를 구현하기 위한 스크립트 마크업 언어의 단지 예시적인 포맷을 도시한 것임을 이해하여야 한다. 이 예시적인 포맷은 설명을 위한 목적으로만 사용되어야 한다. 이 예시적인 포맷은 본 발명의 실시예에 의하여 제안되는 스크립트 마크업 언어를 도시된 특정 포맷, 구문 및 함수로 한정하지 않는다. 예컨대, 예시적인 마크업 문서(108)는 XML 구문 및 포맷을 사용하여 도시되었다. 하지만, 당업자라면 본 발명의 양태가 HTML, ASP.NET, JavaScript Object Notation 등의 상이한 마크업 언어로 구현될 수 있음을 이해할 것이다.
본 발명의 실시예에서, 개발자는 스크립트 객체 모델의 정의를 맞춤화할 수 있다. 예컨대, 스크립트 객체 모델은 그 스크립트 객체 모델과 연관되는 속성, 메쏘드 및/또는 이벤트 어트리뷰트와 같은 어트리뷰트, 그리고 임의의 하위 스크립트 객체 모델을 지정한다. 나아가, 스크립트 객체 모델은, 예컨대 브라우저(106)와 연관된 유형 관리자를 통하여 브라우저(106)에 등록된다. 이에 따라, 브라우저(106)는 그 스크립트 객체 모델에 기반하여 인스턴스화된 스크립트 객체를 해석 및 처리하는 방법을 알게 된다. 그 결과, 본 발명의 양태에 의하여 제공되는 스크립트 마크업 언어는 스크립트 객체 모델에 기반하여 인스턴스화된 스크립트 객체를 포함하는 스크립트 마크업을 해석하기 위한 브라우저에 새로운 스크립트 객체 모델이 정의 및 등록될 수 있도록 확장 가능하다.
본 발명의 양태가 구조적 특징 및/또는 방법론적 동작에 특화된 언어로 기술되었지만, 이하의 청구항에 정의된 기술적 사상은 위에 설명된 특정 동작 또는 특징으로 한정되지 않음을 이해하여야 한다. 오히려, 위에 설명된 특정 동작 및 특징은 청구항을 구현하는 예시적인 형태로서 개시된 것이다.

Claims (20)

  1. 컴퓨터 판독가능 매체 상에 저장되는 마크업 문서(108)로서,
    하나 이상의 일반 마크업 요소를 포함하는 일반 마크업부(202); 및
    상기 일반 마크업부(204)와 분리된 스크립트 마크업부(204) - 상기 스크립트 마크업부(204)의 컨텐츠는 하나 이상의 스크립트 마크업 요소를 포함함 -
    를 포함하고, 상기 스크립트 마크업부(204)의 콘텐츠는 문서의 동작을 정의하고, 상기 일반 마크업부(202)는 상기 문서의 콘텐츠 및/또는 외양을 정의하는, 마크업 문서.
  2. 제1항에 있어서,
    상기 하나 이상의 스크립트 마크업 요소 중의 하나는 현존하는 스크립트 파일에 대한 하나 이상의 참조를 포함하는 참조 요소인, 마크업 문서.
  3. 제1항에 있어서,
    상기 하나 이상의 스크립트 마크업 요소 중의 하나는 하나 이상의 스크립트 객체를 정의하는 컴포넌트 요소인, 마크업 문서.
  4. 제3항에 있어서,
    상기 하나 이상의 스크립트 객체 중의 하나는 상기 일반 마크업부의 상기 하 나 이상의 일반 마크업 요소 중의 하나를 참조하는, 마크업 문서.
  5. 제4항에 있어서,
    상기 하나 이상의 스크립트 객체 중의 하나는 하나 이상의 어트리뷰트를 포함하는, 마크업 문서.
  6. 제5항에 있어서,
    상기 하나 이상의 어트리뷰트 중의 하나는 속성 어트리뷰트(property attribute), 메쏘드 어트리뷰트(method attribute) 및 이벤트 어트리뷰트(event attribute) 중의 하나인, 마크업 문서.
  7. 제3항에 있어서,
    상기 하나 이상의 스크립트 객체 중의 하나는 하나 이상의 스크립트 객체("하위 스크립트 객체")를 포함하는, 마크업 문서.
  8. 제7항에 있어서,
    상기 하위 스크립트 객체 중의 하나는 상기 스크립트 객체의 어트리뷰트를 또 다른 스크립트 객체의 어트리뷰트와 연결하기 위한 결합 객체이고, 양쪽 어트리뷰트 모두는 속성 어트리뷰트인, 마크업 문서.
  9. 제8항에 있어서,
    상기 결합 객체는 상기 스크립트 객체의 상기 어트리뷰트의 유형을 상기 또 다른 스크립트 객체의 상기 어트리뷰트의 유형으로 변환하기 위한 함수를 포함하는, 마크업 문서.
  10. 제7항에 있어서,
    상기 하위 서브 스크립트 객체 중의 하나는 이벤트 객체인, 마크업 문서.
  11. 제10항에 있어서,
    상기 이벤트 객체는 상기 이벤트가 발생하는 경우 해야 할 것을 상술하는 이벤트 핸들러를 더 포함하는, 마크업 문서.
  12. 제11항에 있어서,
    상기 이벤트 핸들러는 상기 이벤트가 발생하는 경우 특정 액션을 개시하는 액션 객체를 포함하는, 마크업 문서.
  13. 제12항에 있어서,
    상기 액션은 또 다른 스크립트 객체의 어트리뷰트를 실행하는 단계를 포함하고, 상기 어트리뷰트는 메쏘드 어트리뷰트인, 마크업 문서.
  14. 제12항에 있어서,
    상기 액션은 또 다른 스크립트 객체의 어트리뷰트를 구성하는 단계를 포함하고, 상기 어트리뷰트는 속성 어트리뷰트인, 마크업 문서.
  15. 제1항에 있어서,
    상기 스크립트 마크업부의 상기 컨텐츠는 파일에 저장되고, 상기 마크업 문서의 상기 스크립트 마크업부는 상기 파일에 대한 참조인, 마크업 문서.
  16. 브라우저(106)를 포함하는 연산 시스템(100)에서, 제공되는 문서를 디스플레이하기 위해 마크업 문서(108)를 해석하기 위한 컴퓨터 구현 방법으로서,
    스크립트 요소(210)를 포함하는 상기 마크업 문서(108)를 수신하는 단계; 및
    디스플레이되는 상기 문서의 동작을 정의하는 스크립트 마크업(204)으로서 상기 스크립트 요소(210) 내에 포함되는 컨텐츠를 참작함으로써 상기 마크업 문서(108)를 해석하는 단계
    를 포함하는 컴퓨터 구현 방법.
  17. 제16항에 있어서,
    상기 스크립트 요소는 참조 요소를 포함하고, 상기 방법은 상기 참조 요소 내에 참조된 파일의 컨텐츠를 추출하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  18. 제16항에 있어서,
    상기 스크립트 요소는 컴포넌트 요소를 포함하고, 상기 방법은 디스플레이되는 상기 문서의 상기 동작을 정의하는 하나 이상의 스크립트 객체로서 상기 컴포넌트 요소 내의 컨텐츠를 해석하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  19. 제18항에 있어서,
    상기 마크업 문서는 상기 문서의 컨텐츠 및/또는 외양을 정의하기 위한 하나 이상의 일반 마크업 요소를 포함하는 일반 마크업부를 더 포함하고, 상기 하나 이상의 스크립트 객체 중 적어도 하나는 상기 하나 이상의 일반 마크업 요소 중 적어도 하나를 표현하고 상기 일반 마크업 요소의 동작을 정의하는, 컴퓨터 구현 방법.
  20. 제18항에 있어서,
    상기 브라우저는 하나 이상의 맞춤 정의된 스크립트 객체 모델을 사용함으로써 상기 하나 이상의 스크립트 객체를 해석하는, 컴퓨터 구현 방법.
KR1020087005893A 2005-09-12 2006-08-29 스크립트 마크업 KR20080045703A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US71629305P 2005-09-12 2005-09-12
US60/716,293 2005-09-12
US11/318,305 US7945853B2 (en) 2005-09-12 2005-12-23 Script markup
US11/318,305 2005-12-23

Publications (1)

Publication Number Publication Date
KR20080045703A true KR20080045703A (ko) 2008-05-23

Family

ID=37856766

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087005893A KR20080045703A (ko) 2005-09-12 2006-08-29 스크립트 마크업

Country Status (14)

Country Link
US (1) US7945853B2 (ko)
EP (1) EP1952263A4 (ko)
JP (1) JP5162459B2 (ko)
KR (1) KR20080045703A (ko)
AU (1) AU2006291331B2 (ko)
BR (1) BRPI0615457A2 (ko)
CA (1) CA2618859C (ko)
IL (1) IL189422A (ko)
MX (1) MX2008003413A (ko)
NO (1) NO20080634L (ko)
NZ (1) NZ566420A (ko)
RU (1) RU2412472C2 (ko)
SG (1) SG165366A1 (ko)
WO (1) WO2007032925A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8239749B2 (en) * 2004-06-25 2012-08-07 Apple Inc. Procedurally expressing graphic objects for web pages
US7689903B2 (en) * 2005-03-22 2010-03-30 International Business Machines Corporation Unified markup language processing
WO2009153322A1 (en) * 2008-06-18 2009-12-23 Thomson Licensing Method for preparation of a digital document for the display of said document and the navigation within said document
US8112470B2 (en) * 2008-09-09 2012-02-07 Microsoft Corporation Virtual javascript object notation
US8332815B2 (en) * 2009-03-17 2012-12-11 International Business Machines Corporation Enhanced development tool for utilizing a javascript object notation (JSON) bridge for non-java-based component communication within java-based composite applications
CN102446162A (zh) * 2010-10-15 2012-05-09 元太科技工业股份有限公司 电子系统及其控制方法
US10466989B2 (en) 2011-09-02 2019-11-05 Microsoft Technology Licensing, Llc. Fast presentation of markup content having script code
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
US10481876B2 (en) 2017-01-11 2019-11-19 Microsoft Technology Licensing, Llc Methods and systems for application rendering

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835712A (en) * 1996-05-03 1998-11-10 Webmate Technologies, Inc. Client-server system using embedded hypertext tags for application and database development
US6061698A (en) * 1997-10-22 2000-05-09 International Business Machines Corporation Merging tagged documents and scripts having dynamic content
US6272673B1 (en) * 1997-11-25 2001-08-07 Alphablox Corporation Mechanism for automatically establishing connections between executable components of a hypertext-based application
US6188401B1 (en) * 1998-03-25 2001-02-13 Microsoft Corporation Script-based user interface implementation defining components using a text markup language
US6480865B1 (en) * 1998-10-05 2002-11-12 International Business Machines Corporation Facility for adding dynamism to an extensible markup language
US6981215B1 (en) * 1998-12-31 2005-12-27 Microsoft Corp. System for converting event-driven code into serially executed code
US6470349B1 (en) * 1999-03-11 2002-10-22 Browz, Inc. Server-side scripting language and programming tool
US7594166B1 (en) * 1999-05-20 2009-09-22 Microsoft Corporation Dynamic web page behaviors
US6493719B1 (en) * 1999-07-26 2002-12-10 Microsoft Corporation Method and system for scripting for system management information
US6748569B1 (en) * 1999-09-20 2004-06-08 David M. Brooke XML server pages language
US6732330B1 (en) * 1999-09-30 2004-05-04 International Business Machines Corporation Scripting language blocks to support multiple scripting languages in a single web page
US6981212B1 (en) * 1999-09-30 2005-12-27 International Business Machines Corporation Extensible markup language (XML) server pages having custom document object model (DOM) tags
US6691176B1 (en) * 1999-11-04 2004-02-10 Microsoft Corporation Method for managing client services across browser pages
US6966029B1 (en) 1999-12-08 2005-11-15 Koninklijke Philips Electronics N.V. Script embedded in electronic documents as invisible encoding
US6826725B1 (en) * 1999-12-16 2004-11-30 Microsoft Corporation Techniques for invoking system commands from within a mark-up language document
JP2003521784A (ja) 2000-02-04 2003-07-15 アメリカ オンライン インコーポレーティッド スケーラブルなウェブページを配信およびレンダリングするためのシステムとプロセス
US7207000B1 (en) * 2000-02-24 2007-04-17 International Business Machines Corporation Providing dynamic web pages by separating scripts and HTML code
US6717593B1 (en) * 2000-09-12 2004-04-06 Avaya Technology Corp. Mark-up language implementation of graphical or non-graphical user interfaces
US6594823B1 (en) * 2000-09-13 2003-07-15 Microsoft Corporation Method and system for representing a high-level programming language data structure in a mark-up language
US7089330B1 (en) * 2000-09-28 2006-08-08 I2 Technologies Us, Inc. System and method for transforming custom content generation tags associated with web pages
US20020087630A1 (en) * 2000-10-20 2002-07-04 Jonathan Wu Enhanced information and presence service
EP1204030A1 (en) * 2000-11-02 2002-05-08 Caplin Systems Limited Extending hypermedia documents by adding tagged attributes
US7181684B2 (en) * 2000-12-12 2007-02-20 Oracle International Corporation Dynamic tree control system
US20020147745A1 (en) * 2001-04-09 2002-10-10 Robert Houben Method and apparatus for document markup language driven server
US7610547B2 (en) * 2001-05-04 2009-10-27 Microsoft Corporation Markup language extensions for web enabled recognition
US6944660B2 (en) * 2001-05-04 2005-09-13 Hewlett-Packard Development Company, L.P. System and method for monitoring browser event activities
US20020178182A1 (en) * 2001-05-04 2002-11-28 Kuansan Wang Markup language extensions for web enabled recognition
US7000218B2 (en) * 2001-06-29 2006-02-14 International Business Machines Corporation System and method for developing custom programmable tags
EP1454226A4 (en) 2001-10-23 2004-12-29 Samsung Electronics Co Ltd INFORMATION STORAGE MEDIUM WITH A MARKUP DOCUMENT AND AV DATA, RECORDING METHOD, PLAYBACK METHOD AND PLAYBACK APPARATUS THEREFOR
US20030188039A1 (en) * 2002-03-26 2003-10-02 Liu James C. Method and apparatus for web service aggregation
GB0211897D0 (en) 2002-05-23 2002-07-03 Koninkl Philips Electronics Nv Dynamic markup language
US7162687B2 (en) * 2002-05-31 2007-01-09 Sun Microsystems, Inc. JSP tag libraries and web services
TWI221563B (en) * 2002-07-05 2004-10-01 Samsung Electronics Co Ltd Method for displaying mark-up document according to parental level, method and apparatus for reproducing mark-up document in interactive mode, and data storage medium
US20060224978A1 (en) * 2005-04-01 2006-10-05 Paul Albrecht System for creating a graphical application interface
CA2414378A1 (en) * 2002-12-09 2004-06-09 Corel Corporation System and method for controlling user interface features of a web application
US7515599B2 (en) 2003-03-31 2009-04-07 Samsung Electronics Co., Ltd. Information storage medium containing enhanced AV (ENAV) buffer configuration information, reproducing method thereof and method for managing the buffer
US7269792B2 (en) * 2003-04-24 2007-09-11 International Business Machines Corporation System and method for generating high-function browser widgets with full addressability
US20050021756A1 (en) * 2003-07-26 2005-01-27 Grant Bruce K. Method of developing, delivering and rendering network applications
US20050044491A1 (en) * 2003-08-20 2005-02-24 Michael Peterson Dynamic web serving system
US20050102611A1 (en) * 2003-11-06 2005-05-12 Danny Chen Process for creating dynamic web pages driven from the server side
US7458019B2 (en) * 2004-01-20 2008-11-25 International Business Machines Corporation System and method for creating and rendering client-side user interfaces via custom tags
US8438577B2 (en) * 2005-04-18 2013-05-07 Research In Motion Limited Method and system for extending scripting languages
US20060265662A1 (en) * 2005-05-19 2006-11-23 Custom Credit Systems, L.P. System and method for generating and updating user interfaces of web-based applications
US20070050710A1 (en) * 2005-08-31 2007-03-01 Redekop Christopher K Graphical user interface for a web application
US7739589B2 (en) * 2005-11-02 2010-06-15 International Business Machines Corporation Extending markup of a browser using a plug-in framework

Also Published As

Publication number Publication date
EP1952263A4 (en) 2010-11-03
NZ566420A (en) 2010-04-30
RU2008109233A (ru) 2009-10-10
JP2009508253A (ja) 2009-02-26
US20070061708A1 (en) 2007-03-15
CA2618859A1 (en) 2007-03-22
AU2006291331B2 (en) 2011-03-31
CA2618859C (en) 2014-03-25
IL189422A0 (en) 2008-06-05
RU2412472C2 (ru) 2011-02-20
NO20080634L (no) 2008-03-12
BRPI0615457A2 (pt) 2011-05-17
EP1952263A1 (en) 2008-08-06
JP5162459B2 (ja) 2013-03-13
IL189422A (en) 2013-03-24
SG165366A1 (en) 2010-10-28
WO2007032925A1 (en) 2007-03-22
MX2008003413A (es) 2008-03-27
US7945853B2 (en) 2011-05-17
AU2006291331A1 (en) 2007-03-22

Similar Documents

Publication Publication Date Title
KR20080045703A (ko) 스크립트 마크업
US7191393B1 (en) Interface for providing different-language versions of markup-language resources
US7721195B2 (en) RTF template and XSL/FO conversion: a new way to create computer reports
US7669183B2 (en) System and method for manipulating a document object model
US20070240032A1 (en) Method and system for vertical acquisition of data from HTML tables
JP2005537540A (ja) ブラウザの文書編集のためのシステムおよびその方法
WO2006051715A1 (ja) 文書処理装置及び文書処理方法
US20130007586A1 (en) Method and system for creating and using web feed display templates
US8756487B2 (en) System and method for context sensitive content management
US20080155493A1 (en) Method for ensuring unique identification of program elements across multiple executions
US20140281922A1 (en) Application of a system font mapping to a design
US8423913B1 (en) Methods and apparatus to display style-related information
CN101263482B (zh) 脚本标记
WO2006051714A1 (ja) 文書処理装置及び文書処理方法
KR20170129225A (ko) 스타일에 대한 선언적 캐스캐이드 재정렬
CN112068826A (zh) 文本输入的控制方法、系统、电子设备和存储介质
US7827504B2 (en) Methods and apparatus for generating an executable file from a use case
Phanouriou User interface markup language (uiml) draft specification
CA2452427C (en) System and method for manipulating a document object model
WO2006051718A1 (ja) 文書処理装置及び文書処理方法
CN116910399A (zh) 页面构建方法、装置、电子设备和计算机存储介质
Marinos et al. Towards an XML-based user interface for electronic health record
CN118193723A (zh) 文本解析方法、系统、电子设备及存储介质
CN113703745A (zh) 页面生成方法及装置、计算机可读存储介质、电子设备
JP4415752B2 (ja) 文書管理システム、文書管理サーバ及び文書管理プログラム

Legal Events

Date Code Title Description
A201 Request for examination
SUBM Surrender of laid-open application requested