XSLT를 사용하여 XML을 XML로 변환하려고합니다. 출력 XML은 입력 XML의 ModificationTime 요소를 기준으로 정렬되어야합니다. 아래는 XML 코드입니다.XSLT를 사용하여 XML을 XML로 변환 후
<?xml version="1.0" encoding="UTF-8"?>
<Process>
<currentDayAndHour>@Fri16</currentDayAndHour>
<!-- Few elements here. Need to retain them -->
<rowCount>1</rowCount>
<currentRow>1</currentRow>
<ClientList>
<Status>0</Status>
<ServerResponse>
<Code>0</Code>
<Text>OK</Text>
</ServerResponse>
<ServiceStartTime>2012-11-09 16:06:42.786</ServiceStartTime>
<ServiceEndTime>2012-11-09 16:06:42.827</ServiceEndTime>
<Files>
<File>
<Name>test.20121107215230411.txt</Name>
<Size>29</Size>
<Type>Regular</Type>
<Permissions>-rw-r--r--</Permissions>
<ModificationTime>1352343152</ModificationTime>
<Owner>19737</Owner>
<Group>70902</Group>
</File>
<File>
<Name>test.20121107183757513.txt</Name>
<Size>29</Size>
<Type>Regular</Type>
<Permissions>-rw-r--r--</Permissions>
<ModificationTime>1352331478</ModificationTime>
<Owner>19737</Owner>
<Group>70902</Group>
</File>
<File>
<Name>test1.20121107215230500.txt</Name>
<Size>32</Size>
<Type>Regular</Type>
<Permissions>-rw-r--r--</Permissions>
<ModificationTime>1352343152</ModificationTime>
<Owner>19737</Owner>
<Group>70902</Group>
</File>
<File>
<Name>test1.txt</Name>
<Size>32</Size>
<Type>Regular</Type>
<Permissions>-rw-r--r--</Permissions>
<ModificationTime>1352323788</ModificationTime>
<Owner>65174</Owner>
<Group>75431</Group>
</File>
<File>
<Name>HMP_test.txt</Name>
<Size>28</Size>
<Type>Regular</Type>
<Permissions>-rw-r--r--</Permissions>
<ModificationTime>1352199478</ModificationTime>
<Owner>19737</Owner>
<Group>70902</Group>
</File>
<File>
<Name>test1.20121107183757585.txt</Name>
<Size>32</Size>
<Type>Regular</Type>
<Permissions>-rw-r--r--</Permissions>
<ModificationTime>1352331478</ModificationTime>
<Owner>19737</Owner>
<Group>70902</Group>
</File>
<File>
<Name>client_access.20121108101411179.txt</Name>
<Size>4182</Size>
<Type>Regular</Type>
<Permissions>-rw-r--r--</Permissions>
<ModificationTime>1352387653</ModificationTime>
<Owner>19737</Owner>
<Group>70902</Group>
</File>
<File>
<Name>TechMtngAgenda.txt</Name>
<Size>107</Size>
<Type>Regular</Type>
<Permissions>-rw-r--r--</Permissions>
<ModificationTime>1352044842</ModificationTime>
<Owner>19737</Owner>
<Group>70902</Group>
</File>
<File>
<Name>test.txt</Name>
<Size>29</Size>
<Type>Regular</Type>
<Permissions>-rw-r--r--</Permissions>
<ModificationTime>1350063313</ModificationTime>
<Owner>19737</Owner>
<Group>70902</Group>
</File>
</Files>
</ClientList>
<currentDocument>1</currentDocument>
</Process>
모든 입력 요소가 포함 된 출력 XML이 필요하지만 파일 태그는 ModificationTime의 증가 순서로 각 파일을 포함해야합니다. 나는 XSLT를 처음 접했습니다. xsl : sort를 사용하여 시도했지만 원하는 결과를 얻을 수 없습니다.
은'except' 연산자는 XPath는 2.0에서만 사용할 수는 XSLT에 추가 할 수 있습니다 사람들을 캡처하려면 , XSLT 2.0에서. 수정 해주세요. –
잡기에 감사드립니다. – nine9ths
또한, (not (name() = 'File') 대신'not (self :: File)'을 사용하는 것이 더 편하고 (더 읽기 쉽고 더 효율적일 것입니다.) –