KR20170129225A - 스타일에 대한 선언적 캐스캐이드 재정렬 - Google Patents
스타일에 대한 선언적 캐스캐이드 재정렬 Download PDFInfo
- Publication number
- KR20170129225A KR20170129225A KR1020177029886A KR20177029886A KR20170129225A KR 20170129225 A KR20170129225 A KR 20170129225A KR 1020177029886 A KR1020177029886 A KR 1020177029886A KR 20177029886 A KR20177029886 A KR 20177029886A KR 20170129225 A KR20170129225 A KR 20170129225A
- Authority
- KR
- South Korea
- Prior art keywords
- attribute
- style
- cascade level
- group
- document
- Prior art date
Links
- 238000009877 rendering Methods 0.000 claims abstract description 83
- 238000000034 method Methods 0.000 claims description 37
- 230000008676 import Effects 0.000 claims description 13
- 239000003795 chemical substances by application Substances 0.000 description 17
- 238000013500 data storage Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G06F17/2241—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/137—Hierarchical processing, e.g. outlines
-
- G06F17/211—
-
- G06F17/2247—
-
- G06F17/227—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/154—Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
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)
- Digital Computer Display Output (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
하나의 예에서, 문서 렌더링 디바이스는, 문서의 다수의 문서 구성 요소 사이의 결속성을 유지하기 위해, 스타일 시트의 스타일 속성에 대한 캐스캐이드 레벨을 재정렬할 수도 있다. 문서 렌더링 디바이스는, 다른 스타일 시트 내의 스타일 속성과의 충돌을 해결하기 위해 스타일 시트에 대한 시트 계층 구조(sheet hierarchy)를 나타내는 공칭 캐스캐이드 레벨(nominal cascade level)을 갖는 구조화된 문서(structured document)의 렌더링을 기술하는 스타일 시트를 저장할 수도 있다. 문서 렌더링 디바이스는, 그룹 캐스캐이드 레벨이 공칭 캐스캐이드 레벨과는 상이하도록, 스타일 시트 내의 다수의 스타일 속성의 세트를 기술하는 속성 그룹에 대한 그룹 캐스캐이드 레벨을 설정할 수도 있다. 문서 렌더링 디바이스는 그룹 캐스캐이드 레벨에서 속성 그룹에 기초하여 디스플레이를 위해 구조화된 문서의 문서 구성 요소를 렌더링할 수도 있다.
Description
우선권 정보
본 출원은 2015년 3월 18일자로 출원된 미국 특허 가출원 제62/135,159호 및 2016년 3월 11일자로 출원된 미국 특허 정식(Non-Provisional) 출원 제15/068,536호로부터의 우선권을 청구하는데, 이들 특허 출원의 내용은 참조에 의해 그 전체가 본원에 통합된다.
컴퓨팅 디바이스는 마크업 언어로 기술되는 데이터 콘텐츠 세트(data content set)를 유저에 대한 표시를 위해 문서로서 렌더링할 수도 있다. 마크업 언어는, 유저에게 표시될 텍스트로부터 주석(annotation)을 분리하는 텍스트 문서에 주석을 추가하는 것(annotating)을 용이하게 하는 언어, 예컨대 하이퍼텍스트 마크업 언어이다. 데이터 콘텐츠 세트는 문서를 다수의 노드를 갖는 문서 트리로서 기술할 수도 있다. 각각의 노드는 문서의 문서 구성 요소(document component)를 기술할 수도 있다. 상이한 작성자(author)는 문서의 상이한 문서 구성 요소를 생성할 수도 있다.
개요
이 개요는 하기의 상세한 설명에서 더 설명되는 엄선된 개념을 간소화된 형태로 소개하기 위해 제공된다. 이 개요는 청구된 주제의 주요 피쳐 또는 본질적인 피쳐를 식별하도록 의도된 것이 아니며, 청구된 주제의 범위를 제한하는 데 사용되도록 의도된 것도 아니다.
이하에서 논의되는 예는, 문서의 다수의 문서 구성 요소에 걸쳐 결속성(cohesion)을 유지하기 위해, 스타일 시트(style sheet)의 스타일 속성(style property)에 대한 캐스캐이드 레벨(cascade level)을 재정렬하는(reordering) 것에 관한 것이다. 문서 렌더링 디바이스는, 다른 스타일 시트 내의 스타일 속성과의 충돌을 해결하기 위해 스타일 시트에 대한 시트 계층 구조(sheet hierarchy)를 나타내는 공칭 캐스캐이드 레벨(nominal cascade level)을 갖는 구조화된 문서(structured document)의 렌더링을 기술하는 스타일 시트를 저장할 수도 있다. 문서 렌더링 디바이스는, 그룹 캐스캐이드 레벨이 공칭 캐스캐이드 레벨과는 상이하도록, 스타일 시트 내의 다수의 스타일 속성의 세트를 기술하는 속성 그룹에 대한 그룹 캐스캐이드 레벨을 설정할 수도 있다. 문서 렌더링 디바이스는 그룹 캐스캐이드 레벨에서 속성 그룹에 기초하여 디스플레이를 위해 구조화된 문서의 문서 구성 요소를 렌더링할 수도 있다.
상기 언급된 그리고 다른 이점 및 피쳐가 획득될 수 있는 방식을 설명하기 위해, 보다 상세한 설명이 개시되며, 첨부된 도면에서 예시되는 그 구체적인 예를 참조로 묘사될 것이다. 이들 도면은 통상적인 예만을 묘사하며 따라서 그 범위를 제한하는 것으로 간주되지 않아야 한다는 점을 이해하면서, 첨부된 도면의 사용을 통해, 추가적인 특이성 및 상세와 함께, 구현예가 기술되고 설명될 것이다.
도 1은 컴퓨팅 디바이스의 하나의 예를 블록도로 예시한다.
도 2는 문서 렌더링 프로세스의 하나의 예를 블록도로 예시한다.
도 3은 캐스캐이드 레벨 계층 구조의 하나의 예를 블록도로 예시한다.
도 4는 캐스케이딩 스타일 시트 아키텍쳐(cascading style sheet architecture)의 하나의 예를 블록도로 예시한다.
도 5는 문서를 생성하는 방법의 하나의 예를 플로우차트로 예시한다.
도 6은 속성 그룹에 대해 공칭 캐스캐이드 레벨과는 상이한 그룹 캐스캐이드 레벨을 설정하기 위한 방법의 하나의 예를 플로우차트로 예시한다.
도 7은 스타일 속성에 대해 공칭 캐스캐이드 레벨과는 상이한 속성 캐스캐이드 레벨을 설정하기 위한 방법의 하나의 예를 플로우차트로 예시한다.
도 1은 컴퓨팅 디바이스의 하나의 예를 블록도로 예시한다.
도 2는 문서 렌더링 프로세스의 하나의 예를 블록도로 예시한다.
도 3은 캐스캐이드 레벨 계층 구조의 하나의 예를 블록도로 예시한다.
도 4는 캐스케이딩 스타일 시트 아키텍쳐(cascading style sheet architecture)의 하나의 예를 블록도로 예시한다.
도 5는 문서를 생성하는 방법의 하나의 예를 플로우차트로 예시한다.
도 6은 속성 그룹에 대해 공칭 캐스캐이드 레벨과는 상이한 그룹 캐스캐이드 레벨을 설정하기 위한 방법의 하나의 예를 플로우차트로 예시한다.
도 7은 스타일 속성에 대해 공칭 캐스캐이드 레벨과는 상이한 속성 캐스캐이드 레벨을 설정하기 위한 방법의 하나의 예를 플로우차트로 예시한다.
예가 하기에서 상세히 논의된다. 특정한 구현예가 논의되지만, 이것은 단지 예시의 목적만을 위해서 이루어진 것이라는 것이 이해되어야 한다. 관련 기술 분야의 숙련된 자는, 본 개시의 주제의 취지와 범위를 벗어나지 않으면서, 다른 컴포넌트 및 구성이 사용될 수도 있다는 것을 인식할 것이다. 구현예는 문서 렌더링 디바이스, 컴퓨팅 디바이스, 또는 머신 구현 방법일 수도 있다.
하나의 예에서, 문서 렌더링 디바이스는 문서의 다수의 문서 구성 요소에 걸쳐 결속성을 유지하기 위해 스타일 시트의 스타일 속성에 대한 캐스캐이드 레벨을 재정렬할 수도 있다. 문서 렌더링 디바이스는, 다른 스타일 시트 내의 스타일 속성과의 충돌을 해결하기 위해 스타일 시트에 대한 시트 계층 구조(sheet hierarchy)를 나타내는 공칭 캐스캐이드 레벨(nominal cascade level)을 갖는 구조화된 문서(structured document)의 렌더링을 기술하는 스타일 시트를 저장할 수도 있다. 문서 렌더링 디바이스는, 그룹 캐스캐이드 레벨이 공칭 캐스캐이드 레벨과는 상이하도록, 스타일 시트 내의 다수의 스타일 속성의 세트를 기술하는 속성 그룹에 대한 그룹 캐스캐이드 레벨을 설정할 수도 있다. 문서 렌더링 디바이스는 그룹 캐스캐이드 레벨에서 속성 그룹에 기초하여 디스플레이를 위해 구조화된 문서의 문서 구성 요소를 렌더링할 수도 있다.
현존하는 캐스캐이드 레벨 계층 구조는 스타일 시트의 작성자가 특정한 캐스캐이드 레벨에서 스타일 시트를 입력하게 한다. 그러한 만큼, 스타일 시트의 작성자는, 작성자가 보존하기를 원하는 속성 값을 실수로 덮어 쓸(overwrite) 수도 있다. 이 덮어 쓰기는, 문서 구성 요소가 다수의 작성자에 의해 제공되는 협업 프로젝트에서 특히 문제가 될 수도 있다. 스타일 시트의 캐스캐이드 레벨을 낮추는 규칙을 제공하는 것에 의해, 문서 렌더링 디바이스는 작성자에게, 더 높은 캐스캐이드 레벨을 갖는 스타일 시트에 입력될 가능성이 더 큰 현존하는 속성 값을 덮어 쓸 가능성이 더 낮은 속성 값을 설정하기 위한 툴을 제공할 수도 있다. 예를 들면, 스타일 시트는, 스타일 시트 소스가 명목상(nominally) 상이한 캐스캐이드 레벨을 나타내더라도, 특별히 생성된 디폴트 캐스캐이드 레벨에서 스타일 시트를 정의할 수도 있다. 추가적으로, 스타일 시트 작성자는, 특정한 캐스캐이드 레벨에서 설정될 스타일 시트 내의 단일의 속성 또는 속성의 그룹을 명시할 수도 있다. 따라서, 메인 문서의 작성자는, 문서 구성 요소의 작성자에 의해 덮어 쓰일 수도 있는 디폴트 속성 값을 제공할 수도 있다. 또한, 메인 문서의 작성자는, 스타일 시트 내의 속성의 그룹을 더 높은 캐스캐이드 레벨로 승격시킬 수도 있고, 그 결과 속성의 그룹은 문서 구성 요소 전체에서 일관될 수도 있다.
문서 렌더링 디바이스는 캐스케이딩 스타일 시트를 사용하여 구조화된 문서를 렌더링함에 있어서 스타일 규칙을 대조할(collate) 수도 있다. 캐스케이딩 및 상속을 통해, 스타일 시트는 속성 값을 다수의 엘리먼트에 걸쳐 전파할 수도 있다. 캐스케이딩 스타일 시트는, 하이퍼텍스트 마크업 언어 또는 확장성 마크업 언어로 기술되는 바와 같이, 디스플레이 스크린, 종이, 스피치 출력, 또는 다른 매체와 같은 다양한 출력 디바이스에 걸쳐, 구조화된 문서의 렌더링을 기술하기 위한 언어 구조이다.
캐스케이딩은, 동일한 스타일 속성에 대한 값을 설정하는 상이한 선언 사이의 충돌을 해결하는 것에 의해, 다수의 스타일 시트가 문서의 표시에 영향을 주는 것을 허용할 수도 있다. 스타일 시트는, 다른 스타일 시트 내의 스타일 속성과의 충돌을 해결하기 위해, 스타일 시트에 대한 시트 계층 구조를 나타내는 캐스캐이드 레벨을 가질 수도 있다. 문서 렌더링 디바이스는, 스타일 시트의 소스에 기초하여 캐스캐이드 레벨을 결정할 수도 있다. 반대로, 스타일 시트가 스타일 속성에 대한 값을 설정하지 못하면, 문서 렌더링 디바이스는 상속 및 스타일 속성의 초기 값을 사용하여 값을 찾을 수도 있다.
문서 렌더링 디바이스는 입력으로서 선언(declaration)의 세트를 수신할 수도 있고, 각각의 스타일 속성에 대한 지정된 값을 각각의 엘리먼트 상에서 출력할 수도 있다. 문서 렌더링 디바이스는 "@import" 규칙을 사용하여 다른 스타일 시트로부터 스타일 규칙을 임포트할(import) 수도 있다. "@import" 규칙은, "@import" 규칙의 무효화를 방지하기 위해, 스타일 시트 내의 다른 at-rule 및 스타일 규칙에 우선할 수도 있다. 그러나, 스타일 시트는, 존재하는 경우, "@charset" 규칙으로 시작할 수도 있다. "@import"의 신택스는 포맷팅될(formatted) 수도 있다:
만약 <string>이 제공되면, 문서 렌더링 디바이스는 그 문자열을 동일한 값을 갖는 url(uniform resource locator; 유니폼 리소스 로케이터)로서 해석할 수도 있다. 예를 들면, 다음의 라인은 의미상 등가일 수도 있다:
"@import" 규칙이 유효한 스타일 시트를 가리키면, 유저 에이전트 애플리케이션은 스타일 시트의 콘텐츠를, "@import" 규칙 대신 작성된 것처럼 취급할 수도 있다.
대안적인 예에서, 임포트된 스타일 시트로부터의 스타일 규칙 내의 선언은, 마치 "@import"의 지점에서 스타일 시트 안으로 문자 그대로 쓰여진 것처럼, 캐스케이딩 스타일 시트와 상호 작용한다. 마찬가지로, 범위 지정된(scoped) 스타일 시트로 임포트되는 스타일 시트 내의 스타일 규칙은 동일한 방식으로 범위가 지정될 수도 있다.
동일한 스타일 시트가 다수의 장소에서 문서로 임포트되거나 링크되는 경우, 문서 렌더링 디바이스는, 마치 링크가 별개의 스타일 시트에 대한 것인 것처럼, 각각의 링크를 프로세싱할 수도 있다. 적절한 캐싱을 가정하면, 유저 에이전트는, 여러 번 링크되거나 또는 임포트되는 경우에도, 스타일 시트를 한 번 가져올(fetch) 수도 있다. 임포트된 스타일 시트의 기원(origin)은 임포트하는 스타일 시트의 기원과 동일할 수도 있다. 마찬가지로, 임포트된 스타일 시트의 환경 인코딩은, 임포트하는 스타일 시트의 인코딩일 수도 있다.
'@default' 규칙은, 스타일 시트 소스가 명목상 상이한 캐스캐이드 레벨을 나타내더라도, 스타일 시트가 가까운 유저 에이전트 캐스캐이드 레벨에서 스타일 시트를 정의하는 것을 허용할 수도 있다. 임의의 '@default' 규칙은, '@charset' 및 "@import"를 제외한 다른 at-rule 및 스타일 시트의 스타일 규칙에 우선할 수도 있고, 그렇지 않으면 '@default' 규칙은 유효하지 않을 수도 있다. 디폴트 캐스캐이드 레벨은 다음으로서 기술될 수도 있다:
예를 들면:
몇몇 속성은 속기 속성(shorthand property)일 수도 있는데, 작성자가 단일의 스타일 속성으로 여러가지 속성의 값을 명시하는 것을 몇몇 속성이 허용한다는 것을 의미한다. 속기 스타일 속성은, 마치 제자리에서 정확하게 확장된 것처럼, 각각의 일반 쓰기(longhand) 하위 속성을 설정할 수도 있다. 예를 들면, 폰트 속성은 font-style, font-variant, font-weight, font-size, line-height 및 font-family를 한꺼번에 설정하기 위한 속기 스타일 속성일 수도 있다. 이 예의 다수의 선언:
는, 따라서, 다음으로서 재작성될 수도 있다
속기 양식에서 값이 생략되는 경우, 달리 정의되지 않는 한, 각각의 "누락된" 하위 속성은 스타일 속성의 초기 값을 할당 받을 수도 있다. 이것은, 속기 스타일 속성 선언이 각각의 하위 속성을, 명시적으로는 설정되지 않더라도, 설정할 수도 있다는 것을 의미한다. 속기 스타일 속성을 '!important'이도록 선언하는 것은, 그것의 하위 속성 전체를 '!important'이도록 선언하는 것과 등가일 수도 있다.
디폴트 캐스캐이드 레벨을 설정하는 것에 의해, 작성자는 기존의 더 낮은 캐스캐이드 레벨로부터 스타일 속성을 의도치 않게 덮어 쓰지 않는 스타일 시트를 설정할 수도 있다. 디폴트 캐스캐이드 레벨은 유저 에이전트 캐스캐이드 레벨에 가깝게 삽입될 수도 있다. 디폴트 캐스캐이드 레벨에 대한 신택스는, 문서의 문서 구성 요소 사이의 더 큰 결속성을 허용하는 캐스캐이드 레벨 순서로 배열되도록, 스타일 시트가 속성의 세트를 함께 그룹화하는 것을 허용할 수도 있다. 캐스캐이드 레벨의 계층 구조 내에서 이들 속성을 보다 더 잘 배치하기 위해서, 속성 계층 구조 표시자(property hierarchy indicator)가 개별 속성과 함께 사용될 수도 있다.
도 1은 데이터 렌더링 디바이스로서 작용할 수도 있는 예시적인 컴퓨팅 디바이스(100)의 블록도를 예시한다. 컴퓨팅 디바이스(100)는, 데이터 렌더링 디바이스를 구현하기 위해, 하드웨어, 소프트웨어, 펌웨어, 및 시스템-온-칩 기술 중 하나 이상을 결합할 수도 있다. 컴퓨팅 디바이스(100)는, 버스(110), 프로세싱 유닛(120), 메모리(130), 데이터 스토리지(140), 입력 디바이스(150), 출력 디바이스(160), 및 통신 인터페이스(170)를 포함할 수도 있다. 버스(110), 또는 다른 컴포넌트 인터커넥션은, 컴퓨팅 디바이스(100)의 컴포넌트 간의 통신을 허용할 수도 있다.
프로세싱 유닛(120)은 명령어의 세트를 해석하고 실행하는 적어도 하나의 종래의 프로세서 또는 마이크로프로세서를 포함할 수도 있다. 적어도 하나의 프로세서는 공칭 캐스캐이드 레벨을 갖는 스타일 시트를 프로세싱할 수도 있다. 적어도 하나의 프로세서는 스타일 시트 내의 속성 그룹을 식별하도록 구성될 수도 있다. 적어도 하나의 프로세서는 스타일 시트 내에서 속성 그룹에 대한 그룹 캐스캐이드 레벨을 정의하는 그룹 규칙을 식별하도록 구성될 수도 있다. 적어도 하나의 프로세서는 또한, 그룹 캐스캐이드 레벨이 스타일 시트에 대한 공칭 캐스캐이드 레벨과는 상이하도록, 그룹 규칙에 따라 스타일 시트에서 다수의 스타일 속성의 세트를 기술하는 속성 그룹에 대한 그룹 캐스캐이드 레벨을 설정하도록 구성될 수도 있다. 그룹 캐스캐이드 레벨은, 예컨대 일반(normal) 유저 캐스캐이드 레벨과 일반 유저 에이전트 캐스캐이드 레벨 사이에서, 스타일 시트에 대한 공칭 캐스캐이드 레벨보다 더 낮을 수도 있다.
적어도 하나의 프로세서는, 스타일 시트에서, 가능하게는 속성 그룹에 포함되는 스타일 속성을 식별하도록 구성될 수도 있다. 적어도 하나의 프로세서는 속성 계층 구조 표시자를 사용하여 스타일 속성에 대한 속성 캐스캐이드 레벨을 식별하도록 구성될 수도 있다. 적어도 하나의 프로세서는, 속성 계층 구조 표시자에 기초하여 스타일 속성에 대해 공칭 캐스캐이드 레벨보다 더 낮은 속성 캐스캐이드 레벨을 설정하도록 구성될 수도 있다.
적어도 하나의 프로세서는 그룹 캐스캐이드 레벨에서 속성 그룹에 기초하여 디스플레이를 위해 구조화된 문서의 문서 구성 요소를 렌더링할 수도 있다. 대안적으로, 적어도 하나의 프로세서는 속성 캐스캐이드 레벨에서 스타일 속성에 기초하여 디스플레이를 위해 구조화된 문서의 문서 구성 요소를 렌더링할 수도 있다. 적어도 하나의 프로세서는 문서 구성 요소를 구조화된 문서에 삽입하도록 구성될 수도 있다. 적어도 하나의 프로세서는 그룹 캐스캐이드 레벨에서 구조화된 문서에 속성 그룹을 적용하도록 구성될 수도 있다. 대안적으로, 적어도 하나의 프로세서는 속성 캐스캐이드 레벨에서 스타일 속성을 문서에 적용하도록 구성될 수도 있다.
메모리(130)는 랜덤 액세스 메모리(random access memory; RAM) 또는 프로세서(120)에 의한 실행을 위한 명령어 및 정보를 저장하는 다른 타입의 동적 데이터 스토리지일 수도 있다. 메모리(130)는 프로세서(120)에 의한 명령어의 실행 동안 사용되는 일시적 변수 또는 다른 중간 정보를 또한 저장할 수도 있다. 메모리는 문서 렌더링 애플리케이션을 실행하기 위한 일련의 명령어를 저장할 수도 있다. 메모리는, 다른 스타일 시트 내의 스타일 속성과의 충돌을 해결하기 위해, 스타일 시트에 대한 시트 계층 구조를 나타내는 공칭 캐스캐이드 레벨을 갖는 구조화된 문서의 렌더링을 기술하는 스타일 시트를 저장하도록 구성될 수도 있다. 스타일 시트는 작성자 캐스캐이드 레벨의 작성자 스타일 시트 또는 유저 캐스캐이드 레벨의 유저 스타일 시트일 수도 있다. 메모리(130)는 그룹 캐스캐이드 레벨을 정의하는 그룹 규칙을 속성 그룹과 관련시키도록 구성될 수도 있다. 메모리(130)는 속성 계층 구조 표시자를 속성 그룹의 스타일 속성과 관련시키도록 구성될 수도 있다.
데이터 스토리지(140)는 종래의 ROM 디바이스 또는 프로세서(120)에 대한 명령어 및 정적(static) 정보를 저장하는 다른 타입의 정적 데이터 스토리지를 포함할 수도 있다. 데이터 스토리지(140)는, 예를 들면, 자기 또는 광학 기록 매체와 같은 임의의 타입의 유형의(tangible) 머신 판독 가능 매체, 예컨대 디지털 비디오 디스크, 및 그 대응 드라이브를 포함할 수도 있다. 유형의 머신 판독 가능 매체는, 신호와는 대조적으로, 머신 판독 가능 코드 또는 명령어를 저장하는 물리적 매체이다. 본원에서 설명되는 바와 같은 컴퓨터 판독 가능 매체 상에 명령어가 저장되게 하는 것은, 명령어가 전파되게 하거나 송신되게 하는 것과는 구별될 수 있는데, 컴퓨터 판독 가능 매체가 명령어를 저장하는 것에서 발생할 수 있는 것과 같은 명령어를 저장하는 것과는 대조적으로, 전파는 명령어를 전송하기 때문이다. 따라서, 그렇지 않다고 언급되지 않는 한, 명령어를 저장한 컴퓨터 판독 가능 매체들/매체에 대한 참조는, 이러한 또는 유사한 형태에서, 데이터가 저장 또는 유지될 수도 있는 유형의 매체를 참조한다. 데이터 스토리지(140)는, 하나 이상의 프로세서에 의한 실행시 하나 이상의 프로세서로 하여금 한 방법을 수행하게 하는, 그 방법을 상세히 설명하는 명령어의 세트를 저장할 수도 있다. 데이터 스토리지(140)는 또한, 데이터 콘텐츠 세트 및 스타일 시트를 저장하기 위한 데이터베이스 또는 데이터베이스 인터페이스일 수도 있다.
입력 디바이스(150)는, 유저가 컴퓨팅 디바이스(100)에 정보를 입력하는 것을 허용하는 하나 이상의 종래의 메커니즘, 예컨대 키보드, 마우스, 음성 인식 디바이스, 마이크, 헤드셋, 터치 스크린(152), 터치 패드(154), 제스쳐 인식 디바이스(156), 등등을 포함할 수도 있다. 출력 디바이스(160)는, 디스플레이 스크린(162), 프린터, 하나 이상의 스피커(164), 헤드셋, 진동기, 또는 매체, 예컨대 메모리, 또는 자기 또는 광학 디스크 및 대응하는 디스크 드라이브를 비롯한, 유저에게 정보를 출력하는 하나 이상의 종래의 메커니즘을 포함할 수도 있다. 디스플레이 스크린(162)은 문서 구성 요소를 유저에게 디스플레이하도록 구성될 수도 있다.
통신 인터페이스(170)는, 컴퓨팅 디바이스(100)가 다른 디바이스 또는 네트워크와 통신하는 것을 가능하게 하는 임의의 트랜스시버형 메커니즘을 포함할 수도 있다. 통신 인터페이스(170)는 네트워크 인터페이스 또는 트랜스시버 인터페이스를 포함할 수도 있다. 통신 인터페이스(170)는 무선, 유선, 또는 광학적 인터페이스일 수도 있다. 통신 인터페이스는 유저 캐스캐이드 레벨에서 유저 스타일 시트로서 플러그인(plug-in)으로부터 스타일 시트를 임포트하도록 구성될 수도 있다. 통신 인터페이스는 작성자 캐스캐이드 레벨에서 작성자 스타일 시트로서 설정되는 데이터 콘텐츠 세트로부터 스타일 시트를 임포트하도록 구성될 수도 있다.
컴퓨팅 디바이스(100)는, 예를 들면, 메모리(130), 자기 디스크, 광학 디스크, 또는 고상 매체와 같은 컴퓨터 판독 가능 매체에 포함되는 명령어의 시퀀스를 프로세서(120)가 실행하는 것에 응답하여, 이러한 기능을 수행할 수도 있다. 이러한 명령어는, 데이터 스토리지(140)와 같은 다른 컴퓨터 판독 가능 매체로부터, 또는 통신 인터페이스(160)를 통해 별개의 디바이스로부터, 메모리(130) 안으로 판독될 수도 있다.
도 2는 문서 렌더링 프로세스(200)의 하나의 예를 블록도로 예시한다. 문서 렌더링 디바이스는, 데이터 콘텐츠 세트를 문서 트리(210)로서 편제하는(organizing) 마크업 언어로 작성된 데이터 콘텐츠 세트를 프로세싱할 수도 있다. 문서 트리(210)는 하나 이상의 노드의 세트를 가질 수도 있다. 문서 트리(210)의 노드는 소스 노드(212) 또는 타겟 노드(214)일 수도 있다. 소스 노드(212)는 타겟 노드(214)에 대한 문서 트리 내에 컨텍스트 또는 구조를 제공할 수도 있다. 노드는, 문서 트리(210)의 더 낮은 노드에 대한 소스 노드(212)일 수도 있고 문서 트리(210)의 더 높은 노드에 대한 타겟 노드(214) 일 수도 있다. 문서 렌더링 디바이스는 문서 트리(210)를 문서(230)로 렌더링할 수도 있다(220). 문서 트리(210)의 각각의 노드는 문서(230)를 구성하는 문서 구성 요소(232)로 렌더링될 수도 있다(220). 예를 들면, 문서 구성 요소(232)는 그래프, 텍스트 조각, 오디오 클립, 비디오, 애플릿, 메뉴, 또는 프레임일 수도 있다.
문서 렌더링 디바이스는, 세트 스타일 속성을 기술하는 하나 이상의 스타일 시트의 세트에 기초하여 각각의 문서 구성 요소(232)를 포맷팅할 수도 있다. 문서 렌더링 디바이스는 다수의 소스 중 임의의 하나를 통해 스타일 시트를 도입할 수도 있다. 문서 렌더링 디바이스는, 다수의 스타일 시트로부터 충돌하는 속성 사이를 선택하기 위해, 캐스케이딩 스타일 시트의 세트를 사용할 수도 있다. 더 높은 캐스캐이드 레벨로부터의 스타일 시트의 스타일 속성은, 더 낮은 캐스캐이드 레벨로부터의 스타일 시트의 충돌하는 스타일 속성을 덮어 쓸 수도 있다. 예를 들면, 높은 캐스캐이드 레벨을 갖는 스타일 시트가 텍스트를 빨간색을 갖는 것으로 기술하고 낮은 캐스캐이드 레벨을 갖는 스타일 시트가 텍스트를 녹색을 갖는 것으로 기술하면, 렌더링된 문서의 텍스트는 빨간색을 갖는다. 문서 렌더링 디바이스는, 스타일 시트의 소스에 기초하여 캐스캐이드 레벨을 할당할 수도 있다.
도 3은 캐스캐이드 레벨 계층 구조(300)의 하나의 예를 블록도로 예시한다. 캐스캐이드 레벨 계층 구조(300)는 변경되지 않은 상태에서 일반 진행을 가질 수도 있다. 가장 낮은 캐스캐이드 레벨에서, 문서 렌더링 디바이스는 일반 유저 에이전트 캐스캐이드 레벨(302)에서 유저 에이전트 애플리케이션, 예컨대 브라우저로부터 유저 에이전트 스타일 시트를 수신할 수도 있다. 더 높은 캐스캐이드 레벨에서, 문서 렌더링 디바이스는 일반 유저 캐스캐이드 레벨(304)에서 유저 애플리케이션, 예컨대 유저 인터페이스 플러그인으로부터 유저 스타일 시트를 수신할 수도 있다. 문서 렌더링 디바이스는 일반 작성자 캐스캐이드 레벨(306)에서 웹 페이지와 같은 데이터 콘텐츠 세트로부터 작성자 스타일 시트를 수신할 수도 있다. 문서 렌더링 디바이스는 일반 오버라이드 캐스캐이드 레벨(308)에서 애플리케이션과 같은 애플리케이션 스크립트로부터 오버라이드 스타일 시트를 수신할 수도 있다. 문서 렌더링 디바이스는 일반 애니메이션 캐스캐이드 레벨(310)에서 애니메이션으로부터 애니메이션 스타일 시트를 수신할 수도 있다.
스타일 시트는, 일반 캐스캐이드 레벨 위에 다시 우선 순위가 부여된 순서의 캐스캐이드 레벨을 생성하기 위해, 중요한 속성 계층 구조 표시자 라벨을 사용할 수도 있다. 예를 들면, 중요한 속성 계층 구조 표시자 라벨은 텍스트 문자열 "!important"를 사용하여 기술될 수도 있다. 일반 캐스캐이드 레벨 위에, 문서 렌더링 디바이스는 중요한 작성자 캐스캐이드 레벨(312)에서 데이터 콘텐츠 세트로부터 중요한 작성자 스타일 시트를 수신할 수도 있다. 문서 렌더링 디바이스는 중요한 오버라이드 캐스캐이드 레벨(314)에서 애플리케이션 스크립트로부터 중요한 오버라이드 스타일 시트를 수신할 수도 있다. 문서 렌더링 디바이스는 중요한 유저 캐스캐이드 레벨(316)에서 유저 애플리케이션으로부터 중요한 유저 스타일 시트를 수신할 수도 있다. 문서 렌더링 디바이스는 중요한 유저 에이전트 캐스캐이드 레벨(318)에서 유저 에이전트 애플리케이션으로부터 중요한 유저 에이전트 스타일 시트를 수신할 수도 있다. 가장 높은 캐스캐이드 레벨에서, 문서 렌더링 디바이스는 전이 애니메이션 레벨 캐스캐이드 레벨(320)에서 유저 에이전트 애플리케이션으로부터 속성 값을 전이시키기 위한 전이 스타일 시트(transition style sheet)를 수신할 수도 있다.
스타일 시트는 일반 유저 캐스캐이드 레벨(304)과 일반 유저 에이전트 캐스캐이드 레벨(302) 사이의 일반 디폴트 캐스캐이드 레벨(322)에서 스타일 시트의 캐스캐이드 레벨을 설정하기 위해 @default 규칙을 사용할 수도 있다. 따라서 작성자는 일반 유저 캐스캐이드 레벨(304) 또는 그 이상의 캐스캐이드 레벨을 갖는 스타일 시트에 의해 덮어 쓰일 하나 이상의 디폴트 스타일 속성을 확립하는 스타일 시트를 생성할 수도 있다. 마찬가지로, 스타일 시트는, 중요한 유저 캐스캐이드 레벨(316)과 중요한 유저 캐스캐이드 레벨(318) 사이의 중요한 디폴트 캐스캐이드 레벨(324)에서 스타일 속성의 캐스캐이드 레벨을 설정하기 위해 !important 표시자를 갖는 @default 규칙을 사용할 수도 있다. 따라서, 작성자는, 중요한 유저 캐스캐이드 레벨(316) 또는 그 이하의 캐스캐이드 레벨을 갖는 임의의 스타일 시트를 덮어 쓰기하는 것에 의해 문서에 걸친 스타일 일관성을 확립하는 스타일 시트를 생성할 수도 있다.
스타일 시트는, 문서 구성 요소에 걸친 일관성을 생성하기 위해, 캐스캐이드 레벨을 재분류할 수도 있다. 문서 렌더링 디바이스는 웹 페이지로부터 작성자 스타일 시트로서 스타일 시트를 수신하여, 작성자 캐스캐이드 레벨(306)의 공칭 캐스캐이드 레벨을 생성할 수도 있거나, 또는 브라우저 플러그인으로부터의 유저 스타일 시트를 수신하여, 유저 캐스캐이드 레벨(304)의 공칭 캐스캐이드 레벨을 생성할 수도 있다. 스타일 시트는 다수의 속성 세트를 기술하는 속성 그룹을 식별할 수도 있다. 스타일 시트는 속성 그룹에 대한 그룹 캐스캐이드 레벨을 변경할 수도 있다. 예를 들면, 스타일 시트는 속성 그룹에 대한 그룹 캐스캐이드 레벨을 일반 디폴트 캐스캐이드 레벨(322)로 설정할 수도 있다. 따라서, 속성 그룹의 스타일 속성은, 일반 유저 캐스캐이드 레벨(304) 또는 그 이상의 캐스캐이드 레벨을 갖는 스타일 시트에서 충돌하는 스타일 속성에 의해 덮어 쓰일 수도 있다.
마찬가지로, 스타일 시트는, 개개의 스타일 속성의 캐스캐이드 레벨을 재분류하기 위해, 속성 계층 구조 표시자를 사용할 수도 있다. 예를 들면, 스타일 속성은 일반 디폴트 캐스캐이드 레벨(322)의 그룹 캐스캐이드 레벨을 갖는 속성 그룹 내에 있을 수도 있다. 스타일 시트가 그 속성 그룹의 스타일 속성을, "!important" 속성 계층 구조 표시자와 관련시키는 경우, 스타일 속성은 중요한 디폴트 캐스캐이드 레벨(324)의 속성 캐스캐이드 레벨을 가질 수도 있다. 따라서, 스타일 속성은, 중요한 유저 에이전트 캐스캐이드 레벨(318) 또는 그 이상의 캐스캐이드 레벨을 갖는 충돌하는 스타일 속성에 의해 덮어 쓰일 수도 있고, 충돌하는 스타일 속성을, 중요한 유저 캐스캐이드 레벨(316)의 캐스캐이드 레벨로 덮어 쓸 수도 있다. 대안적으로, 스타일 시트는 스타일 속성을 속성 계층 구조 표시자와 관련시켜 스타일 속성을 더 낮은 캐스캐이드 레벨로 강등시킬(demote) 수도 있다. 예를 들면, "!unimportant"의 속성 계층 구조 표시자는, 속성 캐스캐이드 레벨을 캐스캐이드 레벨의 설정된 수 아래로 이동시킬 수도 있는데, 예컨대, 일반 오버라이드 캐스캐이드 레벨(308)의 스타일 시트로부터의 스타일 속성을 두 개의 캐스캐이드 레벨 아래의 일반 유저 캐스캐이드 레벨(304)로 이동시킨다. 또한, 속성 계층 구조 표시자는 특정한 캐스캐이드 레벨을 식별할 수도 있다. 예를 들면, "!normaluseragent"의 속성 계층 구조 표시자는, 속성 캐스캐이드 레벨을 일반 유저 에이전트 캐스캐이드 레벨(302)로 이동할 수도 있다.
도 4는 캐스케이딩 스타일 시트 아키텍쳐(400)의 하나의 예를 블록도로 예시한다. 캐스케이딩 스타일 시트(402)는 문서 구성 요소 또는 문서에 대한 스타일 속성을 기술하는 하나 이상의 속성(404)을 열거할 수도 있다. 캐스케이딩 스타일 시트(402)는 둘 이상의 속성(404)의 서브세트를 속성 그룹(406)으로 그룹화할 수도 있다. 캐스케이딩 스타일 시트(402)는 속성 그룹(406)에 대한 그룹 캐스캐이드 레벨을 기술하는 그룹 규칙(408)을 식별할 수도 있다. 그룹 규칙(408)은 그룹 캐스캐이드 레벨을 식별하기 위해 "@" 심볼을 사용할 수도 있다. 캐스케이딩 스타일 시트(402)는 속성 계층 구조 표시자(410)를 사용하여 개개의 스타일 속성(404)에 대한 캐스캐이드 레벨을 변경할 수도 있다. 속성 계층 구조 표시자(410)는 속성 계층 구조 표시자(410)를 식별하기 위해 "!" 심볼을 사용할 수도 있다.
도 5는 문서를 생성하는 방법(500)의 하나의 예를 플로우차트로 예시한다. 문서 렌더링 디바이스는 데이터 콘텐츠 세트에 적용될 포맷팅을 기술하는 스타일 속성을 갖는 스타일 시트를 수신할 수도 있다(블록 502). 문서 렌더링 디바이스가 전체 문서를 나타내는 데이터 콘텐츠 세트의 일부로서 스타일 시트를 수신하면(블록 504), 문서 렌더링 디바이스는 작성자 캐스캐이드 레벨에서 스타일 시트를 작성자 스타일 시트로서 판독할 수도 있다(블록 506). 문서 렌더링 디바이스는 문서 렌더링 디바이스의 메모리에 일반 작성자 캐스캐이드 레벨의 작성자 스타일 시트를 저장할 수도 있다(블록 508). 문서 렌더링 디바이스가 렌더링 애플리케이션에 대한 플러그인의 일부로서 스타일 시트를 수신하면(블록 504), 문서 렌더링 디바이스는 유저 캐스캐이드 레벨에서 스타일 시트를 유저 스타일 시트로서 임포트할 수도 있다(블록 510). 문서 렌더링 디바이스는 문서 렌더링 디바이스의 메모리에 일반 유저 캐스캐이드 레벨의 유저 스타일 시트를 저장할 수도 있다(블록 508). 문서 렌더링 디바이스는 데이터 콘텐츠 세트를 나타내는 문서 트리를 프로세싱할 수도 있다(블록 512). 문서 렌더링 디바이스는, 다른 스타일 시트 내의 스타일 속성과의 충돌을 해결하기 위해, 스타일 시트에 대한 시트 계층 구조를 나타내는 공칭 캐스캐이드 레벨을 갖는 구조화된 문서의 렌더링을 기술하는 스타일 시트를 프로세싱할 수도 있다(블록 514). 문서 렌더링 디바이스는, 속성 캐스캐이드 레벨의 스타일 시트의 스타일 속성 또는 그룹 캐스캐이드 레벨의 속성 그룹에 기초하여 구조화된 문서의 문서 구성 요소를 렌더링하여 문서 구성 요소를 생성할 수도 있다(블록 516). 문서 렌더링 디바이스는 문서 구성 요소를 문서 안으로 삽입할 수도 있다(블록 518). 문서 렌더링 디바이스는 문서 구성 요소로부터 문서를 생성할 수도 있다(블록 520).
도 6은, 속성 그룹에 대해 공칭 캐스캐이드 레벨과는 상이한 그룹 캐스캐이드 레벨을 설정하기 위한 방법(600)의 하나의 예를 플로우차트로 예시한다. 문서 렌더링 디바이스는, 스타일 시트에서, 다수의 스타일 속성의 세트를 기술하며 스타일 속성을 포함하는 속성 그룹을 식별할 수도 있다(블록 602). 문서 렌더링 디바이스는, 스타일 시트에서, 스타일 속성을 포함하는 속성 그룹에 대한 그룹 캐스캐이드 레벨을 정의하는 그룹 규칙을 식별할 수도 있다(블록 604). 문서 렌더링 디바이스는, 스타일 속성을 포함하는 속성 그룹에 대해 스타일 시트에 대한 공칭 캐스캐이드 레벨과는 상이한 그룹 캐스캐이드 레벨을 설정할 수도 있다(블록 606). 속성 그룹에 대한 그룹 캐스캐이드 레벨이 스타일 시트의 공칭 캐스캐이드 레벨보다 높아야 한다는 것을 스타일 시트가 나타내면(블록 608), 문서 렌더링 디바이스는 속성 그룹에 대한 그룹 캐스캐이드 레벨을, 스타일 시트에 대한 공칭 캐스캐이드 레벨보다 더 높게 설정할 수도 있다(블록 610). 속성 그룹에 대한 그룹 캐스캐이드 레벨이 스타일 시트의 공칭 캐스캐이드 레벨보다 낮아야 한다는 것을 스타일 시트가 나타내면(블록 608), 문서 렌더링 디바이스는 속성 그룹에 대한 그룹 캐스캐이드 레벨을, 스타일 시트에 대한 공칭 캐스캐이드 레벨보다 더 낮게 설정할 수도 있다(블록 612). 속성 그룹에 대한 그룹 캐스캐이드 레벨이 일반 디폴트 캐스캐이드 레벨로 설정되어야 한다는 것을 스타일 시트가 나타내면(블록 614), 문서 렌더링 디바이스는 속성 그룹에 대한 그룹 캐스캐이드 레벨을, 유저 캐스캐이드 레벨과 유저 에이전트 캐스캐이드 레벨 사이에 배치할 수도 있다(블록 616). 문서 렌더링 디바이스는 그룹 캐스캐이드 레벨에서 문서에 속성 그룹을 적용할 수도 있다(블록 618).
도 7은 스타일 속성에 대해 공칭 캐스캐이드 레벨과는 상이한 속성 캐스캐이드 레벨을 설정하기 위한 방법(700)의 하나의 예를 플로우차트로 예시한다. 문서 렌더링 디바이스는 스타일 시트에서, 가능하게는 속성 그룹의 스타일 속성을 식별할 수도 있다(블록 702). 문서 렌더링 디바이스는 스타일 시트에 기초하여 속성 계층 구조 표시자를 스타일 속성과 관련시킬 수도 있다(블록 704). 문서 렌더링 디바이스는 속성 계층 구조 표시자에 기초하여 스타일 속성에 대한 속성 캐스캐이드 레벨을 설정할 수도 있다(블록 706). 스타일 속성에 대한 속성 캐스캐이드 레벨이 스타일 시트의 공칭 캐스캐이드 레벨보다 더 낮게 설정되어야 한다는 것을 스타일 시트가 나타내면(블록 708), 문서 렌더링 디바이스는 스타일 속성에 대한 속성 캐스캐이드 레벨을, 스타일 시트에 대한 공칭 캐스캐이드 레벨보다 더 낮게 설정할 수도 있다(블록 710). 스타일 속성에 대한 속성 캐스캐이드 레벨이 스타일 시트의 공칭 캐스캐이드 레벨보다 더 높게 설정되어야 한다는 것을 스타일 시트가 나타내면(블록 708), 문서 렌더링 디바이스는 스타일 속성에 대한 속성 캐스캐이드 레벨을, 스타일 시트에 대한 공칭 캐스캐이드 레벨보다 더 높게 설정할 수도 있다(블록 712). 스타일 속성에 대한 속성 캐스캐이드 레벨이, "!important" 속성 계층 구조 표시자를 갖는 디폴트 그룹 캐스캐이드 레벨의 일부로서, 중요한 디폴트 캐스캐이드 레벨로 설정되어야 한다는 것을 스타일 시트가 나타내면(블록 714), 문서 렌더링 디바이스는 스타일 속성에 대한 속성 캐스캐이드 레벨을, 중요한 유저 캐스캐이드 레벨과 중요한 유저 에이전트 캐스캐이드 레벨 사이에 배치할 수도 있다(블록 716). 문서 렌더링 디바이스는 속성 캐스캐이드 레벨에서 문서에 스타일 속성을 적용할 수도 있다(블록 718).
비록 본 주제가 구조적 피쳐 및/또는 방법론적 액트(act)에 고유한 언어로 설명되었지만, 첨부의 청구범위의 주제는 상기에서 설명되는 특정한 피쳐 또는 액트로 반드시 제한되는 것은 아니다는 것이 이해되어야 한다. 오히려, 상기에서 설명되는 특정한 피쳐 및 액트는 청구범위를 구현하기 위한 예시적인 형태로서 개시된다.
본 발명의 범위 내의 예는, 컴퓨터 실행 가능 명령어 또는 데이터 구조를 전달하기 위한 또는 컴퓨터 실행 가능 명령어 또는 데이터 구조를 저장하기 위한 컴퓨터 판독 가능 저장 매체를 또한 포함할 수도 있다. 이러한 컴퓨터 판독 가능 저장 매체는 범용 컴퓨터 또는 특수 목적 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수도 있다. 비제한적인 예로서, 이러한 컴퓨터 판독 가능 저장 매체는, RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 데이터 스토리지, 또는 소망의 프로그램 코드 수단을 컴퓨터 실행 가능 명령어 또는 데이터 구조의 형태로 전달하거나 저장하기 위해 사용될 수 있는 임의의 다른 매체를 포함할 수 있다. 상기의 조합도 컴퓨터 판독 가능 저장 매체의 범위 내에 또한 포함되어야 한다.
예는 또한, 통신 네트워크를 통해 (하드웨어 링크, 무선 링크에 의해, 또는 이들의 조합에 의해) 링크되는 로컬 및 원격 프로세싱 디바이스에 의해 태스크가 수행되는 분산형 컴퓨팅 환경에서 실시될 수도 있다.
컴퓨터 실행 가능 명령어는, 예를 들면, 범용 컴퓨터, 특수 목적의 컴퓨터, 또는 특수 목적의 프로세싱 디바이스로 하여금, 특정 기능 또는 기능의 그룹을 수행하게 하는 데이터 및 명령어를 포함한다. 컴퓨터 실행 가능 명령어는, 독립적으로 또는 네트워크 환경에서 컴퓨터에 의해 실행되는 프로그램 모듈을 또한 포함한다. 일반적으로, 프로그램 모듈은, 특정한 태스크를 수행하거나 또는 특정한 추상 데이터 타입을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조, 등등을 포함한다. 데이터 구조와 관련되는 컴퓨터 실행 가능 명령어, 및 프로그램 모듈은, 본원에서 개시되는 방법의 단계를 실행하기 위한 프로그램 코드 수단의 예를 나타낸다. 이러한 실행 가능 명령어 또는 관련된 데이터 구조의 특정한 시퀀스는, 이러한 단계에서 설명되는 기능을 구현하기 위한 대응하는 액트의 예를 나타낸다.
상기의 설명이 특정한 상세를 포함할 수도 있지만, 그 특정한 상세는 청구범위를 어떤 식으로든 제한하는 것으로 간주되어선 안된다. 설명된 예의 다른 구성은 본 개시의 범위의 일부이다. 예를 들면, 본 개시의 원리는, 각각의 개개의 유저에게 적용될 수도 있는데, 이 경우 각각의 유저는 이러한 시스템을 개별적으로 배치할 수도 있다. 이것은, 아주 많은 수의 가능한 애플케이션 중 임의의 하나가 본원에서 설명되는 기능성을 사용하지 않는 경우에도, 각각의 유저가 본 개시의 이점을 활용하는 것을 가능하게 한다. 전자 디바이스의 다수의 인스턴스 각각은 다양하고 가능한 방식으로 콘텐츠를 프로세싱할 수도 있다. 구현예는, 모든 엔드 유저에 의해 사용되는 하나의 시스템 내에 반드시 있는 것은 아니다. 따라서, 첨부의 청구범위 및 그 법률상의 균등물은, 주어진 임의의 구체적 예가 아닌, 본 발명만을 정의해야 한다.
Claims (15)
- 문서 렌더링 디바이스로서,
다른 스타일 시트 내의 스타일 속성과의 충돌을 해결하기 위해, 스타일 시트에 대한 시트 계층 구조(hierarchy)를 나타내는 공칭(nominal) 캐스캐이드 레벨을 갖는 구조화된(structured) 문서의 렌더링을 기술하는 상기 스타일 시트를 저장하도록 구성되는 메모리;
적어도 하나의 프로세서를 갖는 프로세싱 유닛 - 상기 적어도 하나의 프로세서는:
상기 스타일 시트 내의 다수의 스타일 속성의 세트를 기술하는 속성 그룹에 대한 그룹 캐스캐이드 레벨을, 상기 그룹 캐스캐이드 레벨이 상기 공칭 캐스캐이드 레벨과는 상이하도록 설정하도록; 그리고
상기 그룹 캐스캐이드 레벨에서 상기 속성 그룹에 기초하여 상기 구조화된 문서의 문서 구성 요소(document component)를 렌더링하도록
구성됨 - ; 및
상기 문서 구성 요소를 유저에게 디스플레이하도록 구성되는 디스플레이 스크린
을 포함하는 문서 렌더링 디바이스. - 제1항에 있어서,
상기 적어도 하나의 프로세서는 또한, 상기 스타일 시트에서, 상기 속성 그룹에 대한 상기 그룹 캐스캐이드 레벨을 정의하는 그룹 규칙을 식별하도록, 그리고 상기 그룹 규칙에 따라 상기 그룹 캐스캐이드 레벨을 설정하도록 구성되는 것인 문서 렌더링 디바이스. - 제1항에 있어서,
상기 그룹 캐스캐이드 레벨은, 상기 스타일 시트에 대한 상기 공칭 캐스캐이드 레벨보다 더 낮은 것인 문서 렌더링 디바이스. - 제1항에 있어서,
상기 그룹 캐스캐이드 레벨은, 일반(normal) 유저 캐스캐이드 레벨과 일반 유저 에이전트 캐스캐이드 레벨 사이에 있는 것인 문서 렌더링 디바이스. - 제1항에 있어서,
플러그인(plug-in) 및 데이터 콘텐츠 세트 중 적어도 하나로부터 상기 스타일 시트를 임포트하도록(import) 구성되는 통신 인터페이스를 더 포함하는 문서 렌더링 디바이스. - 제1항에 있어서,
상기 메모리는 또한, 상기 속성 그룹의 스타일 속성과 속성 계층 구조 표시자(property hierarchy indicator)를 연관시키도록 구성되는 것인 문서 렌더링 디바이스. - 제1항에 있어서,
상기 적어도 하나의 프로세서는 또한, 상기 속성 그룹의 스타일 속성에 대한 속성 캐스캐이드 레벨을 속성 계층 구조 표시자에 기초하여 설정하도록 구성되는 것인 문서 렌더링 디바이스. - 문서 렌더링 애플리케이션을 실행하기 위한 일련의 명령어를 저장하는 메모리를 갖는 컴퓨팅 디바이스로서,
다른 스타일 시트 내의 스타일 속성과의 충돌을 해결하기 위해, 스타일 시트에 대한 시트 계층 구조를 나타내는 공칭 캐스캐이드 레벨을 갖는 구조화된 문서의 렌더링을 기술하는 상기 스타일 시트를 프로세싱하고;
상기 스타일 시트에서 스타일 속성을 식별하고;
상기 스타일 속성에 대해 상기 공칭 캐스캐이드 레벨보다 더 낮은 속성 캐스캐이드 레벨을 설정하고; 그리고
상기 속성 캐스캐이드 레벨에서 상기 스타일 속성에 기초하여 상기 구조화된 문서의 문서 구성 요소를 렌더링하도록
구성되는, 문서 렌더링 애플리케이션을 실행하기 위한 일련의 명령어를 저장하는 메모리를 갖는 컴퓨팅 디바이스. - 제8항에 있어서,
상기 방법은:
상기 스타일 속성과 속성 계층 구조 표시자를 연관시키는 것을 더 포함하는 것인 컴퓨팅 디바이스. - 제8항에 있어서,
상기 방법은:
상기 스타일 시트에서 상기 스타일 속성을 포함하는 속성 그룹을 식별하는 것을 더 포함하는 것인 컴퓨팅 디바이스. - 제8항에 있어서,
상기 방법은:
상기 스타일 시트에서, 상기 스타일 속성을 포함하는 속성 그룹에 대한 그룹 캐스캐이드 레벨을 정의하는 그룹 규칙을 식별하는 것을 더 포함하는 것인 컴퓨팅 디바이스. - 제8항에 있어서,
상기 방법은:
상기 스타일 속성을 포함하는 속성 그룹에 대해 상기 스타일 시트에 대한 상기 공칭 캐스캐이드 레벨과는 상이한 그룹 캐스캐이드 레벨을 설정하는 것을 더 포함하는 것인 컴퓨팅 디바이스. - 제8항에 있어서,
상기 속성 캐스캐이드 레벨은, 중요한 유저 캐스캐이드 레벨과 중요한 유저 에이전트 캐스캐이드 레벨 사이에 있는 것인 컴퓨팅 디바이스. - 머신 구현 방법으로서,
다른 스타일 시트 내의 스타일 속성과의 충돌을 해결하기 위해, 스타일 시트에 대한 시트 계층 구조를 나타내는 공칭 캐스캐이드 레벨을 갖는 구조화된 문서의 렌더링을 기술하는 상기 스타일 시트를 프로세싱하는 단계;
상기 스타일 시트에서, 다수의 스타일 속성의 세트를 기술하는 속성 그룹을 식별하는 단계;
상기 속성 그룹에 대해 상기 공칭 캐스캐이드 레벨보다 더 낮은 그룹 캐스캐이드 레벨을 설정하는 단계; 및
상기 그룹 캐스캐이드 레벨에서 상기 속성 그룹에 기초하여 상기 구조화된 문서의 문서 구성 요소를 렌더링하는 단계
를 포함하는 머신 구현 방법. - 제14항에 있어서,
상기 속성 그룹의 스타일 속성에 대한 속성 캐스캐이드 레벨을 속성 계층 구조 표시자에 기초하여 설정하는 단계를 더 포함하는 머신 구현 방법.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562135159P | 2015-03-18 | 2015-03-18 | |
US62/135,159 | 2015-03-18 | ||
US15/068,536 US10482165B2 (en) | 2015-03-18 | 2016-03-11 | Declarative cascade reordering for styles |
US15/068,536 | 2016-03-11 | ||
PCT/US2016/022991 WO2016149565A1 (en) | 2015-03-18 | 2016-03-17 | Declarative cascade reordering for styles |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170129225A true KR20170129225A (ko) | 2017-11-24 |
KR102601387B1 KR102601387B1 (ko) | 2023-11-10 |
Family
ID=56919403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177029886A KR102601387B1 (ko) | 2015-03-18 | 2016-03-17 | 스타일에 대한 선언적 캐스캐이드 재정렬 |
Country Status (16)
Country | Link |
---|---|
US (1) | US10482165B2 (ko) |
EP (1) | EP3271830A4 (ko) |
JP (1) | JP2018514843A (ko) |
KR (1) | KR102601387B1 (ko) |
CN (1) | CN107408104B (ko) |
AU (1) | AU2016232869A1 (ko) |
BR (1) | BR112017018014A2 (ko) |
CA (1) | CA2977577A1 (ko) |
CL (1) | CL2017002305A1 (ko) |
CO (1) | CO2017009118A2 (ko) |
IL (1) | IL253861A0 (ko) |
MX (1) | MX2017011804A (ko) |
PH (1) | PH12017550080A1 (ko) |
RU (1) | RU2017132284A (ko) |
SG (1) | SG11201707181VA (ko) |
WO (1) | WO2016149565A1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10089285B2 (en) * | 2016-12-14 | 2018-10-02 | Rfpio, Inc. | Method to automatically convert proposal documents |
US11023653B2 (en) * | 2018-10-17 | 2021-06-01 | Kyocera Document Solutions Inc. | Simplified formatting for variable data production with vertical resolution of dependencies |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5832505A (en) * | 1997-04-02 | 1998-11-03 | Sun Microsystems, Inc. | Computer system for managing and configuring application properties and enabling system administrator to override certain user-set or host properties |
KR20090019001A (ko) * | 2006-06-01 | 2009-02-24 | 콸콤 인코포레이티드 | 디스플레이 가능한 컨텐트의 부분들을 선택적으로 이중 버퍼링하기 위한 장치 및 방법 |
US20120323572A1 (en) * | 2011-06-19 | 2012-12-20 | Detlef Koll | Document Extension in Dictation-Based Document Generation Workflow |
US8924847B2 (en) * | 2011-03-31 | 2014-12-30 | Accenture Global Services Limited | Multilayer style sheet approach and system |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3692054B2 (ja) | 2001-05-21 | 2005-09-07 | 株式会社東芝 | 文書構造変換方法および文書構造変換装置およびプログラム |
US7437666B2 (en) * | 2003-10-22 | 2008-10-14 | Intel Corporation | Expression grouping and evaluation |
US7802182B2 (en) * | 2004-05-21 | 2010-09-21 | Bea Systems Inc. | System and method for performing visual property updates |
US7398472B2 (en) | 2004-07-09 | 2008-07-08 | Microsoft Corporation | Defining the visual appearance of user-interface controls |
US20060218490A1 (en) | 2005-03-24 | 2006-09-28 | Richard Fink | Method and apparatus for creating a web page |
US7562070B2 (en) | 2005-04-01 | 2009-07-14 | Microsoft Corporation | Method and system for aggregating rules that define values for the same property associated with the same document element |
US8176416B1 (en) | 2006-03-17 | 2012-05-08 | Wells Fargo Bank, N.A. | System and method for delivering a device-independent web page |
US8775926B2 (en) * | 2008-05-30 | 2014-07-08 | Red Hat, Inc. | Stylesheet conversion engine |
US7774442B2 (en) * | 2008-06-26 | 2010-08-10 | Microsoft Corporation | Distributed configuration management using loosely-coupled action-style documents |
CN101777048B (zh) * | 2009-01-14 | 2013-04-03 | 国际商业机器公司 | 解决web应用复合中UI样式冲突的方法和装置 |
US8375296B2 (en) * | 2010-06-30 | 2013-02-12 | Samsung Electronics Co., Ltd. | Reusing style sheet assets |
US9424236B2 (en) * | 2011-04-26 | 2016-08-23 | Oracle International Corporation | Filtered Stylesheets |
US20120278701A1 (en) * | 2011-04-28 | 2012-11-01 | International Business Machines Corporation | Automatically Generating And Porting A Cascading Style Sheets ('CSS') Style Sheet |
US9104527B2 (en) | 2011-09-08 | 2015-08-11 | Microsoft Technology Licensing, Llc | Automatically generated style rules for page design |
US8468449B1 (en) | 2011-12-08 | 2013-06-18 | Microsoft Corporation | Generating CSS shorthand properties |
US20130159839A1 (en) | 2011-12-14 | 2013-06-20 | Microsoft Corporation | Semantic compression of cascading style sheets |
CN104025068B (zh) * | 2012-01-02 | 2017-06-13 | 国际商业机器公司 | 来自多个来源的css定义的冲突解决 |
US9026904B2 (en) * | 2012-03-14 | 2015-05-05 | International Business Machines Corporation | Automatic modification of cascading style sheets for isolation and coexistence |
US9753926B2 (en) | 2012-04-30 | 2017-09-05 | Salesforce.Com, Inc. | Extracting a portion of a document, such as a web page |
US20130339843A1 (en) | 2012-06-13 | 2013-12-19 | Motorola Mobility, Inc. | Methods and Systems for Styling Web Elements |
US9600458B2 (en) * | 2012-06-14 | 2017-03-21 | Google Technology Holdings LLC | Overriding style rules for styling web elements |
CN104252412B (zh) * | 2013-06-28 | 2017-12-29 | 国际商业机器公司 | 用于css冲突的自动检测的方法和系统 |
US20150106753A1 (en) * | 2013-10-14 | 2015-04-16 | Invensys Systems, Inc. | Human-machine interface (hmi) system having elements styles with centrally managed and distributed graphic styles |
US9747556B2 (en) * | 2014-08-20 | 2017-08-29 | Vertafore, Inc. | Automated customized web portal template generation systems and methods |
-
2016
- 2016-03-11 US US15/068,536 patent/US10482165B2/en active Active
- 2016-03-17 EP EP16765800.4A patent/EP3271830A4/en active Pending
- 2016-03-17 KR KR1020177029886A patent/KR102601387B1/ko active IP Right Grant
- 2016-03-17 JP JP2017546789A patent/JP2018514843A/ja active Pending
- 2016-03-17 BR BR112017018014A patent/BR112017018014A2/pt not_active Application Discontinuation
- 2016-03-17 CA CA2977577A patent/CA2977577A1/en not_active Abandoned
- 2016-03-17 CN CN201680016464.9A patent/CN107408104B/zh active Active
- 2016-03-17 SG SG11201707181VA patent/SG11201707181VA/en unknown
- 2016-03-17 AU AU2016232869A patent/AU2016232869A1/en not_active Abandoned
- 2016-03-17 RU RU2017132284A patent/RU2017132284A/ru not_active Application Discontinuation
- 2016-03-17 WO PCT/US2016/022991 patent/WO2016149565A1/en active Application Filing
- 2016-03-17 MX MX2017011804A patent/MX2017011804A/es unknown
-
2017
- 2017-08-06 IL IL253861A patent/IL253861A0/en unknown
- 2017-08-11 PH PH12017550080A patent/PH12017550080A1/en unknown
- 2017-09-06 CO CONC2017/0009118A patent/CO2017009118A2/es unknown
- 2017-09-12 CL CL2017002305A patent/CL2017002305A1/es unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5832505A (en) * | 1997-04-02 | 1998-11-03 | Sun Microsystems, Inc. | Computer system for managing and configuring application properties and enabling system administrator to override certain user-set or host properties |
KR20090019001A (ko) * | 2006-06-01 | 2009-02-24 | 콸콤 인코포레이티드 | 디스플레이 가능한 컨텐트의 부분들을 선택적으로 이중 버퍼링하기 위한 장치 및 방법 |
US8924847B2 (en) * | 2011-03-31 | 2014-12-30 | Accenture Global Services Limited | Multilayer style sheet approach and system |
US20120323572A1 (en) * | 2011-06-19 | 2012-12-20 | Detlef Koll | Document Extension in Dictation-Based Document Generation Workflow |
Also Published As
Publication number | Publication date |
---|---|
AU2016232869A1 (en) | 2017-09-07 |
CN107408104B (zh) | 2020-11-27 |
EP3271830A1 (en) | 2018-01-24 |
US20160275052A1 (en) | 2016-09-22 |
RU2017132284A (ru) | 2019-03-20 |
US10482165B2 (en) | 2019-11-19 |
KR102601387B1 (ko) | 2023-11-10 |
CN107408104A (zh) | 2017-11-28 |
BR112017018014A2 (pt) | 2018-04-10 |
SG11201707181VA (en) | 2017-10-30 |
CL2017002305A1 (es) | 2018-03-09 |
EP3271830A4 (en) | 2018-12-12 |
PH12017550080A1 (en) | 2018-02-12 |
WO2016149565A1 (en) | 2016-09-22 |
JP2018514843A (ja) | 2018-06-07 |
MX2017011804A (es) | 2017-12-07 |
IL253861A0 (en) | 2017-09-28 |
CO2017009118A2 (es) | 2017-11-21 |
CA2977577A1 (en) | 2016-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101961970B1 (ko) | 실행 페이지의 동적 갱신 기법 | |
US8756489B2 (en) | Method and system for dynamic assembly of form fragments | |
US9460062B2 (en) | Local rendering of an object as an image | |
US10318126B2 (en) | Data-driven schema for describing and executing management tasks in a graphical user interface | |
KR101975616B1 (ko) | 소스 코드를 실행 요소에 링크시키는 기법 | |
CN107408105B (zh) | 有条件受控加样式 | |
US8667411B2 (en) | Using style elements to copy and paste a selected area of a screen display | |
US20150178263A1 (en) | System and Method for Constructing Markup Language Templates and Input Data Structure Specifications | |
US20150178258A1 (en) | System and Method for Processing Markup Language Templates from Partial Input Data | |
US20070208995A1 (en) | Document Processing Device and Document Processing Method | |
KR102601387B1 (ko) | 스타일에 대한 선언적 캐스캐이드 재정렬 | |
CN112068826B (zh) | 文本输入的控制方法、系统、电子设备和存储介质 | |
US9965453B2 (en) | Document transformation | |
US9792197B2 (en) | Apparatus and program | |
US20090094509A1 (en) | Document processing device, and document processing method | |
WO2008119593A2 (en) | Method for consistent constraint checking using markup language schema |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |