XTRACT Compiler Merge Definitionen

XTRACT Compiler Merge Definitionen

Merge-Definitionen dienen der Erkennung von bestimmten Objekteigenschaften wie zum Beispiel der Zuordnung eines Inhalts zu einer Umsatzsteuer-Identifikationsnummer. Wie der Name schon andeutet kann über diese Funktion auch eine Reihe von Objekten zu einem einzelnen Objekt zusammengeführt werden.

Für diese Aufgabenstellung stehen dem Entwickler eine Vielzahl von Konfigurations- und auch Scriptingmöglichkeiten zur Verfügung, welche wir Ihnen hier erläutern möchten.

PropertyTypeBeschreibungBeispiel
ActiveBOOLEANAktiviert oder Deaktiviert die Merge-DefinitionTrue
AttributeRequirementsUCS4STR

Ein Set an Attributeigenschaften welche für die zu betrachtenden Objekte gegeben sein müssen um für den Merge relevant zu sein:

  • ccEA_Text

  • ccEA_Numeric

  • ccEA_SimpleNumeric

  • ccEA_AlphaNumeric

  • ccEA_StrictInteger

  • ccEA_Float

  • ccEA_StrictText

  • ccEA_ValidNumeric

  • ccEA_StrictFloat

  • ccEA_Identifier

  • ccEA_LowerCase

  • ccEA_UpperCase

  • ccEA_ContainsSublineChars

  • ccEA_ContainsOnlyLowChars

  • ccEA_Separator

  • ccEA_SeparatorGroup

  • ccEA_Dash

  • ccEA_StartsWithDash

  • ccEA_EndsWithDash

  • ccEA_Line

  • ccEA_Splitter

  • ccEA_ContainsOpeningBracket

  • ccEA_ContainsClosingBracket

  • ccEA_OpeningBracket

  • ccEA_ClosingBracket

  • ccEA_Bracket

  • ccEA_Acronym

[ccEA_Numeric, ccEA_StrictInteger]
AutoKeyWordsBOOLEANAktiviert oder deaktiviert die Erzeugung der automatischen Schlüsselwortbildung - abhängig von den definierten Listen (Suffixes, Prefixes) für den entsprechenden MainType.True
DataTypeUCS4STRÜberschreibt die angegebene Standard-Definition (siehe XTRACT Compiler Standards) oder definiert eine neue eigenständige Definition - siehe Property UserDataType.ccDT_Identifier_VAT
DescriptionUCS4STRBeschreibungstext für Dokumentationszwecke.Example Definition
ExclusionRegExUCS4STRRegEx zum Ausschluss eines bestimmten Begriffs.
FinalAttributeRequirementsUCS4STREin Set an Attributeigenschaften welche für das finale Objekte gegeben sein müssen - siehe Property AttributeRequirements.[ccEA_Numeric, ccEA_StrictInteger]
KeyWordAccurracySINGLEDefiniert die Genauigkeit mit der ein Schlüsselwort gefunden bzw. festgelegt werden kann. KeyWordAccurracy ist ein Float Wert zwischen 0 und 1. Bei einer Angabe von 0 wird eine automatische Genauigkeit auf Grund von verschiedenen Faktoren herangezogen. 0.00
KeyWordPositionsUCS4STR

Definiert ein Set in welcher Relation sich das Schlüsselwort zum gesuchten Objekt befindet.

Dabei sind folgende Attribute möglich:

  • ccRP_None
  • ccRP_Left
  • ccRP_Right
  • ccRP_Above
  • ccRP_Below
[ccRP_Left, ccRP_Above]
KeyWordsUCS4STREine Liste von möglichen Schlüsselbegriffen mit einem Zeilenumbruch getrennt. Siehe auch AutoKeyWords Property.

VAT

UMSATZSTEUER

MaxDistanceFactorSINGLE

MaxDistanceFactor beschreibt den Faktor um wie weit sich ggf. zusammengehörige Objekte voneinander entfernt befinden können, abhängig von der Größe eines einzelnen Zeichens eines Elements. Im Standard ist es der Wert 1. Bei 2 bedeutet dies, dass sich ein Objekt maximal 2xZeichenlänge entfernt befinden darf um noch als relevant für einen Merge gesehen zu werden.

1.5
MaxLengthINTGibt die maximale Länge des finalen Objekts an. Dient vor allem der Performance-Optimierung um RegEx Durchläufe zu optimieren.10
MergeConditionsUCS4STR

