Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Include Page
apache-felix-ipojo-header
apache-felix-ipojo-header

...

HTML

...


<div class="content">

...

Using XML Schemas

iPOJO provides XML schemas to check iPOJO descriptors (i.e.

...

metadata.xml).

...

Several

...

schemas

...

are

...

provided

...

in

...

order

...

to

...

describe

...

the

...

core

...

syntax,

...

compositions

...

and

...

external

...

handlers.

Center
_ {div:class=borderedTable} || Schema || URL || | iPOJO Core | [

Schema

URL

iPOJO Core

] | | iPOJO Composite | [] | | Temporal Dependency Handler | [] | | Whiteboard pattern handler | [] | | Extender pattern handler | [] | | Event Admin handlers | [] | | JMX handler | [] | {div} _

Note:

...

the

...

schemas

...

are

...

also

...

provided

...

inside

...

implicated

...

bundles.

...


Note:

...

to

...

use the 'dev' schemas,

...

replace

...

CURRENT

...

by

...

SNAPSHOT

...

in

...

the

...

URL.

...


To

...

use

...

those

...

schemas

...

you

...

have

...

to

...

declares

...

those

...

schemas

...

in

...

your

...

metadata.xml

...

file

...

such

...

as

...

in

...

the

...

next

...

snippet

...

using

...

the

...

iPOJO

...

core

...

XML-schema:

Code Block
xml
xml

{code:xml}
<ipojo 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="org.apache.felix.ipojo http://felix.apache.org/ipojo/schemas/CURRENT/core.xsd" 
    xmlns="org.apache.felix.ipojo">
    <component classname="..." ....>
    </component>
</ipojo>
{code}

First,

...

declares

...

the

...

'XMLSChema-instance'

...

namespace.

...

Then,

...

declares

...

used

...

namespaces

...

and

...

schemas

...

in

...

the

...

'xsi:schemaLocation'

...

attribute.

...

This

...

attribute

...

contains

...

pairs

...

'namespace

...

url'

...

separated

...

by

...

spaces.

...

Finally,

...

declares

...

the

...

default

...

namespace

...

to

...

"org.apache.felix.ipojo".

...


You

...

can

...

also

...

use

...

several

...

schemas

...

in

...

the

...

same

...

descriptor

...

by

...

using

...

a

...

header

...

like:

Code Block
xml
xml

{code:xml}
<ipojo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="org.apache.felix.ipojo http://felix.apache.org/ipojo/schemas/CURRENT/core.xsd
	    org.apache.felix.ipojo.extender http://felix.apache.org/ipojo/schemas/CURRENT/extender-pattern.xsd"
	xmlns="org.apache.felix.ipojo"
	xmlns:extender="org.apache.felix.ipojo.extender">
	<component
		classname="org.apache.felix.ipojo.junit4osgi.impl.JunitExtender">
		<extender:extender extension="Test-Suite"
			onArrival="onBundleArrival" onDeparture="onBundleDeparture" />
		<callback transition="invalidate" method="stopping" />
		<callback transition="validate" method="starting" />
		<provides />
	</component>
	<instance
		component="org.apache.felix.ipojo.junit4osgi.impl.JunitExtender" />
</ipojo>
{code}

The

...

only

...

difference

...

is

...

contained

...

in

...

the

...

'schemaLocation'

...

attribute,

...

which

...

contains

...

several

...

pairs.

...

You

...

also

...

need

...

to

...

declare

...

the

...

namespace

...

of

...

the

...

used

...

external

...

handler.

...


If

...

you

...

declare

...

schemas,

...

the

...

iPOJO

...

manipulator

...

automatically

...

checks

...

the

...

validity

...

of

...

the

...

descriptor

...

against

...

the

...

declared

...

schemas.

...

Moreover,

...

if

...

you

...

use

...

'advanced'

...

XML

...

Editor

...

supporting

...

schemas,

...

editing

...

iPOJO

...

descriptors

...

should

...

be

...

eased

...

with

...

auto-completion

...

features.

...

Avoid

...

downloading

...

XML

...

Schemas

...

during

...

the

...

build

...

process

...

The

...

manipulator

...

embeds

...

the

...

iPOJO

...

XML

...

Schemas

...

to

...

avoid

...

using

...

a

...

network

...

connection

...

to

...

download

...

them

...

during

...

the

...

validation

...

process.

...

Keep

...

the

...

same

...

url,

...

the

...

manipulator

...

will

...

just

...

resolve

...

the

...

URL

...

differently

...

to

...

use

...

embedded

...

schemas.

...

You

...

can

...

also

...

skipped

...

this

...

shortcut

...

thanks

...

the

...

the

...

ignoreEmbeddedSchemas

...

parameter

...

(refer

...

to

...

the

...

ant

...

task

...

guide

...

and

...

to

...

the

...

maven

...

plugin

...

guide

...

for

...

further

...

information about configuration).

...



Include Page
apache-felix-ipojo-footer
apache-felix-ipojo-footer

...