This file is indexed.

/usr/share/arc/schema/loader.xsd is in libarccommon3 4.0.0-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.nordugrid.org/schemas/loader/2009/08"
    xmlns="http://www.nordugrid.org/schemas/loader/2009/08"
    xmlns:ini="http://www.nordugrid.org/schemas/ini/2009/08"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified">

<!-- ModuleManager -->
<xsd:element name="ModuleManager">
    <xsd:complexType>
        <xsd:annotation>
            <xsd:documentation xml:lang="en">
            This element specifies parameters needed to successfully load plugins. Currently it allows to specify filesystem paths to directories where plugin libraries are located.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Path" minOccurs="0" maxOccurs="unbounded" default="?">
                <xsd:annotation>
                    <xsd:documentation xml:lang="en">
                    Specify filesystem paths to directories where plugin libraries are located.
                    </xsd:documentation>
                    <xsd:appinfo>
                        <ini:tag>modulepath</ini:tag>
                    </xsd:appinfo>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
</xsd:element>

<!-- Plugins -->
<xsd:element name="Plugins">
    <xsd:complexType>
        <xsd:annotation>
            <xsd:documentation xml:lang="en">
             This element defines shared library which contains plugins to be used. It is supposed to be used if name of library is not same as name of plugin and hence can't be located automatically.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Name" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                    <xsd:documentation xml:lang="en">
                    Specify the name of the plugin.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
</xsd:element>

<!-- Chain -->
<xsd:element name="Chain">
    <xsd:complexType>
        <xsd:annotation>
            <xsd:documentation xml:lang="en">
            This element is not required and does not affect chains directly. It's purpose is to group multiple components logically mostly for readability purpose.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="Chain" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="Component" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="Plexer" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="Service" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="SecHandler" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
</xsd:element>

<!-- Component -->
<xsd:element name="next">
    <xsd:complexType>
        <xsd:simpleContent>
            <xsd:extension base="xsd:string">
                <xsd:attribute name="id" type="xsd:string" use="optional"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
</xsd:element>

<xsd:element name="Component">
    <xsd:complexType>
        <xsd:annotation>
            <xsd:documentation xml:lang="en">
            This element defines MCC plugin. Required attribute 'name' specifies name of plugin as defined in MCC description. Required attribute 'id' assigns identifier which is used to refer to this element from others. Sub-elements 'next' refer to next components in a chain through their attribute 'id' and their content represent assigned component-specific label. If attribute 'id' is missing all 'next' refer to next component in document. If 'next' is missing one label-less 'next' is assigned automatically. Presence of attribute 'entry' exposes this MCC through Loader class interface to external code. That is meant to be used in code which cretes chains dynamically like client utilities. Rest elements define component-specific configuration.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="next" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="SecHandler" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="name" type="xsd:string" use="required"/>
        <xsd:attribute name="id" type="xsd:string" use="required"/>
        <xsd:attribute name="entry" type="xsd:string" use="optional"/>
        <xsd:anyAttribute namespace="##other" processContents="lax"/>
    </xsd:complexType>
</xsd:element>

<!-- Plexer -->
<xsd:element name="Plexer">
    <xsd:complexType>
        <xsd:annotation>
            <xsd:documentation xml:lang="en">
             This element is a Plexer. Optional attribute 'id' assigns identifier which is used to refer to this element from others. If not specified it will be assigned to "plexer" automatically. Sub-elements 'next' refer to next components in a chain and their content represent requested endpoints. In Plexer content of element 'next' represents Regular Expression pattern. For every incoming message path part of message's endpoint is matched pattern.In case of ordinary service element 'next' may look like
              <next>^/service$</next>
            If service is also responsible for whole subtree then simple solution is
              <next>^/service</next>
            But more safer solution would be to use 2 elements
              <next>^/service$</next>
              <next>^/service/</next>
            Unmatched part of message endpoint is propagated with incoming message in
            attribute PLEXER:EXTENSION and may be used by service to determine response.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="next" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:string" use="optional"/>
        <xsd:anyAttribute namespace="##other" processContents="lax"/>
    </xsd:complexType>
</xsd:element>

<!-- Service -->
<xsd:element name="Service">
    <xsd:complexType>
        <xsd:annotation>
            <xsd:documentation xml:lang="en">
             This element represents a service - last compnent in a chain. Required attribute 'name' specifies name of plugin as defined in Service description. Required attribute 'id' assigns identifier which is used to refer to this element from others. Rest elements define service-specific configuration.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="SecHandler" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="name" type="xsd:string" use="required"/>
        <xsd:attribute name="id" type="xsd:string" use="required"/>
        <xsd:anyAttribute namespace="##other" processContents="lax"/>
    </xsd:complexType>
</xsd:element>

<!-- SecHandler -->
<xsd:element name="SecHandler">
    <xsd:complexType>
        <xsd:annotation>
            <xsd:documentation xml:lang="en">
             This element specifies security handler plugin to be called at various stages of message processing. Depending on produced result message may be either sent farther through chain or processing would be cancelled. Required attribute 'name' specifies name of plugin. Attibute 'id' creates identifier of SecHandler which may be used to refer to it. If attribute 'refid' is defined then configuration of SecHendler is provided by another element within ArcConfig with corresponding 'id'. Attribute 'event' defines to which queue inside MCC SecHandler to be attached. If it's missing SecHandler is attached to default queue if MCC has such. Names of queues are MCC specific. If not otherwise specified they are 'incoming' and 'outgoing' and are processed for incoming and outgoing messages. There is no default queue by default.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="name" type="xsd:string" use="required"/>
        <xsd:attribute name="id" type="xsd:string" use="optional"/>
        <xsd:attribute name="refid" type="xsd:string" use="optional"/>
        <xsd:attribute name="event" type="xsd:string" use="optional"/>
        <xsd:anyAttribute namespace="##other" processContents="lax"/>
    </xsd:complexType>
</xsd:element>

</xsd:schema>