토폴로지 가져오기 및 내보내기 유틸리티를 사용하여 XML 마크업을 사용하는 ASCII 파일에서 토폴로지 데이터베이스를 가져오거나 내보낼 수 있습니다. 가져오기 유틸리티를 사용하여 파일에서 데이터를 읽고 토폴로지 데이터베이스 및 토폴로지 에이전트 개체의 데이터를 업데이트할 수 있습니다. 내보내기 유틸리티를 사용하는 경우 이 작업 과정을 반대로 진행합니다.
이 장에서는 다음 내용에 대해 설명합니다.
토폴로지 가져오기 및 내보내기 유틸리티는 다음 태스크를 수행하는 데 사용됩니다.
정기적으로 토폴로지 데이터를 백업으로 덤프합니다.
여러 토폴로지 서버 간에 데이터를 전송합니다.
토폴로지 데이터가 손상된 경우 백업에서 데이터를 복원합니다.
데이터를 다른 파일 형식으로 변환하여 타사 관리 플랫폼의 다른 관리 시스템에 해당 데이터를 로드합니다.
Sun Management Center 주 콘솔 창 또는 CLI에서 이러한 기능에 액세스할 수 있습니다. 가져오거나 내보낼 전체 토폴로지 데이터 및 도메인을 지정해야 합니다. 해당 도구는 덮어쓰기 및 추가를 포함하여 여러 가지 데이터 처리 방법을 지원합니다.
가져오기 및 내보내기 유틸리티는 도메인 수준의 작업을 지원합니다. 내보내기 위한 도메인을 하나 지정하거나 전체 토폴로지 계층을 지정할 수 있습니다.
가져오기 유틸리티를 통해 백업 데이터를 복원할 수 있습니다.
도메인의 여러 개체를 하나의 도메인으로 가져올 수 있습니다.
내보내기 유틸리티를 통해 기존 데이터를 백업할 수 있습니다.
증분 모드로 데이터를 내보낼 수 있습니다.
현재 토폴로지 계층에 데이터가 있을 때만 주 콘솔 창에서 토폴로지 정보를 내보낼 수 있습니다.
토폴로지 가져오기 및 내보내기 유틸리티는 클라이언트 API를 통해 Sun Management Center 서버와 통신합니다. 가져오기 및 내보내기 ASCII 파일은 콘솔 시스템에 상주합니다. 이 파일은 클라이언트 API를 통해 서버로 정보를 제공합니다. 서버는 토폴로지 데이터베이스와 상호작동하는 토폴로지 에이전트에 해당 정보를 보냅니다. 다음은 이러한 유틸리티를 지원하는 소프트웨어 구조를 나타내는 그림입니다.
내보내기의 경우append 및 overwrite라는 두 가지 모드가 제공됩니다. append 모드에서는 덤프된 데이터가 기존 파일의 내용을 대체합니다. overwrite 모드에서는 덤프된 데이터가 파일의 끝에 추가됩니다.
가져오기의 경우 덤프된 파일에 포함된 도메인 정보를 처리하기 위한 두 가지 모드가 제공됩니다. 첫 번째 모드는 도메인 정보를 무시합니다. 이 모드에서는 모든 개체가 지정된 도메인 또는 홈 도메인에 작성됩니다. 두 번째 모드는 모든 다른 개체와 함께 도메인 정보를 가져옵니다. 이 경우에는 새 도메인을 작성할 수 있습니다. 모든 비도메인 개체는 해당 도메인에 작성됩니다.
CLI 인터페이스 가져오기 및 내보내기에 설명된 주 콘솔 창 또는 CLI에서 토폴로지 내보내기 유틸리티를 시작할 수 있습니다.
주 콘솔 창에 있는 도구 메뉴에서 토폴로지 내보내기를 선택합니다.
토폴로지 내보내기 대화 상자가 나타납니다.
도메인 이름 내보내기 목록에서 도메인을 선택합니다.
해당 목록에는 토폴로지 에이전트에 의해 관리되는 모든 도메인이 표시되어 있습니다. 내보낼 도메인을 하나 선택할 수 있습니다. 여러 도메인을 내보내려면 선행 작업을 반복하여 append 모드에서 다른 도메인을 내보낼 수 있습니다.
내보낼 파일의 이름을 입력하거나 찾아보기 버튼을 사용하여 기존 파일을 선택합니다.
파일을 내보내려면 파일 쓰기 권한 또는 파일 작성 권한이 있어야 합니다. 해당 권한이 없는 경우 오류 메시지가 표시되고 작업이 종료됩니다.
기존 파일에 데이터 추가 또는 덮어쓰기 여부를 결정합니다.
append 모드는 파일의 끝에 데이터를 추가합니다. overwrite 모드는 파일을 덮어씁니다. 내보내기에서 append 모드를 사용하는 경우 파일에 대한 검사가 보다 제한적으로 수행됩니다. 기존 파일이 유효한 가져오기 및 내보내기 데이터 파일이어야 합니다. 유효한 데이터 파일은 올바른 가져오기 및 내보내기 파일 문서 유형 선언(DTD)을 가진 제대로 구성된 XML 파일입니다.
유효 기간 메뉴에서 데이터 유효 기간을 선택합니다.
다음 값을 선택할 수 있습니다.
7일
15일
30일
90일
기본적으로 토폴로지 내보내기 데이터의 유효 기간은 제한이 없습니다.
(옵션) 이 내보내기 기능에 대한 설명을 제공합니다.
확인을 눌러 데이터를 지정된 파일로 내보내고 토폴로지 내보내기 창을 닫습니다.
CLI 인터페이스 가져오기 및 내보내기에 설명된 주 콘솔 창 또는 CLI에서 토폴로지 가져오기 유틸리티를 시작할 수 있습니다.
주 콘솔의 도구 메뉴에서 토폴로지 가져오기를 선택합니다.
토폴로지 가져오기 창이 나타납니다.
가져올 토폴로지 데이터를 포함하는 파일의 전체 경로 이름을 입력합니다.
또는 찾아보기 버튼을 사용하여 파일을 찾을 수 있습니다.
토폴로지 전체를 가져올지 그룹 및 엔티티만 가져올지를 결정합니다.
Follow – 그룹 및 도메인 정보를 가져옵니다. 그룹 및 엔티티가 파일에 포함된 도메인에 작성됩니다.
Ignore – 도메인 정보를 무시하고 그룹 및 엔티티만 지정한 대상 도메인으로 가져옵니다.
이름 목록에서 데이터를 가져올 도메인을 선택합니다.
기본적으로 모든 데이터를 홈 도메인에 가져옵니다.
이전 단계에서 무시 옵션을 선택한 경우에만 데이터를 가져올 토폴로지 계층에서의 위치를 지정할 수 있습니다.
확인을 눌러 데이터를 가져오고 토폴로지 가져오기 창을 닫습니다.
가져오기 유틸리티는 토폴로지 데이터베이스를 업데이트합니다. 따라서 데이터를 가져오기 전에 경고 대화 상자를 통해 작업을 확인할 수 있습니다.
경고 대화 상자에 입력 파일을 만든 날짜 및 만든 사람이 표시됩니다. 이 경고를 통하여 올바른 데이터 파일이 사용되고 있는지 확인할 수 있습니다.
다음과 같은 여러 가지 추가 검사가 수행됩니다.
내보낸 데이터 파일에는 파일의 유효 기간에 대한 정보가 포함되어 있습니다. 최신 파일을 가져오려고 시도할 경우 오류 메시지가 표시되고 작업이 중지됩니다.
가져오기 유틸리티는 파일의 존재 및 가독성 여부를 확인합니다. 이러한 검사가 실패할 경우 오류 메시지가 표시되고 작업이 중지됩니다.
가져오기 유틸리티가 가져오기 파일을 분석하려면 파일 형식이 올바른 형식이어야 합니다. 파일 형식이 올바르지 않은 경우 가져오기 유틸리티에서 오류 메시지를 생성합니다.
엔티티가 현재 토폴로지 계층에 존재하는 경우 또 다른 경고 대화 상자가 나타나 엔티티를 바꿀지 여부를 묻습니다. 다음 옵션 중 하나를 선택합니다.
충돌 데이터를 새 값으로 바꿉니다.
모든 충돌 데이터을 바꿉니다. 데이터 충돌이 다시 일어나는 경우 대화 상자가 나타나지 않고 이전 값이 바뀝니다.
충돌 데이터를 업데이트하지 않습니다.
또 다른 데이터 충돌이 일어날 때 대화 상자가 나타나지 않습니다. 모든 충돌이 무시되고 변경되지 않은 상태 그대로 유지됩니다.
가져오기 작업을 중지합니다.
다음 명령을 사용하여 CLI에서 가져오기 및 내보내기 유틸리티를 호출할 수 있습니다.
# /opt/SUNWsymon/sbin/es-cli > login Host: servername Login: username Password: password Login successful! > export parameter > import parameter |
적절한 명령 매개변수에 대한 정보는 import 명령 매개 변수 및 export 명령 매개 변수를 참조하십시오.
import 명령은 파일에서 지정된 도메인에 대해 이전에 내보낸 토폴로지 데이터를 검색합니다.
import 명령은 다음 매개 변수를 취합니다.
domain 매개 변수의 값은 가져올 토폴로지의 도메인 이름입니다. 도메인이 지정되지 않은 경우 모든 도메인을 가져옵니다.
domainmode 매개 변수의 값은 가져온 토폴로지에서 새 도메인을 작성할지 여부를 결정합니다. 해당 값이 follow인 경우 그룹 및 도메인 토폴로지를 현재 토폴로지로 가져오고, 새 도메인을 작성할 수 있습니다. 해당 값이 ignore인 경우 그룹 및 엔티티만 지정한 대상 도메인으로 가져옵니다.
filename 매개 변수의 값은 토폴로지 정보가 검색될 파일의 이름입니다.
nodemode 매개 변수의 값은 기존 토폴로지를 가져온 토폴로지로 바꿀지 여부를 결정합니다. nodemode 매개 변수의 값이 replace인 경우 충돌 데이터는 가져온 값으로 바뀝니다. nodemode 매개 변수의 값이 ignore인 경우 충돌 데이터가 업데이트되지 않습니다.
명령줄의 명시적 할당값은 매개 변수 파일에 있는 동일한 할당값보다 우선합니다. 예를 들어, mode=ignore가 명령줄에 할당되고 mode=follow가 매개변수 파일에 할당되는 경우, mode=ignore가 사용됩니다.
다음 예에서는 이전에 내보낸 토폴로지를 /home/examples/snapshot 파일에서 가져옵니다. 필요에 따라 새 도메인이 작성되고 충돌 데이터는 가져온 토폴로지로 바뀝니다.
> import filename=/home/examples/snapshot domainmode=follow \ nodemode=replace |
작업이 완료되기 전에 또는 데이터가 충돌할 때 가져오기 유틸리티에서 다음 항목에 응답하라는 메시지를 표시합니다.
확인을 위한 경고 메시지 – 다음 메시지에서 가져오기 작업을 확인할 것을 요청합니다.
The data being used is exported by <user name> on <mm/dd/yyyy>. The import operation will modify your topology database, are you sure you want to do this? [Yes/No] |
대답이 예인 경우 y를 입력하고 아니요인 경우 n을 입력하십시오.
이 절에서는 가져오기 명령의 결과로 나타날 수 있는 메시지에 대하여 설명합니다.
import: Results 1/1
State=Success
Message=The topology data is successfully imported.
원인:성공했습니다.
설명:작업이 성공적으로 완료되었습니다.
filename: No such file.
원인:파일이 존재하지 않습니다.
설명:지정된 파일이 존재하지 않습니다. 명령줄에서가져오기 데이터 소스를 제공하는 데이터 파일과 매개 변수 목록을 제공하는 매개 변수 파일 등 두 파일을 사용할 수 있습니다.
import: Cannot open filename.
원인:권한이 거부되었습니다.
설명:읽을 파일을 열 수 없습니다.
import: File format is not supported.
원인:형식이 잘못되었습니다.
설명:소스 파일이 데이터를 내보내기 위한 유효한 데이터베이스 파일이 아닙니다.
import: File out-of-date (xx days).
원인:날짜가 지난 데이터입니다.
설명:날짜가 지난 데이터를 사용하고 있습니다.
import: 인증에 실패했습니다.
원인:인증에 실패했습니다.
설명:현재 사용자는 토폴로지 계층에 개체를 작성할 권한이 없습니다.
import: Wrong parameter file.
원인:매개 변수 파일 오류입니다.
설명:매개 변수 파일은 name = value 쌍의 목록이어야 합니다. 형식이 올바르지 않은 경우 응용 프로그램은 오류 메시지를 생성하고 중지합니다.
import: illegal parameter - <para>.
Use -h option to get usage.
원인:부적합한 매개 변수입니다.
설명:가져오기 작업에 부적합한 매개 변수가 전달되었습니다. 사용 가능한 옵션 및 사용 가능한 매개 변수를 보려면 import -h를 사용합니다.
export 명령은 도메인 또는 모든 도메인에 대한 토폴로지 데이터를 파일에 저장합니다.
export 명령은 다음 매개 변수를 취합니다.
comment 매개 변수의 값은 파일에 포함될 주석입니다.
domain 매개 변수의 값은 내보낼 토폴로지의 도메인 이름입니다. 도메인이 지정되지 않은 경우 모든 도메인을 내보냅니다.
filename 매개 변수의 값은 토폴로지 정보를 내보낼 파일의 이름입니다.
mode 매개 변수의 값은 토폴로지 정보가 파일에 통합되는 방법을 결정합니다. 해당 값이 append인 경우 데이터가 파일의 내용에 추가됩니다. 해당 값이 overwrite인 경우 파일의 이전 내용이 새 데이터로 바뀝니다.
validity 매개 변수의 값은 데이터가 유효한 기간(일)입니다. validity 매개 변수의 올바른 값은 다음과 같습니다.
Unlimited
7
15
30
90
다음 예에서 Default Domain은 이름이 snapshot인 파일에 저장됩니다. 새 데이터가 snapshot의 원래 내용을 덮어씁니다. 새 데이터는 무제한 기간 동안 유효한 것으로 간주됩니다. 설명에서는 해당 데이터가 시스템 테스트 그룹에 대한 데이터임을 명시합니다.
> export filename=/home/examples/snapshot \ domain="Default Domain" mode=overwrite validity=Unlimited \ comment="System Test Group" |
다음 목록은 내보내기 명령의 결과로 나타날 수 있는 메시지를 표시합니다.
Export: Results 1/1
State=Success
Message=The topology data is successfully exported.
원인:성공했습니다.
설명:작업이 성공적으로 완료되었습니다.
export: Cannot open file.
원인:파일이 존재하지 않습니다.
설명:매개 변수 파일이 존재하지 않습니다.
filename: 권한이 거부되었습니다.
원인:파일 오류입니다.
설명:작성할 파일을 열거나 작성할 수 없습니다.
export: File format not supported.
원인:형식이 잘못되었습니다.
설명:내보내기 데이터를 유효하지 않은 내보내기 데이터 파일에 추가할 때 이 오류가 발생합니다.
export: The domain < domainname> does not exist
원인:개체 오류입니다.
설명:내보낼 도메인이 존재하지 않습니다.
export: Wrong parameter file.
원인:매개 변수 파일 오류입니다.
설명:매개 변수 파일은 name = value 쌍의 목록이어야 합니다. 파일 형식이 올바르지 않은 경우 응용 프로그램은 해당 사실을 사용자에게 알리고 중지합니다.
export: The current user is different from the last one.
원인:사용자 충돌입니다.
설명:다른 사용자에 의해 작성된 기존 데이터 파일에 데이터를 추가하거나 덮어쓰려고 할 때 이 오류가 발생합니다. 다른 사용자가 작성한 내보내기 데이터를 수정하거나 덮어쓸 수 없습니다.
export: Data is out-of-date.
원인:데이터가 너무 오래되었습니다.
설명:날짜가 지난 내보내기 파일을 사용하고 있습니다. append 모드에서 데이터를 내보낼 경우에만 이 메시지가 나타납니다.
export: illegal parameter - <para>.
Please use -h option to get usage.
원인:부적합한 매개 변수입니다.
설명:내보내기 작업에 부적합한 매개 변수가 전달되었습니다.
다음 목록에서는 가져오기 및 내보내기 유틸리티가 처리하는 토폴로지 데이터에 대하여 설명합니다.
모든 도메인, 그룹 및 호스트에 대한 레코드 정보입니다.
도메인 및 그룹에 대한 장식 정보입니다. 장식 정보에는 배경 내용 대신 레이아웃 및 배경 색인만 포함됩니다. 예를 들어, 배경에 대한 정보에는 GIF 파일이 아니라 GIF 파일 이름만 포함됩니다.
관계 정보는 토폴로지 계층, 엔티티 배경 및 레이아웃에 대하여 설명하는 정보입니다.
가져오기/내보내기 파일은 가져오기 및 내보내기 데이터를 설명합니다. 텍스트 편집기를 사용하여 이 파일을 편집할 수 있습니다. 이 파일에는 토폴로지 계층의 모든 엔티티에 대한 정보가 포함되어 있습니다. append 내보내기 모드에서는 더 많은 개체 정보를 파일에 추가할 수 있으므로, 형식을 확장 및 분석하기가 쉽습니다. 내보낸 데이터는 XML 형식으로 저장됩니다.
파일은 네 부분으로 구분됩니다.
매직 정보
문서 유형 선언(DTD)
헤더 정보
데이터 블록
매직 정보는 파일이 XML 형식 파일임을 식별합니다. 일반적으로 이 정보는 다음과 같이 나타납니다.
<? XML version = 1.0 ?> |
DTD 정보는 문서의 구조를 정의합니다. 내보내기 파일의 DTD는 다음 예와 유사합니다.
<!ELEMENT ENTITY (ENTITY* ADORNMENT*)> /* Entity element describes a entity. If it is a group, it may contain groups and adornment. */ <!ATTLIST ENTITY /* Entity attributes */ desc CDATA full_desc CDATA hostname CDATA ip CDATA netmask CDATA architecture CDATA family CDATA polling_type CDATA url CDATA x_coord CDATA y_coord CDATA topology_type CDATA event_dest CDATA trap_dest CDATA target_host CDATA target_ip CDATA read_info CDATA write_info CDATA> <!ELEMENT ADORNMENT> <!ATTLIST ADORNMENT x_coord CDATA y_coord CDATA type CDATA configuration CDATA> ]> |
머리글 정보는 다음과 같은 일반 정보를 기록하는 데 사용됩니다.
사용자
데이터
버전
플랫폼
제품
데이터 블록에는 토폴로지 구조 및 엔티티가 포함되어 있습니다.
다음 그림은 My New 도메인에 대한 토폴로지를 설명합니다.
다음은 My New 도메인에 대한 토폴로지 내보내기 파일의 예입니다.
<?xml version="1.0" encoding="UTF-8"?> <DOCUMENT> <HEAD> <USER>jkang</USER> <DATE>1/7/1999</DATE> <VALIDITY>7 days</VALIDITY> <PRODUCT>Sun Management Center</PRODUCT> <VERSION>3.6.1</VERSION> <COMMENTS>This is an example.</COMMENTS> </HEAD> <DOMAIN name="my new"> <ENTITY arch="SunOS 5.8" config="" desc="wizard" entityId="e-1" family="sun4u-Sun-Ultra-2" fulldesc="wizard" hostname="wizard" ipAddr="129.158.168.63" isPoll="false" isSoftGroupLink="false" netMask="255.255.255.0" pollType="ahost" readInfo="" targetHost="" targetIp="" targetUrl="snmp://129.158.168.63:1100/sym//base/mibman/modules" type="" writeInfo="" xCoord="23" yCoord="39" /> <ENTITY arch="SunOS 5.8" config="" desc="atom" entityId="e-2" family="sun4u-Sun-Ultra-2" fulldesc="" hostname="u30-1" ipAddr="129.158.168.113" isPoll="false" isSoftGroupLink="false" netMask="255.255.255.0" pollType="ahost" readInfo="" targetHost="" targetIp="" targetUrl="snmp://129.158.168.113:161/sym//base/mibman/modules" type="" writeInfo="" xCoord="75" yCoord="39" /> <ENTITY arch="" config="" desc="campus" entityId="e-3" family="campus-view" fulldesc="" hostname="" ipAddr="" isPoll="true" isSoftGroupLink="false" netMask="" pollType="aview" readInfo="espublic" targetHost="" targetIp="" targetUrl="snmp://129.158.168.63:164/mod/topology+view-101" type="" writeInfo="" xCoord="27" yCoord="111"> <ENTITY arch="" config="" desc="building" entityId="e-1" family="building-view" fulldesc="" hostname="" ipAddr="" isPoll="true" isSoftGroupLink="false" netMask="" pollType="aview" readInfo="espublic" targetHost="" targetIp="" targetUrl="snmp://129.158.168.63:164/mod/topology+view-102" type="" writeInfo="" xCoord="" yCoord=""> <ENTITY arch="SunOS 5.8" config="" desc="Wizard" entityId="e-1" family="sun4u-Sun-Ultra-2" fulldesc="" hostname="wizard" ipAddr="129.158.168.63" isPoll="false" isSoftGroupLink="false" netMask="255.255.255.0" pollType="ahost" readInfo="" targetHost="" targetIp="" targetUrl="snmp://129.158.168.63:1100/sym//base/mibman/modules" type="" writeInfo="" xCoord="" yCoord="" /> <ENTITY arch="SunOS 5.8" config="" desc="aaa" entityId="e-2" family="sun4u-Sun-Ultra-2" fulldesc="" hostname="wizard" ipAddr="129.158.168.63" isPoll="false" isSoftGroupLink="false" netMask="255.255.255.0" pollType="ahost" readInfo="" targetHost="" targetIp="" targetUrl="snmp://129.158.168.63:1100/sym//base/mibman/modules" type="" writeInfo="" xCoord="" yCoord="" /> <ENTITY arch="SunOS 5.8" config="" desc="atom" entityId="e-3" family="sun4u-Sun-Ultra-2" fulldesc="" hostname="u30-1" ipAddr="129.158.168.113" isPoll="false" isSoftGroupLink="false" netMask="255.255.255.0" pollType="ahost" readInfo="" targetHost="" targetIp="" targetUrl="snmp://129.158.168.113:161/sym//base/mibman/modules" type="" writeInfo="" xCoord="" yCoord="" /> </ENTITY> </ENTITY> <ENTITY arch="" config="" desc="129.158.0.0" entityId="e-4" family="network-view" fulldesc="129.158.0.0" hostname="129.158.0.0" ipAddr="129.158.0.0 isPoll="true" isSoftGroupLink="false" netMask="255.255.255.0" pollType="aview" readInfo="espublic" targetHost="129.158.0.0" targetIp="129.158.0.0" targetUrl="snmp://129.158.168.63:164/mod/topology+view-103" type="" writeInfo="" xCoord="38" yCoord="181"> <ENTITY arch="" config="" desc="129.158.168.0" entityId="e-1" family="subnetwork-view" fulldesc="129.158.168.0" hostname="129.158.168.0" ipAddr="129.158.168.0" isPoll="true" isSoftGroupLink="false" netMask="255.255.255.0" pollType="aview" readInfo="espublic" targetHost="129.158.168.0" targetIp="129.158.168.0" targetUrl="snmp://129.158.168.63:164/mod/topology+view-104" type="" writeInfo="" xCoord="" yCoord=""> <ENTITY arch="SunOS 5.8" config="" desc="wizard" entityId="e-1" family="sun4u-Sun-Ultra-2" fulldesc="SUNW,Ultra-2" hostname="wizard" ipAddr="129.158.168.63" isPoll="false" isSoftGroupLink="false" netMask="255.255.255.0" pollType="ahost" readInfo="public" targetHost="" targetIp="" targetUrl="snmp://129.158.168.63:1100/sym//base/mibman/modules" type="" writeInfo="" xCoord="" yCoord="" /> </ENTITY> </ENTITY> <ENTITY arch="" config="" desc="myworkstation" entityId="e-5" family="nonagent-sun4u-Sun-Ultra30" fulldesc="" hostname="wizard" ipAddr="129.158.168.63" isPoll="false" isSoftGroupLink="false" netMask="" pollType="snmp" readInfo="public" targetHost="" targetIp="" targetUrl="snmp://wizard:1100/oid//1.3.6.1.2.1.1.7.0" type="" writeInfo="private" xCoord="52" yCoord="253" /> <ENTITY arch="SunOS 5.8" config="" desc="System Group" entityId="e-6" family="base-agent" fulldesc="MIB tree branch" hostname="wizard" ipAddr="129.158.168.63" isPoll="false" isSoftGroupLink="false" netMask="255.255.255.255" pollType="amod" readInfo="" targetHost="wizard" targetIp="129.158.168.63" targetUrl="snmp://129.158.168.63:1100/mod/mib2-simple/system" type="" writeInfo="" xCoord="52" yCoord="329" /> <ADORNMENT Config="bus" Id="adorn-7" Type="layout" XCoord="0" YCoord="0" /> </DOMAIN> </DOCUMENT>