summaryrefslogtreecommitdiffstats
path: root/sudoers/policy_metadata.rng
blob: 5deb0e8583c284198f0d1420ae93f9e7a09953ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?xml version="1.0" encoding="utf-8"?>
<element name="metadata"
xmlns="http://relaxng.org/ns/structure/1.0"
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
xmlns:a="http://freeipa.org/xml/rng/ns/annotations/1.0"
xmlns:ui="http://freeipa.org/xml/rng/ns/ui/1.0">

  <a:doc>The metadata information should be generic for all policies. The RelaxNG schema can be found in a separate file (this file :) and can be included by the schema file of a specific policy with the externalRef pattern. With this separation the policy and the metadata schema can be modified independently and the metadata schema can be used by the UI to render a separate page for the metadata of a policy.</a:doc>

  <element name="name">
    <text/>
  </element>

  <element name="author" ui:edit="no">
    <a:doc>should be added automatically, use login information</a:doc>
    <text/>
  </element>

  <element name="version" ui:edit="no">
    <a:doc>should be added automatically</a:doc>
    <text/>
  </element>

  <element name="neededAssociation" ui:label="What kind of association is needed">
    <choice>
      <value ui:label="Host only">host</value>
      <value ui:label="User only">user</value>
      <value ui:label="Host and User">hostAndUser</value>
    </choice>
  </element>

  <element name="mergeStrategyXML" ui:label="Howto merge with other policies">
    <choice>
      <value ui:label="Use only this policy">exclusive</value>
      <value ui:label="Merge with other policies">merge</value>
      <value ui:label="Ignore this, if other policies apply">ignore</value>
    </choice>
  </element>

  <element name="mergeStrategyLocal" ui:label="Howto merge with local files">
    <choice>
      <value ui:label="Use only this policy">exclusive</value>
      <value ui:label="Merge with local file">merge</value>
      <value ui:label="Ignore this, if local file exsits">ignore</value>
    </choice>
  </element>

  <element name="XSLTfile" ui:label="Name of the XSLT file">
    <a:doc>should be added automatically from RelaxNG metadata</a:doc>
    <text/>
  </element>

  <element name="description" ui:label="Description, what should the policy do and why, maybe a changelog">
    <text/>
  <element>

</element>