首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XSD :如何在XSD中使用实体

XSD :如何在XSD中使用实体
EN

Stack Overflow用户
提问于 2013-11-23 00:49:20
回答 2查看 8.6K关注 0票数 4

XML

代码语言:javascript
复制
<copyright>&company; &department; &student_number; &developer;</copyright>

XSD

代码语言:javascript
复制
<xsd:element name="copyright" type="xsd:ENTITY">
 <xsd:complexType>
  <xsd:sequence>
   <xsd:element ref="&copyright" />
   <xsd:element ref="&department" />
   <xsd:element ref="&student_number" />
   <xsd:element ref="&developer" />
  </xsd:sequence>
 </xsd:complexType>
</xsd:element>

<xsd:element name="&copyright">
 .....  ENTITY description  ......
</xsd:element>

我试试看。但是不要工作..。

如何在XSD中使用实体??我在找谷歌,XML图书等等。但我找不到..。

EN

回答 2

Stack Overflow用户

发布于 2013-11-23 14:07:11

在我看来,您似乎试图在模式中声明某些实体--这是不可能的,实体必须在DTD中声明,而不是模式。

xsd:ENTITY类型的目的是声明特定属性是指在文档的DTD中声明的未解析实体:

代码语言:javascript
复制
<!DOCTYPE example [
  <!NOTATION png SYSTEM "PNG">
  <!ENTITY photoOfIan SYSTEM "ian-photo.png" NDATA png>
]>
<example>
  <person name="Ian Roberts" picture="photoOfIan" />
</example>

我认为在XML中不可能说特定属性值必须是对普通解析实体的引用,因为模式验证了在扩展了&xxxxx;实体引用之后获得的内容。

票数 4
EN

Stack Overflow用户

发布于 2013-11-23 09:52:18

1)保留字符"&“、"<”、">“,禁止使用元素及其值的名称。您必须从名称声明中删除字符"&“。

2)您错误地声明了类型。您应该使用属性"type“”俄罗斯娃娃“声明。只选择一个:

<xsd:element name="copyright" type="xsd:ENTITY"/>

代码语言:javascript
复制
<xsd:element name="copyright">
 <xsd:complexType>
  <xsd:sequence>
      ...element declaration...
  </xsd:sequence>
 </xsd:complexType>

我认为你所做的并不是你所需要的。XSD方案

<xsd:element name="copyright"> <xsd:complexType> <xsd:sequence> <xsd:element name="copyright" type="xsd:string" /> <xsd:element name="department" type="xsd:string" /> <xsd:element name="student_number" type="xsd:string" /> <xsd:element name="developer" type="xsd:string" /> </xsd:sequence> </xsd:complexType> </xsd:element>

翻译成本文件:

代码语言:javascript
复制
<copyright>
  <copyright>string</copyright>
  <department>string</department>
  <student_number>string</student_number>
  <developer>string</developer>
</copyright>

4)如果您希望获得一个连接字符串,则需要定义一个具有简单字符串类型的元素,并在应用程序端定义一个元素来组合insert值。XML不允许做您想做的事情。

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

https://stackoverflow.com/questions/20157113

复制
相关文章

相似问题

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