diff --git a/xml/resources-3.0.rng b/xml/resources-3.0.rng
index f4ccf31725..e6fdda8a76 100644
--- a/xml/resources-3.0.rng
+++ b/xml/resources-3.0.rng
@@ -1,429 +1,455 @@
isolation
isolation-host
isolation-instance
isolation-wrapper
pcmk_arg_map
pcmk_list_cmd
pcmk_monitor_cmd
pcmk_off_cmd
pcmk_on_cmd
pcmk_reboot_cmd
pcmk_status_cmd
([0-9\-]+)
requires
+
+
+
+
+
+
+ requires
+
+
+
+
+
+
-
+
+
+
+
+
+
+
Stopped
Started
Slave
Master
ignore
block
stop
restart
standby
fence
restart-container
ocf
lsb
heartbeat
stonith
upstart
service
systemd
nagios
diff --git a/xml/test-2/070-rsc-op-attrs-inst-requires-start.ref b/xml/test-2/070-rsc-op-attrs-inst-requires-start.ref
new file mode 100644
index 0000000000..20aba397b0
--- /dev/null
+++ b/xml/test-2/070-rsc-op-attrs-inst-requires-start.ref
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xml/test-2/070-rsc-op-attrs-inst-requires-start.ref.err b/xml/test-2/070-rsc-op-attrs-inst-requires-start.ref.err
new file mode 100644
index 0000000000..1aa7937627
--- /dev/null
+++ b/xml/test-2/070-rsc-op-attrs-inst-requires-start.ref.err
@@ -0,0 +1 @@
+Resources-operation instance_attributes: myAddr-start (rsc=myAddr, meta=myAddr-start-instanceparams): moving requires under per-resource-meta_attributes as requires unless already defined there for matching start|promote
diff --git a/xml/test-2/070-rsc-op-attrs-inst-requires-start.xml b/xml/test-2/070-rsc-op-attrs-inst-requires-start.xml
new file mode 100644
index 0000000000..90a4735a5f
--- /dev/null
+++ b/xml/test-2/070-rsc-op-attrs-inst-requires-start.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xml/test-2/071-rsc-op-attrs-inst-requires-nonstart.ref b/xml/test-2/071-rsc-op-attrs-inst-requires-nonstart.ref
new file mode 100644
index 0000000000..3dd51689cc
--- /dev/null
+++ b/xml/test-2/071-rsc-op-attrs-inst-requires-nonstart.ref
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xml/test-2/071-rsc-op-attrs-inst-requires-nonstart.ref.err b/xml/test-2/071-rsc-op-attrs-inst-requires-nonstart.ref.err
new file mode 100644
index 0000000000..0865c594da
--- /dev/null
+++ b/xml/test-2/071-rsc-op-attrs-inst-requires-nonstart.ref.err
@@ -0,0 +1,2 @@
+Resources-operation instance_attributes: myAddr-stop (rsc=myAddr, meta=myAddr-stop-instanceparams): dropping requires
+Resources-operation instance_attributes: ... only start/promote operation taken into account
diff --git a/xml/test-2/071-rsc-op-attrs-inst-requires-nonstart.xml b/xml/test-2/071-rsc-op-attrs-inst-requires-nonstart.xml
new file mode 100644
index 0000000000..b6f87bfc2f
--- /dev/null
+++ b/xml/test-2/071-rsc-op-attrs-inst-requires-nonstart.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xml/test-2/072-rsc-op-attrs-inst-requires-no-override.ref b/xml/test-2/072-rsc-op-attrs-inst-requires-no-override.ref
new file mode 100644
index 0000000000..c63230c4ee
--- /dev/null
+++ b/xml/test-2/072-rsc-op-attrs-inst-requires-no-override.ref
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xml/test-2/072-rsc-op-attrs-inst-requires-no-override.ref.err b/xml/test-2/072-rsc-op-attrs-inst-requires-no-override.ref.err
new file mode 100644
index 0000000000..f5fa9083a8
--- /dev/null
+++ b/xml/test-2/072-rsc-op-attrs-inst-requires-no-override.ref.err
@@ -0,0 +1,4 @@
+Resources-operation instance_attributes: myAddr-start (rsc=myAddr, meta=myAddr-start-instance): moving requires under per-resource-meta_attributes as requires unless already defined there for matching start|promote
+Resources-operation: myAddr-start (rsc=myAddr): moving requires under meta_attributes as requires unless already defined there for matching start|promote
+Resources-operation: stateful-promote (rsc=stateful, meta=stateful-promote-meta): moving requires under meta_attributes as requires unless already defined there for matching start|promote
+Resources-operation instance_attributes: stateful-promote (rsc=stateful, meta=stateful-promote-instance): moving requires under per-resource-meta_attributes as requires unless already defined there for matching start|promote
diff --git a/xml/test-2/072-rsc-op-attrs-inst-requires-no-override.xml b/xml/test-2/072-rsc-op-attrs-inst-requires-no-override.xml
new file mode 100644
index 0000000000..c7359424bc
--- /dev/null
+++ b/xml/test-2/072-rsc-op-attrs-inst-requires-no-override.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xml/upgrade-2.10.xsl b/xml/upgrade-2.10.xsl
index 1a4311af9c..8d5d5f4e0d 100644
--- a/xml/upgrade-2.10.xsl
+++ b/xml/upgrade-2.10.xsl
@@ -1,2057 +1,2280 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
-
+
+
-
+