XmpPdfAExtensionSchema.h
1 #pragma once
2 // Copyright (c) 2001-2024 Aspose Pty Ltd. All Rights Reserved.
3 
4 #include <system/string.h>
5 #include <cstdint>
6 
7 #include "Aspose.PDF.Cpp/aspose_pdf_api_defs.h"
8 
9 namespace Aspose
10 {
11 namespace Pdf
12 {
13 namespace Collections
14 {
15 template <typename, typename> class AsposeHashDictionary;
16 } // namespace Collections
17 namespace Engine
18 {
19 namespace Data
20 {
21 namespace XMP
22 {
23 class XmpPacket;
24 } // namespace XMP
25 } // namespace Data
26 namespace IO
27 {
28 namespace ConvertStrategies
29 {
30 class PdfAConvertStrategy;
31 } // namespace ConvertStrategies
32 } // namespace IO
33 } // namespace Engine
34 class XmpPdfAExtensionObject;
35 class XmpPdfAExtensionProperty;
36 class XmpPdfAExtensionSchemaDescription;
37 class XmpPdfAExtensionValueType;
38 } // namespace Pdf
39 } // namespace Aspose
40 namespace System
41 {
42 namespace Collections
43 {
44 namespace Generic
45 {
46 template <typename> class List;
47 } // namespace Generic
48 } // namespace Collections
49 namespace Xml
50 {
51 class XmlDocument;
52 class XmlElement;
53 class XmlNode;
54 } // namespace Xml
55 } // namespace System
56 
57 namespace Aspose {
58 
59 namespace Pdf {
60 
64 class ASPOSE_PDF_SHARED_CLASS XmpPdfAExtensionSchema : public System::Object
65 {
67  typedef System::Object BaseType;
68 
69  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
70  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
71 
72  friend class Aspose::Pdf::Engine::Data::XMP::XmpPacket;
73  friend class Aspose::Pdf::Engine::IO::ConvertStrategies::PdfAConvertStrategy;
74 
75 public:
76 
80  static const ASPOSE_PDF_SHARED_API System::String DefaultExtensionNamespacePrefix;
84  static const ASPOSE_PDF_SHARED_API System::String DefaultExtensionNamespaceUri;
88  static const ASPOSE_PDF_SHARED_API System::String DefaultSchemaNamespacePrefix;
92  static const ASPOSE_PDF_SHARED_API System::String DefaultSchemaNamespaceUri;
96  static const ASPOSE_PDF_SHARED_API System::String DefaultPropertyNamespacePrefix;
100  static const ASPOSE_PDF_SHARED_API System::String DefaultPropertyNamespaceUri;
104  static const ASPOSE_PDF_SHARED_API System::String DefaultValueTypeNamespacePrefix;
108  static const ASPOSE_PDF_SHARED_API System::String DefaultValueNamespaceUri;
112  static const ASPOSE_PDF_SHARED_API System::String DefaultFieldNamespacePrefix;
116  static const ASPOSE_PDF_SHARED_API System::String DefaultFieldNamespaceUri;
120  static const ASPOSE_PDF_SHARED_API System::String RdfPrefix;
124  static const ASPOSE_PDF_SHARED_API System::String RdfNamespaceURI;
125 
129  ASPOSE_PDF_SHARED_API System::SharedPtr<XmpPdfAExtensionSchemaDescription> get_Description() const;
134 
140 
145  ASPOSE_PDF_SHARED_API void Add(System::SharedPtr<XmpPdfAExtensionObject> obj);
151  ASPOSE_PDF_SHARED_API bool Contains(System::SharedPtr<XmpPdfAExtensionObject> obj);
156  ASPOSE_PDF_SHARED_API void Remove(System::SharedPtr<XmpPdfAExtensionObject> obj);
162  ASPOSE_PDF_SHARED_API System::SharedPtr<System::Xml::XmlElement> GetSchemaXml(System::SharedPtr<System::Xml::XmlDocument> xmlDocument);
168  ASPOSE_PDF_SHARED_API void GetValuesXml(System::SharedPtr<System::Xml::XmlDocument> xmlDocument, System::SharedPtr<System::Xml::XmlElement> rootElement);
174  ASPOSE_PDF_SHARED_API System::SharedPtr<XmpPdfAExtensionProperty> GetProperty(System::String name);
175 
176 protected:
177 
183  int32_t GetPropertyIndex(System::String name);
189  static bool IsPdfAExtensionPrefix(System::String localName);
201  static void InitializeSchemaValue(System::SharedPtr<System::Xml::XmlNode> node, System::SharedPtr<XmpPdfAExtensionSchema> schema);
214 
215 private:
216 
225 
245  static bool TryGetType(System::String valueTypeName, System::SharedPtr<XmpPdfAExtensionSchema> schema, System::SharedPtr<XmpPdfAExtensionValueType>& definedType);
253  static void CreateElements(System::SharedPtr<System::Xml::XmlNode> rootNode, System::SharedPtr<XmpPdfAExtensionSchema> schema);
254 
255 };
256 
257 } // namespace Pdf
258 } // namespace Aspose
259 
260 
static const ASPOSE_PDF_SHARED_API System::String DefaultPropertyNamespacePrefix
Default property namespace prefix.
Definition: XmpPdfAExtensionSchema.h:96
String class used across the library. Is a substitute for C# System.String when translating code...
Definition: string.h:121
class ASPOSECPP_SHARED_CLASS List
Definition: ienumerable.h:17
Base class that enables using methods available for System.Object class in C#. All non-trivial classe...
Definition: object.h:64
Definition: Artifact.h:67
static const ASPOSE_PDF_SHARED_API System::String DefaultFieldNamespaceUri
Default extension namespace uri.
Definition: XmpPdfAExtensionSchema.h:116
static const ASPOSE_PDF_SHARED_API System::String DefaultSchemaNamespaceUri
Default schema namespace uri.
Definition: XmpPdfAExtensionSchema.h:92
static const ASPOSE_PDF_SHARED_API System::String DefaultValueNamespaceUri
Default value namespace uri.
Definition: XmpPdfAExtensionSchema.h:108
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: fwd.h:22
means saving in XML format
static const ASPOSE_PDF_SHARED_API System::String DefaultValueTypeNamespacePrefix
Default valie type namespace prefix.
Definition: XmpPdfAExtensionSchema.h:104
Definition: AFRelationship.h:4
static const ASPOSE_PDF_SHARED_API System::String RdfNamespaceURI
Default rdf namespace uri.
Definition: XmpPdfAExtensionSchema.h:124
static const ASPOSE_PDF_SHARED_API System::String DefaultFieldNamespacePrefix
Default field namespace prefix.
Definition: XmpPdfAExtensionSchema.h:112
Describes the XMP extension schema which is provided by PDF/A-1.
Definition: XmpPdfAExtensionSchema.h:64
static const ASPOSE_PDF_SHARED_API System::String DefaultPropertyNamespaceUri
Default property namespace uri.
Definition: XmpPdfAExtensionSchema.h:100
static const ASPOSE_PDF_SHARED_API System::String DefaultSchemaNamespacePrefix
Default schema namespace prefix.
Definition: XmpPdfAExtensionSchema.h:88
static const ASPOSE_PDF_SHARED_API System::String DefaultExtensionNamespaceUri
Default extension namespace uri.
Definition: XmpPdfAExtensionSchema.h:84
static const ASPOSE_PDF_SHARED_API System::String RdfPrefix
Default rdf namespace prefix.
Definition: XmpPdfAExtensionSchema.h:120
static const ASPOSE_PDF_SHARED_API System::String DefaultExtensionNamespacePrefix
Default extension namespace prefix.
Definition: XmpPdfAExtensionSchema.h:80
Whole PDF file will be submitted.