2017-12-01 5 views
0

클라이언트가 XSD 스키마의 텍스트 표현을 작성하도록 요청했습니다. 클라이언트는 일반적으로 XSD의 측면에서 이것을 받았다고 말했습니다. 형식은 다음과 같다 :XML/XSD에서 JSON 형식으로

* ParentNode * 
1{ 
     * ChildOneNode * 
     [ 
      * PetNode * 
      [ 
        PetName 
        PetAge 
      ] 
      ChildName 
      ChildAge 
      * Toy * 
      0{ 
        ToyType 
      } 
      * Shoes * 
      [ 
        ShoeBrand 
        ShoeSize 
        (NumberOfVelcroBands) 

      ] 
      (ChildBestFriend) 
     ] 
} 

당신의이 형식을 알고있다. 그렇다면 어떻게 생성 할 수 있습니다.

답변

1

이 특별한 표현은 보지 못했지만 스키마의 다른 단순한 계층 적 표현이 많이 있었으며 물론 문제는 (a) 그들은 명확하지 않은 경향이 있고 (b) 재귀 유형, 모델 그룹, 속성 그룹 및 대체 그룹과 같은 실제 스키마에서 찾을 수있는 까다로운 것들 중 일부를 처리하는 데 능숙합니다. 따라서 가장 먼저 필요한 것은 표기법을보다 정확하게 지정하고 무엇을해야할지 해당 표기법을 사용하여 스키마의 내용을 표현할 수없는 경우 수행하십시오.

일반적으로 원본 XSD 문서를 직접 처리하지 않는 것이 좋습니다. XSD 문서를 사용할 수있는 API를 제공하는 스키마 구성 요소 모델로 변환 한 스키마 프로세서를 사용하고 해당 API를 사용하여 데이터에 액세스하십시오. 예를 들어 Xerces는 Java API를 제공하지만 Saxon은 컴파일 된 스키마 구성 요소 모델을 가져 오는 두 가지 방법을 제공합니다. 즉, XML 표현으로 SCM 파일로 내보내거나 XPath의 확장 함수 집합을 사용하여 탐색 할 수 있습니다 .

스키마의 RelaxNG 표현이 자신의 필요를 충족시키는 지 여부도 클라이언트에게 문의해야합니다. 확실히 생성하기 쉽고 최소한 판독 가능합니다.

+0

답변 해 주셔서 감사합니다. 다소 부피가 커 보인다. 나는 그들이 쉽게 읽을 수있는, 그리고 너무 많은 통사론적인 설탕이 필요없는 무언가를 원한다고 생각한다. 이 확장 JSON 형식은 모두 적합합니다. –

+1

이 구문과 JSON간에 어떤 유사점이 있는지 잘 모르겠습니다. –