Jelix 1.7.18

XmlMapParser
in package
implements jISimpleCompiler

Compiler for the url engine. It can parse urls.xml files.

Interfaces, Classes and Traits

jISimpleCompiler
interface for compiler which needs only one source file.

Table of Contents

ESCAPE_LANG  = 4
ESCAPE_LOCALE  = 8
ESCAPE_NON_ASCII  = 2
ESCAPE_SLASH  = 1
ESCAPE_URLENCODE  = 0
$createUrlContent  : mixed
$createUrlContentInc  : mixed
$createUrlInfos  : mixed
$createUrlInfosDedicatedModules  : mixed
$defaultEntrypointsByType  : array<string|int, UrlMapData>
contain the UrlMapData object corresponding of the default entrypoint of each type.
$entrypoints  : mixed
first element is UrlMapData second element is a parseInfos array.
$entryPointTypeHavingActionInBody  : mixed
$epHasDefaultUrl  : mixed
$modulesDedicatedToDefaultEp  : array<string|int, mixed>
contains, for each entrypoint type, the list of modules that don't appear in any url definitions of any entrypoint of the same type theses modules will then be attached to the default entrypoint of the corresponding entrypoint type.
$modulesPath  : mixed
list all modules path.
$parseInfos  : mixed
$typeparam  : mixed
$xmlfile  : string
compile()  : bool
parse the given file, and store the result in a cache file.
appendUrlInfo()  : mixed
register the given url informations.
buildDynamicParamsRegexp()  : string
build the regexp corresponding to dynamic parts of a pathinfo.
checkStaticPathInfo()  : mixed
extractDynamicParams()  : array<string|int, mixed>
extract all dynamic parts of a pathinfo, read <param> elements.
extractStaticParams()  : mixed
getErrorMsg()  : string
getFinalPathInfo()  : string
returns the combination between $rootPathInfo and the pathinfo attribute of the given $url.
newDedicatedModule()  : mixed
all actions of this module will be assigned to this entry point.
newHandler()  : mixed
newWholeController()  : mixed
all methods of a specific controller will be assigned to this entry point.
parseEntryPointElement()  : mixed
extract informations from an <entrypoint> element.
parseUrlElement()  : mixed
extract informations from an <url> element.
parseXml()  : mixed
readInclude()  : mixed
registerDedicatedModules()  : mixed
register all modules dedicated to specific entrypoints into urls parser/generator data.
registerDefaultEntrypoints()  : mixed
Verify that there is a default entrypoint for each entrypoint type and register these default entrypoints into url parser/generator data.

Constants

Properties

$createUrlContentInc

protected mixed $createUrlContentInc

$createUrlInfosDedicatedModules

protected mixed $createUrlInfosDedicatedModules

$defaultEntrypointsByType

contain the UrlMapData object corresponding of the default entrypoint of each type.

protected array<string|int, UrlMapData> $defaultEntrypointsByType = array()

$entrypoints

first element is UrlMapData second element is a parseInfos array.

protected mixed $entrypoints = array()

$entryPointTypeHavingActionInBody

protected mixed $entryPointTypeHavingActionInBody = array('xmlrpc', 'jsonrpc', 'soap')

$epHasDefaultUrl

protected mixed $epHasDefaultUrl = false

$modulesDedicatedToDefaultEp

contains, for each entrypoint type, the list of modules that don't appear in any url definitions of any entrypoint of the same type theses modules will then be attached to the default entrypoint of the corresponding entrypoint type.

protected array<string|int, mixed> $modulesDedicatedToDefaultEp

key = entrypoint type, value = list of modules

$modulesPath

list all modules path.

protected mixed $modulesPath = array()

$typeparam

protected mixed $typeparam = array('string' => '([^\/]+)', 'char' => '([^\/])', 'letter' => '(\w)', 'number' => '(\d+)', 'int' => '(\d+)', 'integer' => '(\d+)', 'digit' => '(\d)', 'date' => '([0-2]\d{3}\-(?:0[1-9]|1[0-2])\-(?:[0-2][1-9]|3[0-1]))', 'year' => '([0-2]\d{3})', 'month' => '(0[1-9]|1[0-2])', 'day' => '([0-2][1-9]|[1-2]0|3[0-1])', 'path' => '(.*)', 'locale' => '(\w{2,3}(?:(?:\-|_)\w{2,3})?)', 'lang' => '(\w{2,3})')

