小编Pie*_*ing的帖子

如何使用XSLT从平面XML列表构建树?

我使用一个极简主义的MVC框架,其中PHP控制器DOM模型交给XSLT视图(参见okapi).

为了构建导航树,我在MYSQL中使用了嵌套集.这样,我最终得到了一个模型XML,如下所示:

<tree>
    <node>
        <name>root</name>
        <depth>0</depth>
    </node>
    <node>
        <name>TELEVISIONS</name>
        <depth>1</depth>
    </node>
    <node>
        <name>TUBE</name>
        <depth>2</depth>
    </node>
    <node>
        <name>LCD</name>
        <depth>2</depth>
    </node>
    <node>
        <name>PLASMA</name>
        <depth>2</depth>
    </node>
    <node>
        <name>PORTABLE ELECTRONICS</name>
        <depth>1</depth>
    </node>
    <node>
        <name>MP3 PLAYERS</name>
        <depth>2</depth>
    </node>
    <node>
        <name>FLASH</name>
        <depth>3</depth>
    </node>
    <node>
        <name>CD PLAYERS</name>
        <depth>2</depth>
    </node>
    <node>
        <name>2 WAY RADIOS</name>
        <depth>2</depth>
    </node>
</tree>
Run Code Online (Sandbox Code Playgroud)

它代表以下结构:

    • TELEVISIONS
      • 液晶显示
      • 等离子体
    • 便携式电子设备
      • MP3播放器
      • CD播放器
      • 2路无线电

如何使用XSLT将此平面XML列表转换为嵌套HTML列表?

PS:这是MySQL中管理分层数据的示例树.

xslt tree

6
推荐指数
1
解决办法
7796
查看次数

带有属性的SOAP请求

我似乎无法找到如何在不使用XSD_ANYXML编码的情况下将属性设置为SOAP请求.

请求参数应如下所示

<request
    xmlns:ns="/some/ns">
    ...
        <ns:parameter attr="some attribute">
            value
        </ns:parameter>
    ...
</request>
Run Code Online (Sandbox Code Playgroud)

当然下面的代码可以工作,但它相当丑陋(丑陋,因为它使用字符串连接,它应该使用SOAP_Client API,因为它不使用通用命名空间)

$param = new SoapVar(
    '<ns_xxx:parameter xmlns:ns_xxx="/some/ns" attr="some attribute">
        value
     </ns_xxx:parameter>',
    XSD_ANYXML
);
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来创建具有命名空间和属性的SOAP请求参数?

我正在寻找s.th. 如下所示(这只是使用SoapVar API的一些伪代码):

$param = new SoapVar(
    array(
        '_' => 'value',
        'attr' => 'some attribute'
    ), 
    SOME_ENCODING,
    null,
    null,
    null,
    '/some/ns'
);
Run Code Online (Sandbox Code Playgroud)

php soap soap-client

6
推荐指数
1
解决办法
1万
查看次数

使用xslt将xhtml转换为wiki语法

我想使用xslt将xhtml转换为dokuwiki语法.

现在,我似乎无法解决的一件事是如何处理嵌套列表.dokuwiki语法对列表项使用星号(*),每个嵌套级别前面有两个空格(cf wiki语法).

我的问题:在下面的例子中,与列表项2.1.1匹配的<xsl:template mach ="li">如何知道它的嵌套级别,以便预先添加适当数量的空格?

* list item 1
* list item 2
  * list item 2.1
    * list item 2.1.1
  * list item 2.2
  * list item 2.3
* list item 3
Run Code Online (Sandbox Code Playgroud)

对应于

  • 清单项目1
  • 清单项目2
    • 清单项目2.1
      • 清单项目2.1.1
    • 清单项目2.2
    • 清单项目2.3
  • 清单项目3

这是以下html的显示方式:

<ul>
    <li>
        list item 1
    </li>
    <li>
        list item 2
        <ul>
            <li>
                list item 2.1
                <ul>
                    <li>list item 2.1.1</li>
                </ul>
            </li>
            <li>list item 2.2</li>
            <li>list item 2.3</li> …
