Vâng, tôi đã biết rằng có một tài liệu về vấn đề này, trong đó nêu:Docx hoặc XPS (hoặc OOXML nói chung) Mối quan hệ chuyển đổi ví dụ
12.2.4.26 Relationships Transform Algorithm
13 The relationships transform takes the XML document from the Relationships part and converts it to another
14 XML document.
15 The package implementer might create relationships XML that contains content from several namespaces, along
16 with versioning instructions as defined in Part 5: “Markup Compatibility and Extensibility”. [O6.11]
17 The relationships transform algorithm is as follows:
18 Step 1: Process versioning instructions
19 1. The package implementer shall process the versioning instructions, considering that the only known
20 namespace is the Relationships namespace.
21 2. The package implementer shall remove all ignorable content, ignoring preservation attributes.
22 3. The package implementer shall remove all versioning instructions.
23 Step 2: Sort and filter relationships
24 1. The package implementer shall remove all namespace declarations except the Relationships namespace
25 declaration.
26 2. The package implementer shall remove the Relationships namespace prefix, if it is present.
27 3. The package implementer shall sort relationship elements by Id value in lexicographical order,
28 considering Id values as case-sensitive Unicode strings.
29 4. The package implementer shall remove all Relationship elements that do not have eitheran Id value
30 that matches any SourceId valueor a Type value that matches any SourceType value, among the
31 SourceId and SourceType values specified in the transform definition. Producers and consumers shall
32 compare values as case-sensitive Unicode strings. [M6.27] The resulting XML document holds all
33 Relationship elements that either have an Id value that matches a SourceId value or a Type value that
34 matches a SourceType value specified in the transform definition.
35 Step 3: Prepare for canonicalization
Digital Signatures
58
1. The package implementer shall remove all characters between the 1 Relationships start tag and the first
2 Relationship start tag.
3 2. The package implementer shall remove any contents of the Relationship element.
4 3. The package implementer shall remove all characters between the last Relationship end tag and the
5 Relationships end tag.
6 4. If there are no Relationship elements, the package implementer shall remove all characters between
7 the Relationships start tag and the Relationships end tag.
Nhưng tôi là một chút nhầm lẫn trong quá trình này bởi vì trong mỗi thử tôi tái tạo sự biến đổi không chính xác mặc dù được cho là tôi đã tuân thủ tất cả các thông số trong tài liệu,
có thể nếu chỉ có MỘT ví dụ về việc chuyển đổi đó (chỉ đầu vào => đầu ra). Vì vậy, điều duy nhất được yêu cầu ở đây là ví dụ về chức năng xml cụ thể pacakage (hoặc tùy chọn, với câu trả lời và mã mặc dù không bắt buộc vì tôi đã phát triển hầu hết nó.)
Vì vậy, đây là thẻ đang cố gắng tạo kết quả:
<Reference URI="/Documents/1/Pages/_rels/1.fpage.rels?ContentType=application/vnd.openxmlformats-package.relationships+xml"><Transforms><Transform Algorithm="http://schemas.openxmlformats.org/package/2006/RelationshipTransform"><opc:RelationshipReference SourceId="rId1" /></Transform><Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /></Transforms></Reference>
và đây là những mối quan hệ ban đầu file:
<?xml version="1.0" encoding="utf-8"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="/Documents/1/Pages/3.xml" Id="rId3" /><Relationship Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="/Documents/1/Pages/2.xml" Id="rId2" /><Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="/Documents/1/Pages/1.xml" Id="rId1"/></Relationships>
và đây là (không chính xác) chuyển một:
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Target="/Documents/1/Pages/1.xml" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"></Relationship></Relationships>
Đó là một cảnh quay dài nhưng bạn đã hỏi trong diễn đàn "mở thông số kỹ thuật" trên MSDN: https://social.msdn.microsoft.com/Forums/en-US/home?forum=os_binaryfile? Họ có xu hướng tập trung nhiều hơn vào "mô hình đối tượng" nhưng ai đó có thể có một số thông tin chi tiết. Tôi muốn đề cập đến nguồn gốc của "tài liệu" với các thông số kỹ thuật, cũng như phần mềm với các mối quan hệ mà bạn đang cố gắng biến đổi. Tôi không nhận ra đường dẫn "Mục tiêu" ... –
Câu hỏi này đã được hỏi: https://social.msdn.microsoft.com/Forums/en-US/4b0364fe-2250-48b4-a6a1-6fe098f8d247/xades- Nhưng câu trả lời được cung cấp là mơ hồ và không phải là rất hữu ích không may (OP đề cập đến XAdes nhưng thành thật không XAdes cụ thể của nó). – lkn2993