diff --git a/mef/model_organization.rst b/mef/model_organization.rst
index 916b4cb..44f01ad 100644
--- a/mef/model_organization.rst
+++ b/mef/model_organization.rst
@@ -60,44 +60,23 @@ For even medium size PSA models this assumption not compatible with Quality Cont
Moreover, such a monolithic organization of data would be very hard to manage
when several persons work together on the same model.
-A first way to split the model into several files is to use the XML notion of entities:
-in any XML file, it is possible to declare file entities in the preamble,
-and to include them in the body of the document.
-This mechanism is exemplified below.
-
-.. code-block:: xml
-
-
-
-
-
- ]>
-
- ...
- &file1;
- ...
- &file2;
- ...
-
-
-This mechanism, however, has the drawback
-that XML tools have to actually include the files into the document,
-hence, making its manipulation heavier.
-
-The Model Exchange Format proposes another simple mechanism to achieve the same goal:
-the tag include.
+The Model Exchange Format utilizes XInclude_,
+general purpose XML Include (W3C Candidate Recommendation),
+which allows splitting the model in flexible and unconstrained ways.
This tag can be inserted at any place in a document.
-Its effect is to load the content of the given file into the model.
+Its effect is to include the content of the given file into the model.
.. code-block:: xml
-
+
...
-
+
...
+.. _XInclude: https://www.w3.org/TR/xinclude/
+
+
Organization of a Model
=======================
diff --git a/mef/schema/fault_tree.rnc b/mef/schema/fault_tree.rnc
index 3db2121..a22ad13 100644
--- a/mef/schema/fault_tree.rnc
+++ b/mef/schema/fault_tree.rnc
@@ -7,8 +7,7 @@ fault-tree-definition =
| CCF-group-definition
| event-definition
| component-definition
- | parameter-definition
- | include-directive)*
+ | parameter-definition)*
}
component-definition =
@@ -21,8 +20,7 @@ component-definition =
| CCF-group-definition
| event-definition
| component-definition
- | parameter-definition
- | include-directive)*
+ | parameter-definition)*
}
role = attribute role { "private" | "public" }
@@ -31,8 +29,7 @@ model-data =
element model-data {
(house-event-definition
| basic-event-definition
- | parameter-definition
- | include-directive)*
+ | parameter-definition)*
}
event-definition =
diff --git a/mef/schema/mef.rnc b/mef/schema/mef.rnc
index 74f4e9f..fd8affb 100644
--- a/mef/schema/mef.rnc
+++ b/mef/schema/mef.rnc
@@ -7,11 +7,6 @@ reference =
xsd:NCName { pattern = "([^\-.]+(-[^\-.]+)*)(\.\i[^\-.]*(-[^\-.]+)*)*" }
}
-include-directive =
- element include {
- attribute file { xsd:string }
- }
-
include "model.rnc"
include "label_and_attributes.rnc"
diff --git a/mef/schema/model.rnc b/mef/schema/model.rnc
index 20c3a05..091a5da 100644
--- a/mef/schema/model.rnc
+++ b/mef/schema/model.rnc
@@ -13,6 +13,5 @@ model =
| initiating-event-definition
| fault-tree-definition
| substitution-definition
- | CCF-group-definition
- | include-directive)*
+ | CCF-group-definition)*
}