首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >允许嵌入html的XML架构

允许嵌入html的XML架构
EN

Stack Overflow用户
提问于 2012-09-12 04:53:26
回答 2查看 1.4K关注 0票数 1

在我的xml模式中,我有一个名为itemsetting的标记:

代码语言:javascript
复制
    <xs:element name="itemsetting">
    <xs:complexType>
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="key" use="required">
                    <xs:simpleType>
                        <xs:restriction base="xs:string">
                            <xs:enumeration value="questionscript"/>
                            <xs:enumeration value="timeframe"/>
                            <xs:enumeration value="textlabel"/>
                            <xs:enumeration value="textboxtype"/>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:attribute>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
</xs:element>

我想要做的是能够将html嵌入到一个questionscript类型中。例如:

代码语言:javascript
复制
<itemsetting key="questionscript">this<html:b>is bold </html:b> </itemsetting>

我试图处理复杂/简单的时间,但每次我都会得到一个无法解析的模式文件。一个指向正确方向的指针会非常有帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-13 06:19:01

对Michael的回答进行扩展,如下所示:

代码语言:javascript
复制
<xs:element name="itemsetting">
  <xs:complexType mixed="true">
    <xs:sequence>
      <xs:any namespace="http://www.w3.org/1999/xhtml" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="key" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="questionscript"/>
          <xs:enumeration value="timeframe"/>
          <xs:enumeration value="textlabel"/>
          <xs:enumeration value="textboxtype"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
</xs:element>

应该可以工作-假设http://www.w3.org/1999/xhtml是与html前缀相对应的超文本标记语言命名空间。

如果您有多个名称空间,或者您不想检查名称空间,请使用

代码语言:javascript
复制
 . . . 
      <xs:any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
 . . . 

请注意,这假设嵌入的HTML是格式良好的XML,例如,如果它不包含会使整个XML文件不可读的闭合标记,则无法使用模式。

票数 3
EN

Stack Overflow用户

发布于 2012-09-12 07:20:12

您的元素没有简单的内容:它包含子元素,这意味着它是复杂的内容(特别是<complexContent mixed="true">)。

如果希望允许HTML名称空间中的任何子元素,可以通过使用单个通配符粒子<xs:any namespace="..." minOccurs="0" maxOccurs="unbounded"/>定义内容模型来实现

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12377756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档