SnipSnap

SnipSnap is a wiki which added some semantic features, so it can also be considered a semantic wiki.

SnipSnap has has feature::Macros, has feature::PageInclusion, ...

An illustrative DTD descripting SnipSnap's data model is here:  <!ELEMENT Wiki (Page*)> <!ELEMENT Page (PageName, PageContent, File*, Label*, Comment*, Parent, Namespace, Owner, Author, RecentEditor, CreationDate, ModificationDate, Permission*, PageLink*, ViewCount, VersionNumber, Version*, Application)> <!ELEMENT PageName (Name)> <!ELEMENT Name (#PCDATA)> <!ELEMENT File (FileName, MimeType, FileContent, FileSize, Filedate, FileLocation)> <!ELEMENT MimeType (#PCDATA)> <!ELEMENT FileContent (#PCDATA)> <!ELEMENT FileName (#PCDATA)> <!ELEMENT FileSize (LONG)> <!ELEMENT Filedate (TIMESTAMP)> <!ELEMENT FileLocation (#PCDATA)> <!ELEMENT Label (LinkedLabel | CategoryLabel | TaxonomyLabel | TypeLabel)> <!ELEMENT Comment (Name, PageContent, Namespace, Owner, Author, RecentEditor, CreationDate, ModificationDate, Permission*, PageLink*, ViewCount, VersionNumber, Version*, Application)> <!ELEMENT Parent (Page)> <!ELEMENT Namespace (#PCDATA)> <!ELEMENT Owner (User)> <!ELEMENT Author (User)> <!ELEMENT RecentEditor (User)> <!ELEMENT User (Login, Passwd, Email, Role+, Status, CreationDate, ModificationDate, LastAccessTime, LastLoginTime, LastLogoutTime, Application)> <!ELEMENT Login (#PCDATA)> <!ELEMENT PassWd (#PCDATA)> <!ELEMENT Email (#PCDATA)> <!ELEMENT Role (Editor | Admin)> <!ENTITY Editor "Editor"> <!ENTITY Admin "Admin"> <!ELEMENT Status (#PCDATA)> <!ELEMENT CreationDate (Timestamp)> <!ELEMENT ModificationDate (Timestamp)> <!ELEMENT LastAccessTime (Timestamp)> <!ELEMENT LastLoginTime (Timestamp)> <!ELEMENT LastLogoutTime (Timestamp)> <!ELEMENT Application (#PCDATA)> <!ELEMENT Timestamp (#PCDATA)> <!ELEMENT PageContent (Paragraph*)> <!ELEMENT Paragraph ((Line)+)> <!ELEMENT Line ((Macro | Bold | Italic | Strike-through | Url | Horizontal_rule | Internallink | Labelledlink | Header | List | Text | Linebreak)*)> <!ELEMENT Text (#PCDATA)> <!ELEMENT List (OrderedList | UnorderedList)> <!ELEMENT UnorderedList (UnorderedListStyle, ListContent)> <!ELEMENT UnorderedListStyle (bulletList | hyphenList)> <!ENTITY bulletList "bulletList"> <!ENTITY hyphenList "hyphenList"> <!ELEMENT OrderedList (OrderedListStyle, ListContent)> <!ELEMENT OrderedListStyle (numbered | alphabeticLow | alphabeticUp | romanLow | greek | hiragana | katakana)> <!ENTITY numbered "numbered"> <!ENTITY alphabeticLow "alphabeticLow"> <!ENTITY alphabeticUp "alphabeticUp"> <!ENTITY romanLow "romanLow"> <!ENTITY greek "greek"> <!ENTITY hiragana "hiragana"> <!ENTITY katakana "katakana"> <!ELEMENT ListContent (Line)> <!ELEMENT Labelledlink (Name, url)> <!ENTITY Linebreak "\\"> <!ELEMENT InternalLink (linkName)> <!ELEMENT Macro (GeneralMacro | TableMacro)> <!ELEMENT GeneralMacro (Name, Argument*)> <!ELEMENT TableMacro (CellData+)> <!ELEMENT Argument (#PCDATA)> <!ELEMENT CellData (Line)> <!ELEMENT Bold ((GeneralMacro | ItalicBold | BoldStrikeThrough | Url | Horizontal_rule | Internallink | Labelledlink | Header+ | List | Text | Linebreak)+)> <!ENTITY HorizontalRule ""> <!ELEMENT Header (Depth, Line)> <!ELEMENT Depth (#PCDATA)> <!ELEMENT Italic ((GeneralMacro | ItalicBold | ItalicStrikeThrough | Url | Horizontal_rule | Internallink | Labelledlink | Header+ | List | Text | Linebreak)+)> <!ELEMENT StrikeThrough ((GeneralMacro | ItalicStrikeThrough | BoldStrikeThrough | Url | Horizontal_rule | Internallink | Labelledlink | Header+ | List | Text | Linebreak)+)> <!ELEMENT ItalicBold ((GeneralMacro | ItalicBoldStrikeThrough | Url | Horizontal_rule | Internallink | Labelledlink | Header+ | List | Text | Linebreak)+)> <!ELEMENT ItalicStrikeThrough ((GeneralMacro | ItalicBoldStrikeThrough | Url | Horizontal_rule | Internallink | Labelledlink | Header+ | List | Text | Linebreak)+)> <!ELEMENT BoldStrikeThrough ((GeneralMacro | ItalicBoldStrikeThrough | Url | Horizontal_rule | Internallink | Labelledlink | Header+ | List | Text | Linebreak)+)> <!ELEMENT ItalicBoldStrikeThrough ((GeneralMacro | Url | Horizontal_rule | Internallink | Labelledlink | Header+ | List | Text | Linebreak)+)>