MapForce에서 XML 와일드카드 데이터 매핑 및 변환 기능
MapForce 2014은 이제 XML 와일드카드를 매핑하는 기능을 지원하며, 이를 통해 XML 스키마에 내장된 확장 메커니즘을 구현할 수 있습니다. 이 기능은 xs:any 또는 xs:anyAttribute로 구현됩니다.
다음은 XMLSpy에서 볼 수 있는 XML 코드 조각의 예입니다

이 긴 파일의 일부분은 가민 GPS 장치가 자동차 여행 중 기록한 두 개의 위치 정보를 보여줍니다. XML 데이터는 GPX XML 스키마를 따르며, 가민에서 속도 및 방향 정보를 추가하기 위한 확장 기능을 포함합니다. XML 와일드카드 매핑 기능을 사용하면, 이 확장 기능들을 MapForce에서 XML 스키마에 명시적으로 정의된 다른 요소들과 마찬가지로 매핑할 수 있습니다.
이제 .gpx 파일을 읽어서 특정 여행 동안 기록된 최고 속도를 추출하는 것을 예시로 들어보겠습니다
!--더보기--
새로운 MapForce 매핑 디자인을 시작하려면 .gpx 파일을 입력 구성 요소로 불러올 수 있습니다. MapForce는 해당 XML 스키마에 정의된 모든 요소와 매핑에 사용할 수 있는 요소들을 보여줍니다. 아래 스크린샷은 트랙 포인트를 정의하는 XML 스키마의 일부를 보여줍니다

위도, 경도, 고도, 그리고 시간 정보는 "trkpt" 요소 바로 뒤에 나타나며, XML 조각에 포함된 데이터와 관련됩니다. "magvar" (자력 편차)부터 "dgpsid" (DGPS 기지국 ID)까지의 항목들은 모두 선택 사항이며, Garmin 데이터 파일에는 포함되지 않습니다.
이 XML 스키마에서는 속도 및 경로 관련 요소가 전혀 정의되어 있지 않습니다. 대신, 이미지 하단에 있는 xs:any를 통해 속도 및 경로 정보를 추가할 수 있습니다. xs:any 옆의 아이콘을 클릭하면 대화 상자가 열리고, 이 대화 상자를 통해 확장 기능을 정의하는 다른 XML 스키마를 가져올 수 있습니다. 가져온 후, 원래 XML 스키마와 확장 기능을 결합하는 래퍼를 생성할 수 있습니다. 가져오기가 완료되면, 새로운 요소들이 소스 컴포넌트에 표시되고 매핑할 수 있습니다

매핑에서 데이터 정렬하기
MapForce에 함께 설치되는 예제 파일에는 "FindHighestTemperatures.mfd"라는 매핑 파일이 포함되어 있으며, 이 파일을 사용하여 정렬 기능을 활용하여 파일에서 가장 높은 속도 값을 추출하는 방법을 예시로 활용할 수 있습니다

이 함수는 모든 속도 값을 높은 값부터 낮은 값 순으로 정렬한 다음, 정렬된 값 중에서 가장 높은 값 하나만 출력합니다. "Z-A"로 표시된 정렬 방식은 숫자 데이터를 가장 높은 값부터 낮은 값 순으로 자동으로 정렬합니다.
매핑 과정에서 값 변환하기
마지막으로, 속도를 초당 미터 단위에서 시간당 마일 단위로 변환하고, 결과를 소수점 둘째 자리까지 반올림한 후, 설명적인 텍스트를 추가해야 합니다

위에서 보여드린 문자열 연결 함수의 결과는 출력용 텍스트 파일에 기록됩니다

참고로, 함수 간 전환 과정에서 속도 값을 명시적으로 숫자 데이터 유형에서 문자열 데이터 유형으로 변환할 필요가 없었습니다. MapForce는 데이터 유형 변환을 자동으로 처리합니다. 다음은 주요 작업에 대한 주석이 포함된 전체 매핑의 축소된 버전입니다

이미지를 클릭하거나 자세히 보려면 여기를 클릭하세요.
Altova 웹사이트에는 MapForce를 위한 무료 온라인 제품 교육 자료가 있습니다. 또한, MapForce의 무료 체험판을 다운로드하여 데이터 매핑 및 변환 기술을 지금 바로 향상시킬 수 있습니다!