2008-11-06 5 views
0

Xml or Sqlite, When to drop Xml for a Database?What are good alternative data formats to XML?과 같은 질문을 보면 분명히 XML은 시스템, 조직 및 소프트웨어 프로그램간에 데이터를 교환하는 데 가장 유용합니다. 내부 용으로, 다른 형식은 집에서 만든 일반 텍스트 형식, 일반 소스 코드 또는 데이터베이스 사용과 같이보다 작고 확장 가능합니다.어디에서 XML 파일 형식을 얻을 수 있습니까

일단 XML로 다른 프로그램/tool/system/organization으로 데이터를 이동하려면 시간이 생깁니다. XML 파일에 캡슐화 된 데이터 형식을 어디에 어떻게 정의합니까? 트리의 모든 노드의 의미와 의미에 대한 엄격한 규칙이 필요하다는 것은 분명합니다. XML은 자체 문서화가 아니기 때문에 분명히 보인다.

다른 사람의 디자인을 사용하거나 나만의 디자인을 사용합니까? 문서 디자인을 수행하는 방법에 대한 좋은 가이드가 있습니까?

내가 그것을 처리하는 방법/야콥

답변

1

외부 세계와 공유 될 모든 XML 문서에는 스키마가 있어야합니다. 스키마를 사용하면 프로세스가 이해할 수없는 XML 문서를 간단하고 결정 론적으로 거부 할 수 있습니다.

결정적이기 때문에 생성하는 XML이 기본 요구 사항을 충족시키는 것과 유사한 방식으로 시스템과 상호 운용하려는 사람들에게도 이점을 제공합니다.

스키마의 주석 요소를 사용하여 스키마에서 표현할 수없는 비즈니스 규칙을 문서화 할 수도 있습니다. 물론 이러한 규칙은 자동으로 적용되지 않지만 스키마는 일반적으로 스키마를 적용하기에 합당한 곳입니다. 주석이 달린 스키마에서 사람이 읽을 수있는 HTML 문서를 생성하는 XSLT를 작성하는 것도 간단합니다.

좋은 도구가 있으면 작성 스키마가 훨씬 수월합니다. 많은 스키마를 작성하는 경우 XML Spy는 그 자체로 비용을 지불합니다. XML Spy는 놀라 울 정도로 비쌉니다.

저는 20 년 동안 시스템 통합 작업을 해왔고 XML 스키마는 신의 선물입니다. 엄지 손가락으로 살펴보면 가장 간단한 인터페이스 일지라도 필자가 작성한 모든 스키마는 최소한 두 번의 회의와 다섯 번의 전화 회의를 제거합니다. 또한 완성 된 시스템에서 전체 결함을 제거합니다.

1

:

  • 한 요소가 전체를 래핑 (XML 표준) 각 "개체"에 대한 그 내
  • 한 요소입니다.
  • 합리적인 길이 인 경우 각 속성의 요소에 대한 속성.
  • 많은 문자가있는 속성의 해당 요소에 대한 InnerXml 텍스트 (단 하나만있는 경우)
  • 텍스트가 많은 여러 속성이있는 경우 요소 내에 중첩 된 요소입니다.

당신으로 VisualStudio에서 XML 파일의 샘플 버전을 작성하는 경우, 저기 (죄송합니다, 에디터는. 내가 XML을 게시 미리보기를 할 수 없으며 제출 된 버전도 일치하지 않습니다) 도구 모음 단추를 클릭하면 해당 파일에 대한 xsd 스키마가 자동으로 만들어집니다. XSD에 "targetNamespace"속성을 추가하고 C:\Program Files\Microsoft Visual Studio 8\Common7\Packages\schemas\xml (VS 릴리스별로 약간 씩)으로 복사하십시오.

그런 다음 루트 요소에 xmlns = "{네임 스페이스}"특성을 추가하면 VS에서 Intellisense에 태그를 부여합니다.

0
당신은 XML 스키마 ( http://www.w3.org/TR/xmlschema-0/)

그것은 배에 통증이 있지만 사용하는 모든 XML 문서에 대한 적절한 스키마를 작성하는 것이 좋습니다를 사용하여 XML 문서의 구조와 데이터 유형과 제한 사항을 정의 할 수 있습니다

! 그렇지 않으면 여러분이 작성한 XML이 다른 (또는 같은!) 프로그램이 기대하는 XML과 동일하다는 보장을받을 수 없습니다.

개인적으로 나는 XML 스키마가 내 머리를 아프게하지만 원리는 좋으며 나는 그것을 피할 수 있다면 제대로 정의 된 scema가없는 XML 형식을 사용하지 않을 것이라고 생각합니다.

0

표현하려는 내용에 따라 다를 수 있습니다. 표준 형식 (즉, 스키마)이 이미 존재한다면 표준을 사용하는 것이 이점이 있습니다. 그래서 음악 표현, 화학, 체스가 있으며리스트는 매우 길다. 기존 표준에 포함되지 않은 무언가를 수행하는 경우 자신의 역할을 수행하십시오.

나는 항상 스키마를 작성해야한다는 John 동의합니다. 애플리케이션이 얼마나 멀리 나아갈 것인지 결코 알 수 없습니다.

1

실제로 XML은 DTD 또는 XSD과 함께 사용되는 경우 자체 문서화이며 일반 텍스트 파일과 비교할 때 장점 중 하나입니다.

짐작했지만 XML을 사용하여 데이터를 올바르게 전송하려면 약간의 작업이 필요합니다. w3schools.com의 XML tutorialXSD tutorial이 도움이된다는 사실을 발견했습니다. 이 길을 가면 tutorialXSLT에 관심이있을 수 있습니다.

처음에는 Vincent suggests으로 사용할 수있는 경우 기존 스키마를 사용할 수 있습니다. 반면에 자신 만의 XSD를 만들면 XSD를 배우는 것이 더 쉬울 수도 있습니다 (아마도 기존 파일을 시작점으로 사용하는 것일 수 있습니다).

0

RDF 또는 Resource Description Framework이라는보다 특수한 형식의 XML을 사용하는 것이 좋습니다. RDF는 모든 것을 일련의 트리플렛으로 모델링합니다. 주제, 술어, 대상. 당신이 끝내는 것은 임의의 깊이의 계층 구조를 다루기위한 참조가있는 상당히 편평한 XML이다.

RDF는 이름 공간을 많이 사용합니다. 이름 공간의 단점은 XML보기가 좀 더 바빠서 사람이 읽을 때 조금 더 어려워진다는 것입니다. 네임 스페이스의 상위는 스키마를 다른 스키마와 쉽게 조화시켜 확장 성을 높일 수 있다는 점입니다.

RDF에서 표준 XML 구문 분석기를 사용하거나 RDF 관련 구문 분석을 수행하는 많은 오픈 소스 라이브러리 중 하나를 사용하여 해당 주제, 조건 자 및 객체로 코드 SAX 스타일을 호출 할 수 있습니다.

이것이 좋은 생각 인 경우이 사이트는 유용 할 수있는 directory of published RDF schemas입니다. 완벽하게 일치하는 항목을 찾지 못해도 자신 만의 데이터를 모델링하는 방법과 관련하여 몇 가지 문제점을 지적하고 해결할 수있는 스키마를 찾을 수 있습니다. RDF를 사용하지 않더라도이 사이트를 조사하는 데 약간의 시간을 할애 할 가치가 있습니다. 원하는 것을 찾지 못하고 자신 만의 RDF 스키마를 만들면이 사이트에 게시하는 것이 좋습니다.