@abapify/adt-plugin-abapgit 0.0.0 → 0.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +165 -1
- package/package.json +37 -3
- package/xsd/abapgit.xsd +25 -0
- package/xsd/asx.xsd +34 -0
- package/xsd/bdef.xsd +57 -0
- package/xsd/clas.xsd +34 -0
- package/xsd/devc.xsd +34 -0
- package/xsd/doma.xsd +37 -0
- package/xsd/dtel.xsd +34 -0
- package/xsd/fugr.xsd +44 -0
- package/xsd/intf.xsd +34 -0
- package/xsd/prog.xsd +43 -0
- package/xsd/srvb.xsd +68 -0
- package/xsd/srvd.xsd +57 -0
- package/xsd/tabl.xsd +40 -0
- package/xsd/ttyp.xsd +34 -0
- package/xsd/types/dd01v.xsd +23 -0
- package/xsd/types/dd02v.xsd +25 -0
- package/xsd/types/dd03p.xsd +39 -0
- package/xsd/types/dd04v.xsd +30 -0
- package/xsd/types/dd07v.xsd +22 -0
- package/xsd/types/dd09l.xsd +21 -0
- package/xsd/types/dd40v.xsd +24 -0
- package/xsd/types/devc.xsd +12 -0
- package/xsd/types/fugr.xsd +124 -0
- package/xsd/types/progdir.xsd +33 -0
- package/xsd/types/tddat.xsd +21 -0
- package/xsd/types/vseoclass.xsd +28 -0
- package/xsd/types/vseointerf.xsd +17 -0
package/README.md
CHANGED
|
@@ -1,3 +1,167 @@
|
|
|
1
1
|
# @abapify/adt-plugin-abapgit
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://github.com/abapify/adt-cli/pkgs/npm/%40abapify%2Fadt-plugin-abapgit)
|
|
4
|
+
|
|
5
|
+
abapGit format plugin for ADT — serializes ABAP objects to Git-compatible XML/ABAP files.
|
|
6
|
+
|
|
7
|
+
## Architecture Overview
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
┌─────────────────────────────────────────────────────────────────────┐
|
|
11
|
+
│ adt-plugin-abapgit │
|
|
12
|
+
├─────────────────────────────────────────────────────────────────────┤
|
|
13
|
+
│ XSD Schemas (xsd/) → ts-xsd codegen → TypeScript types │
|
|
14
|
+
│ (XML structure definition) (build time) + parser/builder │
|
|
15
|
+
├─────────────────────────────────────────────────────────────────────┤
|
|
16
|
+
│ Object Handlers (handlers/) │
|
|
17
|
+
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
|
|
18
|
+
│ │ CLAS │ │ INTF │ │ DEVC │ │ DTEL │ │ DOMA │ │
|
|
19
|
+
│ │ handler │ │ handler │ │ handler │ │ handler │ │ handler │ │
|
|
20
|
+
│ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │
|
|
21
|
+
│ └──────────┬┴──────────┬┴──────────┬┴──────────┘ │
|
|
22
|
+
│ ▼ ▼ ▼ │
|
|
23
|
+
│ createHandler (factory) │
|
|
24
|
+
│ - Auto-registration │
|
|
25
|
+
│ - Default serialize logic │
|
|
26
|
+
│ - File naming conventions │
|
|
27
|
+
├─────────────────────────────────────────────────────────────────────┤
|
|
28
|
+
│ ADK Facade (@abapify/adk) │
|
|
29
|
+
│ - AdkClass, AdkInterface, AdkPackage... │
|
|
30
|
+
│ - Client-agnostic object model │
|
|
31
|
+
│ - Source code retrieval via getSource()/getIncludeSource() │
|
|
32
|
+
└─────────────────────────────────────────────────────────────────────┘
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Key Design Decisions
|
|
36
|
+
|
|
37
|
+
### 1. XSD Schemas as Single Source of Truth
|
|
38
|
+
|
|
39
|
+
**Why XSD?**
|
|
40
|
+
|
|
41
|
+
- XML Schema Definition (XSD) is the **industry standard** for XML structure validation
|
|
42
|
+
- Can be used **outside our tools** (e.g., `xmllint --schema intf.xsd file.xml`)
|
|
43
|
+
- Provides **formal contract** for abapGit XML format
|
|
44
|
+
- Enables **automated validation** in CI/CD pipelines
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# Validate any abapGit XML file against our schema
|
|
48
|
+
xmllint --schema xsd/intf.xsd myinterface.intf.xml --noout
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 2. ts-xsd for Type-Safe XML Handling
|
|
52
|
+
|
|
53
|
+
**Why ts-xsd?**
|
|
54
|
+
|
|
55
|
+
Unlike typical XML codegen tools that only generate types, `ts-xsd` provides:
|
|
56
|
+
|
|
57
|
+
- **TypeScript types** with full type inference
|
|
58
|
+
- **XML parser** that returns typed objects
|
|
59
|
+
- **XML builder** that accepts typed objects
|
|
60
|
+
- **Schema object** for runtime validation
|
|
61
|
+
|
|
62
|
+
```typescript
|
|
63
|
+
// Generated from XSD - fully typed parse/build
|
|
64
|
+
import { intf } from './schemas/generated';
|
|
65
|
+
|
|
66
|
+
const data = intf.parse(xmlString); // → AbapGitIntf (typed)
|
|
67
|
+
const xml = intf.build(data); // → string (valid XML)
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### 3. ADK as Client-Agnostic Facade
|
|
71
|
+
|
|
72
|
+
**Why not implement ADT client features in the plugin?**
|
|
73
|
+
|
|
74
|
+
The plugin **only consumes** the ADK facade:
|
|
75
|
+
|
|
76
|
+
- ADK handles all SAP communication details
|
|
77
|
+
- Plugin focuses purely on **serialization format**
|
|
78
|
+
- Same plugin works with any ADT client implementation
|
|
79
|
+
- Clear separation of concerns
|
|
80
|
+
|
|
81
|
+
```typescript
|
|
82
|
+
// Plugin receives ADK objects, doesn't care how they were fetched
|
|
83
|
+
getSources: (cls) =>
|
|
84
|
+
cls.includes.map((inc) => ({
|
|
85
|
+
suffix: ABAPGIT_SUFFIX[inc.includeType],
|
|
86
|
+
content: cls.getIncludeSource(inc.includeType), // ADK handles this
|
|
87
|
+
}));
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### 4. Handlers Don't Touch File System
|
|
91
|
+
|
|
92
|
+
**Why delegate file operations to base class?**
|
|
93
|
+
|
|
94
|
+
Object handlers **only define mappings**:
|
|
95
|
+
|
|
96
|
+
- `toAbapGit()` - ADK data → abapGit XML structure
|
|
97
|
+
- `getSource()` / `getSources()` - which source files to create
|
|
98
|
+
|
|
99
|
+
The `createHandler` factory handles:
|
|
100
|
+
|
|
101
|
+
- File creation with correct naming
|
|
102
|
+
- XML building with proper envelope
|
|
103
|
+
- Promise resolution for async sources
|
|
104
|
+
- Empty content filtering
|
|
105
|
+
|
|
106
|
+
## Supported Object Types
|
|
107
|
+
|
|
108
|
+
| Type | Status | Handler | Notes |
|
|
109
|
+
| ---- | ------ | --------- | --------------------------------------------------------------------- |
|
|
110
|
+
| CLAS | ✅ | `clas.ts` | Multiple includes (main, locals_def, locals_imp, testclasses, macros) |
|
|
111
|
+
| INTF | ✅ | `intf.ts` | Single source file |
|
|
112
|
+
| DEVC | ✅ | `devc.ts` | Fixed filename `package.devc.xml` |
|
|
113
|
+
| DTEL | ✅ | `dtel.ts` | Metadata only (no source) |
|
|
114
|
+
| DOMA | ✅ | `doma.ts` | Custom serialize for fixed values |
|
|
115
|
+
|
|
116
|
+
## File Structure
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
src/
|
|
120
|
+
├── zcl_example.clas.abap # Main class source
|
|
121
|
+
├── zcl_example.clas.locals_def.abap # Local type definitions
|
|
122
|
+
├── zcl_example.clas.locals_imp.abap # Local implementations
|
|
123
|
+
├── zcl_example.clas.testclasses.abap # Test classes
|
|
124
|
+
├── zcl_example.clas.xml # Class metadata
|
|
125
|
+
├── zif_example.intf.abap # Interface source
|
|
126
|
+
├── zif_example.intf.xml # Interface metadata
|
|
127
|
+
├── ztest_dtel.dtel.xml # Data element (no source)
|
|
128
|
+
├── ztest_doma.doma.xml # Domain (no source)
|
|
129
|
+
└── package.devc.xml # Package definition
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Development
|
|
133
|
+
|
|
134
|
+
### Building
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
npx nx build adt-plugin-abapgit
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Testing
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
npx nx test adt-plugin-abapgit
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Regenerating Schemas
|
|
147
|
+
|
|
148
|
+
After modifying XSD files:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
npx nx codegen adt-plugin-abapgit
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## Contributing
|
|
155
|
+
|
|
156
|
+
See [CONTRIBUTING.md](./CONTRIBUTING.md) for detailed guidelines on:
|
|
157
|
+
|
|
158
|
+
- Adding new object type support
|
|
159
|
+
- XSD schema conventions
|
|
160
|
+
- Handler implementation patterns
|
|
161
|
+
- Testing requirements
|
|
162
|
+
|
|
163
|
+
## See Also
|
|
164
|
+
|
|
165
|
+
- [abapGit Documentation](https://docs.abapgit.org/)
|
|
166
|
+
- [@abapify/adt-plugin](../adt-plugin/README.md) - Plugin interface
|
|
167
|
+
- [@abapify/adk](../adk/README.md) - ABAP Development Kit
|
package/package.json
CHANGED
|
@@ -1,5 +1,39 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abapify/adt-plugin-abapgit",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
|
|
3
|
+
"version": "0.3.6",
|
|
4
|
+
"license": "MIT",
|
|
5
|
+
"publishConfig": {
|
|
6
|
+
"access": "public"
|
|
7
|
+
},
|
|
8
|
+
"type": "module",
|
|
9
|
+
"types": "./dist/index.d.mts",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": "./dist/index.mjs",
|
|
12
|
+
"./package.json": "./package.json"
|
|
13
|
+
},
|
|
14
|
+
"nx": {
|
|
15
|
+
"name": "adt-plugin-abapgit"
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist",
|
|
19
|
+
"xsd"
|
|
20
|
+
],
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"@abapify/acds": "0.3.6",
|
|
23
|
+
"@abapify/adk": "0.3.6",
|
|
24
|
+
"@abapify/adt-atc": "0.3.6",
|
|
25
|
+
"@abapify/adt-plugin": "0.3.6",
|
|
26
|
+
"@abapify/adt-schemas": "0.3.6",
|
|
27
|
+
"@abapify/ts-xsd": "0.3.6"
|
|
28
|
+
},
|
|
29
|
+
"repository": {
|
|
30
|
+
"type": "git",
|
|
31
|
+
"url": "git+https://github.com/abapify/adt-cli.git",
|
|
32
|
+
"directory": "packages/adt-plugin-abapgit"
|
|
33
|
+
},
|
|
34
|
+
"homepage": "https://github.com/abapify/adt-cli/tree/main/packages/adt-plugin-abapgit#readme",
|
|
35
|
+
"bugs": {
|
|
36
|
+
"url": "https://github.com/abapify/adt-cli/issues"
|
|
37
|
+
},
|
|
38
|
+
"description": "abapGit serialization plugin for adt-cli — round-trips ADT objects to/from the abapGit on-disk format"
|
|
39
|
+
}
|
package/xsd/abapgit.xsd
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!--
|
|
3
|
+
abapGit Root Schema
|
|
4
|
+
|
|
5
|
+
Defines the abapGit root element that wraps asx:abap.
|
|
6
|
+
-->
|
|
7
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
8
|
+
xmlns:asx="http://www.sap.com/abapxml"
|
|
9
|
+
elementFormDefault="qualified">
|
|
10
|
+
|
|
11
|
+
<xs:import namespace="http://www.sap.com/abapxml" schemaLocation="asx.xsd"/>
|
|
12
|
+
|
|
13
|
+
<!-- Root element -->
|
|
14
|
+
<xs:element name="abapGit">
|
|
15
|
+
<xs:complexType>
|
|
16
|
+
<xs:sequence>
|
|
17
|
+
<xs:element ref="asx:abap"/>
|
|
18
|
+
</xs:sequence>
|
|
19
|
+
<xs:attribute name="version" type="xs:string" use="required"/>
|
|
20
|
+
<xs:attribute name="serializer" type="xs:string" use="required"/>
|
|
21
|
+
<xs:attribute name="serializer_version" type="xs:string" use="required"/>
|
|
22
|
+
</xs:complexType>
|
|
23
|
+
</xs:element>
|
|
24
|
+
|
|
25
|
+
</xs:schema>
|
package/xsd/asx.xsd
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!--
|
|
3
|
+
SAP ABAP XML (asx) Schema
|
|
4
|
+
|
|
5
|
+
Defines the asx:abap envelope used in abapGit XML files.
|
|
6
|
+
Object schemas substitute the abstract Payload element.
|
|
7
|
+
-->
|
|
8
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
9
|
+
targetNamespace="http://www.sap.com/abapxml"
|
|
10
|
+
xmlns:asx="http://www.sap.com/abapxml"
|
|
11
|
+
elementFormDefault="qualified">
|
|
12
|
+
|
|
13
|
+
<!-- Abstract element - object schemas substitute this -->
|
|
14
|
+
<xs:element name="Schema" abstract="true"/>
|
|
15
|
+
|
|
16
|
+
<xs:complexType name="AbapValuesType">
|
|
17
|
+
<xs:sequence>
|
|
18
|
+
<xs:element ref="asx:Schema" minOccurs="0" maxOccurs="unbounded"/>
|
|
19
|
+
</xs:sequence>
|
|
20
|
+
</xs:complexType>
|
|
21
|
+
|
|
22
|
+
<!-- Global element definition for values -->
|
|
23
|
+
<xs:element name="values" type="asx:AbapValuesType"/>
|
|
24
|
+
|
|
25
|
+
<xs:complexType name="AbapType">
|
|
26
|
+
<xs:sequence>
|
|
27
|
+
<xs:element ref="asx:values"/>
|
|
28
|
+
</xs:sequence>
|
|
29
|
+
<xs:attribute name="version" type="xs:string" default="1.0"/>
|
|
30
|
+
</xs:complexType>
|
|
31
|
+
|
|
32
|
+
<xs:element name="abap" type="asx:AbapType"/>
|
|
33
|
+
|
|
34
|
+
</xs:schema>
|
package/xsd/bdef.xsd
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!--
|
|
3
|
+
abapGit BDEF (RAP Behavior Definition) Schema
|
|
4
|
+
|
|
5
|
+
Defines SKEY (minimal source descriptor) structure for *.bdef.xml files.
|
|
6
|
+
The actual behavior source lives alongside in `<name>.bdef.abdl`.
|
|
7
|
+
|
|
8
|
+
The abapGit zcl_abapgit_object_bdef serializer writes only a lightweight
|
|
9
|
+
SKEY metadata block because all semantic content is in the .abdl source.
|
|
10
|
+
We mirror that shape here.
|
|
11
|
+
-->
|
|
12
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
13
|
+
xmlns:asx="http://www.sap.com/abapxml"
|
|
14
|
+
elementFormDefault="unqualified">
|
|
15
|
+
|
|
16
|
+
<!-- Import ASX namespace -->
|
|
17
|
+
<xs:import namespace="http://www.sap.com/abapxml" schemaLocation="asx.xsd"/>
|
|
18
|
+
|
|
19
|
+
<!-- Include base abapGit types -->
|
|
20
|
+
<xs:include schemaLocation="abapgit.xsd"/>
|
|
21
|
+
|
|
22
|
+
<!-- SKEY — RAP behavior source key (minimal metadata for abapGit) -->
|
|
23
|
+
<xs:complexType name="SkeyType">
|
|
24
|
+
<xs:all>
|
|
25
|
+
<xs:element name="TYPE" type="xs:string" minOccurs="0"/>
|
|
26
|
+
<xs:element name="NAME" type="xs:string" minOccurs="0"/>
|
|
27
|
+
</xs:all>
|
|
28
|
+
</xs:complexType>
|
|
29
|
+
|
|
30
|
+
<!-- BDEF-specific values type -->
|
|
31
|
+
<xs:complexType name="BdefValuesType">
|
|
32
|
+
<xs:all>
|
|
33
|
+
<xs:element name="SKEY" type="SkeyType" minOccurs="0"/>
|
|
34
|
+
</xs:all>
|
|
35
|
+
</xs:complexType>
|
|
36
|
+
|
|
37
|
+
<!-- BDEF-specific ABAP envelope -->
|
|
38
|
+
<xs:complexType name="BdefAbapType">
|
|
39
|
+
<xs:sequence>
|
|
40
|
+
<xs:element name="values" type="BdefValuesType"/>
|
|
41
|
+
</xs:sequence>
|
|
42
|
+
<xs:attribute name="version" type="xs:string" default="1.0"/>
|
|
43
|
+
</xs:complexType>
|
|
44
|
+
|
|
45
|
+
<!-- THE ONLY ROOT ELEMENT -->
|
|
46
|
+
<xs:element name="abapGit">
|
|
47
|
+
<xs:complexType>
|
|
48
|
+
<xs:sequence>
|
|
49
|
+
<xs:element name="abap" type="BdefAbapType"/>
|
|
50
|
+
</xs:sequence>
|
|
51
|
+
<xs:attribute name="version" type="xs:string" use="required"/>
|
|
52
|
+
<xs:attribute name="serializer" type="xs:string" use="required"/>
|
|
53
|
+
<xs:attribute name="serializer_version" type="xs:string" use="required"/>
|
|
54
|
+
</xs:complexType>
|
|
55
|
+
</xs:element>
|
|
56
|
+
|
|
57
|
+
</xs:schema>
|
package/xsd/clas.xsd
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!--
|
|
3
|
+
abapGit CLAS (Class) Schema
|
|
4
|
+
|
|
5
|
+
Defines VSEOCLASS structure for *.clas.xml files.
|
|
6
|
+
|
|
7
|
+
Uses xs:redefine to extend AbapValuesType with CLAS-specific elements.
|
|
8
|
+
This ensures VSEOCLASS can only appear inside asx:values, not as root.
|
|
9
|
+
-->
|
|
10
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
11
|
+
targetNamespace="http://www.sap.com/abapxml"
|
|
12
|
+
xmlns:asx="http://www.sap.com/abapxml"
|
|
13
|
+
elementFormDefault="unqualified">
|
|
14
|
+
|
|
15
|
+
<!-- Include types (brought into asx namespace) -->
|
|
16
|
+
<xs:include schemaLocation="types/vseoclass.xsd"/>
|
|
17
|
+
|
|
18
|
+
<!-- Redefine AbapValuesType to include CLAS-specific elements -->
|
|
19
|
+
<xs:redefine schemaLocation="asx.xsd">
|
|
20
|
+
<xs:complexType name="AbapValuesType">
|
|
21
|
+
<xs:complexContent>
|
|
22
|
+
<xs:extension base="asx:AbapValuesType">
|
|
23
|
+
<xs:sequence>
|
|
24
|
+
<xs:element name="VSEOCLASS" type="asx:VseoClassType" minOccurs="0"/>
|
|
25
|
+
</xs:sequence>
|
|
26
|
+
</xs:extension>
|
|
27
|
+
</xs:complexContent>
|
|
28
|
+
</xs:complexType>
|
|
29
|
+
</xs:redefine>
|
|
30
|
+
|
|
31
|
+
<!-- Import abapGit root element -->
|
|
32
|
+
<xs:import schemaLocation="abapgit.xsd"/>
|
|
33
|
+
|
|
34
|
+
</xs:schema>
|
package/xsd/devc.xsd
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!--
|
|
3
|
+
abapGit DEVC (Package) Schema
|
|
4
|
+
|
|
5
|
+
Defines the DEVC structure used in package.devc.xml files.
|
|
6
|
+
|
|
7
|
+
Uses xs:redefine to extend AbapValuesType with DEVC-specific elements.
|
|
8
|
+
This ensures DEVC can only appear inside asx:values, not as root.
|
|
9
|
+
-->
|
|
10
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
11
|
+
targetNamespace="http://www.sap.com/abapxml"
|
|
12
|
+
xmlns:asx="http://www.sap.com/abapxml"
|
|
13
|
+
elementFormDefault="unqualified">
|
|
14
|
+
|
|
15
|
+
<!-- Include types (brought into asx namespace) -->
|
|
16
|
+
<xs:include schemaLocation="types/devc.xsd"/>
|
|
17
|
+
|
|
18
|
+
<!-- Redefine AbapValuesType to include DEVC-specific elements -->
|
|
19
|
+
<xs:redefine schemaLocation="asx.xsd">
|
|
20
|
+
<xs:complexType name="AbapValuesType">
|
|
21
|
+
<xs:complexContent>
|
|
22
|
+
<xs:extension base="asx:AbapValuesType">
|
|
23
|
+
<xs:sequence>
|
|
24
|
+
<xs:element name="DEVC" type="asx:DevcType" minOccurs="0"/>
|
|
25
|
+
</xs:sequence>
|
|
26
|
+
</xs:extension>
|
|
27
|
+
</xs:complexContent>
|
|
28
|
+
</xs:complexType>
|
|
29
|
+
</xs:redefine>
|
|
30
|
+
|
|
31
|
+
<!-- Import abapGit root element -->
|
|
32
|
+
<xs:import schemaLocation="abapgit.xsd"/>
|
|
33
|
+
|
|
34
|
+
</xs:schema>
|
package/xsd/doma.xsd
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!--
|
|
3
|
+
abapGit DOMA (Domain) Schema
|
|
4
|
+
|
|
5
|
+
Defines the DD01V and DD07V_TAB structures used in *.doma.xml files.
|
|
6
|
+
Based on SAP DDIC tables DD01V (domain header) and DD07V (fixed values).
|
|
7
|
+
|
|
8
|
+
Uses xs:redefine to extend AbapValuesType with DOMA-specific elements.
|
|
9
|
+
This ensures DD01V/DD07V_TAB can only appear inside asx:values, not as root.
|
|
10
|
+
-->
|
|
11
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
12
|
+
targetNamespace="http://www.sap.com/abapxml"
|
|
13
|
+
xmlns:asx="http://www.sap.com/abapxml"
|
|
14
|
+
elementFormDefault="unqualified">
|
|
15
|
+
|
|
16
|
+
<!-- Include types (brought into asx namespace) -->
|
|
17
|
+
<xs:include schemaLocation="types/dd01v.xsd"/>
|
|
18
|
+
<xs:include schemaLocation="types/dd07v.xsd"/>
|
|
19
|
+
|
|
20
|
+
<!-- Redefine AbapValuesType to include DOMA-specific elements -->
|
|
21
|
+
<xs:redefine schemaLocation="asx.xsd">
|
|
22
|
+
<xs:complexType name="AbapValuesType">
|
|
23
|
+
<xs:complexContent>
|
|
24
|
+
<xs:extension base="asx:AbapValuesType">
|
|
25
|
+
<xs:sequence>
|
|
26
|
+
<xs:element name="DD01V" type="asx:Dd01vType" minOccurs="0"/>
|
|
27
|
+
<xs:element name="DD07V_TAB" type="asx:Dd07vTabType" minOccurs="0"/>
|
|
28
|
+
</xs:sequence>
|
|
29
|
+
</xs:extension>
|
|
30
|
+
</xs:complexContent>
|
|
31
|
+
</xs:complexType>
|
|
32
|
+
</xs:redefine>
|
|
33
|
+
|
|
34
|
+
<!-- Import abapGit root element -->
|
|
35
|
+
<xs:import schemaLocation="abapgit.xsd"/>
|
|
36
|
+
|
|
37
|
+
</xs:schema>
|
package/xsd/dtel.xsd
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!--
|
|
3
|
+
abapGit DTEL (Data Element) Schema
|
|
4
|
+
|
|
5
|
+
Defines DD04V structure for *.dtel.xml files.
|
|
6
|
+
|
|
7
|
+
Uses xs:redefine to extend AbapValuesType with DTEL-specific elements.
|
|
8
|
+
This ensures DD04V can only appear inside asx:values, not as root.
|
|
9
|
+
-->
|
|
10
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
11
|
+
targetNamespace="http://www.sap.com/abapxml"
|
|
12
|
+
xmlns:asx="http://www.sap.com/abapxml"
|
|
13
|
+
elementFormDefault="unqualified">
|
|
14
|
+
|
|
15
|
+
<!-- Include types (brought into asx namespace) -->
|
|
16
|
+
<xs:include schemaLocation="types/dd04v.xsd"/>
|
|
17
|
+
|
|
18
|
+
<!-- Redefine AbapValuesType to include DTEL-specific elements -->
|
|
19
|
+
<xs:redefine schemaLocation="asx.xsd">
|
|
20
|
+
<xs:complexType name="AbapValuesType">
|
|
21
|
+
<xs:complexContent>
|
|
22
|
+
<xs:extension base="asx:AbapValuesType">
|
|
23
|
+
<xs:sequence>
|
|
24
|
+
<xs:element name="DD04V" type="asx:Dd04vType" minOccurs="0"/>
|
|
25
|
+
</xs:sequence>
|
|
26
|
+
</xs:extension>
|
|
27
|
+
</xs:complexContent>
|
|
28
|
+
</xs:complexType>
|
|
29
|
+
</xs:redefine>
|
|
30
|
+
|
|
31
|
+
<!-- Import abapGit root element -->
|
|
32
|
+
<xs:import schemaLocation="abapgit.xsd"/>
|
|
33
|
+
|
|
34
|
+
</xs:schema>
|
package/xsd/fugr.xsd
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
3
|
+
xmlns:asx="http://www.sap.com/abapxml"
|
|
4
|
+
elementFormDefault="unqualified">
|
|
5
|
+
|
|
6
|
+
<!-- Import ASX namespace -->
|
|
7
|
+
<xs:import namespace="http://www.sap.com/abapxml" schemaLocation="asx.xsd"/>
|
|
8
|
+
|
|
9
|
+
<!-- Include base abapGit types -->
|
|
10
|
+
<xs:include schemaLocation="abapgit.xsd"/>
|
|
11
|
+
|
|
12
|
+
<!-- Include FUGR types -->
|
|
13
|
+
<xs:include schemaLocation="types/fugr.xsd"/>
|
|
14
|
+
|
|
15
|
+
<!-- Function group-specific values type -->
|
|
16
|
+
<xs:complexType name="FugrValuesType">
|
|
17
|
+
<xs:all>
|
|
18
|
+
<xs:element name="AREAT" type="xs:string" minOccurs="0"/>
|
|
19
|
+
<xs:element name="INCLUDES" type="FugrIncludesType" minOccurs="0"/>
|
|
20
|
+
<xs:element name="FUNCTIONS" type="FugrFunctionsType" minOccurs="0"/>
|
|
21
|
+
</xs:all>
|
|
22
|
+
</xs:complexType>
|
|
23
|
+
|
|
24
|
+
<!-- Function group-specific ABAP envelope -->
|
|
25
|
+
<xs:complexType name="FugrAbapType">
|
|
26
|
+
<xs:sequence>
|
|
27
|
+
<xs:element name="values" type="FugrValuesType"/>
|
|
28
|
+
</xs:sequence>
|
|
29
|
+
<xs:attribute name="version" type="xs:string" default="1.0"/>
|
|
30
|
+
</xs:complexType>
|
|
31
|
+
|
|
32
|
+
<!-- THE ONLY ROOT ELEMENT -->
|
|
33
|
+
<xs:element name="abapGit">
|
|
34
|
+
<xs:complexType>
|
|
35
|
+
<xs:sequence>
|
|
36
|
+
<xs:element name="abap" type="FugrAbapType"/>
|
|
37
|
+
</xs:sequence>
|
|
38
|
+
<xs:attribute name="version" type="xs:string" use="required"/>
|
|
39
|
+
<xs:attribute name="serializer" type="xs:string" use="required"/>
|
|
40
|
+
<xs:attribute name="serializer_version" type="xs:string" use="required"/>
|
|
41
|
+
</xs:complexType>
|
|
42
|
+
</xs:element>
|
|
43
|
+
|
|
44
|
+
</xs:schema>
|
package/xsd/intf.xsd
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!--
|
|
3
|
+
abapGit INTF (Interface) Schema
|
|
4
|
+
|
|
5
|
+
Defines VSEOINTERF structure for *.intf.xml files.
|
|
6
|
+
|
|
7
|
+
Uses xs:redefine to extend AbapValuesType with INTF-specific elements.
|
|
8
|
+
This ensures VSEOINTERF can only appear inside asx:values, not as root.
|
|
9
|
+
-->
|
|
10
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
11
|
+
targetNamespace="http://www.sap.com/abapxml"
|
|
12
|
+
xmlns:asx="http://www.sap.com/abapxml"
|
|
13
|
+
elementFormDefault="unqualified">
|
|
14
|
+
|
|
15
|
+
<!-- Include types (brought into asx namespace) -->
|
|
16
|
+
<xs:include schemaLocation="types/vseointerf.xsd"/>
|
|
17
|
+
|
|
18
|
+
<!-- Redefine AbapValuesType to include INTF-specific elements -->
|
|
19
|
+
<xs:redefine schemaLocation="asx.xsd">
|
|
20
|
+
<xs:complexType name="AbapValuesType">
|
|
21
|
+
<xs:complexContent>
|
|
22
|
+
<xs:extension base="asx:AbapValuesType">
|
|
23
|
+
<xs:sequence>
|
|
24
|
+
<xs:element name="VSEOINTERF" type="asx:VseoInterfType" minOccurs="0"/>
|
|
25
|
+
</xs:sequence>
|
|
26
|
+
</xs:extension>
|
|
27
|
+
</xs:complexContent>
|
|
28
|
+
</xs:complexType>
|
|
29
|
+
</xs:redefine>
|
|
30
|
+
|
|
31
|
+
<!-- Import abapGit root element -->
|
|
32
|
+
<xs:import schemaLocation="abapgit.xsd"/>
|
|
33
|
+
|
|
34
|
+
</xs:schema>
|
package/xsd/prog.xsd
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
3
|
+
xmlns:asx="http://www.sap.com/abapxml"
|
|
4
|
+
elementFormDefault="unqualified">
|
|
5
|
+
|
|
6
|
+
<!-- Import ASX namespace -->
|
|
7
|
+
<xs:import namespace="http://www.sap.com/abapxml" schemaLocation="asx.xsd"/>
|
|
8
|
+
|
|
9
|
+
<!-- Include base abapGit types -->
|
|
10
|
+
<xs:include schemaLocation="abapgit.xsd"/>
|
|
11
|
+
|
|
12
|
+
<!-- Include PROGDIR and TPOOL types -->
|
|
13
|
+
<xs:include schemaLocation="types/progdir.xsd"/>
|
|
14
|
+
|
|
15
|
+
<!-- Program-specific values type -->
|
|
16
|
+
<xs:complexType name="ProgValuesType">
|
|
17
|
+
<xs:all>
|
|
18
|
+
<xs:element name="PROGDIR" type="ProgdirType" minOccurs="0"/>
|
|
19
|
+
<xs:element name="TPOOL" type="TpoolType" minOccurs="0"/>
|
|
20
|
+
</xs:all>
|
|
21
|
+
</xs:complexType>
|
|
22
|
+
|
|
23
|
+
<!-- Program-specific ABAP envelope -->
|
|
24
|
+
<xs:complexType name="ProgAbapType">
|
|
25
|
+
<xs:sequence>
|
|
26
|
+
<xs:element name="values" type="ProgValuesType"/>
|
|
27
|
+
</xs:sequence>
|
|
28
|
+
<xs:attribute name="version" type="xs:string" default="1.0"/>
|
|
29
|
+
</xs:complexType>
|
|
30
|
+
|
|
31
|
+
<!-- THE ONLY ROOT ELEMENT -->
|
|
32
|
+
<xs:element name="abapGit">
|
|
33
|
+
<xs:complexType>
|
|
34
|
+
<xs:sequence>
|
|
35
|
+
<xs:element name="abap" type="ProgAbapType"/>
|
|
36
|
+
</xs:sequence>
|
|
37
|
+
<xs:attribute name="version" type="xs:string" use="required"/>
|
|
38
|
+
<xs:attribute name="serializer" type="xs:string" use="required"/>
|
|
39
|
+
<xs:attribute name="serializer_version" type="xs:string" use="required"/>
|
|
40
|
+
</xs:complexType>
|
|
41
|
+
</xs:element>
|
|
42
|
+
|
|
43
|
+
</xs:schema>
|
package/xsd/srvb.xsd
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!--
|
|
3
|
+
abapGit SRVB (RAP Service Binding) Schema
|
|
4
|
+
|
|
5
|
+
Defines the minimal abapGit metadata wrapper for *.srvb.xml files.
|
|
6
|
+
|
|
7
|
+
SRVB is metadata-only (unlike BDEF/SRVD which have .abdl/.asrvd source
|
|
8
|
+
text). We only need to serialise the binding key + protocol-relevant
|
|
9
|
+
fields. Rich binding payload (services, implementations) is not
|
|
10
|
+
preserved round-trip — matching the conservative approach used by
|
|
11
|
+
zcl_abapgit_object_srvb.
|
|
12
|
+
-->
|
|
13
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
14
|
+
xmlns:asx="http://www.sap.com/abapxml"
|
|
15
|
+
elementFormDefault="unqualified">
|
|
16
|
+
|
|
17
|
+
<!-- Import ASX namespace -->
|
|
18
|
+
<xs:import namespace="http://www.sap.com/abapxml" schemaLocation="asx.xsd"/>
|
|
19
|
+
|
|
20
|
+
<!-- Include base abapGit types -->
|
|
21
|
+
<xs:include schemaLocation="abapgit.xsd"/>
|
|
22
|
+
|
|
23
|
+
<!-- SKEY — binding source key (minimal metadata for abapGit) -->
|
|
24
|
+
<xs:complexType name="SkeyType">
|
|
25
|
+
<xs:all>
|
|
26
|
+
<xs:element name="TYPE" type="xs:string" minOccurs="0"/>
|
|
27
|
+
<xs:element name="NAME" type="xs:string" minOccurs="0"/>
|
|
28
|
+
</xs:all>
|
|
29
|
+
</xs:complexType>
|
|
30
|
+
|
|
31
|
+
<!-- BINDING — protocol header block -->
|
|
32
|
+
<xs:complexType name="BindingType">
|
|
33
|
+
<xs:all>
|
|
34
|
+
<xs:element name="TYPE" type="xs:string" minOccurs="0"/>
|
|
35
|
+
<xs:element name="VERSION" type="xs:string" minOccurs="0"/>
|
|
36
|
+
<xs:element name="CATEGORY" type="xs:string" minOccurs="0"/>
|
|
37
|
+
</xs:all>
|
|
38
|
+
</xs:complexType>
|
|
39
|
+
|
|
40
|
+
<!-- SRVB-specific values type -->
|
|
41
|
+
<xs:complexType name="SrvbValuesType">
|
|
42
|
+
<xs:all>
|
|
43
|
+
<xs:element name="SKEY" type="SkeyType" minOccurs="0"/>
|
|
44
|
+
<xs:element name="BINDING" type="BindingType" minOccurs="0"/>
|
|
45
|
+
</xs:all>
|
|
46
|
+
</xs:complexType>
|
|
47
|
+
|
|
48
|
+
<!-- SRVB-specific ABAP envelope -->
|
|
49
|
+
<xs:complexType name="SrvbAbapType">
|
|
50
|
+
<xs:sequence>
|
|
51
|
+
<xs:element name="values" type="SrvbValuesType"/>
|
|
52
|
+
</xs:sequence>
|
|
53
|
+
<xs:attribute name="version" type="xs:string" default="1.0"/>
|
|
54
|
+
</xs:complexType>
|
|
55
|
+
|
|
56
|
+
<!-- THE ONLY ROOT ELEMENT -->
|
|
57
|
+
<xs:element name="abapGit">
|
|
58
|
+
<xs:complexType>
|
|
59
|
+
<xs:sequence>
|
|
60
|
+
<xs:element name="abap" type="SrvbAbapType"/>
|
|
61
|
+
</xs:sequence>
|
|
62
|
+
<xs:attribute name="version" type="xs:string" use="required"/>
|
|
63
|
+
<xs:attribute name="serializer" type="xs:string" use="required"/>
|
|
64
|
+
<xs:attribute name="serializer_version" type="xs:string" use="required"/>
|
|
65
|
+
</xs:complexType>
|
|
66
|
+
</xs:element>
|
|
67
|
+
|
|
68
|
+
</xs:schema>
|
package/xsd/srvd.xsd
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!--
|
|
3
|
+
abapGit SRVD (RAP Service Definition) Schema
|
|
4
|
+
|
|
5
|
+
Defines SKEY (minimal source descriptor) structure for *.srvd.xml files.
|
|
6
|
+
The actual service source lives alongside in `<name>.srvd.asrvd`.
|
|
7
|
+
|
|
8
|
+
The abapGit zcl_abapgit_object_srvd serializer writes only a lightweight
|
|
9
|
+
SKEY metadata block because all semantic content is in the .asrvd source.
|
|
10
|
+
Mirrors the BDEF handler layout.
|
|
11
|
+
-->
|
|
12
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
13
|
+
xmlns:asx="http://www.sap.com/abapxml"
|
|
14
|
+
elementFormDefault="unqualified">
|
|
15
|
+
|
|
16
|
+
<!-- Import ASX namespace -->
|
|
17
|
+
<xs:import namespace="http://www.sap.com/abapxml" schemaLocation="asx.xsd"/>
|
|
18
|
+
|
|
19
|
+
<!-- Include base abapGit types -->
|
|
20
|
+
<xs:include schemaLocation="abapgit.xsd"/>
|
|
21
|
+
|
|
22
|
+
<!-- SKEY — RAP service source key (minimal metadata for abapGit) -->
|
|
23
|
+
<xs:complexType name="SkeyType">
|
|
24
|
+
<xs:all>
|
|
25
|
+
<xs:element name="TYPE" type="xs:string" minOccurs="0"/>
|
|
26
|
+
<xs:element name="NAME" type="xs:string" minOccurs="0"/>
|
|
27
|
+
</xs:all>
|
|
28
|
+
</xs:complexType>
|
|
29
|
+
|
|
30
|
+
<!-- SRVD-specific values type -->
|
|
31
|
+
<xs:complexType name="SrvdValuesType">
|
|
32
|
+
<xs:all>
|
|
33
|
+
<xs:element name="SKEY" type="SkeyType" minOccurs="0"/>
|
|
34
|
+
</xs:all>
|
|
35
|
+
</xs:complexType>
|
|
36
|
+
|
|
37
|
+
<!-- SRVD-specific ABAP envelope -->
|
|
38
|
+
<xs:complexType name="SrvdAbapType">
|
|
39
|
+
<xs:sequence>
|
|
40
|
+
<xs:element name="values" type="SrvdValuesType"/>
|
|
41
|
+
</xs:sequence>
|
|
42
|
+
<xs:attribute name="version" type="xs:string" default="1.0"/>
|
|
43
|
+
</xs:complexType>
|
|
44
|
+
|
|
45
|
+
<!-- THE ONLY ROOT ELEMENT -->
|
|
46
|
+
<xs:element name="abapGit">
|
|
47
|
+
<xs:complexType>
|
|
48
|
+
<xs:sequence>
|
|
49
|
+
<xs:element name="abap" type="SrvdAbapType"/>
|
|
50
|
+
</xs:sequence>
|
|
51
|
+
<xs:attribute name="version" type="xs:string" use="required"/>
|
|
52
|
+
<xs:attribute name="serializer" type="xs:string" use="required"/>
|
|
53
|
+
<xs:attribute name="serializer_version" type="xs:string" use="required"/>
|
|
54
|
+
</xs:complexType>
|
|
55
|
+
</xs:element>
|
|
56
|
+
|
|
57
|
+
</xs:schema>
|
package/xsd/tabl.xsd
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!--
|
|
3
|
+
abapGit TABL (Table/Structure) Schema
|
|
4
|
+
|
|
5
|
+
Defines the DD02V and DD03P_TABLE structures used in *.tabl.xml files.
|
|
6
|
+
Based on SAP DDIC tables DD02V (table header) and DD03P (field definitions).
|
|
7
|
+
|
|
8
|
+
Uses xs:redefine to extend AbapValuesType with TABL-specific elements.
|
|
9
|
+
-->
|
|
10
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
11
|
+
targetNamespace="http://www.sap.com/abapxml"
|
|
12
|
+
xmlns:asx="http://www.sap.com/abapxml"
|
|
13
|
+
elementFormDefault="unqualified">
|
|
14
|
+
|
|
15
|
+
<!-- Include types (brought into asx namespace) -->
|
|
16
|
+
<xs:include schemaLocation="types/dd02v.xsd"/>
|
|
17
|
+
<xs:include schemaLocation="types/dd09l.xsd"/>
|
|
18
|
+
<xs:include schemaLocation="types/dd03p.xsd"/>
|
|
19
|
+
<xs:include schemaLocation="types/tddat.xsd"/>
|
|
20
|
+
|
|
21
|
+
<!-- Redefine AbapValuesType to include TABL-specific elements -->
|
|
22
|
+
<xs:redefine schemaLocation="asx.xsd">
|
|
23
|
+
<xs:complexType name="AbapValuesType">
|
|
24
|
+
<xs:complexContent>
|
|
25
|
+
<xs:extension base="asx:AbapValuesType">
|
|
26
|
+
<xs:sequence>
|
|
27
|
+
<xs:element name="DD02V" type="asx:Dd02vType" minOccurs="0"/>
|
|
28
|
+
<xs:element name="DD09L" type="asx:Dd09lType" minOccurs="0"/>
|
|
29
|
+
<xs:element name="DD03P_TABLE" type="asx:Dd03pTableType" minOccurs="0"/>
|
|
30
|
+
<xs:element name="TABL_EXTRAS" type="asx:TablExtrasType" minOccurs="0"/>
|
|
31
|
+
</xs:sequence>
|
|
32
|
+
</xs:extension>
|
|
33
|
+
</xs:complexContent>
|
|
34
|
+
</xs:complexType>
|
|
35
|
+
</xs:redefine>
|
|
36
|
+
|
|
37
|
+
<!-- Import abapGit root element -->
|
|
38
|
+
<xs:import schemaLocation="abapgit.xsd"/>
|
|
39
|
+
|
|
40
|
+
</xs:schema>
|
package/xsd/ttyp.xsd
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!--
|
|
3
|
+
abapGit TTYP (Table Type) Schema
|
|
4
|
+
|
|
5
|
+
Defines the DD40V structure used in *.ttyp.xml files.
|
|
6
|
+
Based on SAP DDIC table DD40V (table type header).
|
|
7
|
+
|
|
8
|
+
Uses xs:redefine to extend AbapValuesType with TTYP-specific elements.
|
|
9
|
+
-->
|
|
10
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
11
|
+
targetNamespace="http://www.sap.com/abapxml"
|
|
12
|
+
xmlns:asx="http://www.sap.com/abapxml"
|
|
13
|
+
elementFormDefault="unqualified">
|
|
14
|
+
|
|
15
|
+
<!-- Include types (brought into asx namespace) -->
|
|
16
|
+
<xs:include schemaLocation="types/dd40v.xsd"/>
|
|
17
|
+
|
|
18
|
+
<!-- Redefine AbapValuesType to include TTYP-specific elements -->
|
|
19
|
+
<xs:redefine schemaLocation="asx.xsd">
|
|
20
|
+
<xs:complexType name="AbapValuesType">
|
|
21
|
+
<xs:complexContent>
|
|
22
|
+
<xs:extension base="asx:AbapValuesType">
|
|
23
|
+
<xs:sequence>
|
|
24
|
+
<xs:element name="DD40V" type="asx:Dd40vType" minOccurs="0"/>
|
|
25
|
+
</xs:sequence>
|
|
26
|
+
</xs:extension>
|
|
27
|
+
</xs:complexContent>
|
|
28
|
+
</xs:complexType>
|
|
29
|
+
</xs:redefine>
|
|
30
|
+
|
|
31
|
+
<!-- Import abapGit root element -->
|
|
32
|
+
<xs:import schemaLocation="abapgit.xsd"/>
|
|
33
|
+
|
|
34
|
+
</xs:schema>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!-- DD01V - Domain header type (SAP DDIC table DD01V) -->
|
|
3
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
4
|
+
|
|
5
|
+
<xs:complexType name="Dd01vType">
|
|
6
|
+
<xs:all>
|
|
7
|
+
<xs:element name="DOMNAME" type="xs:string"/>
|
|
8
|
+
<xs:element name="DDLANGUAGE" type="xs:string" minOccurs="0"/>
|
|
9
|
+
<xs:element name="DATATYPE" type="xs:string" minOccurs="0"/>
|
|
10
|
+
<xs:element name="LENG" type="xs:string" minOccurs="0"/>
|
|
11
|
+
<xs:element name="OUTPUTLEN" type="xs:string" minOccurs="0"/>
|
|
12
|
+
<xs:element name="DECIMALS" type="xs:string" minOccurs="0"/>
|
|
13
|
+
<xs:element name="LOWERCASE" type="xs:string" minOccurs="0"/>
|
|
14
|
+
<xs:element name="SIGNFLAG" type="xs:string" minOccurs="0"/>
|
|
15
|
+
<xs:element name="VALEXI" type="xs:string" minOccurs="0"/>
|
|
16
|
+
<xs:element name="ENTITYTAB" type="xs:string" minOccurs="0"/>
|
|
17
|
+
<xs:element name="CONVEXIT" type="xs:string" minOccurs="0"/>
|
|
18
|
+
<xs:element name="DDTEXT" type="xs:string" minOccurs="0"/>
|
|
19
|
+
<xs:element name="DOMMASTER" type="xs:string" minOccurs="0"/>
|
|
20
|
+
</xs:all>
|
|
21
|
+
</xs:complexType>
|
|
22
|
+
|
|
23
|
+
</xs:schema>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
3
|
+
<!-- TYPE ONLY - no element declaration! -->
|
|
4
|
+
<!-- DD02V: Table/Structure header metadata -->
|
|
5
|
+
<!-- Field order matches standard abapGit LCL_OBJECT_TABL output -->
|
|
6
|
+
<xs:complexType name="Dd02vType">
|
|
7
|
+
<xs:sequence>
|
|
8
|
+
<xs:element name="TABNAME" type="xs:string"/>
|
|
9
|
+
<xs:element name="DDLANGUAGE" type="xs:string" minOccurs="0"/>
|
|
10
|
+
<xs:element name="TABCLASS" type="xs:string" minOccurs="0"/>
|
|
11
|
+
<xs:element name="LANGDEP" type="xs:string" minOccurs="0"/>
|
|
12
|
+
<xs:element name="CLIDEP" type="xs:string" minOccurs="0"/>
|
|
13
|
+
<xs:element name="SQLTAB" type="xs:string" minOccurs="0"/>
|
|
14
|
+
<xs:element name="DATCLASS" type="xs:string" minOccurs="0"/>
|
|
15
|
+
<xs:element name="DDTEXT" type="xs:string" minOccurs="0"/>
|
|
16
|
+
<xs:element name="MASTERLANG" type="xs:string" minOccurs="0"/>
|
|
17
|
+
<xs:element name="BUFFERED" type="xs:string" minOccurs="0"/>
|
|
18
|
+
<xs:element name="MATEFLAG" type="xs:string" minOccurs="0"/>
|
|
19
|
+
<xs:element name="CONTFLAG" type="xs:string" minOccurs="0"/>
|
|
20
|
+
<xs:element name="SHLPEXI" type="xs:string" minOccurs="0"/>
|
|
21
|
+
<xs:element name="EXCLASS" type="xs:string" minOccurs="0"/>
|
|
22
|
+
<xs:element name="AUTHCLASS" type="xs:string" minOccurs="0"/>
|
|
23
|
+
</xs:sequence>
|
|
24
|
+
</xs:complexType>
|
|
25
|
+
</xs:schema>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
3
|
+
<!-- TYPE ONLY - no element declaration! -->
|
|
4
|
+
<!-- DD03P: Table/Structure field definition -->
|
|
5
|
+
<!-- Field order matches standard abapGit LCL_OBJECT_TABL output (DD03P structure order) -->
|
|
6
|
+
<xs:complexType name="Dd03pType">
|
|
7
|
+
<xs:sequence>
|
|
8
|
+
<xs:element name="FIELDNAME" type="xs:string" minOccurs="0"/>
|
|
9
|
+
<xs:element name="POSITION" type="xs:string" minOccurs="0"/>
|
|
10
|
+
<xs:element name="KEYFLAG" type="xs:string" minOccurs="0"/>
|
|
11
|
+
<xs:element name="ROLLNAME" type="xs:string" minOccurs="0"/>
|
|
12
|
+
<xs:element name="ADMINFIELD" type="xs:string" minOccurs="0"/>
|
|
13
|
+
<xs:element name="INTTYPE" type="xs:string" minOccurs="0"/>
|
|
14
|
+
<xs:element name="INTLEN" type="xs:string" minOccurs="0"/>
|
|
15
|
+
<xs:element name="REFTABLE" type="xs:string" minOccurs="0"/>
|
|
16
|
+
<xs:element name="REFFIELD" type="xs:string" minOccurs="0"/>
|
|
17
|
+
<xs:element name="PRECFIELD" type="xs:string" minOccurs="0"/>
|
|
18
|
+
<xs:element name="NOTNULL" type="xs:string" minOccurs="0"/>
|
|
19
|
+
<xs:element name="DATATYPE" type="xs:string" minOccurs="0"/>
|
|
20
|
+
<xs:element name="LENG" type="xs:string" minOccurs="0"/>
|
|
21
|
+
<xs:element name="DECIMALS" type="xs:string" minOccurs="0"/>
|
|
22
|
+
<xs:element name="DOMNAME" type="xs:string" minOccurs="0"/>
|
|
23
|
+
<xs:element name="MASK" type="xs:string" minOccurs="0"/>
|
|
24
|
+
<xs:element name="SHLPORIGIN" type="xs:string" minOccurs="0"/>
|
|
25
|
+
<xs:element name="DDTEXT" type="xs:string" minOccurs="0"/>
|
|
26
|
+
<xs:element name="COMPTYPE" type="xs:string" minOccurs="0"/>
|
|
27
|
+
<xs:element name="TABNAME" type="xs:string" minOccurs="0"/>
|
|
28
|
+
<xs:element name="DDLANGUAGE" type="xs:string" minOccurs="0"/>
|
|
29
|
+
<xs:element name="CONRFLAG" type="xs:string" minOccurs="0"/>
|
|
30
|
+
</xs:sequence>
|
|
31
|
+
</xs:complexType>
|
|
32
|
+
|
|
33
|
+
<!-- DD03P table wrapper (used by TABL schema) -->
|
|
34
|
+
<xs:complexType name="Dd03pTableType">
|
|
35
|
+
<xs:sequence>
|
|
36
|
+
<xs:element name="DD03P" type="Dd03pType" minOccurs="0" maxOccurs="unbounded"/>
|
|
37
|
+
</xs:sequence>
|
|
38
|
+
</xs:complexType>
|
|
39
|
+
</xs:schema>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!-- DD04V - Data element type (SAP DDIC table DD04V) -->
|
|
3
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
4
|
+
|
|
5
|
+
<xs:complexType name="Dd04vType">
|
|
6
|
+
<xs:sequence>
|
|
7
|
+
<xs:element name="ROLLNAME" type="xs:string"/>
|
|
8
|
+
<xs:element name="DDLANGUAGE" type="xs:string" minOccurs="0"/>
|
|
9
|
+
<xs:element name="DOMNAME" type="xs:string" minOccurs="0"/>
|
|
10
|
+
<xs:element name="HEADLEN" type="xs:string" minOccurs="0"/>
|
|
11
|
+
<xs:element name="SCRLEN1" type="xs:string" minOccurs="0"/>
|
|
12
|
+
<xs:element name="SCRLEN2" type="xs:string" minOccurs="0"/>
|
|
13
|
+
<xs:element name="SCRLEN3" type="xs:string" minOccurs="0"/>
|
|
14
|
+
<xs:element name="DDTEXT" type="xs:string" minOccurs="0"/>
|
|
15
|
+
<xs:element name="REPTEXT" type="xs:string" minOccurs="0"/>
|
|
16
|
+
<xs:element name="SCRTEXT_S" type="xs:string" minOccurs="0"/>
|
|
17
|
+
<xs:element name="SCRTEXT_M" type="xs:string" minOccurs="0"/>
|
|
18
|
+
<xs:element name="SCRTEXT_L" type="xs:string" minOccurs="0"/>
|
|
19
|
+
<xs:element name="DTELMASTER" type="xs:string" minOccurs="0"/>
|
|
20
|
+
<xs:element name="DATATYPE" type="xs:string" minOccurs="0"/>
|
|
21
|
+
<xs:element name="LENG" type="xs:string" minOccurs="0"/>
|
|
22
|
+
<xs:element name="DECIMALS" type="xs:string" minOccurs="0"/>
|
|
23
|
+
<xs:element name="OUTPUTLEN" type="xs:string" minOccurs="0"/>
|
|
24
|
+
<xs:element name="REFKIND" type="xs:string" minOccurs="0"/>
|
|
25
|
+
<xs:element name="REFTYPE" type="xs:string" minOccurs="0"/>
|
|
26
|
+
<xs:element name="ABAP_LANGUAGE_VERSION" type="xs:string" minOccurs="0"/>
|
|
27
|
+
</xs:sequence>
|
|
28
|
+
</xs:complexType>
|
|
29
|
+
|
|
30
|
+
</xs:schema>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!-- DD07V - Domain fixed values type (SAP DDIC table DD07V) -->
|
|
3
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
4
|
+
|
|
5
|
+
<xs:complexType name="Dd07vType">
|
|
6
|
+
<xs:all>
|
|
7
|
+
<xs:element name="DOMNAME" type="xs:string" minOccurs="0"/>
|
|
8
|
+
<xs:element name="VALPOS" type="xs:string" minOccurs="0"/>
|
|
9
|
+
<xs:element name="DDLANGUAGE" type="xs:string" minOccurs="0"/>
|
|
10
|
+
<xs:element name="DOMVALUE_L" type="xs:string" minOccurs="0"/>
|
|
11
|
+
<xs:element name="DOMVALUE_H" type="xs:string" minOccurs="0"/>
|
|
12
|
+
<xs:element name="DDTEXT" type="xs:string" minOccurs="0"/>
|
|
13
|
+
</xs:all>
|
|
14
|
+
</xs:complexType>
|
|
15
|
+
|
|
16
|
+
<xs:complexType name="Dd07vTabType">
|
|
17
|
+
<xs:sequence>
|
|
18
|
+
<xs:element name="DD07V" type="Dd07vType" minOccurs="0" maxOccurs="unbounded"/>
|
|
19
|
+
</xs:sequence>
|
|
20
|
+
</xs:complexType>
|
|
21
|
+
|
|
22
|
+
</xs:schema>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
3
|
+
<!-- TYPE ONLY - no element declaration! -->
|
|
4
|
+
<!-- DD09L: Table technical settings (storage parameters, buffering) -->
|
|
5
|
+
<!-- Field order matches standard abapGit LCL_OBJECT_TABL output -->
|
|
6
|
+
<xs:complexType name="Dd09lType">
|
|
7
|
+
<xs:sequence>
|
|
8
|
+
<xs:element name="TABNAME" type="xs:string" minOccurs="0"/>
|
|
9
|
+
<xs:element name="AS4LOCAL" type="xs:string" minOccurs="0"/>
|
|
10
|
+
<xs:element name="TABKAT" type="xs:string" minOccurs="0"/>
|
|
11
|
+
<xs:element name="TABART" type="xs:string" minOccurs="0"/>
|
|
12
|
+
<xs:element name="BUFALLOW" type="xs:string" minOccurs="0"/>
|
|
13
|
+
<xs:element name="PUFFERUNG" type="xs:string" minOccurs="0"/>
|
|
14
|
+
<xs:element name="SCHFELDANZ" type="xs:string" minOccurs="0"/>
|
|
15
|
+
<xs:element name="PROTOKOLL" type="xs:string" minOccurs="0"/>
|
|
16
|
+
<xs:element name="SPEESSION" type="xs:string" minOccurs="0"/>
|
|
17
|
+
<xs:element name="UESSION" type="xs:string" minOccurs="0"/>
|
|
18
|
+
<xs:element name="ROESSION" type="xs:string" minOccurs="0"/>
|
|
19
|
+
</xs:sequence>
|
|
20
|
+
</xs:complexType>
|
|
21
|
+
</xs:schema>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
3
|
+
<!-- TYPE ONLY - no element declaration! -->
|
|
4
|
+
<!-- DD40V: Table type metadata -->
|
|
5
|
+
<xs:complexType name="Dd40vType">
|
|
6
|
+
<xs:all>
|
|
7
|
+
<xs:element name="TYPENAME" type="xs:string"/>
|
|
8
|
+
<xs:element name="DDLANGUAGE" type="xs:string" minOccurs="0"/>
|
|
9
|
+
<xs:element name="ROWTYPE" type="xs:string" minOccurs="0"/>
|
|
10
|
+
<xs:element name="ROWKIND" type="xs:string" minOccurs="0"/>
|
|
11
|
+
<xs:element name="DATATYPE" type="xs:string" minOccurs="0"/>
|
|
12
|
+
<xs:element name="ACCESSMODE" type="xs:string" minOccurs="0"/>
|
|
13
|
+
<xs:element name="KEYDEF" type="xs:string" minOccurs="0"/>
|
|
14
|
+
<xs:element name="KEYKIND" type="xs:string" minOccurs="0"/>
|
|
15
|
+
<xs:element name="GENERIC" type="xs:string" minOccurs="0"/>
|
|
16
|
+
<xs:element name="LENG" type="xs:string" minOccurs="0"/>
|
|
17
|
+
<xs:element name="DECIMALS" type="xs:string" minOccurs="0"/>
|
|
18
|
+
<xs:element name="DDTEXT" type="xs:string" minOccurs="0"/>
|
|
19
|
+
<xs:element name="TYPELEN" type="xs:string" minOccurs="0"/>
|
|
20
|
+
<xs:element name="DEFFDNAME" type="xs:string" minOccurs="0"/>
|
|
21
|
+
<xs:element name="ABAP_LANGUAGE_VERSION" type="xs:string" minOccurs="0"/>
|
|
22
|
+
</xs:all>
|
|
23
|
+
</xs:complexType>
|
|
24
|
+
</xs:schema>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!-- DEVC - Package type for abapGit serialization -->
|
|
3
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
4
|
+
|
|
5
|
+
<xs:complexType name="DevcType">
|
|
6
|
+
<xs:all>
|
|
7
|
+
<!-- Package description text - required in abapGit format -->
|
|
8
|
+
<xs:element name="CTEXT" type="xs:string"/>
|
|
9
|
+
</xs:all>
|
|
10
|
+
</xs:complexType>
|
|
11
|
+
|
|
12
|
+
</xs:schema>
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
3
|
+
|
|
4
|
+
<!-- ============================================ -->
|
|
5
|
+
<!-- Parameter types (match SAP internal tables) -->
|
|
6
|
+
<!-- ============================================ -->
|
|
7
|
+
|
|
8
|
+
<!-- RSIMP - Import parameter (also reused for RSCHA Changing) -->
|
|
9
|
+
<xs:complexType name="FugrParamType">
|
|
10
|
+
<xs:all>
|
|
11
|
+
<xs:element name="PARAMETER" type="xs:string" minOccurs="0"/>
|
|
12
|
+
<xs:element name="TYP" type="xs:string" minOccurs="0"/>
|
|
13
|
+
<xs:element name="DBFIELD" type="xs:string" minOccurs="0"/>
|
|
14
|
+
<xs:element name="DEFAULT" type="xs:string" minOccurs="0"/>
|
|
15
|
+
<xs:element name="OPTIONAL" type="xs:string" minOccurs="0"/>
|
|
16
|
+
<xs:element name="REFERENCE" type="xs:string" minOccurs="0"/>
|
|
17
|
+
</xs:all>
|
|
18
|
+
</xs:complexType>
|
|
19
|
+
|
|
20
|
+
<!-- RSTBL - Tables parameter (uses DBSTRUCT instead of DBFIELD) -->
|
|
21
|
+
<xs:complexType name="FugrTableParamType">
|
|
22
|
+
<xs:all>
|
|
23
|
+
<xs:element name="PARAMETER" type="xs:string" minOccurs="0"/>
|
|
24
|
+
<xs:element name="DBSTRUCT" type="xs:string" minOccurs="0"/>
|
|
25
|
+
<xs:element name="TYP" type="xs:string" minOccurs="0"/>
|
|
26
|
+
<xs:element name="OPTIONAL" type="xs:string" minOccurs="0"/>
|
|
27
|
+
</xs:all>
|
|
28
|
+
</xs:complexType>
|
|
29
|
+
|
|
30
|
+
<!-- RSEXC - Exception -->
|
|
31
|
+
<xs:complexType name="FugrExceptionType">
|
|
32
|
+
<xs:all>
|
|
33
|
+
<xs:element name="EXCEPTION" type="xs:string" minOccurs="0"/>
|
|
34
|
+
</xs:all>
|
|
35
|
+
</xs:complexType>
|
|
36
|
+
|
|
37
|
+
<!-- RSFDO - Parameter documentation -->
|
|
38
|
+
<xs:complexType name="FugrDocParamType">
|
|
39
|
+
<xs:all>
|
|
40
|
+
<xs:element name="PARAMETER" type="xs:string" minOccurs="0"/>
|
|
41
|
+
<xs:element name="KIND" type="xs:string" minOccurs="0"/>
|
|
42
|
+
<xs:element name="STEXT" type="xs:string" minOccurs="0"/>
|
|
43
|
+
</xs:all>
|
|
44
|
+
</xs:complexType>
|
|
45
|
+
|
|
46
|
+
<!-- ============================================ -->
|
|
47
|
+
<!-- Parameter containers -->
|
|
48
|
+
<!-- ============================================ -->
|
|
49
|
+
|
|
50
|
+
<xs:complexType name="FugrImportType">
|
|
51
|
+
<xs:sequence>
|
|
52
|
+
<xs:element name="RSIMP" type="FugrParamType" minOccurs="0" maxOccurs="unbounded"/>
|
|
53
|
+
</xs:sequence>
|
|
54
|
+
</xs:complexType>
|
|
55
|
+
|
|
56
|
+
<xs:complexType name="FugrExportType">
|
|
57
|
+
<xs:sequence>
|
|
58
|
+
<xs:element name="RSEXP" type="FugrParamType" minOccurs="0" maxOccurs="unbounded"/>
|
|
59
|
+
</xs:sequence>
|
|
60
|
+
</xs:complexType>
|
|
61
|
+
|
|
62
|
+
<xs:complexType name="FugrChangingType">
|
|
63
|
+
<xs:sequence>
|
|
64
|
+
<xs:element name="RSCHA" type="FugrParamType" minOccurs="0" maxOccurs="unbounded"/>
|
|
65
|
+
</xs:sequence>
|
|
66
|
+
</xs:complexType>
|
|
67
|
+
|
|
68
|
+
<xs:complexType name="FugrTablesType">
|
|
69
|
+
<xs:sequence>
|
|
70
|
+
<xs:element name="RSTBL" type="FugrTableParamType" minOccurs="0" maxOccurs="unbounded"/>
|
|
71
|
+
</xs:sequence>
|
|
72
|
+
</xs:complexType>
|
|
73
|
+
|
|
74
|
+
<xs:complexType name="FugrExceptionsType">
|
|
75
|
+
<xs:sequence>
|
|
76
|
+
<xs:element name="RSEXC" type="FugrExceptionType" minOccurs="0" maxOccurs="unbounded"/>
|
|
77
|
+
</xs:sequence>
|
|
78
|
+
</xs:complexType>
|
|
79
|
+
|
|
80
|
+
<xs:complexType name="FugrDocumentationType">
|
|
81
|
+
<xs:sequence>
|
|
82
|
+
<xs:element name="RSFDO" type="FugrDocParamType" minOccurs="0" maxOccurs="unbounded"/>
|
|
83
|
+
</xs:sequence>
|
|
84
|
+
</xs:complexType>
|
|
85
|
+
|
|
86
|
+
<!-- ============================================ -->
|
|
87
|
+
<!-- Function module item -->
|
|
88
|
+
<!-- ============================================ -->
|
|
89
|
+
|
|
90
|
+
<xs:complexType name="FugrFunctionItemType">
|
|
91
|
+
<xs:all>
|
|
92
|
+
<xs:element name="FUNCNAME" type="xs:string"/>
|
|
93
|
+
<xs:element name="GLOBAL_FLAG" type="xs:string" minOccurs="0"/>
|
|
94
|
+
<xs:element name="REMOTE_CALL" type="xs:string" minOccurs="0"/>
|
|
95
|
+
<xs:element name="UPDATE_TASK" type="xs:string" minOccurs="0"/>
|
|
96
|
+
<xs:element name="SHORT_TEXT" type="xs:string" minOccurs="0"/>
|
|
97
|
+
<xs:element name="REMOTE_BASXML" type="xs:string" minOccurs="0"/>
|
|
98
|
+
<xs:element name="EXCEPTION_CLASSES" type="xs:string" minOccurs="0"/>
|
|
99
|
+
<xs:element name="IMPORT" type="FugrImportType" minOccurs="0"/>
|
|
100
|
+
<xs:element name="CHANGING" type="FugrChangingType" minOccurs="0"/>
|
|
101
|
+
<xs:element name="EXPORT" type="FugrExportType" minOccurs="0"/>
|
|
102
|
+
<xs:element name="TABLES" type="FugrTablesType" minOccurs="0"/>
|
|
103
|
+
<xs:element name="EXCEPTION" type="FugrExceptionsType" minOccurs="0"/>
|
|
104
|
+
<xs:element name="DOCUMENTATION" type="FugrDocumentationType" minOccurs="0"/>
|
|
105
|
+
</xs:all>
|
|
106
|
+
</xs:complexType>
|
|
107
|
+
|
|
108
|
+
<!-- ============================================ -->
|
|
109
|
+
<!-- Containers -->
|
|
110
|
+
<!-- ============================================ -->
|
|
111
|
+
|
|
112
|
+
<xs:complexType name="FugrFunctionsType">
|
|
113
|
+
<xs:sequence>
|
|
114
|
+
<xs:element name="item" type="FugrFunctionItemType" minOccurs="0" maxOccurs="unbounded"/>
|
|
115
|
+
</xs:sequence>
|
|
116
|
+
</xs:complexType>
|
|
117
|
+
|
|
118
|
+
<xs:complexType name="FugrIncludesType">
|
|
119
|
+
<xs:sequence>
|
|
120
|
+
<xs:element name="SOBJ_NAME" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
|
|
121
|
+
</xs:sequence>
|
|
122
|
+
</xs:complexType>
|
|
123
|
+
|
|
124
|
+
</xs:schema>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
3
|
+
<!-- PROGDIR type - Program directory entry -->
|
|
4
|
+
<xs:complexType name="ProgdirType">
|
|
5
|
+
<xs:all>
|
|
6
|
+
<xs:element name="NAME" type="xs:string"/>
|
|
7
|
+
<xs:element name="STATE" type="xs:string" minOccurs="0"/>
|
|
8
|
+
<xs:element name="SUBC" type="xs:string" minOccurs="0"/>
|
|
9
|
+
<xs:element name="FIXPT" type="xs:string" minOccurs="0"/>
|
|
10
|
+
<xs:element name="UNICODE" type="xs:string" minOccurs="0"/>
|
|
11
|
+
<xs:element name="DTEFUNC" type="xs:string" minOccurs="0"/>
|
|
12
|
+
<xs:element name="RLOAD" type="xs:string" minOccurs="0"/>
|
|
13
|
+
<xs:element name="UCCHECK" type="xs:string" minOccurs="0"/>
|
|
14
|
+
<xs:element name="ABAP_LANGUAGE_VERSION" type="xs:string" minOccurs="0"/>
|
|
15
|
+
</xs:all>
|
|
16
|
+
</xs:complexType>
|
|
17
|
+
|
|
18
|
+
<!-- TPOOL item type - Text pool entry -->
|
|
19
|
+
<xs:complexType name="TpoolItemType">
|
|
20
|
+
<xs:all>
|
|
21
|
+
<xs:element name="ID" type="xs:string"/>
|
|
22
|
+
<xs:element name="ENTRY" type="xs:string" minOccurs="0"/>
|
|
23
|
+
<xs:element name="LENGTH" type="xs:string" minOccurs="0"/>
|
|
24
|
+
</xs:all>
|
|
25
|
+
</xs:complexType>
|
|
26
|
+
|
|
27
|
+
<!-- TPOOL type - Text pool container -->
|
|
28
|
+
<xs:complexType name="TpoolType">
|
|
29
|
+
<xs:sequence>
|
|
30
|
+
<xs:element name="item" type="TpoolItemType" minOccurs="0" maxOccurs="unbounded"/>
|
|
31
|
+
</xs:sequence>
|
|
32
|
+
</xs:complexType>
|
|
33
|
+
</xs:schema>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
3
|
+
<!-- TYPE ONLY - no element declaration! -->
|
|
4
|
+
<!-- TDDAT: Table maintenance dialog configuration -->
|
|
5
|
+
<xs:complexType name="TddatType">
|
|
6
|
+
<xs:sequence>
|
|
7
|
+
<xs:element name="TABNAME" type="xs:string" minOccurs="0"/>
|
|
8
|
+
<xs:element name="CCLASS" type="xs:string" minOccurs="0"/>
|
|
9
|
+
<xs:element name="VIEWGRANT" type="xs:string" minOccurs="0"/>
|
|
10
|
+
<xs:element name="TVDIR" type="xs:string" minOccurs="0"/>
|
|
11
|
+
<xs:element name="GENERICRANGE" type="xs:string" minOccurs="0"/>
|
|
12
|
+
</xs:sequence>
|
|
13
|
+
</xs:complexType>
|
|
14
|
+
|
|
15
|
+
<!-- TABL_EXTRAS wrapper -->
|
|
16
|
+
<xs:complexType name="TablExtrasType">
|
|
17
|
+
<xs:sequence>
|
|
18
|
+
<xs:element name="TDDAT" type="TddatType" minOccurs="0"/>
|
|
19
|
+
</xs:sequence>
|
|
20
|
+
</xs:complexType>
|
|
21
|
+
</xs:schema>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!-- VSEOCLASS - Class header type (SAP view VSEOCLASS) -->
|
|
3
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
4
|
+
|
|
5
|
+
<xs:complexType name="VseoClassType">
|
|
6
|
+
<xs:all>
|
|
7
|
+
<xs:element name="CLSNAME" type="xs:string"/>
|
|
8
|
+
<xs:element name="LANGU" type="xs:string" minOccurs="0"/>
|
|
9
|
+
<xs:element name="DESCRIPT" type="xs:string" minOccurs="0"/>
|
|
10
|
+
<xs:element name="STATE" type="xs:string" minOccurs="0"/>
|
|
11
|
+
<xs:element name="CATEGORY" type="xs:string" minOccurs="0"/>
|
|
12
|
+
<xs:element name="EXPOSURE" type="xs:string" minOccurs="0"/>
|
|
13
|
+
<xs:element name="CLSFINAL" type="xs:string" minOccurs="0"/>
|
|
14
|
+
<xs:element name="CLSABSTRCT" type="xs:string" minOccurs="0"/>
|
|
15
|
+
<xs:element name="CLSCCINCL" type="xs:string" minOccurs="0"/>
|
|
16
|
+
<xs:element name="FIXPT" type="xs:string" minOccurs="0"/>
|
|
17
|
+
<xs:element name="UNICODE" type="xs:string" minOccurs="0"/>
|
|
18
|
+
<xs:element name="WITH_UNIT_TESTS" type="xs:string" minOccurs="0"/>
|
|
19
|
+
<xs:element name="DURATION" type="xs:string" minOccurs="0"/>
|
|
20
|
+
<xs:element name="RISK" type="xs:string" minOccurs="0"/>
|
|
21
|
+
<xs:element name="MSG_ID" type="xs:string" minOccurs="0"/>
|
|
22
|
+
<xs:element name="REFCLSNAME" type="xs:string" minOccurs="0"/>
|
|
23
|
+
<xs:element name="SHRM_ENABLED" type="xs:string" minOccurs="0"/>
|
|
24
|
+
<xs:element name="ABAP_LANGUAGE_VERSION" type="xs:string" minOccurs="0"/>
|
|
25
|
+
</xs:all>
|
|
26
|
+
</xs:complexType>
|
|
27
|
+
|
|
28
|
+
</xs:schema>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!-- VSEOINTERF - Interface header type (SAP view VSEOINTERF) -->
|
|
3
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
4
|
+
|
|
5
|
+
<xs:complexType name="VseoInterfType">
|
|
6
|
+
<xs:all>
|
|
7
|
+
<xs:element name="CLSNAME" type="xs:string"/>
|
|
8
|
+
<xs:element name="LANGU" type="xs:string" minOccurs="0"/>
|
|
9
|
+
<xs:element name="DESCRIPT" type="xs:string" minOccurs="0"/>
|
|
10
|
+
<xs:element name="EXPOSURE" type="xs:string" minOccurs="0"/>
|
|
11
|
+
<xs:element name="STATE" type="xs:string" minOccurs="0"/>
|
|
12
|
+
<xs:element name="UNICODE" type="xs:string" minOccurs="0"/>
|
|
13
|
+
<xs:element name="ABAP_LANGUAGE_VERSION" type="xs:string" minOccurs="0"/>
|
|
14
|
+
</xs:all>
|
|
15
|
+
</xs:complexType>
|
|
16
|
+
|
|
17
|
+
</xs:schema>
|