-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsifSpecificationGeneratorConfig.xsd
114 lines (108 loc) · 5.05 KB
/
sifSpecificationGeneratorConfig.xsd
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
<?xml version="1.0" encoding="utf-8"?>
<!-- edited with XMLSpy v2010 rel. 3 sp1 (x64) (http://www.altova.com) by Vince Paredes (SIF Association) -->
<!-- additions made by Stuart McGrigor (SIF New Zealand) - March/April 2018
added globalSettings:
- jsonExamplesXslt - when present, use the XSLT script to generate JSON samples alongside the XML samples in HTML output.
- resolveExtensions - when true include inherited elements and attributes in HTML output and diagrams
for CommonElements that are extensions of other CommonElements.
add xsltTransformations:
- each xsltTransformation causes an XSL-T job to run, transforming SIF_DataModel.input.xml against given
xsltInput script and placing resultant xsltOutputFile in xsltOutputDir xsl:params are:
- sifVersion - the value of schemaVersion from global settings
- sifLocale - the value of Intl from gloabl settings (uppercase)
- yamlToJson if true = means the XSLT job wrote a YAML file, so also produce the JSON equivalent in xsltOutputDir
-->
<xs:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://www.sifassociation.org/sifSpecificationGenerator/1.0" targetNamespace="http://www.sifassociation.org/sifSpecificationGenerator/1.0" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="sifSpecificationGeneratorConfig">
<xs:complexType>
<xs:sequence>
<xs:element name="globalSettings">
<xs:complexType>
<xs:sequence>
<xs:element name="inputDocument" type="xs:normalizedString"/>
<xs:element name="sifNamespace" type="xs:normalizedString"/>
<xs:element name="localizationCode" type="xs:normalizedString"/>
<xs:element name="schemaVersion" type="xs:normalizedString"/>
<xs:element name="jsonExamplesXslt" type="xs:normalizedString"/>
<xs:element name="resolveExtensions" type="xs:boolean"/>
<xs:element name="isDraft" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="htmlDocuments">
<xs:complexType>
<xs:sequence>
<xs:element name="htmlDocument" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="singleDocument" type="xs:boolean"/>
<xs:element name="rootDocumentFileName" type="xs:normalizedString"/>
<xs:element name="rootTitle" type="xs:normalizedString"/>
<xs:element name="documentType">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="DataModel"/>
<xs:enumeration value="Infrastructure"/>
<xs:enumeration value="Combined"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="webServiceDocuments" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="webServiceDocument" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="singleDocument" type="xs:boolean"/>
<xs:element name="rootDocumentFileName" type="xs:normalizedString"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="xsdDocuments">
<xs:complexType>
<xs:sequence>
<xs:element name="xsdDocument" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="xsdTitle" type="xs:normalizedString"/>
<xs:element name="diagram" type="xs:boolean"/>
<xs:element name="isDataModelXsd" type="xs:boolean"/>
<xs:element name="singleSchema" type="xs:boolean"/>
<xs:element name="annotate" type="xs:boolean"/>
<xs:element name="listWithKeyConstraints" type="xs:boolean"/>
<xs:element name="isSifMessage2Xsd" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="xsltTransformations" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="xsltTransformation" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="xsltInputFile" type="xs:normalizedString"/>
<xs:element name="xsltOutputDir" type="xs:normalizedString"/>
<xs:element name="xsltOutputFile" type="xs:normalizedString"/>
<xs:element name="yamlToJson" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>