schema-resume-validator 1.1.0 → 1.2.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0e49ee98c8f5eb9d19a35053731446e94e6e9cc12471a92c965d39ab8eb5855c
4
- data.tar.gz: 0326c213338e27f959ed7b4e515a409892a0c3ab06ca7d95a398b6a08635e611
3
+ metadata.gz: bd9942db468c15f2679e7859c3dbd74010abf780a63be30634dbef270c81d716
4
+ data.tar.gz: 73c70c68b8ca98b70bd812eeb2fb039e59b7e66517223859af2135cda7704eb6
5
5
  SHA512:
6
- metadata.gz: ea78337519c989d8f312ced4e5fac349bdb6bb2719aeb14f72d45608f823f94f23e739d54ebe76fe8a6c501a9e3d12c1189529778e0bb1e111ce33165cb41b3c
7
- data.tar.gz: 414898422facfaeab31184cc9688e783a8721a3273b3b4fdb2c2c89a78471984a37729f19427084734de50f6a79cca19911faf4ca993415e875a2fd10b24531c
6
+ metadata.gz: 5c29c0143c58013fc96056a29a153830fc537edacddc7cfa265f9e7ee1c6c1c826562b28a756ad8b114ad662908e9e550ed785e110e3fc7c9b2c429e0e60e261
7
+ data.tar.gz: c4c160ce94fb29f8fd43964863f74b06c0d126f36805cb5bf572531af759e915d5057453d1a8ed55be9f57942098d33898b1639ac16737324f420e7bff253515
@@ -192,7 +192,13 @@
192
192
  "@type": "@id",
193
193
  "@container": "@list"
194
194
  },
