summaryrefslogtreecommitdiffstats
path: root/sudoers/policy_metadata.rng
blob: 404d64da0a2004a55cb1edcaf93201519206d0e6 (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
58
59
60
61
62
63
64
65
66
<?xml version="1.0" encoding="utf-8"?>
<grammar 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:pa="http://freeipa.org/xml/rng/ns/plugable_architecture/1.0">


<define name="policy_metadata">
<element name="metadata">

  <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 include 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" pa:edit="no">
    <a:doc>should be added automatically, use login information</a:doc>
    <text/>
  </element>

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

  <element name="RNGfile" pa:label="Name of the RELAX NG file">
    <a:doc>should be added automatically from RelaxNG metadata</a:doc>
    <ref name="rng_filename"/>
  </element>

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

  <element name="app" pa:label="Name of the application">
    <a:doc>should be added automatically from RelaxNG metadata</a:doc>
    <ref name="application_name"/>
  </element>

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

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

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

</optional>
</element>
</define>
</grammar>