Durch das Set an Merge Bedingungen wird festgelegt durch welche Methoden zusammengehörige Elemente gefunden werden sollen:

  • ccMC_None
  • ccMC_IgnoreFinalSeparatorChars
  • ccMC_StopAtSplitterChars
  • ccMC_StopAtBrackets
  • ccMC_Detached
  • ccMC_CompileElementsByRegEx
  • ccMC_UppercaseRegExCheck
  • ccMC_IgnoreSeparators
  • ccMC_CompoundAttributeRequirementsOperatorOR
  • ccMC_AllowDuplicateDistanceForDashes
  • ccMC_KeepSpaceBlanks
  • ccMC_RemoveBlanks
[ccMC_CompileElementsByRegEx,

ccMC_UppercaseRegExCheck]

MergeModifiersUCS4STR

Die MergeModifiers sind ein Set über das bestimmt wird unter welchen Bedingungen die gefundenen Elemente zusammengeführt werden bzw. wie diese inhaltlich angepasst werden sollen:

  • ccMM_UpperCase
  • ccMM_LowerCase
  • ccMM_KeepBlanks
  • ccMM_RemoveDashes
[ccMM_UpperCase]
MinLengthINTGibt die minimale Länge des finalen Objekts an. Dient vor allem der Performance-Optimierung um RegEx Durchläufe zu optimieren.5
PageAreaUCS4STR

Definiert ein Set in welchem Bereich einer Seite nach den Schlüsselwörtern gesucht werden soll:

  • ccPA_Undefined
  • ccPA_FullPage
  • ccPA_Header
  • ccPA_Body
  • ccPA_Footer
  • ccPA_UpperThird
  • ccPA_MiddleThird
  • ccPA_LowerThird
  • ccPA_UpperQuarter
  • ccPA_Middle
  • ccPA_LowerQuarter
  • ccPA_UpperHalf
  • ccPA_LowerHalf
[ccPA_UpperThird, ccPA_LowerThird]

ProcessPriorityUCS4STR

Definiert die Priorität mit welcher die Definition in Relation zu allen anderen angewendet werden soll:

  • ccPP_Highest
  • ccPP_High
  • ccPP_Normal
  • ccPP_Low
  • ccPP_Lowest

ccPP_High

ScriptUCS4STRDirekter Sourcecode zur Ermittlung. Kein C4 Link.
UserDataTypeUCS4STRBenutzerdefinierter Datentyp. DataType = ccDT_UserdefinedTestMerge
ValidationRegExUCS4STRRegEx zur Prüfung des finalen Ergebnisses eines Merge.

Beispiel ccDT_Identifier_VAT

PropertyTypeBeispiel
ActiveBOOLEANTrue
AttributeRequirementsUCS4STR[]
AutoKeyWordsBOOLEANTrue
DataTypeUCS4STRccDT_Identifier_VAT
DescriptionUCS4STR
ExclusionRegExUCS4STR
FinalAttributeRequirementsUCS4STR

[]

KeyWordAccurracySINGLE0.00
KeyWordPositionsUCS4STR[ccRP_Left, ccRP_Above]
KeyWordsUCS4STR

UST
USTID
USTIDENT
UID
UMSATZSTEUERID
VAT
DDS
FPA
DIČ
SE
KMKR
IVA
ALV
TVA
PDV
PVM
IBLC
BTW
NIP
NIPC
CIF
MOMS
DDV
DPH
COE

MaxDistanceFactorSINGLE2.10
MaxLengthINT20
MergeConditionsUCS4STR[ccMC_CompileElementsByRegEx, ccMC_IgnoreSeparators, ccMC_UppercaseRegExCheck]
MergeModifiersUCS4STR[ccMM_UpperCase, ccMM_RemoveDashes]
MinLengthINT8
PageAreaUCS4STR[ccPA_FullPage]

ProcessPriorityUCS4STR

ccPP_High

ScriptUCS4STR
UserDataTypeUCS4STR
ValidationRegExUCS4STR(AT)U[0-9]{8}|(BE)0[0-9]{9}|(BG)[0-9]{9,10}|(CY)[0-9]{8}L|(CZ)[0-9]{8,10}|(DE)[0-9]{9}|(DK)[0-9]{8}|(EE)[0-9]{9}|(EL|GR)[0-9]{9}|(ES)[0-9A-Z][0-9]{7}[0-9A-Z]|(FI)[0-9]{8}|(FR)[0-9A-Z]{2}[0-9]{9}|(GB)([0-9]{9}([0-9]{3})?|[A-Z]{2}[0-9]{3})|(HU)[0-9]{8}|(IE)[0-9]S[0-9]{5}L|(IT)[0-9]{11}|(LT)([0-9]{9}|[0-9]{12})|(LU)[0-9]{8}|(LV)[0-9]{11}|(MT)[0-9]{8}|(NL)[0-9]{9}B[0-9]{2}|(PL)[0-9]{10}|(PT)[0-9]{9}|(RO)[0-9]{2,10}|(SE)[0-9]{12}|(SI)[0-9]{8}|(SK)[0-9]{10}