Version 1.0.0
January 4, 2025
SCML is a markup language specialized for language learning and multilingual content creation. It features structured content, explicit grammatical elements, and multilingual support.
An SCML document consists of the following elements:
Metadata defines document attributes.
%key{value}%key{value1 | value2 | value3}Example:
%title{Irish Language Lesson 1}
%page{1}
%lang{ga | en | ja}
%description{This is the first lesson in learning the Irish language.}
Sections indicate content type and purpose.
#section_name##subsection_nameExample:
#learn
#read
#answer
Specifies content in specific languages.
@language_code{content}@lang1{content1} | @lang2{content2} | @lang3{content3}Example:
@ga{Dia duit} | @en{Hello} | @ja{こんにちは}
Marks sentence components explicitly.
Syntax: <tag>content</tag>
Common tags:
<v>: verb<n>: noun<adj>: adjective<adv>: adverb<pp>: preposition<vn>: verbal noun<q>: question wordExample:
@ga{<v>Tá</v> <n>Seán</n> <pp>ag</pp> <vn>siúl</vn>.}
Groups phrases and compound expressions.
Syntax: [grouped_elements]
Example:
@ga{<v>Tá</v> <n>Seán</n> [<pp>ag</pp> <vn>siúl</vn>].}
Use numbered lists within sections.
Syntax: number. content
Example:
#read
@ga{<v>Tá</v> <n>Seán</n> [<pp>ag</pp> <vn>siúl</vn>].}
@en{Sean is walking.}
@ja{ショーンは歩いています。}
Comments provide annotations within documents.
Syntax: <!-- comment -->
Example:
<!-- This is a note for learners -->
Use backslash to escape special characters.
Example:
@en{This is how you write \<v\> in SCML.}
SCML is extensible with new tags and attributes. However, they must be clearly defined before use to maintain consistency.
This specification outlines the basic structure and usage of SCML. Implementation may include further extensions and adjustments to meet specific needs.
For questions and feedback:
𝕏 (Twitter): @MichioDevs