Question

I am using Oxygen to validate my XML against a Schematron. For some reason (and I do not see where my mistake is) the XML is not getting validated / Oxygen throws an error. Why?

Here is my XML text:

<Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://mappings.f4f.com/F4FXML/Schemas/v5/financial.xsd">
    <EnvelopeHeader>
        <SchemaVersion>5.1</SchemaVersion>
        <EnvelopeCreated>20140108</EnvelopeCreated>
        <EnvelopeTrackingID>1746978</EnvelopeTrackingID>
        <EnvelopeRevisionNumber>1</EnvelopeRevisionNumber>
        <SourcePartnerID>UK0000001088</SourcePartnerID>
        <SourceDivisionID>UK0000001088</SourceDivisionID>
        <DestinationPartnerID>ang</DestinationPartnerID>
        <DestinationDivisionID>9725652</DestinationDivisionID>
        <TestIndicator>True</TestIndicator>
    </EnvelopeHeader>
</Envelope>

And my Schematron I have written looks like this:

<?xml version="1.0"?>
<sch:schema xmlns:sch="http://www.ascc.net/xml/schematron">
    <sch:pattern name="ValidateDocument">
        <sch:rule context="Envelope/EnvelopeHeader">
            <sch:assert test="EnvelopeTrackingID = 174697888"></sch:assert>
        </sch:rule>
    </sch:pattern>    
</sch:schema>

It's a very basic Schematron, yet it throws an error. Why?

Was it helpful?

Solution

As nos suggested in comment, it was my mistake as i have done typo in assert element therefore it didn't get validated. Removing unnecessary digits from assert solved the problem.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top