WikklyText A wikitext server and rendering library


files/feed-icon-14x14.png Recently Edited Valid XHTML 1.0 Strict
Tags edit
frank, 08 October 2009 (created 05 October 2007)
<!--
    These are the tags generated by wikklytext.buildXML and recognized 
    by wikklytext.buildHTML. Macros are allowed to generate and 
    return any of these as well.

    Last synced with WikklyText sources on 2009-10-08
    
    -- CAUTION -------------------------------------------------------------
    Macro writers MUST ensure that no unfiltered user data is injected into
    the 'style' attribute of <MacroBlock> or <MacroInline> 
    (at least in Safe Mode). 

    This is the only attribute that is not sanity checked when generating
    HTML in Safe Mode.
    ------------------------------------------------------------------------

    General note: Only the <Text*> tags are allowed to have
    character content. ALL of the remaining tags (except for
    the self-closing tags) are containers.
    
    Overall structure:
       <WikklyContent>
          <ErrorsList>
          ..
          </ErrorsList>
          
          <Content>
          ..
          </Content>
-->    

<!-- Overall container -->
<WikklyContent>

<!-- Container for content -->
<Content>

<!-- Used to pass around lists of Elements. Ignore for 
     HTML output (output subelements instead).
-->
<ElementList>

<!-- 
    Links. Only the following subnodes are recognized.
-->
<Link>
  <!-- The object linked to, i.e. <a ..> LinkSource </a> -->
  <LinkSource>
  <!-- The URL, i.e. <a href="LinkDest"> ... </a> -->
  <LinkDest>
  
<!-- 
    Basic text styling, can be nested freely (although for example
    nesting <Bold> inside <Bold> makes no sense, it is allowed).
-->
<Bold>
<Italic>
<Strikethrough>
<Underline>
<Superscript>
<Subscript>

<!-- 
     Generic inline CSS styling.
     If 'style' is missing, uses default highlighting. 
     In 'Safe Mode', style is ignored to prevent HTML injection.
-->
<Highlight [style="CSS style string"]>

<!-- Numbered lists. 'level' is indent level. -->
<NumberedList>
  <NumberedListItem level="NR">

<!-- Unumbered lists. 'level' is indent level. -->
<UnnumberedList>
  <UnnumberedListItem level="NR">  

<!-- Headings. 'level' is heading level -->  
<Heading level="NR">

<!-- Do a block or line indent of contents -->
<BlockIndent>
<LineIndent>

<!-- A block of code -->   
<CodeBlock>

<!-- Inline code -->
<CodeInline>

<!-- 
    Create a named anchor. Uses the first <Text> node
    as the name 
-->
<CreateAnchor>

<!-- Images -->
<Image>
   <!-- Optional: URL to link to (when image is clicked) -->
   <ImageLink> 
   <!-- Source of image, i.e. for <img src=ImageFilename> -->
   <ImageFilename>
   <!-- Title for popup -->
   <ImageTitle>
   
<!-- Tables -->
<Table>
    <!-- Caption, must be first tag if present -->
    <TableCaption>
    <!-- Each row ... -->
    <TableRow>
        <!-- Each cell ... 
             In "Safe Mode", bgcolor is ignored to prevent HTML injection. -->
        <TableCell type="header|data" text-align="left|center|right"
                   [skip="1"] [colspan="NR"] [rowspan="NR"] [bgcolor="color"]>
      
<!-- Definition lists -->
<DefinitionList>
    <!-- Each list entry ... -->
    <DefinitionEntry>
        <!-- One Term & Def per entry.
             Both must be present (even if empty) and in order. -->            
        <DefinitionTerm>
        <DefinitionDef>
      
<!-- A block of content styled by the given CSS class -->        
<CSSBlock class="CLASSNAME">

<!-- Self-closing tags (no subnodes recognized) -->
<Separator />
<BlankLines count="NR" />
<LineBreak />
<DashChar />

<ErrorsList>
    <Error>
        <ErrorMessage>
        <ErrorLookingAt>
        <ErrorTrace>

<!-- 
  A MacroBlock is a DIV-like element with optional class, style, and id attributes.
  It is called "MacroBlock" because it is meant for use by macros to define 
  their own blocks when an existing tag won't do. 
-->
<MacroBlock [class="CLASSNAME"] [style="CSS style"] [id="ID"]>


<!--
  MacroInline is the same as MacroBlock, but is meant as a <span>
  element instead of a <div>.
-->
<MacroInline [class="CLASSNAME"] [style="CSS style"] [id="ID"]>

<!-- 
    As noted above, only <Text*> nodes are allowed to contain
    character data. There are several types of Text nodes depending
    on the type of content.
    
    Text nodes are not allowed to have any subnodes; only their
    character data is recognized.
-->

<!-- Normal text, HTML-special chars are escaped -->
<Text>

<!-- Like <Text>, but whitespace is preserved as well -->
<TextCode>

<!-- No escaping, written as raw chars 
     In "Safe Mode", these are ignored. -->
<TextHTML>

<!-- For URLs under LinkURL or ImageSource tags -->
<TextURL>

<!-- Like <Text> but no wikification of text is performed -->
<TextNoWiki>

<!-- For 2.x parser -- not yet implemented -->

<!-- A macro call -->
<MacroCall>
<!-- Subnodes will be either ... -->
<TextMacroArg>
<!-- 
   ... for args parsed directly from wikitext, but can
   be any other type of node for nodes that have already been evaluated. 
   (Note especially that another <MacroCall> can be one of the elements
   to denote an inner macro call.)

  The name of the macro to call is simply be the first element.text
-->

<!-- Embedded Python code -->
<PyCode>
   <TextPyCode> .. code here ...