【问题标题】:XSD Schema for special characters - Excel import特殊字符的 XSD 架构 - Excel 导入
【发布时间】:2019-09-23 10:27:34
【问题描述】:

我对 XML 还很陌生,这不是我日常工作的常规部分。但是,我一直在尝试导出大型数据库并导入 Microsoft Excel 以进行数据处理。

我遇到的问题是 Excel 无法识别特殊字符编码。我的 XML 导出包含以下数据:

– & û Æ

等等。我得到的错误是“引用未定义的实体 ndash”等。

在导出文件时创建了一个带有这些定义的 DTD 文件,但在搜索 google 时某处提到 Excel 不支持 DTD(我遇到了一个错误,所以我推测是这样)。所以我尝试编写一个定义这些项目的 XSD。看起来像这样:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="https://www.w3schools.com"
xmlns="https://www.w3schools.com"
elementFormDefault="qualified">
<xs:element name="&ucirc;">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:pattern value="u"/>
    </xs:restriction>
    </xs:simpleType>
</xs:element>
<xs:element name="&ndash;">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:pattern value="n"/>
    </xs:restriction>
    </xs:simpleType>
</xs:element>
</xs:schema>

但在进口方面没有运气。有人建议帮助新手吗?

撞?

编辑:我能够通过作弊并简单地将 HTML 代码替换为 Unicode 来解决这个问题

所以:

&ndash;

成为:

&#x2013;

我仍然有兴趣弄清楚如何更轻松地在 XSD 模式中编写它,以便所有 HTML 实例都自动替换为 Unicode 实例?我的想法很简单:

<xsd:attribute name="ndash" fixed="&#x2013;"/>

可以,但不行!

【问题讨论】:

    标签: xml xsd special-characters


    【解决方案1】:

    您可以在 XML 文件中声明内联实体。在这里查看:DTD Entities vs XML-Schema Elements

    另一个有用的链接:https://en.wikipedia.org/wiki/Module:Unicode_chart/entities

    【讨论】:

    • 我试过这个,但我遇到了一个错误。当我尝试导入完整的 DTD 时,会收到一个错误,即 DTD 被禁止。
    • 您需要停止使用 DTD。这是 1990 年代的技术。 XML Schema 标准 1.0 (XSD) 于 2001 年推出。
    • 我知道;但我并没有尝试使用 DTD。我要导出的软件很古老,会自动创建它们。
    猜你喜欢
    • 2019-03-15
    • 2013-02-05
    • 2016-07-24
    • 2017-06-13
    • 1970-01-01
    • 2011-05-07
    • 1970-01-01
    • 2019-01-07
    • 1970-01-01
    相关资源
    最近更新 更多