summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2016-02-22 11:57:00 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2016-02-22 12:54:40 +0000
commitc2befb46193a4644155a1beee9197906be1af780 (patch)
tree5219b76eab6374d7f924007fd7dc06a7dce4f76e
parentdb8067145f0126402be39042934e11228a1b42e9 (diff)
sfx2 classification: add categories example
This one has 4 choices, it shows how a category can trigger a specific header, footer or watermark. Also validate the XML file against the XSD as part of the build. Change-Id: Id6cf3de63e7fadd16366465c7721d6052c7c60ed Reviewed-on: https://gerrit.libreoffice.org/22615 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
-rw-r--r--sfx2/CustomTarget_classification.mk28
-rw-r--r--sfx2/Module_sfx2.mk1
-rw-r--r--sfx2/classification/example.xml69
3 files changed, 98 insertions, 0 deletions
diff --git a/sfx2/CustomTarget_classification.mk b/sfx2/CustomTarget_classification.mk
new file mode 100644
index 000000000000..4ecc1e750126
--- /dev/null
+++ b/sfx2/CustomTarget_classification.mk
@@ -0,0 +1,28 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_CustomTarget_CustomTarget,sfx2/classification))
+
+sfx2_classification_SRC := $(SRCDIR)/sfx2/classification
+sfx2_classification_WORK := $(call gb_CustomTarget_get_workdir,sfx2/classification)
+sfx2_classification_GEN_example_validated=$(sfx2_classification_WORK)/example.validated
+
+sfx2_classification_XMLLINTCOMMAND := $(call gb_ExternalExecutable_get_command,xmllint)
+
+$(sfx2_classification_GEN_example_validated) : $(sfx2_classification_SRC)/baf.xsd $(sfx2_classification_SRC)/example.xml
+ $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),build,VAL,1)
+ $(call gb_Helper_abbreviate_dirs,\
+ $(sfx2_classification_XMLLINTCOMMAND) --noout --schema $(sfx2_classification_SRC)/baf.xsd $(sfx2_classification_SRC)/example.xml > $@ 2>&1 \
+ || (cat $@; false))
+
+$(call gb_CustomTarget_get_target,sfx2/classification) : $(sfx2_classification_GEN_example_validated)
+
+$(sfx2_classification_GEN_example_validated) :| $(call gb_ExternalExecutable_get_dependencies,xmllint) $(sfx2_classification_WORK)/.dir
+
+# vim: set noet sw=4 ts=4:
diff --git a/sfx2/Module_sfx2.mk b/sfx2/Module_sfx2.mk
index 792668eac125..96adc7a15c38 100644
--- a/sfx2/Module_sfx2.mk
+++ b/sfx2/Module_sfx2.mk
@@ -20,6 +20,7 @@
$(eval $(call gb_Module_Module,sfx2))
$(eval $(call gb_Module_add_targets,sfx2,\
+ CustomTarget_classification \
Library_sfx \
))
diff --git a/sfx2/classification/example.xml b/sfx2/classification/example.xml
new file mode 100644
index 000000000000..a409684c4339
--- /dev/null
+++ b/sfx2/classification/example.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0"?>
+<baf:BusinessAuthorization xmlns:baf="urn:tscp:names:baf:1.1">
+ <baf:AdministrativeData>
+ <baf:ProgramID>urn:example:tscp:1</baf:ProgramID>
+ </baf:AdministrativeData>
+ <baf:Included>
+ <baf:BusinessAuthorizationCategory Identifier="urn:example:tscp:1:non-business" Name="Non-Business">
+ <baf:LabelingRules/>
+ <baf:ImpactLevel>
+ <baf:Scale>UK Cabinet</baf:Scale>
+ <baf:ConfidentalityValue>0</baf:ConfidentalityValue>
+ </baf:ImpactLevel>
+ </baf:BusinessAuthorizationCategory>
+ <baf:BusinessAuthorizationCategory Identifier="urn:example:tscp:1:general-business" Name="General Business">
+ <baf:LabelingRules>
+ <baf:VisualMarkingPart>
+ <baf:Identifier>Document: Header</baf:Identifier>
+ <baf:Value>Classification: General Business</baf:Value>
+ </baf:VisualMarkingPart>
+ </baf:LabelingRules>
+ <baf:ImpactLevel>
+ <baf:Scale>UK Cabinet</baf:Scale>
+ <baf:ConfidentalityValue>1</baf:ConfidentalityValue>
+ </baf:ImpactLevel>
+ </baf:BusinessAuthorizationCategory>
+ <baf:BusinessAuthorizationCategory Identifier="urn:example:tscp:1:confidential" Name="Confidential">
+ <baf:LabelingRules>
+ <baf:VisualMarkingPart>
+ <baf:Identifier>Document: Header</baf:Identifier>
+ <baf:Value>Classification: Confidential</baf:Value>
+ </baf:VisualMarkingPart>
+ <baf:VisualMarkingPart>
+ <baf:Identifier>Document: Footer</baf:Identifier>
+ <baf:Value>This content is marked Confidential. Do not distribute it externally without business approval.</baf:Value>
+ </baf:VisualMarkingPart>
+ <baf:VisualMarkingPart>
+ <baf:Identifier>Document: Watermark</baf:Identifier>
+ <baf:Value>Confidential</baf:Value>
+ </baf:VisualMarkingPart>
+ </baf:LabelingRules>
+ <baf:ImpactLevel>
+ <baf:Scale>UK Cabinet</baf:Scale>
+ <baf:ConfidentalityValue>2</baf:ConfidentalityValue>
+ </baf:ImpactLevel>
+ </baf:BusinessAuthorizationCategory>
+ <baf:BusinessAuthorizationCategory Identifier="urn:example:tscp:1:internal-only" Name="Internal Only">
+ <baf:LabelingRules>
+ <baf:VisualMarkingPart>
+ <baf:Identifier>Document: Header</baf:Identifier>
+ <baf:Value>Classification: Internal Only</baf:Value>
+ </baf:VisualMarkingPart>
+ <baf:VisualMarkingPart>
+ <baf:Identifier>Document: Footer</baf:Identifier>
+ <baf:Value>This content is marked Internal Only. Do not distribute it outside of the business.</baf:Value>
+ </baf:VisualMarkingPart>
+ <baf:VisualMarkingPart>
+ <baf:Identifier>Document: Watermark</baf:Identifier>
+ <baf:Value>Internal Only</baf:Value>
+ </baf:VisualMarkingPart>
+ </baf:LabelingRules>
+ <baf:ImpactLevel>
+ <baf:Scale>UK Cabinet</baf:Scale>
+ <baf:ConfidentalityValue>3</baf:ConfidentalityValue>
+ </baf:ImpactLevel>
+ </baf:BusinessAuthorizationCategory>
+ </baf:Included>
+</baf:BusinessAuthorization>
+<!-- vim:set shiftwidth=4 softtabstop=4 expandtab:
+-->