Move qualified path parsing to module
diff --git a/syntax/namespace.rs b/syntax/namespace.rs
index e2dce18..bdfb845 100644
--- a/syntax/namespace.rs
+++ b/syntax/namespace.rs
@@ -1,8 +1,9 @@
+use crate::syntax::qualified::QualifiedName;
 use quote::IdentFragment;
 use std::fmt::{self, Display};
 use std::slice::Iter;
 use syn::parse::{Parse, ParseStream, Result};
-use syn::{Ident, Path, Token};
+use syn::{Ident, Token};
 
 mod kw {
     syn::custom_keyword!(namespace);
@@ -31,10 +32,7 @@
         if !input.is_empty() {
             input.parse::<kw::namespace>()?;
             input.parse::<Token![=]>()?;
-            let path = input.call(Path::parse_mod_style)?;
-            for segment in path.segments {
-                segments.push(segment.ident);
-            }
+            segments = input.call(QualifiedName::parse_unquoted)?.segments;
             input.parse::<Option<Token![,]>>()?;
         }
         Ok(Namespace { segments })