2012-03-30 2 views
0

XPATH 표현식을 사용하여 XMP 파일에서 일부 정보를 추출해야합니다. (어쨌든 .... 공간, 슬래시, 쉼표로 구분)XMP에서 모든 값을 추출하십시오.

<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 4.4.0"> 
     <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> 
      <rdf:Description xmlns:egPDFNat="http://ns.esko-graphics.com/pdfnatversion/1.0/" rdf:about=""> 
      <egPDFNat:version>201</egPDFNat:version> 
      <egPDFNat:flexripversion>700</egPDFNat:flexripversion> 
      </rdf:Description> 
      <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about=""> 
      <xmp:CreateDate>2012-03-29T14:40:40+02:00</xmp:CreateDate> 
      <xmp:CreatorTool>ArtPro 10.1 rev 2 build 56 (2011-12-01)</xmp:CreatorTool> 
      <xmp:MetadataDate>2012-03-29T14:40:40+02:00</xmp:MetadataDate> 
      <xmp:ModifyDate>2012-03-29T14:40:40+02:00</xmp:ModifyDate> 
      </rdf:Description> 
      <rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" rdf:about=""> 
      <dc:description> 
       <rdf:Alt> 
        <rdf:li xml:lang="x-default">ArtPro Normalized PDF</rdf:li> 
       </rdf:Alt> 
      </dc:description> 
      </rdf:Description> 
      <rdf:Description xmlns:egGr="http://ns.esko-graphics.com/grinfo/1.0/" xmlns:egInk="http://ns.esko-graphics.com/inkinfo/1.0/" rdf:about=""> 
      <egGr:nrpages>1</egGr:nrpages> 
      <egGr:units>mm</egGr:units> 
      <egGr:vsize>150</egGr:vsize> 
      <egGr:hsize>150</egGr:hsize> 
      <egGr:margtop>0</egGr:margtop> 
      <egGr:margbot>0</egGr:margbot> 
      <egGr:margleft>0</egGr:margleft> 
      <egGr:margright>0</egGr:margright> 
      <egGr:vshrink>1</egGr:vshrink> 
      <egGr:hshrink>1</egGr:hshrink> 
      <egGr:readerspread>False</egGr:readerspread> 
      <egGr:inks> 
       <rdf:Seq> 
        <rdf:li rdf:parseType="Resource"> 
         <egInk:name>cyan</egInk:name> 
         <egInk:type>process</egInk:type> 
         <egInk:book>process</egInk:book> 
         <egInk:egname>Cyan</egInk:egname> 
         <egInk:frequency>150</egInk:frequency> 
         <egInk:angle>15</egInk:angle> 
         <egInk:dotshape>CS19</egInk:dotshape> 
         <egInk:r>0</egInk:r> 
         <egInk:g>0.560784314</egInk:g> 
         <egInk:b>0.858823529</egInk:b> 
         <egInk:attribute>normal</egInk:attribute> 
        </rdf:li> 
        <rdf:li rdf:parseType="Resource"> 
         <egInk:name>cyan</egInk:name> 
         <egInk:type>process</egInk:type> 
         <egInk:book>process</egInk:book> 
         <egInk:egname>Cyan</egInk:egname> 
         <egInk:frequency>150</egInk:frequency> 
         <egInk:angle>15</egInk:angle> 
         <egInk:dotshape>HD01</egInk:dotshape> 
         <egInk:r>0</egInk:r> 
         <egInk:g>0.560784314</egInk:g> 
         <egInk:b>0.858823529</egInk:b> 
         <egInk:attribute>normal</egInk:attribute> 
        </rdf:li> 
        <rdf:li rdf:parseType="Resource"> 
         <egInk:name>cyan</egInk:name> 
         <egInk:type>process</egInk:type> 
         <egInk:book>process</egInk:book> 
         <egInk:egname>Cyan</egInk:egname> 
         <egInk:frequency>150</egInk:frequency> 
         <egInk:angle>15</egInk:angle> 
         <egInk:dotshape>C</egInk:dotshape> 
         <egInk:r>0</egInk:r> 
         <egInk:g>0.560784314</egInk:g> 
         <egInk:b>0.858823529</egInk:b> 
         <egInk:attribute>normal</egInk:attribute> 
        </rdf:li> 
        <rdf:li rdf:parseType="Resource"> 
         <egInk:name>cyan</egInk:name> 
         <egInk:type>process</egInk:type> 
         <egInk:book>process</egInk:book> 
         <egInk:egname>Cyan</egInk:egname> 
         <egInk:frequency>150</egInk:frequency> 
         <egInk:angle>15</egInk:angle> 
         <egInk:dotshape>SCR01</egInk:dotshape> 
         <egInk:r>0</egInk:r> 
         <egInk:g>0.560784314</egInk:g> 
         <egInk:b>0.858823529</egInk:b> 
         <egInk:attribute>normal</egInk:attribute> 
        </rdf:li> 
        <rdf:li rdf:parseType="Resource"> 
         <egInk:name>magenta</egInk:name> 
         <egInk:type>process</egInk:type> 
         <egInk:book>process</egInk:book> 
         <egInk:egname>Magenta</egInk:egname> 
         <egInk:frequency>150</egInk:frequency> 
         <egInk:angle>75</egInk:angle> 
         <egInk:dotshape>CS19</egInk:dotshape> 
         <egInk:r>0.760784314</egInk:r> 
         <egInk:g>0</egInk:g> 
         <egInk:b>0.349019608</egInk:b> 
         <egInk:attribute>normal</egInk:attribute> 
        </rdf:li> 
        <rdf:li rdf:parseType="Resource"> 
         <egInk:name>magenta</egInk:name> 
         <egInk:type>process</egInk:type> 
         <egInk:book>process</egInk:book> 
         <egInk:egname>Magenta</egInk:egname> 
         <egInk:frequency>150</egInk:frequency> 
         <egInk:angle>75</egInk:angle> 
         <egInk:dotshape>HD01</egInk:dotshape> 
         <egInk:r>0.760784314</egInk:r> 
         <egInk:g>0</egInk:g> 
         <egInk:b>0.349019608</egInk:b> 
         <egInk:attribute>normal</egInk:attribute> 
        </rdf:li> 
        <rdf:li rdf:parseType="Resource"> 
         <egInk:name>magenta</egInk:name> 
         <egInk:type>process</egInk:type> 
         <egInk:book>process</egInk:book> 
         <egInk:egname>Magenta</egInk:egname> 
         <egInk:frequency>150</egInk:frequency> 
         <egInk:angle>75</egInk:angle> 
         <egInk:dotshape>C</egInk:dotshape> 
         <egInk:r>0.760784314</egInk:r> 
         <egInk:g>0</egInk:g> 
         <egInk:b>0.349019608</egInk:b> 
         <egInk:attribute>normal</egInk:attribute> 
        </rdf:li> 
        <rdf:li rdf:parseType="Resource"> 
         <egInk:name>magenta</egInk:name> 
         <egInk:type>process</egInk:type> 
         <egInk:book>process</egInk:book> 
         <egInk:egname>Magenta</egInk:egname> 
         <egInk:frequency>150</egInk:frequency> 
         <egInk:angle>75</egInk:angle> 
         <egInk:dotshape>SCR01</egInk:dotshape> 
         <egInk:r>0.760784314</egInk:r> 
         <egInk:g>0</egInk:g> 
         <egInk:b>0.349019608</egInk:b> 
         <egInk:attribute>normal</egInk:attribute> 
        </rdf:li> 
       </rdf:Seq> 
      </egGr:inks> 
     </rdf:Description> 
