diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetFactory.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetFactory.java
index 174504502766538404090285dfebcefa96be2349..17f4516d86c877336cc986b596cf9a1e4de50aa1 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetFactory.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetFactory.java
@@ -29,9 +29,9 @@ public class NsdResourceSetFactory extends RiseClipseResourceSetFactory {
      * @see fr.centralesupelec.edf.riseclipse.util.RiseClipseResourceSetFactory#createResourceSet()
      */
     @Override
-    public IRiseClipseResourceSet createResourceSet( IRiseClipseConsole console ) {
+    public IRiseClipseResourceSet createResourceSet( boolean strictContent, IRiseClipseConsole console ) {
         // TODO Auto-generated method stub
-        return new NsdResourceSetImpl( console );
+        return new NsdResourceSetImpl( strictContent, console );
     }
 
 }
diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetImpl.java
index c1f74920ac223fc59f4941196d7d09a3c0d75632..3675b7c99637ff0028decd76e72051409ab97ed2 100644
--- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetImpl.java
+++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetImpl.java
@@ -35,8 +35,8 @@ public class NsdResourceSetImpl extends RiseClipseResourceSet {
     
     private Map< String, NS > nsdResources;
 
-    public NsdResourceSetImpl( IRiseClipseConsole console ) {
-        super( console );
+    public NsdResourceSetImpl( boolean strictContent, IRiseClipseConsole console ) {
+        super( strictContent, console );
         
         nsdResources = new HashMap< String, NS >();
     }
@@ -46,8 +46,8 @@ public class NsdResourceSetImpl extends RiseClipseResourceSet {
         super.demandLoad( resource );
         
         if( ! ( resource instanceof NsdResourceImpl )) {
-            AbstractRiseClipseConsole.getConsole().error( "The file " + resource.getURI() + " is not an NSD file" );
-            this.getResources().remove( resource );
+            // if strictContent is false, another king of resource is allowed.
+            // We just ignore it.
             return;
         }
         if( ! ( resource.getContents().get( 0 ) instanceof DocumentRoot )) {
@@ -110,9 +110,11 @@ public class NsdResourceSetImpl extends RiseClipseResourceSet {
      */
     private void buildExplicitLinks( IRiseClipseConsole console ) {
         for( Resource resource : getResources() ) {
-            DocumentRoot root = (DocumentRoot) resource.getContents().get( 0 );
-            NS ns = ( NS ) root.getNS();
-            ns.buildExplicitLinks( console, true );
+            if( resource instanceof NsdResourceImpl ) {
+                DocumentRoot root = (DocumentRoot) resource.getContents().get( 0 );
+                NS ns = ( NS ) root.getNS();
+                ns.buildExplicitLinks( console, true );
+            }
         }
         
     }