>  기사  >  백엔드 개발  >  XML 태그의 의미

XML 태그의 의미

黄舟
黄舟원래의
2017-02-25 14:11:072301검색

[요약] XML 문서 유형 정의는 XML 언어의 구문을 기계가 읽을 수 있는 형식으로 설명할 수 있는 메커니즘을 제공하지만, 현재 XML 어휘의 특정 의미를 지정하는 유사한 메커니즘은 없습니다. 이는 XML 태그의 의미를 설명할 방법이 없으며, XML로 표현되는 사실과 관계를 명확하고 포괄적이며 규범적으로 정의할 수 없음을 의미합니다. 이는 심각한 실제적, 이론적 결과를 가져옵니다. 긍정적인 측면에서는 XML 구조에 임의의 의미가 부여될 수 있으며 원래 설계자가 예측하지 못한 영역에서 사용될 수 있습니다. 덜 긍정적인 측면에서는 콘텐츠 개발자와 소프트웨어 엔지니어가 평범한 문서에 의존해야 하거나 더 나쁘게는 마크업 언어 디자이너의 의도를 추측하는 데 의존해야 합니다. 이 프로세스는 시간이 많이 걸리고 오류가 발생하기 쉬우며 확인할 수 없습니다. 디자이너의 독창적인 문서 작업이 완벽하게 이루어졌다고 하더라도 만족스럽지 못한 상황은 계속 발생합니다. 또한, 마크업의 의미론적 성격에 대한 연구가 부족하다는 것은 공학 응용 분야에 속하는 디지털 문서 처리에 이론이 전혀 없다는 것을 의미하기도 합니다. 일부 진행 중인 프로젝트(XML Schema, RDF, Semantic Web)가 일부 결과를 달성했지만 이들 프로젝트 중 어느 것도 XML 마크업 의미론의 핵심 문제를 직접적이고 포괄적으로 해결하지 못합니다. 이 기사에서는 마크업 의미 개념의 개발 역사를 검토하고, XML의 형식적 의미론을 해석하는 동기를 명확히 하며, 의미론에 관한 과학 연구 프로젝트인 BECHAMEL 마크업 의미론 프로젝트를 소개합니다.
[키워드] SGML | SGML(Standard Generalized Markup Language), XML(Extensible Markup Language) 등 텍스트 마크업 시스템이 사회, 비즈니스, 문화, 생활 전반에 적용되기 시작했습니다. SGML/XML은 설명적 마크업 언어를 정의하는 기계 판독 가능 기술입니다. 특별한 처리가 필요한 일부 부분을 제외하고 이 언어는 문서의 구조와 기본 의미를 명확하게 정의합니다. SGML/XML은 빠르게 발전하고 있으며 이 기술을 널리 사용하면 고성능 문서 상호 운용성 처리 및 게시를 지원할 수 있습니다.
이러한 소망은 부분적으로 실현되었습니다. SGML/XML의 우수성은 사람들의 기대를 뛰어넘었습니다. 그러나 SGML/XML 문서 시스템의 기능, 상호 운용성, 다양성 및 접근성은 여전히 ​​개선되어야 합니다. 이 기회를 포착하지 못하면 결과는 매우 심각할 것입니다. 업계는 높은 재정적 비용을 지출하고 많은 기회를 잃었으며 이는 또한 장애인을 위한 중요한 안전 애플리케이션에 일부 재난을 초래할 수 있으며 이는 장애인의 평등한 접근을 방해할 것입니다. 현대 사회의 문화적, 상업적 이익을 위해. 또한, 오랜 문제는 현재 최고의 디지털 문서 모델이 여전히 결함이 있거나 적어도 불완전하다는 점을 계속해서 상기시켜 줍니다.
이러한 문제의 근본 원인은 SGML/XML이 문서에 의미 있는 구조를 제공할 수 있지만 SGML/XML은 문서 구성 요소와 주제 간의 기본 의미 관계를 체계적이고 기계 처리 가능한 방식으로 표현할 수 없다는 것입니다. SGML/XML은 기계 판독 가능한 "문법"에 대한 설명을 지원하지만 특정 문법의 의미론적 의미를 설명하는 메커니즘을 제공하지 않습니다. 따라서 SGML/XML 어휘의 잠재적인 의미를 공식적으로 표현할 방법이 없습니다. 현재 SGML/XML은 문서 주석 시스템에 대한 매우 간단한 기본 의미론적 사실조차 표현할 수 없습니다. 이러한 사실은 일반적으로 마크업 언어 디자이너에 의해 미리 설계되지만 구체적인 구현은 여전히 ​​마크업 언어 사용자와 소프트웨어에 따라 다릅니다.
이러한 표현 능력 부족으로 인해 SGML/XML 사용자는 마크업 언어 디자이너가 생각했지만 공식적으로 표현하지 않은 의미 관계를 추측하게 됩니다. 콘텐츠 개발자는 콘텐츠를 인코딩할 때 디자이너의 의도를 추측하고 이러한 추론에 따라 작업해야 하지만, 자신의 추론과 의도를 다른 사람이나 인코딩된 콘텐츠를 처리하는 애플리케이션에 명확하게 표현할 수는 없습니다. 또한 소프트웨어 디자이너는 마크업 언어 디자이너의 가능한 의도를 추측하고 이 추측을 소프트웨어 도구 및 애플리케이션 시스템에 설계해야 합니다. 때로는 2차 추측이 필요합니다. 소프트웨어 디자이너는 마크업 언어 디자이너의 의도에 대한 콘텐츠 개발자의 추론을 추측합니다.
분명히 이러한 추측은 불완전하고 오류가 많으며 근거가 없습니다. 더욱이, 생산 및 구현 과정은 시간이 많이 걸리고 노동 집약적이며 기능과 상호 운용성도 열악합니다. 일반 자연어 문서에 SGML/XML 사양을 적용한다고 해서 이 문제가 완벽하게 해결되는 것은 아닙니다. 물론 일반적인 자연어 문서는 콘텐츠 제공자와 소프트웨어 엔지니어에게 몇 가지 힌트를 제공할 수 있지만 현재 SGML/XML 문서에 대한 일반 규칙은 없습니다. 어쨌든 일반적인 자연어 문서는 기계가 읽을 수 있는 형식이 아니며 이것이 우리가 SGML/XML 마크업 시스템에서 이야기하고 있는 문제입니다.
SGML 및 XML과 관련된 기계 처리 가능한 의미 기술에 대한 아이디어는 아직 형성되지 않았습니다. 이는 현재 공학 분야의 문제이자 향후 개발의 장애물이기도 하지만 많은 학자들이 있습니다. 이 문제에 주목하기 시작했습니다. W3CSchema에 대한 작업은 이와 관련되어 있지만 이 문제의 작은 부분(예: 데이터 유형)만 다룹니다. W3C의 '시맨틱 웹(Semantic Web)' 프로젝트도 이와 관련이 있는데, 이는 일반적인 XML 기반의 지식 표현 기술 개발을 위한 것이다. 우리의 연구는 실제 문서 처리 시스템에 숨겨져 있는 문서 마크업의 의미에 중점을 두고 있습니다. 사람들은 시맨틱 웹의 본질은 시맨틱 태그를 디자인하는 것이라고 말할 수 있습니다. 그러나 이 글에서는 위의 문제를 해결하기 위해서는 태그의 본질적인 의미도 깊이 고려해야 한다고 믿습니다.
다음으로, 이 기사에서는 먼저 역사적 배경에서 마크업의 의미를 설명합니다(마커는 텍스트 처리 방법 개발에서 흥미로운 역할을 합니다). 두 번째로 형식적 의미 마크업의 필요성을 만드는 요소와 요소가 무엇인지 자세히 설명합니다. 의미론적 요구를 결정하고, 마지막으로 여러 기관이 마크업 의미론적 문제를 해결하기 위해 열심히 노력하고 있는 BECHAMEL 마크업 의미론 프로젝트 구현에 참여하는 연구 프로젝트에 대해 간략하게 소개합니다.
2. 역사적 배경
문서 "마크"는 아마도 초기 작성, 복사, 출판 및 인쇄를 포함한 의사소통 시스템의 일부로 간주될 수 있습니다. 그러나 디지털 텍스트 처리 및 조판의 발달로 인해 마크는 의식화되고 일반화되었으며 시스템 개발에 있어 중요한 혁신 영역이 되었습니다. 1960년대부터 1980년대까지는 문서 마크업 시스템이 종합적이고 체계적으로 발전한 시기였으며, 디지털 조판과 문자 처리의 효율성과 기능 향상에 중점을 두었다. 1980년대 초에도 사람들은 고성능 시스템 개발을 지원하기 위해 이를 표시하고 사용하기 위한 이론적 프레임워크를 연구하고 있었습니다. 이 분야의 일부 결과가 발표되었지만 대부분은 다양한 표준 형식의 작업 문서 및 제품에만 기록되어 있습니다.
이 단계에서 등장한 견해는 지적 성취로서의 문서가 일련의 개체(예: 장, 단락, 공식 등)의 질서 있는 계층 구조 모델로 추상화되는 것이 더 적합하다는 것입니다. 1차원 텍스트 문자 흐름 모델보다 문자 스트림은 형식을 정의하는 수많은 인코딩, 디자인 레이아웃을 설명하는 구조(예: 페이지 번호, 열, 인쇄 라인), 픽셀 값의 행렬 및 다양한 문서 처리 및 저장 시스템의 기타 잠재적 표현과 혼합되는 경우가 많습니다. . 정렬된 계층 구조 모델은 본질적으로 다른 두 가지 주석, 즉 편집 텍스트 개체(제목, 장 등)를 식별하는 주석과 레이아웃 요구 사항을 설명하는 주석을 요약합니다. 전자를 적용하면 몇 가지 결과를 얻을 수 있습니다. 제목, 장, 단락, 방정식, 인용 등과 같은 관련 문서 요소를 구분자 태그로 명확하게 표시할 수 있으며, 요소 유형에 매핑된 규칙을 통해 요소를 간접적으로 처리할 수 있습니다. 이러한 콘텐츠와 형식의 분리는 일반적인 조합 경제에서 기본 수준의 간접 참조 및 추상화를 가능하게 합니다. 이러한 형태의 분리는 문서 처리의 모든 측면에서 거대하고 다양한 실질적인 가치를 가지며, 더 중요하게는 문서가 정확히 무엇인지에 대한 질문을 조명하는 것 같습니다. 이를 수행하는 데 사용되는 설명 마크업은 요소의 범위를 표시할 뿐만 아니라 문서 모델이 공개하려는 의미도 전달합니다(예: 이 텍스트는 장입니다).
1980년대 초 미국 국립 표준화 연구소(ANSI/ISO)는 영향력 있는 SGML 문서 마크업 메타그램을 발표하고 마크업 및 문서 구조에 대한 이전의 이론 및 분석 작업을 정리했습니다. SGML은 설명적 마크업 언어를 정의하기 위해 기계가 읽을 수 있는 형식을 제공합니다. 메타 문법으로서 SGML은 마크업 언어를 정의하지 않지만 기계가 읽을 수 있는 마크업 언어를 개발하기 위한 세부 기술을 정의합니다. 이 정의의 핵심은 BNF(Backus-Naur Form)와 유사한 형식적 표현 메커니즘입니다. 이 메커니즘은 유형화된 속성과 해당 값을 정의하기 위한 규칙은 물론 추가 추상화 및 간접화를 위한 기타 설계를 전달합니다(문서 유형 정의(DTD) 및 Backus-Knoll A 요약에 대한 설명 참조). 구조적으로 SGML 문서는 해당 DTD의 공식 제품인 정렬된 분기와 레이블이 지정된 노드가 있는 트리입니다.
수년간의 분석과 실습 끝에 SGML의 기본 아이디어가 잘 알려졌습니다. 메타 구문 수준의 산업 표준과 어휘 수준의 지역화된 혁신을 활용하여 SGML의 고유한 메커니즘(backus-norr 패러다임과 유사한 메타 구문, 형식화된 속성/속성 값 쌍, 엔터티 참조 등)이 적용됩니다. 프로그램과 도구가 효율적으로 구현됩니다. SGML 마크업 언어 자체는 문서 시스템 설계, 구현 및 활용을 위한 이상적인 워크플로우를 지원하고 최적화하는 동시에 진화하고 있는 것으로 보입니다. 1980년대 중반부터 1990년대 초반까지 수많은 SGML 기반 주석 시스템이 개발되었습니다.
SGML의 개발은 많은 주목을 받았고, 아이디어도 좋고 여러 분야에서 성공적으로 구현되었음에도 불구하고 처음 10년 동안은 거의 아무도 사용하지 않았습니다. 이런 결과가 나오는 데에는 여러 가지 요인이 있지만 가장 중요한 것은 SGML 자체가 너무 복잡하다는 점입니다. 특히 SGML에는 복잡한 선택적 속성이 많이 포함되어 있으며 해당 소프트웨어는 이를 전혀 구현하지 않아도 되므로 개발 속도가 매우 느려질 수 있습니다. SGML 소프트웨어의 더 나쁜 것은 문서가 DTD로 검증되지 않으면 추가 분석이 불가능하다는 것입니다. 약어 제어는 문서 구문에 관계없이 요소 경계를 결정할 수 없음을 의미합니다. 또한 SGML에는 기존 구문 분석 도구를 형식 문법에 적용할 수 없고 효율적인 구문 분석을 수행할 수 없게 만드는 몇 가지 다른 속성도 포함되어 있습니다.
온라인 출판과 커뮤니케이션 측면에서 SGML 시스템은 HTML(Hypertext Markup Language)에 적용될 수 있습니다. HTML의 원래 버전은 느슨하게 정의되었으며 공식적인 구문 설명이 부족했습니다. 나중에 HTML의 SGMLDTD에 관심이 생겼고 "올바른" 관행이 된 것에 대해 DTD를 설계하는 것이 어렵다는 것이 입증되었습니다. 더 중요한 것은 원본 HTML 사양에서 공급업체가 프로그래밍 태그(예:

)를 주요 설명 태그(예: )에 임의로 추가하여 개발자와 사용자가 설명 마크업과 절차 마크업 간의 구별을 무시하게 되었다는 것입니다. HTML의 설명 부분은 문서의 계층 구조를 잘 반영하지도 않으며 사양에서는 간접 참조를 지원하는 스타일시트 언어도 제공하지 않습니다. 마지막으로, SGML의 메커니즘은 요소 세트를 확장할 수 없고 대체 요소 세트를 사용할 수 없습니다. HTML 문서는 일반 SGML 프로세서(DTD의 확장 및 대체를 허용함)로는 처리할 수 없지만, 프로세서와 협력하는 특정 HTML 포맷터. 하드 코딩된 포맷 규칙은 HTML 태그를 처리합니다. <br>이후 HTML의 개발은 원래의 느슨한 HTML 언어를 SGML 언어 시퀀스로 변환하는 과정으로 볼 수 있습니다. 입증된 문서 시스템 설계 규칙을 적용할 수 있는 충분한 시간과 리소스가 있다면 이러한 변화를 달성할 수 있습니다. 그러나 새로 설립된 W3C 조직은 새로운 요소 컬렉션을 채택하고 웹에 SGML을 적용해야 한다는 큰 압력에 직면해 있습니다. SGML의 단점으로 인해 웹에서 SGML과 설명 마크업을 활용하기가 어렵습니다. 주요 문제는 다수의 다중 선택 기능, 복잡한 공식 문법, SGML의 요소를 결정하기 위해 DTD에 의존해야 한다는 점입니다. <br>HTML 및 기타 관련 기술이 메타 구문을 최대한 활용할 수 있도록 사용자는 새로운 도메인별 요소를 보다 쉽게 ​​개발 및 공유할 수 있고, 문서는 DTD 인덱싱 없이 요소 트리로 구문 분석될 수 있으며, SGML 도구와 애플리케이션은 조화롭게 발전할 수 있습니다. 그리고 W3C는 상대적으로 간단한 표준(선택할 필요 없음), 상대적으로 간단한 구문 및 DTD 없이 검증되지 않은 문서 형식을 처리하는 방법을 제공하기를 희망하는 SGML의 하위 집합을 만들었습니다. 1년 반의 개발 끝에 XML은 1998년 W3C에서 권장 표준으로 공식 출시되었습니다. <br>1998년 이후 새로운 XML 마크업 언어는 폭발적인 성장을 경험했으며, 이러한 빠른 개발 모멘텀은 오늘날까지 계속되고 있습니다. 이러한 폭발적인 발전의 이유는 다음과 같습니다. <br> (1) 특정 분야에서 새로운 주석 시스템의 필요성. 네트워크로 연결된 전자 출판 애플리케이션이 과학, 의학, 비즈니스, 법률, 엔지니어링 및 이러한 대규모 분야의 특정 영역에서 성장함에 따라 새로운 주석 시스템을 개발해야 합니다. <br> (2) 새로운 도구와 해당 애플리케이션을 개발하는 데 드는 비용과 복잡성을 줄입니다. XML 구문 분석은 SGML보다 간단합니다. <br> (3) XML 태그는 출판과 관련된 정보 처리 및 배포 프로세스는 물론 출판과 관련 없는 애플리케이션을 지원합니다. <br>다행히도 우리는 마침내 고성능 마크업 언어, 디지털 문서, 다른 정보 관리 프로그램과 통합되는 문서 처리 및 출판 시스템을 생성하기 위한 효과적이고 구현하기 쉬운 기술을 개발했습니다. 특히, 문서 구조에 깔린 의도를 심층적으로 처리해야 할 필요성이 새로운 시스템 기능의 출현을 촉진했으며, 정보의 자동 처리에 대한 필요성도 제기했다는 점, 적어도 별도의 작업이 필요하지 않은 새로운 요구 사항도 제기되었다는 점을 지적해야 합니다. 수동 개입이 많습니다. <br> 3. 질문 <br>안타깝게도 기존 경험과 피드백을 통해 설명 마크업의 의미에 대한 우리의 이해와 현재 기술이 우리의 기대를 충족시킬 수 없다는 사실을 뼈저리게 깨닫게 되었습니다. <br>1980년대 문서 마크업의 체계화 및 체계적인 작업은 주로 세 가지 측면에 중점을 두었습니다. <br>(1) 보편적 문서 모델의 개념화. <br> (2) 문서 마크업 언어 관련 형식 사양, 어휘, 문법 관련 기술 개발. 이 문서 마크업 언어는 특정 문서 클래스를 정의하고 모델을 인스턴스화하고 표시할 수 있습니다. <br> (3) 마크업 언어(예: CALS, AAP, TEI, HTML 등) 개발. <br>문서의 논리적 부분을 식별하고 주석을 달기 위해 설명적 마크업 언어를 사용하면 이전에는 잠재된 형태로만 존재할 수 있었던 "의미"를 명확하게 전달할 수 있습니다. 최소한 절차적 마커의 의미는 명확하고 모호하지 않으며 기계 처리에 적합할 수 있습니다. <br>많은 사람들이 XML 문서를 "자체 설명 데이터"라고 부릅니다. 초기에는 일부 반대 목소리가 있었지만(Mamrak 및 가장 중요하게는 Raymond와 Tompa의 견해 참조), 설명 마크업 개발의 ​​초기 단계에서 문서 연구자들의 열정은 사라졌고 대부분이 탐색할 필요를 느끼지 않는 것처럼 보였습니다. 추가로 힘든 문서 표현. 명확하게 정의된 SGML 마크업 언어는 문서 구조의 기본 의미를 표현하므로 기계 처리에 완전하고 효과적으로 사용될 수 있습니다. 이 글의 저자 중 한 명은 "마지막으로 경쟁 마크업 시스템에 있어서 서술적 마크업은 최선의 방법일 뿐만 아니라 우리가 생각할 수 있는 최선의 방법이기도 하다"는 점을 분명히 해야 합니다. <br>1990년대의 경험은 이러한 자신감이 다소 맹목적이라는 것을 보여줍니다. 실용적인 관점에서 오늘날 상황은 훨씬 개선되었지만 상호 운용성과 기능의 반복적인 실패는 SGML/XML이 기본 의미와 컴퓨터 처리 가능한 형식을 갖춘 문서를 제공하는 데 실제로 성공하지 못했음을 나타냅니다. SGML/XMLDTD에서는 요소와 속성의 정밀도가 다른 유사한 문서 유형 정의의 정밀도와 일치하지 않고, 콘텐츠의 일부가 형식적이지 않으며, 추론이 필요한 단일 명확한 답이 없습니다. 그러나 질적으로 보면 문서에 대한 사람들의 이해는 SGML 등장 이전과 다르다. 당시 문서 구조의 의미에 대한 사람들의 이해는 상대적으로 모호한 단서에 대한 반성에서 비롯됐다. <br>DTD의 필수 속성은 위 상황의 이유를 설명합니다. DTD는 어휘와 해당 문법만 표시하고 단어 간의 의미 관계를 나타내지 않습니다. 일반적인 의미에서 "title" 요소가 <title>로 표시되는지 여부와 <title>이 우리가 일반적으로 부르는 "title" 개념과 유사한지 여부는 DTD에 의해 결정될 수 없습니다. DTD는 레이블이 "title" 문자열인 특정 요소가 있음을 나타낼 수만 있습니다. 이 레이블은 모두 동일한 방식으로 정의된 다른 요소와 함께 사용할 수 있습니다. 따라서 문서에 주석을 달기 위해 마크업 언어를 사용하는 콘텐츠 개발자와 소프트웨어 디자이너는 텍스트의 "제목"과 관련된 자연어에서 <title> 태그의 의미와 그것이 문맥에서 어떻게 사용되는지 간단히 추론하면 됩니다. 아마도 원래 언어 설계자들은 <title>의 의미를 체계적이고 엄격하게 정의하지 못했을 것입니다. <br>물론 이는 실제 상황을 과장한 것입니다. 어떤 의미에서 각 마크의 의미는 기본적으로 마크업 언어 개발자가 제공하는 순수 자연어 문서에서 명확하게 표현될 수 있습니다. 그러나 산업계와 학계에서 가장 좋은 평가를 받은 DTD 문서라도 문제를 근본적으로 해결하지는 못합니다. <br>마크업 언어의 의미 관계를 반영하는 소프트웨어를 설계할 때 언어 디자이너는 문서의 다양한 부분 간의 관계를 명확하게 표현할 수 있어야 하며, 소프트웨어 엔지니어는 다음 작업(검색, 찾기, 열기)을 수행할 수 있어야 합니다. ) 이 마크업 언어 문서를 사용하고 그 장점을 입증하기 위해 애플리케이션을 디자인하세요. 두 단계 모두 기계로 검증할 수 없으며 신뢰성을 보장할 수 없습니다. 수동 참여가 필요한 경우 고성능 네트워크 문서 처리 및 게시 시스템 개발을 방해하게 됩니다. 따라서 마크업 언어 디자이너가 의미론적 관계를 상세하고 형식적으로 지정할 수 있고 애플리케이션에서 이를 읽고 처리할 수 있으며 수동 참여 없이 자체 구성을 하나씩 완료할 수 있도록 하는 메커니즘이 필요합니다. <br>몇 가지 구체적인 의미 관계를 살펴보겠습니다. 이러한 관계는 어느 정도 잠재적인 실용적인 가치를 가지고 있지만 현재는 기계로 처리할 수 있는 표준 표현이 없기 때문에 쉽고 체계적으로 활용될 수 없습니다. 실제로 많은 관계는 소프트웨어 디자이너가 특정 방식으로 문서에서 관계의 존재를 추론하고 이를 활용하기 위한 특정 시스템을 구축하는 데 매우 중요합니다. <br>학급관계. SGML/XML에는 요소, 특성 또는 특성 값에서 클래스의 계층 구조나 클래스 멤버십을 표현하기 위한 일반 구조가 포함되어 있지 않습니다. 수업은 현재 주류 소프트웨어 공학 구조에서 가장 기본적이고 실용적인 모듈입니다. 단락이 구조적 요소(isa 관계)이거나 모든 구조 요소가 편집 가능한 요소(ako 관계)라고 말할 수는 없습니다. 두 가지 기본 SGML/XML 디자인은 때때로 속성/값별 기본 분류를 구현할 수 있습니다(구체적으로 "유형" 및 "클래스" 속성 사용). 이 분류 기술은 충분히 성숙되지 않았으며 SGML과 XML은 그 사용을 제어하고 제한하는 더 나은 메커니즘을 제공하지 못합니다. 실제 응용 프로그램에서 많은 문서 유형 디자이너는 디자인을 위해 클래스의 계층 구조를 채택합니다. XML 스키마는 클래스 관계에 대한 명확한 선언을 제공하지만 이러한 복합 유형과 다른 복합 유형 간의 차이점을 의미적으로 설명하지는 않습니다. <br>상속 관계. 많은 마크업 언어(예: TEI 및 HTML4.0)에서 특정 속성은 포함 요소에 의해 상속되며 경우에 따라 포함된 텍스트 콘텐츠도 이러한 속성을 상속합니다. 예를 들어, 요소의 속성/값 표기법이 "lang="de""인 경우 이는 텍스트가 독일어임을 나타냅니다. 이는 모든 하위 요소 속성이 독일어임을 의미합니다. 그러나 DTD는 어떤 특성이 상속될 수 있는지 지정하기 위한 공식적인 지침을 제공하지 않습니다. 게다가 이러한 상속 관계는 고정되어 있지 않으며 포함된 요소의 2차 정의로 인해 변경될 수도 있습니다. 상속 방법에는 여러 가지가 있습니다. 일부는 요소의 속성과 관련되고, 일부는 속성의 속성과 관련되며, 다른 일부는 요소의 텍스트와 콘텐츠와 관련됩니다. 예를 들어, 태그가 문장이 독일어임을 나타내는 경우 이는 문장의 모든 단어(특별한 상황을 제외하고)가 독일어임을 의미합니다. 마찬가지로 삭제 속성이 표시된 단어와 문구는 모두 삭제되고, 키 속성이 표시된 단어와 문구는 강조됩니다. 내용의 일부를 단락으로 표시하면 해당 부분의 모든 단어(또는 요소)가 해당 내용에 속한다는 의미입니다. 이 단락에 . DTD가 상속하는 속성이나 상속 논리(규칙 오류 포함)를 지정할 수 없습니다. 소프트웨어 디자이너는 특정 마크업 언어로 이러한 관계를 추론한 다음 자신이 개발하는 도구와 애플리케이션에서 이를 구현하는 경우가 많습니다. <br>맥락적 관계와 참조 관계. 많은 마크업 언어에서는 요소가 고정된 의미를 갖고 동일한 요소 유형을 표시하는 데 사용되더라도 상황에 따라 요소가 다른 의미를 가질 수 있습니다. 예를 들어, 일부 텍스트는 "<title>"로 표시되며 그 구체적인 의미는 텍스트의 구조적 위치에 따라 달라집니다. "" 아래의 "<title>"은 "<document>" 개체의 제목을 나타내고, "<chapter>" 아래의 "<title>"은 이 장의 제목을 나타냅니다. 부분 . 어떤 제목인지 판단하는 기준은 없습니다. 참조에 "<title>" 요소가 포함되어 있으면 상황은 더욱 복잡해집니다. 여기서 제목은 기사 외부의 엔터티입니다. 이와 같은 관계는 DTD로 표현할 수 없지만 소프트웨어 디자이너가 추론할 수 있으며 이는 텍스트의 효율적인 자동화 처리에 필요합니다(각 의미가 다른 범용 식별자로 표현되는 경우 문제의 작은 부분만 해결할 수 있음). 왜냐하면 속성의 바이너리 특성을 명확히 하고 속성이 적용되는 객체를 찾기 위한 구문 분석 가능한 표현을 제공하는 것이 여전히 필요하기 때문입니다. <br>지시대상의 본질적인 변화. 동일 객체가 여러 속성을 갖는 유사하지만 더 모호한 상황이 존재합니다. 각 속성은 동일한 형식의 동일한 지시 대상을 참조하지만 지시 대상의 명확성을 보장하기 위해 주의 깊게 해석되어야 합니다. 예를 들어, 특정 요소 인스턴스에는 다음과 같은 세 가지 속성이 있습니다. 즉, 정리이고 독일어로 작성되었으며 읽을 수 없습니다. 이렇게 간단하고 직접적인 술어 설명이 동일한 것(또는 요소 인스턴스)을 나타냅니까? 이 지식의 표현은 충분히 견고합니까? 실제로 의미하는 바는 이러한 추상 문장이 독일어로 작성되었고, 표현된 명제는 정리이며, 구체적인 표현 패턴이 모호하다는 것입니다. 엄밀히 말하면 어떤 단일 객체도 이러한 속성을 모두 갖고 있지 않습니다. <br>완전 동의어와 부분 동의어. 마크업 언어의 전체 또는 부분 동의어는 매우 중요한 의미 관계이며, 이러한 동의어 관계를 설명하는 메커니즘이 부족하면 심각한 이질성 문제가 발생합니다. 단일 마크업 언어를 사용하면 완전 동의어가 제거될 수 있지만, 마크업 언어의 종류가 증가함에 따라 완전 동의어와 부분 동의어는 여전히 표현하기 어렵지만 마크업 언어 간의 중요한 관계가 있습니다. 현재 우리는 다양한 마크업 언어로 요소, 속성, 속성 값의 동의어를 문서화하기 위해 컴퓨터로 처리할 수 있는 적합한 형식적 방법을 갖고 있지 않습니다. 구성형(아래 참조)은 대부분의 완전한 동의어를 기록할 수 있지만 부분 동의어는 기록하기 어렵고 부분 동의어는 실제 적용에서 더 일반적입니다. 클래스 포함 관계로 표현되는 부분 동의성 문제는 이질성 문제를 해결하는 데 여전히 큰 도움이 됩니다. <br> 4. BECHAMEL 프로젝트 <br> BECHAMEL 마크업 의미론 프로젝트는 1990년대 후반에 시작되어 Sperberg-Mcqueen(W3C/MIT) 및 기타 기관의 연구원들에 의해 완료되었습니다. 이들은 문화부, 언어 및 정보부 출신입니다. 기술 기관, 버겐 대학교 연구 재단, 전자 출판 연구 그룹, 일리노이 대학교 어바나-샴페인 도서관 및 정보 과학 대학원. 프로젝트 이름은 모든 협력자가 위치한 도시(노르웨이 베르겐, 일리노이주 샴페인, 뉴멕시코주 에스뇰라)의 약어를 따서 만들어졌습니다. <br>BECHAMEL 프로젝트의 연구 목적은 다음과 같습니다. <br> (1) 문서 마크업의 의미와 밀접하게 관련된 표현 및 추론 문제를 정의하고, 모든 의미 인식 문서 처리 시스템이 해결하거나 직면해야 하는 문제에 대한 분류 및 설명을 개발합니다. <br> (2) 공통 마크업 언어의 속성과 의미 관계를 연구하고 표준화된 지식 표현 기술(예: 의미 네트워크, 프레임워크, 논리, 형식 문법 및 생산 규칙)의 적용 가능성을 평가합니다. 이러한 관계와 속성을 모델링하려면 지식 표현의 적절성, 우아함, 단순성 및 계산 효율성도 고려해야 합니다. <br>(3) 마크업 언어의 의미를 표현할 수 있는 형식적이고 기계가 읽을 수 있는 표현 프레임워크를 개발하고 테스트합니다. <br> (4) 트랜스코딩 지원, 정보 검색, 접근성 향상 등 의미 표현 기술의 응용 형태를 탐색합니다. 현재 우리의 초점은 문서 데이터베이스 인스턴스에 대한 의미론적 추론을 지원하는 것입니다. 이는 이것이 지식 표현 기술을 적용하는 데 가장 중점을 두는 것이라고 믿기 때문입니다. <br> (5) 인문학 컴퓨팅 연구 분야의 디지털 도서관 콘텐츠 인코딩 프로젝트에 협력하고 소프트웨어 도구 개발자를 통합하여 의미 표현 솔루션에 대한 대규모 테스트를 수행합니다. <br>초기 Prolog 실험 벤치는 구조화된 문서에서 사실과 추론 규칙을 표현하기 위한 지식 표현 프로토타입 플랫폼으로 완전히 개발되었습니다. 이 시스템을 통해 분석가는 특정 사실(예: 범용 식별자 및 속성 값)을 지정하고 이를 의미적 개체 및 속성에 대한 추론 사실과 분리할 수 있습니다. <br>또한 시스템은 마크업의 의미를 기계가 읽을 수 있고 실행 가능한 형식으로 명확하게 표현할 수 있는 추상화 계층을 제공합니다. 이를 바탕으로 계층적으로 겹치는 구성 요소 등 모호한 구조를 가진 문서 구성 요소를 기반으로 추론이 가능합니다. 우리는 노드 계층 탐색을 위해 W3C 문서 객체 모델에서 사용되는 방법을 모방하고 문서 유형 정의에서 다양한 속성 값과 관련 정보를 검색할 수 있는 조건자 세트를 개발했습니다. 이를 통해 파서가 분석한 문법 정보와 분석가가 표현한 문서 의미를 명확하게 구분할 수 있습니다. <br>예비 연구 결과는 의미추론 인식의 복잡성과 맥락적 불확실성 이해의 복잡성을 보여줍니다. 이 프로토타입 추론 시스템은 태그에 대한 자동 추론이 가능하며 Prolog의 규칙이 비단조성 및 상황 모호성과 같은 복잡한 상황을 처리할 수 있음을 입증합니다. 추가 연구에서는 인용문을 참조할 수 있습니다. <br> 5. 마크업의 의미론적 모델링 <br>문서 마크업의 의미론은 마크업 언어 사용자가 이해할 수 있는 추상적인 구조, 속성 및 관계이며, 마크업과 그 구문은 이러한 의미론적 단서를 암시합니다. 태그의 의미론은 지식 표현 기술을 사용하여 구조, 관계 및 속성을 명확하게 하여 해당 계산 모델을 구축할 수 있습니다. <br><p>다음 XML 마크업 문서의 일부를 참조하세요</p> <p><img src="https://img.php.cn//upload/image/197/946/771/1488002955228879.jpg" title="1488002955228879.jpg" alt="XML 태그의 의미"></p> <p></p> <p> XML 마크업의 구조에 익숙한 독자는 문서 요소의 태그 P는 제목이 있는 단락을 의미하며 제목 요소 뒤의 단락 내용은 제목 요소 뒤에서 시작하여 단락 닫는 태그 앞에서 끝납니다. 태그의 의미와 사용법은 즉시 명확하지 않으므로 작성자나 독자는 태그 컬렉션에 대한 문서를 참조할 수 있습니다. </p> <p><img src="https://img.php.cn//upload/image/526/100/980/1488002987952563.jpg" title="1488002987952563.jpg" alt="XML 태그의 의미"></p> <p>명백한 태그는 독자의 편의를 위해 설계되었습니다. 이러한 태그는 문서 파서의 도움을 받아 데이터 구조에서 추출할 수 없습니다. 그림 1에서 볼 수 있듯이 스타일시트 프로그래머가 사용하는 구문 분석 트리는 헤더, 인용, 인용 전후의 텍스트를 표시하며 각각은 단락의 별도 하위 노드이지만 구문 트리는 다음을 표시할 수 없습니다. 다음과 같은 특징이 있습니다. 머리 전체 단락의 속성이며, 텍스트는 내용 구조에서 두 부분으로 구성되며, 인용문은 텍스트 내부에 포함됩니다. <br>사실 데이터 구조 자체에는 단락이나 인용문, 또는 이와 관련된 내용이 구분되지 않습니다. 데이터 구조는 단순히 "단락" 값이 있는 범용 식별자와 같은 관련 정보의 그래픽 구조입니다. 프로그램은 문서의 의미와 사용된 태그 사이의 일관성을 추론할 수 있어야 하며 트리 구조가 한 형식에서 다른 형식으로 변환될 때 이 지식을 활용할 수 있어야 합니다. 그러나 이러한 변환(예: XSLT, DSSSL 또는 C++와 같은 프로그래밍 언어를 통해)은 명시적인 인코딩보다는 의미론적 추론에 의존합니다. </p> <p><img src="https://img.php.cn//upload/image/767/427/454/1488003021428176.jpg" title="1488003021428176.jpg" alt="XML 태그의 의미"></p> <p>그림 2는 의미 지식을 활용하여 구문 트리를 풍부하게 하고 향상시키는 방법을 보여줍니다. 지식 표현 기술을 사용하면 전체와 부분의 관계를 더 높은 수준에서 부호화할 수 있어 컴퓨터 처리에 더 적합합니다. 이 그림은 전통적인 의미 네트워크 표현 방법을 보여줍니다. 물론 프레임워크 표현, 규칙 표현, 형식 문법 및 논리 기반 표현을 포함한 다른 방법도 개발 중입니다. 시맨틱 웹 프로젝트(이 기사의 8부)의 개발은 마크업 언어 자체에 적합한 표현 방법을 제공할 수도 있습니다. 문제의 핵심은 전통적인 XML/SGML 파서로 모델링하고 시행할 수 없는 추상화, 관계 및 제약 조건의 계층 구조를 설정하는 것입니다. <br>기계 판독 가능 파일(예: DTD 또는 구문 구조)의 인코딩 지식을 사용하여 문서의 의미 제약 조건을 확인하고 애플리케이션에 더욱 강력한 문서 모델을 제공할 수 있습니다. 이러한 보다 표현력이 풍부한 표현 방법은 더 나은 문서 처리 시스템의 설계 및 구현을 위한 강력한 지원을 제공합니다. <br> 6 적용 <br>최근 몇 년 동안 많은 신기술의 개발로 인해 기존의 구조화된 주석이 점점 더 대중화되었습니다. 이러한 기술은 정보 관리에서 주로 다음과 같은 측면을 강조합니다. <br>전환과 노동조합. SGML/XML 개발자의 경우 가장 일반적인 작업은 하나의 응용 프로그램 구문에서 다른 응용 프로그램 구문으로 변환하기 위한 변환 형식을 설계하는 것입니다. 이는 파일의 새로운 표현을 생성하거나 데이터베이스에 저장을 용이하게 하기 위해 수행됩니다. 때때로 개발자는 상호 운용이 불가능한 마크업 언어로 표현되는 대규모 디지털 문서 컬렉션을 통합하거나 조정해야 합니다. 변환 크기에 관계없이 기존 솔루션은 구문 분석 트리에서 직접 작동하는 변환 프로그래밍 언어를 사용하는 것입니다. 소스 파일 분석에서 생성된 트리 구조는 대상 언어의 트리 구조 인스턴스로 변환됩니다. 변환된 트리는 새 문서 인스턴스, 그래픽 또는 오디오로 직렬화됩니다. <br>정보섬. 이 문제는 위에서 언급한 변환 문제와 매우 유사하지만 한 형식의 문서를 다른 형식의 문서로 변환하는 것이 목표가 아니라 문서 또는 문서 조각의 분산 저장을 허용하여 시스템 사용자에게 공통의 투명한 액세스 인터페이스를 제공하는 것이 목표입니다. . 문서를 한 마크업 언어에서 다른 마크업 언어로 변환할 필요는 없지만 문서 인코딩이 크게 다를 수 있더라도 시스템은 문서 내용이 원활하게 혼합되는 것처럼 보이도록 보장할 수 있어야 합니다. <br>가용성. 저작 도구는 점점 더 구조화된 마크업을 수용하고 있으며 이는 시각 장애가 있는 사용자가 디지털 문서에 액세스하는 데 도움이 되고 있습니다. 선언적 마크업을 사용하면 사람들은 화면 판독기나 점자 디스플레이의 도움으로 읽고 그래픽 단서를 그리는 대신 니모닉의 도움으로 추론할 수 있습니다. 그러나 현재 이러한 애플리케이션은 사용자 고유의 기능이나 인터페이스 소프트웨어, 그리고 독립적인 태그 콘텐츠나 문법을 기반으로 한 구조적 추론에 의존해야 합니다. 태그 세트 문서에 설명된 대로 태그 구문 제약 조건과 태그의 의미 및 사용은 문서 작성자의 신뢰성에 따라 엄격하게 달라집니다. 불행히도 작성자는 종종 태그를 오용합니다. 최악의 예는 웹 페이지의 특정 레이아웃을 표시하기 위해 "head" 태그를 사용하는 것입니다. <br>안전하게 취급하세요. 보다 표현력이 뛰어난 마크업 스키마 언어(예: W3C의 XML 스키마 언어) 개발을 위한 원동력 중 하나는 마크업 오류, 오용 및 남용이 형식이 잘못된 출력보다 훨씬 더 심각한 결과를 초래한다는 인식입니다. 선언적 마크업은 전자상거래뿐 아니라 의료기록, 항공산업 등 보안정보 분야에서도 활용된다. 이 분야의 개발자는 디지털 문서의 문법 구조를 표준화해야 할 뿐만 아니라 문서의 안전한 처리, 저장, 전송 및 표시를 보장하기 위해 특정 보안 프로토콜을 준수하는지 확인해야 합니다. <br> 7. 마크업 의미론의 장점 <br>현재 BECHAMEL 프로젝트의 설문조사 결과는 마크업 의미론이 다음과 같은 방식으로 위의 문제를 해결할 수 있음을 보여줍니다. <br>선언적이며 기계가 읽을 수 있는 의미론적 설명입니다. 현재 실제 상황에 관한 한 구조적 마크업 언어 디자이너는 자연어 텍스트를 사용하여 태그의 의미를 표현하고 태그의 적절한 사용을 명확히 합니다. 정형 마크업 의미 체계는 온톨로지 간의 관계를 컴퓨터 프로그램으로 명확하게 표현하고 자동화된 처리를 가능하게 합니다. <br>가설 검증. 공식적인 태그 집합이 없는 문서 환경에서 태그 의미를 해석할 수 있는 시스템은 추측을 테스트하고 가설을 검증할 수 있는 환경을 제공합니다. 이 환경에서 공개되지 않은 마크업 언어 사용자는 문서 데이터베이스에 일관되게 적용된다고 믿는 속성과 규칙을 추측하게 됩니다. 그런 다음 문서 처리 소프트웨어는 가정된 규칙과 호환되거나 호환되지 않는 문서 요소를 검색합니다. <br>의미론적 제약 강화. 유효성 검증을 지원하는 파서는 기존 의미 파서처럼 구문 검증을 완료할 수 있을 뿐만 아니라 의미를 발견하거나 작성하는 동안 추측을 검증할 수도 있습니다. 이러한 파서는 의미 제약을 적용할 수도 있습니다. 이 작업은 가설 검증과 일치하지만 이 경우 의미론적 제약은 알려져 있고 표준적입니다. <br>최적화되고 더욱 표현력이 풍부한 API. 마크업 의미론은 디지털 문서가 SGML 및 XML 애플리케이션을 사용하여 변환되거나 표현될 때 사용됩니다. 그러나 더 높은 수준의 속성과 연관은 프로그램이 실행될 때만 드러납니다. 형식적이고 기계가 읽을 수 있는 의미론은 애플리케이션 인터페이스를 풍부하게 하고 소프트웨어 설계 속도를 높일 것입니다. 마크업 언어의 개발 및 변경으로 인해 이러한 소프트웨어는 유지 관리가 더욱 편리하고 안전해질 것입니다. <br> 8. 관련 업무 <br>위의 과제와 문제점에 대응하여 기타 다양한 문서 처리 기술, 표준 및 연구 계획이 있습니다. 다음으로 이러한 문제를 해결하려는 기존 아이디어를 검토합니다. <br>시맨틱 웹. 시맨틱 웹은 마크업 및 지식 표현 기술에 대한 현재 아이디어 중 일부와 같이 상호 연결된 여러 연구 및 표준화 노력을 의미합니다. 핵심은 W3C 리소스 설명 프레임워크이며, 여기에는 물론 ISO의 테마 맵 기술과 같은 다른 기술도 포함됩니다. 시맨틱 웹은 보편적인 지식 표현 기술을 사용하여 마크업 언어를 개선함으로써 "인간 지식의 포괄적인 발전을 촉진"하는 것을 목표로 하는 광범위한 범위와 야심찬 목표를 가지고 있습니다. 시맨틱 웹의 연구와 표준화는 현재의 생각과 다르다. 특정 분야에 대한 의미론적 기술이 아닌 모든 분야의 지식에 대한 의미론적 주석을 달성하는 것을 목표로 한다. 현재 연구 목표는 특히 "일반 의미 마크업"보다는 "문서 마크업 의미"에 초점을 맞추고 있습니다. Semantic Web 기술의 발전으로 Semantic Web 마크업 언어를 사용하여 태그의 의미를 인코딩하는 것이 가능해졌습니다. <br>W3C의 문서 개체 모델. 문서 개체 모델(Document Object Model)은 XML 문서를 분석한 후 생성된 계층적 데이터 구조인 응용 프로그래밍 인터페이스입니다. 사람들은 DOM에서 제공하는 마크업 구문 관련 형식과 유사하게 마크업 의미론에 대한 다양한 인터페이스를 제공할 수 있는 시스템을 설계하고 궁극적으로 W3C의 구문 DOM을 보완하는 "의미론적 DOM"을 형성하기를 원합니다. <br>W3C 스키마. XML 스키마는 기존 DTD를 대체하고 XML 문서를 제한하는 데 사용할 수 있는 XML 기반 언어입니다. 이 언어의 개발은 BECHAMEL 프로젝트에서 직면했던 문제와 유사한 DTD의 한계에 의해 추진되었습니다. 스키마를 사용하면 문서 디자이너는 고급 프로그래밍 언어에서와 마찬가지로 복잡한 데이터 유형을 정의할 수 있습니다. 그러나 태그 세트 문서의 모든 관계와 제약 조건을 인코딩하려면 현재 XML 스키마보다 더 강력한 표현 형식도 필요합니다. 하이퍼미디어/시간 기반 구조화 언어(HyTime)의 아키텍처 형태입니다. 적응 가능한 아키텍처 기술은 다양한 마크업 언어 애플리케이션이 스타일은 다양하지만 의미상으로는 동일한 구조로 인코딩되는 경우가 많다는 인식에서 비롯됩니다. 스키마 양식을 사용하면 문서 클래스 디자이너가 자신의 특정 요소 인스턴스를 다른 응용 프로그램 간에 더 쉽게 매핑할 수 있는 보다 일반적인 스키마 인스턴스에 매핑할 수 있습니다. 이러한 매핑은 실제로 의미론적 지식의 제한된 형태를 나타내며 위의 변환 및 통합 문제를 해결하는 데 도움이 됩니다. BECHAMEL 프로젝트는 부분적으로 건축적 형태보다 더 의미론적인 관계를 표현하는 모델을 구축하는 것에 관한 것입니다. <br></p> <p> 위 내용은 XML 태그의 의미에 대한 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요! <br></p> <p><br></p> <p><br></p>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:XML 파싱다음 기사:XML 파싱