xml 문법 예제

실제로 메타 문법은 위의 것을 복사하는 DTD보다 훨씬 더 정확할 수 있습니다. SMIL 사양에는 위의 문법과 결합할 수 있는 „endsync”의 값에 대한 문법이 있습니다. „endsync” 프로덕션은 태그없이 비 터미널을 정의하는 메타 문법의 기능으로 다시 작성할 수 있습니다. 태그가 없으면 필드가 아닌 형식이 만들어집니다: Xarc(Gabe Beged-Dov )는 XML에서 지향되는 그래프를 설명하는 언어이며 RDF(XLink는 언어가 아니지만 XLink)와 유사합니다. 그 문법은 Xarc 제안에서 다음과 같이 제공됩니다 : RELAX NG (XML 차세대에 대한 일반 언어)는 처음에 OASIS에 의해 지정되었으며 이제 표준입니다 (파트 2 : ISO / IEC 19757 – DSDL의 정규 문법 기반 유효성 검사). RELAX NG 스키마는 XML 기반 구문 또는 보다 컴팩트한 비 XML 구문으로 작성될 수 있습니다. 두 구문은 이소모픽이며 제임스 클라크의 변환 도구인 Trang은 정보 손실 없이 변환할 수 있습니다. RELAX NG는 XML 스키마보다 더 간단한 정의 및 유효성 검사 프레임워크를 가지고 있어 사용 및 구현이 더 쉽습니다. 또한 데이터 형식 프레임 워크 플러그인을 사용할 수 있습니다. 예를 들어 RELAX NG 스키마 작성자에서는 XML 스키마 데이터 형식의 정의를 따르기 위해 XML 문서의 값을 요구할 수 있습니다. 위의 예제에서는 텍스트 및 INT를 사용하여 텍스트 데이터(공백, 줄 바꿈 및 기타 예약문자가 적절히 이스케이프됨) 및 정수(일부 표현에서 기본적으로 소수점)를 나타내기 위해 사용했습니다.

미리 정의된 터미널 기호를 사용하면 값 형식 집합을 BOOL( BOOL), 실제 숫자(REAL), 식별자(IDENT), URL(URI) 등으로 확장할 수 있습니다. 미리 정의된 또 다른 터미널 기호는 ANY일 수 있으며, 이는 모든 XML 요소(또는 컨텍스트에 따라 모든 XML 특성)를 의미합니다. 예를 들어 이 문법 XML은 ISO 표준 SGML의 프로필이며 대부분의 XML은 변경되지 않은 SGML에서 제공됩니다. SGML에서 논리적 및 물리적 구조 (요소 및 엔터티), 문법 기반 유효성 검사 (DTD)의 가용성, 데이터 및 메타 데이터 (요소 및 특성), 혼합 콘텐츠, 처리의 분리의 분리를 온다 표현(처리 지침) 및 기본 각도 대괄호 구문입니다. 제거된 SGML 선언(XML에는 고정 된 구분 기호 집합이 있고 유니코드를 문서 문자 집합으로 채택). DTD는 스키마 또는 문법의 예입니다. XML 1.0이 처음 게시된 이래로 XML에 대한 스키마 언어 영역에서 상당한 작업이 수행되었습니다. 이러한 스키마 언어는 일반적으로 문서에서 사용할 수 있는 요소 집합, 특성이 적용될 수 있는 속성, 나타날 수 있는 순서 및 허용되는 부모/자식 관계를 제한합니다.

이러한 선형화 구문을 개발자는 구조만 표현할 수 있는 간단한 표기법에 의해 도움이 되며, 구문 세부 정보는 자동화되었지만 프로세스를 이해하기 가 간단합니다. 소프트웨어 엔지니어는 BNF, EBNF 및 yacc와 같은 컨텍스트 없는 문법(CFG)에 익숙하며 CFG는 이러한 표기술의 이상적인 기반이 됩니다. yacc와 마찬가지로 개발자가 구문에 집중할 수 있고 시스템이 코드를 처리하도록 허용하므로 이 시스템은 한 단계 더 나아가 개발자가 구조에 집중할 수 있도록 하고 시스템이 구문을 처리하도록 할 수 있습니다. 간단한 XML 문서에는 XML 특성의 예가 포함되어 있지 않았지만 자습서의 나중에 설명합니다. 제안의이 부분은 위의 제한 때문에 더 흔들려야하지만, 여기에 시도입니다. 원래 문법으로 돌아가서 이번에는 개발자가 „val” 및 „type” 필드를 속성에 넣으려고 한다고 가정합니다. 방법: 요소의 이름을 메타 문법에서 표현할 수 없는 가장자리에 대한 레이블로 사용하지만, 그 외에도 메타 문법으로의 번역은 간단합니다.