오픈 패키징 규칙
Open Packaging Conventions| 줄임말 | OPC |
|---|---|
| 네이티브 네임 | Office Open XML 파일 형식 - 오픈 패키징 규칙 |
| 상황 | 출판된 |
| 초판 | 2006년 12월 7일 ( |
| 최신 버전 | ISO/IEC 29500-2:2012 2012년 8월 22일 ( |
| 조직 | Microsoft, Ecma, ISO/IEC |
| 기본 규격 | ECMA-376, ISO/IEC 29500-2 |
| 관련 기준 | XML, ZIP |
| 도메인 | 전자 문서 |
| 웹 사이트 | ECMA-376, ISO/IEC 29500-2:2012 |
OPC(Open Packaging Conventions)는 Open XML Paper Specification(OpenXPS) 문서와 같은 단일 엔티티를 형성하는 XML 파일과 비 XML 파일의 조합을 저장하기 위해 마이크로소프트가 최초로 작성한 컨테이너 파일 기술입니다.OPC 기반 파일 형식은 문서에 포함된 독립 파일 엔티티를 그대로 유지하여 XML을 정상적으로 사용할 때보다 훨씬 작은 파일을 만들 수 있다는 장점을 결합합니다.
사양
OPC는 Office Open XML 표준 ISO/IEC 29500:2008 및 ECMA-376 [1][2]파트2에 규정되어 있습니다.
ISO/IEC 29500-2:2008 사양 및 ECMA-376 제2판은 PKWARE, Inc.의 규범적인 참조를 하고 있습니다.ZIP 파일 형식 사양 버전 6.2.0(2004)은 규범적인 설명 세트를 보완합니다.주의: ECMA-376의 구판 초판은 새로운 PKWARE Inc.의 ".Z"에 대한 정보(비표준)를 제공합니다.IP 파일 포맷 사양」버전 6.2.1(2005)[1]을 참조하십시오.ZIP 형식은 어떤 국제 표준에도 규정되어 있지 않지만 커뮤니티와 개발자가 폭넓게 수용하고 있습니다.
Microsoft는 2006년에 「팩」URI 스킴의 초안을 Internet Engineering Task Force 에 제출했습니다.pack://OPC 기반 패키지에 대한 URI 참조에 사용됩니다.초안은 2009년에 만료되었으며 지정된 구문은 URI 방식의 인터넷 표준(STD 66, RFC 3986)[3]과 호환되지 않습니다.스킴이 이력 [4]리스트가 되었습니다.
ISO 19165:1-2018에서는 개방형 보관 정보 시스템에 정의된 지리 공간 패키지를 구현하기 위해 개방형 패키징 규약을 사용할 것을 권장합니다.
사용.
XML Paper Specification(XPS;[5] XML 종이 사양)과 Office Open XML(OOXML; Office Open XML)은 모두 Open Packaging Conventions(OPC; 개방형 패키징 규칙)을 사용합니다.OPC는 일반적인 ZIP 형식의 프로파일을 제공합니다.ZIP 패키지의 파일에는 XML 마크업 내의 데이터 및 문서 내용 외에 PNG, BMP, AVI, PDF, RTF, 또는 이미 패키지화된 ODF 파일 등의 형식의 다른 텍스트 및 바이너리 파일을 포함할 수 있습니다.또한 OPC는 ZIP 아카이브에서 바이너리 및 XML 파일의 위치에 의존하지 않는 몇 가지 명명 규칙과 간접 방식을 정의합니다.
OPC 파일은 일반적인 ZIP 유틸리티를 사용하여 열 수 있습니다.OPC는 간접, 청킹 및 상대적인 [6]간접을 허용합니다.
OPC를 사용한 파일 형식
OPC는 많은 새로운 파일 [7]형식의 기반 기술입니다.
| 파일 형식 | 파일 이름 확장자 | 콘텐츠 | 표준. |
|---|---|---|---|
| 3MF 컨소시엄 3D 제조 형식(3MF) 파일[8] 형식 | 3mf | 적층 제조용 CAD 설계 데이터(3D 프린팅) | |
| Autodesk AutoCAD Design Web Format(DWFX) 파일[9] 형식 | .sqfx | CAD 설계 데이터(2D/3D 컴퓨터 그래픽스 및 기술 도면) | |
| 자동화ML 컨테이너 형식 | .amlx | 플랜트 엔지니어링 정보 | |
| 회로도[10] 문서 | .cdx | 레이아웃, 연결 및 내장 컴포넌트를 포함하는 회로도 | |
| Family. 파일 형식[11] 표시 | .패밀리 | 족보, 이야기, 사진 | |
| 필드 디바이스 통합 FDI 패키지[12][13] | .discix | 필드 디바이스 통합 정보 | IEC 62769-4:2015 |
| Microsoft 응용 프로그램 가상화 파일 형식 | .appv | 휴대용 응용 프로그램 | |
| Microsoft Semblio 파일 형식 | .semblio | 이미지, 오디오, 비디오가 포함된 전자책과 같은 대화형 학습 자료 | |
| Microsoft Visual Studio 2010+ 확장자 파일 형식 | .vsix | 통합 개발 환경 확장 | |
| Microsoft Visio 2013 도면 파일 형식 | .vsdx | 이전[14] 버전에서 사용된 .vsd(Visio 이진 파일) 및 .vdx(Visio XML Drawing) 형식을 대체합니다. | |
| Microsoft Windows 8, Windows 8.1 및 Windows Phone 8.1 응용[15] 프로그램 패키지 | .appx | Microsoft Windows Store 및 Windows Phone[16] Store에 나열된 응용 프로그램용 소프트웨어 패키지 | |
| Microsoft Windows 8.1 및 Windows Phone 8.1 응용[17] 프로그램번들 | .appxbundle | Microsoft Windows Store 및 Windows Phone Store에 나열된 응용 프로그램의 하드웨어 플랫폼, 언어 및 리소스를 번들하는 소프트웨어 패키지 | |
| Microsoft Windows Azure C# 패키지 | .150kg | 클라우드 플랫폼 데이터 | |
| Microsoft XML 종이 사양 | .xps | 문서교환용고정문서 | |
| MiraMon 열린 압축 지도 | .mmzx | 지리정보(지리공간 래스터 그래픽스, 벡터 그래픽스 및 표 형식 데이터, 파일 내 기호화 및 메타데이터, 지오서비스 링크 등) | ISO 19165-1:2018 |
| NuGet 패키지 | .nupkg | 패키지 관리 시스템용 소프트웨어 패키지 | |
| Office Open XML 문서 | .docx | 워드프로세서 문서 | ECMA-376, ISO/IEC 29500: 2008 |
| Office Open XML 프레젠테이션 | .sqx | 프레젠테이션 파일 | ECMA-376, ISO/IEC 29500: 2008 |
| Office Open XML 워크북 | .xlsx | 스프레드시트 워크북 | ECMA-376, ISO/IEC 29500: 2008 |
| 오픈 XML 용지 사양 | .oxps | 문서교환용고정문서 | ECMA-388 |
| Platform Industrie 4.0 - 관리자산[18] 셸 | .aasx | 관리자산 쉘(AAS)용 패키지 파일 형식 | |
| Siemens 디지털 산업 소프트웨어 파일 형식 | .sqx | ||
| MathWorks Simulink 모델 파일 | .slx | 모델 기반 설계를 위한 동적 시스템 사양 | |
| SMPTE 미디어 패키지 | .smpk | 멀티미디어 비디오 및 오디오 파일 배포 및 재생을 위한 스토리지 형식 | SMPTE ST 2053-2011 |
| SpaceClaim 3D 솔리드 모델[19] 파일 | .scdoc | 내장형 3D CAD 데이터 파일에는 표준 ACIS 바이너리(SAB) 솔리드 모델 파일이 포함됩니다. | |
| Microsoft XAML 패키지 | – | 사양이 아닙니다.에 의해 지원되는 기능.이미지와 함께[20] WPF FlowDocument를 저장하기 위한 NET Framework만 |
프로그래밍
OPC는 Microsoft에서 기본적으로 지원됩니다.NET Framework 3.0은System.IO.네임스페이스를 패키징하고 있습니다.다른 언어에는 오픈 소스 라이브러리가 있습니다.
Windows 7 이후 OPC는 패키징 API라고 불리는 일련의 COM 인터페이스를 통해 Windows API에서 기본적으로 지원됩니다.
또는 ZIP에 올바른 파일이 포함되어 있고 규칙을 따르는 한 ZIP 라이브러리를 사용하여 OPC 파일을 만들고 열 수 있습니다.
패키지, 부품 및 관계
OPC 용어에서 패키지라는 용어는 ZIP 아카이브에 대응하고 부품이라는 용어는 ZIP 내에 저장된 파일에 대응합니다.패키지의 각 부품에는, MIME 미디어 타입의 형식으로 표현되는 특정의 컨텐츠 타입과 함께, 일의의 URI 준거의 부품명이 있습니다.부품의 내용 유형은 부품에 저장된 데이터 유형을 명시적으로 정의하고 파일 확장자에 고유한 중복 및 모호성 문제를 줄입니다.
OPC 패키지에는 패키지, 부품 및 외부 리소스 간의 연결을 정의하는 관계도 포함될 수 있습니다.디렉토리 및 부품의 계층과 더불어 OPC 패키지는 일반적으로 관계를 사용하여 관계 연관성의 방향 그래프를 통해 컨텐츠에 액세스합니다.관계는 다음 4가지 요소로 구성됩니다.
- 식별자(ID)
- 옵션 소스(패키지 또는 패키지 내의 일부)
- 관계형(관계의 유형을 정의하는 URI 형식의 표현)
- 타깃(패키지 내의 다른 부분 또는 외부 자원에 대한 URI)
OPC 패키지는 모든 유형의 데이터(텍스트, 이미지, XML, 바이너리 등)를 포함하는 부품을 저장할 수 있습니다.그러나 확장자 ".rels"는 "/_rels" 하위 폴더에 관계 메타데이터를 저장하기 위해 예약되어 있습니다.하위 폴더 이름 "_rels", 이러한 디렉토리 내의 파일 확장자 ".rels" 및 파일 이름 "[Content_"폴더에 있는 Types.xml"은 OPC 패키지에 저장된 파일의 예약된 이름 3개뿐입니다.
- /[콘텐츠_]Types.xml 파일
- 이 파일은 패키지에 저장된 모든 부품의 MIME 미디어 유형을 정의합니다./[내용]Types.xml" 파일은 파일 확장자 기본값과 다른 내용 유형을 가진 특정 부분에 대한 재정의와 함께 파일 확장자를 기반으로 기본 매핑을 정의합니다.예를 들어, 다음의 몇개의 MIME 타입이 정의되어 있습니다.
<디폴트> 확장 ="관계" Content Type ="application/vnd.openxml formats-modelations.relations+xml"/>
- /_rels
- 루트 수준 "/_rels" 폴더는 패키지 전체의 관계를 저장합니다."/_rels" 폴더에는 일반적으로 ".rels"라는 이름의 파일이 포함되어 있습니다./_rels/.rels는 시작 패키지 수준의 관계가 저장되는 XML 파일입니다.일반적으로 OPC 기반 파일을 열 때 응용 프로그램은 "/_rels/.rels" 파일에 액세스하여 시작 패키지 수준의 관계를 읽습니다.
- [파트네임]릴
- 각 부품은 고유한 관계를 가질 수 있습니다._rels 폴더는 패키지 내의 특정 부품에 대한 관계를 찾는 곳입니다.특정 부품에 대한 관계를 찾으려면 해당 부품의 형제인 "_rels" 폴더를 찾습니다. 부품에 관계가 있는 경우 "_rels" 폴더에는 원래 부품 이름에 ".rels"가 추가된 파일이 포함됩니다.예를 들어 콘텐츠유형 part file에 관계가 있는 경우 [Content_]라는 파일이 있습니다./_rels" 폴더 내의 Types.xml.rels"를 선택합니다.
모든 관계(루트 패키지와 관련된 관계 포함)는 XML 파일로 표시됩니다.텍스트 편집기에서 ".rels" 파일을 열면 해당 부분을 대상으로 하는 모든 관계를 정의하는 실제 XML 마크업을 볼 수 있습니다.일반적인 관계 파일에는 다음과 같은 XML 코드가 포함되어 있습니다.
<관계> xmlns="http://schemas.openxmlformats.org/package/2006/relationships"> <관계> 아이디='R0' 타입="http://schemas.microsoft.com/xps/2005/06/fixedrepresentation" 대상="/Fixed Document Sequence.fdseq"/> <관계> 아이디='R1' 타입="http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail" 대상="/문서/1/메타데이터/페이지1_섬네일JPG/> </관계> 루트 패키지의 2개의 관계를 정의합니다.첫 번째 관계는 루트 패키지로 간주되며(여기서는 Openxmlformats 컬렉션 내에서 Open XML Paper Specification으로 표준화되기 전의 초기 Microsoft XPS 문서의 경우), 다른 하나는 대체 폼 참조에 사용됩니다(여기서는 첫 번째 pa의 썸네일 렌더링 이미지).를 참조해 주세요).
임베디드 문서의 주요 부분은 "/Document"라는 이름의 폴더에 저장되며(파일에 여러 개의 관련 문서가 포함된 경우 하위 디렉토리 자체를 포함할 수 있음), 문서의 주요 부분을 처리하는 데 필요하지 않은 선택적 메타데이터 부분은 "/Metada"라는 이름의 폴더에 저장됩니다.ta"; 단, 이러한 실제 폴더 이름은 실제로 "partname"의 XML 형식 데이터 내에서 지정됩니다.rels" 관계 파일 및 OPC 사양은 애플리케이션에 편리한 모든 폴더 구성을 허용하며 이 두 폴더 이름은 필요하지 않습니다.
청킹
문서를 작은 덩어리로 분할할 수 있습니다.이것은 파일 파손의 [21]영향을 줄이는 데 도움이 됩니다.또한 데이터 액세스에 더 적합합니다. 예를 들어, 모든 스타일 정보를 하나의 XML 부품에 포함시키고, 각 워크시트 또는 테이블을 서로 다른 부품에 포함시킵니다.이렇게 하면 클라이언트의 접근 속도가 빨라지고 오브젝트 작성 횟수가 줄어들며 여러 프로세스가 동일한 문서에서 더 쉽게 작업할 수 있습니다.
상대적인 간접
Open Packaging Conventions에서는 참조가 있는 각 파일에는 인다이렉션목록이 있는 자체 _rels 파일이 있습니다.따라서 일부 정보를 모든 관련 리소스와 쉽게 자르고 붙여넣을 수 있으며 파일 간에 이름이 충돌할 가능성을 제거하기 위한 이름 범위를 제공합니다.
레퍼런스
- ^ a b ISO/IEC 29500-2:2008 - 정보기술 - 문서 설명 및 처리 언어 - Office Open XML 파일 형식 - Part 2: 오픈 패키징 규약, ISO
- ^ Ecma International TC45 (December 2006). "Standard ECMA-376 Office Open XML File Formats". Ecma International. Retrieved 2007-04-04.
- ^ "pack Status: historical". IANA. 2011-10-04. Retrieved 2013-05-12.
- ^ "Uniform Resource Identifier (URI) Schemes". Protocol Registries. IANA. Retrieved 2013-05-12.
{{cite web}}:외부 링크(도움말)work= - ^ XPS team (2006-09-01). "Open Packaging Conventions & Open XML Markup Compatibility". XPS team blog. Retrieved 2007-04-04.
- ^ Rick Jeliffe (2007-07-29). "Comment on Can a file be ODF and Open XML at the same time?". O'Reilly net XML blogs.
- ^ 패키징의 모험 - 2009년 5월 18일 제1화, Microsoft 패키징 팀 블로그: 오픈 패키징 규약
- ^ "Archived copy" (PDF). Archived from the original (PDF) on 2016-08-07. Retrieved 2016-05-26.
{{cite web}}: CS1 maint: 제목으로 아카이브된 복사(링크) - ^ "Archived copy". Archived from the original on 2014-09-03. Retrieved 2014-08-30.
{{cite web}}: CS1 maint: 제목으로 아카이브된 복사(링크) - ^ "CDDX File Format - Circuit Diagram". www.circuit-diagram.org.
- ^ "CodePlex Archive". CodePlex Archive.
- ^ "Technology - FDI-Cooperation". www.fdi-cooperation.com. Archived from the original on 2014-09-19.
- ^ "IEC 62769-4:2015 IEC Webstore". webstore.iec.ch.
- ^ "Developer tools, technical documentation and coding examples".
- ^ "App packages and deployment (Windows Runtime apps) - Windows app development".
- ^ Warren, Tom (February 11, 2014). "Windows Phone 8.1 includes universal apps and lots of feature updates". The Verge.
- ^ "Archived copy". Archived from the original on 2016-10-18. Retrieved 2015-01-26.
{{cite web}}: CS1 maint: 제목으로 아카이브된 복사(링크) - ^ 자산 관리 셸 세부 사항 - 1부
- ^ "SpaceClaim file format". 2013-05-06. Archived from the original on 2013-09-15. Retrieved 2017-08-14.
- ^ "DataFormats.XamlPackage Field (System.Windows)".
- ^ "Using OPC to Store Your Own Data: Page 3". www.devx.com.
외부 링크
- ISO/IEC 29500-2:2012 사양 다운로드
- OPC: 데이터 패키징의 새로운 표준
- 오픈 패키징 규약의 요점
- OPC 디지털 서명:공통 기준 보안 응용 프로그램 가이드라인
- 패키징팀 블로그
- Open Packaging Conventions(OPC) MSDN 포럼
- 오픈 패키징 규약의 어드레싱 모델
- OPC 구현 테스트 문서
- OPC 패키지 탐색기를 통해 XML 부분 편집
- ISO 19165-1:2018 ISO 19165 지리정보– 디지털 데이터와 메타데이터의 보존– Part 1: 기초