Xml VisualStudio2010中的XSD:XSL样式表子元素警告

Xml VisualStudio2010中的XSD:XSL样式表子元素警告,xml,visual-studio-2010,xslt,xsd,Xml,Visual Studio 2010,Xslt,Xsd,我为消息传递应用程序定义了一个XSD。作为消息负载的一部分,我需要要求,对于我的一个元素,内容必须是XSL样式表。这将在稍后应用XSL转换以生成最终格式化输出时使用。请注意,XSL样式表的有效负载是最终用户的决定,因此我不能简单地使用XSD来验证其内容。理想情况下,如果有一个用于HTML的XSD,那就太好了,因为我只需将它用作样式表中非XSL内容的名称空间 因此,我做到了这一点(这只是XSD的一部分,但您得到了一些想法): 更新一下:我最后只是处理了一下警告。棘手的一个。。您是否尝试过在xsl:

我为消息传递应用程序定义了一个XSD。作为消息负载的一部分,我需要要求,对于我的一个元素,内容必须是XSL样式表。这将在稍后应用XSL转换以生成最终格式化输出时使用。请注意,XSL样式表的有效负载是最终用户的决定,因此我不能简单地使用XSD来验证其内容。理想情况下,如果有一个用于HTML的XSD,那就太好了,因为我只需将它用作样式表中非XSL内容的名称空间

因此,我做到了这一点(这只是XSD的一部分,但您得到了一些想法):


更新一下:我最后只是处理了一下警告。

棘手的一个。。您是否尝试过在
xsl:stylesheet
元素中使用html名称空间而不是xmlns=“”?这是一个好主意,我对此进行了研究,但我找不到用于html的XSD!如果你知道URI,我一定会添加它,并尝试一下
我认为您实际上可以通过在VS中创建一个新的html文档找到它,默认情况下它可能位于顶部。这看起来像XHTML名称空间。那行吗?当然行。
<?xml version="1.0" encoding="Windows-1252"?>
<xs:schema targetNamespace="http://schemas.mycorpname.com/notification"
           attributeFormDefault="unqualified" elementFormDefault="qualified"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
           xmlns="http://schemas.mycorpname.com/notification">

        <xs:import namespace="http://www.w3.org/1999/XSL/Transform" />
        <xs:complexType name="renderinginstructions">
            <xs:sequence>
                <xs:element ref="xsl:stylesheet"></xs:element>
            </xs:sequence>
        </xs:complexType>
</xs:schema>
<?xml version="1.0"?>
<notification xmlns="http://schemas.mycorpname.com/notification">
    <renderinginstructions>
         <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="">
                    <xsl:template match="/">
                        <html>
                            <head>This is the head</head>
                            <body>This is the body.</body>
                        </html>
                    </xsl:template>
                </xsl:stylesheet>
    </renderinginstructions>
</notification>