xsl-fo.ss
#cs
(module xsl-fo mzscheme
  
  (require (lib "xml.ss" "webit"))
  
  (provide (all-defined))
  
  (define xsl-fo-ns-url "http://www.w3.org/1999/XSL/Format")
  (define xsl-fox-ns-url "http://xml.apache.org/fop/extensions")
  
  (define (xsl-fo node)
    (make-xml-document (list (bind-namespaces ((fo xsl-fo-ns-url))
                                              node))))
  
  (define (xsl-fo/ext node)
    (make-xml-document (list (bind-namespaces ((fo xsl-fo-ns-url)
                                               (fox xsl-fox-ns-url))
                                              node))))
  
  (define-element (fo:basic-link http://www.w3.org/1999/XSL/Format))
  (define-element (fo:bidi-override http://www.w3.org/1999/XSL/Format))
  (define-element (fo:block http://www.w3.org/1999/XSL/Format))
  (define-element (fo:block-container http://www.w3.org/1999/XSL/Format))
  (define-element (fo:character http://www.w3.org/1999/XSL/Format))
  (define-element (fo:color-profile http://www.w3.org/1999/XSL/Format))
  (define-element (fo:conditional-page-master-reference http://www.w3.org/1999/XSL/Format))
  (define-element (fo:declarations http://www.w3.org/1999/XSL/Format))
  (define-element (fo:external-graphic http://www.w3.org/1999/XSL/Format))
  (define-element (fo:float http://www.w3.org/1999/XSL/Format))
  (define-element (fo:flow http://www.w3.org/1999/XSL/Format))
  (define-element (fo:footnote http://www.w3.org/1999/XSL/Format))
  (define-element (fo:footnote-body http://www.w3.org/1999/XSL/Format))
  (define-element (fo:initial-property-set http://www.w3.org/1999/XSL/Format))
  (define-element (fo:inline http://www.w3.org/1999/XSL/Format))
  (define-element (fo:inline-container http://www.w3.org/1999/XSL/Format))
  (define-element (fo:instream-foreign-object http://www.w3.org/1999/XSL/Format))
  (define-element (fo:layout-master-set http://www.w3.org/1999/XSL/Format))
  (define-element (fo:leader http://www.w3.org/1999/XSL/Format))
  (define-element (fo:list-block http://www.w3.org/1999/XSL/Format))
  (define-element (fo:list-item http://www.w3.org/1999/XSL/Format))
  (define-element (fo:list-item-body http://www.w3.org/1999/XSL/Format))
  (define-element (fo:list-item-label http://www.w3.org/1999/XSL/Format))
  (define-element (fo:marker http://www.w3.org/1999/XSL/Format))
  (define-element (fo:multi-case http://www.w3.org/1999/XSL/Format))
  (define-element (fo:multi-properties http://www.w3.org/1999/XSL/Format))
  (define-element (fo:multi-property-set http://www.w3.org/1999/XSL/Format))
  (define-element (fo:multi-switch http://www.w3.org/1999/XSL/Format))
  (define-element (fo:multi-toggle http://www.w3.org/1999/XSL/Format))
  (define-element (fo:page-number http://www.w3.org/1999/XSL/Format))
  (define-element (fo:page-number-citation http://www.w3.org/1999/XSL/Format))
  (define-element (fo:page-sequence http://www.w3.org/1999/XSL/Format))
  (define-element (fo:page-sequence-master http://www.w3.org/1999/XSL/Format))
  (define-element (fo:region-after http://www.w3.org/1999/XSL/Format))
  (define-element (fo:region-before http://www.w3.org/1999/XSL/Format))
  (define-element (fo:region-body http://www.w3.org/1999/XSL/Format))
  (define-element (fo:region-end http://www.w3.org/1999/XSL/Format))
  (define-element (fo:region-start http://www.w3.org/1999/XSL/Format))
  (define-element (fo:repeatable-page-master-alternatives http://www.w3.org/1999/XSL/Format))
  (define-element (fo:repeatable-page-master-reference http://www.w3.org/1999/XSL/Format))
  (define-element (fo:retrieve-marker http://www.w3.org/1999/XSL/Format))
  (define-element (fo:root http://www.w3.org/1999/XSL/Format))
  (define-element (fo:simple-page-master http://www.w3.org/1999/XSL/Format))
  (define-element (fo:single-page-master-reference http://www.w3.org/1999/XSL/Format))
  (define-element (fo:static-content http://www.w3.org/1999/XSL/Format))
  (define-element (fo:table http://www.w3.org/1999/XSL/Format))
  (define-element (fo:table-and-caption http://www.w3.org/1999/XSL/Format))
  (define-element (fo:table-body http://www.w3.org/1999/XSL/Format))
  (define-element (fo:table-caption http://www.w3.org/1999/XSL/Format))
  (define-element (fo:table-cell http://www.w3.org/1999/XSL/Format))
  (define-element (fo:table-column http://www.w3.org/1999/XSL/Format))
  (define-element (fo:table-footer http://www.w3.org/1999/XSL/Format))
  (define-element (fo:table-header http://www.w3.org/1999/XSL/Format))
  (define-element (fo:table-row http://www.w3.org/1999/XSL/Format))
  (define-element (fo:title http://www.w3.org/1999/XSL/Format))
  (define-element (fo:wrapper http://www.w3.org/1999/XSL/Format))
  
  (define-attribute fo:absolute-position)
  (define-attribute fo:active-state)
  (define-attribute fo:alignment-adjust)
  (define-attribute fo:alignment-baseline)
  (define-attribute fo:auto-restore)
  (define-attribute fo:azimuth)
  (define-attribute fo:background)
  (define-attribute fo:background-attachment)
  (define-attribute fo:background-color)
  (define-attribute fo:background-image)
  (define-attribute fo:background-position)
  (define-attribute fo:background-position-horizontal)
  (define-attribute fo:background-position-vertical)
  (define-attribute fo:background-repeat)
  (define-attribute fo:baseline-shift)
  (define-attribute fo:blank-or-not-blank)
  (define-attribute fo:block-progression-dimension)
  (define-attribute fo:border)
  (define-attribute fo:border-after-color)
  (define-attribute fo:border-after-precedence)
  (define-attribute fo:border-after-style)
  (define-attribute fo:border-after-width)
  (define-attribute fo:border-before-color)
  (define-attribute fo:border-before-precedence)
  (define-attribute fo:border-before-style)
  (define-attribute fo:border-before-width)
  (define-attribute fo:border-bottom)
  (define-attribute fo:border-bottom-color)
  (define-attribute fo:border-bottom-style)
  (define-attribute fo:border-bottom-width)
  (define-attribute fo:border-collapse)
  (define-attribute fo:border-color)
  (define-attribute fo:border-end-color)
  (define-attribute fo:border-end-precedence)
  (define-attribute fo:border-end-style)
  (define-attribute fo:border-end-width)
  (define-attribute fo:border-left)
  (define-attribute fo:border-left-color)
  (define-attribute fo:border-left-style)
  (define-attribute fo:border-left-width)
  (define-attribute fo:border-right)
  (define-attribute fo:border-right-color)
  (define-attribute fo:border-right-style)
  (define-attribute fo:border-right-width)
  (define-attribute fo:border-separation)
  (define-attribute fo:border-spacing)
  (define-attribute fo:border-start-color)
  (define-attribute fo:border-start-precedence)
  (define-attribute fo:border-start-style)
  (define-attribute fo:border-start-width)
  (define-attribute fo:border-style)
  (define-attribute fo:border-top)
  (define-attribute fo:border-top-color)
  (define-attribute fo:border-top-style)
  (define-attribute fo:border-top-width)
  (define-attribute fo:border-width)
  (define-attribute fo:bottom)
  (define-attribute fo:break-after)
  (define-attribute fo:break-before)
  (define-attribute fo:caption-side)
  (define-attribute fo:case-name)
  (define-attribute fo:case-title)
  (define-attribute fo:character)
  (define-attribute fo:clear)
  (define-attribute fo:clip)
  (define-attribute fo:color)
  (define-attribute fo:color-profile-name)
  (define-attribute fo:column-count)
  (define-attribute fo:column-gap)
  (define-attribute fo:column-number)
  (define-attribute fo:column-width)
  (define-attribute fo:content-height)
  (define-attribute fo:content-type)
  (define-attribute fo:content-width)
  (define-attribute fo:country)
  (define-attribute fo:cue)
  (define-attribute fo:cue-after)
  (define-attribute fo:cue-before)
  (define-attribute fo:destination-placement-offset)
  (define-attribute fo:direction)
  (define-attribute fo:display-align)
  (define-attribute fo:dominant-baseline)
  (define-attribute fo:elevation)
  (define-attribute fo:empty-cells)
  (define-attribute fo:end-indent)
  (define-attribute fo:ends-row)
  (define-attribute fo:extent)
  (define-attribute fo:external-destination)
  (define-attribute fo:float)
  (define-attribute fo:flow-name)
  (define-attribute fo:font)
  (define-attribute fo:font-family)
  (define-attribute fo:font-selection-strategy)
  (define-attribute fo:font-size)
  (define-attribute fo:font-size-adjust)
  (define-attribute fo:font-stretch)
  (define-attribute fo:font-style)
  (define-attribute fo:font-variant)
  (define-attribute fo:font-weight)
  (define-attribute fo:force-page-count)
  (define-attribute fo:format)
  (define-attribute fo:glyph-orientation-horizontal)
  (define-attribute fo:glyph-orientation-vertical)
  (define-attribute fo:grouping-separator)
  (define-attribute fo:grouping-size)
  (define-attribute fo:height)
  (define-attribute fo:hyphenate)
  (define-attribute fo:hyphenation-character)
  (define-attribute fo:hyphenation-keep)
  (define-attribute fo:hyphenation-ladder-count)
  (define-attribute fo:hyphenation-push-character-count)
  (define-attribute fo:hyphenation-remain-character-count)
  (define-attribute fo:id)
  (define-attribute fo:indicate-destination)
  (define-attribute fo:initial-page-number)
  (define-attribute fo:inline-progression-dimension)
  (define-attribute fo:internal-destination)
  (define-attribute fo:intrusion-displace)
  (define-attribute fo:keep-together)
  (define-attribute fo:keep-with-next)
  (define-attribute fo:keep-with-previous)
  (define-attribute fo:language)
  (define-attribute fo:last-line-end-indent)
  (define-attribute fo:leader-alignment)
  (define-attribute fo:leader-length)
  (define-attribute fo:leader-pattern)
  (define-attribute fo:leader-pattern-width)
  (define-attribute fo:left)
  (define-attribute fo:letter-spacing)
  (define-attribute fo:letter-value)
  (define-attribute fo:linefeed-treatment)
  (define-attribute fo:line-height)
  (define-attribute fo:line-height-shift-adjustment)
  (define-attribute fo:line-stacking-strategy)
  (define-attribute fo:margin)
  (define-attribute fo:margin-bottom)
  (define-attribute fo:margin-left)
  (define-attribute fo:margin-right)
  (define-attribute fo:margin-top)
  (define-attribute fo:marker-class-name)
  (define-attribute fo:master-name)
  (define-attribute fo:master-reference)
  (define-attribute fo:max-height)
  (define-attribute fo:maximum-repeats)
  (define-attribute fo:max-width)
  (define-attribute fo:media-usage)
  (define-attribute fo:min-height)
  (define-attribute fo:min-width)
  (define-attribute fo:number-columns-repeated)
  (define-attribute fo:number-columns-spanned)
  (define-attribute fo:number-rows-spanned)
  (define-attribute fo:odd-or-even)
  (define-attribute fo:orphans)
  (define-attribute fo:overflow)
  (define-attribute fo:padding)
  (define-attribute fo:padding-after)
  (define-attribute fo:padding-before)
  (define-attribute fo:padding-bottom)
  (define-attribute fo:padding-end)
  (define-attribute fo:padding-left)
  (define-attribute fo:padding-right)
  (define-attribute fo:padding-start)
  (define-attribute fo:padding-top)
  (define-attribute fo:page-break-after)
  (define-attribute fo:page-break-before)
  (define-attribute fo:page-break-inside)
  (define-attribute fo:page-height)
  (define-attribute fo:page-position)
  (define-attribute fo:page-width)
  (define-attribute fo:pause)
  (define-attribute fo:pause-after)
  (define-attribute fo:pause-before)
  (define-attribute fo:pitch)
  (define-attribute fo:pitch-range)
  (define-attribute fo:play-during)
  (define-attribute fo:position)
  (define-attribute fo:precedence)
  (define-attribute fo:provisional-distance-between-starts)
  (define-attribute fo:provisional-label-separation)
  (define-attribute fo:reference-orientation)
  (define-attribute fo:ref-id)
  (define-attribute fo:region-name)
  (define-attribute fo:relative-align)
  (define-attribute fo:relative-position)
  (define-attribute fo:rendering-intent)
  (define-attribute fo:retrieve-boundary)
  (define-attribute fo:retrieve-class-name)
  (define-attribute fo:retrieve-position)
  (define-attribute fo:richness)
  (define-attribute fo:right)
  (define-attribute fo:role)
  (define-attribute fo:rule-style)
  (define-attribute fo:rule-thickness)
  (define-attribute fo:scaling)
  (define-attribute fo:scaling-method)
  (define-attribute fo:score-spaces)
  (define-attribute fo:script)
  (define-attribute fo:show-destination)
  (define-attribute fo:size)
  (define-attribute fo:source-document)
  (define-attribute fo:space-after)
  (define-attribute fo:space-before)
  (define-attribute fo:space-end)
  (define-attribute fo:space-start)
  (define-attribute fo:span)
  (define-attribute fo:speak)
  (define-attribute fo:speak-header)
  (define-attribute fo:speak-numeral)
  (define-attribute fo:speak-punctuation)
  (define-attribute fo:speech-rate)
  (define-attribute fo:src)
  (define-attribute fo:start-indent)
  (define-attribute fo:starting-state)
  (define-attribute fo:starts-row)
  (define-attribute fo:stress)
  (define-attribute fo:suppress-at-line-break)
  (define-attribute fo:switch-to)
  (define-attribute fo:table-layout)
  (define-attribute fo:table-omit-footer-at-break)
  (define-attribute fo:table-omit-header-at-break)
  (define-attribute fo:target-presentation-context)
  (define-attribute fo:target-processing-context)
  (define-attribute fo:target-stylesheet)
  (define-attribute fo:text-align)
  (define-attribute fo:text-align-last)
  (define-attribute fo:text-altitude)
  (define-attribute fo:text-decoration)
  (define-attribute fo:text-depth)
  (define-attribute fo:text-indent)
  (define-attribute fo:text-shadow)
  (define-attribute fo:text-transform)
  (define-attribute fo:top)
  (define-attribute fo:treat-as-word-space)
  (define-attribute fo:unicode-bidi)
  (define-attribute fo:vertical-align)
  (define-attribute fo:visibility)
  (define-attribute fo:voice-family)
  (define-attribute fo:volume)
  (define-attribute fo:white-space)
  (define-attribute fo:white-space-collapse)
  (define-attribute fo:white-space-treatment)
  (define-attribute fo:widows)
  (define-attribute fo:width)
  (define-attribute fo:word-spacing)
  (define-attribute fo:wrap-option)
  (define-attribute fo:writing-mode)
  (define-attribute fo:xml:lang)
  (define-attribute fo:z-index)
  
  (define-element (fox:outline http://xml.apache.org/fop/extensions))
  (define-element (fox:label http://xml.apache.org/fop/extensions))
  
  )