2009-12-03 6 views
0

나는 델파이에 XMLMapper와 (XMLSPY 및 산소) 일부 유효한 스키마를 가져 오려고 내가Delphi에서 XMLmapper를 사용하여 스키마 가져 오기?

"오류 플럭스 경우 : 알 수없는 InfofileType"이 오류가 있습니다.

나는 네임 스페이스를 사용하며이 유형은 다른 파일에서 정의됩니다.

해결 방법이 있습니까?

(나는 또한 델파이 2010 데모를 시도하고 그것은 여전히 ​​작동하지)

<?xml version="1.0" encoding="UTF-8" ?> 
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:if="http://www.gtest.fr/Apps/InfoFile" xmlns:ca="http://www.gtest.fr/Apps/CommandAnswer" elementFormDefault="qualified" attributeFormDefault="unqualified"> 
    <xs:import namespace="http://www.gtest.fr/Apps/InfoFile" schemaLocation="InfoFile.xsd" /> 
    <xs:import namespace="http://www.gtest.fr/Apps/CommandAnswer" schemaLocation="CommandAnswer.xsd" /> 
- <xs:element name="ServerAnswer"> 
- <xs:annotation> 
    <xs:documentation>Reponse serveur socket</xs:documentation> 
    </xs:annotation> 
- <xs:complexType> 
- <xs:sequence> 
    <xs:element name="InfoFile" type="if:InfoFileType" /> 
    <xs:element name="Command" type="ca:CommandAnswerType" /> 
    </xs:sequence> 
    </xs:complexType> 
    </xs:element> 
    </xs:schema> 

는 QC에보고 : 난 아직도 델파이 2010 (재판)을 잡기 위해 노력할 것이다 http://qc.embarcadero.com/wc/qcmain.aspx?d=80124

+1

"(I 2010 년 델파이를 사용하지 않는)"그래서 어떤 버전 ** ** 당신은 사용합니까? –

+0

Delphi 2010과 동일하게 작성 –

+0

XSD 파일 인 InfoFile.xsd가 있습니까? - http : //www.w3을 참조하십시오.org/TR/xmlschema-0/# import – mjn

답변

1

하고 있는지 거기에서 작동합니다.
D2009 및 D2010에서 중요한 작업이 이루어 졌음을 알고 있습니다. 수입을하면서 악명이 높았던 것도 포함되었습니다.
훨씬 더 나아졌습니다 ...
해결할 수 없으면 수동으로 include/import를 제거하고 외부 파일없이 큰 뚱뚱한 XSD를 빌드하는 스키마를 편집하는 것이 좋습니다. 더 잘 작동 할 것입니다.
그게 내가 .Net lib조차 질식할만한 복잡한 스키마 세트로 한 것입니다.

업데이트 : 당신이 경우 대체하려고 수 : 예약 된 경우 단어로 어떤 충돌을 피하기 위해 다른 기호로 InfoFile을; 즉 검색 'n'은 스키마에서 _if_ 또는 다른 것으로 바꾸면 ... XML 매퍼는 이것을 처리하기로되어 있지만 나중에 알기를 바랍니다.

+0

2010 버전의 데모를 설치하고 작동하도록하겠습니다. –

+0

설치되어 있고 동일합니다. ( –

+0

스키마 파일이 첨부 된 QC 보고서에 버그 보고서를 제출하십시오. 그동안 델파이 프리즘 (.Net 가져 오기 도구)을 사용하여 가져 오기를 시도하고 델파이 용 코드, 또는 스키마를 1 개의 큰 XSD로 조정할 수 있습니다. 나는 그것이 실망 할 수 있다는 것을 알고 있습니다! 거기에, 그것을 했었습니다 :-( –

0

에릭 소 닐리가 마침내 나에게 가야합니다. here.

XML 매퍼가 네임 스페이스를 올바르게 이해하지 못합니다. 그러나 가져온 파일에 여분의 네임 스페이스 정의 을 추가하여이를 사용할 수 있습니다. 이것은 내가 정확 입니다.

그래서, 예를 들어, Insurance.xsd에 당신은 에 xmlns 선언의 Utils = "http://www.gtest.fr/Apps/Utils"

당신에 정확히 동일한 정의 을 추가하는 경우 Utils.xsd, XML 매퍼 수입 올바르게 (내 생각!)

는 묘기 XML 스파이 내 수정을 제거 것이 공정한 기회입니다 - 확실히 엔터프라이즈 아키텍트가 완전히 을 무시합니다.

0

저는 Eric Thorniley가 당신에게 지적한 메시지를보고 싶습니다. 그러나 더 이상 존재하지 않습니다. 내가 메시지의 주제를 가지고 있다면 어딘가에서 그것을 아카이브에서 찾을 수 있을지도 모른다. Google 검색을 시도했지만 다른 사이트에서이 게시물의 중복 사본을 발견했습니다.

감사

관련 문제