Author: vsiveton Date: Mon Jun 15 10:28:18 2009 New Revision: 784718 URL: http://svn.apache.org/viewvc?rev=784718&view=rev Log: DOXIA-281: Add macro support in FML
o import part of code from XdocParser to handle macro tag o updated the xsd o added/updated test cases Added: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/components/ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/components/components.xml (with props) maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/resources/fml-1.0.1.xsd - copied, changed from r784532, maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/resources/fml-1.0.xsd maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/resources/macro.fml (with props) Removed: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/resources/fml-1.0.xsd Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/pom.xml maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/java/org/apache/maven/doxia/module/fml/FmlMarkup.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/java/org/apache/maven/doxia/module/fml/FmlParser.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/java/org/apache/maven/doxia/module/fml/FmlParserTest.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/java/org/apache/maven/doxia/module/fml/FmlValidatorTest.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/resources/simpleFaq.fml maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/resources/test.fml Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/pom.xml URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/pom.xml?rev=784718&r1=784717&r2=784718&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/pom.xml (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/pom.xml Mon Jun 15 10:28:18 2009 @@ -75,6 +75,23 @@ </execution> </executions> </plugin> + <plugin> + <groupId>org.codehaus.plexus</groupId> + <artifactId>plexus-maven-plugin</artifactId> + <configuration> + <descriptors> + <descriptor>src/main/components/components.xml</descriptor> + <descriptor>target/generated-resources/plexus/META-INF/plexus/components.xml</descriptor> + </descriptors> + </configuration> + <executions> + <execution> + <goals> + <goal>merge-descriptors</goal> + </goals> + </execution> + </executions> + </plugin> </plugins> </build> Added: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/components/components.xml URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/components/components.xml?rev=784718&view=auto ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/components/components.xml (added) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/components/components.xml Mon Jun 15 10:28:18 2009 @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> +<component-set> + <components> + <component> + <role>org.apache.maven.doxia.parser.Parser</role> + <role-hint>fml</role-hint> + <implementation>org.apache.maven.doxia.module.fml.FmlParser</implementation> + <description>Parse an xdoc model and emit events into the specified doxia Sink.</description> + <requirements> + <requirement> + <role>org.apache.maven.doxia.macro.manager.MacroManager</role> + <field-name>macroManager</field-name> + </requirement> + </requirements> + </component> + </components> +</component-set> Propchange: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/components/components.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/components/components.xml ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/java/org/apache/maven/doxia/module/fml/FmlMarkup.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/java/org/apache/maven/doxia/module/fml/FmlMarkup.java?rev=784718&r1=784717&r2=784718&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/java/org/apache/maven/doxia/module/fml/FmlMarkup.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/java/org/apache/maven/doxia/module/fml/FmlMarkup.java Mon Jun 15 10:28:18 2009 @@ -36,11 +36,11 @@ public interface FmlMarkup extends HtmlMarkup { - /** FML namespace: "http://maven.apache.org/FML/1.0" */ - String FML_NAMESPACE = "http://maven.apache.org/FML/1.0"; + /** FML namespace: "http://maven.apache.org/FML/1.0.1" */ + String FML_NAMESPACE = "http://maven.apache.org/FML/1.0.1"; - /** FML system id: "http://maven.apache.org/xsd/fml-1.0.xsd" */ - String FML_SYSTEM_ID = "http://maven.apache.org/xsd/fml-1.0.xsd"; + /** FML system id: "http://maven.apache.org/xsd/fml-1.0.1.xsd" */ + String FML_SYSTEM_ID = "http://maven.apache.org/xsd/fml-1.0.1.xsd"; // ---------------------------------------------------------------------- // Specific Fml tags @@ -105,4 +105,17 @@ return "source"; } }; + + /** + * Fml tag for <code>macro</code> + * @since 1.1.1 + */ + Tag MACRO_TAG = new Tag() + { + /** {...@inheritdoc} */ + public String toString() + { + return "macro"; + } + }; } Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/java/org/apache/maven/doxia/module/fml/FmlParser.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/java/org/apache/maven/doxia/module/fml/FmlParser.java?rev=784718&r1=784717&r2=784718&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/java/org/apache/maven/doxia/module/fml/FmlParser.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/java/org/apache/maven/doxia/module/fml/FmlParser.java Mon Jun 15 10:28:18 2009 @@ -19,7 +19,10 @@ * under the License. */ +import java.io.IOException; import java.io.Reader; +import java.io.StringReader; +import java.io.StringWriter; import java.util.HashMap; import java.util.Iterator; @@ -30,6 +33,8 @@ import javax.swing.text.html.HTML.Attribute; import org.apache.maven.doxia.macro.MacroExecutionException; +import org.apache.maven.doxia.macro.MacroRequest; +import org.apache.maven.doxia.macro.manager.MacroNotFoundException; import org.apache.maven.doxia.module.fml.model.Faq; import org.apache.maven.doxia.module.fml.model.Faqs; import org.apache.maven.doxia.module.fml.model.Part; @@ -37,9 +42,11 @@ import org.apache.maven.doxia.parser.ParseException; import org.apache.maven.doxia.sink.Sink; import org.apache.maven.doxia.sink.SinkEventAttributeSet; +import org.apache.maven.doxia.sink.XhtmlBaseSink; import org.apache.maven.doxia.util.DoxiaUtils; import org.apache.maven.doxia.util.HtmlTools; +import org.codehaus.plexus.util.IOUtil; import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.xml.pull.XmlPullParser; import org.codehaus.plexus.util.xml.pull.XmlPullParserException; @@ -73,14 +80,40 @@ * Using to reduce warn messages. */ private Map warnMessages; + /** The source content of the input reader. Used to pass into macros. */ + private String sourceContent; + + /** A macro name. */ + private String macroName; + + /** The macro parameters. */ + private Map macroParameters = new HashMap(); + /** {...@inheritdoc} */ public void parse( Reader source, Sink sink ) throws ParseException { + try + { + StringWriter contentWriter = new StringWriter(); + IOUtil.copy( source, contentWriter ); + sourceContent = contentWriter.toString(); + } + catch ( IOException ex ) + { + throw new ParseException( "Error reading the input source: " + ex.getMessage(), ex ); + } + finally + { + IOUtil.close( source ); + } + + Reader tmp = new StringReader( sourceContent ); + this.faqs = new Faqs(); // this populates faqs - super.parse( source, sink ); + super.parse( tmp, sink ); writeFaqs( sink ); @@ -178,6 +211,19 @@ .append( String.valueOf( GREATER_THAN ) ); } + + // ---------------------------------------------------------------------- + // Macro + // ---------------------------------------------------------------------- + + else if ( parser.getName().equals( MACRO_TAG.toString() ) ) + { + handleMacroStart( parser ); + } + else if ( parser.getName().equals( PARAM.toString() ) ) + { + handleParamStart( parser, sink ); + } else if ( buffer != null ) { buffer.append( String.valueOf( LESS_THAN ) ).append( parser.getName() ); @@ -272,6 +318,22 @@ buffer = null; } + + // ---------------------------------------------------------------------- + // Macro + // ---------------------------------------------------------------------- + + else if ( parser.getName().equals( MACRO_TAG.toString() ) ) + { + handleMacroEnd( buffer ); + } + else if ( parser.getName().equals( PARAM.toString() ) ) + { + if ( !StringUtils.isNotEmpty( macroName ) ) + { + handleUnknown( parser, sink, TAG_TYPE_END ); + } + } else if ( buffer != null ) { if ( buffer.length() > 0 && buffer.charAt( buffer.length() - 1 ) == SPACE ) @@ -357,6 +419,107 @@ } /** + * TODO import from XdocParser, probably need to be generic. + * + * @param parser not null + * @throws MacroExecutionException if any + */ + private void handleMacroStart( XmlPullParser parser ) + throws MacroExecutionException + { + if ( !isSecondParsing() ) + { + macroName = parser.getAttributeValue( null, Attribute.NAME.toString() ); + + if ( macroParameters == null ) + { + macroParameters = new HashMap(); + } + + if ( StringUtils.isEmpty( macroName ) ) + { + throw new MacroExecutionException( "The '" + Attribute.NAME.toString() + + "' attribute for the '" + MACRO_TAG.toString() + "' tag is required." ); + } + } + } + + /** + * TODO import from XdocParser, probably need to be generic. + * + * @param buffer not null + * @throws MacroExecutionException if any + */ + private void handleMacroEnd( StringBuffer buffer ) + throws MacroExecutionException + { + if ( !isSecondParsing() ) + { + if ( StringUtils.isNotEmpty( macroName ) ) + { + // TODO handles specific macro attributes + macroParameters.put( "sourceContent", sourceContent ); + FmlParser fmlParser = new FmlParser(); + fmlParser.setSecondParsing( true ); + macroParameters.put( "parser", fmlParser ); + + MacroRequest request = new MacroRequest( macroParameters, getBasedir() ); + + try + { + StringWriter sw = new StringWriter(); + XhtmlBaseSink sink = new XhtmlBaseSink(sw); + executeMacro( macroName, request, sink ); + sink.close(); + buffer.append( sw.toString() ); + } catch ( MacroNotFoundException me ) + { + throw new MacroExecutionException( "Macro not found: " + macroName, me ); + } + } + } + + // Reinit macro + macroName = null; + macroParameters = null; + } + + /** + * TODO import from XdocParser, probably need to be generic. + * + * @param parser not null + * @param sink not null + * @throws MacroExecutionException if any + */ + private void handleParamStart( XmlPullParser parser, Sink sink ) + throws MacroExecutionException + { + if ( !isSecondParsing() ) + { + if ( StringUtils.isNotEmpty( macroName ) ) + { + String paramName = parser.getAttributeValue( null, Attribute.NAME.toString() ); + String paramValue = parser.getAttributeValue( null, + Attribute.VALUE.toString() ); + + if ( StringUtils.isEmpty( paramName ) || StringUtils.isEmpty( paramValue ) ) + { + throw new MacroExecutionException( "'" + Attribute.NAME.toString() + + "' and '" + Attribute.VALUE.toString() + "' attributes for the '" + PARAM.toString() + + "' tag are required inside the '" + MACRO_TAG.toString() + "' tag." ); + } + + macroParameters.put( paramName, paramValue ); + } + else + { + // param tag from non-macro object, see MSITE-288 + handleUnknown( parser, sink, TAG_TYPE_START ); + } + } + } + + /** * Writes the faqs to the specified sink. * * @param faqs The faqs to emit. Copied: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/resources/fml-1.0.1.xsd (from r784532, maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/resources/fml-1.0.xsd) URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/resources/fml-1.0.1.xsd?p2=maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/resources/fml-1.0.1.xsd&p1=maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/resources/fml-1.0.xsd&r1=784532&r2=784718&rev=784718&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/resources/fml-1.0.xsd (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/resources/fml-1.0.1.xsd Mon Jun 15 10:28:18 2009 @@ -22,14 +22,14 @@ <xs:schema version="1.0" xml:lang="en" xmlns:xs="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://maven.apache.org/FML/1.0" - xmlns="http://maven.apache.org/FML/1.0" + targetNamespace="http://maven.apache.org/FML/1.0.1" + xmlns="http://maven.apache.org/FML/1.0.1" xmlns:xml="http://www.w3.org/XML/1998/namespace" elementFormDefault="qualified"> <xs:annotation> <xs:documentation source="description"> - Doxia FML (FAQ Markup Language) 1.0 XML Schema. + Doxia FML (FAQ Markup Language) 1.0.1 XML Schema. This is based on: Extensible HTML version 1.0 Transitional XML Schema http://www.w3.org/2002/08/xhtml/xhtml1-transitional.xsd @@ -449,6 +449,7 @@ <xs:element ref="map"/> <xs:element ref="iframe"/> <xs:element ref="source"/> <!-- FML specific --> + <xs:element ref="macro"/> <!-- FML specific --> </xs:choice> </xs:group> @@ -2909,4 +2910,19 @@ </xs:sequence> </xs:complexType> </xs:element> + + <xs:element name="macro"> + <xs:annotation> + <xs:documentation source="version">1.0.1</xs:documentation> + <xs:documentation source="description"> + A macro element. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="param"/> + </xs:choice> + <xs:attribute name="name" use="required" type="Text"/> + </xs:complexType> + </xs:element> </xs:schema> \ No newline at end of file Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/java/org/apache/maven/doxia/module/fml/FmlParserTest.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/java/org/apache/maven/doxia/module/fml/FmlParserTest.java?rev=784718&r1=784717&r2=784718&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/java/org/apache/maven/doxia/module/fml/FmlParserTest.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/java/org/apache/maven/doxia/module/fml/FmlParserTest.java Mon Jun 15 10:28:18 2009 @@ -20,15 +20,19 @@ */ import java.io.File; +import java.io.FileReader; import java.io.Reader; +import java.io.Writer; import java.util.Iterator; import java.util.List; import org.apache.maven.doxia.parser.AbstractParserTest; import org.apache.maven.doxia.parser.Parser; +import org.apache.maven.doxia.sink.Sink; import org.apache.maven.doxia.sink.SinkEventElement; import org.apache.maven.doxia.sink.SinkEventTestingSink; +import org.apache.maven.doxia.sink.XhtmlBaseSink; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.IOUtil; @@ -39,12 +43,16 @@ public class FmlParserTest extends AbstractParserTest { + private FmlParser parser; + /** {...@inheritdoc} */ protected void setUp() throws Exception { super.setUp(); + parser = (FmlParser) lookup( Parser.ROLE, "fml" ); + // AbstractXmlParser.CachedFileEntityResolver downloads DTD/XSD files in ${java.io.tmpdir} // Be sure to delete them String tmpDir = System.getProperty( "java.io.tmpdir" ); @@ -60,7 +68,7 @@ /** {...@inheritdoc} */ protected Parser createParser() { - return new FmlParser(); + return parser; } /** {...@inheritdoc} */ @@ -69,15 +77,13 @@ return "fml"; } - /** @throws Exception */ + /** @throws Exception */ public void testFaqEventsList() throws Exception { - SinkEventTestingSink sink = new SinkEventTestingSink(); Reader reader = null; - try { reader = getTestReader( "simpleFaq" ); @@ -143,7 +149,7 @@ assertFalse( it.hasNext() ); } - /** @throws Exception */ + /** @throws Exception */ public void testEntities() throws Exception { @@ -244,6 +250,47 @@ assertFalse( it.hasNext() ); } + /** + * @throws Exception if any + * @since 1.1.1 + */ + public void testFaqMacro() + throws Exception + { + Writer output = null; + Reader reader = null; + try + { + output = getTestWriter( "macro" ); + reader = getTestReader( "macro" ); + + Sink sink = new XhtmlBaseSink( output ); + createParser().parse( reader, sink ); + sink.close(); + } + finally + { + IOUtil.close( output ); + IOUtil.close( reader ); + } + + File f = getTestFile( getBasedir(), outputBaseDir() + getOutputDir() + "macro.fml" ); + assertTrue( "The file " + f.getAbsolutePath() + " was not created", f.exists() ); + + String content; + try + { + reader = new FileReader( f ); + content = IOUtil.toString( reader ); + } + finally + { + IOUtil.close( reader ); + } + + assertTrue( content.indexOf( "<a name=\"macro-definition\">Macro Question</a>" ) != -1 ); + } + private void assertTextEvent( SinkEventElement textEvt, String string ) { assertEquals( "text", textEvt.getName() ); Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/java/org/apache/maven/doxia/module/fml/FmlValidatorTest.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/java/org/apache/maven/doxia/module/fml/FmlValidatorTest.java?rev=784718&r1=784717&r2=784718&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/java/org/apache/maven/doxia/module/fml/FmlValidatorTest.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/java/org/apache/maven/doxia/module/fml/FmlValidatorTest.java Mon Jun 15 10:28:18 2009 @@ -38,7 +38,7 @@ extends AbstractXmlValidatorTest { /** The xsd to use */ - private static final File FML_XSD = new File( getBasedir(), "/src/main/resources/fml-1.0.xsd" ); + private static final File FML_XSD = new File( getBasedir(), "/src/main/resources/fml-1.0.1.xsd" ); /** {...@inheritdoc} */ protected void setUp() Added: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/resources/macro.fml URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/resources/macro.fml?rev=784718&view=auto ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/resources/macro.fml (added) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/resources/macro.fml Mon Jun 15 10:28:18 2009 @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> + +<faqs xmlns="http://maven.apache.org/FML/1.0.1" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/FML/1.0.1 file:../../main/resources/fml-1.0.1.xsd" + title="Frequently Asked Questions"> + + <part id="general"> + <title>Test the macro support</title> + + <faq id="test-macro"> + <question>Question</question> + <answer> + <p>Answer with macro</p> + <macro name="snippet"> + <param name="id" value="superpom"/> + <param name="file" value="src/test/resources/macro.fml"/> + </macro> + </answer> + </faq> + +<!-- START SNIPPET: fmlmacro --> + <faq id="macro-definition"> + <question>Macro Question</question> + <answer> + <p>Macro Answer</p> + </answer> + </faq> +<!-- END SNIPPET: fmlmacro --> + </part> +</faqs> Propchange: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/resources/macro.fml ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/resources/simpleFaq.fml URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/resources/simpleFaq.fml?rev=784718&r1=784717&r2=784718&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/resources/simpleFaq.fml (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/resources/simpleFaq.fml Mon Jun 15 10:28:18 2009 @@ -18,9 +18,9 @@ under the License. --> -<faqs xmlns="http://maven.apache.org/FML/1.0" +<faqs xmlns="http://maven.apache.org/FML/1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/FML/1.0 file:../../main/resources/fml-1.0.xsd" + xsi:schemaLocation="http://maven.apache.org/FML/1.0.1 file:../../main/resources/fml-1.0.1.xsd" title="Frequently Asked Questions"> <part id="general"> Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/resources/test.fml URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/resources/test.fml?rev=784718&r1=784717&r2=784718&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/resources/test.fml (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/test/resources/test.fml Mon Jun 15 10:28:18 2009 @@ -19,9 +19,9 @@ --> <!-- TODO [later]: faqs need some sorting --> -<faqs xmlns="http://maven.apache.org/FML/1.0" +<faqs xmlns="http://maven.apache.org/FML/1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/FML/1.0 file:../../main/resources/fml-1.0.xsd" + xsi:schemaLocation="http://maven.apache.org/FML/1.0.1 file:../../main/resources/fml-1.0.1.xsd" title="Frequently Asked Questions"> <part id="general">