</rdf:RDF> 
</x:xmpmeta> 
<?xpacket end="w"?> 

내가 추출물 모든 dotshape 값을 싶습니다
나는 이런 XMP 파일이 있습니다.
는 I 시도 :

/xmpmeta/RDF/Description/inks/Seq/li/dotshape 

있지만 단지 제 dotshape 추출 하였다.
해결책이 있습니까? 하는 XPath가이 같은 문자열로 변환 할 때 다시에만 얻을이

string(/xmpmeta/RDF/Description/inks/Seq/li/dotshape) 

과의 동등하고있다 즉 -

+0

'// dotshape '을 사용해 보셨습니까? – Tomalak

+0

'// dotshape'를 사용하는 정교한 답변을 작성한 후에 실제로 표현을 시도했습니다. 그것은 8 개의 모든'dotshape' 요소를 선택합니다. 따라서 표현은 선하고 소리가납니다. 그것을 적용하기 위해 어떤 도구를 사용합니까? 요소를 어떻게 얻습니까? –

+0

두 표현식을 모두 시도했지만 결과는 같습니다. 필자는 특정 소프트웨어 (Esko의 자동화 엔진)를 사용하여 파일에서 정보를 추출합니다. –

답변

0

내 생각 엔 당신의 도구가 문자열로는 XPath의 결과를 변환된다는 것이다 첫 경기.

문자열 또는 스칼라 값 대신 노드 집합이나 노드 목록을 반환하는 다른 종류의 호출에 사용하는 도구의 API를 살펴 봐야합니다.