Methods

appendUrlInfo()

register the given url informations.

protected appendUrlInfo(UrlMapData $u, string $path, mixed $secondaryAction) : mixed
Parameters
$u : UrlMapData
$path : string
$secondaryAction : mixed
Return values
mixed

buildDynamicParamsRegexp()

build the regexp corresponding to dynamic parts of a pathinfo.

protected buildDynamicParamsRegexp(SimpleXmlElement $url, mixed $pathinfo, UrlMapData $u) : string
Parameters
$url : SimpleXmlElement

the url element

$pathinfo : mixed
$u : UrlMapData
Return values
string

the corresponding regular expression

checkStaticPathInfo()

protected checkStaticPathInfo(SimpleXMLElement $url) : mixed
Parameters
$url : SimpleXMLElement
Return values
mixed

extractDynamicParams()

extract all dynamic parts of a pathinfo, read <param> elements.

protected extractDynamicParams(SimpleXmlElement $url, UrlMapData $u, bool $optionalTrailingSlash[, string $rootPathInfo = '/' ]) : array<string|int, mixed>
Parameters
$url : SimpleXmlElement

the url element

$u : UrlMapData
$optionalTrailingSlash : bool
$rootPathInfo : string = '/'

the path info prefix

Return values
array<string|int, mixed>

first element is the final pathinfo second element is the correponding regular expression

extractStaticParams()

protected extractStaticParams(SimpleXmlElement $url, UrlMapData $u) : mixed
Parameters
$url : SimpleXmlElement

the url element

$u : UrlMapData
Return values
mixed

getErrorMsg()

protected getErrorMsg(SimpleXMLElement $xml, string $message) : string
Parameters
$xml : SimpleXMLElement
$message : string
Return values
string

getFinalPathInfo()

returns the combination between $rootPathInfo and the pathinfo attribute of the given $url.

protected getFinalPathInfo(SimpleXMLElement $url, mixed $rootPathInfo) : string
Parameters
$url : SimpleXMLElement
$rootPathInfo : mixed
Return values
string

full pathinfo, or "" if both are empty or "/"

newDedicatedModule()

all actions of this module will be assigned to this entry point.

protected newDedicatedModule(UrlMapData $u, SimpleXMLElement $url) : mixed
Parameters
$u : UrlMapData
$url : SimpleXMLElement
Return values
mixed

newHandler()

protected newHandler(UrlMapData $u, SimpleXmlElement $url[, mixed $rootPathInfo = '/' ]) : mixed
Parameters
$u : UrlMapData
$url : SimpleXmlElement
$rootPathInfo : mixed = '/'
Return values
mixed

newWholeController()

all methods of a specific controller will be assigned to this entry point.

protected newWholeController(UrlMapData $u, SimpleXMLElement $url[, mixed $rootPathInfo = '' ]) : mixed
Parameters
$u : UrlMapData
$url : SimpleXMLElement
$rootPathInfo : mixed = ''
Return values
mixed

parseEntryPointElement()

extract informations from an <entrypoint> element.

protected parseEntryPointElement(SimpleXMLElement $tag, mixed $type) : mixed
Parameters
$tag : SimpleXMLElement
$type : mixed
Tags
throws
MapParserException
Return values
mixed

parseUrlElement()

extract informations from an <url> element.

protected parseUrlElement(SimpleXMLElement $url, UrlMapData $u, bool $optionalTrailingSlash) : mixed
Parameters
$url : SimpleXMLElement
$u : UrlMapData
$optionalTrailingSlash : bool
Return values
mixed

parseXml()

protected parseXml(SimpleXMLElement $xml) : mixed
Parameters
$xml : SimpleXMLElement
Tags
throws
MapParserException
Return values
mixed

readInclude()

protected readInclude(SimpleXmlElement $url, UrlMapData $uInfo, mixed $file) : mixed
Parameters
$url : SimpleXmlElement
$uInfo : UrlMapData
$file : mixed
Return values
mixed

registerDedicatedModules()

register all modules dedicated to specific entrypoints into urls parser/generator data.

protected registerDedicatedModules() : mixed
Return values
mixed

registerDefaultEntrypoints()

Verify that there is a default entrypoint for each entrypoint type and register these default entrypoints into url parser/generator data.

protected registerDefaultEntrypoints() : mixed
Return values
mixed

Search results