Free cookie consent management tool by TermsFeed Policy Generator

source: branches/OaaS/HeuristicLab.Services.Hive.Scaler/AutoscalingRules.xsd @ 14778

Last change on this file since 14778 was 9508, checked in by fschoepp, 12 years ago

#1888:
HL:

  • Web projects requires different users to interact with hive. The singleton HiveServiceLocator.Instance doesn't allow different users at the same time, resulting in serialization during access of HiveClient methods.

The following changes have been introduced in favor of a parallel use of the HL libs:

  • HiveClient, TaskDownloader and ConcurrentTaskDownloader may now use a different IHiveServiceLocator than HiveServiceLocator.Instance (all methods have appropriate overloads now).
  • The default instance is still HiveServiceLocator.Instance.

Automated Scaling of Instances:

  • Added Scaler project to solution which represents a WorkerRole that scales the slave instances based on the global cpu utilization of all slaves.
  • Scaler is based on WASABi, rules can be adjusted in rulesstore.xml. Basic rule is: if < 45% global cpu utilization => remove an instance; if > 65% cpu => add an instance. Minimum boundary is 1 and maximum boundary is 8 slave instances.
  • Adjusted Slave project to automatically register itself to a SlaveGroup during WebRole startup (can be adjusted in service configuration).

Web-Frontend:

  • Added basic error messages to the dialogs when an ajax call fails.
  • Removed Styling.js from scripts.
