XSLT Reference
http://www.inventic.eu/strings
String functions.
Function | Description |
---|---|
makeLower(value) |
convert string to lower |
makeUpper(value) |
convert string to upper |
makeFirstCharUpper(value) |
convert first char to upper |
makeFirstCharLower(value) |
convert first char to lower |
convertCamelCaseToXmlStyle(value,separator='-') |
convert camel case to xml style |
convertXmlStyleToCamelCase(value,firstLower,separator='-') |
convert xml style to camel case |
convertStringStyle(value,style,defaultStyle) |
convert value based on style . If style is empty, use default style |
makeEnglishPlural(value) |
make plural from singular word (car -> cars) |
makeEnglishSingular(value) |
make singular from plural word (cars -> car) |
makeEnglishPluralMultiword(value) |
make plural from singular word (NewCar -> NewCars) |
makeEnglishSingularMultiword(value) |
make singular from plural word (NewCars -> NewCar) |
replace(str,from,to) |
replace from in string to to value |
endsWith(str,val) |
test if passed string ends with val |
count(str,val) |
return number of occurances of val in str |
substringAfterLast(str,val) |
returns string after last occurance of val |
substringBeforeLast(str,val) |
returns string before last occurance of val |
firstNonEmpty(str1,str2,...) |
returns first non-empty value |
namespaceGetPath(value) |
get namespace from full path |
namespaceGetLocalName(value) |
get local name from fullpath |
namespaceConcatPath(v1,v2) |
concate two paths as namespace |
namespaceRemoveStartingSlash(v1) |
removes starting \ from namespace` |
namespaceSubtractTwoPaths(ns1,ns2,direction) |
removes ns2 from ns1 from direction(“begin” or “end”). \a\b\c - \a\b = \c |
namespaceRelativePath(ns1,ns2) |
returns relative path from ns1 to ns2. In case ns2 is independent NS, returns absolute NS2 path. \a\b, \a\b\c = c |
http://www.inventic.eu/system
System functions.
Element | Description |
---|---|
<call-template name="{$param}"/> |
ability to call template with dynamic param name |
http://www.skipper18.com/orm-attributes
Functions for manipulating with ORM Attributes.
Function | Description |
---|---|
ConvertAttributesToOrmAttributes(encapsule,mask,xpath) |
convert attributes to orm attributes |
ConvertXpathItemsToOrmAttributes(encapsule,mask,xpath) |
convert xpath items to orm attribute |
CreateOrmAttributesFromValues(encapsule) |
create orm attributes from passed values |
– value(value,name) |
– inner element, attribute by value |
– xpath(select,name) |
– inner element, attribute by xpath |
CreateAttributeFromOrmAttribute(attribute,orm-attribute) |
create attribute from orm attribute |
ConvertOrmAttributesToAttributes(mask,xpath,class-kind-filter) |
convert orm attributes to attributes |
ConvertOrmAttributesToChildElements(mask,xpath,class-kind-filter,type-kind-filter,last-as-attribute) |
convert orm attribute to child elements |
ExistsOrmAttributeByFullName(full-name) |
test if exists specified orm attribute |
Note: Each function attribute can be passed as xslt param, inner element and in some cases as inner-value.
Note2: class-kind-filter can have values: container,scalar,struct,value (based on orm attribute element class)
Note3: type-kind-filter can have values: container,scalar (based on orm attribute element type)
http://www.skipper18.com/annotations
Functions for manipulation with annotations.
Function | Description |
---|---|
ConvertAttributesToAnnotationElement(*params) |
convert attributes to annotation |
ConvertXpathToAnnotationElement(*params) |
convert xpath items to annotation |
ConvertElementToAnnotationElement(*params) |
convert element to annotation element |
[encapsule,mask,xpath,name,always-create,element,prefix,remove-prefix,annotation-element,ast-param,divider,encapsuler ] |
*params |
ConvertAnnotationElementToAttribute(attribute,full-name) |
create attribute from annotation element by name |
ConvertAnnotationElementsToAttributes(*params) |
convert annotation elements to attributes |
ConvertAnnotationElementsToChildElements(*params) |
convert annotation elements to child element |
ConvertAnnotationElementsToChildElementsAndAttributes(*params) |
convert annotation elements to child element and attributes |
[mask, child-mask, xpath, full-name, encapsuler, encapsuler-ns,default-value-element,default-value-attribute ] |
*params (value-elem/value-attr is for default attr/elem for annotation-value) |
ExistsAnnotationElementByFullName(full-name, sub-path) |
test if exists specified annotation (element) |
ExistsAnnotationElementByFullNameFce(full-name, sub-path) |
test if exists specified annotation (function) |
GetAnnotationValueAsString(full-name, sub-path) |
convert annotation element to single text value (sub-path by @name attribute) (element) |
GetAnnotationValueAsStringFce(full-name, sub-path) |
convert annotation element to single text value (sub-path by @name attribute) (function) |
Note: Each function attribute can be passed as xslt param, inner element and in some cases as inner-value. Note: When xpath contains “.”, function is evaluate on current element
http://www.skipper18.com/extensions-support
Functions for manipulation with complext extensions.
common extension + behavior definition:
Xslt attributes | Description |
---|---|
allow-empty |
whether export this annotation if no parameter inside is filled [default false] |
format |
for which export format use this export |
output |
name of output element to convert behavior [default is lowecased extension name] |
storage-elements |
name of element storing group of items |
storage-element |
name of element storing single item |
storage-params |
where to get referenced item name [auto,none,entity,field]. None/Entity/Auto+norules = inner element, field=Name attribute |
Xslt element | Description |
---|---|
extension |
group of extensions in orm-attributes (gedmo, custom-extensions,….) |
behavior |
single behavior in group of extensions (sluggable in gedmo) |
entity |
parameters stored inside entity annotation |
field |
parameters stored inside field annotation |
parameters of behaviors
Xslt element | Description |
---|---|
parameter |
string parameter |
alias |
how to store this parameter in Orm attributes [default = name ] |
type |
type of parameter [string,list,csv,elements,callback-value, callback-standalone] |
from-template |
xslt template name to generate callback value in FROM direction |
to-template |
xslt template name to generate callback value in TO direction |