summaryrefslogtreecommitdiffstats
path: root/sfx2
diff options
context:
space:
mode:
Diffstat (limited to 'sfx2')
-rw-r--r--sfx2/classification/baf.xsd2
-rw-r--r--sfx2/classification/baf_loext.xsd5
-rw-r--r--sfx2/classification/example.xml5
-rw-r--r--sfx2/classification/example_sl-SI.xml5
-rw-r--r--sfx2/source/view/classificationhelper.cxx15
5 files changed, 29 insertions, 3 deletions
diff --git a/sfx2/classification/baf.xsd b/sfx2/classification/baf.xsd
index 02796eb29265..a0bae6cc9ff1 100644
--- a/sfx2/classification/baf.xsd
+++ b/sfx2/classification/baf.xsd
@@ -33,6 +33,7 @@
<xs:element ref="BusinessAuthorizationCategory" maxOccurs="unbounded"/>
<xs:element ref="loext:Marking" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="loext:IntellectualPropertyPart" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="loext:IntellectualPropertyPartNumber" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
@@ -42,6 +43,7 @@
<xs:element ref="BusinessAuthorizationCategory" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="loext:Marking" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="loext:IntellectualPropertyPart" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="loext:IntellectualPropertyPartNumber" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
diff --git a/sfx2/classification/baf_loext.xsd b/sfx2/classification/baf_loext.xsd
index 2d4ee5bb21a8..593eb01173d5 100644
--- a/sfx2/classification/baf_loext.xsd
+++ b/sfx2/classification/baf_loext.xsd
@@ -11,4 +11,9 @@
<xs:attribute name="Name" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
+ <xs:element name="IntellectualPropertyPartNumber">
+ <xs:complexType>
+ <xs:attribute name="Name" type="xs:string" use="optional"/>
+ </xs:complexType>
+ </xs:element>
</xs:schema>
diff --git a/sfx2/classification/example.xml b/sfx2/classification/example.xml
index 5df86f9a9005..82098031ff91 100644
--- a/sfx2/classification/example.xml
+++ b/sfx2/classification/example.xml
@@ -79,7 +79,10 @@
</baf:ImpactLevel>
</baf:BusinessAuthorizationCategory>
<loext:Marking Name="Example Marking" />
- <loext:IntellectualPropertyPart Name="Example IP Part" />
+ <loext:IntellectualPropertyPart Name="Example First IP Part" />
+ <loext:IntellectualPropertyPart Name="Example Second IP Part" />
+ <loext:IntellectualPropertyPartNumber Name="1" />
+ <loext:IntellectualPropertyPartNumber Name="2" />
</baf:Included>
</baf:BusinessAuthorization>
<!-- vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/sfx2/classification/example_sl-SI.xml b/sfx2/classification/example_sl-SI.xml
index 89bb5c5f6f8f..727e0a390ef1 100644
--- a/sfx2/classification/example_sl-SI.xml
+++ b/sfx2/classification/example_sl-SI.xml
@@ -66,7 +66,10 @@
</baf:ImpactLevel>
</baf:BusinessAuthorizationCategory>
<loext:Marking Name="Example Marking" />
- <loext:IntellectualPropertyPart Name="Example IP Part" />
+ <loext:IntellectualPropertyPart Name="Example First IP Part" />
+ <loext:IntellectualPropertyPart Name="Example Second IP Part" />
+ <loext:IntellectualPropertyPartNumber Name="1" />
+ <loext:IntellectualPropertyPartNumber Name="2" />
</baf:Included>
</baf:BusinessAuthorization>
<!-- vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/sfx2/source/view/classificationhelper.cxx b/sfx2/source/view/classificationhelper.cxx
index eb9de5f9a3ff..24aaee5da8e5 100644
--- a/sfx2/source/view/classificationhelper.cxx
+++ b/sfx2/source/view/classificationhelper.cxx
@@ -100,6 +100,7 @@ public:
std::vector<SfxClassificationCategory> m_aCategories;
std::vector<OUString> m_aMarkings;
std::vector<OUString> m_aIPParts;
+ std::vector<OUString> m_aIPPartNumbers;
OUString m_aPolicyAuthorityName;
bool m_bInPolicyAuthorityName = false;
@@ -222,6 +223,11 @@ void SAL_CALL SfxClassificationParser::startElement(const OUString& rName, const
OUString aName = xAttribs->getValueByName("Name");
m_aIPParts.push_back(aName);
}
+ else if (rName == "loext:IntellectualPropertyPartNumber")
+ {
+ OUString aName = xAttribs->getValueByName("Name");
+ m_aIPPartNumbers.push_back(aName);
+ }
else if (rName == "baf:Scale")
{
m_aScale.clear();
@@ -333,6 +339,7 @@ public:
std::vector<SfxClassificationCategory> m_aCategories;
std::vector<OUString> m_aMarkings;
std::vector<OUString> m_aIPParts;
+ std::vector<OUString> m_aIPPartNumbers;
uno::Reference<document::XDocumentProperties> m_xDocumentProperties;
@@ -387,6 +394,7 @@ void SfxClassificationHelper::Impl::parsePolicy()
m_aCategories = xClassificationParser->m_aCategories;
m_aMarkings = xClassificationParser->m_aMarkings;
m_aIPParts = xClassificationParser->m_aIPParts;
+ m_aIPPartNumbers = xClassificationParser->m_aIPPartNumbers;
}
bool lcl_containsProperty(const uno::Sequence<beans::Property>& rProperties, const OUString& rName)
@@ -561,7 +569,12 @@ const std::vector<OUString> SfxClassificationHelper::GetMarkings()
const std::vector<OUString> SfxClassificationHelper::GetIntellectualPropertyParts()
{
- return m_pImpl->m_aMarkings;
+ return m_pImpl->m_aIPParts;
+}
+
+const std::vector<OUString> SfxClassificationHelper::GetIntellectualPropertyPartNumbers()
+{
+ return m_pImpl->m_aIPPartNumbers;
}
const OUString& SfxClassificationHelper::GetBACName(SfxClassificationPolicyType eType)