ESM-konfigurationsbeskrivning
Detta dokument presenterar en beskrivning av XML-scheman för Efecte-plattformen. Det finns två XML-scheman:
- Schema för mallar som definierar datakort.
- Schema för datakort.
Det här dokumentet är avsett för Efecte-användare och integrationsleverantörer som behöver förstå Efectes XML-scheman.
Synpunkter och förslag till förbättringar kan riktas till följande adress: servicedesk@efecte.com.
Målgruppen för detta dokument är teknisk personal hos Efectes kunder som vill förstå möjligheterna som Efectes XML-scheman erbjuder. Tillfällen då Efectes XML-scheman behöver användas kan till exempel vara:
- Migrera data från befintliga system till Efecte.
- Integrering av Efecte med befintliga informationssystem.
- Uppdaterar Efecte-data med data som samlats in av Efecte Inspector .
Följande namn och förkortningar används i hela detta dokument:
Namn |
Beskrivning |
Attribut |
Attribut är de minsta informationsbyggstenarna i Efectes datahierarki. De märker datakortsfälten och definierar regler och egenskaper för de tillåtna datatyperna. |
Klass |
När du skapar en mall kan du gruppera attributuppsättningar som vanligtvis visas tillsammans under en klass så att du kan återanvända gruppen även i andra mallar. |
Dinglande referens |
Referens från ett datakort till ett annat datakort, som inte innehåller några data. |
Datakort |
Datakortet är där information lagras i Efecte och visas för användarna. Ett datakort baseras på en mall som definierar datakortets utseende och tillåtet informationsinnehåll. |
Datakortfält |
Datakortfält lagrar en del av informationen på ett datakort. Datakortfältet definieras av dess tillhörande attribut. |
Inbäddad referens |
En överordnad-underordnad relation mellan mallar och därmed datakorten som presenterar dessa mallar. |
HMAC |
Meddelandeautentisering med hjälp av kryptografisk hashfunktion (MD5 eller SHA-1) i kombination med en hemlig delad nyckel. XML-importer kan göras från externa system med hjälp av HMAC. |
Hänvisning |
Referens är en länk från ett attribut till en eller flera mallar eller till en extern adress. På ett datakort visas en referens som en länk från ett datakort till ett annat datakort eller till en extern adress. |
Mall |
En mall består av klasser och attribut som till exempel bestämmer utseende och tillåtet innehåll för datakort. |
XML |
XML står för Extensible Markup Language. Det är ett sätt att presentera hierarkiskt strukturerad data i ett läsbart format. |
Malldefinition
Mallar definierar datastrukturen för datakort i Efecte-produkter. Mallar innehåller klasser som fungerar som behållare för attribut. Attribut definierar egenskaperna för datakortfält, som deras datatyp och hur den typen av data ska infogas och presenteras, dvs. typ av indata och utdata. Figuren nedan visar förhållandet mellan mallar och datakort. Observera att det inte visas något samband mellan klasser och data, eftersom klasser används mest för att organisera utdata. Klasser kan också användas för att dela data mellan mallar, de är "överbelastade" och används inte bara för att organisera utdata.

