2014-10-07 1 views
1

물론 XML과 JSON은 다릅니다. 그러나 순수한 구조 수준에서 이러한 형식을 보면 동일한 데이터에 대해 교환 가능한 표현이 될 수 있습니다. 둘 다 스키마 정의로 설명 될 수 있습니다 : JSON 스키마 및 XML 스키마.JSON 스키마 대 XML 스키마

XML 스키마로 설명 할 수있는 JSON 스키마와 동일한 데이터 구조를 설명 할 수 있습니까? 변환하는 동안 정보가 느슨하지 않은 JSSD/XSD 변환기를 작성할 수 있습니까?

+0

나는 지금 github에 대한 언급 된 프로젝트를 다뤘다. https://github.com/redaktor/owl2jsonschema.js - XML ​​Schema 변환은 지금은 작은 부분이지만 지금은 xsd 제약 조건을 다루고있다. 이 파일은 특히 중요 할 수 있습니다 : https://github.com/redaktor/owl2jsonschema.js/blob/master/lib/hardcoded-schemas.json - 미리 정의 된 xsd 데이터 유형이 들어 있습니다. – sebilasse

+0

XML 스키마를 JSON 스키마로 변환하는 도구를 작성했습니다.이 기사를 확인하십시오. http://stackoverflow.com/a/30006975/303810 – lexicore

답변

2

저는 대답이 '아니오'라고 확신합니다.

먼저 스키마에 대해 생각하기 시작하기 전에도 인스턴스 수준에서 JSON과 XML 간의 완벽한 무손실 매핑을 정의하는 것은 매우 어렵습니다. 따라서 "동일한 데이터 구조"의 개념에는 자격이 필요합니다.

많은 XML 스키마는 문법 및 내용 모델과 관련이 있습니다. 예를 들어 섹션은 선택 제목과 0 개 이상의 단락으로 구성되며 각각은 p, ul 또는 table 요소가 될 수 있습니다. 나는 JSON Schema에서 원격으로 그런 것이 없다고 생각한다. JSON 스키마의 배열은 균일하고 균질 한 것으로 취급됩니다.

+2

전제의 정확성에 대해 잘 모르겠습니다. XML은 treelike 구조가 아닌 JSON입니다. JSON에 존재하지 않는 XML의 유일한 것은 네임 스페이스와 속성 지정입니다. 둘 다 JSON에 매핑 될 수 있습니다 (예 : '$ attribute'와 같은 속성에 대한 한정자 및' CONTENT '대신'p 매개 변수 ': CONTENT'와 같은 네임 스페이스 표기법 대신 문자열 사용). 스키마 설명에 대해 이야기 할 때 여기에는 구조가 보이지 않지만 의미가 있기 때문에 다른 것일 수 있습니다. –

+2

JavaScript가 Type-Safe 변형 (예 : TypeScript)을 유발한다는 점이 아이러니하게 드러났습니다. 이제는 '문법', 도메인 무결성 및 유형 안정성이 차이를 만드는 순차/직렬화 문제를 해결하기 위해 JSON 스키마가 새로 나타납니다. 우리 모두는 엄격한 스키마에 대해 검증되지 않은 XML 문서가 단순한 (뚱뚱하지 않은) JSON 문서로 쉽게 대체된다는 것에 동의합니다.스키마는 "1"이 숫자 (부동 또는 적분)인지 또는 문자열인지를 나타냅니다. 어떤 경우에는 그 사실을 아는 것이 중요합니다. – subsci

1

저는 대답이 예스라고 확신합니다.

현재 JSON 스키마 초안 04 (hyperschema)를 사용하면 대부분의 XML 스키마를 JSON 스키마에 매핑 할 수 있습니다. 초안 05 폐기 될 예정입니다 못생긴 해결 방법이 있습니다 https://github.com/json-schema/json-schema/wiki/v5-Proposals

도 기존하는 프로젝트, 예를 들면 : 나는 제안 propertyLinks가 다음 초안에이 페이지를 참조하십시오 "가 할"것이라고 확신 owl2vowl and webowl에서 JSON 스키마 변환기를 사용 중입니다. 그것은 Java입니다. XML 스키마 지원이 얼마나 먼지 잘 모르겠습니다. 그러나 :

(선택 사항 인 'node.js part'를 사용하여) 자바 스크립트에서 JSON 스키마 "놀이터"를 작성하기 시작했습니다. 자바 스크립트에는 solution for schema.org이 있습니다. 그리고 비슷한 방식으로 OWL/RDFS/XML 스키마를 가져 오는 방법을 스스로 물었습니다. 나는 지금 OWL/RDFS 부분으로 70 % 준비되었습니다.

그래서 관심이 있으시면 XML 스키마 부분에 대한 토론을 설정하고 전에 github을 사용할 수 있습니다.

+0

Json 스키마를 XSD로 변환하는 솔루션이 있습니까? 나는 그것에 고심하고있다. – feikiss