![](/img/trans.png)
[英]XML File Validation Against Azure SQL Server in Azure Data Factory
[英]XML validation in Azure Data Factory
我正在尝试在 Azure 数据工厂复制活动中使用 XSD 验证(以 XML 作为源)。 我有一个外部 XSD 文件。 我还试图了解如何在 Azure 数据工厂中使用它。 在复制活动中,在验证类型部分下有两个选项 XSD 和 DTD。 但是,它无法将任何外部文件指定为 XSD。 文档对此也不清楚。 ( https://docs.microsoft.com/en-us/azure/data-factory/format-xml )。 这是官方文档所说的:
XML schema validation:
You can choose to not validate schema, or validate schema using XSD or DTD.
When using XSD or DTD to validate XML files, the XSD/DTD must be referred inside the XML
files through relative path
我对这里的第二点感到困惑。
“必须在 XML 文件中引用 XML”是什么意思?
我认为它说,我们应该在源 xml 文件中引用 XSD 文件(使用相对路径)。
例如:
在 ADF 中,我设置了一个 Copy 活动: 这里我的 xml 文件和 xsd 文件在同一个文件夹中,如下所示:
在 order.xml 中,使用xsi:noNamespaceSchemaLocation="order.xsd"
指定 xsd 文件:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<order xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="order.xsd">
<orderItem>43546533</orderItem>
<orderItem>53546533</orderItem>
<orderItem>73546533</orderItem>
<orderItem>93546533</orderItem>
<orderItem>43546533</orderItem>
<orderItem>73546533</orderItem>
<orderItem>03546533</orderItem>
<orderItem>33546533</orderItem>
<orderItem>43216533</orderItem>
<orderItem>1246533</orderItem>
<orderItem>4466533</orderItem>
</order>
订单.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="qualified">
<xsd:element name="order">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="orderItem" type="xsd:string" maxOccurs="10"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
就我而言,当 order.xml 不符合我的验证规则时,它将失败:
希望我的回答对你有帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.