Xml RichEditableText-此处不允许混合内容

Xml RichEditableText-此处不允许混合内容,xml,flex4,Xml,Flex4,我正在开发一个最近从Flex3升级到Flex4的Flex应用程序。我想使用spark RichEditableText组件来显示一些嵌入了超链接的文本,但我遇到了一些问题。我在这里举一个例子: 这里是我的组件的简化版本,仍然存在错误 <?xml version="1.0" encoding="utf-8"?> <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:skins="skins.*"

我正在开发一个最近从Flex3升级到Flex4的Flex应用程序。我想使用spark RichEditableText组件来显示一些嵌入了超链接的文本,但我遇到了一些问题。我在这里举一个例子:

这里是我的组件的简化版本,仍然存在错误

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"
           xmlns:skins="skins.*"
           xmlns:annotations="annotations.*" xmlns:s="library://ns.adobe.com/flex/spark">

    <s:VGroup top="5" left="5">
        <s:RichEditableText id="richTxt" 
                            editable="false" 
                            focusEnabled="false">
            <s:textFlow>
                <s:TextFlow>
                    <s:p>
                        The following link takes you to: <s:a href="http://www.adobe.com">Adobe.com</s:a>
                    </s:p>
                </s:TextFlow>
            </s:textFlow>
        </s:RichEditableText>
    </s:VGroup>
</mx:Canvas>

以下链接将带您访问:Adobe.com

我的问题是,对于TextFlow元素中的每个标记,FlexBuilder都会给我一个错误“此处不允许混合内容”。如果我删除TextFlow元素中的标记,只保留纯文本,那么事情似乎可以正常工作。谷歌没有提供任何关于我为什么会出现这个错误的见解。我正在使用Flex4.6SDK。知道我为什么会犯这个错误吗?我能做些什么吗?

我回到这个问题上来,找到了答案。我使用了错误的mx名称空间。由于我正在使用的应用程序升级到Flex4,大多数组件仍然使用旧的2006 mx名称空间。似乎为了使用RichEditableText组件,我需要切换到新的mx名称空间。因此,我删除了旧的mx名称空间,并将其替换为:

 xmlns:mx="library://ns.adobe.com/flex/mx"
 xmlns:fx="http://ns.adobe.com/mxml/2009"

我回到这个问题上来,找到了答案。我使用了错误的mx名称空间。由于我正在使用的应用程序升级到Flex4,大多数组件仍然使用旧的2006 mx名称空间。似乎为了使用RichEditableText组件,我需要切换到新的mx名称空间。因此,我删除了旧的mx名称空间,并将其替换为:

 xmlns:mx="library://ns.adobe.com/flex/mx"
 xmlns:fx="http://ns.adobe.com/mxml/2009"