Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.119
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
augeas /
lenses /
dist /
Delete
Unzip
Name
Size
Permission
Date
Action
tests
[ DIR ]
drwxrwxrwx
2020-08-25 15:28
access.aug
3.58
KB
-rwxrwxrwx
2017-08-18 07:56
activemq_conf.aug
1.47
KB
-rwxrwxrwx
2017-08-18 07:56
activemq_xml.aug
864
B
-rwxrwxrwx
2017-08-18 07:56
afs_cellalias.aug
1.56
KB
-rwxrwxrwx
2017-08-18 07:56
aliases.aug
2.18
KB
-rwxrwxrwx
2017-08-18 07:56
anacron.aug
2.49
KB
-rwxrwxrwx
2017-08-18 07:56
approx.aug
1.26
KB
-rwxrwxrwx
2017-08-18 07:56
apt_update_manager.aug
1.11
KB
-rwxrwxrwx
2017-08-18 07:56
aptcacherngsecurity.aug
726
B
-rwxrwxrwx
2017-08-18 07:56
aptconf.aug
3.89
KB
-rwxrwxrwx
2017-08-18 07:56
aptpreferences.aug
1.79
KB
-rwxrwxrwx
2017-08-18 07:56
aptsources.aug
1.98
KB
-rwxrwxrwx
2017-08-18 07:56
authorized_keys.aug
1.84
KB
-rwxrwxrwx
2017-08-18 07:56
automaster.aug
3.31
KB
-rwxrwxrwx
2017-08-18 07:56
automounter.aug
4.05
KB
-rwxrwxrwx
2017-08-18 07:56
avahi.aug
1.38
KB
-rwxrwxrwx
2017-08-18 07:56
backuppchosts.aug
1014
B
-rwxrwxrwx
2017-08-18 07:56
bbhosts.aug
4.24
KB
-rwxrwxrwx
2017-08-18 07:56
bootconf.aug
3.65
KB
-rwxrwxrwx
2017-08-18 07:56
build.aug
16.65
KB
-rwxrwxrwx
2017-08-18 07:56
cachefilesd.aug
2
KB
-rwxrwxrwx
2017-08-18 07:56
carbon.aug
1.54
KB
-rwxrwxrwx
2017-08-18 07:56
cgconfig.aug
3.35
KB
-rwxrwxrwx
2017-08-18 07:56
cgrules.aug
2.38
KB
-rwxrwxrwx
2017-08-18 07:56
channels.aug
3.84
KB
-rwxrwxrwx
2017-08-18 07:56
chrony.aug
12.7
KB
-rwxrwxrwx
2017-08-18 07:56
clamav.aug
1.53
KB
-rwxrwxrwx
2017-08-18 07:56
cobblermodules.aug
398
B
-rwxrwxrwx
2017-08-18 07:56
cobblersettings.aug
2.24
KB
-rwxrwxrwx
2017-08-18 07:56
collectd.aug
869
B
-rwxrwxrwx
2017-08-18 07:56
cpanel.aug
824
B
-rwxrwxrwx
2017-08-18 07:56
cron.aug
4.05
KB
-rwxrwxrwx
2017-08-18 07:56
cron_user.aug
1.26
KB
-rwxrwxrwx
2017-08-18 07:56
crypttab.aug
3.01
KB
-rwxrwxrwx
2017-08-18 07:56
csv.aug
1.18
KB
-rwxrwxrwx
2017-08-18 07:56
cups.aug
459
B
-rwxrwxrwx
2017-08-18 07:56
cyrus_imapd.aug
1.51
KB
-rwxrwxrwx
2017-08-18 07:56
darkice.aug
773
B
-rwxrwxrwx
2017-08-18 07:56
debctrl.aug
3.61
KB
-rwxrwxrwx
2017-08-18 07:56
desktop.aug
1.39
KB
-rwxrwxrwx
2017-08-18 07:56
device_map.aug
620
B
-rwxrwxrwx
2017-08-18 07:56
dhclient.aug
6.61
KB
-rwxrwxrwx
2017-08-18 07:56
dhcpd.aug
20.88
KB
-rwxrwxrwx
2017-08-18 07:56
dns_zone.aug
2.89
KB
-rwxrwxrwx
2017-08-18 07:56
dnsmasq.aug
2.16
KB
-rwxrwxrwx
2017-08-18 07:56
dovecot.aug
3.86
KB
-rwxrwxrwx
2017-08-18 07:56
dpkg.aug
2.79
KB
-rwxrwxrwx
2017-08-18 07:56
dput.aug
2.16
KB
-rwxrwxrwx
2017-08-18 07:56
erlang.aug
4.33
KB
-rwxrwxrwx
2017-08-18 07:56
ethers.aug
663
B
-rwxrwxrwx
2017-08-18 07:56
exports.aug
2.37
KB
-rwxrwxrwx
2017-08-18 07:56
fai_diskconfig.aug
9.28
KB
-rwxrwxrwx
2017-08-18 07:56
fonts.aug
819
B
-rwxrwxrwx
2017-08-18 07:56
fstab.aug
1.2
KB
-rwxrwxrwx
2017-08-18 07:56
fuse.aug
871
B
-rwxrwxrwx
2017-08-18 07:56
gdm.aug
1.8
KB
-rwxrwxrwx
2017-08-18 07:56
group.aug
1.66
KB
-rwxrwxrwx
2017-08-18 07:56
grub.aug
9.53
KB
-rwxrwxrwx
2017-08-18 07:56
gshadow.aug
2.19
KB
-rwxrwxrwx
2017-08-18 07:56
gtkbookmarks.aug
855
B
-rwxrwxrwx
2017-08-18 07:56
host_conf.aug
1.9
KB
-rwxrwxrwx
2017-08-18 07:56
hostname.aug
422
B
-rwxrwxrwx
2017-08-18 07:56
hosts.aug
485
B
-rwxrwxrwx
2017-08-18 07:56
hosts_access.aug
4.32
KB
-rwxrwxrwx
2017-08-18 07:56
htpasswd.aug
1.02
KB
-rwxrwxrwx
2017-08-18 07:56
httpd.aug
5.12
KB
-rwxrwxrwx
2017-08-18 07:56
inetd.aug
6.22
KB
-rwxrwxrwx
2017-08-18 07:56
inifile.aug
15.49
KB
-rwxrwxrwx
2017-08-18 07:56
inittab.aug
780
B
-rwxrwxrwx
2017-08-18 07:56
inputrc.aug
1.62
KB
-rwxrwxrwx
2017-08-18 07:56
interfaces.aug
4.62
KB
-rwxrwxrwx
2017-08-18 07:56
iproute2.aug
323
B
-rwxrwxrwx
2017-08-18 07:56
iptables.aug
2.64
KB
-rwxrwxrwx
2017-08-18 07:56
iscsid.aug
684
B
-rwxrwxrwx
2017-08-18 07:56
jaas.aug
1.57
KB
-rwxrwxrwx
2017-08-18 07:56
jettyrealm.aug
1.52
KB
-rwxrwxrwx
2017-08-18 07:56
jmxaccess.aug
1.35
KB
-rwxrwxrwx
2017-08-18 07:56
jmxpassword.aug
1.34
KB
-rwxrwxrwx
2017-08-18 07:56
json.aug
2.01
KB
-rwxrwxrwx
2017-08-18 07:56
kdump.aug
2.91
KB
-rwxrwxrwx
2017-08-18 07:56
keepalived.aug
10.7
KB
-rwxrwxrwx
2017-08-18 07:56
known_hosts.aug
1.93
KB
-rwxrwxrwx
2017-08-18 07:56
koji.aug
898
B
-rwxrwxrwx
2017-08-18 07:56
krb5.aug
6.13
KB
-rwxrwxrwx
2017-08-18 07:56
ldif.aug
7.65
KB
-rwxrwxrwx
2017-08-18 07:56
ldso.aug
1.06
KB
-rwxrwxrwx
2017-08-18 07:56
lightdm.aug
1.75
KB
-rwxrwxrwx
2017-08-18 07:56
limits.aug
2.02
KB
-rwxrwxrwx
2017-08-18 07:56
login_defs.aug
615
B
-rwxrwxrwx
2017-08-18 07:56
logrotate.aug
4.2
KB
-rwxrwxrwx
2017-08-18 07:56
logwatch.aug
1.44
KB
-rwxrwxrwx
2017-08-18 07:56
lokkit.aug
2.16
KB
-rwxrwxrwx
2017-08-18 07:56
lvm.aug
2.03
KB
-rwxrwxrwx
2017-08-18 07:56
mailscanner.aug
1.66
KB
-rwxrwxrwx
2017-08-18 07:56
mailscanner_rules.aug
2.84
KB
-rwxrwxrwx
2017-08-18 07:56
masterpasswd.aug
4.36
KB
-rwxrwxrwx
2017-08-18 07:56
mcollective.aug
1.09
KB
-rwxrwxrwx
2017-08-18 07:56
mdadm_conf.aug
10.05
KB
-rwxrwxrwx
2017-08-18 07:56
memcached.aug
1.24
KB
-rwxrwxrwx
2017-08-18 07:56
mke2fs.aug
4.67
KB
-rwxrwxrwx
2017-08-18 07:56
modprobe.aug
3.34
KB
-rwxrwxrwx
2017-08-18 07:56
modules.aug
741
B
-rwxrwxrwx
2017-08-18 07:56
modules_conf.aug
1.04
KB
-rwxrwxrwx
2017-08-18 07:56
mongodbserver.aug
1.17
KB
-rwxrwxrwx
2017-08-18 07:56
monit.aug
2.13
KB
-rwxrwxrwx
2017-08-18 07:56
multipath.aug
4.09
KB
-rwxrwxrwx
2017-08-18 07:56
mysql.aug
1.95
KB
-rwxrwxrwx
2017-08-18 07:56
nagioscfg.aug
2.09
KB
-rwxrwxrwx
2017-08-18 07:56
nagiosobjects.aug
1.57
KB
-rwxrwxrwx
2017-08-18 07:56
netmasks.aug
1.69
KB
-rwxrwxrwx
2017-08-18 07:56
networkmanager.aug
2
KB
-rwxrwxrwx
2017-08-18 07:56
networks.aug
1.09
KB
-rwxrwxrwx
2017-08-18 07:56
nginx.aug
3.37
KB
-rwxrwxrwx
2017-08-18 07:56
nrpe.aug
1.78
KB
-rwxrwxrwx
2017-08-18 07:56
nsswitch.aug
2.27
KB
-rwxrwxrwx
2017-08-18 07:56
ntp.aug
5.25
KB
-rwxrwxrwx
2017-08-18 07:56
ntpd.aug
4.75
KB
-rwxrwxrwx
2017-08-18 07:56
odbc.aug
1.42
KB
-rwxrwxrwx
2017-08-18 07:56
opendkim.aug
3.08
KB
-rwxrwxrwx
2017-08-18 07:56
openshift_config.aug
2.46
KB
-rwxrwxrwx
2017-08-18 07:56
openshift_http.aug
1.03
KB
-rwxrwxrwx
2017-08-18 07:56
openshift_quickstarts.aug
1.02
KB
-rwxrwxrwx
2017-08-18 07:56
openvpn.aug
22.28
KB
-rwxrwxrwx
2017-08-18 07:56
pagekite.aug
2.6
KB
-rwxrwxrwx
2017-08-18 07:56
pam.aug
2.24
KB
-rwxrwxrwx
2017-08-18 07:56
pamconf.aug
1.23
KB
-rwxrwxrwx
2017-08-18 07:56
passwd.aug
3.52
KB
-rwxrwxrwx
2017-08-18 07:56
pbuilder.aug
638
B
-rwxrwxrwx
2017-08-18 07:56
pg_hba.aug
2.97
KB
-rwxrwxrwx
2017-08-18 07:56
pgbouncer.aug
1.43
KB
-rwxrwxrwx
2017-08-18 07:56
php.aug
2.34
KB
-rwxrwxrwx
2017-08-18 07:56
phpvars.aug
3.85
KB
-rwxrwxrwx
2017-08-18 07:56
postfix_access.aug
732
B
-rwxrwxrwx
2017-08-18 07:56
postfix_main.aug
1.46
KB
-rwxrwxrwx
2017-08-18 07:56
postfix_master.aug
1.84
KB
-rwxrwxrwx
2017-08-18 07:56
postfix_passwordmap.aug
1.23
KB
-rwxrwxrwx
2017-08-18 07:56
postfix_sasl_smtpd.aug
636
B
-rwxrwxrwx
2017-08-18 07:56
postfix_transport.aug
1.43
KB
-rwxrwxrwx
2017-08-18 07:56
postfix_virtual.aug
1.27
KB
-rwxrwxrwx
2017-08-18 07:56
postgresql.aug
2.1
KB
-rwxrwxrwx
2017-08-18 07:56
properties.aug
2.25
KB
-rwxrwxrwx
2017-08-18 07:56
protocols.aug
1.05
KB
-rwxrwxrwx
2017-08-18 07:56
puppet.aug
1.52
KB
-rwxrwxrwx
2017-08-18 07:56
puppet_auth.aug
1.95
KB
-rwxrwxrwx
2017-08-18 07:56
puppetfile.aug
1.66
KB
-rwxrwxrwx
2017-08-18 07:56
puppetfileserver.aug
3.12
KB
-rwxrwxrwx
2017-08-18 07:56
pylonspaste.aug
2.3
KB
-rwxrwxrwx
2017-08-18 07:56
pythonpaste.aug
1.99
KB
-rwxrwxrwx
2017-08-18 07:56
qpid.aug
670
B
-rwxrwxrwx
2017-08-18 07:56
quote.aug
6.71
KB
-rwxrwxrwx
2017-08-18 07:56
rabbitmq.aug
4.69
KB
-rwxrwxrwx
2017-08-18 07:56
radicale.aug
1.48
KB
-rwxrwxrwx
2017-08-18 07:56
redis.aug
4.6
KB
-rwxrwxrwx
2017-08-18 07:56
reprepro_uploaders.aug
5.47
KB
-rwxrwxrwx
2017-08-18 07:56
resolv.aug
3.85
KB
-rwxrwxrwx
2017-08-18 07:56
rhsm.aug
1.1
KB
-rwxrwxrwx
2017-08-18 07:56
rmt.aug
788
B
-rwxrwxrwx
2017-08-18 07:56
rsyncd.aug
1.97
KB
-rwxrwxrwx
2017-08-18 07:56
rsyslog.aug
2.46
KB
-rwxrwxrwx
2017-08-18 07:56
rx.aug
4.06
KB
-rwxrwxrwx
2017-08-18 07:56
samba.aug
1.71
KB
-rwxrwxrwx
2017-08-18 07:56
schroot.aug
1.79
KB
-rwxrwxrwx
2017-08-18 07:56
securetty.aug
450
B
-rwxrwxrwx
2017-08-18 07:56
sep.aug
1.28
KB
-rwxrwxrwx
2017-08-18 07:56
services.aug
2.82
KB
-rwxrwxrwx
2017-08-18 07:56
shadow.aug
2.35
KB
-rwxrwxrwx
2017-08-18 07:56
shells.aug
745
B
-rwxrwxrwx
2017-08-18 07:56
shellvars.aug
11.63
KB
-rwxrwxrwx
2017-08-18 07:56
shellvars_list.aug
1.74
KB
-rwxrwxrwx
2017-08-18 07:56
simplelines.aug
1.13
KB
-rwxrwxrwx
2017-08-18 07:56
simplevars.aug
1.39
KB
-rwxrwxrwx
2017-08-18 07:56
sip_conf.aug
1.61
KB
-rwxrwxrwx
2017-08-18 07:56
slapd.aug
5.2
KB
-rwxrwxrwx
2017-08-18 07:56
smbusers.aug
781
B
-rwxrwxrwx
2017-08-18 07:56
solaris_system.aug
3.15
KB
-rwxrwxrwx
2017-08-18 07:56
soma.aug
1.14
KB
-rwxrwxrwx
2017-08-18 07:56
spacevars.aug
1.42
KB
-rwxrwxrwx
2017-08-18 07:56
splunk.aug
1.64
KB
-rwxrwxrwx
2017-08-18 07:56
squid.aug
15.95
KB
-rwxrwxrwx
2017-08-18 07:56
ssh.aug
3.57
KB
-rwxrwxrwx
2017-08-18 07:56
sshd.aug
3.76
KB
-rwxrwxrwx
2017-08-18 07:56
sssd.aug
861
B
-rwxrwxrwx
2017-08-18 07:56
star.aug
941
B
-rwxrwxrwx
2017-08-18 07:56
stunnel.aug
2.21
KB
-rwxrwxrwx
2017-08-18 07:56
subversion.aug
2.75
KB
-rwxrwxrwx
2017-08-18 07:56
sudoers.aug
19.96
KB
-rwxrwxrwx
2017-08-18 07:56
sysconfig.aug
2.49
KB
-rwxrwxrwx
2017-08-18 07:56
sysconfig_route.aug
2.55
KB
-rwxrwxrwx
2017-08-18 07:56
sysctl.aug
923
B
-rwxrwxrwx
2017-08-18 07:56
syslog.aug
7.22
KB
-rwxrwxrwx
2017-08-18 07:56
systemd.aug
5.65
KB
-rwxrwxrwx
2017-08-18 07:56
thttpd.aug
1.31
KB
-rwxrwxrwx
2017-08-18 07:56
tmpfiles.aug
3.03
KB
-rwxrwxrwx
2017-08-18 07:56
trapperkeeper.aug
4.01
KB
-rwxrwxrwx
2017-08-18 07:56
tuned.aug
387
B
-rwxrwxrwx
2017-08-18 07:56
up2date.aug
2.21
KB
-rwxrwxrwx
2017-08-18 07:56
updatedb.aug
1.13
KB
-rwxrwxrwx
2017-08-18 07:56
util.aug
4.85
KB
-rwxrwxrwx
2017-08-18 07:56
vfstab.aug
1.71
KB
-rwxrwxrwx
2017-08-18 07:56
vmware_config.aug
702
B
-rwxrwxrwx
2017-08-18 07:56
vsftpd.aug
2.7
KB
-rwxrwxrwx
2017-08-18 07:56
webmin.aug
1.23
KB
-rwxrwxrwx
2017-08-18 07:56
wine.aug
1.92
KB
-rwxrwxrwx
2017-08-18 07:56
xendconfsxp.aug
1.07
KB
-rwxrwxrwx
2017-08-18 07:56
xinetd.aug
4.02
KB
-rwxrwxrwx
2017-08-18 07:56
xml.aug
6.33
KB
-rwxrwxrwx
2017-08-18 07:56
xorg.aug
10.12
KB
-rwxrwxrwx
2017-08-18 07:56
xymon.aug
2.18
KB
-rwxrwxrwx
2017-08-18 07:56
xymon_alerting.aug
6.11
KB
-rwxrwxrwx
2017-08-18 07:56
yaml.aug
1.4
KB
-rwxrwxrwx
2017-08-18 07:56
yum.aug
2.19
KB
-rwxrwxrwx
2017-08-18 07:56
Save
Rename
(* XML lens for Augeas Author: Francis Giraldeau <francis.giraldeau@usherbrooke.ca> Reference: http://www.w3.org/TR/2006/REC-xml11-20060816/ *) module Xml = autoload xfm (************************************************************************ * Utilities lens *************************************************************************) let dels (s:string) = del s s let spc = /[ \t\r\n]+/ let osp = /[ \t\r\n]*/ let sep_spc = del /[ \t\r\n]+/ " " let sep_osp = del /[ \t\r\n]*/ "" let sep_eq = del /[ \t\r\n]*=[ \t\r\n]*/ "=" let nmtoken = /[a-zA-Z:_][a-zA-Z0-9:_.-]*/ let word = /[a-zA-Z][a-zA-Z0-9._-]*/ let char = /.|(\r?\n)/ (* if we hide the quotes, then we can only accept single or double quotes *) (* otherwise a put ambiguity is raised *) let sto_dquote = dels "\"" . store /[^"]*/ . dels "\"" (* " *) let sto_squote = dels "'" . store /[^']*/ . dels "'" let comment = [ label "#comment" . dels "<!--" . store /([^-]|-[^-])*/ . dels "-->" ] let pi_target = nmtoken - /[Xx][Mm][Ll]/ let empty = Util.empty let del_end = del />[\r?\n]?/ ">\n" let del_end_simple = dels ">" (* This is siplified version of processing instruction * pi has to not start or end with a white space and the string * must not contain "?>". We restrict too much by not allowing any * "?" nor ">" in PI *) let pi = /[^ \r\n\t]|[^ \r\n\t][^?>]*[^ \r\n\t]/ (************************************************************************ * Attributes *************************************************************************) let decl = [ label "#decl" . sep_spc . store /[^> \t\n\r]|[^> \t\n\r][^>\t\n\r]*[^> \t\n\r]/ ] let decl_def (r:regexp) (b:lens) = [ dels "<" . key r . sep_spc . store nmtoken . b . sep_osp . del_end_simple ] let elem_def = decl_def /!ELEMENT/ decl let enum = "(" . osp . nmtoken . ( osp . "|" . osp . nmtoken )* . osp . ")" let att_type = /CDATA|ID|IDREF|IDREFS|ENTITY|ENTITIES|NMTOKEN|NMTOKENS/ | enum let id_def = [ sep_spc . key /PUBLIC/ . [ label "#literal" . sep_spc . sto_dquote ]* ] | [ sep_spc . key /SYSTEM/ . sep_spc . sto_dquote ] let notation_def = decl_def /!NOTATION/ id_def let att_def = counter "att_id" . [ sep_spc . seq "att_id" . [ label "#name" . store word . sep_spc ] . [ label "#type" . store att_type . sep_spc ] . ([ key /#REQUIRED|#IMPLIED/ ] | [ label "#FIXED" . del /#FIXED[ \r\n\t]*|/ "" . sto_dquote ]) ]* let att_list_def = decl_def /!ATTLIST/ att_def let entity_def = let literal (lbl:string) = [ sep_spc . label lbl . sto_dquote ] in decl_def /!ENTITY/ ( literal "#decl" | [ sep_spc . key /SYSTEM/ . literal "#systemliteral" ] | [ sep_spc . key /PUBLIC/ . literal "#pubidliteral" . literal "#systemliteral" ] ) let decl_def_item = elem_def | entity_def | att_list_def | notation_def let decl_outer = sep_osp . del /\[[ \n\t\r]*/ "[\n" . (decl_def_item . sep_osp )* . dels "]" (* let dtd_def = [ sep_spc . key "SYSTEM" . sep_spc . sto_dquote ] *) let doctype = decl_def /!DOCTYPE/ (decl_outer|id_def) (* General shape of an attribute * q is the regexp matching the quote character for the value * qd is the default quote character * brx is what the actual attribute value must match *) let attval (q:regexp) (qd:string) (brx:regexp) = let quote = del q qd in let body = store brx in [ sep_spc . key nmtoken . sep_eq . square quote body quote ] (* We treat attributes according to one of the following three patterns: attval1 : values that must be quoted with single quotes attval2 : values that must be quoted with double quotes attval3 : values that can be quoted with either *) let attributes = let attval1 = attval "'" "'" /[^']*"[^']*/ in (* " *) let attval2 = attval "\"" "\"" /[^"]*'[^"]*/ in let attval3 = attval /['"]/ "\"" /(\\\\|[^'\"])*/ in (* " *) [ label "#attribute" . (attval1|attval2|attval3)+ ] let prolog = [ label "#declaration" . dels "<?xml" . attributes . sep_osp . dels "?>" ] (************************************************************************ * Tags *************************************************************************) (* we consider entities as simple text *) let text_re = /[^<]+/ - /([^<]*\]\]>[^<]*)/ let text = [ label "#text" . store text_re ] let cdata = [ label "#CDATA" . dels "<![CDATA[" . store (char* - (char* . "]]>" . char*)) . dels "]]>" ] (* the value of nmtoken_del is always the nmtoken_key string *) let nmtoken_key = key nmtoken let nmtoken_del = del nmtoken "a" let element (body:lens) = let h = attributes? . sep_osp . dels ">" . body* . dels "</" in [ dels "<" . square nmtoken_key h nmtoken_del . sep_osp . del_end ] let empty_element = [ dels "<" . nmtoken_key . value "#empty" . attributes? . sep_osp . del /\/>[\r?\n]?/ "/>\n" ] let pi_instruction = [ dels "<?" . label "#pi" . [ label "#target" . store pi_target ] . [ sep_spc . label "#instruction" . store pi ]? . sep_osp . del /\?>/ "?>" ] (* Typecheck is weaker on rec lens, detected by unfolding *) (* let content1 = element text let rec content2 = element (content1|text|comment) *) let rec content = element (text|comment|content|empty_element|pi_instruction|cdata) (* Constraints are weaker here, but it's better than being too strict *) let doc = (sep_osp . (prolog | comment | doctype | pi_instruction))* . ((sep_osp . content) | (sep_osp . empty_element)) . (sep_osp . (comment | pi_instruction ))* . sep_osp let lns = doc | Util.empty? let filter = (incl "/etc/xml/*.xml") . (incl "/etc/xml/catalog") let xfm = transform lns filter