195
-
195
+
196
+ "positions": {
197
+ "@id": "schema:hasOccupation",
198
+ "@type": "@id",
199
+ "@container": "@list"
200
+ },
201
+
196
202
  "position": {
197
203
  "@id": "schema:jobTitle",
198
204
  "@type": "xsd:string"
@@ -2,10 +2,10 @@
2
2
  "$schema": "https://schema-resume.org/meta-schema.json",
3
3
  "$id": "https://schema-resume.org/meta-schema.json",
4
4
  "$comment": "Primary domain: https://schema-resume.org/ | Alternate domain: https://tradik.github.io/schema-resume/",
5
- "title": "Schema Resume Meta-Schema v1.1.0",
5
+ "title": "Schema Resume Meta-Schema v1.2.0",
6
6
  "description": "Self-hosted meta-schema providing validation rules for resume documents without external dependencies",
7
7
  "type": "object",
8
- "version": "1.1.0",
8
+ "version": "1.2.0",
9
9
  "definitions": {
10
10
  "schemaArray": {
11
11
  "type": "array",
@@ -3,11 +3,11 @@
3
3
  xmlns:sr="https://schema-resume.org/xml/1.0"
4
4
  targetNamespace="https://schema-resume.org/xml/1.0"
5
5
  elementFormDefault="qualified"
6
- version="1.1.0">
6
+ version="1.2.0">
7
7
 
8
8
  <xs:annotation>
9
9
  <xs:documentation>
10
- Schema Resume XML Schema Definition (XSD) v1.1.0
10
+ Schema Resume XML Schema Definition (XSD) v1.2.0
11
11
  Self-hosted XML schema for CV/Resume validation with work authorization and tools tracking
12
12
 
13
13
  This schema provides comprehensive validation for resume/CV documents in XML format.
@@ -17,7 +17,7 @@
17
17
  Primary domain: https://schema-resume.org/
18
18
  Alternate domain: https://tradik.github.io/schema-resume/
19
19
 
20
- Version: 1.1.0
20
+ Version: 1.2.0
21
21
  License: MIT
22
22
  Repository: https://github.com/tradik/schema-resume
23
23
  </xs:documentation>
@@ -201,6 +201,25 @@
201
201
  <xs:element name="endDate" type="sr:iso8601DateType" minOccurs="0"/>
202
202
  <xs:element name="summary" type="xs:string" minOccurs="0"/>
203
203
  <xs:element name="highlights" type="sr:StringListType" minOccurs="0"/>
204
+ <xs:element name="positions" type="sr:PositionListType" minOccurs="0"/>
205
+ </xs:sequence>
206
+ </xs:complexType>
207
+
208
+ <!-- Multiple roles held at the same organization over time (career progression) -->
209
+ <xs:complexType name="PositionListType">
210
+ <xs:sequence>
211
+ <xs:element name="item" type="sr:PositionType" minOccurs="0" maxOccurs="unbounded"/>
212
+ </xs:sequence>
213
+ </xs:complexType>
214
+
215
+ <xs:complexType name="PositionType">
216
+ <xs:sequence>
217
+ <xs:element name="position" type="xs:string" minOccurs="0"/>
218
+ <xs:element name="workType" type="sr:workTypeEnum" minOccurs="0"/>
219
+ <xs:element name="startDate" type="sr:iso8601DateType" minOccurs="0"/>
220
+ <xs:element name="endDate" type="sr:iso8601DateType" minOccurs="0"/>
221
+ <xs:element name="summary" type="xs:string" minOccurs="0"/>
222
+ <xs:element name="highlights" type="sr:StringListType" minOccurs="0"/>
204
223
  </xs:sequence>
205
224
  </xs:complexType>
206
225
 
@@ -223,6 +242,16 @@
223
242
  </xs:sequence>
224
243
  </xs:complexType>
225
244
 
245
+ <!-- Legal disclaimers, consent statements, or data processing notes -->
246
+ <xs:complexType name="LegalNoteType">
247
+ <xs:sequence>
248
+ <xs:element name="text" type="xs:string" minOccurs="0"/>
249
+ <xs:element name="country" type="sr:countryCodeType" minOccurs="0"/>
250
+ <xs:element name="type" type="xs:string" minOccurs="0"/>
251
+ <xs:element name="url" type="xs:anyURI" minOccurs="0"/>
252
+ </xs:sequence>
253
+ </xs:complexType>
254
+
226
255
  <!-- Volunteer Section -->
227
256
  <xs:complexType name="VolunteerType">
228
257
  <xs:sequence>
data/schemas/schema.json CHANGED
@@ -370,6 +370,51 @@
370
370
  "type": "string",
371
371
  "description": "Individual achievement or accomplishment"
372
372
  }
373
+ },
374
+ "positions": {
375
+ "type": "array",
376
+ "description": "Multiple roles held at the same organization over time, capturing career progression such as promotions. Use this to avoid repeating organization details (name, location, url) for each role. The top-level 'position', 'startDate', 'endDate', 'summary', and 'highlights' fields remain valid for single-role entries; prefer either the singular fields or this array, not both, for the same information.",
377
+ "additionalItems": false,
378
+ "items": {
379
+ "type": "object",
380
+ "additionalProperties": true,
381
+ "properties": {
382
+ "@type": {
383
+ "type": "string",
384
+ "description": "Schema.org type, should be 'schema:EmployeeRole' for validator.schema.org compatibility"
385
+ },
386
+ "position": {
387
+ "type": "string",
388
+ "description": "Job title or role held at the organization (e.g., 'Senior Software Engineer')"
389
+ },
390
+ "workType": {
391
+ "type": "string",
392
+ "description": "Type of work arrangement (remote, hybrid, onsite, full-time, part-time, contract, freelance, internship, temporary)",
393
+ "enum": ["remote", "hybrid", "onsite", "full-time", "part-time", "contract", "freelance", "internship", "temporary"]
394
+ },
395
+ "startDate": {
396
+ "$ref": "#/definitions/iso8601",
397
+ "description": "Date when this role began"
398
+ },
399
+ "endDate": {
400
+ "$ref": "#/definitions/iso8601",
401
+ "description": "Date when this role ended (omit if currently in this role)"
402
+ },
403
+ "summary": {
404
+ "type": "string",
405
+ "description": "Overview of responsibilities within this specific role"
406
+ },
407
+ "highlights": {
408
+ "type": "array",
409
+ "description": "Notable achievements and accomplishments in this specific role",
410
+ "additionalItems": false,
411
+ "items": {
412
+ "type": "string",
413
+ "description": "Individual achievement or accomplishment"
414
+ }
415
+ }
416
+ }
417
+ }
373
418
  }
374
419
  }
375
420
  }
@@ -842,8 +887,8 @@
842
887
  }
843
888
  }
844
889
  },
845
- "title": "Schema Resume v1.1.0",
890
+ "title": "Schema Resume v1.2.0",
846
891
  "description": "Self-hosted JSON-LD schema for CV/Resume parsing and validation with work authorization and tools tracking",
847
892
  "type": "object",
848
- "version": "1.1.0"
893
+ "version": "1.2.0"
849
894
  }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schema-resume-validator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Schema Resume
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2025-10-27 00:00:00.000000000 Z
12
+ date: 2026-07-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json-schema