0

我有一个 MusicXML 文件,以

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 2.0
partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">

该文件是使用 museScore 生成的,并且似乎是有效的 XML。在 MS VS pro 2013 中打开此文件时出现九个错误,其中包括:“Fehler bei WebPermission-Anforderung für Umleitungs-URI”。

    <accidental>sharp</accidental>
    <stem>up</stem>
    <beam number="1">continue</beam>            <---here (line 128)
    </note>
  <note default-x="265.48" default-y="-65.00" dynamics="92.22">
    <pitch>
      <step>G</step>
      <alter>1</alter>
      <octave>3</octave>
      </pitch>
    <duration>8</duration>
    <voice>1</voice>
    <type>eighth</type>                         <---here
    <accidental>sharp</accidental>
    <stem>up</stem>
    <beam number="1">continue</beam>
    </note>
  <note default-x="303.52" default-y="-60.00" dynamics="84.44">
    <pitch>
      <step>A</step>
      <alter>1</alter>
      <octave>3</octave>                        <--- and here (line 147)
      </pitch>
    <duration>8</duration>

而以前的事件并没有打扰编译器。

我不知道这种行为的根本原因是什么?

4

1 回答 1

1

这些错误实际上是指partwise.dtd中的行(VS 不支持),意味着 VS 由于安全策略问题(不同的区域等)而无法访问包含的模块(.mod)。

如果您不想花费宝贵的时间来设置安全性,只需将您的验证环境设置为在本地工作:

  1. 禁用该选项:Visual Studio > 菜单工具 > 选项 > 文本编辑器 > XML > 其他 > “自动下载 DTD 和架构”。

  2. 下载 MusicXML Schema (XSD)并将整个内容提取到一个文件夹中。

  3. 编辑模式,例如musicxml.xsd,仅从本地文件导入:

    <xs:import (...) schemaLocation="xlink.xsd"/>
    <xs:import (...) schemaLocation="xml.xsd"/>
    
    (在这种情况下,两个依赖项都将在当前文件夹中可用。)

  4. 在 VS 中打开您的 XML 文件并将使用的模式添加到其属性中(此答案中的详细信息)。

提示:如果您收到有关已声明属性的警告,请转到相关文件,然后 XML Menu > Schemas 并将双重引用标记为不使用。

于 2015-02-16T17:16:15.150 回答