GUARANTEEING STRONG (X)HTML COMPLIANCE FOR DYNAMIC WEB APPLICATIONS

Paul G. Talaga, Steve J. Chapin

Abstract

We report on the embedding of a domain specific language, (X)HTML, into Haskell and demonstrate how this superficial context-free language can be represented and rendered to guarantee World Wide Web Consortium (W3C) compliance. Compliance of web content is important for the health of the Internet, accessibility, visibility, and reliable search. While tools exist to verify web content is compliant according to the W3C, few systems guarantee that all dynamically produced content is compliant. We present CH-(X)HTML, a library for generating compliant (X)HTML content for all dynamic content by using Haskell to encode the non-trivial syntax of (X)HTML set forth by theW3C. Any compliant document can be represented with this library, while a compilation or run-time error will occur if non-compliant markup is attempted. To demonstrate our library we present examples and performance measurements.

References

  1. Brewer, J. and Henry, S. L. (2006). Policies relating to web accessibility. http://www.w3.org/WAI/Policy/.
  2. Bringert, B. (2010). cgi: A library for writing cgi programs. http://hackage.haskell.org/package/cgi.
  3. Bringert, B. and Lemmih (2010). fastcgi: A haskell library for writing fastcgi programs. http://hackage.haskell.org/package/fastcgi.
  4. CGI (2010). The common gateway interface. http://hoohoo.ncsa.illinois.edu/cgi/.
  5. Chen, S., Hong, D., and Shen, V. Y. (2005). An experimental study on validation problems with existing html webpages. In International Conference on Internet Computing, pages 373-379.
  6. Collins, G., Beardsley, D., yu Guo, S., and Sanders, J. (2010). Snap: A haskell web framework. http://snapframework.com/.
  7. Davies, D. (2005). W3c compliance and seo. http://www.evolt.org/w3c-compliance-and-seo.
  8. Directgov (2010). The disability discrimination act (dda). http://www.direct.gov.uk/en/DisabledPeople/Rights AndObligations/DisabilityRights/DG 4001068. M. and Shaw, J. (2010).
  9. Group, W. H. W. (2002). Xhtml 1.0: The extensible hypertext markup language (second edition). http://www.w3.org/TR/xhtml1/, http://www.w3.org/TR/xhtml1/.
  10. Hansen, R. (2009). Xss (cross site scripting) prevention cheat sheet. http://ha.ckers.org/xss.html.
  11. Happs (2010). Happs. http://happs.org/.
  12. Html5 (2010). Html5. http://dev.w3.org/html5/spec/ Overview.html.
  13. Jaxb (2010). jaxb. https://jaxb.dev.java.net/.
  14. Kemp, A. (2010). Turbinado. http://wiki.github.com/ alsonkemp/turbinado.
  15. Kiselyov, O. (2010). Hsxml: Typed sxml. http://okmij.org/ftp/Scheme/xml.html#typed-SXML.
  16. Marlow, S. and Bringert, B. (2010). Mohws: Modular haskell web server. http://hackage.haskell.org/cgibin/hackage-scripts/package/mohws.
  17. Meier, S. and der Jeugt, J. V. (2010). http://jaspervdj.be/blaze/.
  18. Moss, T. (2010). Disability discrimination act (dda) & web accessibility. http://www.webcredible.co.uk/userfriendly-resources/web-accessibility/uk-websitelegal-requirements.shtml
  19. Nørmark, K. (2005). Web programming in scheme with laml. J. Funct. Program., 15(1):53-65.
  20. Robertson, W. and Vigna, G. (2009). Static Enforcement of Web Application Integrity Through Strong Typing. In Proceedings of the USENIX Security Symposium, Montreal, Canada.
  21. Saccoccio, R. et al. (2010). Fastcgi. http://www.fastcgi.com /drupal/.
  22. Snoyman, M. (2010). http://docs.yesodweb.com/.
  23. Text.html (2010). Text.html. http://hackage.haskell.org/ package/html
  24. Thiemann, P. (2001). A typed representation for html and xml documents in haskell. Journal of Functional Programming, 12:2002.
  25. Thiemann, P. (2002a). Programmable type systems for domain specific languages.
  26. Thiemann, P. (2002b). Wash/cgi: Server-side web scripting with sessions and typed, compositional forms. In Practical Aspects of Declarative Languages: 4th International Symposium, PADL 2002, volume 2257 of LNCS, pages 192-208. Springer-Verlag.
  27. Thiemann, P. (2005). An embedded domain-specific language for type-safe server-side web-scripting. ACM Transactions on Internet Technology, 5:1533-5399.
  28. Chisholm, W., G. V. I. J. (1999). Web content accessibility guidelines 1.0. http://www.w3.org/TR/WCAG10/.
  29. Wallace, M. and Runciman, C. (1999). Haskell and xml: Generic combinators or type-based translation? pages 148-159. ACM Press.
  30. Wittersheim, A. (2006). Why comply? the movement to w3c compliance. http://ezinearticles.com/?Why-Comply?-TheMovement-to-W3C-Compliance&id=162596.
  31. Xmlbeans (2010). Xmlbeans. http://xmlbeans.apache.org/.
  32. Xmlc (2008). Xmlc. http://xmlc.enhydra.org.
Download


Paper Citation


in Harvard Style

G. Talaga P. and J. Chapin S. (2011). GUARANTEEING STRONG (X)HTML COMPLIANCE FOR DYNAMIC WEB APPLICATIONS . In Proceedings of the 7th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST, ISBN 978-989-8425-51-5, pages 71-79. DOI: 10.5220/0003348800710079


in Bibtex Style

@conference{webist11,
author={Paul G. Talaga and Steve J. Chapin},
title={GUARANTEEING STRONG (X)HTML COMPLIANCE FOR DYNAMIC WEB APPLICATIONS},
booktitle={Proceedings of the 7th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST,},
year={2011},
pages={71-79},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0003348800710079},
isbn={978-989-8425-51-5},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 7th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST,
TI - GUARANTEEING STRONG (X)HTML COMPLIANCE FOR DYNAMIC WEB APPLICATIONS
SN - 978-989-8425-51-5
AU - G. Talaga P.
AU - J. Chapin S.
PY - 2011
SP - 71
EP - 79
DO - 10.5220/0003348800710079