|
OpenXLSX 1.9.1
|
#include <XLRelationships.hpp>
Public Member Functions | |
| XLRelationships ()=default | |
| XLRelationships (gsl::not_null< XLXmlData * > xmlData, std::string pathTo) | |
| ~XLRelationships () | |
| XLRelationships (const XLRelationships &other)=default | |
| XLRelationships (XLRelationships &&other) noexcept=default | |
| XLRelationships & | operator= (const XLRelationships &other)=default |
| XLRelationships & | operator= (XLRelationships &&other) noexcept=default |
| XLRelationshipItem | relationshipById (std::string_view id) const |
| XLRelationshipItem | relationshipByTarget (std::string_view target, bool throwIfNotFound=true) const |
| std::vector< XLRelationshipItem > | relationships () const |
| void | deleteRelationship (std::string_view relID) |
| void | deleteRelationship (const XLRelationshipItem &item) |
| XLRelationshipItem | addRelationship (XLRelationshipType type, std::string_view target, bool isExternal=false) |
| Create and append a new relationship. | |
| bool | targetExists (std::string_view target) const |
| bool | idExists (std::string_view id) const |
| void | print (std::basic_ostream< char > &ostr) const |
| Serialize the underlying XML to a stream. | |
Public Member Functions inherited from OpenXLSX::XLXmlFile | |
| XLXmlFile ()=default | |
| Default constructor. | |
| std::string | xmlData (XLXmlSavingDeclaration savingDeclaration=XLXmlSavingDeclaration{}) const |
| Method for getting the XML data represented by the object. | |
| XLXmlFile (XLXmlData *xmlData) | |
| Constructor. Creates an object based on the xmlData input. | |
| XLXmlFile (const XLXmlFile &other)=default | |
| Copy constructor. Default implementation used. | |
| XLXmlFile (XLXmlFile &&other) noexcept=default | |
| Move constructor. Default implementation used. | |
| ~XLXmlFile ()=default | |
| Destructor. Default implementation used. | |
| bool | valid () const |
| check whether class is linked to a valid XML file | |
| XLXmlFile & | operator= (const XLXmlFile &other)=default |
| The copy assignment operator. The default implementation has been used. | |
| XLXmlFile & | operator= (XLXmlFile &&other) noexcept=default |
| The move assignment operator. The default implementation has been used. | |
| XLDocument & | parentDoc () |
| This function provides access to the parent XLDocument object. | |
| const XLDocument & | parentDoc () const |
| This function provides access to the parent XLDocument object. | |
| XMLDocument & | xmlDocument () |
| This function provides access to the underlying XMLDocument object. | |
| const XMLDocument & | xmlDocument () const |
| This function provides access to the underlying XMLDocument object. | |
| std::string | getXmlPath () const |
| Retrieve the path of the XML data in the .xlsx zip archive via m_xmlData->getXmlPath. | |
Additional Inherited Members | |
Protected Member Functions inherited from OpenXLSX::XLXmlFile | |
| void | setXmlData (std::string_view xmlData) |
| Provide the XML data represented by the object. | |
| std::string | relationshipID () const |
| This function returns the relationship ID (the ID used in the XLRelationships objects) for the object. | |
Protected Attributes inherited from OpenXLSX::XLXmlFile | |
| XLXmlData * | m_xmlData {nullptr} |
|
default |
|
explicit |
| xmlData | Managed XML data source. |
| pathTo | Path to the .rels file, used to resolve relative targets to absolute paths. |
Creates a XLRelationships object. The pathTo will be verified and stored to resolve relationship targets as absolute paths within the XLSX archive.
|
default |
|
default |
|
defaultnoexcept |
| XLRelationshipItem XLRelationships::addRelationship | ( | XLRelationshipType | type, |
| std::string_view | target, | ||
| bool | isExternal = false |
||
| ) |
Create and append a new relationship.
| isExternal | Marking as 'External' prevents path normalization issues for URIs. |
Adds a new relationship. Handles whitespace preservation to maintain consistent XML formatting.
| void XLRelationships::deleteRelationship | ( | const XLRelationshipItem & | item | ) |
| void XLRelationships::deleteRelationship | ( | std::string_view | relID | ) |
| bool XLRelationships::idExists | ( | std::string_view | id | ) | const |
|
default |
|
defaultnoexcept |
| void XLRelationships::print | ( | std::basic_ostream< char > & | ostr | ) | const |
Serialize the underlying XML to a stream.
Print the underlying XML using pugixml::xml_node::print
| XLRelationshipItem XLRelationships::relationshipById | ( | std::string_view | id | ) | const |
| XLRelationshipItem XLRelationships::relationshipByTarget | ( | std::string_view | target, |
| bool | throwIfNotFound = true |
||
| ) | const |
| target | The Target path to look up. |
| throwIfNotFound | If false, returns an empty XLRelationshipItem on failure. |
Returns the XLRelationshipItem with the requested target. Performance: Normalizes paths before comparison to ensure consistency between relative and absolute references.
| std::vector< XLRelationshipItem > XLRelationships::relationships | ( | ) | const |
| bool XLRelationships::targetExists | ( | std::string_view | target | ) | const |