File size: 20.2 KB
RevLine 
[9508]1<?xml version="1.0" encoding="utf-8"?>
2<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3           xmlns="http://schemas.microsoft.com/practices/2011/entlib/autoscaling/rules"
4           xmlns:r="http://schemas.microsoft.com/practices/2011/entlib/autoscaling/rules"
5           targetNamespace="http://schemas.microsoft.com/practices/2011/entlib/autoscaling/rules"
6           elementFormDefault="qualified"
7           attributeFormDefault="unqualified">
8
9  <xs:element name="rules" type="RulesType"/>
10
11  <xs:complexType name="RulesType">
12    <xs:sequence>
13      <xs:element name="constraintRules" minOccurs="0" maxOccurs="1">
14        <xs:complexType>
15          <xs:choice minOccurs="1" maxOccurs="unbounded">
16            <xs:element name="rule" type="ConstraintRuleType"/>
17          </xs:choice>
18        </xs:complexType>
19      </xs:element>
20      <xs:element name="reactiveRules" minOccurs="0" maxOccurs="1">
21        <xs:complexType>
22          <xs:choice minOccurs="0" maxOccurs="unbounded">
23            <xs:element name="rule" type="ReactiveRuleType"/>
24          </xs:choice>
25        </xs:complexType>
26      </xs:element>
27      <xs:element name="operands" minOccurs="0" maxOccurs="1">
28        <xs:complexType>
29          <xs:choice minOccurs="0" maxOccurs="unbounded">
30            <xs:group ref="OperandsGroup"/>
31          </xs:choice>
32        </xs:complexType>
33      </xs:element>
34    </xs:sequence>
35    <xs:attribute name="enabled" type="xs:boolean" default="true"/>
36  </xs:complexType>
37
38  <xs:complexType name="ConstraintRuleType">
39    <xs:all>
40      <xs:element name="timetable" type="TimetableType" minOccurs="0" maxOccurs="1"/>
41      <xs:element name="actions" minOccurs="0" maxOccurs="1">
42        <xs:complexType>
43          <xs:choice minOccurs="0" maxOccurs="unbounded">
44            <xs:element name="range" type="ConstraintActionType"/>
45          </xs:choice>
46        </xs:complexType>
47        <xs:unique name="ConstraintActionTargetUnique">
48          <xs:selector xpath="r:range"/>
49          <xs:field xpath="@target"/>
50        </xs:unique>
51      </xs:element>
52    </xs:all>
53    <xs:attributeGroup ref="RuleAttributeGroup"/>
54    <xs:attribute name="rank" type="xs:positiveInteger" use="optional"/>
55  </xs:complexType>
56
57  <xs:complexType name="TimetableType">
58    <xs:choice minOccurs="0" maxOccurs="1">
59      <xs:element name="daily" type="DailyRecurrenceType"/>
60      <xs:element name="weekly" type="WeeklyRecurrenceType"/>
61      <xs:element name="monthly" type="MonthlyRecurrenceType"/>
62      <xs:element name="relativeMonthly" type="RelativeMonthlyRecurrenceType"/>
63      <xs:element name="yearly" type="YearlyRecurrenceType"/>
64      <xs:element name="relativeYearly" type="RelativeYearlyRecurrenceType"/>
65    </xs:choice>
66    <xs:attribute name="startTime" type="xs:time" use="required"/>
67    <xs:attribute name="duration" type="DurationType" use="required"/>
68    <xs:attribute name="startDate" type="xs:date" use="optional"/>
69    <xs:attribute name="endDate" type="xs:date" use="optional"/>
70    <xs:attribute name="utcOffset" type="UtcOffsetType" use="optional"/>
71  </xs:complexType>
72
73  <xs:complexType name="DailyRecurrenceType"/>
74
75  <xs:complexType name="WeeklyRecurrenceType">
76    <xs:attribute name="days" type="DaysOfWeekType" use="required"/>
77  </xs:complexType>
78
79  <xs:complexType name="MonthlyRecurrenceType">
80    <xs:attribute name="dayOfMonth" type="DayOfMonthType" use="required"/>
81  </xs:complexType>
82
83  <xs:complexType name="RelativeMonthlyRecurrenceType">
84    <xs:attribute name="dayOfWeek" type="RelativeDayOfWeekType" use="required"/>
85    <xs:attribute name="position" type="RelativeDayPositionType" use="required"/>
86  </xs:complexType>
87
88  <xs:complexType name="YearlyRecurrenceType">
89    <xs:attribute name="dayOfMonth" type="DayOfMonthType" use="required"/>
90    <xs:attribute name="month" type="MonthType" use="required"/>
91  </xs:complexType>
92
93  <xs:complexType name="RelativeYearlyRecurrenceType">
94    <xs:attribute name="dayOfWeek" type="RelativeDayOfWeekType" use="required"/>
95    <xs:attribute name="position" type="RelativeDayPositionType" use="required"/>
96    <xs:attribute name="month" type="MonthType" use="required"/>
97  </xs:complexType>
98
99  <xs:complexType name="ConstraintActionType">
100    <xs:attribute name="target" type="xs:Name" use="required"/>
101    <xs:attribute name="min" type="xs:positiveInteger" use="required"/>
102    <xs:attribute name="max" type="xs:positiveInteger" use="required"/>
103  </xs:complexType>
104
105  <xs:complexType name="ReactiveRuleType">
106    <xs:all>
107      <xs:element name="when" type="ConditionType" minOccurs="1" maxOccurs="1"/>
108      <xs:element name="actions" minOccurs="0" maxOccurs="1">
109        <xs:complexType>
110          <xs:choice minOccurs="0" maxOccurs="unbounded">
111            <xs:element name="scale" type="ScaleActionType"/>
112            <xs:element name="changeSetting" type="ChangeSettingActionType"/>
113            <xs:any processContents="lax" namespace="##other"/>
114          </xs:choice>
115        </xs:complexType>
116        <xs:unique name="ScaleActionTargetUnique">
117          <xs:selector xpath="r:scale"/>
118          <xs:field xpath="@target"/>
119        </xs:unique>
120      </xs:element>
121    </xs:all>
122    <xs:attributeGroup ref="RuleAttributeGroup"/>
123    <xs:attribute name="rank" type="xs:positiveInteger" use="optional"/>
124  </xs:complexType>
125
126  <xs:complexType name="ConditionType">
127    <xs:group ref="ExpressionGroup" minOccurs="1" maxOccurs="1"/>
128  </xs:complexType>
129
130  <xs:group name="ExpressionGroup">
131    <xs:choice>
132      <xs:element name="all">
133        <xs:complexType>
134          <xs:sequence minOccurs="1" maxOccurs="unbounded">
135            <xs:group ref="ExpressionGroup"/>
136          </xs:sequence>
137        </xs:complexType>
138      </xs:element>
139      <xs:element name="any">
140        <xs:complexType>
141          <xs:sequence minOccurs="1" maxOccurs="unbounded">
142            <xs:group ref="ExpressionGroup"/>
143          </xs:sequence>
144        </xs:complexType>
145      </xs:element>
146      <xs:element name="not">
147        <xs:complexType>
148          <xs:sequence minOccurs="1" maxOccurs="1">
149            <xs:group ref="ExpressionGroup"/>
150          </xs:sequence>
151        </xs:complexType>
152      </xs:element>
153      <xs:element name="greater">
154        <xs:complexType>
155          <xs:attribute name="operand" type="ConditionExpression" use="required"/>
156          <xs:attribute name="than" type="ConditionExpression" use="required"/>
157        </xs:complexType>
158      </xs:element>
159      <xs:element name="greaterOrEqual">
160        <xs:complexType>
161          <xs:attribute name="operand" type="ConditionExpression" use="required"/>
162          <xs:attribute name="than" type="ConditionExpression" use="required"/>
163        </xs:complexType>
164      </xs:element>
165      <xs:element name="less">
166        <xs:complexType>
167          <xs:attribute name="operand" type="ConditionExpression" use="required"/>
168          <xs:attribute name="than" type="ConditionExpression" use="required"/>
169        </xs:complexType>
170      </xs:element>
171      <xs:element name="lessOrEqual">
172        <xs:complexType>
173          <xs:attribute name="operand" type="ConditionExpression" use="required"/>
174          <xs:attribute name="than" type="ConditionExpression" use="required"/>
175        </xs:complexType>
176      </xs:element>
177      <xs:element name="equals">
178        <xs:complexType>
179          <xs:attribute name="operand" type="ConditionExpression" use="required"/>
180          <xs:attribute name="to" type="ConditionExpression" use="required"/>
181        </xs:complexType>
182      </xs:element>
183    </xs:choice>
184  </xs:group>
185
186  <xs:complexType name="ScaleActionType">
187    <xs:attribute name="target" type="xs:Name" use="required"/>
188    <xs:attribute name="by" type="ScaleByType" use="required"/>
189  </xs:complexType>
190
191  <xs:complexType name="ChangeSettingActionType">
192    <xs:attribute name="target" type="xs:Name" use="required"/>
193    <xs:attribute name="settingName" type="NamedElementNameString" use="required"/>
194    <xs:attribute name="value" type="xs:string" use="required"/>
195  </xs:complexType>
196
197  <xs:group name="OperandsGroup">
198    <xs:choice>
199      <xs:element name="performanceCounter">
200        <xs:complexType>
201          <xs:attribute name="performanceCounterName" type="xs:string" use="required"/>
202          <xs:attribute name="source" type="xs:Name" use="required"/>
203          <xs:attributeGroup ref="DataPointsOperandsAttributeGroup"/>
204        </xs:complexType>
205      </xs:element>
206      <xs:element name="queueLength">
207        <xs:complexType>
208          <xs:attribute name="queue" type="xs:Name" use="required"/>
209          <xs:attributeGroup ref="DataPointsOperandsAttributeGroup"/>
210        </xs:complexType>
211      </xs:element>
212      <xs:element name="roleInstanceCount">
213        <xs:complexType>
214          <xs:attribute name="role" type="xs:Name" use="required"/>
215          <xs:attributeGroup ref="DataPointsOperandsAttributeGroup"/>
216        </xs:complexType>
217      </xs:element>
218      <xs:any namespace="##other" processContents="lax"/>
219    </xs:choice>
220  </xs:group>
221
222  <xs:attributeGroup name="DataPointsOperandsAttributeGroup">
223    <xs:attribute name="alias" type="OperandAlias" use="required"/>
224    <xs:attribute name="timespan" type="xs:time" use="required"/>
225    <xs:attribute name="aggregate" type="AggregateType" use="required"/>
226  </xs:attributeGroup>
227
228  <xs:simpleType name="IdentifierType">
229    <xs:restriction base="xs:string"/>
230  </xs:simpleType>
231
232  <xs:simpleType name="DescriptionType">
233    <xs:restriction base="xs:string"/>
234  </xs:simpleType>
235
236  <xs:simpleType name="DurationType">
237    <xs:restriction base="xs:string">
238      <xs:pattern value="([123456789]\d*\.)?([01]\d|2[0123]):([012345]\d):([012345]\d)"/>
239    </xs:restriction>
240  </xs:simpleType>
241
242  <xs:simpleType name="UtcOffsetType">
243    <xs:restriction base="xs:string">
244      <xs:pattern value="[-+]((14:00)|((0\d|1[0123]):([012345]\d)))"/>
245    </xs:restriction>
246  </xs:simpleType>
247
248  <xs:simpleType name="DaysOfWeekType">
249    <xs:restriction base="xs:string">
250      <xs:enumeration value="None"/>
251      <xs:enumeration value="Sunday"/>
252      <xs:enumeration value="Monday"/>
253      <xs:enumeration value="Sunday Monday"/>
254      <xs:enumeration value="Tuesday"/>
255      <xs:enumeration value="Sunday Tuesday"/>
256      <xs:enumeration value="Monday Tuesday"/>
257      <xs:enumeration value="Sunday Monday Tuesday"/>
258      <xs:enumeration value="Wednesday"/>
259      <xs:enumeration value="Sunday Wednesday"/>
260      <xs:enumeration value="Monday Wednesday"/>
261      <xs:enumeration value="Sunday Monday Wednesday"/>
262      <xs:enumeration value="Tuesday Wednesday"/>
263      <xs:enumeration value="Sunday Tuesday Wednesday"/>
264      <xs:enumeration value="Monday Tuesday Wednesday"/>
265      <xs:enumeration value="Sunday Monday Tuesday Wednesday"/>
266      <xs:enumeration value="Thursday"/>
267      <xs:enumeration value="Sunday Thursday"/>
268      <xs:enumeration value="Monday Thursday"/>
269      <xs:enumeration value="Sunday Monday Thursday"/>
270      <xs:enumeration value="Tuesday Thursday"/>
271      <xs:enumeration value="Sunday Tuesday Thursday"/>
272      <xs:enumeration value="Monday Tuesday Thursday"/>
273      <xs:enumeration value="Sunday Monday Tuesday Thursday"/>
274      <xs:enumeration value="Wednesday Thursday"/>
275      <xs:enumeration value="Sunday Wednesday Thursday"/>
276      <xs:enumeration value="Monday Wednesday Thursday"/>
277      <xs:enumeration value="Sunday Monday Wednesday Thursday"/>
278      <xs:enumeration value="Tuesday Wednesday Thursday"/>
279      <xs:enumeration value="Sunday Tuesday Wednesday Thursday"/>
280      <xs:enumeration value="Monday Tuesday Wednesday Thursday"/>
281      <xs:enumeration value="Sunday Monday Tuesday Wednesday Thursday"/>
282      <xs:enumeration value="Friday"/>
283      <xs:enumeration value="Sunday Friday"/>
284      <xs:enumeration value="Monday Friday"/>
285      <xs:enumeration value="Sunday Monday Friday"/>
286      <xs:enumeration value="Tuesday Friday"/>
287      <xs:enumeration value="Sunday Tuesday Friday"/>
288      <xs:enumeration value="Monday Tuesday Friday"/>
289      <xs:enumeration value="Sunday Monday Tuesday Friday"/>
290      <xs:enumeration value="Wednesday Friday"/>
291      <xs:enumeration value="Sunday Wednesday Friday"/>
292      <xs:enumeration value="Monday Wednesday Friday"/>
293      <xs:enumeration value="Sunday Monday Wednesday Friday"/>
294      <xs:enumeration value="Tuesday Wednesday Friday"/>
295      <xs:enumeration value="Sunday Tuesday Wednesday Friday"/>
296      <xs:enumeration value="Monday Tuesday Wednesday Friday"/>
297      <xs:enumeration value="Sunday Monday Tuesday Wednesday Friday"/>
298      <xs:enumeration value="Thursday Friday"/>
299      <xs:enumeration value="Sunday Thursday Friday"/>
300      <xs:enumeration value="Monday Thursday Friday"/>
301      <xs:enumeration value="Sunday Monday Thursday Friday"/>
302      <xs:enumeration value="Tuesday Thursday Friday"/>
303      <xs:enumeration value="Sunday Tuesday Thursday Friday"/>
304      <xs:enumeration value="Monday Tuesday Thursday Friday"/>
305      <xs:enumeration value="Sunday Monday Tuesday Thursday Friday"/>
306      <xs:enumeration value="Wednesday Thursday Friday"/>
307      <xs:enumeration value="Sunday Wednesday Thursday Friday"/>
308      <xs:enumeration value="Monday Wednesday Thursday Friday"/>
309      <xs:enumeration value="Sunday Monday Wednesday Thursday Friday"/>
310      <xs:enumeration value="Tuesday Wednesday Thursday Friday"/>
311      <xs:enumeration value="Sunday Tuesday Wednesday Thursday Friday"/>
312      <xs:enumeration value="Monday Tuesday Wednesday Thursday Friday"/>
313      <xs:enumeration value="Sunday Monday Tuesday Wednesday Thursday Friday"/>
314      <xs:enumeration value="Saturday"/>
315      <xs:enumeration value="Sunday Saturday"/>
316      <xs:enumeration value="Monday Saturday"/>
317      <xs:enumeration value="Sunday Monday Saturday"/>
318      <xs:enumeration value="Tuesday Saturday"/>
319      <xs:enumeration value="Sunday Tuesday Saturday"/>
320      <xs:enumeration value="Monday Tuesday Saturday"/>
321      <xs:enumeration value="Sunday Monday Tuesday Saturday"/>
322      <xs:enumeration value="Wednesday Saturday"/>
323      <xs:enumeration value="Sunday Wednesday Saturday"/>
324      <xs:enumeration value="Monday Wednesday Saturday"/>
325      <xs:enumeration value="Sunday Monday Wednesday Saturday"/>
326      <xs:enumeration value="Tuesday Wednesday Saturday"/>
327      <xs:enumeration value="Sunday Tuesday Wednesday Saturday"/>
328      <xs:enumeration value="Monday Tuesday Wednesday Saturday"/>
329      <xs:enumeration value="Sunday Monday Tuesday Wednesday Saturday"/>
330      <xs:enumeration value="Thursday Saturday"/>
331      <xs:enumeration value="Sunday Thursday Saturday"/>
332      <xs:enumeration value="Monday Thursday Saturday"/>
333      <xs:enumeration value="Sunday Monday Thursday Saturday"/>
334      <xs:enumeration value="Tuesday Thursday Saturday"/>
335      <xs:enumeration value="Sunday Tuesday Thursday Saturday"/>
336      <xs:enumeration value="Monday Tuesday Thursday Saturday"/>
337      <xs:enumeration value="Sunday Monday Tuesday Thursday Saturday"/>
338      <xs:enumeration value="Wednesday Thursday Saturday"/>
339      <xs:enumeration value="Sunday Wednesday Thursday Saturday"/>
340      <xs:enumeration value="Monday Wednesday Thursday Saturday"/>
341      <xs:enumeration value="Sunday Monday Wednesday Thursday Saturday"/>
342      <xs:enumeration value="Tuesday Wednesday Thursday Saturday"/>
343      <xs:enumeration value="Sunday Tuesday Wednesday Thursday Saturday"/>
344      <xs:enumeration value="Monday Tuesday Wednesday Thursday Saturday"/>
345      <xs:enumeration value="Sunday Monday Tuesday Wednesday Thursday Saturday"/>
346      <xs:enumeration value="Friday Saturday"/>
347      <xs:enumeration value="Sunday Friday Saturday"/>
348      <xs:enumeration value="Monday Friday Saturday"/>
349      <xs:enumeration value="Sunday Monday Friday Saturday"/>
350      <xs:enumeration value="Tuesday Friday Saturday"/>
351      <xs:enumeration value="Sunday Tuesday Friday Saturday"/>
352      <xs:enumeration value="Monday Tuesday Friday Saturday"/>
353      <xs:enumeration value="Sunday Monday Tuesday Friday Saturday"/>
354      <xs:enumeration value="Wednesday Friday Saturday"/>
355      <xs:enumeration value="Sunday Wednesday Friday Saturday"/>
356      <xs:enumeration value="Monday Wednesday Friday Saturday"/>
357      <xs:enumeration value="Sunday Monday Wednesday Friday Saturday"/>
358      <xs:enumeration value="Tuesday Wednesday Friday Saturday"/>
359      <xs:enumeration value="Sunday Tuesday Wednesday Friday Saturday"/>
360      <xs:enumeration value="Monday Tuesday Wednesday Friday Saturday"/>
361      <xs:enumeration value="Sunday Monday Tuesday Wednesday Friday Saturday"/>
362      <xs:enumeration value="Thursday Friday Saturday"/>
363      <xs:enumeration value="Sunday Thursday Friday Saturday"/>
364      <xs:enumeration value="Monday Thursday Friday Saturday"/>
365      <xs:enumeration value="Sunday Monday Thursday Friday Saturday"/>
366      <xs:enumeration value="Tuesday Thursday Friday Saturday"/>
367      <xs:enumeration value="Sunday Tuesday Thursday Friday Saturday"/>
368      <xs:enumeration value="Monday Tuesday Thursday Friday Saturday"/>
369      <xs:enumeration value="Sunday Monday Tuesday Thursday Friday Saturday"/>
370      <xs:enumeration value="Wednesday Thursday Friday Saturday"/>
371      <xs:enumeration value="Sunday Wednesday Thursday Friday Saturday"/>
372      <xs:enumeration value="Monday Wednesday Thursday Friday Saturday"/>
373      <xs:enumeration value="Sunday Monday Wednesday Thursday Friday Saturday"/>
374      <xs:enumeration value="Tuesday Wednesday Thursday Friday Saturday"/>
375      <xs:enumeration value="Sunday Tuesday Wednesday Thursday Friday Saturday"/>
376      <xs:enumeration value="Monday Tuesday Wednesday Thursday Friday Saturday"/>
377      <xs:enumeration value="All"/>
378    </xs:restriction>
379  </xs:simpleType>
380
381  <xs:simpleType name="DayOfMonthType">
382    <xs:restriction base="xs:positiveInteger">
383      <xs:maxInclusive value="31"/>
384    </xs:restriction>
385  </xs:simpleType>
386
387  <xs:simpleType name="MonthType">
388    <xs:restriction base="xs:positiveInteger">
389      <xs:maxInclusive value="12"/>
390    </xs:restriction>
391  </xs:simpleType>
392
393  <xs:simpleType name="RelativeDayOfWeekType">
394    <xs:restriction base="xs:string">
395      <xs:enumeration value="Sunday"/>
396      <xs:enumeration value="Monday"/>
397      <xs:enumeration value="Tuesday"/>
398      <xs:enumeration value="Wednesday"/>
399      <xs:enumeration value="Thursday"/>
400      <xs:enumeration value="Friday"/>
401      <xs:enumeration value="Saturday"/>
402      <xs:enumeration value="Day"/>
403    </xs:restriction>
404  </xs:simpleType>
405
406  <xs:simpleType name="RelativeDayPositionType">
407    <xs:restriction base="xs:string">
408      <xs:enumeration value="First"/>
409      <xs:enumeration value="Second"/>
410      <xs:enumeration value="Third"/>
411      <xs:enumeration value="Fourth"/>
412      <xs:enumeration value="Last"/>
413    </xs:restriction>
414  </xs:simpleType>
415
416  <xs:simpleType name="AggregateType">
417    <xs:restriction base="xs:string">
418      <xs:enumeration value="Average"/>
419      <xs:enumeration value="Max"/>
420      <xs:enumeration value="Min"/>
421      <xs:enumeration value="Growth"/>
422      <xs:enumeration value="Last"/>
423    </xs:restriction>
424  </xs:simpleType>
425
426  <xs:attributeGroup name="RuleAttributeGroup">
427    <xs:attribute name="name" type="IdentifierType" use="required"/>
428    <xs:attribute name="description" type="DescriptionType" use="optional"/>
429    <xs:attribute name="enabled" type="xs:boolean" default="true"/>
430  </xs:attributeGroup>
431
432  <xs:simpleType name="ScaleByType">
433    <xs:restriction base="xs:string">
434      <xs:pattern value="^[-+]?[0-9]+%?$" />
435    </xs:restriction>
436  </xs:simpleType>
437
438  <xs:simpleType name="OperandAlias">
439    <xs:restriction base="xs:string">
440      <xs:minLength value="1" />
441      <xs:pattern value="\p{L}[0-9\p{L}_]*" />
442    </xs:restriction>
443  </xs:simpleType>
444
445  <xs:simpleType name="ConditionExpression">
446    <xs:restriction base="xs:string">
447      <xs:minLength value="1" />
448      <xs:pattern value="[0-9\p{L}_ \*\/]+" />
449    </xs:restriction>
450  </xs:simpleType>
451
452  <!-- Copied from the service definition schema -->
453  <xs:simpleType name="NamedElementNameString">
454    <xs:restriction base="xs:string">
455      <xs:pattern value="^[a-zA-Z_][^\\\/\:\*\?\&quot;\&lt;\&gt;\|\`\'\^]*(?&lt;![\.\s])$" />
456    </xs:restriction>
457  </xs:simpleType>
458
459</xs:schema>
Note: See TracBrowser for help on using the repository browser.