title: EXSLT
text: # EXSLT
  
  EXSLT es una propuesta comunitaria para proveer extensiones al lenguaje XSLT. Está dividido en varios módulos, listados más adelante.
  
  Los paquetes descargables que implementan las extensiones están disponibles en el sitio web oficial, para los procesadores XSLT que no soporten una extensión en particular.
  
  ## Funciones
  
  ### Common EXSLT
  
  Este módulo provee elementos y funciones básicas.
  
  | Función | Tipo devuelto | Tipo de parámetros |
  | - | - | - |
  | exsl:node-set | node-set | object |
  | exsl:object-type | string | object |
  
  ### Math EXSLT
  
  Este módulo provee extensiones para diversas funciones matemáticas.
  
  | Función | Tipo devuelto | Tipo de parámetros |
  | - | - | - |
  | math:min | number | node-set |
  | math:max | number | node-set |
  | math:highest | nodeset | node-set |
  | math:lowest | node-set | node-set |
  | math:abs | number | number |
  | math:acos | number | number |
  | math:asin | number | number |
  | math:atan | number | number |
  | math:atan2 | number | number, number |
  | math:constant | number | string, number |
  | math:cos | number | number |
  | math:exp | number | number |
  | math:log | number | number |
  | math:power | number | number, number |
  | math:random | number | (vacío) |
  | math:sin | number | number |
  | math:sqrt | number | number |
  | math:tan | number | number |
  
  ### Sets EXSLT
  
  Este módulo provee extensiones para trabajar con conjuntos.
  
  | Función | Tipo devuelto | Tipo de parámetros |
  | - | - | - |
  | set:difference | node-set | node-set, node-set |
  | set:intersection | node-set | node-set, node-set |
  | set:distinct | node-set | node-set |
  | set:has-same-node | boolean | node-set, node-set |
  | set:leading | node-set | node-set, node-set |
  | set:trailing | node-set | node-set, node-set |
  
  ### Dates and Times EXSLT
  
  Este módulo provee extensiones relacionadas con fechas y horas.
  
  | Función | Tipo devuelto | Tipo de parámetros |
  | - | - | - |
  | date:date-time | string | (vacío) |
  | date:date | string | string? |
  | date:time | string | string? |
  | date:year | number | string? |
  | date:leap-year | boolean | string? |
  | date:month-in-year | number | string? |
  | date:month-name | string | string? |
  | date:month-abbreviation | string | string? |
  | date:week-in-year | number | string? |
  | date:day-in-year | number | string? |
  | date:day-in-month | number | string? |
  | date:day-of-week-in-month | number | string? |
  | date:day-in-week | number | string? |
  | date:day-name | string | string? |
  | date:day-abbreviation | string | string? |
  | date:hour-in-day | number | string? |
  | date:minute-in-hour | number | string? |
  | date:second-in-minute | number | string? |
  | date:format-date | string | string, string |
  | date:parse-date | string | string, string |
  | date:week-in-month | number | string? |
  | date:difference | string | string, string |
  | date:add | string | string, string |
  | date:add-duration | string | string, string |
  | date:sum | string | node-set |
  | date:seconds | number | string? |
  | date:duration | string | number? |
  
  ### Strings EXSLT
  
  Este módulo provee extensiones para manipular cadenas.
  
  | Función | Tipo devuelto | Tipo de parámetros |
  | - | - | - |
  | str:tokenize | node-set | string, string? |
  | str:replace | node-set | string, object, object |
  | str:padding | string | number, string? |
  | str:align | string | string, string, string? |
  | str:encode-uri | string | string, string, string? |
  | str:decode-uri | string | string, string |
  | str:concat | string | node-set |
  | str:split | node-set | string, string? |
  
  ### Regular Expressions EXSLT
  
  Este módulo provee extensiones para trabajar con expresiones regulares.
  
  | Función | Tipo devuelto | Tipo de parámetros |
  | - | - | - |
  | regexp:test | boolean | string, string, string? |
  | regexp:match | object | string, string, string? |
  | regexp:replace | string | string, string, string, string |
  
  ### Dynamic EXSLT
  
  Este módulo provee extensiones para la evaluación dinámica de cadenas que contienen expresiones XPath.
  
  | Función | Tipo devuelto | Tipo de parámetros |
  | - | - | - |
  | dyn:evaluate | object | string |
  | dyn:min | number | node-set, string |
  | dyn:max | number | node-set, string |
  | dyn:sum | number | node-set, string |
  | dyn:map | node-set | node-set, string |
  | dyn:closure | node-set | node-set, string |
  
  ### Random EXSLT
  
  Este módulo provee extensiones para trabajar con datos aleatorios.
  
  | Función | Tipo devuelto | Tipo de parámetros |
  | - | - | - |
  | random:random-sequence | number | number?, number? |
  