ph-schematron/src/main/java/com/helger/schematron/pure/validation/xpath/PSXPathValidationHandlerSVRL.java
private void _handleDiagnosticReferences (@Nullable final List <String> aSrcDiagnostics,
                                            @Nonnull final List <DiagnosticReference> aDstList,
                                            @Nonnull final PSXPathBoundAssertReport aBoundAssertReport,
                                            @Nonnull final Node aRuleMatchingNode) throws SchematronValidationException
  {
    if (CollectionHelper.isNotEmpty (aSrcDiagnostics))
    {
      if (m_aSchema.hasDiagnostics ())
      {
        final PSDiagnostics aDiagnostics = m_aSchema.getDiagnostics ();
        for (final String sDiagnosticID : aSrcDiagnostics)
        {
          final PSXPathBoundDiagnostic aDiagnostic = aBoundAssertReport.getBoundDiagnosticOfID (sDiagnosticID);
          if (aDiagnostic == null)
            _warn (aDiagnostics, "Failed to resolve diagnostics with ID '" + sDiagnosticID + "'");
          else
          {
            // Create the SVRL diagnostic-reference element
            final DiagnosticReference aDR = new DiagnosticReference ();
            aDR.setDiagnostic (sDiagnosticID);
            aDR.setText (_getErrorText (aDiagnostic.getAllBoundContentElements (), aRuleMatchingNode));
            aDstList.add (aDR);
          }
        }
      }
      else
        _warn (m_aSchema, "Failed to resolve diagnostic because schema has no diagnostics");
    }
  }
private void _handleDiagnosticReferences (@Nullable final List <String> aSrcDiagnostics,
                                            @Nonnull final List <DiagnosticReference> aDstList,
                                            @Nonnull final PSXPathBoundAssertReport aBoundAssertReport,
                                            @Nonnull final Node aRuleMatchingNode) throws SchematronValidationException
  {
    if (CollectionHelper.isNotEmpty (aSrcDiagnostics))
    {
      if (m_aSchema.hasDiagnostics ())
      {
        final PSDiagnostics aDiagnostics = m_aSchema.getDiagnostics ();
        for (final String sDiagnosticID : aSrcDiagnostics)
        {
          final PSXPathBoundDiagnostic aDiagnostic = aBoundAssertReport.getBoundDiagnosticOfID (sDiagnosticID);
          if (aDiagnostic == null)
            _warn (aDiagnostics, "Failed to resolve diagnostics with ID '" + sDiagnosticID + "'");
          else
          {
            // Create the SVRL diagnostic-reference element
            final DiagnosticReference aDR = new DiagnosticReference ();
            aDR.setDiagnostic (sDiagnosticID);
            aDR.setText (_getErrorText (aDiagnostic.getAllBoundContentElements (), aRuleMatchingNode));
            aDstList.add (aDR);
          }
        }
      }
      else
        _warn (m_aSchema, "Failed to resolve diagnostic because schema has no diagnostics");
    }
  }
private void _handleDiagnosticReferences ( @ Nullable final List < String > aSrcDiagnostics , @ Nonnull final List < DiagnosticReference > aDstList , @ Nonnull final PSXPathBoundAssertReport aBoundAssertReport , @ Nonnull final Node aRuleMatchingNode ) throws SchematronValidationException { if ( CollectionHelper . isNotEmpty ( aSrcDiagnostics ) ) { if ( m_aSchema . hasDiagnostics ( ) ) { final PSDiagnostics aDiagnostics = m_aSchema . getDiagnostics ( ) ; for ( final String sDiagnosticID : aSrcDiagnostics ) { final PSXPathBoundDiagnostic aDiagnostic = aBoundAssertReport . getBoundDiagnosticOfID ( sDiagnosticID ) ; if ( aDiagnostic == null ) _warn ( aDiagnostics , "Failed to resolve diagnostics with ID '" + sDiagnosticID + "'" ) ; else { // Create the SVRL diagnostic-reference element final DiagnosticReference aDR = new DiagnosticReference ( ) ; aDR . setDiagnostic ( sDiagnosticID ) ; aDR . setText ( _getErrorText ( aDiagnostic . getAllBoundContentElements ( ) , aRuleMatchingNode ) ) ; aDstList . add ( aDR ) ; } } } else _warn ( m_aSchema , "Failed to resolve diagnostic because schema has no diagnostics" ) ; } }
Handle the diagnostic references of a single assert/report element

@param aSrcDiagnostics
The list of diagnostic reference IDs in the source assert/report
element. May be <code>null</code> if no diagnostic references are
present
@param aDstList
The diagnostic reference list of the SchematronOutput to be filled.
May not be <code>null</code>.
@param aBoundAssertReport
The bound assert report element. Never <code>null</code>.
@param aRuleMatchingNode
The XML node of the XML document currently validated. Never
<code>null</code>.
@throws SchematronValidationException
Handle the diagnostic references of a single assert / report element