Ưu điểm của định dạng DOCX so với DOC


9

Hôm nay tôi đã vô tình phát hiện ra rằng .docx là cùng một .zip (hoặc không có sự khác biệt lớn giữa chúng). Khi bạn thay đổi .docx thành .zip và mở bằng WinRAR, bạn sẽ thấy một loạt các tệp XML trong các thư mục. Trong tệp XML đó, nó được lưu trữ văn bản, phông chữ, chủ sở hữu, sửa đổi lần cuối, v.v. Trong một từ, tất cả các thông tin đang được lưu trữ dưới dạng dữ liệu XML.

Nhưng điều tương tự không đúng với các tệp mở rộng .doc. Không thể mở chúng dưới dạng .zip op như .rar.

Vì vậy, câu hỏi: lợi thế của việc lưu trữ dữ liệu của .docx trong XML là Microsoft đã thay đổi cách lưu trữ dữ liệu là gì? Quả thực tôi muốn biết không phải lợi thế của định dạng XML mà là tại sao Microsoft lại sử dụng nhiều tệp XML để lưu trữ dữ liệu .docx. Nó chỉ ra rằng .docx không phải là định dạng mới trong thư mục gốc.


Trong vòng 1 phút .. 5 câu trả lời gần như giống nhau. Sức mạnh của SO.
MRG

1
Có dữ liệu ở định dạng XML không có nghĩa là nó không phải là định dạng mới. Bạn không thể đưa XML đó vào OpenOffice và làm cho nó hiển thị chính xác. Bạn phải xác định rõ cấu trúc XML sẽ là gì, thuộc tính nào, yếu tố nào, v.v.

1
Xem xét thay đổi tiêu đề để một cái gì đó nhiều thông tin hơn.
Carl Bergquist

2
Tất nhiên đó là một định dạng mới. Hãy đến ngay bây giờ.

Kính gửi Janis Veinbergs và Kyle Rozendo Tôi đã làm việc với XML và XSD rất nhiều lần và tôi biết nó hoạt động như thế nào !!! Hãy chú ý tôi nói "trong thư mục gốc". Bạn không thể đồng ý rằng đó là định dạng XML vừa được sử dụng, không phải là định dạng mới !!!!
Narek

Câu trả lời:


12

Một .docxtệp có thể lưu trữ các tài nguyên được nhúng, như các tệp hình ảnh, không chỉ các tệp XML. Thay vì mã hóa các thứ trong base64 hoặc một cái gì đó và lưu trữ nó trong một tệp XML hoặc phát minh ra một định dạng tuần tự nhị phân khác, họ đã quyết định sử dụng định dạng ZIP tiêu chuẩn.

Bên cạnh đó, XML là một định dạng tệp rất dài có chứa nhiều mẫu thừa. Bạn có thể có tỷ lệ nén cao cho các tệp XML.

Nhân tiện, tôi không thực sự có được phần "đánh lừa chúng tôi". Là tốt hơn để phát minh một định dạng tệp mật mã mới từ đầu hoặc sử dụng một định dạng chuẩn, được biết đến?


Lợi ích chính tôi thấy là có các API mở để thực sự tạo ra các tệp này, vì vậy việc tạo các tệp .docx từ đầu là có thể mà không phải chi nhiều cho SDK độc quyền. Microsoft SDK thậm chí còn cung cấp bộ phản xạ tài liệu sẽ tạo mã C # để tạo tài liệu được tạo sẵn từ đầu.
Will Eddins

@ Bảo vệ: Vâng. Câu trả lời của tôi giải quyết phiên bản gốc của câu hỏi. Câu hỏi đã thay đổi đáng kể kể từ đó;) Tiêu đề ban đầu là "Microsoft đang lừa?"
Mehrdad Afshari

Bản thân xml không tạo ra định dạng "đã biết", .docx là một trong những ví dụ tốt nhất.
artistoex

5

Các bài viết trên Wikipedia tiền nó lên khá độc đáo:

