I started work on a parser and here are some of the minor issues with the examples in the current spec
I am using the numbering from the source (so Example 00 is Example A1.1)
Example 00
diff --git a/examples/0.json b/examples/0.json
index 34df8ee..0daa9e0 100644
--- a/examples/0.json
+++ b/examples/0.json
@@ -2,7 +2,7 @@
"uri": "http://example.com",
"langCode": "en",
"title": "Example Lexicon",
- "entry": [{
+ "entries": [{
"id": "abandon-verb",
"headword": "abandon",
"partsOfSpeech": ["verb"],
diff --git a/examples/0.xml b/examples/0.xml
index 9e28e2e..0cc9b5a 100644
--- a/examples/0.xml
+++ b/examples/0.xml
@@ -1,7 +1,8 @@
<lexicographicResource uri="http://example.com" langCode="en">
+ <title>Example Dictionary</title>
<entry id="abandon-verb">
<headword>abandon</headword>
- <partOfSpeech value="verb"/>
+ <partOfSpeech tag="verb"/>
<sense id="abandon-verb-1">
<definition>to suddenly leave a place or a person</definition>
<example>
@@ -9,14 +10,16 @@
</example>
<example>
<text>Abandon ship!</text>
- <label value="idiom"/>
+ <label tag="idiom"/>
</example>
+ </sense>
<sense id="abandon-verb-2">
- <label value="mostly-passive"/>
+ <label tag="mostly-passive"/>
<definition>to stop supporting an idea</definition>
<example>
<text>That theory has been abandoned.</text>
</example>
</sense>
</entry>
-<lexicographicResource>
+</lexicographicResource>
+
- JSON property is called
entries
- Add title to example?
label
has a tag
attribute not value
- First
<sense>
tag not closed
- XML
<lexicographicResource>
is closed wrong
Example 01
diff --git a/examples/1.xml b/examples/1.xml
index 5654140..ef026b1 100644
--- a/examples/1.xml
+++ b/examples/1.xml
@@ -7,5 +7,4 @@
<inflectedForm tag="pl">
<text>folúsghlantóirí</text>
</inflectedForm>
- <sense>...</sense>
</entry>
diff --git a/examples/10.json b/examples/10.json
index 961a24f..2c8f6ca 100644
--- a/examples/10.json
+++ b/examples/10.json
@@ -3,6 +3,8 @@
"uri": "http://example.com",
"langCode": "ga",
"translationLanguages": ["en", "de", "cs"],
- ...
+ "entries": [{
+ "headword": "focal"
+ }]
}
Example 10
diff --git a/examples/10.xml b/examples/10.xml
index 64e4520..a938168 100644
--- a/examples/10.xml
+++ b/examples/10.xml
@@ -3,6 +3,8 @@
<translationLanguage langCode="en"/>
<translationLanguage langCode="de"/>
<translationLanguage langCode="cs"/>
- ...
+ <entry>
+ <headword>focal</headword>
+ </entry>
</lexicographicResource>
Example 11
diff --git a/examples/11.json b/examples/11.json
index b69fa6e..2c9794b 100644
--- a/examples/11.json
+++ b/examples/11.json
@@ -28,5 +28,5 @@
"langCode": "cs",
"text": "sklizeň"
}]
- },]
+ }]
}
Example 12
diff --git a/examples/12.json b/examples/12.json
index 0ab250f..1b7ee1d 100644
--- a/examples/12.json
+++ b/examples/12.json
@@ -7,30 +7,30 @@
"senses": [{
"id": "glasses-1",
"definitions": [{"text": "an optical seeing aid"}]
- }, {
+ }]}, {
"id": "microscope",
"headword": "microscope",
"senses": [{
"id": "microscope-1",
"definitions": [{"text": "equipment for looking at very small things"}]
- }, {
+ }]}, {
"id": "lens",
"headword": "lens",
"senses": [{
"id": "lens-1",
"definitions": [{"text": "curved glass that makes things seem bigger"}]
}]
- }],
- "relations": [{
- "type": "meronymy",
- "members": [{
- "memberID": "glasses-1",
- "role": "whole"
- }, {
+ }],
+ "relations": [{
+ "type": "meronymy",
+ "members": [{
+ "memberID": "glasses-1",
+ "role": "whole"
+ }, {
"memberID": "lens-1",
"role": "part"
- }]
- }, {
+ }]
+ }, {
"type": "meronymy",
"members": [{
"memberID": "microscope-1",
@@ -39,22 +39,22 @@
"memberId": "lens-1",
"role": "part"
}]
- }],
- "relationTypes": [{
- "type": "meronymy",
- "description": "part-whole relationship",
- "memberTypes": [{
- "role": "whole",
- "type": "sense",
- "min": 1,
- "max": 1,
- "hint": "navigate"
- }, {
+ }],
+ "relationTypes": [{
+ "type": "meronymy",
+ "description": "part-whole relationship",
+ "memberTypes": [{
+ "role": "whole",
+ "type": "sense",
+ "min": 1,
+ "max": 1,
+ "hint": "navigate"
+ }, {
"role": "part",
"type": "sense",
"min": 1,
"max": 1,
"hint": "navigate"
- }]
}]
- }
+ }]
+}
diff --git a/examples/12.xml b/examples/12.xml
index 5e57296..0104494 100644
--- a/examples/12.xml
+++ b/examples/12.xml
@@ -29,5 +29,5 @@
<description>part-whole relationship</description>
<memberType role="whole" type="sense" min="1" max="1" hint="navigate"/>
<memberType role="part" type="sense" min="1" max="1" hint="navigate"/>
- </relationType
- </lexicographicResource>
+ </relationType>
+</lexicographicResource>
- JSON has many validity errors
- XML has a small validity error
Example 13
diff --git a/examples/13.json b/examples/13.json
index 35a0c8a..d084cee 100644
--- a/examples/13.json
+++ b/examples/13.json
@@ -7,28 +7,28 @@
"senses": [{
"id": "buy-1",
"definitions": [{"text": "get something by paying money for it"}]
- }, {
+ }]}, {
"id": "sell",
"headword": "sell",
"senses": [{
"id": "sell-1",
"definitions": [{"text": "exchange something for money"}]
}]
- }],
- "relations": [{
- "type": "antonyms",
- "members": [
- {"memberID": "buy-1"},
- {"memberID": "sell-1"}
- ]
- }],
- "relationTypes": [{
- "type": "antonyms",
- "memberTypes": [{
- "type": "sense",
- "min": 2,
- "max": 2,
- "hint": "navigate"
- }]
+ }],
+ "relations": [{
+ "type": "antonyms",
+ "members": [
+ {"memberID": "buy-1"},
+ {"memberID": "sell-1"}
+ ]
+ }],
+ "relationTypes": [{
+ "type": "antonyms",
+ "memberTypes": [{
+ "type": "sense",
+ "min": 2,
+ "max": 2,
+ "hint": "navigate"
}]
- }
+ }]
+}
Example 14
diff --git a/examples/14.xml b/examples/14.xml
index 62f6d7d..d7036f3 100644
--- a/examples/14.xml
+++ b/examples/14.xml
@@ -2,21 +2,21 @@
<translationLanguage langCode="de"/>
<entry id="die-see">
<headword>See</headword>
- <partOfSpeech value="n-fem"/>
+ <partOfSpeech tag="n-fem"/>
<sense id="die-see-1">
<headwordTranslation><text>sea</text></headwordTranslation>
</sense>
</entry>
<entry id="das-meer">
<headword>Meer</headword>
- <partOfSpeech value="n-neut"/>
+ <partOfSpeech tag="n-neut"/>
<sense id="das-meer-1">
<headwordTranslation><text>sea</text></headwordTranslation>
</sense>
</entry>
<entry id="der-ozean">
<headword>Ozean</headword>
- <partOfSpeech value="n-masc"/>
+ <partOfSpeech tag="n-masc"/>
<sense id="der-ozean-1">
<headwordTranslation><text>ocean</text></headwordTranslation>
</sense>
partOfSpeech
uses tag
not value
Example 17
diff --git a/examples/17.json b/examples/17.json
index e86433c..aea04f7 100644
--- a/examples/17.json
+++ b/examples/17.json
@@ -6,11 +6,11 @@
"headword": "safe",
"senses": [{
"id": "safe-1",
- "indicator": "protected from harm",
+ "indicator": ["protected from harm"],
"examples": [{"text": "It isn't safe to park here."}]
}, {
"id": "safe-2",
- "indicator": "not likely to cause harm",
+ "indicator": ["not likely to cause harm"],
"examples": [{"text": "Is the ride safe for a small child?"}]
}]
}, {
indicator
is zero or more so must be a list
Example 19
diff --git a/examples/19.json b/examples/19.json
index 64e4560..85029ae 100644
--- a/examples/19.json
+++ b/examples/19.json
@@ -4,6 +4,6 @@
"placeholderMarkers": [
{"startIndex": 9, "endIndex": 13}
],
- "senses": [...]
+ "senses": []
}
diff --git a/examples/19.xml b/examples/19.xml
index 3844464..381f4a6 100644
--- a/examples/19.xml
+++ b/examples/19.xml
@@ -2,6 +2,5 @@
<headword>
continue <placeholderMarker>your</placeholderMarker> studies
</headword>
- <sense.../>
</entry>
Example 02
diff --git a/examples/2.json b/examples/2.json
index 7c0ded3..0c2de59 100644
--- a/examples/2.json
+++ b/examples/2.json
@@ -4,5 +4,5 @@
"pronunciations": [{
"transcriptions": [{"text": "a:rdva:rk"}]
}],
- "senses": [...]
+ "senses": []
}
diff --git a/examples/2.xml b/examples/2.xml
index 55af24c..fa5a24c 100644
--- a/examples/2.xml
+++ b/examples/2.xml
@@ -3,5 +3,4 @@
<pronunciation>
<transcription>a:rdva:rk</transcription>
</pronunciation>
- <sense>...</sense>
</entry>
Example 20
diff --git a/examples/20.json b/examples/20.json
index d2fc2ed..873aca7 100644
--- a/examples/20.json
+++ b/examples/20.json
@@ -10,7 +10,7 @@
"text": "jemanden verprügeln",
"placeholderMarkers": [
{"startIndex": 0, "endIndex": 8}
- ],
+ ]
}]
}]
}
Example 22
diff --git a/examples/22.json b/examples/22.json
index 1997d48..5708b7a 100644
--- a/examples/22.json
+++ b/examples/22.json
@@ -19,7 +19,7 @@
],
"collocateMarkers": [
{"startIndex": 8, "endIndex": 15, "lemma": "provést"}
- ],
+ ]
}]
}]
}]
Example 23
diff --git a/examples/23.json b/examples/23.json
index 8e24909..6c0870d 100644
--- a/examples/23.json
+++ b/examples/23.json
@@ -1,9 +1,9 @@
{
"id": "cat-n",
"headword": "cat",
- "senses": [...],
+ "senses": [],
"etymology": {
- "etymons" [{
+ "etymons": [{
"etymonUnits": [
{"langCode": "enm", "text": "catte"}
]
- Remove
...
- JSON syntax error
Example 03
diff --git a/examples/3.json b/examples/3.json
index ffd405e..339f5d4 100644
--- a/examples/3.json
+++ b/examples/3.json
@@ -4,5 +4,5 @@
"pronunciations": [{
"soundFile": "aardvark.mp3"
}],
- "senses": [...]
+ "senses": []
}
Exmaple 04
diff --git a/examples/4.json b/examples/4.json
index 2b80790..430a537 100644
--- a/examples/4.json
+++ b/examples/4.json
@@ -5,5 +5,5 @@
"soundFile": "aardvark.mp3",
"transcriptions": [{"text": "a:rdva:rk"}]
}],
- "senses": [...]
+ "senses": []
}
Example 05
diff --git a/examples/5.json b/examples/5.json
index 02443ec..125633e 100644
--- a/examples/5.json
+++ b/examples/5.json
@@ -12,7 +12,7 @@
"tag": "pl",
"text": "folúsghlantóirí"
}],
- "senses": [...]
+ "senses": []
}],
"partOfSpeechTags": [{
"tag": "n-masc",
@@ -23,7 +23,7 @@
}],
"inflectedFormTags": [{
"tag": "sg-gen",
- "description": "singular genitive"
+ "description": "singular genitive",
"forPartsOfSpeech": ["n-masc", "n-fem"]
}, {
"tag": "pl",
diff --git a/examples/5.xml b/examples/5.xml
index 95b8947..b5ceb85 100644
--- a/examples/5.xml
+++ b/examples/5.xml
@@ -1,7 +1,7 @@
<lexicographicResource uri="http://example.com" langCode="ga">
<entry id="folúsghlantóir-n">
<headword>folúsghlantóir</headword>
- <partOfSpeech value="n-masc"/>
+ <partOfSpeech tag="n-masc"/>
<inflectedForm tag="sg-gen">
<text>folúsghlantóra</text>
</inflectedForm>
- Remove
...
- JSON syntax error
partOfSpeech
uses tag
Example 07
diff --git a/examples/7.json b/examples/7.json
index bbfc18b..d94bd65 100644
--- a/examples/7.json
+++ b/examples/7.json
@@ -3,5 +3,7 @@
"uri": "http://example.com",
"langCode": "de",
"translationLanguages": ["en"],
- ...
}
diff --git a/examples/7.xml b/examples/7.xml
index b1b0fb5..55bcc8c 100644
--- a/examples/7.xml
+++ b/examples/7.xml
@@ -1,5 +1,7 @@
<lexicographicResource uri="http://example.com" langCode="de">
<title>My German-English Dictionary</title>
<translationLanguage langCode="en"/>
- ...
</lexicographicResource>
- Remove
...
(and trailing comma in JSON)
Example 08
diff --git a/examples/8.json b/examples/8.json
index 4835d8b..b34baea 100644
--- a/examples/8.json
+++ b/examples/8.json
@@ -3,7 +3,7 @@
"headword": "doctor",
"senses": [{
"id": "doctor-n-1",
- "indicator": "medical doctor",
+ "indicator": ["medical doctor"],
"headwordTranslations": [{
"text": "Arzt",
"partsOfSpeech": ["n-masc"]
@@ -13,7 +13,7 @@
}]
}, {
"id": "doctor-n-2",
- "indicator": "academic title",
+ "indicator": ["academic title"],
"headwordTranslations": [{
"text": "Doktor",
"partsOfSpeech": ["n-masc"]
Example 09
diff --git a/examples/9.xml b/examples/9.xml
index 2d2c4f1..b84e5eb 100644
--- a/examples/9.xml
+++ b/examples/9.xml
@@ -1,6 +1,6 @@
<entry id="treppenwitz">
<headword>Treppenwitz</headword>
- <partOfSpeech value="n-masc"/>
+ <partOfSpeech tag="n-masc"/>
<sense id="treppenwitz-1">
<headwordExplanation>
belated realisation of what one could have said
@@ -9,4 +9,5 @@
<text>staircase wit</text>
</headwordTranslation>
</sense>
+</entry>
partOfSpeech
uses tag
- No final tag