tree-sitter-sdml
A tree-sitter grammar for the Simple Domain Modeling Language (SDML). For more information on the language, see the documentation.
Example
module Campaign is
import [xsd skos xml:base dc]
@xml:base = <https://advertising.amazon.com/api-model>
@skos:version = xsd:decimal(2)
datatype Name <- xsd:string is
@xsd:minLength = 5
@xsd:maxLength = 25
end
datatype CampaignId <- xsd:string is
@skos:prefLabel = [
"Campaign Identifier"@en
"Identified de campagne"@fr
]
end
structure Tag is
key -> xsd:NMTOKEN
value -> {0..} rdfs:langStrings
end
entity campaign is
identity campaignId -> CampaignId
name -> Name is
@skos:definition = ""
end
tag -> {0..} Tag
ref target {0..1} -> {0..} Target
end
entity Target
end
Changes
Version: 0.1.9
- Simplified the disjoint
uniontype.
Version: 0.1.8
- Added a disjoint
uniontype.
Version: 0.1.7
- Made field name
sourceCardinalityintosource_cardinality. - Made field name
targetCardinalityintotarget_cardinality.
Version: 0.1.6
- Made
_simple_valueintosimple_valuenamed rule. - Made
_type_referenceintotype_referencenamed rule.