2g c                        )  ) )                     \ \ !" \#$docLorg/w3c/dom/Document;errorsLjava/util/List; Signature$Ljava/util/List;(Ljava/io/File;)VCodeLineNumberTableLocalVariableTablefLjava/io/FileInputStream;eLjava/lang/Exception;this%Lorg/ecoinformatics/eml/EMLValidator;fileLjava/io/File; StackMapTable(Ljava/lang/String;)VreaderLjava/io/StringReader;emltextLjava/lang/String;main([Ljava/lang/String;)Vargs[Ljava/lang/String;emlfile validatorisValidZvalidate()Zs root_not_emlLorg/w3c/dom/NodeList;lengthI packageIdLjava/util/ArrayList;idsidmapLjava/util/HashMap;refsmissing_id_ref both_id_refLocalVariableTypeTable)Ljava/util/ArrayList;%& getErrors()[Ljava/lang/String; parseDocument1(Lorg/xml/sax/InputSource;)Lorg/w3c/dom/Document;inLorg/xml/sax/InputSource;dfactory*Ljavax/xml/parsers/DocumentBuilderFactory; ExceptionsgetXPathValues)(Ljava/lang/String;)Ljava/util/ArrayList;nLorg/w3c/dom/Node;tinlxpathvaluesgetXPathNodeList<(Ljava/lang/String;Lorg/w3c/dom/Node;)Lorg/w3c/dom/NodeList;'*(Ljava/lang/String;)Lorg/w3c/dom/NodeList; debugNode'(Lorg/w3c/dom/Node;Ljava/lang/String;)VcurrentnamennmLorg/w3c/dom/NamedNodeMap;nodesdocTypeLorg/w3c/dom/DocumentType;nodespacer( SourceFileEMLValidator.java j) de fgjava/io/FileInputStream jkorg/xml/sax/InputSource j* java/util/ArrayListjava/lang/Exception+ ,- ./0 1{java/io/StringReader j{ j2 java/io/File#org/ecoinformatics/eml/EMLValidator java/lang/StringBuilder isValid: 34java/lang/Boolean j5 6/ /*[local-name() != 'eml'] % 78!Invalid: root element is not eml.9 :;//*/@packageId  //*[@id]/@id <=java/util/HashMap >?& @ ABjava/lang/String CD E88Invalid: ID attributes must be unique. Duplicates exist.>//annotation[@references]/@references|//references|//describes F;%Invalid: Reference missing from IDs: Z//*[annotation and not(@id) and not(annotation[@references]) and not(parent::*/describes)],Invalid: annotations lack id or references: 3G//*[references and @id]/Invalid: elements use both @id and references: HIJ KL M5 NOP QR ST UV' W) XY Z/ [\ ]/ ^-< _{ `a( = > bc  org/w3c/dom/DocumentType 6?@An*|}6 qrAstA~w5xz l p*2LY+MY,N-6 YY--:662: m* HI JKL@MENaOiNoRn>aqpl cuvZtTwS<yx<l A<* !M,">*#$W<*%&:*'&:(W)Y*:+:,-.:/W01*2$W<*3&:+:,<-.:  4#*Y5 $W<*6!:">"*Y78$W<*9!:  ">"*Y:8$W<m!\_ `ab c"g*h2i:jCk`limlnyopyz{|}   =?nz ` * Ast? 81*2C`- *2wB "'x!?22l;*.;<mn stlh=M,>,?+@N-m n*stde l+[ Y M*+AN6-"/-B:CD:,EFW̧N - ,KN m2 )09EKNOYnR)9 7:O qr[st[S Sw6Bz lN,+AN:  - m n4 qrstw xz l> *+*Gmn st l a++HU 5U BhUU+INJY,K-L+M:6NBO:JYPIQELJRL+S:'6"*BTUJY,V-RKJ+EL<JYT+ETLJYW+IXLJYY+IZ+I[L+S:6"*BTU+\:JY]^L_*JY`_PL JaLJYPbRm'@Gdl{$'JMp s   19]`"nz .oK!GlN!,astaawt:.J $%%3x xUx&x