Я пытаюсь создать XSL-файл, который обновляет существующий XML-файл данными из онлайн-ресурса XML.
Исходный XML-файл и XSL находятся на localhost (который использует http), а мой онлайн-ресурс (еще один XML-файл, содержащий новое содержимое) находится на https://example.com/xml/update.xml
XSL выглядит так:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:gmd="http://www.isotc211.org/2005/gmd"
xmlns:gco="http://www.isotc211.org/2005/gco"
http://schemas.opengis.net/iso/19139/20060504/srv/srv.xsd">
<xsl:output method="xml" indent="yes"/>
<!-- Identity template, copies everything as is -->
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<!-- Override for target element -->
<xsl:template match="gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation">
<!-- Copy the element -->
<xsl:copy>
<!-- And everything inside it -->
<xsl:apply-templates select="@*|node()"/>
<xsl:for-each select="document('https://example.com/xml/update.xml')/newData">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:for-each>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
При просмотре файла XML на локальном хосте я получаю следующую ошибку:
Unsafe attempt to load URL https://example.com/xml/update.xml from frame with URL http://localhost/tutorial/metadata/ENVI_Natura2000.xml. Domains, protocols and ports must match.
Можно ли как-то изменить свой документ XSL, чтобы обойти это?