I'm starting to write my own parser that will convert an MPD file to JSON format.
Are the FILE, Name:, Author:, !LICENSE, ROTATION properties case-sensitive? Will they always be the same case as I typed them or should I ignore case?
Thanks.
Is good manner for parser to ignore case sensitive. This simplify your coding and open your world on a whole new opportunities.
(2020-02-20, 22:36)Michael Horvath Wrote: [ -> ]I'm starting to write my own parser that will convert an MPD file to JSON format.
Are the FILE, Name:, Author:, !LICENSE, ROTATION properties case-sensitive? Will they always be the same case or should I ignore case?
Thanks.
For METAs, per the spec:
"In a META command, a keyword follows the line type in the line. The keyword must be in all caps"
So I'd say that, yes, these commands are case-sensitive.
filenames, however, are not.
(2020-02-20, 22:57)Orion Pobursky Wrote: [ -> ]For METAs, per the spec:
"In a META command, a keyword follows the line type in the line. The keyword must be in all caps"
So I'd say that, yes, these commands are case-sensitive.
filenames, however, are not.
Are "Name:" and "Author:" META commands or some other type of command?
[edit]
Never mind. I see them listed in the docs. But you might want to update the "The keyword must be in all caps" bit since it's not always true.
(2020-02-20, 23:07)Michael Horvath Wrote: [ -> ]you might want to update the "The keyword must be in all caps" bit since it's not always true.
Name: and Author: are the only exceptions for backwards compatibility and to prevent recycling the entire library. You can consider them case-sensitive as well.
Also, what is the correct title for the "Unofficial Model" line? I have been calling it "blurb" because I don't know what to call it.
(2020-02-21, 3:02)Michael Horvath Wrote: [ -> ]Also, what is the correct title for the "Unofficial Model" line? I have been calling it "blurb" because I don't know what to call it.
That meta is documented here:
https://www.ldraw.org/article/218.html#filetype
This is another tricky one because the <type> is case-insensitive (except for library files which have a more restrictive guideline). I didnt know that until I just read it in the spec.
(2020-02-21, 4:04)Orion Pobursky Wrote: [ -> ]That meta is documented here:
https://www.ldraw.org/article/218.html#filetype
This is another tricky one because the <type> is case-insensitive (except for library files which have a more restrictive guideline). I didnt know that until I just read it in the spec.
Okay, thanks. Does this mean all MOCs should use "Unofficial Model"?
(2020-02-20, 22:36)Michael Horvath Wrote: [ -> ]I'm starting to write my own parser that will convert an MPD file to JSON format.
Are the FILE, Name:, Author:, !LICENSE, ROTATION properties case-sensitive? Will they always be the same case as I typed them or should I ignore case?
Thanks.
There are some old files, either distributed with the AIOI or in OMR (can't remember where) where "0 file " is in lower case.
If you ignore the case while detecting file headers, then you will face trouble with headers, such as:
Code:
0 FILE File_cabinet.ldr
0 File cabinet for Miniland Figures
0 Name: File_cabinet.ldr
...
My proposed solution for handling this is to:
1) Detect if there is any "0 FILE" statement. If such a statement exist, then only accept proper UPPER CASE 0 FILE statements
2) Otherwise, accept all "0 fILE" case insensitive statements as if they were "0 FILE" statements.
(2020-02-21, 11:07)Lasse Deleuran Wrote: [ -> ]My proposed solution for handling this is to:
1) Detect if there is any "0 FILE" statement. If such a statement exist, then only accept proper UPPER CASE 0 FILE statements
2) Otherwise, accept all "0 fILE" case insensitive statements as if they were "0 FILE" statements.
Since there is no "DESCRIPTION" meta tag, I am interpreting the first commented line without any recognized meta tag as the model description. This does not eliminate every possible issue however.
(2021-04-21, 6:40)Gerald Lasser Wrote: [ -> ]Link is not working
Thanks, I fixed the issue.