xml.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. define("dojox/highlight/languages/xml", ["dojox/main", "../_base"], function(dojox){
  2. var XML_COMMENT = {
  3. className: 'comment',
  4. begin: '<!--', end: '-->'
  5. };
  6. var XML_ATTR = {
  7. className: 'attribute',
  8. begin: ' [a-zA-Z-]+\\s*=\\s*', end: '^',
  9. contains: ['value']
  10. };
  11. var XML_VALUE = {
  12. className: 'value',
  13. begin: '"', end: '"'
  14. };
  15. var dh = dojox.highlight, dhc = dh.constants;
  16. dh.languages.xml = {
  17. defaultMode: {
  18. contains: ['pi', 'comment', 'cdata', 'tag']
  19. },
  20. case_insensitive: true,
  21. modes: [
  22. {
  23. className: 'pi',
  24. begin: '<\\?', end: '\\?>',
  25. relevance: 10
  26. },
  27. XML_COMMENT,
  28. {
  29. className: 'cdata',
  30. begin: '<\\!\\[CDATA\\[', end: '\\]\\]>'
  31. },
  32. {
  33. className: 'tag',
  34. begin: '</?', end: '>',
  35. contains: ['title', 'tag_internal'],
  36. relevance: 1.5
  37. },
  38. {
  39. className: 'title',
  40. begin: '[A-Za-z:_][A-Za-z0-9\\._:-]+', end: '^',
  41. relevance: 0
  42. },
  43. {
  44. className: 'tag_internal',
  45. begin: '^', endsWithParent: true,
  46. contains: ['attribute'],
  47. relevance: 0,
  48. illegal: '[\\+\\.]'
  49. },
  50. XML_ATTR,
  51. XML_VALUE
  52. ],
  53. // exporting constants
  54. XML_COMMENT: XML_COMMENT,
  55. XML_ATTR: XML_ATTR,
  56. XML_VALUE: XML_VALUE
  57. };
  58. return dh.languages.xml;
  59. });