2014-04-07 4 views
5

FSharp.Data (버전 2.0.5)에서 XML 형식 공급자를 사용하면 요소 이름이 스키마의 이름과 일치하지 않습니다. 내 XML 파일 예를 들어F # XML 형식 공급자 변경 이름

로 시작 :

<?xml version="1.0" encoding="utf-8"?> 
<WebQuery><Results><Result><PrimaryID>105882365</PrimaryID><CONTACT_ADDRESS_LINE_1 /><CONTACT_ADDRESS_LINE_2 /> 

하지만 F #으로 내가 이해하지 못하는 유형 공급자에 대한 뭔가가 있나요

.ContactAddressLine1 

와 CONTACT_ADDRESS_LINE_1을 참조 할 필요가? F #의 이름이 스키마의 요소 이름과 다른 이유는 무엇입니까?

+0

'CONTACT_ADDRESS_LINE_1' 그래서 다른 요소에 따라 형식을 고려 거슬리는 것 같다 CONTACT_ADDRESS_LINE_1 요소를 액세스 할 수 있습니다 ContactAddressLine1를 사용하여 기능에 제로 영향을 . – ChaosPandion

+0

ChaosPandoin - 아마도 그렇지만 스키마를 제어하지는 않습니다. 외부 회사에서 제공 한 것입니다. – JonnyBoats

+0

XML 형식 공급자에 대해 약간의 독해를해야 할 것입니다. 원본 형식을 나타내는 요소에 내부 메타 데이터를 유지하는지 궁금하지 않습니다. 이름을 더 .NET 규칙으로 지정할 수도 있습니다. – ChaosPandion

답변

3

F # 데이터는 속성 이름은 가독성을 위해 PascalCased 수 있습니다,하지만 당신은 여전히 ​​

+0

실제로 XML 요소 (및 특성) 이름은 대/소문자를 구분하므로 기능에 영향을 미치므로 "위치"및 "위치"는 다른 요소를 나타내며 동일한 스키마에 둘 다를 가질 수 있습니다. – JonnyBoats

+0

그런 경우 하나의 속성은 Location과 다른 Location2로 불립니다. 실제 속성과 요소 이름은 생성 된 속성과 일치 할 필요가 없습니다. 원하는 경우 생성 된 실행 파일을 디 컴파일하여 올바른 이름을 사용하고 있는지 확인할 수 있습니다. –

+2

Gustavo - 의도적으로 설계된 답변입니다. 나는 디자인이 마음에 들지 않지만 이것은 그 토론을위한 장소가 아니다. 고맙습니다. – JonnyBoats