Se Efecte-administrationsmanualen för mer information om mallstrukturen. Syftet med följande stycken är att förklara funktionaliteten hos mall-XML-gränssnittet. Det är bra att förstå mallstrukturen för att bättre förstå det faktiska XML-gränssnittet för datakort.
Export av XML-mall
Export av mallar i XML kan göras från Efectes webbläsarbaserade användargränssnitt eller via Efectes webb- API . Den resulterande XML-filen kommer att innehålla valda mallar och alla deras egenskaper. När du kopierar mallar mellan olika Efecte-instanser är det viktigt att alla mallar som har referenser mellan varandra exporteras tillsammans så att dessa referenser automatiskt återskapas när XML-filen importeras till en annan Efecte-instans.
Configuration Transport Tool (CTT) kan användas för att underlätta export och import av mallar. Observera att det bara kan hantera en mall åt gången. För mer information om CTT, se artikeln Configuration Transport Tool .
Import av XML-mall
Mallar kan importeras till en Efecte-instans via Efectes webbläsarbaserade användargränssnitt. Ingen synkronisering eller uppdateringar av befintliga mallhierarkidata görs, vilket innebär att mallarna skapas som nya mallinstanser även om det redan finns en mall med samma identifieringsinformation. Detta beteende kan komma att ändras i framtida Efecte-versioner.
Definition av datakort
Datakortsformatet XML används för att överföra datakortsdata mellan Efecte och externa system. Efectes webbgränssnitt och webb- API erbjuder möjligheter att skapa nya datakort och även att uppdatera befintliga. Följande kapitel förklarar först hur import av datakort fungerar och fortsätter sedan med att förklara exportfunktionen.
Importera datakort
Importgrunderna
Dataimporter är alltid riktade mot en viss mall. För att till exempel kunna importera användare från externa system måste en användarmall finnas i Efecte. Resultatet av en import är antingen skapandet av nya datakort eller uppdateringar av befintliga.
Mallen definierar datatyperna för datakortet, så importerade datatyper bör beaktas när man skapar en mall för dataimport. Om till exempel användare ska importeras och externa användardata innehåller ett födelsedatum, bör Efecte-mallen skapas så att den också har ett motsvarande datumfält i mallen.
Import av datakort stöder alla attributtyper som Efecte-plattformen stöder:
Datatyp |
Begränsningar för dataform |
Sträng |
Maximal längd definieras i filen framework.properties . Standardvärdet är 450 tecken. Databaser stöder olika längder, så om stränglängden ökas från standardvärdet bör databasrestriktioner beaktas. |
Antal |
Talet begränsas av Java heltalstypen: –2^31 – 2^31 och eventuella databasbegränsningar. Normalt stöder databaser minst samma intervall som Java -heltal. |
Decimaltal |
Decimaltalformatet definieras i filen framework.properties . Du kan ställa in önskad precision för decimaltal. Java BigDecimal och databasens nummerområde definierar det giltiga talområdet för decimaltal. |
Datum |
Datuminmatningsmönstret finns i filen framework.properties . Om originaldata har ett annat mönster måste antingen originaldata konverteras för att följa mönstret i Efecte, eller så måste inmatningsdatummönstret läggas till i Efecte. Minsta och högsta datumvärden kan konfigureras i filen framework.properties och är också databasberoende. |
Datum och tid |
Mönstret för inmatning av datum och tid finns i filen framework.properties . Om originaldata har ett annat mönster måste antingen originaldata konverteras för att följa mönstret i Efecte, eller så måste inmatningsmönstret läggas till i Efecte. Minsta och högsta datumvärden kan konfigureras i filen framework.properties och är också databasberoende. |
Text |
Text begränsas endast av hårdvarubegränsningar (RAM och hårddiskutrymme). |
Referenser |
Referenser följer samma begränsningar som strängar. |
Inbäddade referenser |
Inbäddade referenser följer samma begränsningar som strängar. |
Externa referenser |
Externa referenser följer samma begränsningar som strängar. |
Extern data kan importeras till vilken som helst av dessa typer om valideringen lyckas för den valda typen. Valideringen kontrollerar typens korrekthet och även andra möjliga begränsningar som unikhet och är det värde som krävs.
Matcha inkommande datakort med en mall
Korrekt datakortstyp – dvs. mall – för inkommande XML-data definieras med hjälp av en mallkod, som ska vara unik bland mallarna i en Efecte-instans. På motsvarande sätt matchas datakortsfält med inkommande XML-data med hjälp av attributkoder. Så om vi ska importera datordatakort till Efecte och vi har använt mallkoden "dator" för datormallen måste vi använda samma kod i det inkommande XML-mallens element. Följande XML-utdrag visar mallelementet som gör att XML-data matchar ett datakort med en datormall.
<template code="computer"/>
Matcha inkommande datakort med befintligt
För att kunna matcha inkommande datakorts-XML med ett befintligt datakort i Efecte måste det finnas ett datakortsfält som har definierats som unikt i mallattributkonfigurationen. Efecte-import tolkar inkommande data baserat på mallinformationen och när ett unikt fält hittas försöker Efecte matcha det med data i befintliga datakort. Om en matchning hittas kommer ett befintligt datakort att uppdateras.
Referensfält
Om importerade datakort har referensfält (definierade med attributdatatypinställning i mallhierarkin) skapas dessa referenser vid import genom att matcha XML-attributelementets värdeelementdata mot unika fältvärden i befintliga Efecte-datakort. Om vi har ett helpdesk-ärendedatakort med ett referensfält till klientmallen kan vi ha följande typer av rader i vår XML för att skapa en referens till rätt klient.
<attribute code="job_client">
<value>job.client@company.com</value>
</attribute>
Om klientmallens definition innehåller ett e-postfält som är definierat som unikt och det finns ett klientdatakort i Efecte med samma e-postadress som i ovanstående XML, skulle vi få en referens mellan det importerade ärendet och den befintliga klienten.
Dinglande referenser
Ibland importeras datakort som refererar till ett annat datakort till Efecte före datakortet det refererar till. I det här fallet kan funktionen för dinglande referenser användas för att skapa referensen i förväg. Efecte åstadkommer detta genom att skapa ett tomt datakort istället för det refererade datakortet. När det faktiska refererade datakortet importeras uppdateras det tomma datakortet och som slutresultat har vi både datakorten inuti Efecte och en referens mellan dem.
Inbäddade referenser
Inbäddade referenser är avsedda att skapa överordnade-underordnade datakortstrukturer där livscykeln för underordnade datakort är beroende av överordnade kortet. När överordnade kortet till ett kort tas bort, tas även underordnade kortet bort. Dessutom kan inga andra datakort referera till underordnade kortet; det ägs helt av sin överordnade entitet. Överordnade-underordnade datakortrelationer kan importeras till Efecte, men med en begränsning: överordnade och dess underordnade kortet måste importeras i samma XML-dokument och de måste använda embeddedreference-elementet för att ange referensen mellan dem. Här är ett exempel på hur en inbäddad referens ser ut i XML-format inuti överordnade entiteten:
<attribute code="embedded_display">
<embeddedreference id="559122" name="DISP0001"/>
</attribute>
Då skulle du också ha det faktiska inbäddade datakortet med ett matchande ID i samma XML.
<entity id="559122" name="DISP0001">
Anteckningar om datakort
Datakortsanteckningar kan också skapas via XML-importgränssnittet. Här är ett exempelutdrag från XML som visar en enskild anteckning:
<note creator="user_1" timestamp="21.01.2004 00:42" follow-references="false">
<name>Should this card be deleted?</name>
<text><![CDATA[I think that this card could be removed from the system. Am I correct?]]></text>
</note>
Exempel på import av datakort
I Efecte Asset-produkten finns en mall som heter Dator i standardmallvalet. Vi ska nu demonstrera ett scenario där en ny dator skapas i Efecte via XML-importgränssnittet. För korthetens skull förkortas XML-filen till att endast innehålla ett par datakortsfält. Här är XML-filen:
<?xml version="1.0" encoding="UTF-8" ?>
<entityset>
<entity name="COMPUTER001">
<template code="computer"/>
<attribute code="software">
<value>ATI Display Driver</value>
<value>Java Web Start</value>
</attribute>
<attribute code="host_name">
<value>computer001</value>
</attribute>
</entity>
</entityset>Som framgår av XML-filen innehåller den importerade datorn två fält, programvara och värdnamn. Allt vi nu behöver är att vår datormall har "dator" som kod och att de två fälten har matchande koder i datormallen. Låt oss anta att värdnamnet är den unika identifieraren för datordatakort.
Vår datormalls programattribut har konfigurerats att vara en referens till en programmall. Det betyder att vi har separata datakort för varje programtyp. Under importen skapas referenser genom att matcha innehållet i XML-värdeelementen mot de unika fälten i Efecte-instansen. Det betyder att vi i vårt exempel måste ha definierat minst ett attribut som unikt och de faktiska datafälten som definieras av det attributet ska innehålla namnen på programvaran. Som introducerats i kapitel 3.1.5 kan vi använda dinglande referensläge för att skapa programkort med datorimporterna.
Skicka en importförfrågan
Det finns ett par olika sätt att komma åt XML-importgränssnittet för datakort. Det enklaste sättet att köra importer är via Efectes webbläsarbaserade användargränssnitt. Data kan också importeras genom att skicka XML som en HTTP POST till en angiven Efecte-URL. En meddelandeautentiseringskod (HMAC) måste genereras för den externa programvaran och denna kod skickas som en parameter i HTTP-begäran. Efecte tillhandahåller importverktyg som hjälper till att generera hashkoder och konvertera externa data till acceptabel XML-form.
Efecte 4.0 introducerade webb- API , vilket är det föredragna sättet att importera datakort till Efecte. Inga verktyg för HMAC-generering behövs, eftersom HTTP BASIC-autentisering används; allt du behöver är användar-ID och lösenord. Det är viktigt att använda webb- API via HTTPS, så att konfidentiell information inte överförs i klartextformat.
Exportera datakort
Datakort kan exporteras från Efecte i XML-format. Efectes sökfunktioner kan användas för att definiera uppsättningen datakort som exporteras. Bilagorna innehåller ett exempel på hur den exporterade datakorts-XML:en ser ut. Som du kan se är XML-formatet ganska likt importformatet. Det finns många valfria attribut i datakorts-XML-schemat eftersom vanligtvis bara en delmängd av attributen behövs i importsituationer medan fler attribut behövs i exportformatet för att bevara datakortsanteckningar, inbäddade referenser och liknande.
Efecte Service Management Tool (ESM) tillhandahåller två olika API :er: Web API och REST API (som ersätter det förra), som kan användas för att söka efter datakort. Detta ger möjlighet att hämta datakortsinformation från Efecte.
Bilagor
Beskrivning av mallhierarki
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<!--
Efecte Template hierarchy XML Schema Definition
$Revision: 19053 $
$Date: 2006-03-14 15:07:15 +0200 $
-->
<xs:element name="templateset">
<xs:complexType>
<xs:sequence>
<xs:element ref="template" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="template">
<xs:complexType>
<xs:sequence>
<xs:element ref="id" minOccurs="0" maxOccurs="1"/>
<xs:element ref="code" minOccurs="1" maxOccurs="1"/>
<xs:element ref="name" minOccurs="1" maxOccurs="1"/>
<xs:element ref="description" minOccurs="0" maxOccurs="1"/>
<xs:element ref="system-code" minOccurs="1" maxOccurs="1"/>
<xs:element ref="protected" minOccurs="1" maxOccurs="1"/>
<xs:element ref="reference-cascade" minOccurs="1" maxOccurs="1"/>
<xs:element ref="class" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="id" type="xs:string"/>
<xs:element name="code" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element name="description" type="xs:string"/>
<xs:element name="system-code" type="xs:string"/>
<xs:element name="protected" type="xs:boolean"/>
<xs:element name="reference-cascade" type="xs:boolean"/>
<xs:element name="class">
<xs:complexType>
<xs:sequence>
<xs:element ref="id" minOccurs="0" maxOccurs="1"/>
<xs:element ref="name" minOccurs="1" maxOccurs="1"/>
<xs:element ref="order" minOccurs="1" maxOccurs="1"/>
<xs:element ref="attribute" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="order" type="xs:nonNegativeInteger"/>
<xs:element name="attribute">
<xs:complexType>
<xs:sequence>
<xs:element ref="id" minOccurs="0" maxOccurs="1"/>
<xs:element ref="code" minOccurs="0" maxOccurs="1"/>
<xs:element ref="name" minOccurs="1" maxOccurs="1"/>
<xs:element ref="primary" minOccurs="0" maxOccurs="1"/>
<xs:element ref="datatype" minOccurs="1" maxOccurs="1"/>
<xs:element ref="referenser" minOccurs="0" maxOccurs="1"/>
<xs:element ref="beskrivning" minOccurs="0" maxOccurs="1"/>
<xs:element ref="standard" minOccurs="0" maxOccurs="1"/>
<xs:element ref="flervärde" minOccurs="1" maxOccurs="1"/>
<xs:element ref="utdata-visas-alltid" minOccurs="1" maxOccurs="1"/>
<xs:element ref="statisk" minOccurs="1" maxOccurs="1"/>
<xs:element ref="statiska-värden" minOccurs="0" maxOccurs="1"/>
<xs:element ref="hierarki" minOccurs="1" maxOccurs="1"/>
<xs:element ref="endast-hierarki-löv" minOccurs="1" maxOccurs="1"/>
<xs:element ref="special" minOccurs="1" maxOccurs="1"/>
<xs:element ref="expand-references-automatically" minOccurs="1" maxOccurs="1"/>
<xs:element ref="expand-complete-output-automatically" minOccurs="1" maxOccurs="1"/>
<xs:element ref="importera-refererad-data-till-hänvisning" minOccurs="1" maxOccurs="1"/>
<xs:element ref="hanterare" minOccurs="0" maxOccurs="1"/>
<xs:element ref="rubrik" minOccurs="0" maxOccurs="1"/>
<xs:element ref="sidfot" minOccurs="0" maxOccurs="1"/>
<xs:element ref="stor-text" minOccurs="1" maxOccurs="1"/>
<xs:element ref="query-hidden" minOccurs="1" maxOccurs="1"/>
<xs:element ref="utgång-dold" minOccurs="1" maxOccurs="1"/>
<xs:element ref="query-header-hidden" minOccurs="1" maxOccurs="1"/>
<xs:element ref="utdata-header-dold" minOccurs="1" maxOccurs="1"/>
<xs:element ref="fältbredd" minOccurs="1" maxOccurs="1"/>
<xs:element ref="fälthöjd" minOccurs="1" maxOccurs="1"/>
<xs:element ref="utrymmesbehov" minOccurs="1" maxOccurs="1"/>
<xs:element ref="order" minOccurs="1" maxOccurs="1"/>
<xs:element ref="vald" minOccurs="1" maxOccurs="1"/>
<xs:element ref="unik" minOccurs="1" maxOccurs="1"/>
<xs:element ref="obligatorisk" minOccurs="1" maxOccurs="1"/>
<xs:element ref="skyddad" minOccurs="1" maxOccurs="1"/>
<xs:element ref="metadata" minOccurs="0" maxOccurs="obegränsad"/>
</xs:sekvens>
</xs:complexType>
</xs:element>
<xs:element namn="primär" typ="xs:boolean"/>
<xs:element namn="datatyp">
<xs:enkelTyp>
<xs:begränsning bas="xs:sträng">
<xs:uppräkning värde="datum"/>
<xs:uppräkning värde="datumtid"/>
<xs:uppräkning värde="inbäddadreferens"/>
<xs:uppräkning värde="externreferens"/>
<xs:uppräkning värde="flyta"/>
<xs:uppräkning värde="heltal"/>
<xs:uppräkning värde="referens"/>
<xs:uppräkning värde="sträng"/>
<xs:uppräkning värde="text"/>
</xs:begränsning>
</xs:enkelTyp>
</xs:element>
<xs:element namn="referenser">
<xs:komplextyp>
<xs:sekvens>
<xs:element namn="referens" typ="xs:sträng" minOccurs="1" maxOccurs="obegränsad"/>
</xs:sekvens>
</xs:complexType>
</xs:element>
<xs:element namn="standard" typ="xs:sträng"/>
<xs:element namn="flervärde" typ="xs:boolean"/>
<xs:element namn="utdata-visas-alltid" typ="xs:boolean"/>
<xs:element namn="statisk" typ="xs:boolean"/>
<xs:element namn="statiska-värden">
<xs:komplextyp>
<xs:sekvens>
<xs:element ref="statiskt-värde" minOccurs="1" maxOccurs="obegränsad"/>
</xs:sekvens>
</xs:complexType>
</xs:element>
<xs:element namn="statiskt-värde">
<xs:komplextyp>
<xs:sekvens>
<xs:element ref="värde" minimiförekomster="0" maxOccurs="1"/>
<xs:element ref="statiskt-värde" minOccurs="0" maxOccurs="obegränsad"/>
</xs:sekvens>
<xs:attribut namn="värde" typ="xs:sträng" använd="valfritt"/>
</xs:complexType>
</xs:element>
<xs:element namn="värde" typ="xs:sträng"/>
<xs:element namn="hierarki" typ="xs:boolean"/>
<xs:element namn="endasthierarki-löv" typ="xs:boolean"/>
<xs:element namn="special" typ="xs:boolean"/>
<xs:element namn="expand-references-automatically" typ="xs:boolean"/>
<xs:element namn="expand-complete-output-automatically" typ="xs:boolean"/>
<xs:element namn="importera-refererad-data-till-hänvisningskälla" typ="xs:boolean"/>
<xs:element namn="hanterare" typ="xs:sträng"/>
<xs:element namn="rubrik" typ="xs:sträng"/>
<xs:element namn="sidfot" typ="xs:sträng"/>
<xs:element namn="stortext" typ="xs:boolean"/>
<xs:element namn="query-hidden" typ="xs:boolean"/>
<xs:element namn="utgång-dold" typ="xs:boolean"/>
<xs:element namn="frågehuvud-dold" typ="xs:boolean"/>
<xs:element namn="utdata-header-dold" typ="xs:boolean"/>
<xs:element namn="fältbredd" typ="xs:ickeNegativtHeltal"/>
<xs:element namn="fälthöjd" typ="xs:ickeNegativtHeltal"/>
<xs:element namn="utrymmesbehov">
<xs:enkelTyp>
<xs:begränsning bas="xs:heltal">
<xs:minInkluderande värde="1"/>
<xs:maxInkluderande värde="4"/>
</xs:begränsning>
</xs:enkelTyp>
</xs:element>
<xs:element namn="vald" typ="xs:boolean"/>
<xs:element namn="unik" typ="xs:boolean"/>
<xs:element namn="obligatoriskt" typ="xs:boolean"/>
<xs:element namn="metadata">
<xs:komplextyp>
<xs:attribut namn="namn" typ="xs:sträng" använd="obligatorisk"/>
<xs:attribut namn="värde" typ="xs:sträng" använd="obligatorisk"/>
</xs:complexType>
</xs:element>
</xs:schema>Exempel på XML-mall
<?xml version="1.0" encoding="UTF-8"?>
<templateset>
<template>
<id>171</id>
<code>client_contact</code>
<name>Contact</name>
<system-code>client</system-code>
<protected>false</protected>
<reference-cascade>false</reference-cascade>
<class>
<id>279</id>
<name>Contact information</name>
<order>0</order>
<attribute>
<code>contact_first_name</code>
<name>First name</name>
<datatype>string</datatype>
<multivalue>false</multivalue>
<output-is-always-shown>false</output-is-always-shown>
<static>false</static>
<hierarchy>false</hierarchy>
<hierarchy-leafs-only>false</hierarchy-leafs-only>
<special>false</special>
<expand-references-automatically>false</expand-references-automatically>
<expand-complete-output-automatically>false</expand-complete-output-automatically>
<import-referenced-data-to-referrer>false</import-referenced-data-to-referrer>
<large-text>false</large-text>
<query-hidden>false</query-hidden>
<output-hidden>false</output-hidden>
<query-header-hidden>false</query-header-hidden>
<output-header-hidden>false</output-header-hidden>
<field-width>25</field-width>
<field-height>1</field-height>
<space-demand>3</space-demand>
<order>100</order>
<selected>false</selected>
<unique>false</unique>
<required>false</required>
<protected>false</protected>
</attribute>
<attribute>
<name>Photo</name>
<datatype>externalreference</datatype>
<multivalue>false</multivalue>
<output-is-always-shown>false</output-is-always-shown>
<static>false</static>
<hierarchy>false</hierarchy>
<hierarchy-leafs-only>false</hierarchy-leafs-only>
<special>true</special>
<expand-references-automatically>false</expand-references-automatically>
<expand-complete-output-automatically>false</expand-complete-output-automatically>
<import-referenced-data-to-referrer>false</import-referenced-data-to-referrer>
<handler>com.bitmount.equipment.entitydatahandler.plugin.ImageHandler</handler>
<large-text>false</large-text>
<query-hidden>true</query-hidden>
<output-hidden>true</output-hidden>
<query-header-hidden>false</query-header-hidden>
<output-header-hidden>false</output-header-hidden>
<field-width>40</field-width>
<field-height>1</field-height>
<space-demand>4</space-demand>
<order>100</order>
<selected>false</selected>
<unique>false</unique>
<required>false</required>
<protected>false</protected>
</attribute>
<attribute>
<code>contact_last_name</code>
<name>Last name</name>
<datatype>string</datatype>
<multivalue>false</multivalue>
<output-is-always-shown>false</output-is-always-shown>
<static>false</static>
<hierarchy>false</hierarchy>
<hierarchy-leafs-only>false</hierarchy-leafs-only>
<special>false</special>
<expand-references-automatically>falskt</expand-references-automatically>
<expand-complete-output-automatically>false</expand-complete-output-automatically>
<import-referenced-data-to-referrer>false</import-referenced-data-to-referrer>
<large-text>falsk</large-text>
<query-hidden>falskt</query-hidden>
<output-hidden>falskt</output-hidden>
<query-header-hidden>falskt</query-header-hidden>
<output-header-hidden>false</output-header-hidden>
<fältbredd>25</fältbredd>
<fälthöjd>1</fälthöjd>
<utrymmesbehov>3</utrymmesbehov>
<beställning>200</beställning>
<vald>falsk</vald>
<unique>falsk</unique>
<obligatoriskt>falskt</obligatoriskt>
<protected>falskt</protected>
</attribut>
<attribut>
<code>kontaktens_fullständiga_namn</code>
<namn>Fullständig namn
sant
<datatyp>sträng</datatyp>
<multivalue>falskt</multivalue>
<output-is-always-showen>falskt</output-is-always-showen>
<static>falskt</static>
<hierarchy>falskt</hierarchy>
<hierarchy-leafs-only>falskt</hierarchy-leafs-only>
sant
<expand-references-automatically>falskt</expand-references-automatically>
<expand-complete-output-automatically>false</expand-complete-output-automatically>
<import-referenced-data-to-referrer>false</import-referenced-data-to-referrer>
<handler>com.bitmount.equipment.entitydatahandler.plugin.AttributeCombinerHandler</handler>
<large-text>falsk</large-text>
<query-hidden>falskt</query-hidden>
<output-hidden>falskt</output-hidden>
<query-header-hidden>falskt</query-header-hidden>
<output-header-hidden>false</output-header-hidden>
<fältbredd>25</fältbredd>
<fälthöjd>1</fälthöjd>
<utrymmesbehov>3</utrymmesbehov>
<beställning>300</beställning>
sant
<unique>sant</unique>
<obligatoriskt>falskt</obligatoriskt>
<protected>falskt</protected>
<metadata namn="kontaktens_förnamn" värde="20"/>
<metadata namn="kontaktens_efternamn" värde="10"/>
<metadata namn="avgränsare" värde=","/>
</attribut>
<attribut>
<code>kontaktföretag</code>
<namn>Företag</namn>
<datatyp>sträng</datatyp>
<multivalue>falskt</multivalue>
<output-is-always-showen>falskt</output-is-always-showen>
sant
<statiska-värden>
<statiskt-värde>
<värde>Företag 1</värde>
</statisktvärde>
<statiskt-värde>
<värde>Företag 2</värde>
</statisktvärde>
</statiska-värden>
<hierarchy>falskt</hierarchy>
<hierarchy-leafs-only>falskt</hierarchy-leafs-only>
<special>falsk</special>
<expand-references-automatically>falskt</expand-references-automatically>
<expand-complete-output-automatically>false</expand-complete-output-automatically>
<import-referenced-data-to-referrer>false</import-referenced-data-to-referrer>
<large-text>falsk</large-text>
<query-hidden>falskt</query-hidden>
<output-hidden>falskt</output-hidden>
<query-header-hidden>falskt</query-header-hidden>
<output-header-hidden>false</output-header-hidden>
<fältbredd>25</fältbredd>
<fälthöjd>1</fälthöjd>
<utrymmesbehov>1</utrymmesbehov>
<beställning>350</beställning>
<vald>falsk</vald>
<unique>falsk</unique>
<obligatoriskt>falskt</obligatoriskt>
<protected>falskt</protected>
</attribut>
<attribut>
e-post
<namn>E-postadress</namn>
<datatyp>sträng</datatyp>
<multivalue>falskt</multivalue>
<output-is-always-showen>falskt</output-is-always-showen>
<static>falskt</static>
<hierarchy>falskt</hierarchy>
<hierarchy-leafs-only>falskt</hierarchy-leafs-only>
<special>falsk</special>
<expand-references-automatically>falskt</expand-references-automatically>
<expand-complete-output-automatically>false</expand-complete-output-automatically>
<import-referenced-data-to-referrer>false</import-referenced-data-to-referrer>
<large-text>falsk</large-text>
<query-hidden>falskt</query-hidden>
<output-hidden>falskt</output-hidden>
<query-header-hidden>falskt</query-header-hidden>
<output-header-hidden>false</output-header-hidden>
<fältbredd>25</fältbredd>
<fälthöjd>1</fälthöjd>
<utrymmesbehov>3</utrymmesbehov>
<beställning>400</beställning>
sant
<unique>sant</unique>
<obligatoriskt>sant</obligatoriskt>
<protected>falskt</protected>
</attribut>
<attribut>
<code>kontakttelefonnummer</code>
<namn>Telefon nummer</namn>
<datatyp>sträng</datatyp>
<multivalue>falskt</multivalue>
<output-is-always-showen>falskt</output-is-always-showen>
<static>falskt</static>
<hierarchy>falskt</hierarchy>
<hierarchy-leafs-only>falskt</hierarchy-leafs-only>
<special>falsk</special>
<expand-references-automatically>falskt</expand-references-automatically>
<expand-complete-output-automatically>false</expand-complete-output-automatically>
<import-referenced-data-to-referrer>false</import-referenced-data-to-referrer>
<large-text>falsk</large-text>
<query-hidden>falskt</query-hidden>
<output-hidden>falskt</output-hidden>
<query-header-hidden>falskt</query-header-hidden>
<output-header-hidden>false</output-header-hidden>
<fältbredd>25</fältbredd>
<fälthöjd>1</fälthöjd>
<utrymmesbehov>1</utrymmesbehov>
<beställning>450</beställning>
<vald>falsk</vald>
<unique>falsk</unique>
<obligatoriskt>falskt</obligatoriskt>
<protected>falskt</protected>
</attribut>
<attribut>
<code>kontaktadress</code>
<namn>Adress</namn>
text
<multivalue>falskt</multivalue>
<output-is-always-showen>falskt</output-is-always-showen>
<static>falskt</static>
<hierarchy>falskt</hierarchy>
<hierarchy-leafs-only>falskt</hierarchy-leafs-only>
<special>falsk</special>
<expand-references-automatically>falskt</expand-references-automatically>
<expand-complete-output-automatically>false</expand-complete-output-automatically>
<import-referenced-data-to-referrer>false</import-referenced-data-to-referrer>
<large-text>falsk</large-text>
<query-hidden>falskt</query-hidden>
<output-hidden>falskt</output-hidden>
<query-header-hidden>falskt</query-header-hidden>
<output-header-hidden>false</output-header-hidden>
<fältbredd>25</fältbredd>
<field-height>4</field-height>
<utrymmesbehov>3</utrymmesbehov>
<beställning>600</beställning>
<vald>falsk</vald>
<unique>falsk</unique>
<obligatoriskt>falskt</obligatoriskt>
<protected>falskt</protected>
</attribut>
</klass>
</mall>
</templateset>Efecte-datakort XML-schema
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="entityset">
<xs:complexType>
<xs:sequence>
<xs:element ref="entity" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- entity element contains the data for one card -->
<xs:element name="entity">
<xs:complexType>
<!-- entity element contains either scanner error or data elements -->
<xs:choice>
<xs:element ref="error" minOccurs="1" maxOccurs="1"/>
<xs:group ref="standardEntityElements"/>
</xs:choice>
<xs:attribute name="id" type="xs:string" use="optional"/>
<xs:attribute name="name" type="xs:string" use="optional"/>
<xs:attribute name="ip" type="xs:string" use="optional"/>
<!-- If card is marked as hidden, it is not defaultly shown in -->
<!-- Efecte UI. This mode is used for Efecte Help closed jobs -->
<xs:attribute name="hidden" type="xs:boolean" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="error" type="xs:string"/>
<xs:group name="standardEntityElements">
<xs:sequence>
<xs:element ref="template" minOccurs="1" maxOccurs="1"/>
<xs:element ref="attribute" maxOccurs="unbounded"/>
<xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:group>
<xs:element name="template">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="optional"/>
<xs:attribute name="name" type="xs:string" use="optional"/>
<xs:attribute name="code" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="attribute">
<xs:complexType>
<xs:sequence>
<xs:element ref="header" minOccurs="0"/>
<xs:choice>
<xs:element ref="value" maxOccurs="unbounded"/>
<xs:element ref="reference" maxOccurs="unbounded"/>
<xs:element ref="embeddedreference" maxOccurs="unbounded"/>
<xs:element ref="externalreference" maxOccurs="unbounded"/>
</xs:choice>
<xs:element ref="footer" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="optional"/>
<xs:attribute name="name" type="xs:string" use="optional"/>
<xs:attribute name="code" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="reference">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="optional"/>
<xs:attribute name="name" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="embeddedreference">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="optional"/>
<xs:attribute name="name" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="externalreference">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="optional"/>
<xs:attribute name="location" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="header" type="xs:string"/>
<xs:element name="value" type="xs:string"/>
<xs:element name="footer" type="xs:string"/>
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element ref="name" minOccurs="1" maxOccurs="1"/>
<xs:element ref="text" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="creator" type="xs:string" use="required"/>
<xs:attribute name="timestamp" type="xs:string" use="optional"/>
<xs:attribute name="follow-references" type="xs:boolean" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="name" type="xs:string"/>
<xs:element name="text" type="xs:string"/>
</xs:schema>Efecte-datakort XML-exempel 1 (exporterat från Efecte)
<?xml version="1.0" encoding="ISO-8859-15"?>
<entityset>
<entity id="230626" name="Amarillion Amanda">
<template id="26" name="Contact" code="client"/>
<attribute id="1100" name="Last name" code="last_name">
<value>Amarillion</value>
</attribute>
<attribute id="1099" name="First name" code="first_name">
<value>Amanda</value>
</attribute>
<attribute id="1584" name="Company" code="company">
<reference id="230404" name="Customer Company"/>
</attribute>
<attribute id="1974" name="Title" code="title">
<value>Senior Manager</value>
</attribute>
<attribute id="1112" name="Email" code="email">
<value>amanda.amarillion@customercompany.com</value>
</attribute>
<attribute id="1101" name="Full name" code="full_name">
<value>Amarillion Amanda</value>
</attribute>
<attribute id="1201" name="ID" code="person_number">
<value>CLIENT10379</value>
</attribute>
<attribute id="1206" name="Direct phone" code="direct_phone">
<value>555 5555</value>
</attribute>
<attribute id="2194" name="Mobile phone" code="gsm">
<value>055 555 5555</value>
</attribute>
<attribute id="458456" name="Department" code="department">
<value>LEGAL</value>
</attribute>
</entity>
</entityset>
Efecte-datakort XML-exempel 2 (returnerat av Efecte Inspector )
<?xml version="1.0" encoding="UTF-8" ?>
<entityset>
<entity name="COMPUTER001">
<template code="computer"/>
<attribute code="computer_name">
<value>COMPUTER001</value>
</attribute>
<attribute code="scanning_date">
<value>2004-05-21 14:22:27</value>
</attribute>
<attribute code="ram">
<value>1023</value>
<footer>MB</footer>
</attribute>
<attribute code="software">
<value>ArGoSoft Mail Server Pro</value>
<value>ATI Display Driver</value>
<value>BEA WebLogic Platform 8.1</value>
<value>F-Secure Anti-Virus for Windows NT Server</value>
<value>F-Secure BackWeb</value>
<value>F-Secure Management Agent</value>
<value>Internet Explorer Q831167</value>
<value>Java Web Start</value>
</attribute>
<attribute code="computer_product_serial">
<value></value>
</attribute>
<attribute code="bios_serial_number">
<value></value>
</attribute>
<attribute code="mother_board_serial_number">
<value>AZMV30807979</value>
</attribute>
<attribute code="display_adapter">
<value>Radeon 7000 / Radeon VE</value>
</attribute>
<attribute code="processor_count">
<value>1</value>
</attribute>
<attribute code="system_environment_variables">
<value>ComSpec=%SystemRoot%\system32\cmd.exe</value>
<value>NUMBER_OF_PROCESSORS=1</value>
<value>OS=Windows_NT</value>
<value>Os2LibPath=%SystemRoot%\system32\os2\dll;</value>
<value>PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH</value>
<value>PROCESSOR_ARCHITECTURE=x86</value>
<value>PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 7, GenuineIntel</value>
<value>PROCESSOR_LEVEL=15</value>
<value>PROCESSOR_REVISION=0207</value>
<value>Path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Resource
Kit\</value>
<value>TEMP=%SystemRoot%\TEMP</value>
<value>TMP=%SystemRoot%\TEMP</value>
<value>windir=%SystemRoot%</value>
</attribute>
<attribut kod="tjänst">
<value>Varslarm</value>
<värde>F-Secure BackWeb
<värde>beasvc mindomän_minserver</värde>
<värde>Efecte Proxy
Bakgrund Intelligent Överföra Tjänst
<värde>Dator Webbläsare
<värde>Distribuerad Fil System
<värde>DHCP Klient
<värde>Logisk Disk Chef
<värde>DNS Server
<värde>DNS Klient
<värde>Händelse Logg
<värde>COM+ Händelse System
<värde>F-Secure Portvakt Hanterare Startare
<värde>F-Secure Nätverk Begäran Mäklare
<värde>F-Secure Förvaltning Agent
<value>Mellanplats Meddelanden
Kerberos Nyckel Distribution Centrum
<value>Server</value>
<value>Arbetsstation</value>
<value>Licens Skogsavverkning Tjänst
TCP/IP NetBIOS Hjälpare Tjänst
<value>Merkurius</value>
<value>Budbärare</value>
<värde>Distribuerad Transaktion Koordinator
<värde>Netto Inloggning
<value>Nätverk Anslutningar
<värde>Fil Replikering Tjänst
<värde>NT LM Säkerhet Stöd Provider
<value>Avtagbar Lagring
<värde>Plug och Spela
<värde>IPSEC Politik Agent
<värde>Pro Lagring
<värde>Fjärrkontroll Tillträde Bil Förbindelse Chef
<värde>Fjärrkontroll Tillträde Förbindelse Chef
<value>Effekt Fjärrstyrd
<värde>Fjärrkontroll Register Tjänst
<värde>Fjärrkontroll Pro Samtal (RPC) Lokaliseringsobjekt
<värde>Fjärrkontroll Pro Samtal (RPC)
Säkerhet Konton Chef
<värde>Uppgift Schemaläggare
<värde>Körsom Tjänst
<värde>System Händelse Meddelande
<värde>LjudMAX Agent Tjänst
<värde>Skrivut Spooler
<value>Telefoni</value>
Terminal Tjänster
<värde>Distribuerad Länk Spårning Server
<värde>Distribuerad Länk Spårning Klient
<värde>Fönster Tid
<värde>Fönster Förvaltning Instrumentation
<värde>Fönster Förvaltning Instrumentation Förare Tillägg
<värde>Automatisk Uppdateringar
<värde>Efecte Agent
</attribut>
<attribut kod="windows_domän">
<value>TEST</value>
</attribut>
<attribut kod="värdnamn">
<value>dator001</value>
</attribut>
<attribut kod="domän">
<value>mindomän.com</value>
</attribut>
<attribut kod="bios_datum">
<value>25/10/02</value>
</attribut>
<attribut kod="systemtyp">
<värde>x86</värde>
</attribut>
<attribut kod="systemtillverkare">
<value>D850MV</value>
</attribut>
<attribut kod="systemmodell">
<value>MV85010A</value>
</attribut>
<attribut kod="hårddisk">
Maxtor 6E040L0 (atapi)</value>
</attribut>
<attribut kod="enhet">
<värde>C:\ 30,87 Storbritannien / 38,28 GB
</attribut>
<attribut kod="cdrom">
<värde>HL-DT-ST DVD-ROM GDR8161B (atapi)</value>
</attribut>
<attribut kod="drive_capacity">
38,28
<footer>GB</footer>
</attribut>
<attribut kod="processorhastighet">
<värde>2407</värde>
<footer>MHz</footer>
</attribut>
<attribut kod="senast_inloggad_användare">
<value>Administratör</value>
</attribut>
<attribut kod="os">
<värde>Fönster 2000 Server
</attribut>
<attribut kod="service_pack">
<värde>Tjänst Packa 4</värde>
</attribut>
<attribut kod="produkt-id">
<value>51876-335-7841125-05307</value>
</attribut>
<attribut kod="ip_adress">
<value>10.1.1.51</value>
<value>10.1.1.50</value>
</attribut>
<attribut kod="ip_typ">
<value>statisk</value>
</attribut>
<attribut kod="standardgateway">
<value>10.1.1.1</value>
</attribut>
<attribut kod="subnätmask">
<value>255.255.255.0</value>
<value>255.255.255.0</value>
</attribut>
<attribut kod="mac_adress">
<value>00-04-75-C2-2F-51</value>
</attribut>
<attribut kod="nätverksadapter">
<värde>3Com EtherLink PCI
</attribut>
<attribut kod="fullständigt_kvalificerat_domännamn">
<value>dator001.mittföretag.com</value>
</attribut>
<attribut kod="processorleverantör">
Intel
</attribut>
<attribut kod="processormodell">
Intel(R) Pentium(R) 4 CPU 2,40GHz
</attribut>
<attribut kod="användare">
<value>Administratör</value>
</attribut>
<attribut kod="inspektör_agent_version">
<value>2.0.20</value>
</attribut>
<attribut kod="unik_id">
<value>c14a2a0f-b0d5-4019-bbb28018efef318b</value>
</attribut>
</entitet>
</entityset>