Run Code Online (Sandbox Code Playgroud)

xslt syntax xhtml wiki

3
推荐指数
1
解决办法
1189
查看次数

在mysql中嵌套插入以进行标记

我想用一个sql语句在博客帖子中添加一个标签.

说我的表看起来如下:

tags
+-------+-----------+
| tagid | tag       |
+-------+-----------+
|     1 | news      | 
|     2 | top-story | 
+-------+-----------+

tag2post
+----+--------+-------+
| id | postid | tagid |     
+----+--------+-------+
|  0 |    322 |     1 |
+----+--------+-------+
Run Code Online (Sandbox Code Playgroud)

我想解决的问题是插入一个新标签,检索它的id,然后在一个sql语句中将这个新id插入到关系表中.

INSERT INTO tag2post (postid, tagid)
VALUES
(
    332, # the post
    IF (
        (SELECT tagid FROM tags WHERE tag = 'new_tag'),
        (SELECT tagid FROM tags WHERE tag = 'new_tag'),
         # here is where i'd …
Run Code Online (Sandbox Code Playgroud)

mysql tags tagging

3
推荐指数
1
解决办法
1324
查看次数

MySQL:左联盟与正确联接

假设我们有以下表t1和t2:

t1:
id | column_1
-------------
 1 |   1
 2 |   2

t2:
id | column_2
-------------
 2 |   2
 3 |   3
Run Code Online (Sandbox Code Playgroud)

我们想找到以下结果:

id | column_1 | column_2
------------------------
 1 |  1       | 
 2 |  2       | 2
 3 |          | 3
Run Code Online (Sandbox Code Playgroud)

这基本上是右连接与左连接的并集.以下代码有效但感觉笨拙:

(
    SELECT t1.id, t1.column_1, t2.column_2 
    FROM t1 
    LEFT JOIN t2 ON t1.id = t2.id
)
UNION
(
    SELECT t2.id, t1.column_1, t2.column_2 
    FROM t1 
    RIGHT JOIN t2 ON t1.id = t2.id
)
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来实现这一目标?

mysql sql

3
推荐指数
1
解决办法
9438
查看次数

ZIP文件被IE损坏

我使用PHP循环以64k块提供ZIP文件(但任何服务器端语言都会出现问题).

使用FF获取文件时,一切都很顺利.

使用IE7获取文件时,某些位会被破坏.这导致关于错误CRC(散列)的错误消息,并且一些解压缩的文件最终被破坏.

要发送的标头如下:

Expires: 0
Cache-Control: must-revalidate, post-check=0, pre-check=0
Pragma: public
Content-Description: File Transfer
Content-Disposition: attachment; filename="671fb8f80f5e94984c59e61c3c91bb70.zip";
Content-Transfer-Encoding: binary
Vary: Accept-Encoding
Content-Encoding: gzip
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: application/octet-stream
Run Code Online (Sandbox Code Playgroud)

有没有人知道这种腐败来自哪里?

php apache zip internet-explorer download

3
推荐指数
1
解决办法
3734
查看次数

Angular 11,:enter 和 :leave 动画不适用于 *ngIf

我刚刚开始使用 Angular 动画。并且不想用它来动画 *ngIf 。遗憾的是它不起作用:(。我没有收到错误消息。我从这里尝试了几种解决方案,但没有任何效果。此外,删除其中一个动画不会改变任何内容,或者完全删除其中一个 *ngIf-blocks 也不会改变任何内容。没有改变任何东西。它只是不起作用,并且终端或开发工具中也没有可见的错误。

这是来自打字稿的动画定义。

animations: [
  trigger('inOutPaneAnimation', [
    state('true', style({ opacity: 1, transform: 'translateX(0)' })),
  state('void', style({ opacity: 0, transform: 'translateX(-100%)' })),
  transition(':enter', [animate('750ms ease-in-out')]),
  transition(':leave', [animate('600ms ease-in-out')]),
]),
trigger('inOutActiveItemAnimation', [
    state('true', style({ opacity: 1, transform: 'translateX(0)' })),
  state('void', style({ opacity: 0, transform: 'translateX(100%)' })),
  transition(':enter', [animate('600ms ease-in-out')]),
  transition(':leave', [animate('750ms ease-in-out')]),
]),
Run Code Online (Sandbox Code Playgroud)

HTML 看起来像这样:

<div
  *ngIf="activeItem"
  [@inOutActiveItemAnimation]
  class="bt3-locations__active-item"
>
  <app-location-active-item
    [isSingleLocation]="isSingleLocation"
    [location]="activeItem"
    [showRouteLabel]="showRouteLabel"
  ></app-location-active-item>
</div>
<div *ngIf="!activeItem" [@inOutPaneAnimation] #paneContent>
  <div
    *ngTemplateOutlet="
      locations.data.length > 1 ? multipleGroups …
Run Code Online (Sandbox Code Playgroud)

angular angular-animations angular11

3
推荐指数
1
解决办法
5754
查看次数

html:没有css的链接的文本装饰

我需要一些(技术上可怕但仍然很好看)黑莓表设计,禁用所有css支持.

我似乎没有找到如何让我的链接显示如下没有CSS:

<style type="text/css">
a.hover { 
  border:0;
} 
a {
  text-decoration: none;
}
</style>
Run Code Online (Sandbox Code Playgroud)

它甚至可能,只是使用HTML?

html css blackberry

2
推荐指数
1
解决办法
1万
查看次数

在CLI中生成随机BMP

我需要一个真正随机的BMP来测试各种有损图像压缩算法.理想情况下,这不依赖于任何库并在Linux CLI中运行.

它应该生成一个随机的BMP给定一定的widthheight.

random image command-line-interface

2
推荐指数
1
解决办法
1061
查看次数

xslt,javascript和未转义的html实体

我对xslt,js和html实体有一个小问题,例如.在模板中:

<script type="text/javascript">
    <xsl:value-of select="/some/node"/>
    for (var i = 0; i &lt; 5; i++) {
        //            ^^^ js error
    }
</script>

<script type="text/javascript">
    <xsl:value-of select="/some/node"/>
    for (var i = 0; i < 5; i++) {
        //            ^ xslt error
    }
</script>

<script type="text/javascript">
    <xsl:value-of select="/some/node"/>
    // <![CDATA[
    for (var i = 0; i < 5; i++) {
        //            ^ becomes &lt;
    }
    // ]]>
</script>


<script type="text/javascript">
    <xsl:value-of select="/some/node"/>
    for (var i = 0; i <xsl:value-of disable-output-escaping="yes" select="string('&lt;')"/> 5; i++) …
Run Code Online (Sandbox Code Playgroud)

javascript xslt html-entities

1
推荐指数
1
解决办法
1万
查看次数

在标记博客帖子时,我真的应该使用关系表吗?

而试图找出如何标记一个博客帖子有一个SQL语句这里,下面的念头闪过我的脑海:使用关系表tag2post通过ID引用标记,如下恰恰是没有必要的:

tags
+-------+-----------+
| tagid | tag       |
+-------+-----------+
|     1 | news      | 
|     2 | top-story | 
+-------+-----------+

tag2post
+----+--------+-------+
| id | postid | tagid |     
+----+--------+-------+
|  0 |    322 |     1 |
+----+--------+-------+
Run Code Online (Sandbox Code Playgroud)

为什么不使用以下模型,您可以其中索引标记本身如下?认为标签永远不会被重命名,但是添加和删除,这可能有意义,对吗?你怎么看?

tag2post
+----+--------+-------+
| id | postid | tag   |     
+----+--------+-------+
|  1 |    322 | sun   |
+----+--------+-------+
|  2 |    322 | moon  |
+----+--------+-------+
|  3 |   4443 | sun   |
+----+--------+-------+ …
Run Code Online (Sandbox Code Playgroud)

mysql database tags tagging denormalization

1
推荐指数
1
解决办法
469
查看次数