"Microsoft đã chịu áp lực ngày càng tăng khi áp dụng định dạng tệp mở, đặc biệt là một số quốc gia đã thông qua các quy tắc rằng các tài liệu chính thức phải ở định dạng mở."

Chỉnh sửa: Và nén nó lên rất có ý nghĩa, vì XML rất dài dòng và tự nhiên nén rất tốt.


3
"Mở" không có nghĩa là "có thể được giải nén".
Greg Hewgill

3
Nén có những lợi thế khác ngoài nén. Nó cũng hoạt động như một thùng chứa cho nhiều tập tin.
Joey

3

Sử dụng tệp .zip được đổi tên là một cách khá phổ biến - ví dụ: tệp Quake III .pak là các tệp .zip thực sự. Không có điểm nào phát minh ra định dạng tệp nén của riêng bạn khi tồn tại những định dạng hoàn toàn tốt.


1
Thêm ví dụ về việc sử dụng kho lưu trữ ZIP: Java .jar, Winamp .wsz/ .wal(giao diện), Firefox .xpi(XPInstaller - chủ đề, addons). ( tartài liệu lưu trữ cũng rất phổ biến.)
user1686

1

Không chỉ Office Open XML sử dụng XML đã nén. OpenDocument của Open Office cũng làm như vậy đằng sau hậu trường.

Có một vài lợi thế được liệt kê trên trang Wikipedia về các Quy ước đóng gói mở :

Vô cảm

Lấy ví dụ về một danh mục trong đó logo được lặp lại 1.000 lần. Sử dụng cơ chế xác định, nếu chúng ta muốn thay đổi logo, chúng ta chỉ cần thay đổi một mục trong một tệp, không cần tìm kiếm liên quan vì chúng ta biết nơi cần tìm. Điều này làm tăng khả năng bảo trì đáng kể. Nếu bạn muốn thay đổi bố cục của các thư mục ZIP nơi lưu trữ các tệp của bạn, thì đó là một vấn đề không quan trọng, bởi vì bạn không cần biết mọi yếu tố có thể trỏ đến tệp, tất cả chúng đều nằm trong một điểm.

Chunk

Nó khuyến khích các tài liệu được chia thành các phần nhỏ. Điều này là tốt hơn để giảm ảnh hưởng của tham nhũng tập tin. Và tốt hơn cho việc truy cập dữ liệu: ví dụ: tất cả thông tin kiểu trong một phần XML, mỗi bảng tính hoặc bảng riêng biệt trong các phần khác nhau của riêng chúng. Điều này cho phép truy cập nhanh hơn và tạo đối tượng ít hơn cho khách hàng và giúp nhiều quy trình hoạt động trên cùng một tài liệu dễ dàng hơn.

Chunking cũng có lợi cho lập trình viên. Thay thế một biểu định kiểu bằng một biểu định kiểu khác sẽ trở thành thao tác tệp ZIP, không phải là thao tác XML. Và nó làm giảm số lượng những điều mà một lập trình viên cần phải hiểu, bởi vì họ có thể tiếp cận các khối với giả định rằng tất cả thông tin về một chủ đề đều nằm trong khối đó: họ không phải lo lắng về việc phải tìm kiếm thông qua một tệp lớn với nhiều yếu tố ngoại lai.

Cảm ứng tương đối

Trong các Quy ước đóng gói mở, mỗi tệp có tham chiếu đều có tệp _ bọn riêng với các danh sách chỉ định. Điều này giúp dễ dàng cắt và dán một số thông tin với tất cả các tài nguyên được liên kết trong một số trường hợp, cung cấp phạm vi tên để loại bỏ cơ hội xung đột tên giữa các tệp, v.v.


0

Lợi ích lớn nhất là bạn có thể lấy dữ liệu của mình bằng cách giải nén tệp và sao chép văn bản từ các tệp xml. Điều này có thể được thực hiện với tiện ích zip & trình soạn thảo văn bản, ngay cả khi bạn không có bản sao Word 2007.

Đây là những gì làm cho định dạng mở hơn các định dạng nhị phân cũ hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.