32.2. XML 네임스페이스 매핑
32.2.1. 개요 링크 복사링크가 클립보드에 복사되었습니다!
XML 스키마 유형, 그룹 및 요소 정의는 네임스페이스를 사용하여 범위가 지정됩니다. 네임스페이스를 사용하면 동일한 이름을 사용하는 엔터티 간에 이름이 충돌할 수 있습니다. Java 패키지는 비슷한 용도로 사용됩니다. 따라서 Apache CXF는 스키마 문서의 대상 네임스페이스를 스키마 문서에 정의된 구조를 구현하는 데 필요한 클래스가 포함된 패키지에 매핑됩니다.
32.2.2. 패키지 이름 지정 링크 복사링크가 클립보드에 복사되었습니다!
생성된 패키지의 이름은 다음 알고리즘을 사용하여 스키마의 대상 네임스페이스에서 파생됩니다.
URI 스키마가 있는 경우 제거됩니다.
참고Apache CXF는 http:, https:, urn: 스키마만 제거합니다.
예를 들어 네임스페이스
http:\\www.widgetvendor.com\types\widgetTypes.xsd
는\\widgetvendor.com\types\widgetTypes.xsd
가 됩니다.후행 파일 유형 식별자(있는 경우)가 제거됩니다.
예를 들어
\\www.widgetvendor.com\types\widgetTypes.xsd
는\\widgetvendor.com\types\widgetTypes
가 됩니다.결과 문자열은
/
및:
을 구분 기호로 사용하여 문자열 목록으로 나뉩니다.따라서
\\www.widgetvendor.com\types\widgetTypes
는{"www.widegetvendor.com", "types", "widgetTypes"}
목록이 됩니다.목록의 첫 번째 문자열이 인터넷 도메인 이름이면 다음과 같이 컴파일됩니다.
-
leading 192.0.2.
.
이/가 제거되었습니다. -
나머지 문자열은 구분 기호를 사용하여 구성 요소 부분으로 나뉩니다
.
목록의 순서가 역순으로 설정됩니다.
따라서
{"www.widegetvendor.com", "types", "widgetTypes"}
는{"com", "widegetvendor", "types", "widgetTypes"}
이 됩니다.참고인터넷 도메인 이름은
.com
,.net
,.edu
,.org
,.gov
또는 두 문자 국가 코드 중 하나로 끝납니다.
-
leading 192.0.2.
문자열은 모든 소문자로 변환됩니다.
따라서
{"com", "widegetvendor", "types", "widgetTypes"}
는{"com", "widegetvendor", "types", "widgettypes"}
이 됩니다.문자열은 다음과 같이 유효한 Java 패키지 이름 구성 요소로 정규화됩니다.
-
문자열에 특수 문자가 포함된 경우 특수 문자는 밑줄(
_
)으로 변환됩니다. -
문자열이 Java 키워드인 경우 키워드 앞에 밑줄(
_
)이 추가됩니다. -
문자열이 숫자로 시작하는 경우 문자열 앞에 밑줄(
_
)이 붙습니다.
-
문자열에 특수 문자가 포함된 경우 특수 문자는 밑줄(
문자열은 구분 기호를 사용하여 연결됩니다
.
따라서
{"com", "widegetvendor", "types", "widgettypes"}
는 패키지 이름 com.widgetvendor.types.widgettypes.
네임스페이스 http:\\www.widgetvendor.com\types\widgetTypes.xsd
네임스페이스에 정의된 XML 스키마 구조는 Java 패키지 com.widgetvendor.types.widgettypes 에 매핑됩니다.
32.2.3. 패키지 콘텐츠 링크 복사링크가 클립보드에 복사되었습니다!
CryostatB 생성된 패키지에는 다음이 포함됩니다.
스키마에 정의된 각 복잡한 유형을 구현하는 클래스
복잡한 유형 매핑에 대한 자세한 내용은 35장. 복잡한 유형 사용 을 참조하십시오.
열거면을 사용하여 정의된 모든 간단한 형식에 대한 열거 형식입니다.An enum type for any simple types defined using the
enumeration
facet열거를 매핑하는 방법에 대한 자세한 내용은 34.3절. “열거” 을 참조하십시오.
스키마에서 개체를 인스턴스화하는 메서드를 포함하는 공용
ObjectFactory
클래스입니다.A public ObjectFactory class that contains methods for instantiating objects from the schema.ObjectFactory
클래스에 대한 자세한 내용은 32.3절. “오브젝트 Cryostat” 을 참조하십시오.-
패키지의 클래스에 대한 메타데이터를 제공하는
package-info.java
파일