Dell DX6004S DX Content Router Setup and Configuration Guide - Page 13

publish, select, filter, PrimaryDR, SecondaryDR, Filter Rules Engine, Exists, NotExists,

Page 13 highlights

clause. In the example above, where there are two publish clauses, all content streams can be queued for remote replication once for each publish. In addition, when there are two select clauses in a given publish clause, the content metadata is evaluated against each select clause's filter set. The select clauses are evaluated in order from top to bottom. When the rules engine finds a select whose filter clauses all evaluate to true, the content stream is placed in the appropriate queue, (i.e. PrimaryDR or SecondaryDR), and awaits remote replication. Once the evaluation of that publish clause is complete, the rules engine begins evaluation of the next publish clause. When all publish clauses have been evaluated for a given content stream, then the Filter Rules Engine begins evaluation for the next content stream. 3.1.2.2. Rules The full syntax for the filter rules of a Publisher is presented in simplified RELAX-NG Compact Syntax. start = RuleSet RuleSet = element rule-set { Publish+ } Publish = element publish { Select+ } Select = element select { (Filter|Exists|NotExists)+, attribute name { text } } Filter = element filter { HeaderAttr, # filter expression, using olderThan(), matches() etc. text } Exists = element exists { HeaderAttr } NotExists = element not-exists { HeaderAttr } HeaderAttr = attribute header { text } Exists and NotExists are tests to check if the header is present or not. An empty header will match an exists query. Filter expressions are built using a small set of functions. The set of functions available to a filter are: • matches(regexstr) or contains(regexstr) - matches any part of the header value to a given regular expression Copyright © 2010 Caringo, Inc. All rights reserved 9 Version 2.2 December 2010

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43

Copyright © 2010 Caringo, Inc.
All rights reserved
9
Version 2.2
December 2010
clause. In the example above, where there are two
publish
clauses, all content streams can be
queued for remote replication once for each publish. In addition, when there are two
select
clauses
in a given
publish
clause, the content metadata is evaluated against each
select
clause’s
filter
set. The select clauses are evaluated in order from top to bottom. When the rules engine finds
a
select
whose
filter
clauses all evaluate to true, the content stream is placed in the appropriate
queue, (i.e.
PrimaryDR
or
SecondaryDR
), and awaits remote replication. Once the evaluation of that
publish
clause is complete, the rules engine begins evaluation of the next
publish
clause. When all
publish
clauses have been evaluated for a given content stream, then the
Filter Rules Engine
begins
evaluation for the next content stream.
3.1.2.2. Rules
The full syntax for the filter rules of a Publisher is presented in simplified
RELAX-NG Compact
Syntax
.
start = RuleSet
RuleSet = element rule-set {
Publish+
}
Publish = element publish {
Select+
}
Select = element select {
(Filter|Exists|NotExists)+,
attribute name { text }
}
Filter = element filter {
HeaderAttr,
# filter expression, using olderThan(), matches() etc.
text
}
Exists = element exists {
HeaderAttr
}
NotExists = element not-exists {
HeaderAttr
}
HeaderAttr = attribute header { text }
Exists
and
NotExists
are tests to check if the header is present or not. An empty header will match
an exists query.
Filter expressions are built using a small set of functions. The set of functions available to a filter
are:
matches(regexstr)
or
contains(regexstr)
- matches any part of the header value to a given regular
expression