- From: W3C Community Development Team <team-community-process@w3.org>
- Date: Wed, 30 Sep 2015 21:50:22 +0000
- To: public-cv2@w3.org
This post is a proposal on parts of the .cv2 syntax for the CV 2.0. Things will still be missing and we need to discuss more in order to create a specification, so feel free to join in on the discussion via the mailing list. Syntax Signs \\ 2 backslashes for section start \\ Personal ... \\ Professional ... \\ Education ... \\ Skills ... \\ Personal ... Additional information for a section can be added anywhere into the .cv2. The parser will recognize everything from a beginning \\ to the next \\ as one section. If two sections are the same, the properties will be recognized as belonging to the same section. Newer (i.e. further down in the file) values will replace older values if they address the same tag, much like cascading stylesheets. /* comments */ As usual in many programming languages, comments can be added in between a slash, asterisk - asterisk, slash combination. Example: /* comments optional - filename: john_doe_timestamp.cv2 */ \{} Special Characters and Escaping Characters /* a name with umlaut as an example of how to escape characters */ fullname: John D\{"o}e The above example syntax is borrowed from LaTeX, although Umlauts and other symbols should be recognized since .cv2 will have UTF-8 encoding as requirement in our specification, so there should only be the need to escape, for example, company names with two backslashes in them or other names that interfere with our .cv2 syntax which should happen rarely if at all. Anything that is input via a form needs to be sanitized and escaped correctly. This is a main security point in our specification. "Values spanning several lines" As newline is our ending character, we need a sign to tell the parser that a value spans several lines. Example: j1.description: "this text spans several lines and is rendered similar to the pre tag in HTML - preserving line breaks" [] Enumerations and Value Ranges Enumerations and value ranges are important for custom tags that are defined by the user and have no defined meaning as well as value ranges for skills in order to create visualizations and charts. Example: \\ Skills CSS AS css Java AS java Project Managemenet AS pm scale1: [0-100] scale2: [Beginner, Intermediate, Expert] css.level: \{scale1:67} css.category: markup languages java.level: \{scale1:85} java.category: programming languages pm.level: \{scale2:Expert} pm.category: organizational Enumerations and value ranges are created using name: [x-y] for value ranges or name: [a, b, c, d, …] for enumerations and must be created before their first reference. They can be addressed via the usual escaping/referencing syntax: \{name:value} Tag Names We will still have to define most tag names. Some tag names are suggested in the Notes post, such as: fullname, faoname, email, birthDate, birthLocation, citizenship, name, dateStart, dateEnd, role, description, degree, level, category, … faoname stands for "For Attention Of" as used in letters and is used to designate the proper salutation. We cannot use first and last name since many cultures around the world use a different concept and people need their full name on their resume as well as some option to tell how they would prefer to be addressed. Multi-Tag Properties Some properties have multiple tags, such as jobs and education. The choice is to either group them in parentheses, making them harder to separate or concatenate anywhere else in the document and also harder to read eventually. So the approach is to treat them similarly to objects in a programming language, addressing the property followed by a dot and the tag. Example: j1.name: Some Company Name Aliases The Alias concept has been borrowed from SQL and can be used for any multi-tag properties. Aliases must be created for user-defined properties such as skills or custom tags. Example: job1 AS j1 j1.name: Some Company Name j1.dateStart: date in format dd.mm.yyyy Cross-References Cross-referencing is very important for the visualizations so additional links can be clearly shown and visualized in various ways, for examples skills can be linked to jobs or jobs to education, etc. Example: j2.description: "created blah, e-mail me: \{email}" j2.additionalInfo: some more blah, had a contract for \{j1} while doing this The syntax for cross-references is \{tagname} including the cross-referenced tag name in the curly brackets. URLs and External Files URLs and external files like pictures and logos can be added to a .cv2 using \{externaltag} where "externaltag" for now only has the options of url:, mailto:, and file:. Example: j2.description: "created \{url:http://blabla.org} in this job, email to \{mailto:myaddress@here.com} for questions" FYI According to the charter (section Decision Process), we need a group consensus or at least a 2/3 majority vote on this proposal where agreement as well as silence implies consensus. If no objections arrive by October 11th 2015, this proposal is regarded as accepted. A small reminder: if you agree, please reply to the public mailing list - if all participants agree or disagree before the 11th of October, we can already move forward with our work. Thank you! ---------- This post sent on CV 2.0 - Global Resume Community Group 'Proposal: .cv2 syntax' https://www.w3.org/community/cv2/2015/09/30/proposal-cv2-syntax/ Learn more about the CV 2.0 - Global Resume Community Group: https://www.w3.org/community/cv2
Received on Wednesday, 30 September 2015 21:50:25 UTC