Collada Dae file : Schema validation

2017.08.01 22:54

졸리운_곰 조회 수:121

Collada Dae file : Schema validation

 

The COLLADA format is defined by a W3C schema. If a document doesn't conform to the schema then it isn't valid COLLADA data. This tutorial explains a few different ways to validate a COLLADA document against the COLLADA schema.

Using xmllint

xmllint is a command-line application that can be used to validate an XML document against a W3C schema. xmllint is distributed as part of libxml. You can find binaries for Windows here. Mac OS X and most Linux distributions come with libxml already installed.

To validate the COLLADA document duck.dae against the latest COLLADA 1.4 schema available from Khronos, run the following command:

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

xmllint --noout --schema http://www.khronos.org/files/collada_schema_1_4_1.xsd duck.dae

You could also copy the schema locally and use your local version:

xmllint --noout --schema colladaSchema.xsd duck.dae

The --noout option prevents superfluous output. If the COLLADA document violates the schema, xmllint outputs an error message.

Using libxml from a C/C++ Application

Using libxml, you can validate a COLLADA document against the schema from a C/C++ application. The following code illustrates how it works.

#include "libxml/xmlschemas.h"

// libxml error handler
void schemaErrorCallback(void*, const char* message, ...) {
  va_list varArgs;
  va_start(varArgs, message);
  vfprintf(stdout, message, varArgs);
  va_end(varArgs);
}

// libxml warning handler
void schemaWarningCallback(void* callbackData, const char* message, ...) {
}

// Returns true if file validated successfully, false otherwise
bool validate(const string& uri) {
  bool result = false;
  if (xmlSchemaParserCtxt* schemaParser = 
     xmlSchemaNewParserCtxt("http://www.khronos.org/files/collada_schema_1_4_1.xsd")) {
    if (xmlSchema* schema = xmlSchemaParse(schemaParser)) {
      if (xmlSchemaValidCtxt* validityContext = xmlSchemaNewValidCtxt(schema)) {
        xmlSchemaSetValidErrors(validityContext,
                               schemaErrorCallback,
                               schemaWarningCallback,
                               /* callback data */ 0);

        // Returns 0 if validation succeeded
        result = xmlSchemaValidateFile(validityContext, uri.c_str(), 0) == 0;
        xmlSchemaFreeValidCtxt(validityContext);
      }
      xmlSchemaFree(schema);
    }
    xmlSchemaFreeParserCtxt(schemaParser);
  }

  return result;

[출처] https://www.khronos.org/collada/wiki/Schema_validation

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
598 기계 학습을 최대한 활용할 수 있는 11가지 오픈소스 도구 file 졸리운_곰 2017.08.22 90
597 프로그래밍 언어별 딥러닝 라이브러리 정리 file 졸리운_곰 2017.08.22 107
596 What are the differences between glu, glew, glut, qt, sdl, openGL and webGL? 졸리운_곰 2017.08.19 127
595 Unable to load textured Collada exported from blender using Three.js file 졸리운_곰 2017.08.15 563
594 웹 데이터 수집의 기술 서적 부록 소스 file 졸리운_곰 2017.08.15 104
593 blender 2.78 매뉴얼 manual 블랜더 file 졸리운_곰 2017.08.13 117
592 Cg (programming language) : 3d graphics shader programming 졸리운_곰 2017.08.10 117
591 wikipedia 사이트를 크롤링 할 수고를 덜어주는 wikipedia dump 사이트 졸리운_곰 2017.08.05 113
590 python and java libraries to parse wikipedia dump dataset 졸리운_곰 2017.08.05 253
589 한글 빅 데이터 분석용 : 한글 자연어 처리용 자료 사이트 졸리운_곰 2017.08.01 122
588 한국어 빅데이터 분석용 : 한국어 학습 단어 일람 (단어장) file 졸리운_곰 2017.08.01 124
» Collada Dae file : Schema validation 졸리운_곰 2017.08.01 121
586 ow to import entire Wikipedia into your own MySQL database. Steps for creating MySQL database out of Wikipedia XML dump… file 졸리운_곰 2017.07.22 276
585 [반응형 웹] 과 [적응형 웹]을 넘어 경험을 디자인하다 file 졸리운_곰 2017.07.15 122
584 [적응형 웹 전성시대] : 스마트한 UI, 만족스런 UX 위한 웹? file 졸리운_곰 2017.07.15 92
583 [반응형 웹의 진실] 트렌드 따라가다 내실 놓친다 file 졸리운_곰 2017.07.15 97
582 스카이레이크 윈도우7 부팅 USB 만들기(기가바이트 편) file 졸리운_곰 2017.07.09 392
581 노트북 외장그래픽 사용하는법 (내장그래픽 끄기) file 졸리운_곰 2017.07.08 2262
580 dnSpy : .net 어셈블리 (바이너리) 디버깅, 소스 코딩 file 졸리운_곰 2017.07.01 1357
579 Collada란 무엇인가 졸리운_곰 2017.07.01 428
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED