Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
schemaValidateSource example
$imports
</xsd:schema> EOF
;
if
(
$this
->
shouldEnableEntityLoader
(
)
)
{
$disableEntities
=
libxml_disable_entity_loader
(
false
)
;
$valid
= @
$dom
->
schemaValidateSource
(
$source
)
;
libxml_disable_entity_loader
(
$disableEntities
)
;
}
else
{
$valid
= @
$dom
->
schemaValidateSource
(
$source
)
;
}
foreach
(
$tmpfiles
as
$tmpfile
)
{
@
unlink
(
$tmpfile
)
;
}
return
$valid
;
}
libxml_clear_errors
(
)
;
$e
= null;
if
(
\
is_callable
(
$schemaOrCallable
)
)
{
try
{
$valid
=
$schemaOrCallable
(
$dom
,
$internalErrors
)
;
}
catch
(
\Exception
$e
)
{
$valid
= false;
}
}
elseif
(
is_file
(
$schemaOrCallable
)
)
{
$schemaSource
=
file_get_contents
(
(string)
$schemaOrCallable
)
;
$valid
= @
$dom
->
schemaValidateSource
(
$schemaSource
)
;
}
else
{
libxml_use_internal_errors
(
$internalErrors
)
;
throw
new
XmlParsingException
(
sprintf
(
'Invalid XSD file: "%s".',
$schemaOrCallable
)
)
;
}
if
(
!
$valid
)
{
$messages
=
static
::
getXmlErrors
(
$internalErrors
)
;
if
(
!
$messages
)
{
throw
new
InvalidXmlException
(
'The XML is not valid.', 0,
$e
)
;
}
$imports
</xsd:schema> EOF
;
if
(
$this
->
shouldEnableEntityLoader
(
)
)
{
$disableEntities
=
libxml_disable_entity_loader
(
false
)
;
$valid
= @
$dom
->
schemaValidateSource
(
$source
)
;
libxml_disable_entity_loader
(
$disableEntities
)
;
}
else
{
$valid
= @
$dom
->
schemaValidateSource
(
$source
)
;
}
foreach
(
$tmpfiles
as
$tmpfile
)
{
@
unlink
(
$tmpfile
)
;
}
return
$valid
;
}
public
static
function
validateSchema
(
\DOMDocument
$dom
)
: array
{
$xliffVersion
=
static
::
getVersionNumber
(
$dom
)
;
$internalErrors
=
libxml_use_internal_errors
(
true
)
;
if
(
$shouldEnable
= self::
shouldEnableEntityLoader
(
)
)
{
$disableEntities
=
libxml_disable_entity_loader
(
false
)
;
}
try
{
$isValid
= @
$dom
->
schemaValidateSource
(
self::
getSchema
(
$xliffVersion
)
)
;
if
(
!
$isValid
)
{
return
self::
getXmlErrors
(
$internalErrors
)
;
}
}
finally
{
if
(
$shouldEnable
)
{
libxml_disable_entity_loader
(
$disableEntities
)
;
}
}
$dom
->
normalizeDocument
(
)
;