1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.doxia.module.fml;
20
21 import java.io.File;
22 import java.util.regex.Matcher;
23 import java.util.regex.Pattern;
24
25 import org.apache.commons.lang3.StringUtils;
26 import org.apache.maven.doxia.markup.XmlMarkup;
27 import org.apache.maven.doxia.xsd.AbstractXmlValidatorTest;
28 import org.junit.jupiter.api.Test;
29
30 import static org.codehaus.plexus.testing.PlexusExtension.getBasedir;
31
32
33
34
35
36
37
38 public class FmlValidatorTest extends AbstractXmlValidatorTest {
39
40 private static final File FML_XSD = new File(getBasedir(), "/src/main/resources/fml-1.0.1.xsd");
41
42
43 protected String[] getIncludes() {
44 return new String[] {"**/*.fml"};
45 }
46
47
48 protected String addNamespaces(String content) {
49 Pattern pattern = Pattern.compile(".*<([A-Za-z][A-Za-z0-9:_.-]*)([^>]*)>.*");
50 Matcher matcher = pattern.matcher(content);
51 if (matcher.find()) {
52 String root = matcher.group(1);
53 String value = matcher.group(2);
54
55 if (!value.contains(FML_XSD.getName())) {
56 String faqs = "<" + root + " xmlns=\"" + FmlMarkup.FML_NAMESPACE + "\""
57 + " xmlns:xsi=\"" + XmlMarkup.XML_NAMESPACE + "\""
58 + " xsi:schemaLocation=\"" + FmlMarkup.FML_NAMESPACE + " " + FML_XSD.toURI() + "\" ";
59
60 return StringUtils.replace(content, "<" + root, faqs);
61 }
62 }
63
64 return content;
65 }
66
67 @Test
68 public void testValidateFiles() {
69
70 }
71 }