diff --git a/defensive-coding/en-US/C/Allocators.xml b/defensive-coding/en-US/C-Allocators.xml
similarity index 100%
rename from defensive-coding/en-US/C/Allocators.xml
rename to defensive-coding/en-US/C-Allocators.xml
diff --git a/defensive-coding/en-US/C/Language.xml b/defensive-coding/en-US/C-Language.xml
similarity index 97%
rename from defensive-coding/en-US/C/Language.xml
rename to defensive-coding/en-US/C-Language.xml
index db7cc5d..1f1c7d2 100644
--- a/defensive-coding/en-US/C/Language.xml
+++ b/defensive-coding/en-US/C-Language.xml
@@ -57,7 +57,7 @@
Array processing in C
-
@@ -83,7 +83,7 @@
Incorrect overflow detection in C
-
@@ -119,7 +119,7 @@
Overflow checking for unsigned multiplication
-
diff --git a/defensive-coding/en-US/C/Libc.xml b/defensive-coding/en-US/C-Libc.xml
similarity index 96%
rename from defensive-coding/en-US/C/Libc.xml
rename to defensive-coding/en-US/C-Libc.xml
index 970f5bf..50abb8a 100644
--- a/defensive-coding/en-US/C/Libc.xml
+++ b/defensive-coding/en-US/C-Libc.xml
@@ -184,7 +184,7 @@
asprintf instead.)
-
@@ -212,7 +212,7 @@
Repeatedly writing to a buffer using snprintf
-
@@ -244,7 +244,7 @@
The format function attribute
-
@@ -256,7 +256,7 @@
ensuring NUL termination is:
-
@@ -264,7 +264,7 @@
function for this purpose:
-
@@ -289,7 +289,7 @@
linkend="ex-Defensive_Coding-C-String-Functions-snprintf-incremental"/>:
-
@@ -298,7 +298,7 @@
string:
-
diff --git a/defensive-coding/en-US/C/Other.xml b/defensive-coding/en-US/C-Other.xml
similarity index 100%
rename from defensive-coding/en-US/C/Other.xml
rename to defensive-coding/en-US/C-Other.xml
diff --git a/defensive-coding/en-US/C.xml b/defensive-coding/en-US/C.xml
new file mode 100644
index 0000000..4d895f9
--- /dev/null
+++ b/defensive-coding/en-US/C.xml
@@ -0,0 +1,12 @@
+
+
+
+ The C Programming Language
+
+
+
+
+
+
+
diff --git a/defensive-coding/en-US/C/C.xml b/defensive-coding/en-US/C/C.xml
deleted file mode 100644
index e8da3db..0000000
--- a/defensive-coding/en-US/C/C.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
- The C Programming Language
-
-
-
-
-
-
-
diff --git a/defensive-coding/en-US/C/schemas.xml b/defensive-coding/en-US/C/schemas.xml
deleted file mode 100644
index 8e84245..0000000
--- a/defensive-coding/en-US/C/schemas.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/defensive-coding/en-US/CXX/Language.xml b/defensive-coding/en-US/CXX-Language.xml
similarity index 100%
rename from defensive-coding/en-US/CXX/Language.xml
rename to defensive-coding/en-US/CXX-Language.xml
diff --git a/defensive-coding/en-US/CXX/Std.xml b/defensive-coding/en-US/CXX-Std.xml
similarity index 100%
rename from defensive-coding/en-US/CXX/Std.xml
rename to defensive-coding/en-US/CXX-Std.xml
diff --git a/defensive-coding/en-US/CXX/CXX.xml b/defensive-coding/en-US/CXX.xml
similarity index 61%
rename from defensive-coding/en-US/CXX/CXX.xml
rename to defensive-coding/en-US/CXX.xml
index fccfb75..8c55567 100644
--- a/defensive-coding/en-US/CXX/CXX.xml
+++ b/defensive-coding/en-US/CXX.xml
@@ -4,7 +4,7 @@
The C++ Programming Language
-
-
+
+
diff --git a/defensive-coding/en-US/Defensive_Coding.xml b/defensive-coding/en-US/Defensive_Coding.xml
index eb6e763..b8ca3de 100644
--- a/defensive-coding/en-US/Defensive_Coding.xml
+++ b/defensive-coding/en-US/Defensive_Coding.xml
@@ -4,25 +4,25 @@
Programming Languages
-
-
-
-
+
+
+
+
Specific Programming Tasks
-
-
-
-
-
-
-
+
+
+
+
+
+
+
Implementing Security Features
-
-
+
+
diff --git a/defensive-coding/en-US/Features/Authentication.xml b/defensive-coding/en-US/Features-Authentication.xml
similarity index 100%
rename from defensive-coding/en-US/Features/Authentication.xml
rename to defensive-coding/en-US/Features-Authentication.xml
diff --git a/defensive-coding/en-US/Features/TLS.xml b/defensive-coding/en-US/Features-TLS.xml
similarity index 94%
rename from defensive-coding/en-US/Features/TLS.xml
rename to defensive-coding/en-US/Features-TLS.xml
index 753da69..71b9214 100644
--- a/defensive-coding/en-US/Features/TLS.xml
+++ b/defensive-coding/en-US/Features-TLS.xml
@@ -54,7 +54,7 @@
Deactivating the TCP Nagle algorithm
-
@@ -147,7 +147,7 @@
Obtaining OpenSSL error codes
-
@@ -374,7 +374,7 @@
OpenSSL library initialization
-
@@ -392,7 +392,7 @@
OpenSSL client context creation
-
@@ -441,7 +441,7 @@
Creating a client connection using OpenSSL
-
@@ -454,7 +454,7 @@
Using an OpenSSL connection to send and receive data
-
@@ -471,7 +471,7 @@
Closing an OpenSSL connection in an orderly fashion
-
@@ -481,7 +481,7 @@
Closing an OpenSSL connection in an orderly fashion
-
@@ -497,7 +497,7 @@
The GNUTLS library needs explicit initialization:
-
@@ -514,7 +514,7 @@
Initializing a GNUTLS credentials structure
-
@@ -522,7 +522,7 @@
object should be freed:
-
@@ -543,7 +543,7 @@
Establishing a TLS client connection using GNUTLS
-
@@ -558,7 +558,7 @@
Verifying a server certificate using GNUTLS
-
@@ -576,7 +576,7 @@
Matching the server host name and certificate in a
GNUTLS client
-
@@ -591,7 +591,7 @@
Using a GNUTLS session
-
@@ -603,7 +603,7 @@
Using a GNUTLS session
-
@@ -614,7 +614,7 @@
classes:
-
@@ -644,7 +644,7 @@
Setting up an SSLContext for OpenJDK TLS
clients
-
@@ -657,7 +657,7 @@
Setting up SSLParameters for TLS use
with OpenJDK
-
@@ -666,7 +666,7 @@
separately, and this is only supported by OpenJDK 7 and later:
-
@@ -687,7 +687,7 @@
Establishing a TLS connection with OpenJDK
-
@@ -704,7 +704,7 @@
Using a TLS client socket in OpenJDK
-
A customer trust manager for OpenJDK TLS clients
-
@@ -737,7 +737,7 @@
Using a custom TLS trust manager with OpenJDK
-
@@ -782,7 +782,7 @@
Include files for NSS
-
@@ -805,7 +805,7 @@
Initializing the NSS library
-
@@ -813,7 +813,7 @@
the following function calls:
-
@@ -849,7 +849,7 @@
Creating a TLS connection with NSS
-
@@ -859,7 +859,7 @@
Using NSS for sending and receiving data
-
@@ -868,7 +868,7 @@
Closing NSS client connections
-
@@ -905,7 +905,7 @@
Implementing TLS host name checking Python (without
wildcard support)
-
@@ -962,7 +962,7 @@
Establishing a TLS client connection with Python
-
@@ -970,14 +970,14 @@
be used like a regular socket:
-
Closing the TLS socket is straightforward as well:
-
diff --git a/defensive-coding/en-US/Features/schemas.xml b/defensive-coding/en-US/Features/schemas.xml
deleted file mode 100644
index 8e84245..0000000
--- a/defensive-coding/en-US/Features/schemas.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/defensive-coding/en-US/Java/Language.xml b/defensive-coding/en-US/Java-Language.xml
similarity index 98%
rename from defensive-coding/en-US/Java/Language.xml
rename to defensive-coding/en-US/Java-Language.xml
index e47df99..eddf7f6 100644
--- a/defensive-coding/en-US/Java/Language.xml
+++ b/defensive-coding/en-US/Java-Language.xml
@@ -29,7 +29,7 @@
Incrementally reading a byte array
-
@@ -59,7 +59,7 @@
Resource management with a
try-finally block
-
@@ -81,7 +81,7 @@
Resource management using the
try-with-resource construct
-
diff --git a/defensive-coding/en-US/Java/LowLevel.xml b/defensive-coding/en-US/Java-LowLevel.xml
similarity index 99%
rename from defensive-coding/en-US/Java/LowLevel.xml
rename to defensive-coding/en-US/Java-LowLevel.xml
index 18ba1ad..6bb1190 100644
--- a/defensive-coding/en-US/Java/LowLevel.xml
+++ b/defensive-coding/en-US/Java-LowLevel.xml
@@ -80,7 +80,7 @@
Array length checking in JNI code
-
diff --git a/defensive-coding/en-US/Java/SecurityManager.xml b/defensive-coding/en-US/Java-SecurityManager.xml
similarity index 97%
rename from defensive-coding/en-US/Java/SecurityManager.xml
rename to defensive-coding/en-US/Java-SecurityManager.xml
index 2e18ac7..20a4b60 100644
--- a/defensive-coding/en-US/Java/SecurityManager.xml
+++ b/defensive-coding/en-US/Java-SecurityManager.xml
@@ -126,7 +126,7 @@ grant {
Using the security manager to run code with reduced
privileges
-
@@ -136,7 +136,7 @@ grant {
on all files in the current directory) can be used:
-
@@ -234,7 +234,7 @@ grant {
Using the security manager to run code with increased
privileges
-
@@ -283,7 +283,7 @@ grant {
Restoring privileges when invoking callbacks
-
diff --git a/defensive-coding/en-US/Java/Java.xml b/defensive-coding/en-US/Java.xml
similarity index 50%
rename from defensive-coding/en-US/Java/Java.xml
rename to defensive-coding/en-US/Java.xml
index d7bf3ef..3ff75c5 100644
--- a/defensive-coding/en-US/Java/Java.xml
+++ b/defensive-coding/en-US/Java.xml
@@ -4,8 +4,8 @@
The Java Programming Language
-
-
-
+
+
+
diff --git a/defensive-coding/en-US/Java/schemas.xml b/defensive-coding/en-US/Java/schemas.xml
deleted file mode 100644
index b18bd04..0000000
--- a/defensive-coding/en-US/Java/schemas.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/defensive-coding/en-US/Python/Language.xml b/defensive-coding/en-US/Python.xml
similarity index 100%
rename from defensive-coding/en-US/Python/Language.xml
rename to defensive-coding/en-US/Python.xml
diff --git a/defensive-coding/en-US/Python/schemas.xml b/defensive-coding/en-US/Python/schemas.xml
deleted file mode 100644
index 8e84245..0000000
--- a/defensive-coding/en-US/Python/schemas.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/defensive-coding/en-US/Tasks/Cryptography.xml b/defensive-coding/en-US/Tasks-Cryptography.xml
similarity index 100%
rename from defensive-coding/en-US/Tasks/Cryptography.xml
rename to defensive-coding/en-US/Tasks-Cryptography.xml
diff --git a/defensive-coding/en-US/Tasks/Descriptors.xml b/defensive-coding/en-US/Tasks-Descriptors.xml
similarity index 100%
rename from defensive-coding/en-US/Tasks/Descriptors.xml
rename to defensive-coding/en-US/Tasks-Descriptors.xml
diff --git a/defensive-coding/en-US/Tasks/File_System.xml b/defensive-coding/en-US/Tasks-File_System.xml
similarity index 100%
rename from defensive-coding/en-US/Tasks/File_System.xml
rename to defensive-coding/en-US/Tasks-File_System.xml
diff --git a/defensive-coding/en-US/Tasks/Library_Design.xml b/defensive-coding/en-US/Tasks-Library_Design.xml
similarity index 100%
rename from defensive-coding/en-US/Tasks/Library_Design.xml
rename to defensive-coding/en-US/Tasks-Library_Design.xml
diff --git a/defensive-coding/en-US/Tasks/Locking.xml b/defensive-coding/en-US/Tasks-Locking.xml
similarity index 100%
rename from defensive-coding/en-US/Tasks/Locking.xml
rename to defensive-coding/en-US/Tasks-Locking.xml
diff --git a/defensive-coding/en-US/Tasks/Processes.xml b/defensive-coding/en-US/Tasks-Processes.xml
similarity index 100%
rename from defensive-coding/en-US/Tasks/Processes.xml
rename to defensive-coding/en-US/Tasks-Processes.xml
diff --git a/defensive-coding/en-US/Tasks/Serialization.xml b/defensive-coding/en-US/Tasks-Serialization.xml
similarity index 95%
rename from defensive-coding/en-US/Tasks/Serialization.xml
rename to defensive-coding/en-US/Tasks-Serialization.xml
index 792ea94..71cb67a 100644
--- a/defensive-coding/en-US/Tasks/Serialization.xml
+++ b/defensive-coding/en-US/Tasks-Serialization.xml
@@ -239,7 +239,7 @@
Disabling XML entity processing with Expat
-
@@ -249,7 +249,7 @@
Creating an Expat XML parser
-
@@ -279,7 +279,7 @@
A QtXml entity handler which blocks entity processing
-
@@ -295,7 +295,7 @@
A QtXml XML reader which blocks entity processing
-
@@ -311,7 +311,7 @@
Parsing an XML document with QDomDocument, without entity expansion
-
@@ -340,13 +340,13 @@
Helper class to prevent DTD external entity resolution in OpenJDK
-
Helper class to prevent schema resolution in
OpenJDK
-
@@ -355,7 +355,7 @@
Java imports for OpenJDK XML parsing
-
DOM-based XML parsing in OpenJDK
-
@@ -400,7 +400,7 @@
SAX-based validation against an XML schema in
OpenJDK
-
@@ -421,7 +421,7 @@
Validation of a DOM document against an XML schema in
OpenJDK
-
diff --git a/defensive-coding/en-US/Tasks/Temporary_Files.xml b/defensive-coding/en-US/Tasks-Temporary_Files.xml
similarity index 100%
rename from defensive-coding/en-US/Tasks/Temporary_Files.xml
rename to defensive-coding/en-US/Tasks-Temporary_Files.xml
diff --git a/defensive-coding/en-US/Tasks/schemas.xml b/defensive-coding/en-US/Tasks/schemas.xml
deleted file mode 100644
index 8e84245..0000000
--- a/defensive-coding/en-US/Tasks/schemas.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/defensive-coding/en-US/CXX/schemas.xml b/defensive-coding/en-US/schemas.xml
similarity index 74%
rename from defensive-coding/en-US/CXX/schemas.xml
rename to defensive-coding/en-US/schemas.xml
index 8e84245..28b4476 100644
--- a/defensive-coding/en-US/CXX/schemas.xml
+++ b/defensive-coding/en-US/schemas.xml
@@ -1,4 +1,4 @@
-
+