xml.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. /*
  2. Copyright (c) 2004-2012, The Dojo Foundation All Rights Reserved.
  3. Available via Academic Free License >= 2.1 OR the modified BSD license.
  4. see: http://dojotoolkit.org/license for details
  5. */
  6. if(!dojo._hasResource["dojox.highlight.languages.xml"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
  7. dojo._hasResource["dojox.highlight.languages.xml"] = true;
  8. dojo.provide("dojox.highlight.languages.xml");
  9. dojo.require("dojox.highlight._base");
  10. (function(){
  11. var XML_COMMENT = {
  12. className: 'comment',
  13. begin: '<!--', end: '-->'
  14. };
  15. var XML_ATTR = {
  16. className: 'attribute',
  17. begin: ' [a-zA-Z-]+=', end: '^',
  18. contains: ['value']
  19. };
  20. var XML_VALUE = {
  21. className: 'value',
  22. begin: '"', end: '"'
  23. };
  24. var dh = dojox.highlight, dhc = dh.constants;
  25. dh.languages.xml = {
  26. defaultMode: {
  27. contains: ['pi', 'comment', 'cdata', 'tag']
  28. },
  29. case_insensitive: true,
  30. modes: [
  31. {
  32. className: 'pi',
  33. begin: '<\\?', end: '\\?>',
  34. relevance: 10
  35. },
  36. XML_COMMENT,
  37. {
  38. className: 'cdata',
  39. begin: '<\\!\\[CDATA\\[', end: '\\]\\]>'
  40. },
  41. {
  42. className: 'tag',
  43. begin: '</?', end: '>',
  44. contains: ['title', 'tag_internal'],
  45. relevance: 1.5
  46. },
  47. {
  48. className: 'title',
  49. begin: '[A-Za-z:_][A-Za-z0-9\\._:-]+', end: '^',
  50. relevance: 0
  51. },
  52. {
  53. className: 'tag_internal',
  54. begin: '^', endsWithParent: true,
  55. contains: ['attribute'],
  56. relevance: 0,
  57. illegal: '[\\+\\.]'
  58. },
  59. XML_ATTR,
  60. XML_VALUE
  61. ],
  62. // exporting constants
  63. XML_COMMENT: XML_COMMENT,
  64. XML_ATTR: XML_ATTR,
  65. XML_VALUE: XML_VALUE
  66. };
  67. })();
  68. }