Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:miw:miw08_xtt_rif:thermostat [2008/03/31 15:57] miw poprawki skladni |
pl:miw:miw08_xtt_rif:thermostat [2008/04/20 20:17] miw |
====== Zapisanie reguł thermostatu za pomocą formatu RIF ====== | |
<code xml> | |
<?xml version="1.0" encoding="UTF-8"?> | |
<?xml-stylesheet type="text/xsl" href="RIFverb.xsl"?> | |
| |
<Ruleset> | |
<rule> | |
<declare><Var>dayofweek</Var></declare> | |
<formula> | |
<Implies> | |
<if> | |
<Or> | |
<formula> | |
<Equal> | |
<arg><Var>dayofweek</Var></arg> | |
<arg><Const type="xsd:string">Monday</Const></arg> | |
</Equal> | |
</formula> | |
<formula> | |
<Equal> | |
<arg><Var>dayofweek</Var></arg> | |
<arg><Const type="xsd:string">Tuesday</Const></arg> | |
</Equal> | |
</formula> | |
<formula> | |
<Equal> | |
<arg><Var>dayofweek</Var></arg> | |
<arg><Const type="xsd:string">Wednesday</Const></arg> | |
</Equal> | |
</formula> | |
<formula> | |
<Equal> | |
<arg><Var>dayofweek</Var></arg> | |
<arg><Const type="xsd:string">Thursday</Const></arg> | |
</Equal> | |
</formula> | |
<formula> | |
<Equal> | |
<arg><Var>dayofweek</Var></arg> | |
<arg><Const type="xsd:string">Friday</Const></arg> | |
</Equal> | |
</formula> | |
</Or> | |
</if> | |
<then> | |
<Uniterm> | |
<op><Const type="rif:local">is-workday</Const></op> | |
<arg><Var>dayofweek</Var></arg> | |
</Uniterm> | |
</then> | |
</Implies> | |
</formula> | |
</rule> | |
| |
| |
<rule> | |
<declare><Var>dayofweek</Var></declare> | |
<formula> | |
<Implies> | |
<if> | |
<Or> | |
<formula> | |
<Equal> | |
<arg><Var>dayofweek</Var></arg> | |
<arg><Const type="xsd:string">Saturday</Const></arg> | |
</Equal> | |
</formula> | |
<formula> | |
<Equal> | |
<arg><Var>dayofweek</Var></arg> | |
<arg><Const type="xsd:string">Sunday</Const></arg> | |
</Equal> | |
</formula> | |
</Or> | |
</if> | |
<then> | |
<Uniterm> | |
<op><Const type="rif:local">is-weekend</Const></op> | |
<arg><Var>dayofweek</Var></arg> | |
</Uniterm> | |
</then> | |
</Implies> | |
</formula> | |
</rule> | |
| |
| |
<rule> | |
<declare><Var>today</Var></declare> | |
<declare><Var>hour</Var></declare> | |
<formula> | |
<Implies> | |
<if> | |
<And> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:local">is-weekend</Const></op> | |
<arg><Var>today</Var></arg> | |
</Uniterm> | |
</formula> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:local">fn:get-hour-from-Date</Const></op> | |
<arg><Var>today</Var></arg> | |
<arg><Var>hour</Var></arg> | |
</Uniterm> | |
</formula> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:iri">op:numeric-between</Const></op> | |
<arg><Var>hour</Var></arg> | |
<arg><Const type="xsd:dateTime">9am</Const></arg> | |
<arg><Const type="xsd:dateTime">5pm</Const></arg> | |
</Uniterm> | |
</formula> | |
</And> | |
</if> | |
<then> | |
<Uniterm> | |
<op><Const type="rif:local">is-during-business-hours</Const></op> | |
<arg><Var>today</Var></arg> | |
</Uniterm> | |
</then> | |
</Implies> | |
</formula> | |
</rule> | |
| |
| |
<rule> | |
<declare><Var>today</Var></declare> | |
<declare><Var>hour</Var></declare> | |
<formula> | |
<Implies> | |
<if> | |
<And> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:local">is-workday</Const></op> | |
<arg><Var>today</Var></arg> | |
</Uniterm> | |
</formula> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:local">fn:get-hour-from-Date</Const></op> | |
<arg><Var>today</Var></arg> | |
<arg><Var>hour</Var></arg> | |
</Uniterm> | |
</formula> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:iri">op:numeric-lesser-than</Const></op> | |
<arg><Var>A</Var></arg> | |
<arg></arg> | |
</Uniterm> | |
</formula> | |
</And> | |
</if> | |
<then> | |
<Uniterm> | |
<op><Const type="rif:local">is-not-during-business-hours</Const></op> | |
<arg><Var>today</Var></arg> | |
</Uniterm> | |
</then> | |
</Implies> | |
</formula> | |
</rule> | |
| |
| |
<rule> | |
<declare><Var>today</Var></declare> | |
<declare><Var>hour</Var></declare> | |
<formula> | |
<Implies> | |
<if> | |
<And> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:local">is-workday</Const></op> | |
<arg><Var>today</Var></arg> | |
</Uniterm> | |
</formula> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:local">fn:get-hour-from-Date</Const></op> | |
<arg><Var>today</Var></arg> | |
<arg><Var>hour</Var></arg> | |
</Uniterm> | |
</formula> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:iri">op:numeric-greater-than</Const></op> | |
<arg><Var>hour</Var></arg> | |
<arg><Const type="xsd:dateTime">5pm</Const></arg> | |
</Uniterm> | |
</formula> | |
</And> | |
</if> | |
<then> | |
<Uniterm> | |
<op><Const type="rif:local">is-not-during-business-hours</Const></op> | |
<arg><Var>today</Var></arg> | |
</Uniterm> | |
</then> | |
</Implies> | |
</formula> | |
</rule> | |
| |
| |
<rule> | |
<declare><Var>today</Var></declare> | |
<formula> | |
<Implies> | |
<if> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:local">is-weekend</Const></op> | |
<arg><Var>today</Var></arg> | |
</Uniterm> | |
</formula> | |
</if> | |
<then> | |
<Uniterm> | |
<op><Const type="rif:local">is-not-during-business-hours</Const></op> | |
<arg><Var>today</Var></arg> | |
</Uniterm> | |
</then> | |
</Implies> | |
</formula> | |
</rule> | |
| |
| |
<rule> | |
<declare><Var>month</Var></declare> | |
<formula> | |
<Implies> | |
<if> | |
<Or> | |
<formula> | |
<Equal> | |
<arg><Var>month</Var></arg> | |
<arg><Const type="rds:string">January</Const></arg> | |
</Equal> | |
</formula> | |
<formula> | |
<Equal> | |
<arg><Var>month</Var></arg> | |
<arg><Const type="rds:string">February</Const></arg> | |
</Equal> | |
</formula> | |
<formula> | |
<Equal> | |
<arg><Var>month</Var></arg> | |
<arg><Const type="rds:string">December</Const></arg> | |
</Equal> | |
</formula> | |
</Or> | |
</if> | |
<then> | |
<Uniterm> | |
<op><Const type="rif:local">is-summer</Const></op> | |
<arg><Var>month</Var></arg> | |
</Uniterm> | |
</then> | |
</Implies> | |
</formula> | |
</rule> | |
| |
| |
<rule> | |
<declare><Var>month</Var></declare> | |
<formula> | |
<Implies> | |
<if> | |
<Or> | |
<formula> | |
<Equal> | |
<arg><Var>month</Var></arg> | |
<arg><Const type="rds:string">March</Const></arg> | |
</Equal> | |
</formula> | |
<formula> | |
<Equal> | |
<arg><Var>month</Var></arg> | |
<arg><Const type="rds:string">April</Const></arg> | |
</Equal> | |
</formula> | |
<formula> | |
<Equal> | |
<arg><Var>month</Var></arg> | |
<arg><Const type="rds:string">May</Const></arg> | |
</Equal> | |
</formula> | |
</Or> | |
</if> | |
<then> | |
<Uniterm> | |
<op><Const type="rif:local">is-atumn</Const></op> | |
<arg><Var>month</Var></arg> | |
</Uniterm> | |
</then> | |
</Implies> | |
</formula> | |
</rule> | |
| |
| |
<rule> | |
<declare><Var>month</Var></declare> | |
<formula> | |
<Implies> | |
<if> | |
<Or> | |
<formula> | |
<Equal> | |
<arg><Var>month</Var></arg> | |
<arg><Const type="rds:string">June</Const></arg> | |
</Equal> | |
</formula> | |
<formula> | |
<Equal> | |
<arg><Var>month</Var></arg> | |
<arg><Const type="rds:string">July</Const></arg> | |
</Equal> | |
</formula> | |
<formula> | |
<Equal> | |
<arg><Var>month</Var></arg> | |
<arg><Const type="rds:string">August</Const></arg> | |
</Equal> | |
</formula> | |
</Or> | |
</if> | |
<then> | |
<Uniterm> | |
<op><Const type="rif:local">is-winter</Const></op> | |
<arg><Var>month</Var></arg> | |
</Uniterm> | |
</then> | |
</Implies> | |
</formula> | |
</rule> | |
| |
| |
<rule> | |
<declare><Var>month</Var></declare> | |
<formula> | |
<Implies> | |
<if> | |
<Or> | |
<formula> | |
<Equal> | |
<arg><Var>month</Var></arg> | |
<arg><Const type="rds:string">September</Const></arg> | |
</Equal> | |
</formula> | |
<formula> | |
<Equal> | |
<arg><Var>month</Var></arg> | |
<arg><Const type="rds:string">October</Const></arg> | |
</Equal> | |
</formula> | |
<formula> | |
<Equal> | |
<arg><Var>month</Var></arg> | |
<arg><Const type="rds:string">November</Const></arg> | |
</Equal> | |
</formula> | |
</Or> | |
</if> | |
<then> | |
<Uniterm> | |
<op><Const type="rif:local">is-spring</Const></op> | |
<arg><Var>month</Var></arg> | |
</Uniterm> | |
</then> | |
</Implies> | |
</formula> | |
</rule> | |
| |
| |
<rule> | |
<declare><Var>date</Var></declare> | |
<declare><Var>month</Var></declare> | |
<formula> | |
<Implies> | |
<if> | |
<And> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:iri">op:get-month-from-date</Const></op> | |
<arg><Var>date</Var></arg> | |
<arg><Var>month</Var></arg> | |
</Uniterm> | |
</formula> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:local">is-spring</Const></op> | |
<arg><Var>month</Var></arg> | |
</Uniterm> | |
</formula> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:local">is-during-buisness-hours</Const></op> | |
<arg><Var>date</Var></arg> | |
</Uniterm> | |
</formula> | |
</And> | |
</if> | |
<then> | |
<Uniterm> | |
<op><Const type="rif:local">thermostat-setting</Const></op> | |
<arg><Const type="rds:long">20</Const></arg> | |
</Uniterm> | |
</then> | |
</Implies> | |
</formula> | |
</rule> | |
| |
| |
<rule> | |
<declare><Var>date</Var></declare> | |
<declare><Var>month</Var></declare> | |
<formula> | |
<Implies> | |
<if> | |
<And> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:iri">op:get-month-from-date</Const></op> | |
<arg><Var>date</Var></arg> | |
<arg><Var>month</Var></arg> | |
</Uniterm> | |
</formula> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:local">is-spring</Const></op> | |
<arg><Var>month</Var></arg> | |
</Uniterm> | |
</formula> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:local">is-not-during-buisness-hours</Const></op> | |
<arg><Var>date</Var></arg> | |
</Uniterm> | |
</formula> | |
</And> | |
</if> | |
<then> | |
<Uniterm> | |
<op><Const type="rif:local">thermostat-setting</Const></op> | |
<arg><Const type="rds:long">15</Const></arg> | |
</Uniterm> | |
</then> | |
</Implies> | |
</formula> | |
</rule> | |
| |
| |
<rule> | |
<declare><Var>date</Var></declare> | |
<declare><Var>month</Var></declare> | |
<formula> | |
<Implies> | |
<if> | |
<And> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:iri">op:get-month-from-date</Const></op> | |
<arg><Var>date</Var></arg> | |
<arg><Var>month</Var></arg> | |
</Uniterm> | |
</formula> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:local">is-summer</Const></op> | |
<arg><Var>month</Var></arg> | |
</Uniterm> | |
</formula> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:local">is-during-buisness-hours</Const></op> | |
<arg><Var>date</Var></arg> | |
</Uniterm> | |
</formula> | |
</And> | |
</if> | |
<then> | |
<Uniterm> | |
<op><Const type="rif:local">thermostat-setting</Const></op> | |
<arg><Const type="rds:long">24</Const></arg> | |
</Uniterm> | |
</then> | |
</Implies> | |
</formula> | |
</rule> | |
| |
| |
<rule> | |
<declare><Var>date</Var></declare> | |
<declare><Var>month</Var></declare> | |
<formula> | |
<Implies> | |
<if> | |
<And> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:iri">op:get-month-from-date</Const></op> | |
<arg><Var>date</Var></arg> | |
<arg><Var>month</Var></arg> | |
</Uniterm> | |
</formula> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:local">is-summer</Const></op> | |
<arg><Var>month</Var></arg> | |
</Uniterm> | |
</formula> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:local">is-not-during-buisness-hours</Const></op> | |
<arg><Var>date</Var></arg> | |
</Uniterm> | |
</formula> | |
</And> | |
</if> | |
<then> | |
<Uniterm> | |
<op><Const type="rif:local">thermostat-setting</Const></op> | |
<arg><Const type="rds:long">27</Const></arg> | |
</Uniterm> | |
</then> | |
</Implies> | |
</formula> | |
</rule> | |
| |
| |
<rule> | |
<declare><Var>date</Var></declare> | |
<declare><Var>month</Var></declare> | |
<formula> | |
<Implies> | |
<if> | |
<And> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:iri">op:get-month-from-date</Const></op> | |
<arg><Var>date</Var></arg> | |
<arg><Var>month</Var></arg> | |
</Uniterm> | |
</formula> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:local">is-atumn</Const></op> | |
<arg><Var>month</Var></arg> | |
</Uniterm> | |
</formula> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:local">is-during-buisness-hours</Const></op> | |
<arg><Var>date</Var></arg> | |
</Uniterm> | |
</formula> | |
</And> | |
</if> | |
<then> | |
<Uniterm> | |
<op><Const type="rif:local">thermostat-setting</Const></op> | |
<arg><Const type="rds:long">20</Const></arg> | |
</Uniterm> | |
</then> | |
</Implies> | |
</formula> | |
</rule> | |
| |
| |
<rule> | |
<declare><Var>date</Var></declare> | |
<declare><Var>month</Var></declare> | |
<formula> | |
<Implies> | |
<if> | |
<And> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:iri">op:get-month-from-date</Const></op> | |
<arg><Var>date</Var></arg> | |
<arg><Var>month</Var></arg> | |
</Uniterm> | |
</formula> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:local">is-atumn</Const></op> | |
<arg><Var>month</Var></arg> | |
</Uniterm> | |
</formula> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:local">is-not-during-buisness-hours</Const></op> | |
<arg><Var>date</Var></arg> | |
</Uniterm> | |
</formula> | |
</And> | |
</if> | |
<then> | |
<Uniterm> | |
<op><Const type="rif:local">thermostat-setting</Const></op> | |
<arg><Const type="rds:long">16</Const></arg> | |
</Uniterm> | |
</then> | |
</Implies> | |
</formula> | |
</rule> | |
<rule> | |
<declare><Var>date</Var></declare> | |
<declare><Var>month</Var></declare> | |
<formula> | |
<Implies> | |
<if> | |
<And> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:iri">op:get-month-from-date</Const></op> | |
<arg><Var>date</Var></arg> | |
<arg><Var>month</Var></arg> | |
</Uniterm> | |
</formula> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:local">is-winter</Const></op> | |
<arg><Var>month</Var></arg> | |
</Uniterm> | |
</formula> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:local">is-during-buisness-hours</Const></op> | |
<arg><Var>date</Var></arg> | |
</Uniterm> | |
</formula> | |
</And> | |
</if> | |
<then> | |
<Uniterm> | |
<op><Const type="rif:local">thermostat-setting</Const></op> | |
<arg><Const type="rds:long">18</Const></arg> | |
</Uniterm> | |
</then> | |
</Implies> | |
</formula> | |
</rule> | |
| |
| |
<rule> | |
<declare><Var>date</Var></declare> | |
<declare><Var>month</Var></declare> | |
<formula> | |
<Implies> | |
<if> | |
<And> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:iri">op:get-month-from-date</Const></op> | |
<arg><Var>date</Var></arg> | |
<arg><Var>month</Var></arg> | |
</Uniterm> | |
</formula> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:local">is-winter</Const></op> | |
<arg><Var>month</Var></arg> | |
</Uniterm> | |
</formula> | |
<formula> | |
<Uniterm> | |
<op><Const type="rif:local">is-not-during-buisness-hours</Const></op> | |
<arg><Var>date</Var></arg> | |
</Uniterm> | |
</formula> | |
</And> | |
</if> | |
<then> | |
<Uniterm> | |
<op><Const type="rif:local">thermostat-setting</Const></op> | |
<arg><Const type="rds:long">14</Const></arg> | |
</Uniterm> | |
</then> | |
</Implies> | |
</formula> | |
</rule> | |
</Ruleset> | |
</code> | |
[[pl:miw:miw08_xtt_rif|Powrót do dokumentu]] | |