Eh zaten devletler bu konuda bir belge, olduğunu biliyoruz:Docx veya XPS (ya da genel olarak OOXML) İlişki örneği dönüşümü
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.
Ama süreç içinde biraz kafam karıştı her çünkü Yanlışlıkla dönüştürmeyi denediğimi iddia etsem de, sözüm ona, tüm dokümanlara uymakla birlikte,
Belki de böyle bir dönüşümün sadece bir örneği olsaydı (sadece girdi => çıktı) çok daha az karışık olurdum. Yani burada gerekli olan tek şey, bu tür pacakage özel xml işlevinin (veya isteğe bağlı olarak bir cevap ve kodlarla birlikte gerekli olmamasına rağmen çoğunu geliştirdiğim nedenidir) örneğidir.)
İşte çıktıyı oluşturmaya çalışan etiket şu:
<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>
ve burada özgün ilişkiler dosyasıdır:
<?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>
ve burada (yanlış) birinin dönüştürülmüş:
Burada bu soru cevap var
Bu uzun bir atış, ancak MSDN'de "açık özellikler" forumunda zaten sordunuz mu: https://social.msdn.microsoft.com/Forums/en-US/home?forum=os_binaryfile? "Nesne modellerine" daha fazla odaklanmaya eğilimlidirler, ancak birileri biraz içgörüye sahip olabilir. "Belgenin" kaynağını, özelliklerin yanı sıra, dönüştürmeye çalıştığınız ilişkilerin olduğu yazılımdan da söz ediyorum. "Hedef" yollarını tanımıyorum ... –
Bu soru zaten sorulmuştur: https://social.msdn.microsoft.com/Forums/en-US/4b0364fe-2250-48b4-a6a1-6fe098f8d247/xades- imza-in-ofis-belgeler? forum = os_binaryfile Ama sağlanan cevap belirsiz ve ne yazık ki çok yararlı değil (OP XAdes dedi ama dürüst XAdes değil spesifik). – lkn2993